laag-fontconfig 2.13.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (455) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +57 -0
  3. data/LICENSE.txt +28 -0
  4. data/README.org +34 -0
  5. data/ext/laag/fontconfig/extconf.rb +13 -0
  6. data/laag-fontconfig.gemspec +20 -0
  7. data/lib/laag/fontconfig.rb +29 -0
  8. data/vendor/anongit.freedesktop.org/git/fontconfig/AUTHORS +3 -0
  9. data/vendor/anongit.freedesktop.org/git/fontconfig/COPYING +28 -0
  10. data/vendor/anongit.freedesktop.org/git/fontconfig/INSTALL +42 -0
  11. data/vendor/anongit.freedesktop.org/git/fontconfig/Makefile.am +158 -0
  12. data/vendor/anongit.freedesktop.org/git/fontconfig/NEWS +0 -0
  13. data/vendor/anongit.freedesktop.org/git/fontconfig/README +2016 -0
  14. data/vendor/anongit.freedesktop.org/git/fontconfig/Tools.mk +64 -0
  15. data/vendor/anongit.freedesktop.org/git/fontconfig/autogen.sh +126 -0
  16. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/10-autohint.conf +19 -0
  17. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/10-hinting-full.conf +19 -0
  18. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/10-hinting-medium.conf +19 -0
  19. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/10-hinting-none.conf +19 -0
  20. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/10-hinting-slight.conf +19 -0
  21. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/10-no-sub-pixel.conf +19 -0
  22. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/10-scale-bitmap-fonts.conf +87 -0
  23. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/10-sub-pixel-bgr.conf +19 -0
  24. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/10-sub-pixel-rgb.conf +19 -0
  25. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/10-sub-pixel-vbgr.conf +19 -0
  26. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/10-sub-pixel-vrgb.conf +19 -0
  27. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/10-unhinted.conf +19 -0
  28. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/11-lcdfilter-default.conf +21 -0
  29. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/11-lcdfilter-legacy.conf +21 -0
  30. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/11-lcdfilter-light.conf +21 -0
  31. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/20-unhint-small-vera.conf +53 -0
  32. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/25-unhint-nonlatin.conf +132 -0
  33. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/30-metric-aliases.conf +634 -0
  34. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/40-nonlatin.conf +236 -0
  35. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/45-generic.conf +136 -0
  36. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/45-latin.conf +278 -0
  37. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/49-sansserif.conf +26 -0
  38. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/50-user.conf +20 -0
  39. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/51-local.conf +11 -0
  40. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/60-generic.conf +67 -0
  41. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/60-latin.conf +79 -0
  42. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/65-fonts-persian.conf +423 -0
  43. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/65-khmer.conf +20 -0
  44. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/65-nonlatin.conf +200 -0
  45. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/69-unifont.conf +32 -0
  46. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/70-no-bitmaps.conf +17 -0
  47. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/70-yes-bitmaps.conf +17 -0
  48. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/80-delicious.conf +23 -0
  49. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/90-synthetic.conf +68 -0
  50. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/Makefile.am +110 -0
  51. data/vendor/anongit.freedesktop.org/git/fontconfig/conf.d/README.in +23 -0
  52. data/vendor/anongit.freedesktop.org/git/fontconfig/config-fixups.h +40 -0
  53. data/vendor/anongit.freedesktop.org/git/fontconfig/configure.ac +793 -0
  54. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/Makefile.am +224 -0
  55. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/check-missing-doc +24 -0
  56. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/confdir.sgml.in +26 -0
  57. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/edit-sgml.c +546 -0
  58. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/fcatomic.fncs +95 -0
  59. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/fcblanks.fncs +60 -0
  60. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/fccache.fncs +104 -0
  61. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/fccharset.fncs +242 -0
  62. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/fcconfig.fncs +447 -0
  63. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/fcconstant.fncs +58 -0
  64. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/fcdircache.fncs +99 -0
  65. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/fcfile.fncs +88 -0
  66. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/fcfontset.fncs +140 -0
  67. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/fcformat.fncs +309 -0
  68. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/fcfreetype.fncs +135 -0
  69. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/fcinit.fncs +92 -0
  70. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/fclangset.fncs +201 -0
  71. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/fcmatrix.fncs +125 -0
  72. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/fcobjectset.fncs +73 -0
  73. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/fcobjecttype.fncs +48 -0
  74. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/fcpattern.fncs +433 -0
  75. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/fcrange.fncs +75 -0
  76. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/fcstring.fncs +244 -0
  77. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/fcstrset.fncs +124 -0
  78. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/fcvalue.fncs +61 -0
  79. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/fcweight.fncs +69 -0
  80. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/fontconfig-devel.sgml +613 -0
  81. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/fontconfig-user.sgml +812 -0
  82. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/func.sgml +91 -0
  83. data/vendor/anongit.freedesktop.org/git/fontconfig/doc/version.sgml.in +24 -0
  84. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-cache/Makefile.am +69 -0
  85. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-cache/fc-cache.c +423 -0
  86. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-cache/fc-cache.sgml +249 -0
  87. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-case/CaseFolding.txt +1495 -0
  88. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-case/Makefile.am +36 -0
  89. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-case/fc-case.c +363 -0
  90. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-case/fccase.tmpl.h +25 -0
  91. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-cat/Makefile.am +60 -0
  92. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-cat/fc-cat.c +400 -0
  93. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-cat/fc-cat.sgml +169 -0
  94. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-conflist/Makefile.am +60 -0
  95. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-conflist/fc-conflist.c +142 -0
  96. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-conflist/fc-conflist.sgml +135 -0
  97. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/Makefile.am +288 -0
  98. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/README +28 -0
  99. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/aa.orth +40 -0
  100. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ab.orth +45 -0
  101. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/af.orth +46 -0
  102. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ak.orth +30 -0
  103. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/am.orth +36 -0
  104. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/an.orth +45 -0
  105. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ar.orth +39 -0
  106. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/as.orth +45 -0
  107. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ast.orth +47 -0
  108. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/av.orth +97 -0
  109. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ay.orth +37 -0
  110. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/az_az.orth +53 -0
  111. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/az_ir.orth +32 -0
  112. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ba.orth +56 -0
  113. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/be.orth +40 -0
  114. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ber_dz.orth +27 -0
  115. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ber_ma.orth +46 -0
  116. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/bg.orth +43 -0
  117. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/bh.orth +25 -0
  118. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/bho.orth +25 -0
  119. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/bi.orth +39 -0
  120. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/bin.orth +55 -0
  121. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/bm.orth +37 -0
  122. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/bn.orth +44 -0
  123. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/bo.orth +39 -0
  124. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/br.orth +47 -0
  125. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/brx.orth +46 -0
  126. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/bs.orth +39 -0
  127. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/bua.orth +102 -0
  128. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/byn.orth +27 -0
  129. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ca.orth +58 -0
  130. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ce.orth +97 -0
  131. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ch.orth +35 -0
  132. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/chm.orth +109 -0
  133. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/chr.orth +25 -0
  134. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/co.orth +25 -0
  135. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/crh.orth +46 -0
  136. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/cs.orth +67 -0
  137. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/csb.orth +46 -0
  138. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/cu.orth +42 -0
  139. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/cv.orth +109 -0
  140. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/cy.orth +63 -0
  141. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/da.orth +89 -0
  142. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/de.orth +49 -0
  143. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/doi.orth +40 -0
  144. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/dv.orth +34 -0
  145. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/dz.orth +28 -0
  146. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ee.orth +77 -0
  147. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/el.orth +32 -0
  148. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/en.orth +40 -0
  149. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/eo.orth +32 -0
  150. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/es.orth +50 -0
  151. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/et.orth +47 -0
  152. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/eu.orth +45 -0
  153. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/fa.orth +73 -0
  154. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/fat.orth +30 -0
  155. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/fc-lang.c +595 -0
  156. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/fc-lang.man +39 -0
  157. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/fclang.tmpl.h +25 -0
  158. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ff.orth +38 -0
  159. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/fi.orth +51 -0
  160. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/fil.orth +45 -0
  161. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/fj.orth +34 -0
  162. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/fo.orth +59 -0
  163. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/fr.orth +58 -0
  164. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/fur.orth +39 -0
  165. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/fy.orth +61 -0
  166. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ga.orth +84 -0
  167. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/gd.orth +51 -0
  168. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/gez.orth +60 -0
  169. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/gl.orth +50 -0
  170. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/gn.orth +48 -0
  171. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/gu.orth +41 -0
  172. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/gv.orth +31 -0
  173. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ha.orth +36 -0
  174. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/haw.orth +35 -0
  175. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/he.orth +25 -0
  176. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/hi.orth +35 -0
  177. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/hne.orth +28 -0
  178. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ho.orth +33 -0
  179. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/hr.orth +49 -0
  180. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/hsb.orth +42 -0
  181. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ht.orth +35 -0
  182. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/hu.orth +49 -0
  183. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/hy.orth +26 -0
  184. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/hz.orth +35 -0
  185. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ia.orth +29 -0
  186. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/id.orth +31 -0
  187. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ie.orth +29 -0
  188. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ig.orth +35 -0
  189. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ii.orth +34 -0
  190. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ik.orth +100 -0
  191. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/io.orth +29 -0
  192. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/is.orth +64 -0
  193. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/iso-3166.txt +242 -0
  194. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/iso639-1 +139 -0
  195. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/iso639-2 +473 -0
  196. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/it.orth +51 -0
  197. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/iu.orth +77 -0
  198. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ja.orth +2345 -0
  199. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/jv.orth +36 -0
  200. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ka.orth +34 -0
  201. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/kaa.orth +110 -0
  202. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/kab.orth +42 -0
  203. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ki.orth +33 -0
  204. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/kj.orth +34 -0
  205. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/kk.orth +45 -0
  206. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/kl.orth +63 -0
  207. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/km.orth +39 -0
  208. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/kn.orth +40 -0
  209. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ko.orth +2537 -0
  210. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/kok.orth +25 -0
  211. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/kr.orth +43 -0
  212. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ks.orth +32 -0
  213. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ku_am.orth +91 -0
  214. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ku_iq.orth +27 -0
  215. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ku_ir.orth +49 -0
  216. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ku_tr.orth +42 -0
  217. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/kum.orth +96 -0
  218. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/kv.orth +101 -0
  219. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/kw.orth +35 -0
  220. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/kwm.orth +29 -0
  221. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ky.orth +102 -0
  222. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/la.orth +31 -0
  223. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/lah.orth +35 -0
  224. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/lb.orth +62 -0
  225. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/lez.orth +97 -0
  226. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/lg.orth +33 -0
  227. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/li.orth +43 -0
  228. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ln.orth +43 -0
  229. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/lo.orth +45 -0
  230. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/lt.orth +43 -0
  231. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/lv.orth +44 -0
  232. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/mai.orth +25 -0
  233. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/mg.orth +35 -0
  234. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/mh.orth +45 -0
  235. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/mi.orth +35 -0
  236. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/mk.orth +40 -0
  237. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ml.orth +38 -0
  238. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/mn_cn.orth +37 -0
  239. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/mn_mn.orth +35 -0
  240. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/mni.orth +35 -0
  241. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/mo.orth +37 -0
  242. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/mr.orth +25 -0
  243. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ms.orth +32 -0
  244. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/mt.orth +67 -0
  245. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/my.orth +37 -0
  246. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/na.orth +40 -0
  247. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/nb.orth +25 -0
  248. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/nds.orth +40 -0
  249. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ne.orth +43 -0
  250. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ng.orth +29 -0
  251. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/nl.orth +63 -0
  252. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/nn.orth +43 -0
  253. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/no.orth +68 -0
  254. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/nqo.orth +30 -0
  255. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/nr.orth +29 -0
  256. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/nso.orth +34 -0
  257. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/nv.orth +48 -0
  258. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ny.orth +30 -0
  259. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/oc.orth +53 -0
  260. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/om.orth +29 -0
  261. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/or.orth +42 -0
  262. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/os.orth +96 -0
  263. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ota.orth +41 -0
  264. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/pa.orth +53 -0
  265. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/pa_pk.orth +29 -0
  266. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/pap_an.orth +46 -0
  267. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/pap_aw.orth +31 -0
  268. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/pes.orth +26 -0
  269. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/pl.orth +41 -0
  270. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/prs.orth +29 -0
  271. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ps_af.orth +52 -0
  272. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ps_pk.orth +52 -0
  273. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/pt.orth +64 -0
  274. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/qu.orth +36 -0
  275. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/quz.orth +36 -0
  276. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/rm.orth +45 -0
  277. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/rn.orth +32 -0
  278. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ro.orth +38 -0
  279. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ru.orth +38 -0
  280. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/rw.orth +31 -0
  281. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/sa.orth +25 -0
  282. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/sah.orth +108 -0
  283. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/sat.orth +44 -0
  284. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/sc.orth +42 -0
  285. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/sco.orth +32 -0
  286. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/sd.orth +58 -0
  287. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/se.orth +37 -0
  288. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/sel.orth +96 -0
  289. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/sg.orth +47 -0
  290. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/sh.orth +33 -0
  291. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/shs.orth +48 -0
  292. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/si.orth +75 -0
  293. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/sid.orth +27 -0
  294. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/sk.orth +63 -0
  295. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/sl.orth +88 -0
  296. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/sm.orth +30 -0
  297. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/sma.orth +37 -0
  298. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/smj.orth +37 -0
  299. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/smn.orth +40 -0
  300. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/sms.orth +48 -0
  301. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/sn.orth +35 -0
  302. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/so.orth +29 -0
  303. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/sq.orth +35 -0
  304. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/sr.orth +35 -0
  305. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ss.orth +29 -0
  306. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/st.orth +29 -0
  307. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/su.orth +33 -0
  308. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/sv.orth +100 -0
  309. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/sw.orth +29 -0
  310. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/syr.orth +29 -0
  311. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ta.orth +46 -0
  312. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/te.orth +39 -0
  313. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/tg.orth +108 -0
  314. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/th.orth +30 -0
  315. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ti_er.orth +56 -0
  316. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ti_et.orth +33 -0
  317. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/tig.orth +52 -0
  318. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/tk.orth +44 -0
  319. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/tl.orth +27 -0
  320. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/tn.orth +35 -0
  321. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/to.orth +30 -0
  322. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/tr.orth +49 -0
  323. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ts.orth +29 -0
  324. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/tt.orth +108 -0
  325. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/tw.orth +50 -0
  326. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ty.orth +41 -0
  327. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/tyv.orth +102 -0
  328. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ug.orth +50 -0
  329. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/uk.orth +43 -0
  330. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/und_zmth.orth +144 -0
  331. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/und_zsye.orth +151 -0
  332. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ur.orth +68 -0
  333. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/uz.orth +36 -0
  334. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/ve.orth +34 -0
  335. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/vi.orth +58 -0
  336. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/vo.orth +36 -0
  337. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/vot.orth +40 -0
  338. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/wa.orth +47 -0
  339. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/wal.orth +27 -0
  340. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/wen.orth +42 -0
  341. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/wo.orth +42 -0
  342. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/xh.orth +29 -0
  343. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/yap.orth +35 -0
  344. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/yi.orth +25 -0
  345. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/yo.orth +86 -0
  346. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/za.orth +39 -0
  347. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/zh_cn.orth +6792 -0
  348. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/zh_hk.orth +1119 -0
  349. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/zh_mo.orth +32 -0
  350. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/zh_sg.orth +27 -0
  351. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/zh_tw.orth +13105 -0
  352. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-lang/zu.orth +29 -0
  353. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-list/Makefile.am +60 -0
  354. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-list/fc-list.c +220 -0
  355. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-list/fc-list.sgml +227 -0
  356. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-match/Makefile.am +60 -0
  357. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-match/fc-match.c +268 -0
  358. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-match/fc-match.sgml +217 -0
  359. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-pattern/Makefile.am +60 -0
  360. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-pattern/fc-pattern.c +203 -0
  361. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-pattern/fc-pattern.sgml +204 -0
  362. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-query/Makefile.am +60 -0
  363. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-query/fc-query.c +194 -0
  364. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-query/fc-query.sgml +204 -0
  365. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-scan/Makefile.am +60 -0
  366. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-scan/fc-scan.c +197 -0
  367. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-scan/fc-scan.sgml +177 -0
  368. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-validate/Makefile.am +60 -0
  369. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-validate/fc-validate.c +250 -0
  370. data/vendor/anongit.freedesktop.org/git/fontconfig/fc-validate/fc-validate.sgml +182 -0
  371. data/vendor/anongit.freedesktop.org/git/fontconfig/fontconfig-zip.in +29 -0
  372. data/vendor/anongit.freedesktop.org/git/fontconfig/fontconfig.pc.in +18 -0
  373. data/vendor/anongit.freedesktop.org/git/fontconfig/fontconfig.spec.in +138 -0
  374. data/vendor/anongit.freedesktop.org/git/fontconfig/fontconfig/Makefile.am +10 -0
  375. data/vendor/anongit.freedesktop.org/git/fontconfig/fontconfig/fcfreetype.h +59 -0
  376. data/vendor/anongit.freedesktop.org/git/fontconfig/fontconfig/fcprivate.h +134 -0
  377. data/vendor/anongit.freedesktop.org/git/fontconfig/fontconfig/fontconfig.h +1107 -0
  378. data/vendor/anongit.freedesktop.org/git/fontconfig/fonts.conf.in +94 -0
  379. data/vendor/anongit.freedesktop.org/git/fontconfig/fonts.dtd +233 -0
  380. data/vendor/anongit.freedesktop.org/git/fontconfig/git.mk +254 -0
  381. data/vendor/anongit.freedesktop.org/git/fontconfig/its/Makefile.am +11 -0
  382. data/vendor/anongit.freedesktop.org/git/fontconfig/its/fontconfig.its +4 -0
  383. data/vendor/anongit.freedesktop.org/git/fontconfig/its/fontconfig.loc +6 -0
  384. data/vendor/anongit.freedesktop.org/git/fontconfig/local.conf +42 -0
  385. data/vendor/anongit.freedesktop.org/git/fontconfig/m4/.gitkeep +0 -0
  386. data/vendor/anongit.freedesktop.org/git/fontconfig/m4/ac_check_symbol.m4 +48 -0
  387. data/vendor/anongit.freedesktop.org/git/fontconfig/m4/ax_cc_for_build.m4 +77 -0
  388. data/vendor/anongit.freedesktop.org/git/fontconfig/m4/ax_create_stdint_h.m4 +695 -0
  389. data/vendor/anongit.freedesktop.org/git/fontconfig/m4/ax_pthread.m4 +337 -0
  390. data/vendor/anongit.freedesktop.org/git/fontconfig/m4/pkg.m4 +214 -0
  391. data/vendor/anongit.freedesktop.org/git/fontconfig/new-version.sh +139 -0
  392. data/vendor/anongit.freedesktop.org/git/fontconfig/po-conf/ChangeLog +12 -0
  393. data/vendor/anongit.freedesktop.org/git/fontconfig/po-conf/LINGUAS +2 -0
  394. data/vendor/anongit.freedesktop.org/git/fontconfig/po-conf/Makevars +80 -0
  395. data/vendor/anongit.freedesktop.org/git/fontconfig/po-conf/POTFILES.in +34 -0
  396. data/vendor/anongit.freedesktop.org/git/fontconfig/po-conf/zh_CN.po +140 -0
  397. data/vendor/anongit.freedesktop.org/git/fontconfig/po/ChangeLog +12 -0
  398. data/vendor/anongit.freedesktop.org/git/fontconfig/po/LINGUAS +2 -0
  399. data/vendor/anongit.freedesktop.org/git/fontconfig/po/Makevars +78 -0
  400. data/vendor/anongit.freedesktop.org/git/fontconfig/po/POTFILES.in +11 -0
  401. data/vendor/anongit.freedesktop.org/git/fontconfig/po/zh_CN.po +608 -0
  402. data/vendor/anongit.freedesktop.org/git/fontconfig/src/Makefile.am +222 -0
  403. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcarch.c +59 -0
  404. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcarch.h +76 -0
  405. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcatomic.c +229 -0
  406. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcatomic.h +145 -0
  407. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fccache.c +1880 -0
  408. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fccfg.c +2668 -0
  409. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fccharset.c +1400 -0
  410. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fccompat.c +280 -0
  411. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcdbg.c +587 -0
  412. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcdefault.c +343 -0
  413. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcdeprecate.h +36 -0
  414. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcdir.c +435 -0
  415. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcformat.c +1220 -0
  416. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcfreetype.c +2626 -0
  417. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcfs.c +149 -0
  418. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcftint.h +54 -0
  419. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fchash.c +216 -0
  420. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcinit.c +258 -0
  421. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcint.h +1344 -0
  422. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fclang.c +1110 -0
  423. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fclist.c +645 -0
  424. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcmatch.c +1240 -0
  425. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcmatrix.c +116 -0
  426. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcmutex.h +127 -0
  427. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcname.c +634 -0
  428. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcobjs.c +168 -0
  429. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcobjs.h +75 -0
  430. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcobjshash.gperf.h +49 -0
  431. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcpat.c +1420 -0
  432. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcptrlist.c +198 -0
  433. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcrange.c +160 -0
  434. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcserialize.c +155 -0
  435. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcstat.c +442 -0
  436. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcstr.c +1371 -0
  437. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcweight.c +103 -0
  438. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcwindows.h +49 -0
  439. data/vendor/anongit.freedesktop.org/git/fontconfig/src/fcxml.c +3508 -0
  440. data/vendor/anongit.freedesktop.org/git/fontconfig/src/ftglue.c +261 -0
  441. data/vendor/anongit.freedesktop.org/git/fontconfig/src/ftglue.h +111 -0
  442. data/vendor/anongit.freedesktop.org/git/fontconfig/src/makealias +38 -0
  443. data/vendor/anongit.freedesktop.org/git/fontconfig/test/4x6.pcf +0 -0
  444. data/vendor/anongit.freedesktop.org/git/fontconfig/test/8x16.pcf +0 -0
  445. data/vendor/anongit.freedesktop.org/git/fontconfig/test/Makefile.am +64 -0
  446. data/vendor/anongit.freedesktop.org/git/fontconfig/test/fonts.conf.in +4 -0
  447. data/vendor/anongit.freedesktop.org/git/fontconfig/test/out.expected-long-family-names +8 -0
  448. data/vendor/anongit.freedesktop.org/git/fontconfig/test/out.expected-no-long-family-names +8 -0
  449. data/vendor/anongit.freedesktop.org/git/fontconfig/test/run-test.sh +205 -0
  450. data/vendor/anongit.freedesktop.org/git/fontconfig/test/test-bz131804.c +135 -0
  451. data/vendor/anongit.freedesktop.org/git/fontconfig/test/test-bz89617.c +40 -0
  452. data/vendor/anongit.freedesktop.org/git/fontconfig/test/test-bz96676.c +32 -0
  453. data/vendor/anongit.freedesktop.org/git/fontconfig/test/test-migration.c +230 -0
  454. data/vendor/anongit.freedesktop.org/git/fontconfig/test/test-pthread.c +101 -0
  455. metadata +518 -0
