cairo 1.15.2-x86-mingw32 → 1.15.3-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of cairo might be problematic. Click here for more details.

Files changed (293) hide show
  1. checksums.yaml +4 -4
  2. data/NEWS +20 -0
  3. data/Rakefile +10 -18
  4. data/ext/cairo/extconf.rb +1 -0
  5. data/ext/cairo/rb_cairo.h +1 -1
  6. data/ext/cairo/rb_cairo_font_options.c +5 -1
  7. data/ext/cairo/rb_cairo_surface.c +32 -6
  8. data/lib/2.2/cairo.so +0 -0
  9. data/lib/2.3/cairo.so +0 -0
  10. data/test/test_font_options.rb +47 -2
  11. data/test/test_pdf_surface.rb +8 -0
  12. data/test/test_svg_surface.rb +8 -0
  13. data/vendor/local/bin/fc-cache.exe +0 -0
  14. data/vendor/local/bin/fc-cat.exe +0 -0
  15. data/vendor/local/bin/fc-list.exe +0 -0
  16. data/vendor/local/bin/fc-match.exe +0 -0
  17. data/vendor/local/bin/fc-pattern.exe +0 -0
  18. data/vendor/local/bin/fc-query.exe +0 -0
  19. data/vendor/local/bin/fc-scan.exe +0 -0
  20. data/vendor/local/bin/fc-validate.exe +0 -0
  21. data/vendor/local/bin/freetype-config +1 -1
  22. data/vendor/local/bin/libcairo-2.dll +0 -0
  23. data/vendor/local/bin/libcairo-gobject-2.dll +0 -0
  24. data/vendor/local/bin/libcairo-script-interpreter-2.dll +0 -0
  25. data/vendor/local/bin/libfontconfig-1.dll +0 -0
  26. data/vendor/local/bin/libfreetype-6.dll +0 -0
  27. data/vendor/local/bin/libgcc_s_sjlj-1.dll +0 -0
  28. data/vendor/local/bin/libpixman-1-0.dll +0 -0
  29. data/vendor/local/bin/libpng-config +1 -1
  30. data/vendor/local/bin/libpng16-16.dll +0 -0
  31. data/vendor/local/bin/libpng16-config +1 -1
  32. data/vendor/local/bin/libstdc++-6.dll +0 -0
  33. data/vendor/local/bin/libwinpthread-1.dll +0 -0
  34. data/vendor/local/bin/libxml2-2.dll +0 -0
  35. data/vendor/local/bin/png-fix-itxt.exe +0 -0
  36. data/vendor/local/bin/pngfix.exe +0 -0
  37. data/vendor/local/bin/xml2-config +4 -4
  38. data/vendor/local/bin/xmlcatalog.exe +0 -0
  39. data/vendor/local/bin/xmllint.exe +0 -0
  40. data/vendor/local/bin/zlib1.dll +0 -0
  41. data/vendor/local/etc/fonts/conf.d/10-hinting-slight.conf +13 -0
  42. data/vendor/local/etc/fonts/conf.d/10-scale-bitmap-fonts.conf +17 -15
  43. data/vendor/local/etc/fonts/conf.d/30-metric-aliases.conf +83 -17
  44. data/vendor/local/etc/fonts/conf.d/45-latin.conf +113 -33
  45. data/vendor/local/etc/fonts/conf.d/60-latin.conf +3 -0
  46. data/vendor/local/etc/fonts/fonts.conf +0 -66
  47. data/vendor/local/include/fontconfig/fcprivate.h +3 -0
  48. data/vendor/local/include/fontconfig/fontconfig.h +48 -7
  49. data/vendor/local/include/freetype2/freetype/config/ftoption.h +95 -13
  50. data/vendor/local/include/freetype2/freetype/config/ftstdlib.h +3 -1
  51. data/vendor/local/include/freetype2/freetype/freetype.h +66 -32
  52. data/vendor/local/include/freetype2/freetype/ftautoh.h +9 -1
  53. data/vendor/local/include/freetype2/freetype/ftcache.h +4 -4
  54. data/vendor/local/include/freetype2/freetype/ftcffdrv.h +18 -5
  55. data/vendor/local/include/freetype2/freetype/ftcid.h +2 -2
  56. data/vendor/local/include/freetype2/freetype/ftgzip.h +5 -5
  57. data/vendor/local/include/freetype2/freetype/ftimage.h +1 -11
  58. data/vendor/local/include/freetype2/freetype/ftmm.h +9 -5
  59. data/vendor/local/include/freetype2/freetype/ftotval.h +6 -6
  60. data/vendor/local/include/freetype2/freetype/ftoutln.h +8 -0
  61. data/vendor/local/include/freetype2/freetype/ftsystem.h +1 -1
  62. data/vendor/local/include/freetype2/freetype/ftttdrv.h +41 -22
  63. data/vendor/local/include/freetype2/freetype/tttables.h +1 -1
  64. data/vendor/local/include/libpng16/png.h +259 -123
  65. data/vendor/local/include/libpng16/pngconf.h +25 -25
  66. data/vendor/local/include/libpng16/pnglibconf.h +2 -1
  67. data/vendor/local/include/libxml2/libxml/dict.h +14 -8
  68. data/vendor/local/include/libxml2/libxml/parser.h +2 -2
  69. data/vendor/local/include/libxml2/libxml/parserInternals.h +1 -1
  70. data/vendor/local/include/libxml2/libxml/schemasInternals.h +46 -46
  71. data/vendor/local/include/libxml2/libxml/tree.h +2 -1
  72. data/vendor/local/include/libxml2/libxml/xmlerror.h +1 -1
  73. data/vendor/local/include/libxml2/libxml/xmlstring.h +4 -4
  74. data/vendor/local/include/libxml2/libxml/xmlversion.h +5 -5
  75. data/vendor/local/include/libxml2/libxml/xpathInternals.h +1 -1
  76. data/vendor/local/include/pixman-1/pixman-version.h +3 -3
  77. data/vendor/local/include/png.h +259 -123
  78. data/vendor/local/include/pngconf.h +25 -25
  79. data/vendor/local/include/pnglibconf.h +2 -1
  80. data/vendor/local/lib/cmake/libxml2/libxml2-config.cmake +3 -3
  81. data/vendor/local/lib/fontconfig.def +10 -1
  82. data/vendor/local/lib/libcairo-gobject.a +0 -0
  83. data/vendor/local/lib/libcairo-gobject.dll.a +0 -0
  84. data/vendor/local/lib/libcairo-gobject.la +2 -2
  85. data/vendor/local/lib/libcairo-script-interpreter.a +0 -0
  86. data/vendor/local/lib/libcairo-script-interpreter.dll.a +0 -0
  87. data/vendor/local/lib/libcairo-script-interpreter.la +2 -2
  88. data/vendor/local/lib/libcairo.a +0 -0
  89. data/vendor/local/lib/libcairo.dll.a +0 -0
  90. data/vendor/local/lib/libcairo.la +2 -2
  91. data/vendor/local/lib/libfontconfig.dll.a +0 -0
  92. data/vendor/local/lib/libfontconfig.la +5 -5
  93. data/vendor/local/lib/libfreetype.a +0 -0
  94. data/vendor/local/lib/libfreetype.dll.a +0 -0
  95. data/vendor/local/lib/libfreetype.la +1 -1
  96. data/vendor/local/lib/libpixman-1.a +0 -0
  97. data/vendor/local/lib/libpixman-1.dll.a +0 -0
  98. data/vendor/local/lib/libpixman-1.la +5 -5
  99. data/vendor/local/lib/libpng.a +0 -0
  100. data/vendor/local/lib/libpng.dll.a +0 -0
  101. data/vendor/local/lib/libpng.la +2 -2
  102. data/vendor/local/lib/libpng16.a +0 -0
  103. data/vendor/local/lib/libpng16.dll.a +0 -0
  104. data/vendor/local/lib/libpng16.la +2 -2
  105. data/vendor/local/lib/libxml2.a +0 -0
  106. data/vendor/local/lib/libxml2.dll.a +0 -0
  107. data/vendor/local/lib/libxml2.la +3 -3
  108. data/vendor/local/lib/libz.a +0 -0
  109. data/vendor/local/lib/libz.dll.a +0 -0
  110. data/vendor/local/lib/pkgconfig/fontconfig.pc +3 -3
  111. data/vendor/local/lib/pkgconfig/freetype2.pc +1 -1
  112. data/vendor/local/lib/pkgconfig/libpng.pc +1 -1
  113. data/vendor/local/lib/pkgconfig/libpng16.pc +1 -1
  114. data/vendor/local/lib/pkgconfig/libxml-2.0.pc +2 -2
  115. data/vendor/local/lib/pkgconfig/pixman-1.pc +1 -1
  116. data/vendor/local/lib/xml2Conf.sh +2 -2
  117. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/Copyright +0 -0
  118. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/examples/testHTML.c +0 -0
  119. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/examples/testSAX.c +0 -0
  120. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/examples/testXPath.c +0 -0
  121. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/examples/xmllint.c +19 -11
  122. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/DOM.gif +0 -0
  123. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/FAQ.html +0 -0
  124. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/Libxml2-Logo-180x168.gif +0 -0
  125. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/Libxml2-Logo-90x34.gif +0 -0
  126. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/encoding.html +0 -0
  127. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/examples.xml +0 -0
  128. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/examples.xsl +0 -0
  129. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/book1.html +1 -1
  130. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/home.png +0 -0
  131. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/index.html +1 -1
  132. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/left.png +0 -0
  133. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-DOCBparser.html +0 -0
  134. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-HTMLparser.html +0 -0
  135. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-HTMLtree.html +0 -0
  136. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-SAX.html +0 -0
  137. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-SAX2.html +0 -0
  138. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-c14n.html +0 -0
  139. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-catalog.html +0 -0
  140. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-chvalid.html +0 -0
  141. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-debugXML.html +0 -0
  142. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-dict.html +14 -14
  143. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-encoding.html +0 -0
  144. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-entities.html +0 -0
  145. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-globals.html +0 -0
  146. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-hash.html +0 -0
  147. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-lib.html +1 -1
  148. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-list.html +0 -0
  149. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-nanoftp.html +0 -0
  150. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-nanohttp.html +0 -0
  151. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-parser.html +1 -1
  152. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-parserInternals.html +0 -0
  153. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-pattern.html +0 -0
  154. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-relaxng.html +0 -0
  155. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-schemasInternals.html +0 -0
  156. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-schematron.html +0 -0
  157. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-threads.html +0 -0
  158. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-tree.html +2 -1
  159. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-uri.html +0 -0
  160. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-valid.html +0 -0
  161. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xinclude.html +0 -0
  162. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xlink.html +0 -0
  163. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlIO.html +0 -0
  164. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlautomata.html +0 -0
  165. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlerror.html +0 -0
  166. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlexports.html +0 -0
  167. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlmemory.html +1 -1
  168. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlmodule.html +0 -0
  169. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlreader.html +0 -0
  170. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlregexp.html +1 -1
  171. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlsave.html +0 -0
  172. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlschemas.html +0 -0
  173. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlschemastypes.html +0 -0
  174. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlstring.html +4 -4
  175. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlunicode.html +0 -0
  176. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlversion.html +0 -0
  177. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlwriter.html +0 -0
  178. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xpath.html +0 -0
  179. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xpathInternals.html +0 -0
  180. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xpointer.html +0 -0
  181. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xzlib.html +0 -0
  182. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/right.png +0 -0
  183. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/up.png +0 -0
  184. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/index.html +0 -0
  185. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/io1.c +0 -0
  186. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/io1.res +1 -1
  187. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/io2.c +0 -0
  188. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/io2.res +0 -0
  189. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/libxml.gif +0 -0
  190. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/parse1.c +0 -0
  191. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/parse2.c +0 -0
  192. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/parse3.c +0 -0
  193. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/parse4.c +0 -0
  194. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/reader1.c +0 -0
  195. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/reader1.res +0 -0
  196. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/reader2.c +0 -0
  197. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/reader3.c +0 -0
  198. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/reader3.res +0 -0
  199. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/reader4.c +0 -0
  200. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/reader4.res +0 -0
  201. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/redhat.gif +0 -0
  202. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/smallfootonly.gif +0 -0
  203. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/structure.gif +0 -0
  204. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/test1.xml +0 -0
  205. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/test2.xml +0 -0
  206. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/test3.xml +0 -0
  207. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/testWriter.c +0 -0
  208. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tree1.c +0 -0
  209. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tree1.res +0 -0
  210. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tree2.c +0 -0
  211. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tree2.res +0 -0
  212. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tst.xml +0 -0
  213. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/apa.html +0 -0
  214. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/apb.html +0 -0
  215. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/apc.html +0 -0
  216. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/apd.html +0 -0
  217. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/ape.html +0 -0
  218. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/apf.html +0 -0
  219. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/apg.html +0 -0
  220. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/aph.html +0 -0
  221. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/api.html +0 -0
  222. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/ar01s02.html +0 -0
  223. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/ar01s03.html +0 -0
  224. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/ar01s04.html +0 -0
  225. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/ar01s05.html +0 -0
  226. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/ar01s06.html +0 -0
  227. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/ar01s07.html +0 -0
  228. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/ar01s08.html +0 -0
  229. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/ar01s09.html +0 -0
  230. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/blank.png +0 -0
  231. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/callouts/1.png +0 -0
  232. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/callouts/10.png +0 -0
  233. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/callouts/2.png +0 -0
  234. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/callouts/3.png +0 -0
  235. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/callouts/4.png +0 -0
  236. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/callouts/5.png +0 -0
  237. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/callouts/6.png +0 -0
  238. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/callouts/7.png +0 -0
  239. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/callouts/8.png +0 -0
  240. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/callouts/9.png +0 -0
  241. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/caution.png +0 -0
  242. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/draft.png +0 -0
  243. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/home.png +0 -0
  244. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/important.png +0 -0
  245. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/next.png +0 -0
  246. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/note.png +0 -0
  247. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/prev.png +0 -0
  248. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/tip.png +0 -0
  249. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/toc-blank.png +0 -0
  250. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/toc-minus.png +0 -0
  251. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/toc-plus.png +0 -0
  252. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/up.png +0 -0
  253. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/warning.png +0 -0
  254. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/includeaddattribute.c +0 -0
  255. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/includeaddkeyword.c +0 -0
  256. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/includeconvert.c +0 -0
  257. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/includegetattribute.c +0 -0
  258. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/includekeyword.c +0 -0
  259. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/includexpath.c +0 -0
  260. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/index.html +0 -0
  261. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/ix01.html +0 -0
  262. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/xmltutorial.pdf +0 -0
  263. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/w3c.png +0 -0
  264. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/writer.xml +0 -0
  265. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/xml.html +165 -0
  266. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/xpath1.c +0 -0
  267. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/xpath1.res +0 -0
  268. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/xpath2.c +0 -0
  269. data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/xpath2.res +0 -0
  270. data/vendor/local/share/fontconfig/conf.avail/10-hinting-full.conf +13 -0
  271. data/vendor/local/share/fontconfig/conf.avail/10-hinting-medium.conf +13 -0
  272. data/vendor/local/share/fontconfig/conf.avail/10-hinting-none.conf +13 -0
  273. data/vendor/local/share/fontconfig/conf.avail/10-hinting-slight.conf +13 -0
  274. data/vendor/local/share/fontconfig/conf.avail/10-scale-bitmap-fonts.conf +17 -15
  275. data/vendor/local/share/fontconfig/conf.avail/30-metric-aliases.conf +83 -17
  276. data/vendor/local/share/fontconfig/conf.avail/45-latin.conf +113 -33
  277. data/vendor/local/share/fontconfig/conf.avail/60-latin.conf +3 -0
  278. data/vendor/local/share/gtk-doc/html/libxml2/general.html +1 -1
  279. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-dict.html +16 -16
  280. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-parser.html +1 -1
  281. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-tree.html +3 -2
  282. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlmemory.html +1 -1
  283. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlregexp.html +1 -1
  284. data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlstring.html +4 -4
  285. data/vendor/local/share/gtk-doc/html/libxml2/libxml2.devhelp +1 -0
  286. data/vendor/local/share/license/fontconfig/README +220 -2
  287. data/vendor/local/share/license/freetype/README +5 -5
  288. data/vendor/local/share/license/libpng/README +4 -1
  289. data/vendor/local/share/man/man1/freetype-config.1 +1 -1
  290. data/vendor/local/share/man/man3/libpng.3 +82 -27
  291. data/vendor/local/share/man/man3/libpngpf.3 +2 -2
  292. data/vendor/local/share/man/man5/png.5 +2 -2
  293. metadata +185 -176
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 49bba7386e5c7259ad83b2bd7d9b540653b5ee02
4
- data.tar.gz: 72ffa28b104c629e2760d8499b54c0cfc971ba9a
3
+ metadata.gz: 4e7dd1d8cc4793ff484daed2c850e3cf8a0c1993
4
+ data.tar.gz: 5f0061492fda792afa2a526581f46a3d375d9401
5
5
  SHA512:
