cairo 1.8.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 (352) hide show
  1. data/AUTHORS +4 -0
  2. data/COPYING +59 -0
  3. data/GPL +340 -0
  4. data/NEWS +163 -0
  5. data/Rakefile +190 -0
  6. data/doc/doc.css +91 -0
  7. data/doc/en/cairo-antialias.html +38 -0
  8. data/doc/en/cairo-clip-not-representable-error.html +47 -0
  9. data/doc/en/cairo-color-base.html +69 -0
  10. data/doc/en/cairo-color-cmyk.html +157 -0
  11. data/doc/en/cairo-color-hsv.html +137 -0
  12. data/doc/en/cairo-color-rgb.html +142 -0
  13. data/doc/en/cairo-color-x11.html +173 -0
  14. data/doc/en/cairo-color.html +238 -0
  15. data/doc/en/cairo-content.html +37 -0
  16. data/doc/en/cairo-context-blur.html +39 -0
  17. data/doc/en/cairo-context-circle.html +39 -0
  18. data/doc/en/cairo-context-color.html +39 -0
  19. data/doc/en/cairo-context-path.html +44 -0
  20. data/doc/en/cairo-context-rectangle.html +39 -0
  21. data/doc/en/cairo-context-triangle.html +39 -0
  22. data/doc/en/cairo-context.html +643 -0
  23. data/doc/en/cairo-error.html +44 -0
  24. data/doc/en/cairo-extend.html +38 -0
  25. data/doc/en/cairo-file-not-found.html +47 -0
  26. data/doc/en/cairo-fill-rule.html +36 -0
  27. data/doc/en/cairo-filter.html +40 -0
  28. data/doc/en/cairo-font-extents.html +129 -0
  29. data/doc/en/cairo-font-face.html +38 -0
  30. data/doc/en/cairo-font-options.html +139 -0
  31. data/doc/en/cairo-font-slant.html +37 -0
  32. data/doc/en/cairo-font-type-mismatch.html +47 -0
  33. data/doc/en/cairo-font-weight.html +36 -0
  34. data/doc/en/cairo-format.html +46 -0
  35. data/doc/en/cairo-glyph.html +99 -0
  36. data/doc/en/cairo-gradient-pattern.html +74 -0
  37. data/doc/en/cairo-hint-metrics.html +37 -0
  38. data/doc/en/cairo-hint-style.html +39 -0
  39. data/doc/en/cairo-image-surface.html +82 -0
  40. data/doc/en/cairo-invalid-clusters.html +47 -0
  41. data/doc/en/cairo-invalid-content-error.html +47 -0
  42. data/doc/en/cairo-invalid-dash-error.html +47 -0
  43. data/doc/en/cairo-invalid-dsc-comment-error.html +47 -0
  44. data/doc/en/cairo-invalid-format-error.html +47 -0
  45. data/doc/en/cairo-invalid-index-error.html +47 -0
  46. data/doc/en/cairo-invalid-matrix-error.html +47 -0
  47. data/doc/en/cairo-invalid-path-data-error.html +47 -0
  48. data/doc/en/cairo-invalid-pop-group-error.html +47 -0
  49. data/doc/en/cairo-invalid-restore-error.html +47 -0
  50. data/doc/en/cairo-invalid-slant.html +47 -0
  51. data/doc/en/cairo-invalid-status-error.html +47 -0
  52. data/doc/en/cairo-invalid-stride-error.html +47 -0
  53. data/doc/en/cairo-invalid-string-error.html +47 -0
  54. data/doc/en/cairo-invalid-visual-error.html +47 -0
  55. data/doc/en/cairo-invalid-weight.html +47 -0
  56. data/doc/en/cairo-line-cap.html +37 -0
  57. data/doc/en/cairo-line-join.html +37 -0
  58. data/doc/en/cairo-linear-pattern.html +60 -0
  59. data/doc/en/cairo-matrix.html +259 -0
  60. data/doc/en/cairo-negative-count.html +47 -0
  61. data/doc/en/cairo-no-current-point-error.html +47 -0
  62. data/doc/en/cairo-null-pointer-error.html +47 -0
  63. data/doc/en/cairo-operator.html +48 -0
  64. data/doc/en/cairo-paper-parse-error.html +47 -0
  65. data/doc/en/cairo-paper-unknown-paper-name.html +66 -0
  66. data/doc/en/cairo-paper-unknown-unit.html +66 -0
  67. data/doc/en/cairo-paper-unrecognized-paper-description.html +66 -0
  68. data/doc/en/cairo-paper.html +184 -0
  69. data/doc/en/cairo-path-close-path.html +49 -0
  70. data/doc/en/cairo-path-curve-to.html +49 -0
  71. data/doc/en/cairo-path-data-type.html +38 -0
  72. data/doc/en/cairo-path-data.html +98 -0
  73. data/doc/en/cairo-path-line-to.html +49 -0
  74. data/doc/en/cairo-path-move-to.html +49 -0
  75. data/doc/en/cairo-path.html +155 -0
  76. data/doc/en/cairo-pattern-type-mismatch-error.html +47 -0
  77. data/doc/en/cairo-pattern.html +99 -0
  78. data/doc/en/cairo-pdf-surface.html +57 -0
  79. data/doc/en/cairo-point.html +74 -0
  80. data/doc/en/cairo-ps-level.html +49 -0
  81. data/doc/en/cairo-ps-surface.html +92 -0
  82. data/doc/en/cairo-quartz-image-surface.html +57 -0
  83. data/doc/en/cairo-quartz-surface.html +57 -0
  84. data/doc/en/cairo-radial-pattern.html +60 -0
  85. data/doc/en/cairo-read-error.html +47 -0
  86. data/doc/en/cairo-rectangle.html +89 -0
  87. data/doc/en/cairo-scaled-font.html +94 -0
  88. data/doc/en/cairo-solid-pattern.html +62 -0
  89. data/doc/en/cairo-subpixel-order.html +39 -0
  90. data/doc/en/cairo-surface-finished-error.html +47 -0
  91. data/doc/en/cairo-surface-pattern.html +57 -0
  92. data/doc/en/cairo-surface-type-mismatch-error.html +47 -0
  93. data/doc/en/cairo-surface.html +121 -0
  94. data/doc/en/cairo-svg-surface.html +77 -0
  95. data/doc/en/cairo-svg-version.html +49 -0
  96. data/doc/en/cairo-temp-file-error.html +47 -0
  97. data/doc/en/cairo-text-cluster-flag.html +35 -0
  98. data/doc/en/cairo-text-cluster.html +84 -0
  99. data/doc/en/cairo-text-extents.html +144 -0
  100. data/doc/en/cairo-toy-font-face.html +67 -0
  101. data/doc/en/cairo-user-font-error.html +47 -0
  102. data/doc/en/cairo-user-font-face-text-to-glyphs-data.html +94 -0
  103. data/doc/en/cairo-user-font-face.html +72 -0
  104. data/doc/en/cairo-user-font-immutable.html +47 -0
  105. data/doc/en/cairo-win32-printing-surface.html +57 -0
  106. data/doc/en/cairo-win32-surface.html +62 -0
  107. data/doc/en/cairo-write-error.html +47 -0
  108. data/doc/en/cairo.html +131 -0
  109. data/doc/en/index.html +1154 -0
  110. data/doc/index.html +18 -0
  111. data/doc/ja/cairo-antialias.html +57 -0
  112. data/doc/ja/cairo-clip-not-representable-error.html +56 -0
  113. data/doc/ja/cairo-color-base.html +75 -0
  114. data/doc/ja/cairo-color-cmyk.html +152 -0
  115. data/doc/ja/cairo-color-hsv.html +135 -0
  116. data/doc/ja/cairo-color-rgb.html +145 -0
  117. data/doc/ja/cairo-color-x11.html +183 -0
  118. data/doc/ja/cairo-color.html +317 -0
  119. data/doc/ja/cairo-content.html +51 -0
  120. data/doc/ja/cairo-context-blur.html +53 -0
  121. data/doc/ja/cairo-context-circle.html +54 -0
  122. data/doc/ja/cairo-context-color.html +52 -0
  123. data/doc/ja/cairo-context-path.html +77 -0
  124. data/doc/ja/cairo-context-rectangle.html +60 -0
  125. data/doc/ja/cairo-context-triangle.html +47 -0
  126. data/doc/ja/cairo-context.html +1542 -0
  127. data/doc/ja/cairo-error.html +56 -0
  128. data/doc/ja/cairo-extend.html +56 -0
  129. data/doc/ja/cairo-file-not-found.html +51 -0
  130. data/doc/ja/cairo-fill-rule.html +58 -0
  131. data/doc/ja/cairo-filter.html +43 -0
  132. data/doc/ja/cairo-font-extents.html +164 -0
  133. data/doc/ja/cairo-font-face.html +55 -0
  134. data/doc/ja/cairo-font-options.html +189 -0
  135. data/doc/ja/cairo-font-slant.html +50 -0
  136. data/doc/ja/cairo-font-type-mismatch.html +52 -0
  137. data/doc/ja/cairo-font-weight.html +47 -0
  138. data/doc/ja/cairo-format.html +81 -0
  139. data/doc/ja/cairo-glyph.html +115 -0
  140. data/doc/ja/cairo-gradient-pattern.html +119 -0
  141. data/doc/ja/cairo-hint-metrics.html +57 -0
  142. data/doc/ja/cairo-hint-style.html +64 -0
  143. data/doc/ja/cairo-image-surface.html +131 -0
  144. data/doc/ja/cairo-invalid-clusters.html +55 -0
  145. data/doc/ja/cairo-invalid-content-error.html +54 -0
  146. data/doc/ja/cairo-invalid-dash-error.html +54 -0
  147. data/doc/ja/cairo-invalid-dsc-comment-error.html +54 -0
  148. data/doc/ja/cairo-invalid-format-error.html +54 -0
  149. data/doc/ja/cairo-invalid-index-error.html +54 -0
  150. data/doc/ja/cairo-invalid-matrix-error.html +54 -0
  151. data/doc/ja/cairo-invalid-path-data-error.html +54 -0
  152. data/doc/ja/cairo-invalid-pop-group-error.html +54 -0
  153. data/doc/ja/cairo-invalid-restore-error.html +55 -0
  154. data/doc/ja/cairo-invalid-slant.html +57 -0
  155. data/doc/ja/cairo-invalid-status-error.html +55 -0
  156. data/doc/ja/cairo-invalid-stride-error.html +55 -0
  157. data/doc/ja/cairo-invalid-string-error.html +54 -0
  158. data/doc/ja/cairo-invalid-visual-error.html +57 -0
  159. data/doc/ja/cairo-invalid-weight.html +57 -0
  160. data/doc/ja/cairo-line-cap.html +50 -0
  161. data/doc/ja/cairo-line-join.html +53 -0
  162. data/doc/ja/cairo-linear-pattern.html +87 -0
  163. data/doc/ja/cairo-matrix.html +354 -0
  164. data/doc/ja/cairo-negative-count.html +52 -0
  165. data/doc/ja/cairo-no-current-point-error.html +54 -0
  166. data/doc/ja/cairo-null-pointer-error.html +54 -0
  167. data/doc/ja/cairo-operator.html +51 -0
  168. data/doc/ja/cairo-paper-parse-error.html +55 -0
  169. data/doc/ja/cairo-paper-unknown-paper-name.html +76 -0
  170. data/doc/ja/cairo-paper-unknown-unit.html +75 -0
  171. data/doc/ja/cairo-paper-unrecognized-paper-description.html +76 -0
  172. data/doc/ja/cairo-paper.html +357 -0
  173. data/doc/ja/cairo-path-close-path.html +57 -0
  174. data/doc/ja/cairo-path-curve-to.html +70 -0
  175. data/doc/ja/cairo-path-data-type.html +53 -0
  176. data/doc/ja/cairo-path-data.html +127 -0
  177. data/doc/ja/cairo-path-line-to.html +62 -0
  178. data/doc/ja/cairo-path-move-to.html +62 -0
  179. data/doc/ja/cairo-path.html +144 -0
  180. data/doc/ja/cairo-pattern-type-mismatch-error.html +56 -0
  181. data/doc/ja/cairo-pattern.html +128 -0
  182. data/doc/ja/cairo-pdf-surface.html +86 -0
  183. data/doc/ja/cairo-point.html +90 -0
  184. data/doc/ja/cairo-ps-level.html +62 -0
  185. data/doc/ja/cairo-ps-surface.html +214 -0
  186. data/doc/ja/cairo-quartz-image-surface.html +75 -0
  187. data/doc/ja/cairo-quartz-surface.html +93 -0
  188. data/doc/ja/cairo-radial-pattern.html +93 -0
  189. data/doc/ja/cairo-read-error.html +55 -0
  190. data/doc/ja/cairo-rectangle.html +109 -0
  191. data/doc/ja/cairo-scaled-font.html +180 -0
  192. data/doc/ja/cairo-solid-pattern.html +87 -0
  193. data/doc/ja/cairo-subpixel-order.html +57 -0
  194. data/doc/ja/cairo-surface-finished-error.html +54 -0
  195. data/doc/ja/cairo-surface-pattern.html +68 -0
  196. data/doc/ja/cairo-surface-type-mismatch-error.html +56 -0
  197. data/doc/ja/cairo-surface.html +213 -0
  198. data/doc/ja/cairo-svg-surface.html +114 -0
  199. data/doc/ja/cairo-svg-version.html +66 -0
  200. data/doc/ja/cairo-temp-file-error.html +50 -0
  201. data/doc/ja/cairo-text-cluster-flag.html +46 -0
  202. data/doc/ja/cairo-text-cluster.html +102 -0
  203. data/doc/ja/cairo-text-extents.html +163 -0
  204. data/doc/ja/cairo-toy-font-face.html +107 -0
  205. data/doc/ja/cairo-user-font-error.html +55 -0
  206. data/doc/ja/cairo-user-font-face-text-to-glyphs-data.html +156 -0
  207. data/doc/ja/cairo-user-font-face.html +268 -0
  208. data/doc/ja/cairo-user-font-immutable.html +54 -0
  209. data/doc/ja/cairo-win32-printing-surface.html +80 -0
  210. data/doc/ja/cairo-win32-surface.html +100 -0
  211. data/doc/ja/cairo-write-error.html +55 -0
  212. data/doc/ja/cairo.html +177 -0
  213. data/doc/ja/index.html +1156 -0
  214. data/ext/cairo/cairo.def +104 -0
  215. data/ext/cairo/extconf.rb +80 -0
  216. data/ext/cairo/rb_cairo.c +104 -0
  217. data/ext/cairo/rb_cairo.h +275 -0
  218. data/ext/cairo/rb_cairo_constants.c +478 -0
  219. data/ext/cairo/rb_cairo_context.c +1693 -0
  220. data/ext/cairo/rb_cairo_exception.c +354 -0
  221. data/ext/cairo/rb_cairo_font_extents.c +200 -0
  222. data/ext/cairo/rb_cairo_font_face.c +713 -0
  223. data/ext/cairo/rb_cairo_font_options.c +197 -0
  224. data/ext/cairo/rb_cairo_glyph.c +161 -0
  225. data/ext/cairo/rb_cairo_matrix.c +366 -0
  226. data/ext/cairo/rb_cairo_path.c +459 -0
  227. data/ext/cairo/rb_cairo_pattern.c +540 -0
  228. data/ext/cairo/rb_cairo_private.c +242 -0
  229. data/ext/cairo/rb_cairo_private.h +114 -0
  230. data/ext/cairo/rb_cairo_scaled_font.c +235 -0
  231. data/ext/cairo/rb_cairo_surface.c +1371 -0
  232. data/ext/cairo/rb_cairo_text_cluster.c +151 -0
  233. data/ext/cairo/rb_cairo_text_extents.c +221 -0
  234. data/extconf.rb +45 -0
  235. data/lib/1.8/cairo.so +0 -0
  236. data/lib/1.9/cairo.so +0 -0
  237. data/lib/cairo.rb +151 -0
  238. data/lib/cairo/color.rb +267 -0
  239. data/lib/cairo/colors.rb +656 -0
  240. data/lib/cairo/constants.rb +24 -0
  241. data/lib/cairo/context.rb +29 -0
  242. data/lib/cairo/context/blur.rb +45 -0
  243. data/lib/cairo/context/circle.rb +9 -0
  244. data/lib/cairo/context/color.rb +11 -0
  245. data/lib/cairo/context/path.rb +116 -0
  246. data/lib/cairo/context/rectangle.rb +33 -0
  247. data/lib/cairo/context/triangle.rb +12 -0
  248. data/lib/cairo/paper.rb +183 -0
  249. data/lib/cairo/papers.rb +41 -0
  250. data/lib/cairo/path.rb +15 -0
  251. data/lib/cairo/point.rb +7 -0
  252. data/misc/update-colors.rb +143 -0
  253. data/pkg-config.rb +313 -0
  254. data/samples/agg/README +4 -0
  255. data/samples/agg/aa_test.rb +304 -0
  256. data/samples/blur.rb +47 -0
  257. data/samples/pac.rb +99 -0
  258. data/samples/pac2.rb +171 -0
  259. data/samples/png.rb +45 -0
  260. data/samples/scalable.rb +56 -0
  261. data/samples/text-on-path.rb +60 -0
  262. data/samples/text2.rb +131 -0
  263. data/test-unit/Rakefile +30 -0
  264. data/test-unit/bin/testrb +5 -0
  265. data/test-unit/lib/test/unit.rb +280 -0
  266. data/test-unit/lib/test/unit/assertionfailederror.rb +14 -0
  267. data/test-unit/lib/test/unit/assertions.rb +722 -0
  268. data/test-unit/lib/test/unit/attribute.rb +125 -0
  269. data/test-unit/lib/test/unit/autorunner.rb +254 -0
  270. data/test-unit/lib/test/unit/collector.rb +43 -0
  271. data/test-unit/lib/test/unit/collector/descendant.rb +23 -0
  272. data/test-unit/lib/test/unit/collector/dir.rb +108 -0
  273. data/test-unit/lib/test/unit/collector/load.rb +135 -0
  274. data/test-unit/lib/test/unit/collector/objectspace.rb +34 -0
  275. data/test-unit/lib/test/unit/color.rb +61 -0
  276. data/test-unit/lib/test/unit/diff.rb +524 -0
  277. data/test-unit/lib/test/unit/error.rb +124 -0
  278. data/test-unit/lib/test/unit/exceptionhandler.rb +39 -0
  279. data/test-unit/lib/test/unit/failure.rb +110 -0
  280. data/test-unit/lib/test/unit/fixture.rb +185 -0
  281. data/test-unit/lib/test/unit/notification.rb +125 -0
  282. data/test-unit/lib/test/unit/omission.rb +143 -0
  283. data/test-unit/lib/test/unit/pending.rb +146 -0
  284. data/test-unit/lib/test/unit/priority.rb +146 -0
  285. data/test-unit/lib/test/unit/runner/console.rb +46 -0
  286. data/test-unit/lib/test/unit/runner/emacs.rb +8 -0
  287. data/test-unit/lib/test/unit/testcase.rb +281 -0
  288. data/test-unit/lib/test/unit/testresult.rb +89 -0
  289. data/test-unit/lib/test/unit/testsuite.rb +110 -0
  290. data/test-unit/lib/test/unit/ui/console/outputlevel.rb +14 -0
  291. data/test-unit/lib/test/unit/ui/console/testrunner.rb +195 -0
  292. data/test-unit/lib/test/unit/ui/emacs/testrunner.rb +49 -0
  293. data/test-unit/lib/test/unit/ui/testrunner.rb +20 -0
  294. data/test-unit/lib/test/unit/ui/testrunnermediator.rb +77 -0
  295. data/test-unit/lib/test/unit/ui/testrunnerutilities.rb +41 -0
  296. data/test-unit/lib/test/unit/util/backtracefilter.rb +41 -0
  297. data/test-unit/lib/test/unit/util/observable.rb +90 -0
  298. data/test-unit/lib/test/unit/util/procwrapper.rb +48 -0
  299. data/test-unit/lib/test/unit/version.rb +7 -0
  300. data/test-unit/sample/adder.rb +13 -0
  301. data/test-unit/sample/subtracter.rb +12 -0
  302. data/test-unit/sample/tc_adder.rb +18 -0
  303. data/test-unit/sample/tc_subtracter.rb +18 -0
  304. data/test-unit/sample/ts_examples.rb +7 -0
  305. data/test-unit/test/collector/test_descendant.rb +135 -0
  306. data/test-unit/test/collector/test_dir.rb +406 -0
  307. data/test-unit/test/collector/test_load.rb +333 -0
  308. data/test-unit/test/collector/test_objectspace.rb +98 -0
  309. data/test-unit/test/run-test.rb +13 -0
  310. data/test-unit/test/test_assertions.rb +693 -0
  311. data/test-unit/test/test_attribute.rb +86 -0
  312. data/test-unit/test/test_color.rb +37 -0
  313. data/test-unit/test/test_diff.rb +477 -0
  314. data/test-unit/test/test_emacs_runner.rb +60 -0
  315. data/test-unit/test/test_error.rb +26 -0
  316. data/test-unit/test/test_failure.rb +33 -0
  317. data/test-unit/test/test_fixture.rb +252 -0
  318. data/test-unit/test/test_notification.rb +33 -0
  319. data/test-unit/test/test_omission.rb +81 -0
  320. data/test-unit/test/test_pending.rb +70 -0
  321. data/test-unit/test/test_priority.rb +89 -0
  322. data/test-unit/test/test_testcase.rb +430 -0
  323. data/test-unit/test/test_testresult.rb +113 -0
  324. data/test-unit/test/test_testsuite.rb +129 -0
  325. data/test-unit/test/testunit_test_util.rb +14 -0
  326. data/test-unit/test/ui/test_testrunmediator.rb +20 -0
  327. data/test-unit/test/util/test_backtracefilter.rb +41 -0
  328. data/test-unit/test/util/test_observable.rb +102 -0
  329. data/test-unit/test/util/test_procwrapper.rb +36 -0
  330. data/test/cairo-test-utils.rb +18 -0
  331. data/test/run-test.rb +28 -0
  332. data/test/test_color.rb +17 -0
  333. data/test/test_constants.rb +16 -0
  334. data/test/test_context.rb +105 -0
  335. data/test/test_exception.rb +27 -0
  336. data/test/test_font_extents.rb +36 -0
  337. data/test/test_font_face.rb +244 -0
  338. data/test/test_font_options.rb +13 -0
  339. data/test/test_paper.rb +81 -0
  340. data/test/test_pkg_config.rb +123 -0
  341. data/test/test_scaled_font.rb +34 -0
  342. data/test/test_surface.rb +41 -0
  343. data/test/test_text_cluster.rb +32 -0
  344. data/test/test_text_extents.rb +40 -0
  345. data/test/test_text_to_glyphs_data.rb +51 -0
  346. data/tmp/x86-mingw32/cairo/1.8.7/fake.rb +6 -0
  347. data/tmp/x86-mingw32/cairo/1.8.7/mkmf.rb +1836 -0
  348. data/tmp/x86-mingw32/cairo/1.8.7/rbconfig.rb +183 -0
  349. data/tmp/x86-mingw32/cairo/1.9.2/fake.rb +6 -0
  350. data/tmp/x86-mingw32/cairo/1.9.2/mkmf.rb +2079 -0
  351. data/tmp/x86-mingw32/cairo/1.9.2/rbconfig.rb +226 -0
  352. metadata +437 -0