@@ -0,0 +1,116 @@
1
+ /*
2
+ * fontconfig/src/fcmatrix.c
3
+ *
4
+ * Copyright © 2000 Tuomas J. Lukka
5
+ *
6
+ * Permission to use, copy, modify, distribute, and sell this software and its
7
+ * documentation for any purpose is hereby granted without fee, provided that
8
+ * the above copyright notice appear in all copies and that both that
9
+ * copyright notice and this permission notice appear in supporting
10
+ * documentation, and that the name of Tuomas Lukka not be used in
11
+ * advertising or publicity pertaining to distribution of the software without
12
+ * specific, written prior permission. Tuomas Lukka makes no
13
+ * representations about the suitability of this software for any purpose. It
14
+ * is provided "as is" without express or implied warranty.
15
+ *
16
+ * TUOMAS LUKKA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
17
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
18
+ * EVENT SHALL TUOMAS LUKKA BE LIABLE FOR ANY SPECIAL, INDIRECT OR
19
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
20
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
21
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
22
+ * PERFORMANCE OF THIS SOFTWARE.
23
+ */
24
+
25
+ #include "fcint.h"
26
+ #include <math.h>
27
+ #include <stdlib.h>
28
+ #include <ctype.h>
29
+
30
+ const FcMatrix FcIdentityMatrix = { 1, 0, 0, 1 };
31
+
32
+ FcMatrix *
33
+ FcMatrixCopy (const FcMatrix *mat)
34
+ {
35
+ FcMatrix *r;
36
+ if(!mat)
37
+ return 0;
38
+ r = (FcMatrix *) malloc (sizeof (*r) );
39
+ if (!r)
40
+ return 0;
41
+ *r = *mat;
42
+ return r;
43
+ }
44
+
45
+ void
46
+ FcMatrixFree (FcMatrix *mat)
47
+ {
48
+ if (mat != &FcIdentityMatrix)
49
+ free (mat);
50
+ }
51
+
52
+ FcBool
53
+ FcMatrixEqual (const FcMatrix *mat1, const FcMatrix *mat2)
54
+ {
55
+ if(mat1 == mat2) return FcTrue;
56
+ if(mat1 == 0 || mat2 == 0) return FcFalse;
57
+ return mat1->xx == mat2->xx &&
58
+ mat1->xy == mat2->xy &&
59
+ mat1->yx == mat2->yx &&
60
+ mat1->yy == mat2->yy;
61
+ }
62
+
63
+ void
64
+ FcMatrixMultiply (FcMatrix *result, const FcMatrix *a, const FcMatrix *b)
65
+ {
66
+ FcMatrix r;
67
+
68
+ r.xx = a->xx * b->xx + a->xy * b->yx;
69
+ r.xy = a->xx * b->xy + a->xy * b->yy;
70
+ r.yx = a->yx * b->xx + a->yy * b->yx;
71
+ r.yy = a->yx * b->xy + a->yy * b->yy;
72
+ *result = r;
73
+ }
74
+
75
+ void
76
+ FcMatrixRotate (FcMatrix *m, double c, double s)
77
+ {
78
+ FcMatrix r;
79
+
80
+ /*
81
+ * X Coordinate system is upside down, swap to make
82
+ * rotations counterclockwise
83
+ */
84
+ r.xx = c;
85
+ r.xy = -s;
86
+ r.yx = s;
87
+ r.yy = c;
88
+ FcMatrixMultiply (m, &r, m);
89
+ }
90
+
91
+ void
92
+ FcMatrixScale (FcMatrix *m, double sx, double sy)
93
+ {
94
+ FcMatrix r;
95
+
96
+ r.xx = sx;
97
+ r.xy = 0;
98
+ r.yx = 0;
99
+ r.yy = sy;
100
+ FcMatrixMultiply (m, &r, m);
101
+ }
102
+
103
+ void
104
+ FcMatrixShear (FcMatrix *m, double sh, double sv)
105
+ {
106
+ FcMatrix r;
107
+
108
+ r.xx = 1;
109
+ r.xy = sh;
110
+ r.yx = sv;
111
+ r.yy = 1;
112
+ FcMatrixMultiply (m, &r, m);
113
+ }
114
+ #define __fcmatrix__
115
+ #include "fcaliastail.h"
116
+ #undef __fcmatrix__
@@ -0,0 +1,127 @@
1
+ /*
2
+ * Atomic int and pointer operations. Originally copied from HarfBuzz.
3
+ *
4
+ * Copyright © 2007 Chris Wilson
5
+ * Copyright © 2009,2010 Red Hat, Inc.
6
+ * Copyright © 2011,2012,2013 Google, Inc.
7
+ *
8
+ * Permission is hereby granted, without written agreement and without
9
+ * license or royalty fees, to use, copy, modify, and distribute this
10
+ * software and its documentation for any purpose, provided that the
11
+ * above copyright notice and the following two paragraphs appear in
12
+ * all copies of this software.
13
+ *
14
+ * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
15
+ * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
16
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
17
+ * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
18
+ * DAMAGE.
19
+ *
20
+ * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
21
+ * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
22
+ * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
23
+ * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
24
+ * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
25
+ *
26
+ * Contributor(s):
27
+ * Chris Wilson <chris@chris-wilson.co.uk>
28
+ * Red Hat Author(s): Behdad Esfahbod
29
+ * Google Author(s): Behdad Esfahbod
30
+ */
31
+
32
+ #ifndef _FCMUTEX_H_
33
+ #define _FCMUTEX_H_
34
+
35
+ #ifdef HAVE_CONFIG_H
36
+ #include <config.h>
37
+ #endif
38
+
39
+ #define FC_STMT_START do
40
+ #define FC_STMT_END while (0)
41
+
42
+ /* mutex */
43
+
44
+ /* We need external help for these */
45
+
46
+ #if 0
47
+
48
+
49
+ #elif !defined(FC_NO_MT) && defined(_MSC_VER) || defined(__MINGW32__)
50
+
51
+ #include "fcwindows.h"
52
+ typedef CRITICAL_SECTION fc_mutex_impl_t;
53
+ #define FC_MUTEX_IMPL_INIT { NULL, 0, 0, NULL, NULL, 0 }
54
+ #define fc_mutex_impl_init(M) InitializeCriticalSection (M)
55
+ #define fc_mutex_impl_lock(M) EnterCriticalSection (M)
56
+ #define fc_mutex_impl_unlock(M) LeaveCriticalSection (M)
57
+ #define fc_mutex_impl_finish(M) DeleteCriticalSection (M)
58
+
59
+
60
+ #elif !defined(FC_NO_MT) && (defined(HAVE_PTHREAD) || defined(__APPLE__))
61
+
62
+ #include <pthread.h>
63
+ typedef pthread_mutex_t fc_mutex_impl_t;
64
+ #define FC_MUTEX_IMPL_INIT PTHREAD_MUTEX_INITIALIZER
65
+ #define fc_mutex_impl_init(M) pthread_mutex_init (M, NULL)
66
+ #define fc_mutex_impl_lock(M) pthread_mutex_lock (M)
67
+ #define fc_mutex_impl_unlock(M) pthread_mutex_unlock (M)
68
+ #define fc_mutex_impl_finish(M) pthread_mutex_destroy (M)
69
+
70
+
71
+ #elif !defined(FC_NO_MT) && defined(HAVE_INTEL_ATOMIC_PRIMITIVES)
72
+
73
+ #if defined(HAVE_SCHED_H) && defined(HAVE_SCHED_YIELD)
74
+ # include <sched.h>
75
+ # define FC_SCHED_YIELD() sched_yield ()
76
+ #else
77
+ # define FC_SCHED_YIELD() FC_STMT_START {} FC_STMT_END
78
+ #endif
79
+
80
+ /* This actually is not a totally awful implementation. */
81
+ typedef volatile int fc_mutex_impl_t;
82
+ #define FC_MUTEX_IMPL_INIT 0
83
+ #define fc_mutex_impl_init(M) *(M) = 0
84
+ #define fc_mutex_impl_lock(M) FC_STMT_START { while (__sync_lock_test_and_set((M), 1)) FC_SCHED_YIELD (); } FC_STMT_END
85
+ #define fc_mutex_impl_unlock(M) __sync_lock_release (M)
86
+ #define fc_mutex_impl_finish(M) FC_STMT_START {} FC_STMT_END
87
+
88
+
89
+ #elif !defined(FC_NO_MT)
90
+
91
+ #if defined(HAVE_SCHED_H) && defined(HAVE_SCHED_YIELD)
92
+ # include <sched.h>
93
+ # define FC_SCHED_YIELD() sched_yield ()
94
+ #else
95
+ # define FC_SCHED_YIELD() FC_STMT_START {} FC_STMT_END
96
+ #endif
97
+
98
+ #define FC_MUTEX_INT_NIL 1 /* Warn that fallback implementation is in use. */
99
+ typedef volatile int fc_mutex_impl_t;
100
+ #define FC_MUTEX_IMPL_INIT 0
101
+ #define fc_mutex_impl_init(M) *(M) = 0
102
+ #define fc_mutex_impl_lock(M) FC_STMT_START { while (*(M)) FC_SCHED_YIELD (); (*(M))++; } FC_STMT_END
103
+ #define fc_mutex_impl_unlock(M) (*(M))--;
104
+ #define fc_mutex_impl_finish(M) FC_STMT_START {} FC_STMT_END
105
+
106
+
107
+ #else /* FC_NO_MT */
108
+
109
+ typedef int fc_mutex_impl_t;
110
+ #define FC_MUTEX_IMPL_INIT 0
111
+ #define fc_mutex_impl_init(M) FC_STMT_START {} FC_STMT_END
112
+ #define fc_mutex_impl_lock(M) FC_STMT_START {} FC_STMT_END
113
+ #define fc_mutex_impl_unlock(M) FC_STMT_START {} FC_STMT_END
114
+ #define fc_mutex_impl_finish(M) FC_STMT_START {} FC_STMT_END
115
+
116
+ #endif
117
+
118
+
119
+ #define FC_MUTEX_INIT {FC_MUTEX_IMPL_INIT}
120
+ typedef fc_mutex_impl_t FcMutex;
121
+ static inline void FcMutexInit (FcMutex *m) { fc_mutex_impl_init (m); }
122
+ static inline void FcMutexLock (FcMutex *m) { fc_mutex_impl_lock (m); }
123
+ static inline void FcMutexUnlock (FcMutex *m) { fc_mutex_impl_unlock (m); }
124
+ static inline void FcMutexFinish (FcMutex *m) { fc_mutex_impl_finish (m); }
125
+
126
+
127
+ #endif /* _FCMUTEX_H_ */
@@ -0,0 +1,634 @@
1
+ /*
2
+ * fontconfig/src/fcname.c
3
+ *
4
+ * Copyright © 2000 Keith Packard
5
+ *
6
+ * Permission to use, copy, modify, distribute, and sell this software and its
7
+ * documentation for any purpose is hereby granted without fee, provided that
8
+ * the above copyright notice appear in all copies and that both that
9
+ * copyright notice and this permission notice appear in supporting
10
+ * documentation, and that the name of the author(s) not be used in
11
+ * advertising or publicity pertaining to distribution of the software without
12
+ * specific, written prior permission. The authors make no
13
+ * representations about the suitability of this software for any purpose. It
14
+ * is provided "as is" without express or implied warranty.
15
+ *
16
+ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
17
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
18
+ * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
19
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
20
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
21
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
22
+ * PERFORMANCE OF THIS SOFTWARE.
23
+ */
24
+
25
+ #include "fcint.h"
26
+ #include <ctype.h>
27
+ #include <stdlib.h>
28
+ #include <string.h>
29
+ #include <stdio.h>
30
+
31
+ static const FcObjectType FcObjects[] = {
32
+ #define FC_OBJECT(NAME, Type, Cmp) { FC_##NAME, Type },
33
+ #include "fcobjs.h"
34
+ #undef FC_OBJECT
35
+ };
36
+
37
+ #define NUM_OBJECT_TYPES ((int) (sizeof FcObjects / sizeof FcObjects[0]))
38
+
39
+ static const FcObjectType *
40
+ FcObjectFindById (FcObject object)
41
+ {
42
+ if (1 <= object && object <= NUM_OBJECT_TYPES)
43
+ return &FcObjects[object - 1];
44
+ return FcObjectLookupOtherTypeById (object);
45
+ }
46
+
47
+ FcBool
48
+ FcNameRegisterObjectTypes (const FcObjectType *types, int ntypes)
49
+ {
50
+ /* Deprecated. */
51
+ return FcFalse;
52
+ }
53
+
54
+ FcBool
55
+ FcNameUnregisterObjectTypes (const FcObjectType *types, int ntypes)
56
+ {
57
+ /* Deprecated. */
58
+ return FcFalse;
59
+ }
60
+
61
+ const FcObjectType *
62
+ FcNameGetObjectType (const char *object)
63
+ {
64
+ int id = FcObjectLookupBuiltinIdByName (object);
65
+
66
+ if (!id)
67
+ return FcObjectLookupOtherTypeByName (object);
68
+
69
+ return &FcObjects[id - 1];
70
+ }
71
+
72
+ FcBool
73
+ FcObjectValidType (FcObject object, FcType type)
74
+ {
75
+ const FcObjectType *t = FcObjectFindById (object);
76
+
77
+ if (t) {
78
+ switch ((int) t->type) {
79
+ case FcTypeUnknown:
80
+ return FcTrue;
81
+ case FcTypeDouble:
82
+ case FcTypeInteger:
83
+ if (type == FcTypeDouble || type == FcTypeInteger)
84
+ return FcTrue;
85
+ break;
86
+ case FcTypeLangSet:
87
+ if (type == FcTypeLangSet || type == FcTypeString)
88
+ return FcTrue;
89
+ break;
90
+ case FcTypeRange:
91
+ if (type == FcTypeRange ||
92
+ type == FcTypeDouble ||
93
+ type == FcTypeInteger)
94
+ return FcTrue;
95
+ break;
96
+ default:
97
+ if (type == t->type)
98
+ return FcTrue;
99
+ break;
100
+ }
101
+ return FcFalse;
102
+ }
103
+ return FcTrue;
104
+ }
105
+
106
+ FcObject
107
+ FcObjectFromName (const char * name)
108
+ {
109
+ return FcObjectLookupIdByName (name);
110
+ }
111
+
112
+ FcObjectSet *
113
+ FcObjectGetSet (void)
114
+ {
115
+ int i;
116
+ FcObjectSet *os = NULL;
117
+
118
+
119
+ os = FcObjectSetCreate ();
120
+ for (i = 0; i < NUM_OBJECT_TYPES; i++)
121
+ FcObjectSetAdd (os, FcObjects[i].object);
122
+
123
+ return os;
124
+ }
125
+
126
+ const char *
127
+ FcObjectName (FcObject object)
128
+ {
129
+ const FcObjectType *o = FcObjectFindById (object);
130
+
131
+ if (o)
132
+ return o->object;
133
+
134
+ return FcObjectLookupOtherNameById (object);
135
+ }
136
+
137
+ static const FcConstant _FcBaseConstants[] = {
138
+ { (FcChar8 *) "thin", "weight", FC_WEIGHT_THIN, },
139
+ { (FcChar8 *) "extralight", "weight", FC_WEIGHT_EXTRALIGHT, },
140
+ { (FcChar8 *) "ultralight", "weight", FC_WEIGHT_EXTRALIGHT, },
141
+ { (FcChar8 *) "demilight", "weight", FC_WEIGHT_DEMILIGHT, },
142
+ { (FcChar8 *) "semilight", "weight", FC_WEIGHT_DEMILIGHT, },
143
+ { (FcChar8 *) "light", "weight", FC_WEIGHT_LIGHT, },
144
+ { (FcChar8 *) "book", "weight", FC_WEIGHT_BOOK, },
145
+ { (FcChar8 *) "regular", "weight", FC_WEIGHT_REGULAR, },
146
+ { (FcChar8 *) "medium", "weight", FC_WEIGHT_MEDIUM, },
147
+ { (FcChar8 *) "demibold", "weight", FC_WEIGHT_DEMIBOLD, },
148
+ { (FcChar8 *) "semibold", "weight", FC_WEIGHT_DEMIBOLD, },
149
+ { (FcChar8 *) "bold", "weight", FC_WEIGHT_BOLD, },
150
+ { (FcChar8 *) "extrabold", "weight", FC_WEIGHT_EXTRABOLD, },
151
+ { (FcChar8 *) "ultrabold", "weight", FC_WEIGHT_EXTRABOLD, },
152
+ { (FcChar8 *) "black", "weight", FC_WEIGHT_BLACK, },
153
+ { (FcChar8 *) "heavy", "weight", FC_WEIGHT_HEAVY, },
154
+
155
+ { (FcChar8 *) "roman", "slant", FC_SLANT_ROMAN, },
156
+ { (FcChar8 *) "italic", "slant", FC_SLANT_ITALIC, },
157
+ { (FcChar8 *) "oblique", "slant", FC_SLANT_OBLIQUE, },
158
+
159
+ { (FcChar8 *) "ultracondensed", "width", FC_WIDTH_ULTRACONDENSED },
160
+ { (FcChar8 *) "extracondensed", "width", FC_WIDTH_EXTRACONDENSED },
161
+ { (FcChar8 *) "condensed", "width", FC_WIDTH_CONDENSED },
162
+ { (FcChar8 *) "semicondensed", "width", FC_WIDTH_SEMICONDENSED },
163
+ { (FcChar8 *) "normal", "width", FC_WIDTH_NORMAL },
164
+ { (FcChar8 *) "semiexpanded", "width", FC_WIDTH_SEMIEXPANDED },
165
+ { (FcChar8 *) "expanded", "width", FC_WIDTH_EXPANDED },
166
+ { (FcChar8 *) "extraexpanded", "width", FC_WIDTH_EXTRAEXPANDED },
167
+ { (FcChar8 *) "ultraexpanded", "width", FC_WIDTH_ULTRAEXPANDED },
168
+
169
+ { (FcChar8 *) "proportional", "spacing", FC_PROPORTIONAL, },
170
+ { (FcChar8 *) "dual", "spacing", FC_DUAL, },
171
+ { (FcChar8 *) "mono", "spacing", FC_MONO, },
172
+ { (FcChar8 *) "charcell", "spacing", FC_CHARCELL, },
173
+
174
+ { (FcChar8 *) "unknown", "rgba", FC_RGBA_UNKNOWN },
175
+ { (FcChar8 *) "rgb", "rgba", FC_RGBA_RGB, },
176
+ { (FcChar8 *) "bgr", "rgba", FC_RGBA_BGR, },
177
+ { (FcChar8 *) "vrgb", "rgba", FC_RGBA_VRGB },
178
+ { (FcChar8 *) "vbgr", "rgba", FC_RGBA_VBGR },
179
+ { (FcChar8 *) "none", "rgba", FC_RGBA_NONE },
180
+
181
+ { (FcChar8 *) "hintnone", "hintstyle", FC_HINT_NONE },
182
+ { (FcChar8 *) "hintslight", "hintstyle", FC_HINT_SLIGHT },
183
+ { (FcChar8 *) "hintmedium", "hintstyle", FC_HINT_MEDIUM },
184
+ { (FcChar8 *) "hintfull", "hintstyle", FC_HINT_FULL },
185
+
186
+ { (FcChar8 *) "antialias", "antialias", FcTrue },
187
+ { (FcChar8 *) "hinting", "hinting", FcTrue },
188
+ { (FcChar8 *) "verticallayout", "verticallayout", FcTrue },
189
+ { (FcChar8 *) "autohint", "autohint", FcTrue },
190
+ { (FcChar8 *) "globaladvance", "globaladvance", FcTrue }, /* deprecated */
191
+ { (FcChar8 *) "outline", "outline", FcTrue },
192
+ { (FcChar8 *) "scalable", "scalable", FcTrue },
193
+ { (FcChar8 *) "minspace", "minspace", FcTrue },
194
+ { (FcChar8 *) "embolden", "embolden", FcTrue },
195
+ { (FcChar8 *) "embeddedbitmap", "embeddedbitmap", FcTrue },
196
+ { (FcChar8 *) "decorative", "decorative", FcTrue },
197
+ { (FcChar8 *) "lcdnone", "lcdfilter", FC_LCD_NONE },
198
+ { (FcChar8 *) "lcddefault", "lcdfilter", FC_LCD_DEFAULT },
199
+ { (FcChar8 *) "lcdlight", "lcdfilter", FC_LCD_LIGHT },
200
+ { (FcChar8 *) "lcdlegacy", "lcdfilter", FC_LCD_LEGACY },
201
+ };
202
+
203
+ #define NUM_FC_CONSTANTS (sizeof _FcBaseConstants/sizeof _FcBaseConstants[0])
204
+
205
+ FcBool
206
+ FcNameRegisterConstants (const FcConstant *consts, int nconsts)
207
+ {
208
+ /* Deprecated. */
209
+ return FcFalse;
210
+ }
211
+
212
+ FcBool
213
+ FcNameUnregisterConstants (const FcConstant *consts, int nconsts)
214
+ {
215
+ /* Deprecated. */
216
+ return FcFalse;
217
+ }
218
+
219
+ const FcConstant *
220
+ FcNameGetConstant (const FcChar8 *string)
221
+ {
222
+ unsigned int i;
223
+
224
+ for (i = 0; i < NUM_FC_CONSTANTS; i++)
225
+ if (!FcStrCmpIgnoreCase (string, _FcBaseConstants[i].name))
226
+ return &_FcBaseConstants[i];
227
+
228
+ return 0;
229
+ }
230
+
231
+ FcBool
232
+ FcNameConstant (const FcChar8 *string, int *result)
233
+ {
234
+ const FcConstant *c;
235
+
236
+ if ((c = FcNameGetConstant(string)))
237
+ {
238
+ *result = c->value;
239
+ return FcTrue;
240
+ }
241
+ return FcFalse;
242
+ }
243
+
244
+ FcBool
245
+ FcNameBool (const FcChar8 *v, FcBool *result)
246
+ {
247
+ char c0, c1;
248
+
249
+ c0 = *v;
250
+ c0 = FcToLower (c0);
251
+ if (c0 == 't' || c0 == 'y' || c0 == '1')
252
+ {
253
+ *result = FcTrue;
254
+ return FcTrue;
255
+ }
256
+ if (c0 == 'f' || c0 == 'n' || c0 == '0')
257
+ {
258
+ *result = FcFalse;
259
+ return FcTrue;
260
+ }
261
+ if (c0 == 'd' || c0 == 'x' || c0 == '2')
262
+ {
263
+ *result = FcDontCare;
264
+ return FcTrue;
265
+ }
266
+ if (c0 == 'o')
267
+ {
268
+ c1 = v[1];
269
+ c1 = FcToLower (c1);
270
+ if (c1 == 'n')
271
+ {
272
+ *result = FcTrue;
273
+ return FcTrue;
274
+ }
275
+ if (c1 == 'f')
276
+ {
277
+ *result = FcFalse;
278
+ return FcTrue;
279
+ }
280
+ if (c1 == 'r')
281
+ {
282
+ *result = FcDontCare;
283
+ return FcTrue;
284
+ }
285
+ }
286
+ return FcFalse;
287
+ }
288
+
289
+ static FcValue
290
+ FcNameConvert (FcType type, FcChar8 *string)
291
+ {
292
+ FcValue v;
293
+ FcMatrix m;
294
+ double b, e;
295
+ char *p;
296
+
297
+ v.type = type;
298
+ switch ((int) v.type) {
299
+ case FcTypeInteger:
300
+ if (!FcNameConstant (string, &v.u.i))
301
+ v.u.i = atoi ((char *) string);
302
+ break;
303
+ case FcTypeString:
304
+ v.u.s = FcStrdup (string);
305
+ if (!v.u.s)
306
+ v.type = FcTypeVoid;
307
+ break;
308
+ case FcTypeBool:
309
+ if (!FcNameBool (string, &v.u.b))
310
+ v.u.b = FcFalse;
311
+ break;
312
+ case FcTypeDouble:
313
+ v.u.d = strtod ((char *) string, 0);
314
+ break;
315
+ case FcTypeMatrix:
316
+ FcMatrixInit (&m);
317
+ sscanf ((char *) string, "%lg %lg %lg %lg", &m.xx, &m.xy, &m.yx, &m.yy);
318
+ v.u.m = FcMatrixCopy (&m);
319
+ break;
320
+ case FcTypeCharSet:
321
+ v.u.c = FcNameParseCharSet (string);
322
+ if (!v.u.c)
323
+ v.type = FcTypeVoid;
324
+ break;
325
+ case FcTypeLangSet:
326
+ v.u.l = FcNameParseLangSet (string);
327
+ if (!v.u.l)
328
+ v.type = FcTypeVoid;
329
+ break;
330
+ case FcTypeRange:
331
+ if (sscanf ((char *) string, "[%lg %lg]", &b, &e) != 2)
332
+ {
333
+ v.u.d = strtod ((char *) string, &p);
334
+ if (p != NULL && p[0] != 0)
335
+ {
336
+ v.type = FcTypeVoid;
337
+ break;
338
+ }
339
+ v.type = FcTypeDouble;
340
+ }
341
+ else
342
+ v.u.r = FcRangeCreateDouble (b, e);
343
+ break;
344
+ default:
345
+ break;
346
+ }
347
+ return v;
348
+ }
349
+
350
+ static const FcChar8 *
351
+ FcNameFindNext (const FcChar8 *cur, const char *delim, FcChar8 *save, FcChar8 *last)
352
+ {
353
+ FcChar8 c;
354
+
355
+ while ((c = *cur))
356
+ {
357
+ if (!isspace (c))
358
+ break;
359
+ ++cur;
360
+ }
361
+ while ((c = *cur))
362
+ {
363
+ if (c == '\\')
364
+ {
365
+ ++cur;
366
+ if (!(c = *cur))
367
+ break;
368
+ }
369
+ else if (strchr (delim, c))
370
+ break;
371
+ ++cur;
372
+ *save++ = c;
373
+ }
374
+ *save = 0;
375
+ *last = *cur;
376
+ if (*cur)
377
+ cur++;
378
+ return cur;
379
+ }
380
+
381
+ FcPattern *
382
+ FcNameParse (const FcChar8 *name)
383
+ {
384
+ FcChar8 *save;
385
+ FcPattern *pat;
386
+ double d;
387
+ FcChar8 *e;
388
+ FcChar8 delim;
389
+ FcValue v;
390
+ const FcObjectType *t;
391
+ const FcConstant *c;
392
+
393
+ /* freed below */
394
+ save = malloc (strlen ((char *) name) + 1);
395
+ if (!save)
396
+ goto bail0;
397
+ pat = FcPatternCreate ();
398
+ if (!pat)
399
+ goto bail1;
400
+
401
+ for (;;)
402
+ {
403
+ name = FcNameFindNext (name, "-,:", save, &delim);
404
+ if (save[0])
405
+ {
406
+ if (!FcPatternAddString (pat, FC_FAMILY, save))
407
+ goto bail2;
408
+ }
409
+ if (delim != ',')
410
+ break;
411
+ }
412
+ if (delim == '-')
413
+ {
414
+ for (;;)
415
+ {
416
+ name = FcNameFindNext (name, "-,:", save, &delim);
417
+ d = strtod ((char *) save, (char **) &e);
418
+ if (e != save)
419
+ {
420
+ if (!FcPatternAddDouble (pat, FC_SIZE, d))
421
+ goto bail2;
422
+ }
423
+ if (delim != ',')
424
+ break;
425
+ }
426
+ }
427
+ while (delim == ':')
428
+ {
429
+ name = FcNameFindNext (name, "=_:", save, &delim);
430
+ if (save[0])
431
+ {
432
+ if (delim == '=' || delim == '_')
433
+ {
434
+ t = FcNameGetObjectType ((char *) save);
435
+ for (;;)
436
+ {
437
+ name = FcNameFindNext (name, ":,", save, &delim);
438
+ if (t)
439
+ {
440
+ v = FcNameConvert (t->type, save);
441
+ if (!FcPatternAdd (pat, t->object, v, FcTrue))
442
+ {
443
+ FcValueDestroy (v);
444
+ goto bail2;
445
+ }
446
+ FcValueDestroy (v);
447
+ }
448
+ if (delim != ',')
449
+ break;
450
+ }
451
+ }
452
+ else
453
+ {
454
+ if ((c = FcNameGetConstant (save)))
455
+ {
456
+ t = FcNameGetObjectType ((char *) c->object);
457
+ if (t == NULL)
458
+ goto bail2;
459
+ switch ((int) t->type) {
460
+ case FcTypeInteger:
461
+ case FcTypeDouble:
462
+ if (!FcPatternAddInteger (pat, c->object, c->value))
463
+ goto bail2;
464
+ break;
465
+ case FcTypeBool:
466
+ if (!FcPatternAddBool (pat, c->object, c->value))
467
+ goto bail2;
468
+ break;
469
+ default:
470
+ break;
471
+ }
472
+ }
473
+ }
474
+ }
475
+ }
476
+
477
+ free (save);
478
+ return pat;
479
+
480
+ bail2:
481
+ FcPatternDestroy (pat);
482
+ bail1:
483
+ free (save);
484
+ bail0:
485
+ return 0;
486
+ }
487
+ static FcBool
488
+ FcNameUnparseString (FcStrBuf *buf,
489
+ const FcChar8 *string,
490
+ const FcChar8 *escape)
491
+ {
492
+ FcChar8 c;
493
+ while ((c = *string++))
494
+ {
495
+ if (escape && strchr ((char *) escape, (char) c))
496
+ {
497
+ if (!FcStrBufChar (buf, escape[0]))
498
+ return FcFalse;
499
+ }
500
+ if (!FcStrBufChar (buf, c))
501
+ return FcFalse;
502
+ }
503
+ return FcTrue;
504
+ }
505
+
506
+ FcBool
507
+ FcNameUnparseValue (FcStrBuf *buf,
508
+ FcValue *v0,
509
+ FcChar8 *escape)
510
+ {
511
+ FcChar8 temp[1024];
512
+ FcValue v = FcValueCanonicalize(v0);
513
+
514
+ switch (v.type) {
515
+ case FcTypeUnknown:
516
+ case FcTypeVoid:
517
+ return FcTrue;
518
+ case FcTypeInteger:
519
+ sprintf ((char *) temp, "%d", v.u.i);
520
+ return FcNameUnparseString (buf, temp, 0);
521
+ case FcTypeDouble:
522
+ sprintf ((char *) temp, "%g", v.u.d);
523
+ return FcNameUnparseString (buf, temp, 0);
524
+ case FcTypeString:
525
+ return FcNameUnparseString (buf, v.u.s, escape);
526
+ case FcTypeBool:
527
+ return FcNameUnparseString (buf,
528
+ v.u.b == FcTrue ? (FcChar8 *) "True" :
529
+ v.u.b == FcFalse ? (FcChar8 *) "False" :
530
+ (FcChar8 *) "DontCare", 0);
531
+ case FcTypeMatrix:
532
+ sprintf ((char *) temp, "%g %g %g %g",
533
+ v.u.m->xx, v.u.m->xy, v.u.m->yx, v.u.m->yy);
534
+ return FcNameUnparseString (buf, temp, 0);
535
+ case FcTypeCharSet:
536
+ return FcNameUnparseCharSet (buf, v.u.c);
537
+ case FcTypeLangSet:
538
+ return FcNameUnparseLangSet (buf, v.u.l);
539
+ case FcTypeFTFace:
540
+ return FcTrue;
541
+ case FcTypeRange:
542
+ sprintf ((char *) temp, "[%g %g]", v.u.r->begin, v.u.r->end);
543
+ return FcNameUnparseString (buf, temp, 0);
544
+ }
545
+ return FcFalse;
546
+ }
547
+
548
+ FcBool
549
+ FcNameUnparseValueList (FcStrBuf *buf,
550
+ FcValueListPtr v,
551
+ FcChar8 *escape)
552
+ {
553
+ while (v)
554
+ {
555
+ if (!FcNameUnparseValue (buf, &v->value, escape))
556
+ return FcFalse;
557
+ if ((v = FcValueListNext(v)) != NULL)
558
+ if (!FcNameUnparseString (buf, (FcChar8 *) ",", 0))
559
+ return FcFalse;
560
+ }
561
+ return FcTrue;
562
+ }
563
+
564
+ #define FC_ESCAPE_FIXED "\\-:,"
565
+ #define FC_ESCAPE_VARIABLE "\\=_:,"
566
+
567
+ FcChar8 *
568
+ FcNameUnparse (FcPattern *pat)
569
+ {
570
+ return FcNameUnparseEscaped (pat, FcTrue);
571
+ }
572
+
573
+ FcChar8 *
574
+ FcNameUnparseEscaped (FcPattern *pat, FcBool escape)
575
+ {
576
+ FcStrBuf buf, buf2;
577
+ FcChar8 buf_static[8192], buf2_static[256];
578
+ int i;
579
+ FcPatternElt *e;
580
+
581
+ FcStrBufInit (&buf, buf_static, sizeof (buf_static));
582
+ FcStrBufInit (&buf2, buf2_static, sizeof (buf2_static));
583
+ e = FcPatternObjectFindElt (pat, FC_FAMILY_OBJECT);
584
+ if (e)
585
+ {
586
+ if (!FcNameUnparseValueList (&buf, FcPatternEltValues(e), escape ? (FcChar8 *) FC_ESCAPE_FIXED : 0))
587
+ goto bail0;
588
+ }
589
+ e = FcPatternObjectFindElt (pat, FC_SIZE_OBJECT);
590
+ if (e)
591
+ {
592
+ FcChar8 *p;
593
+
594
+ if (!FcNameUnparseString (&buf2, (FcChar8 *) "-", 0))
595
+ goto bail0;
596
+ if (!FcNameUnparseValueList (&buf2, FcPatternEltValues(e), escape ? (FcChar8 *) FC_ESCAPE_FIXED : 0))
597
+ goto bail0;
598
+ p = FcStrBufDoneStatic (&buf2);
599
+ FcStrBufDestroy (&buf2);
600
+ if (strlen ((const char *)p) > 1)
601
+ if (!FcStrBufString (&buf, p))
602
+ goto bail0;
603
+ }
604
+ for (i = 0; i < NUM_OBJECT_TYPES; i++)
605
+ {
606
+ FcObject id = i + 1;
607
+ const FcObjectType *o;
608
+ o = &FcObjects[i];
609
+ if (!strcmp (o->object, FC_FAMILY) ||
610
+ !strcmp (o->object, FC_SIZE))
611
+ continue;
612
+
613
+ e = FcPatternObjectFindElt (pat, id);
614
+ if (e)
615
+ {
616
+ if (!FcNameUnparseString (&buf, (FcChar8 *) ":", 0))
617
+ goto bail0;
618
+ if (!FcNameUnparseString (&buf, (FcChar8 *) o->object, escape ? (FcChar8 *) FC_ESCAPE_VARIABLE : 0))
619
+ goto bail0;
620
+ if (!FcNameUnparseString (&buf, (FcChar8 *) "=", 0))
621
+ goto bail0;
622
+ if (!FcNameUnparseValueList (&buf, FcPatternEltValues(e), escape ?
623
+ (FcChar8 *) FC_ESCAPE_VARIABLE : 0))
624
+ goto bail0;
625
+ }
626
+ }
627
+ return FcStrBufDone (&buf);
628
+ bail0:
629
+ FcStrBufDestroy (&buf);
630
+ return 0;
631
+ }
632
+ #define __fcname__
633
+ #include "fcaliastail.h"
634
+ #undef __fcname__