6
- metadata.gz: 685bbe25a55eadf311ee5d31a37a5491883f4b11b233d3c47c3437e5e154148259d5156546e83eb50a56eca7659befc979b5486b8cc78ac64f3b78f788ac2829
7
- data.tar.gz: be6e0c376eeb49999801f761c5fd3aad9612a133e255e780b7801a5d3e35fcd165ceb9a4ad91f0083d8b3344d2ffcb87526d87899913227e5e2a141d2770420a
6
+ metadata.gz: 214ca261fdc832d0d3152d33858028b78b1ed6a508c12e75856cee5fa91b3a3cb504d52950ba014eebfb719a2bdadaf3910864ae05f8eecf842055141f6256e0
7
+ data.tar.gz: cf88f37304e03755a436b4642e7413dc74c43bbe64f48c751452633f5328dfd3d87fc875ff1e9f7d1ac2eb22899b1a9e701632c1ec969f4fbfd3f967ae81867c
data/NEWS CHANGED
@@ -1,3 +1,23 @@
1
+ Release 1.15.3 (2016-11-15) Kouhei Sutou <kou@cozmixng.org>
2
+ ===========================================================
3
+
4
+ Improvements
5
+ ------------
6
+
7
+ * Changed Cairo::FontOptions#== behavior to value equality check
8
+ from object equality check.
9
+ * Windows: Supported Ruby 2.4.
10
+ * Windows: Updated bundled libpng.
11
+ * Windows: Updated bundled freetype.
12
+ * Windows: Updated bundled libxml.
13
+ * Windows: Updated bundled fontconfig.
14
+ * Windows: Updated bundled pixman.
15
+ * Made Cairo::ImageSurface GC friendly with Ruby 2.4.
16
+ * Cairo::SVGSurface: Accepted nil as filename.
17
+ [GitHub#43][Reported by Andy Meneely]
18
+ * Cairo::PSSurface: Accepted nil as filename.
19
+ * Cairo::PDFSurface: Accepted nil as filename.
20
+
1
21
  Release 1.15.2 (2016-04-02) Kouhei Sutou <kou@cozmixng.org>
2
22
  ===========================================================
3
23
 
data/Rakefile CHANGED
@@ -116,9 +116,9 @@ class Package < Struct.new(:name,
116
116
  def download_site_base_url
117
117
  case download_site
118
118
  when :cairo
119
- base_url = "http://cairographics.org/releases"
119
+ base_url = "https://cairographics.org/releases"
120
120
  when :cairo_snapshots
121
- base_url = "http://cairographics.org/snapshots"
121
+ base_url = "https://cairographics.org/snapshots"
122
122
  when :gnome
123
123
  base_url = "http://ftp.gnome.org/pub/gnome/sources"
124
124
  release_series = version.gsub(/\A(\d+\.\d+).+\z/, '\1')
@@ -452,24 +452,24 @@ windows_task = WindowsTask.new(spec) do |task|
452
452
  },
453
453
  {
454
454
  :name => "libpng",
455
- :version => "1.6.21",
456
- :download_base_url => "http://downloads.sourceforge.net/project/libpng/libpng16/1.6.21",
455
+ :version => "1.6.26",
456
+ :download_base_url => "http://downloads.sourceforge.net/project/libpng/libpng16/1.6.26",
457
457
  :windows => {
458
458
  :built_file => "bin/libpng16-16.dll",
459
459
  },
460
460
  },
461
461
  {
462
462
  :name => "freetype",
463
- :version => "2.6.3",
464
- :download_base_url => "http://downloads.sourceforge.net/project/freetype/freetype2/2.6.3",
463
+ :version => "2.7",
464
+ :download_base_url => "http://downloads.sourceforge.net/project/freetype/freetype2/2.7",
465
465
  :compression_method => "bz2",
466
466
  :windows => {
467
- :built_file => "bin/libfreetype-6.dll",
467
+ :built_file => "bin/libfreetype-7.dll",
468
468
  },
469
469
  },
470
470
  {
471
471
  :name => "libxml2",
472
- :version => "2.9.2",
472
+ :version => "2.9.4",
473
473
  :download_base_url => "ftp://xmlsoft.org/libxml2",
474
474
  :compression_method => "gz",
475
475
  :windows => {
@@ -477,15 +477,11 @@ windows_task = WindowsTask.new(spec) do |task|
477
477
  :configure_args => [
478
478
  "--without-python",
479
479
  ],
480
- :patches => [
481
- "remove-empty-z_dir-ldflags.diff",
482
- ],
483
- :need_autoreconf => true,
484
480
  },
485
481
  },
486
482
  {
487
483
  :name => "fontconfig",
488
- :version => "2.11.1",
484
+ :version => "2.12.1",
489
485
  :download_base_url => "https://www.freedesktop.org/software/fontconfig/release",
490
486
  :compression_method => "bz2",
491
487
  :windows => {
@@ -494,15 +490,11 @@ windows_task = WindowsTask.new(spec) do |task|
494
490
  "--enable-libxml2",
495
491
  "--disable-docs",
496
492
  ],
497
- :patches => [
498
- "fontconfig-2.11.1-disable-mktemp-s.diff",
499
- ],
500
- :need_autoreconf => true,
501
493
  },
502
494
  },