@@ -0,0 +1,107 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
6
+ <head>
7
+ <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
8
+ <title>Cairo::ToyFontFaceクラス</title>
9
+ <link href="../doc.css" type="text/css" rel="stylesheet" />
10
+ </head>
11
+ <div class="footer">
12
+ <ul>
13
+ <li><a href="./">索引</a></li>
14
+ </ul>
15
+
16
+ </div>
17
+ </body>
18
+
19
+ <h1><a name="label-0" id="label-0">Cairo::ToyFontFaceクラス</a></h1><!-- RDLabel: "Cairo::ToyFontFaceクラス" -->
20
+ <p><em>Since 1.7</em>: おもちゃのような(少ない機能の)フォントフェイス。</p>
21
+ <h2><a name="label-1" id="label-1">オブジェクト階層</a></h2><!-- RDLabel: "オブジェクト階層" -->
22
+ <ul>
23
+ <li>Object
24
+ <ul>
25
+ <li><a href="cairo-font-face.html">Cairo::FontFace</a>
26
+ <ul>
27
+ <li>Cairo::ToyFontFace</li>
28
+ </ul></li>
29
+ </ul></li>
30
+ </ul>
31
+ <h2><a name="label-2" id="label-2">クラスメソッド</a></h2><!-- RDLabel: "クラスメソッド" -->
32
+ <dl>
33
+ <dt><a name="label-3" id="label-3"><code>Cairo::ToyFontFace.new(<var>family</var>=<var>nil</var>, <var>slant</var>=<var>nil</var>, <var>weight</var>=<var>nil</var>)</code></a></dt><!-- RDLabel: "Cairo::ToyFontFace.new" -->
34
+ <dd>
35
+ <p>フォントのファミリーと傾きと重みからフォントフェイスを
36
+ 作ります。このフォントフェイスは<a href="cairo-context.html">Cairo::Context</a>の「おも
37
+ ちゃのような」フォントAPIを実装するために使われます。</p>
38
+ <p><var>family</var>が<code>nil</code>や空文字列の場合はプラットフォー
39
+ ム依存のデフォルトのフォントファミリーが使われます。デ
40
+ フォルトのフォントファミリーは<a href="cairo-toy-font-face.html#label-5">Cairo::ToyFontFace#family</a>
41
+ で取得できます。</p>
42
+ <p><var>slant</var>が<code>nil</code>の場合は<a href="cairo-font-slant.html#label-3">Cairo::FontSlant::NORMAL</a>
43
+ が使われます。</p>
44
+ <p><var>weight</var>が<code>nil</code>の場合は
45
+ <a href="cairo-font-weight.html#label-3">Cairo::FontWeight::NORMAL</a>が使われます。</p>
46
+ <p><a href="cairo-toy-font-face.html">Cairo::ToyFontFace</a>の制限については
47
+ <a href="cairo-context.html#label-102">Cairo::Context#select_font_face</a>の説明を見てください。</p>
48
+ <ul>
49
+ <li>family: UTF-8で符号化されたフォントファミリー名。</li>
50
+ <li>slant: フォントの傾き。:normalや:italicなど
51
+ <a href="cairo-font-slant.html">Cairo::FontSlant</a>に定義されている定数名と同じもの。
52
+ 大文字小文字は関係ありません。また、シンボル
53
+ ではなくて文字列で"normal"のように指定することもでき
54
+ ます。もちろん、<a href="cairo-font-slant.html">Cairo::FontSlant</a>に定義されている定数
55
+ を指定することもできます。<code>nil</code>の場合はデフォルト
56
+ 値として<a href="cairo-font-slant.html#label-3">Cairo::FontSlant::NORMAL</a>が使われます。</li>
57
+ <li>weight: フォントの重み。:normalや:boldなど
58
+ <a href="cairo-font-weight.html">Cairo::FontWeight</a>に定義されている定数名と同じもの。
59
+ 大文字小文字は関係ありません。また、シンボルではなく
60
+ て文字列で"normal"のように指定することもできます。も
61
+ ちろん、<a href="cairo-font-weight.html">Cairo::FontWeight</a>を指定することもできます。
62
+ <code>nil</code>の場合はデフォルト値として
63
+ <a href="cairo-font-weight.html#label-3">Cairo::FontWeight::NORMAL</a>が使われます。</li>
64
+ <li>戻り値: 新しく生成した<a href="cairo-toy-font-face.html">Cairo::ToyFontFace</a>オブジェクト。</li>
65
+ </ul></dd>
66
+ </dl>
67
+ <h2><a name="label-4" id="label-4">インタンスメソッド</a></h2><!-- RDLabel: "インタンスメソッド" -->
68
+ <dl>
69
+ <dt><a name="label-5" id="label-5"><code>family</code></a></dt><!-- RDLabel: "family" -->
70
+ <dd>
71
+ <em>Since 1.7</em>: ファミリー名を返します。
72
+ <ul>
73
+ <li>戻り値: ファミリー名。</li>
74
+ </ul></dd>
75
+ <dt><a name="label-6" id="label-6"><code>slant</code></a></dt><!-- RDLabel: "slant" -->
76
+ <dd>
77
+ <em>Since 1.7</em>: 傾きを返します。
78
+ <ul>
79
+ <li>戻り値: 傾き(<a href="cairo-font-slant.html">Cairo::FontSlant</a>)</li>
80
+ </ul></dd>
81
+ <dt><a name="label-7" id="label-7"><code>weight</code></a></dt><!-- RDLabel: "weight" -->
82
+ <dd>
83
+ <em>Since 1.7</em>: 重みを返します。
84
+ <ul>
85
+ <li>戻り値: 傾き(<a href="cairo-font-weight.html">Cairo::FontWeight</a>)</li>
86
+ </ul></dd>
87
+ </dl>
88
+ <h2><a name="label-8" id="label-8">参考</a></h2><!-- RDLabel: "参考" -->
89
+ <ul>
90
+ <li><a href="cairo-context.html#label-102">Cairo::Context#select_font_face</a></li>
91
+ <li><a href="cairo-font-slant.html">Cairo::FontSlant</a></li>
92
+ <li><a href="cairo-font-weight.html">Cairo::FontWeight</a></li>
93
+ </ul>
94
+ <h2><a name="label-9" id="label-9">変更履歴</a></h2><!-- RDLabel: "変更履歴" -->
95
+ <ul>
96
+ <li>2008-08-16: kou: スタート。</li>
97
+ </ul>
98
+
99
+ <div class="footer">
100
+ <ul>
101
+ <li><a href="./">索引</a></li>
102
+ </ul>
103
+
104
+ </div>
105
+ </body>
106
+
107
+ </html>
@@ -0,0 +1,55 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
6
+ <head>
7
+ <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
8
+ <title>Cairo::UserFontErrorクラス</title>
9
+ <link href="../doc.css" type="text/css" rel="stylesheet" />
10
+ </head>
11
+ <div class="footer">
12
+ <ul>
13
+ <li><a href="./">索引</a></li>
14
+ </ul>
15
+
16
+ </div>
17
+ </body>
18
+
19
+ <h1><a name="label-0" id="label-0">Cairo::UserFontErrorクラス</a></h1><!-- RDLabel: "Cairo::UserFontErrorクラス" -->
20
+ <p><em>Since 1.7</em>: <a href="cairo-user-font-face.html">Cairo::UserFontFace</a>のコールバック中でエラー
21
+ が起こったときはこの例外を発生させてください。</p>
22
+ <h2><a name="label-1" id="label-1">オブジェクト階層</a></h2><!-- RDLabel: "オブジェクト階層" -->
23
+ <ul>
24
+ <li>Object
25
+ <ul>
26
+ <li>Exception
27
+ <ul>
28
+ <li>StandardError
29
+ <ul>
30
+ <li><a href="cairo-error.html">Cairo::Error</a>
31
+ <ul>
32
+ <li>Cairo::UserFontError</li>
33
+ </ul></li>
34
+ </ul></li>
35
+ </ul></li>
36
+ </ul></li>
37
+ </ul>
38
+ <h2><a name="label-2" id="label-2">参考</a></h2><!-- RDLabel: "参考" -->
39
+ <ul>
40
+ <li><a href="cairo-user-font-face.html">Cairo::UserFontFace</a></li>
41
+ </ul>
42
+ <h2><a name="label-3" id="label-3">変更履歴</a></h2><!-- RDLabel: "変更履歴" -->
43
+ <ul>
44
+ <li>2008-08-17: kou: スタート。</li>
45
+ </ul>
46
+
47
+ <div class="footer">
48
+ <ul>
49
+ <li><a href="./">索引</a></li>
50
+ </ul>
51
+
52
+ </div>
53
+ </body>
54
+
55
+ </html>
@@ -0,0 +1,156 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
6
+ <head>
7
+ <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
8
+ <title>Cairo::UserFontFace::TextToGlyphsDataクラス</title>
9
+ <link href="../doc.css" type="text/css" rel="stylesheet" />
10
+ </head>
11
+ <div class="footer">
12
+ <ul>
13
+ <li><a href="./">索引</a></li>
14
+ </ul>
15
+
16
+ </div>
17
+ </body>
18
+
19
+ <h1><a name="label-0" id="label-0">Cairo::UserFontFace::TextToGlyphsDataクラス</a></h1><!-- RDLabel: "Cairo::UserFontFace::TextToGlyphsDataクラス" -->
20
+ <p><em>Since 1.7</em>: <a href="cairo-user-font-face.html#label-7">Cairo::UserFontFace#on_text_to_glyphs</a>コール
21
+ バックに渡されるデータです。
22
+ <a href="cairo-user-font-face-text-to-glyphs-data.html#label-12">Cairo::UserFontFace::TextToGlyphsData#glyphs=</a>,
23
+ <a href="cairo-user-font-face-text-to-glyphs-data.html#label-9">Cairo::UserFontFace::TextToGlyphsData#clusters=</a>,
24
+ <a href="cairo-user-font-face-text-to-glyphs-data.html">Cairo::UserFontFace::TextToGlyphsData#backward=</a>
25
+ で値を設定してください。</p>
26
+ <p>glyphsを設定する必要があるかどうかは
27
+ <a href="cairo-user-font-face-text-to-glyphs-data.html#label-13">Cairo::UserFontFace::TextToGlyphsData#need_glyphs?</a>でわかりま
28
+ す。</p>
29
+ <p>clustersを設定する必要があるかどうかは
30
+ <a href="cairo-user-font-face-text-to-glyphs-data.html#label-10">Cairo::UserFontFace::TextToGlyphsData#need_clusters?</a>でわかりま
31
+ す。</p>
32
+ <p>backwardを設定する必要があるかどうかは
33
+ <a href="cairo-user-font-face-text-to-glyphs-data.html">Cairo::UserFontFace::TextToGlyphsData#need_backward?</a>でわかりま
34
+ す。</p>
35
+ <h2><a name="label-1" id="label-1">オブジェクト階層</a></h2><!-- RDLabel: "オブジェクト階層" -->
36
+ <ul>
37
+ <li>Object
38
+ <ul>
39
+ <li>Cairo::UserFontFace::TextToGlyphsData</li>
40
+ </ul></li>
41
+ </ul>
42
+ <h2><a name="label-2" id="label-2">クラスメソッド</a></h2><!-- RDLabel: "クラスメソッド" -->
43
+ <dl>
44
+ <dt><a name="label-3" id="label-3"><code>Cairo::UserFontFace::TextToGlyphsData.new(<var>need_glyphs</var>, <var>need_clusters</var>, <var>need_backward</var>)</code></a></dt><!-- RDLabel: "Cairo::UserFontFace::TextToGlyphsData.new" -->
45
+ <dd>
46
+ <em>Since 1.7</em>: 新しく
47
+ <a href="cairo-user-font-face-text-to-glyphs-data.html">Cairo::UserFontFace::TextToGlyphsData</a>オブジェクトを生成
48
+ します。このオブジェクトは
49
+ <a href="cairo-user-font-face.html#label-7">Cairo::UserFontFace#on_text_to_glyphs</a>コールバック中で生
50
+ 成されるため、通常は明示的に生成する必要はありません。
51
+ <ul>
52
+ <li>need_glyphs: グリフを計算する必要があるかどうか。</li>
53
+ <li>need_clusters: クラスタ対応情報を計算する必要があるか
54
+ どうか。</li>
55
+ <li>need_backward: クラスタ対応情報が後ろ向きに進むかどう
56
+ かを計算する必要があるかどうか。</li>
57
+ <li>戻り値: 新しく生成した
58
+ <a href="cairo-user-font-face-text-to-glyphs-data.html">Cairo::UserFontFace::TextToGlyphsData</a>オブジェクト。</li>
59
+ </ul></dd>
60
+ </dl>
61
+ <h2><a name="label-4" id="label-4">インタンスメソッド</a></h2><!-- RDLabel: "インタンスメソッド" -->
62
+ <dl>
63
+ <dt><a name="label-5" id="label-5"><code>cluster_flags</code></a></dt><!-- RDLabel: "cluster_flags" -->
64
+ <dd>
65
+ <em>Since 1.8</em>
66
+ <ul>
67
+ <li>戻り値: クラスタ対応情報のプロパティ。
68
+ (<a href="cairo-text-cluster-flag.html">Cairo::TextClusterFlag</a>)</li>
69
+ </ul></dd>
70
+ <dt><a name="label-6" id="label-6"><code>cluster_flags=(<var>flags</var>)</code></a></dt><!-- RDLabel: "cluster_flags=" -->
71
+ <dd>
72
+ <em>Since 1.8</em>
73
+ <ul>
74
+ <li>flags: クラスタ対応情報のプロパティ
75
+ (<a href="cairo-text-cluster-flag.html">Cairo::TextClusterFlag</a>)</li>
76
+ </ul></dd>
77
+ <dt><a name="label-7" id="label-7"><code>need_cluster_flags?</code></a></dt><!-- RDLabel: "need_cluster_flags?" -->
78
+ <dd>
79
+ <em>Since 1.8</em>
80
+ <ul>
81
+ <li>戻り値: クラスタ対応情報のプロパティを計算する必要が
82
+ あるなら<code>true</code>、そうでない場合は<code>false</code>。</li>
83
+ </ul></dd>
84
+ <dt><a name="label-8" id="label-8"><code>clusters</code></a></dt><!-- RDLabel: "clusters" -->
85
+ <dd>
86
+ <em>Since 1.7</em>
87
+ <ul>
88
+ <li>戻り値: <code>[cluster, ...]</code>
89
+ <ul>
90
+ <li>cluster: <a href="cairo-text-cluster.html">Cairo::TextCluster</a>オブジェクト。</li>
91
+ </ul></li>
92
+ </ul></dd>
93
+ <dt><a name="label-9" id="label-9"><code>clusters=(<var>clusters</var>)</code></a></dt><!-- RDLabel: "clusters=" -->
94
+ <dd>
95
+ <em>Since 1.7</em>
96
+ <ul>
97
+ <li>clusters: <code>[cluster, ...]</code>
98
+ <ul>
99
+ <li>cluster: <a href="cairo-text-cluster.html">Cairo::TextCluster</a>オブジェクト。</li>
100
+ </ul></li>
101
+ </ul></dd>
102
+ <dt><a name="label-10" id="label-10"><code>need_clusters?</code></a></dt><!-- RDLabel: "need_clusters?" -->
103
+ <dd>
104
+ <em>Since 1.7</em>
105
+ <ul>
106
+ <li>戻り値: クラスタ対応情報を計算する必要があるなら
107
+ <code>true</code>、そうでない場合は<code>false</code>。</li>
108
+ </ul></dd>
109
+ <dt><a name="label-11" id="label-11"><code>glyphs</code></a></dt><!-- RDLabel: "glyphs" -->
110
+ <dd>
111
+ <em>Since 1.7</em>
112
+ <ul>
113
+ <li>戻り値: <code>[glyph, ...]</code>
114
+ <ul>
115
+ <li>glyph: <a href="cairo-glyph.html">Cairo::Glyph</a>オブジェクト。</li>
116
+ </ul></li>
117
+ </ul></dd>
118
+ <dt><a name="label-12" id="label-12"><code>glyphs=(<var>glyphs</var>)</code></a></dt><!-- RDLabel: "glyphs=" -->
119
+ <dd>
120
+ <em>Since 1.7</em>
121
+ <ul>
122
+ <li>glyphs: <code>[glyph, ...]</code>
123
+ <ul>
124
+ <li>glyph: <a href="cairo-glyph.html">Cairo::Glyph</a>オブジェクト。</li>
125
+ </ul></li>
126
+ </ul></dd>
127
+ <dt><a name="label-13" id="label-13"><code>need_glyphs?</code></a></dt><!-- RDLabel: "need_glyphs?" -->
128
+ <dd>
129
+ <em>Since 1.7</em>
130
+ <ul>
131
+ <li>戻り値: グリフを計算する必要があるなら<code>true</code>、そ
132
+ うでない場合は<code>false</code>。</li>
133
+ </ul></dd>
134
+ </dl>
135
+ <h2><a name="label-14" id="label-14">参考</a></h2><!-- RDLabel: "参考" -->
136
+ <ul>
137
+ <li><a href="cairo-user-font-face.html#label-7">Cairo::UserFontFace#on_text_to_glyphs</a></li>
138
+ <li><a href="cairo-glyph.html">Cairo::Glyph</a></li>
139
+ <li><a href="cairo-text-cluster.html">Cairo::TextCluster</a></li>
140
+ <li><a href="cairo-text-cluster-flag.html">Cairo::TextClusterFlag</a></li>
141
+ </ul>
142
+ <h2><a name="label-15" id="label-15">変更履歴</a></h2><!-- RDLabel: "変更履歴" -->
143
+ <ul>
144
+ <li>2008-09-26: kou: 1.8.0対応。backward -&gt; cluster_flags</li>
145
+ <li>2008-08-17: kou: スタート。</li>
146
+ </ul>
147
+
148
+ <div class="footer">
149
+ <ul>
150
+ <li><a href="./">索引</a></li>
151
+ </ul>
152
+
153
+ </div>
154
+ </body>
155
+
156
+ </html>
@@ -0,0 +1,268 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
6
+ <head>
7
+ <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
8
+ <title>Cairo::UserFontFaceクラス</title>
9
+ <link href="../doc.css" type="text/css" rel="stylesheet" />
10
+ </head>
11
+ <div class="footer">
12
+ <ul>
13
+ <li><a href="./">索引</a></li>
14
+ </ul>
15
+
16
+ </div>
17
+ </body>
18
+
19
+ <h1><a name="label-0" id="label-0">Cairo::UserFontFaceクラス</a></h1><!-- RDLabel: "Cairo::UserFontFaceクラス" -->
20
+ <p><em>Since 1.7</em>: ユーザが独自のフォントを使うためのフォント
21
+ フェイス。</p>
22
+ <p>on_XXXメソッドでコールバックを登録する方法と
23
+ <a href="cairo-user-font-face.html">Cairo::UserFontFace</a>を継承して、そのクラスにコールバック用のメ
24
+ ソッドを定義する方法があります。</p>
25
+ <p>継承した場合のコールバック用メソッドの名前はon_XXXメソッドか
26
+ ら「on_」を除いた部分です。例えば、on_initに対応するメソッド
27
+ 名はinitです。引数は同じです。以下は継承する例です。
28
+ render_glyph以外は定義しなくてもかまいません。</p>
29
+ <pre>class CustomUserFontFace &lt; Cairo::UserFontFace
30
+ def init(scaled_font, context, font_extents)
31
+ end
32
+
33
+ def render_glyph(scaled_font, glyph, context, text_extents)
34
+ end
35
+
36
+ def text_to_glyphs(scaled_font, utf8, data)
37
+ end
38
+
39
+ def unicode_to_glyph(scaled_font, unicode)
40
+ end
41
+ end</pre>
42
+ <h2><a name="label-1" id="label-1">オブジェクト階層</a></h2><!-- RDLabel: "オブジェクト階層" -->
43
+ <ul>
44
+ <li>Object
45
+ <ul>
46
+ <li><a href="cairo-font-face.html">Cairo::FontFace</a>
47
+ <ul>
48
+ <li>Cairo::UserFontFace</li>
49
+ </ul></li>
50
+ </ul></li>
51
+ </ul>
52
+ <h2><a name="label-2" id="label-2">クラスメソッド</a></h2><!-- RDLabel: "クラスメソッド" -->
53
+ <dl>
54
+ <dt><a name="label-3" id="label-3"><code>Cairo::UserFontFace.new</code></a></dt><!-- RDLabel: "Cairo::UserFontFace.new" -->
55
+ <dd>
56
+ <p><em>Since 1.7</em>: 新しくCario::UserFontFaceオブジェクト
57
+ を生成します。</p>
58
+ <p>オブジェクトを生成したら、on_XXXメソッドでコールバック
59
+ を登録してください。必須のコールバックは
60
+ <a href="cairo-user-font-face.html#label-6">Cairo::UserFontFace#on_render_glyph</a>です。それ以外のコー
61
+ ルバックは省略可能です。</p>
62
+ <p>継承して利用する場合、そのクラスのメソッドよりもon_XXX
63
+ メソッドで登録したコールバックの方が優先されます。</p>
64
+ <ul>
65
+ <li>戻り値: 新しく生成したCario::UserFontFaceオブジェク
66
+ ト。</li>
67
+ </ul></dd>
68
+ </dl>
69
+ <h2><a name="label-4" id="label-4">インタンスメソッド</a></h2><!-- RDLabel: "インタンスメソッド" -->
70
+ <dl>
71
+ <dt><a name="label-5" id="label-5"><code>on_init {|<var>scaled_font</var>, <var>context</var>, <var>font_extents</var>| ...}</code></a></dt><!-- RDLabel: "on_init" -->
72
+ <dd>
73
+ <p><em>Since 1.7</em>: 拡大・縮小したフォントを初期化するコー
74
+ ルバックを登録します。このコールバックは省略可能です。</p>
75
+ <p><var>context</var>は呼び出し元では使われませんが、フォント空
76
+ 間ように準備されています。これは
77
+ <a href="cairo-user-font-face.html#label-6">Cairo::UserFontFace#on_render_glyph</a>で登録するコールバッ
78
+ クに渡される<var>context</var>と同様です。コールバック中では
79
+ この<a href="cairo-context.html">Cairo::Context</a>をフォントの範囲を計算するために使う
80
+ ことができます。</p>
81
+ <p><var>font_extents</var>には<var>scaled_font</var>用のフォントの範
82
+ 囲を設定します。座標はフォント空間です。そのため、多く
83
+ の場合は<a href="cairo-font-extents.html#label-5">Cairo::FontExtents#ascent</a>と
84
+ <a href="cairo-font-extents.html#label-8">Cairo::FontExtents#descent</a>に1.0を足す必要があります。
85
+ <var>font_extents</var>は以下のように初期化されています。</p>
86
+ <ul>
87
+ <li>ascent: 1.0</li>
88
+ <li>descent: 0.0</li>
89
+ <li>height: 1.0</li>
90
+ <li>max_x_advance: 1.0</li>
91
+ <li>max_y_advance: 0.0</li>
92
+ </ul>
93
+ <p>このコールバックを指定しなかった場合は上記のデフォルト
94
+ のフォントの範囲が使われます。</p>
95
+ <p>注: <var>scaled_font</var>はこの時点では完全には初期化されて
96
+ いません。そのため、コールバック中でテキスト操作を行う
97
+ とデッドロックするでしょう。</p>
98
+ <p>コールバック中で問題が発生した場合は
99
+ <a href="cairo-user-font-error.html">Cairo::UserFontError</a>例外、あるいは問題に対応する例外を
100
+ 発生させてください。</p>
101
+ <ul>
102
+ <li>scaled_font: 生成中の拡大・縮小したフォント。
103
+ (<a href="cairo-scaled-font.html">Cairo::ScaledFont</a>)</li>
104
+ <li>context: <a href="cairo-context.html">Cairo::Context</a>。座標はフォント空間。</li>
105
+ <li>font_extents: 設定するフォントの範囲
106
+ (<a href="cairo-font-extents.html">Cairo::FontExtents</a>)。座標はフォント空間。</li>
107
+ </ul></dd>
108
+ <dt><a name="label-6" id="label-6"><code>on_render_glyph {|<var>scaled_font</var>, <var>glyph</var>, <var>context</var>, <var>text_extents</var>| ...}</code></a></dt><!-- RDLabel: "on_render_glyph" -->
109
+ <dd>
110
+ <p><em>Since 1.7</em>: グリフ描画コールバックを登録します。こ
111
+ のコールバックが唯一必須のコールバックです。</p>
112
+ <p>コードが<var>glyph</var>のグリフを<var>context</var>に描画してく
113
+ ださい。<var>context</var>はグリフ描画がフォント空間の座標で
114
+ 行われるように準備されています。つまり、<var>context</var>に
115
+ 設定されている変換行列は<var>scaled_font</var>の拡大・縮小行
116
+ 列です。</p>
117
+ <p><var>text_extents</var>には<var>scaled_font</var>のフォントの範囲
118
+ を設定してください。しかし、もし、ユーザ空間座標で描画
119
+ したい場合は<var>context</var>の変換行列を設定してください。
120
+ すべての<var>context</var>に対する操作は許可されていますが、
121
+ もし、<var>context</var>のデフォルトソース以外のソースが使わ
122
+ れた場合の動作は未定義です。つまり、グリフのビットマッ
123
+ プは<a href="cairo-context.html#label-82">Cairo::Context#paint</a>ではなく<a href="cairo-context.html#label-68">Cairo::Context#mask</a>で描
124
+ 画するべきだということです。</p>
125
+ <p>他のデフォルトではない<var>context</var>の設定は以下の通り
126
+ です。</p>
127
+ <ul>
128
+ <li>フォントサイズが1.0である(座標がフォント空間に設定
129
+ されているため)</li>
130
+ <li>フォントオプションの設定が<var>scaled_font</var>に対応し
131
+ ている</li>
132
+ </ul>
133
+ <p><var>text_extents</var>は以下のように設定されています。</p>
134
+ <ul>
135
+ <li>x_bearing: 0.0</li>
136
+ <li>y_bearing: -font_extents.ascent</li>
137
+ <li>width: 0.0</li>
138
+ <li>height: font_extents.ascent + font_extents.descent</li>
139
+ <li>x_advance: font_extents.max_x_advance</li>
140
+ <li>y_advance: 0.0</li>
141
+ </ul>
142
+ <p>多くの場合、設定しなければいけない項目はx_advanceだけで
143
+ す。もし、コールバックの後でもwidthが0(デフォルト値)
144
+ のままだった場合は、グリフの範囲は<var>context</var>への描画
145
+ 操作を元に自動的に計算されます。多くの場合、これは望ま
146
+ れた動作です。しかし、もし、コールバックがグリフの範囲
147
+ を設定する理由がある場合は、インクで塗る部分のグリフの
148
+ 範囲を設定してください。また、その範囲はコールバック中
149
+ で<var>context</var>に描画したものすべてを含むようにしてくだ
150
+ さい。</p>
151
+ <p>コールバック中で問題が発生した場合は
152
+ <a href="cairo-user-font-error.html">Cairo::UserFontError</a>例外、あるいは問題に対応する例外を
153
+ 発生させてください。</p>
154
+ <ul>
155
+ <li>scaled_font: ユーザ用の拡大・縮小したフォント。
156
+ (<a href="cairo-scaled-font.html">Cairo::ScaledFont</a>)</li>
157
+ <li>glyph: 描画するグリフコード(Integer)</li>
158
+ <li>context: <a href="cairo-context.html">Cairo::Context</a>。座標はフォント空間。</li>
159
+ <li>text_extents: 設定するグリフの範囲</li>
160
+ </ul>
161
+ <p>(<a href="cairo-text-extents.html">Cairo::TextExtents</a>)。座標はフォント空間。</p></dd>
162
+ <dt><a name="label-7" id="label-7"><code>on_text_to_glyphs {|<var>scaled_font</var>, <var>utf8</var>, <var>data</var>| ...}</code></a></dt><!-- RDLabel: "on_text_to_glyphs" -->
163
+ <dd>
164
+ <p><em>Since 1.7</em>: テキストをグリフに変換するコールバック
165
+ を登録します。このコールバックは省略可能です。</p>
166
+ <p>このコールバックは<a href="cairo-context.html#label-110">Cairo::Context#show_text</a>のときに使わ
167
+ れます。</p>
168
+ <p>このコールバックを使うとき、ユーザフォントはグリフとそ
169
+ の位置をすべて制御できます。つまり、リガチャ、カーニン
170
+ グといった機能や、アラビア語やインド語のような文字体系
171
+ が要求するような複雑な形を実現できます。</p>
172
+ <p>変換した結果は<var>data</var>に設定します。</p>
173
+ <p>もし、
174
+ <a href="cairo-user-font-face-text-to-glyphs-data.html#label-13">data.need_glyphs?</a>
175
+ が<code>true</code>の場合は
176
+ <a href="cairo-user-font-face-text-to-glyphs-data.html#label-12">data.glyphs=</a>
177
+ で計算したグリフのインデックスと位置を設定します。グリ
178
+ フの位置はフォント空間座標です。テキストは起点から表示
179
+ されると仮定しています。</p>
180
+ <p>もし、
181
+ <a href="cairo-user-font-face-text-to-glyphs-data.html#label-10">data.need_clusters?</a>
182
+ が<code>true</code>の場合は
183
+ <a href="cairo-user-font-face-text-to-glyphs-data.html#label-9">data.clusters=</a>
184
+ で計算したクラスタ対応情報を設定します。</p>
185
+ <p>もし、このコールバックが省略されているか
186
+ <a href="cairo-user-font-face-text-to-glyphs-data.html#label-11">data.glyphs</a>
187
+ が<code>nil</code>の場合は
188
+ <a href="cairo-user-font-face.html#label-8">Cairo::UserFontFace#on_unicode_to_glyph</a>が呼ばれます。</p>
189
+ <p>注: cairoはグリフのインデックス付けには制限を設けていま
190
+ せんが、いくつかのアプリケーションはグリフのインデック
191
+ スは16ビットの符号無し整数に収まると仮定しています。そ
192
+ のため、ユーザフォントはグリフの範囲を0から65535の範囲
193
+ に収めるようにするとよいでしょう。さらに、いくつかのアプ
194
+ リケーションは0番目のグリフは「グリフがない」という特別
195
+ なグリフと仮定しているかもしれません。ユーザフォントは0
196
+ 番目のグリフをそのような目的として使い、他の目的には使
197
+ わない方がよいでしょう。</p>
198
+ <p>コールバック中で問題が発生した場合は
199
+ <a href="cairo-user-font-error.html">Cairo::UserFontError</a>例外、あるいは問題に対応する例外を
200
+ 発生させてください。</p>
201
+ <ul>
202
+ <li>scaled_font: ユーザ用の拡大・縮小したフォント。
203
+ (<a href="cairo-scaled-font.html">Cairo::ScaledFont</a>)</li>
204
+ <li>utf8: UTF-8で符号化されたテキスト</li>
205
+ <li>data: 変換結果を保存するオブジェクト
206
+ (<a href="cairo-user-font-face-text-to-glyphs-data.html">Cairo::UserFontFace::TextToGlyphsData</a>)</li>
207
+ </ul></dd>
208
+ <dt><a name="label-8" id="label-8"><code>on_unicode_to_glyph {|<var>scaled_font</var>, <var>unicode</var>| ...}</code></a></dt><!-- RDLabel: "on_unicode_to_glyph" -->
209
+ <dd>
210
+ <p><em>Since 1.7</em>: Unicodeからグリフへ変換するコールバッ
211
+ クを登録します。このコールバックは省略可能です。</p>
212
+ <p>このコールバックは<a href="cairo-context.html#label-110">Cairo::Context#show_text</a>で使われます。</p>
213
+ <p>登録したコールバックは<var>unicode</var>で指定されたUnicode
214
+ のコードポイントに対応するグリフのインデックスを返して
215
+ ください。</p>
216
+ <p>このコールバックは<a href="cairo-user-font-face.html#label-7">Cairo::UserFontFace#on_text_to_glyphs</a>
217
+ で登録するコールバックと同じ機能を提供します。
218
+ on_text_to_glyphsほど出力を制御できませんが、使いやすい
219
+ です。このコールバックを使うということは、各文字はそれ
220
+ ぞれひとつのグリフに対応し、その対応は文脈に依存しない
221
+ という前提があるということです。また、グリフは前のグリ
222
+ フの幅に対応して配置されるという仮定もしています。つま
223
+ り、リガチャやカーニングや複雑な文字体系などはこのコー
224
+ ルバックを使っては実装できないということです。</p>
225
+ <p>このコールバックは<a href="cairo-user-font-face.html#label-7">Cairo::UserFontFace#on_text_to_glyphs</a>
226
+ でコールバックを登録していない場合や、登録したコールバッ
227
+ クがグリフを返せなかった場合にだけ呼ばれます。このコー
228
+ ルバックが登録されていない場合はUnicodeのコードポイ
229
+ ントがそのままグリフのインデックスになっていると仮定さ
230
+ れます。</p>
231
+ <p>注: cairoはグリフのインデックス付けには制限を設けていま
232
+ せんが、いくつかのアプリケーションはグリフのインデック
233
+ スは16ビットの符号無し整数に収まると仮定しています。そ
234
+ のため、ユーザフォントはグリフの範囲を0から65535の範囲
235
+ に収めるようにするとよいでしょう。さらに、いくつかのアプ
236
+ リケーションは0番目のグリフは「グリフがない」という特別
237
+ なグリフと仮定しているかもしれません。ユーザフォントは0
238
+ 番目のグリフをそのような目的として使い、他の目的には使
239
+ わない方がよいでしょう。</p>
240
+ <p>コールバック中で問題が発生した場合は
241
+ <a href="cairo-user-font-error.html">Cairo::UserFontError</a>例外、あるいは問題に対応する例外を
242
+ 発生させてください。</p>
243
+ <ul>
244
+ <li>scaled_font: ユーザ用の拡大・縮小したフォント。
245
+ (<a href="cairo-scaled-font.html">Cairo::ScaledFont</a>)</li>
246
+ <li>unicode: Unicode文字のコードポイント</li>
247
+ <li>ブロックの戻り値: グリフのインデックス</li>
248
+ </ul></dd>
249
+ </dl>
250
+ <h2><a name="label-9" id="label-9">参考</a></h2><!-- RDLabel: "参考" -->
251
+ <ul>
252
+ <li><a href="cairo-context.html#label-137">Cairo::Context#show_text_glyphs</a></li>
253
+ <li><a href="cairo-scaled-font.html#label-13">Cairo::ScaledFont#text_to_glyphs</a></li>
254
+ </ul>
255
+ <h2><a name="label-10" id="label-10">変更履歴</a></h2><!-- RDLabel: "変更履歴" -->
256
+ <ul>
257
+ <li>2008-08-17: kou: スタート。</li>
258
+ </ul>
259
+
260
+ <div class="footer">
261
+ <ul>
262
+ <li><a href="./">索引</a></li>
263
+ </ul>
264
+
265
+ </div>
266
+ </body>
267
+
268
+ </html>