503
495
  {
504
496
  :name => "pixman",
505
- :version => "0.32.6",
497
+ :version => "0.34.0",
506
498
  :download_site => :cairo,
507
499
  :compression_method => "gz",
508
500
  :windows => {
data/ext/cairo/extconf.rb CHANGED
@@ -208,6 +208,7 @@ $defs << "-DRB_CAIRO_COMPILATION"
208
208
  have_header("ruby/st.h") unless have_macro("HAVE_RUBY_ST_H", "ruby.h")
209
209
  have_header("ruby/io.h") unless have_macro("HAVE_RUBY_IO_H", "ruby.h")
210
210
  have_func("rb_errinfo", "ruby.h")
211
+ have_func("rb_gc_adjust_memory_usage", "ruby.h")
211
212
  have_type("enum ruby_value_type", "ruby.h")
212
213
 
213
214
  create_makefile(module_name)
data/ext/cairo/rb_cairo.h CHANGED
@@ -73,7 +73,7 @@ RB_CAIRO_BEGIN_DECLS
73
73
 
74
74
  #define RB_CAIRO_VERSION_MAJOR 1
75
75
  #define RB_CAIRO_VERSION_MINOR 15
76
- #define RB_CAIRO_VERSION_MICRO 2
76
+ #define RB_CAIRO_VERSION_MICRO 3
77
77
 
78
78
  RB_CAIRO_VAR VALUE rb_mCairo;
79
79
  RB_CAIRO_VAR VALUE rb_cCairo_Context;
@@ -96,6 +96,9 @@ cr_options_merge (VALUE self, VALUE other)
96
96
  static VALUE
97
97
  cr_options_equal (VALUE self, VALUE other)
98
98
  {
99
+ if (!rb_cairo__is_kind_of (other, rb_cCairo_FontOptions))
100
+ return Qfalse;
101
+
99
102
  return CBOOL2RVAL (cairo_font_options_equal (_SELF (self), _SELF (other)));
100
103
  }
101
104
 
@@ -168,12 +171,13 @@ Init_cairo_font_options (void)
168
171
  rb_define_class_under (rb_mCairo, "FontOptions", rb_cObject);
169
172
 
170
173
  rb_define_alloc_func (rb_cCairo_FontOptions, cr_options_allocate);
171
-
174
+
172
175
  rb_define_method (rb_cCairo_FontOptions, "initialize", cr_options_create, 0);
173
176
 
174
177
  rb_define_method (rb_cCairo_FontOptions, "dup", cr_options_copy, 0);
175
178
  rb_define_method (rb_cCairo_FontOptions, "merge!", cr_options_merge, 1);
176
179
  rb_define_alias (rb_cCairo_FontOptions, "update", "merge!");
180
+ rb_define_method (rb_cCairo_FontOptions, "==", cr_options_equal, 1);
177
181
  rb_define_method (rb_cCairo_FontOptions, "eql?", cr_options_equal, 1);
178
182
  rb_define_method (rb_cCairo_FontOptions, "hash", cr_options_hash, 0);
179
183
  rb_define_method (rb_cCairo_FontOptions, "set_antialias",
@@ -349,6 +349,24 @@ cr_surface_xml_supported_p (VALUE klass)
349
349
  #endif
350
350
  }
351
351
 
352
+ static void
353
+ rb_cairo_surface_adjust_memory_usage (cairo_surface_t *surface,
354
+ cairo_bool_t new)
355
+ {
356
+ #ifdef HAVE_RB_GC_ADJUST_MEMORY_USAGE
357
+ if (cairo_surface_get_type (surface) == CAIRO_SURFACE_TYPE_IMAGE)
358
+ {
359
+ ssize_t memory_usage_diff;
360
+ memory_usage_diff =
361
+ cairo_image_surface_get_stride (surface) *
362
+ cairo_image_surface_get_height (surface);
363
+ if (!new)
364
+ memory_usage_diff = -memory_usage_diff;
365
+ rb_gc_adjust_memory_usage (memory_usage_diff);
366
+ }
367
+ #endif
368
+ }
369
+
352
370
  /* constructor/de-constructor */
353
371
  cairo_surface_t *
354
372
  rb_cairo_surface_from_ruby_object (VALUE obj)
@@ -381,8 +399,12 @@ cr_surface_free (void *ptr)
381
399
  {
382
400
  cairo_surface_t *surface = ptr;
383
401
 
384
- if (surface)
385
- cairo_surface_destroy (surface);
402
+ if (!surface)
403
+ return;
404
+
405
+ rb_cairo_surface_adjust_memory_usage (surface, CR_FALSE);
406
+
407
+ cairo_surface_destroy (surface);
386
408
  }
387
409
 
388
410
  VALUE
@@ -393,6 +415,7 @@ rb_cairo_surface_to_ruby_object (cairo_surface_t *surface)
393
415
  VALUE klass;
394
416
  klass = cr_surface_get_klass (surface);
395
417
  cairo_surface_reference (surface);
418
+ rb_cairo_surface_adjust_memory_usage (surface, CR_TRUE);
396
419
  return Data_Wrap_Struct (klass, NULL, cr_surface_free, surface);
397
420
  }
398
421
  else
@@ -984,6 +1007,7 @@ cr_image_surface_initialize (int argc, VALUE *argv, VALUE self)
984
1007
 
985
1008
  rb_cairo_surface_check_status (surface);
986
1009
  DATA_PTR (self) = surface;
1010
+ rb_cairo_surface_adjust_memory_usage (surface, CR_TRUE);
987
1011
  if (rb_block_given_p ())
988
1012
  rb_cairo__surface_yield_and_finish (self);
989
1013
  return Qnil;
@@ -1094,10 +1118,12 @@ cr_ ## type ## _surface_initialize (int argc, VALUE *argv, VALUE self) \
1094
1118
  } \
1095
1119
  else \
1096
1120
  { \
1097
- surface = \
1098
- cairo_ ## type ## _surface_create (StringValueCStr (target), \
1099
- width_in_points, \
1100
- height_in_points); \
1121
+ const char *filename = NULL; \
1122
+ if (!NIL_P (target)) \
1123
+ filename = StringValueCStr (target); \
1124
+ surface = cairo_ ## type ## _surface_create (filename, \
1125
+ width_in_points, \
1126
+ height_in_points); \
1101
1127
  } \
1102
1128
  \
1103
1129
  rb_cairo_surface_check_status (surface); \
data/lib/2.2/cairo.so CHANGED
Binary file
data/lib/2.3/cairo.so CHANGED
Binary file
@@ -7,7 +7,52 @@ class FontOptionsTest < Test::Unit::TestCase
7
7
  @options = Cairo::FontOptions.new
8
8
  end
9
9
 
10
- def test_something
11
- # WRITE ME!
10
+ sub_test_case "#==" do
11
+ test "not FontOptions" do
12
+ assert do
13
+ !(@options == nil)
14
+ end
15
+ end
16
+
17
+ test "same object" do
18
+ assert do
19
+ @options == @options
20
+ end
21
+ end
22
+
23
+ test "same content" do
24
+ assert do
25
+ @options == @options.dup
26
+ end
27
+ end
28
+ end
29
+
30
+ sub_test_case "#eql? and #hash" do
31
+ test "not FontOptions" do
32
+ object = Object.new
33
+ options = @options
34
+ object.singleton_class.__send__(:define_method, :hash) do
35
+ options.hash
36
+ end
37
+
38
+ hash = {
39
+ object => :value,
40
+ }
41
+ assert_nil(hash[@options])
42
+ end
43
+
44
+ test "same object" do
45
+ hash = {
46
+ @options => :value,
47
+ }
48
+ assert_equal(:value, hash[@options])
49
+ end
50
+
51
+ test "same content" do
52
+ hash = {
53
+ @options => :value,
54
+ }
55
+ assert_equal(:value, hash[@options.dup])
56
+ end
12
57
  end
13
58
  end
@@ -0,0 +1,8 @@
1
+ class PDFSurfaceTest < Test::Unit::TestCase
2
+ include CairoTestUtils
3
+
4
+ def test_new_with_nil_target
5
+ surface = Cairo::PDFSurface.new(nil, 10, 20)
6
+ surface.finish
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ class SVGSurfaceTest < Test::Unit::TestCase
2
+ include CairoTestUtils
3
+
4
+ def test_new_with_nil_target
5
+ surface = Cairo::SVGSurface.new(nil, 10, 20)
6
+ surface.finish
7
+ end
8
+ end
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -74,7 +74,7 @@ while test $# -gt 0 ; do
74
74
  echo_exec_prefix=yes
75
75
  ;;
76
76
  --version)
77
- echo 18.3.12
77
+ echo 18.6.12
78
78
  exit 0
79
79
  ;;
80
80
  --ftversion)
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -11,7 +11,7 @@
11
11
 
12
12
  # Modeled after libxml-config.
13
13
 
14
- version="1.6.21"
14
+ version="1.6.26"
15
15
  prefix="/home/vagrant/rcairo.win32/vendor/local"
16
16
  exec_prefix="${prefix}"
17
17
  libdir="${exec_prefix}/lib"
Binary file
@@ -11,7 +11,7 @@
11
11
 
12
12
  # Modeled after libxml-config.
13
13
 
14
- version="1.6.21"
14
+ version="1.6.26"
15
15
  prefix="/home/vagrant/rcairo.win32/vendor/local"
16
16
  exec_prefix="${prefix}"
17
17
  libdir="${exec_prefix}/lib"
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -58,7 +58,7 @@ while test $# -gt 0; do
58
58
  ;;
59
59
 
60
60
  --version)
61
- echo 2.9.2
61
+ echo 2.9.4
62
62
  exit 0
63
63
  ;;
64
64
 
@@ -86,12 +86,12 @@ while test $# -gt 0; do
86
86
  then
87
87
  if [ "-L${libdir}" = "-L/usr/lib" -o "-L${libdir}" = "-L/usr/lib64" ]
88
88
  then
89
- echo -lxml2 -lz
89
+ echo -lxml2 -L/home/vagrant/rcairo.win32/vendor/local/lib -lz
90
90
  else
91
- echo -L${libdir} -lxml2 -lz
91
+ echo -L${libdir} -lxml2 -L/home/vagrant/rcairo.win32/vendor/local/lib -lz
92
92
  fi
93
93
  else
94
- echo -L${libdir} -lxml2 -lz -lws2_32
94
+ echo -L${libdir} -lxml2 -L/home/vagrant/rcairo.win32/vendor/local/lib -lz -lws2_32
95
95
  fi
96
96
  ;;
97
97
 
Binary file
Binary file
Binary file
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0"?>
2
+ <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
3
+ <fontconfig>
4
+ <match target="pattern">
5
+ <!--
6
+ This configuration is available on the major desktop environments.
7
+ We shouldn't overwrite it with "assign" unconditionally.
8
+ Most clients may picks up the first value only. so using "append"
9
+ may simply works to avoid it.
10
+ -->
11
+ <edit name="hintstyle" mode="append"><const>hintslight</const></edit>
12
+ </match>
13
+ </fontconfig>
@@ -2,8 +2,13 @@
2
2
  <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
3
3
  <fontconfig>
4
4
 
5
+ <!--
6
+ If font is bitmap, calculate scale factor.
7
+ Note that color bitmap fonts have scalable=true, while
8
+ non-color ones have scalable=false. Both groups have outline=false.
9
+ -->
5
10
  <match target="font">
6
- <test name="scalable" compare="eq">
11
+ <test name="outline" compare="eq">
7
12
  <bool>false</bool>
8
13
  </test>
9
14
  <edit name="pixelsizefixupfactor" mode="assign">
@@ -13,10 +18,20 @@
13
18
  </divide>
14
19
  </edit>
15
20
  </match>
21
+ <!--
22
+ For non-scalable bitmap fonts (ie. non-color), skip
23
+ minor scaling if hinting is enabled.
24
+ -->
16
25
  <match target="font">
26
+ <test name="outline" compare="eq">
27
+ <bool>false</bool>
28
+ </test>
17
29
  <test name="scalable" compare="eq">
18
30
  <bool>false</bool>
19
31
  </test>
32
+ <test name="hinting" compare="eq">
33
+ <bool>true</bool>
34
+ </test>
20
35
  <edit name="scalingnotneeded" mode="assign">
21
36
  <and>
22
37
  <less>
@@ -30,20 +45,7 @@
30
45
  </and>
31
46
  </edit>
32
47
  </match>
33
- <!--
34
- So far we determined the scale factor. Now, check and if
35
- scaling is NOT desirable, just reset the scale factor to 1.0.
36
- -->
37
48
  <match target="font">
38
- <test name="scalable" compare="eq">
39
- <bool>false</bool>
40
- </test>
41
- <test name="pixelsize" target="pattern" compare="less">
42
- <double>64</double>
43
- </test>
44
- <test name="hinting" compare="eq">
45
- <bool>true</bool>
46
- </test>
47
49
  <test name="scalingnotneeded" compare="eq">
48
50
  <bool>true</bool>
49
51
  </test>
@@ -55,7 +57,7 @@
55
57
  If we *are* going to scale, go ahead and do it.
56
58
  -->
57
59
  <match target="font">
58
- <test name="scalable" compare="eq">
60
+ <test name="outline" compare="eq">
59
61
  <bool>false</bool>
60
62
  </test>
61
63
  <test name="pixelsizefixupfactor" compare="not_eq">