rmagick 3.2.0 → 4.3.0

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

Potentially problematic release.


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

Files changed (420) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +63 -0
  3. data/.devcontainer/Dockerfile +14 -0
  4. data/.devcontainer/ImageMagick6/devcontainer.json +11 -0
  5. data/.devcontainer/devcontainer.json +11 -0
  6. data/.devcontainer/setup-repo.sh +10 -0
  7. data/.devcontainer/setup-user.sh +45 -0
  8. data/.editorconfig +3 -0
  9. data/.github/ISSUE_TEMPLATE.md +17 -0
  10. data/.github/workflows/ci.yml +79 -0
  11. data/.gitignore +3 -1
  12. data/.rspec +1 -0
  13. data/.rubocop.yml +24 -0
  14. data/.rubocop_todo.yml +151 -297
  15. data/.yardopts +5 -0
  16. data/CHANGELOG.md +233 -0
  17. data/CODE_OF_CONDUCT.md +122 -7
  18. data/CONTRIBUTING.md +14 -10
  19. data/README.md +326 -0
  20. data/Rakefile +16 -22
  21. data/before_install_linux.sh +22 -28
  22. data/before_install_osx.sh +57 -2
  23. data/ext/RMagick/extconf.rb +149 -105
  24. data/ext/RMagick/rmagick.c +77 -104
  25. data/ext/RMagick/rmagick.h +121 -103
  26. data/ext/RMagick/rmdraw.c +364 -436
  27. data/ext/RMagick/rmenum.c +106 -114
  28. data/ext/RMagick/rmfill.c +149 -70
  29. data/ext/RMagick/rmilist.c +225 -367
  30. data/ext/RMagick/rmimage.c +4751 -4405
  31. data/ext/RMagick/rminfo.c +574 -787
  32. data/ext/RMagick/rmkinfo.c +51 -121
  33. data/ext/RMagick/rmmain.c +454 -286
  34. data/ext/RMagick/rmmontage.c +64 -130
  35. data/ext/RMagick/rmpixel.c +488 -437
  36. data/ext/RMagick/rmstruct.c +83 -96
  37. data/ext/RMagick/rmutil.c +302 -214
  38. data/lib/rmagick/version.rb +1 -1
  39. data/lib/rmagick_internal.rb +138 -93
  40. data/lib/rvg/clippath.rb +2 -1
  41. data/lib/rvg/container.rb +10 -5
  42. data/lib/rvg/describable.rb +1 -1
  43. data/lib/rvg/embellishable.rb +5 -4
  44. data/lib/rvg/misc.rb +15 -12
  45. data/lib/rvg/paint.rb +2 -1
  46. data/lib/rvg/pathdata.rb +12 -11
  47. data/lib/rvg/rvg.rb +12 -8
  48. data/lib/rvg/stylable.rb +9 -7
  49. data/lib/rvg/text.rb +11 -6
  50. data/lib/rvg/transformable.rb +3 -2
  51. data/lib/rvg/units.rb +1 -1
  52. data/rmagick.gemspec +10 -11
  53. metadata +52 -423
  54. data/.appveyor.yml +0 -45
  55. data/.circleci/config.yml +0 -56
  56. data/.ruby-version +0 -1
  57. data/.simplecov +0 -27
  58. data/.travis.yml +0 -62
  59. data/Doxyfile +0 -1514
  60. data/README.textile +0 -259
  61. data/benchmarks/memory/README.md +0 -50
  62. data/benchmarks/memory/image_new.rb +0 -8
  63. data/benchmarks/memory/rmagick.gnuplot +0 -16
  64. data/doc/.cvsignore +0 -1
  65. data/doc/comtasks.html +0 -287
  66. data/doc/constants.html +0 -1581
  67. data/doc/css/doc.css +0 -299
  68. data/doc/css/popup.css +0 -34
  69. data/doc/css/ref.css +0 -67
  70. data/doc/draw.html +0 -3272
  71. data/doc/ex/InitialCoords.rb +0 -22
  72. data/doc/ex/NewCoordSys.rb +0 -30
  73. data/doc/ex/OrigCoordSys.rb +0 -16
  74. data/doc/ex/PreserveAspectRatio.rb +0 -204
  75. data/doc/ex/RotateScale.rb +0 -36
  76. data/doc/ex/Skew.rb +0 -38
  77. data/doc/ex/Use01.rb +0 -15
  78. data/doc/ex/Use02.rb +0 -20
  79. data/doc/ex/Use03.rb +0 -16
  80. data/doc/ex/ViewBox.rb +0 -31
  81. data/doc/ex/adaptive_threshold.rb +0 -9
  82. data/doc/ex/add_noise.rb +0 -16
  83. data/doc/ex/affine.rb +0 -48
  84. data/doc/ex/affine_transform.rb +0 -20
  85. data/doc/ex/arc.rb +0 -49
  86. data/doc/ex/arcpath.rb +0 -32
  87. data/doc/ex/arcs01.rb +0 -28
  88. data/doc/ex/arcs02.rb +0 -59
  89. data/doc/ex/average.rb +0 -15
  90. data/doc/ex/axes.rb +0 -64
  91. data/doc/ex/baseline_shift01.rb +0 -17
  92. data/doc/ex/bilevel_channel.rb +0 -8
  93. data/doc/ex/blur_image.rb +0 -12
  94. data/doc/ex/border.rb +0 -10
  95. data/doc/ex/bounding_box.rb +0 -42
  96. data/doc/ex/cbezier1.rb +0 -41
  97. data/doc/ex/cbezier2.rb +0 -41
  98. data/doc/ex/cbezier3.rb +0 -41
  99. data/doc/ex/cbezier4.rb +0 -42
  100. data/doc/ex/cbezier5.rb +0 -42
  101. data/doc/ex/cbezier6.rb +0 -53
  102. data/doc/ex/channel.rb +0 -25
  103. data/doc/ex/charcoal.rb +0 -12
  104. data/doc/ex/chop.rb +0 -29
  105. data/doc/ex/circle.rb +0 -33
  106. data/doc/ex/circle01.rb +0 -16
  107. data/doc/ex/clip_path.rb +0 -60
  108. data/doc/ex/coalesce.rb +0 -57
  109. data/doc/ex/color_fill_to_border.rb +0 -29
  110. data/doc/ex/color_floodfill.rb +0 -28
  111. data/doc/ex/color_histogram.rb +0 -47
  112. data/doc/ex/color_reset.rb +0 -11
  113. data/doc/ex/colorize.rb +0 -16
  114. data/doc/ex/colors.rb +0 -64
  115. data/doc/ex/compose_mask.rb +0 -22
  116. data/doc/ex/composite.rb +0 -133
  117. data/doc/ex/composite_layers.rb +0 -52
  118. data/doc/ex/composite_tiled.rb +0 -21
  119. data/doc/ex/contrast.rb +0 -36
  120. data/doc/ex/crop.rb +0 -31
  121. data/doc/ex/crop_with_gravity.rb +0 -42
  122. data/doc/ex/cubic01.rb +0 -43
  123. data/doc/ex/cubic02.rb +0 -91
  124. data/doc/ex/cycle_colormap.rb +0 -21
  125. data/doc/ex/dissolve.rb +0 -12
  126. data/doc/ex/drawcomp.rb +0 -41
  127. data/doc/ex/drop_shadow.rb +0 -60
  128. data/doc/ex/edge.rb +0 -11
  129. data/doc/ex/ellipse.rb +0 -45
  130. data/doc/ex/ellipse01.rb +0 -21
  131. data/doc/ex/emboss.rb +0 -11
  132. data/doc/ex/enhance.rb +0 -28
  133. data/doc/ex/equalize.rb +0 -11
  134. data/doc/ex/evenodd.rb +0 -42
  135. data/doc/ex/fill_pattern.rb +0 -23
  136. data/doc/ex/flatten_images.rb +0 -36
  137. data/doc/ex/flip.rb +0 -11
  138. data/doc/ex/flop.rb +0 -11
  139. data/doc/ex/font_styles.rb +0 -32
  140. data/doc/ex/fonts.rb +0 -16
  141. data/doc/ex/frame.rb +0 -12
  142. data/doc/ex/gaussian_blur.rb +0 -11
  143. data/doc/ex/get_multiline_type_metrics.rb +0 -41
  144. data/doc/ex/get_pixels.rb +0 -45
  145. data/doc/ex/get_type_metrics.rb +0 -142
  146. data/doc/ex/gradientfill.rb +0 -27
  147. data/doc/ex/grav.rb +0 -45
  148. data/doc/ex/gravity.rb +0 -78
  149. data/doc/ex/group.rb +0 -26
  150. data/doc/ex/hatchfill.rb +0 -27
  151. data/doc/ex/image.rb +0 -44
  152. data/doc/ex/images/Apple.miff +0 -0
  153. data/doc/ex/images/Ballerina.jpg +0 -0
  154. data/doc/ex/images/Ballerina3.jpg +0 -0
  155. data/doc/ex/images/Button_0.gif +0 -0
  156. data/doc/ex/images/Button_1.gif +0 -0
  157. data/doc/ex/images/Button_2.gif +0 -0
  158. data/doc/ex/images/Button_3.gif +0 -0
  159. data/doc/ex/images/Button_4.gif +0 -0
  160. data/doc/ex/images/Button_5.gif +0 -0
  161. data/doc/ex/images/Button_6.gif +0 -0
  162. data/doc/ex/images/Button_7.gif +0 -0
  163. data/doc/ex/images/Button_8.gif +0 -0
  164. data/doc/ex/images/Button_9.gif +0 -0
  165. data/doc/ex/images/Button_A.gif +0 -0
  166. data/doc/ex/images/Button_B.gif +0 -0
  167. data/doc/ex/images/Button_C.gif +0 -0
  168. data/doc/ex/images/Button_D.gif +0 -0
  169. data/doc/ex/images/Button_E.gif +0 -0
  170. data/doc/ex/images/Button_F.gif +0 -0
  171. data/doc/ex/images/Button_G.gif +0 -0
  172. data/doc/ex/images/Button_H.gif +0 -0
  173. data/doc/ex/images/Button_I.gif +0 -0
  174. data/doc/ex/images/Button_J.gif +0 -0
  175. data/doc/ex/images/Button_K.gif +0 -0
  176. data/doc/ex/images/Button_L.gif +0 -0
  177. data/doc/ex/images/Button_M.gif +0 -0
  178. data/doc/ex/images/Button_N.gif +0 -0
  179. data/doc/ex/images/Button_O.gif +0 -0
  180. data/doc/ex/images/Button_P.gif +0 -0
  181. data/doc/ex/images/Button_Q.gif +0 -0
  182. data/doc/ex/images/Button_R.gif +0 -0
  183. data/doc/ex/images/Button_S.gif +0 -0
  184. data/doc/ex/images/Button_T.gif +0 -0
  185. data/doc/ex/images/Button_U.gif +0 -0
  186. data/doc/ex/images/Button_V.gif +0 -0
  187. data/doc/ex/images/Button_W.gif +0 -0
  188. data/doc/ex/images/Button_X.gif +0 -0
  189. data/doc/ex/images/Button_Y.gif +0 -0
  190. data/doc/ex/images/Button_Z.gif +0 -0
  191. data/doc/ex/images/Cheetah.jpg +0 -0
  192. data/doc/ex/images/Coffee.png +0 -0
  193. data/doc/ex/images/Flower_Hat.jpg +0 -0
  194. data/doc/ex/images/Gold_Statue.jpg +0 -0
  195. data/doc/ex/images/Hot_Air_Balloons.jpg +0 -0
  196. data/doc/ex/images/Hot_Air_Balloons_H.jpg +0 -0
  197. data/doc/ex/images/Leaf.miff +0 -0
  198. data/doc/ex/images/No.png +0 -0
  199. data/doc/ex/images/Polynesia.jpg +0 -0
  200. data/doc/ex/images/Red_Rocks.jpg +0 -0
  201. data/doc/ex/images/Rocks_On_Beach.miff +0 -0
  202. data/doc/ex/images/Shorts.jpg +0 -0
  203. data/doc/ex/images/Snake.png +0 -0
  204. data/doc/ex/images/Violin.jpg +0 -0
  205. data/doc/ex/images/Yellow_Rose.miff +0 -0
  206. data/doc/ex/images/big-duck.gif +0 -0
  207. data/doc/ex/images/duck.gif +0 -0
  208. data/doc/ex/images/duck0.gif +0 -0
  209. data/doc/ex/images/duck1.gif +0 -0
  210. data/doc/ex/images/duck10.gif +0 -0
  211. data/doc/ex/images/duck11.gif +0 -0
  212. data/doc/ex/images/duck12.gif +0 -0
  213. data/doc/ex/images/duck13.gif +0 -0
  214. data/doc/ex/images/duck14.gif +0 -0
  215. data/doc/ex/images/duck15.gif +0 -0
  216. data/doc/ex/images/duck2.gif +0 -0
  217. data/doc/ex/images/duck3.gif +0 -0
  218. data/doc/ex/images/duck4.gif +0 -0
  219. data/doc/ex/images/duck5.gif +0 -0
  220. data/doc/ex/images/duck6.gif +0 -0
  221. data/doc/ex/images/duck7.gif +0 -0
  222. data/doc/ex/images/duck8.gif +0 -0
  223. data/doc/ex/images/duck9.gif +0 -0
  224. data/doc/ex/images/graydient230x6.gif +0 -0
  225. data/doc/ex/images/image_with_profile.jpg +0 -0
  226. data/doc/ex/images/logo400x83.gif +0 -0
  227. data/doc/ex/images/model.miff +0 -0
  228. data/doc/ex/images/notimplemented.gif +0 -0
  229. data/doc/ex/images/smile.miff +0 -0
  230. data/doc/ex/images/spin.gif +0 -0
  231. data/doc/ex/implode.rb +0 -34
  232. data/doc/ex/level.rb +0 -11
  233. data/doc/ex/level_colors.rb +0 -11
  234. data/doc/ex/line.rb +0 -41
  235. data/doc/ex/line01.rb +0 -21
  236. data/doc/ex/mask.rb +0 -35
  237. data/doc/ex/matte_fill_to_border.rb +0 -39
  238. data/doc/ex/matte_floodfill.rb +0 -32
  239. data/doc/ex/matte_replace.rb +0 -39
  240. data/doc/ex/median_filter.rb +0 -28
  241. data/doc/ex/modulate.rb +0 -11
  242. data/doc/ex/mono.rb +0 -23
  243. data/doc/ex/morph.rb +0 -25
  244. data/doc/ex/mosaic.rb +0 -37
  245. data/doc/ex/motion_blur.rb +0 -11
  246. data/doc/ex/negate.rb +0 -11
  247. data/doc/ex/negate_channel.rb +0 -9
  248. data/doc/ex/nested_rvg.rb +0 -21
  249. data/doc/ex/nonzero.rb +0 -42
  250. data/doc/ex/normalize.rb +0 -11
  251. data/doc/ex/oil_paint.rb +0 -11
  252. data/doc/ex/opacity.rb +0 -37
  253. data/doc/ex/ordered_dither.rb +0 -11
  254. data/doc/ex/path.rb +0 -63
  255. data/doc/ex/pattern1.rb +0 -25
  256. data/doc/ex/pattern2.rb +0 -26
  257. data/doc/ex/polaroid.rb +0 -26
  258. data/doc/ex/polygon.rb +0 -23
  259. data/doc/ex/polygon01.rb +0 -21
  260. data/doc/ex/polyline.rb +0 -22
  261. data/doc/ex/polyline01.rb +0 -21
  262. data/doc/ex/posterize.rb +0 -8
  263. data/doc/ex/preview.rb +0 -8
  264. data/doc/ex/qbezierpath.rb +0 -52
  265. data/doc/ex/quad01.rb +0 -34
  266. data/doc/ex/quantize-m.rb +0 -25
  267. data/doc/ex/radial_blur.rb +0 -9
  268. data/doc/ex/raise.rb +0 -8
  269. data/doc/ex/random_threshold_channel.rb +0 -13
  270. data/doc/ex/rect01.rb +0 -14
  271. data/doc/ex/rect02.rb +0 -20
  272. data/doc/ex/rectangle.rb +0 -34
  273. data/doc/ex/reduce_noise.rb +0 -28
  274. data/doc/ex/remap.rb +0 -11
  275. data/doc/ex/remap_images.rb +0 -19
  276. data/doc/ex/resize_to_fill.rb +0 -8
  277. data/doc/ex/resize_to_fit.rb +0 -8
  278. data/doc/ex/roll.rb +0 -9
  279. data/doc/ex/rotate.rb +0 -44
  280. data/doc/ex/rotate_f.rb +0 -14
  281. data/doc/ex/roundrect.rb +0 -33
  282. data/doc/ex/rubyname.rb +0 -30
  283. data/doc/ex/rvg_clippath.rb +0 -12
  284. data/doc/ex/rvg_linecap.rb +0 -42
  285. data/doc/ex/rvg_linejoin.rb +0 -40
  286. data/doc/ex/rvg_opacity.rb +0 -18
  287. data/doc/ex/rvg_pattern.rb +0 -26
  288. data/doc/ex/rvg_stroke_dasharray.rb +0 -11
  289. data/doc/ex/segment.rb +0 -11
  290. data/doc/ex/sepiatone.rb +0 -7
  291. data/doc/ex/shade.rb +0 -11
  292. data/doc/ex/shadow.rb +0 -30
  293. data/doc/ex/shave.rb +0 -15
  294. data/doc/ex/shear.rb +0 -10
  295. data/doc/ex/sketch.rb +0 -17
  296. data/doc/ex/skewx.rb +0 -51
  297. data/doc/ex/skewy.rb +0 -47
  298. data/doc/ex/smile.rb +0 -126
  299. data/doc/ex/solarize.rb +0 -11
  300. data/doc/ex/sparse_color.rb +0 -55
  301. data/doc/ex/splice.rb +0 -8
  302. data/doc/ex/spread.rb +0 -11
  303. data/doc/ex/stegano.rb +0 -54
  304. data/doc/ex/stroke_dasharray.rb +0 -42
  305. data/doc/ex/stroke_fill.rb +0 -10
  306. data/doc/ex/stroke_linecap.rb +0 -44
  307. data/doc/ex/stroke_linejoin.rb +0 -48
  308. data/doc/ex/stroke_width.rb +0 -49
  309. data/doc/ex/swirl.rb +0 -17
  310. data/doc/ex/text.rb +0 -37
  311. data/doc/ex/text01.rb +0 -16
  312. data/doc/ex/text_align.rb +0 -36
  313. data/doc/ex/text_antialias.rb +0 -37
  314. data/doc/ex/text_styles.rb +0 -19
  315. data/doc/ex/text_undercolor.rb +0 -28
  316. data/doc/ex/texture_fill_to_border.rb +0 -34
  317. data/doc/ex/texture_floodfill.rb +0 -32
  318. data/doc/ex/texturefill.rb +0 -24
  319. data/doc/ex/threshold.rb +0 -13
  320. data/doc/ex/to_blob.rb +0 -13
  321. data/doc/ex/translate.rb +0 -39
  322. data/doc/ex/transparent.rb +0 -38
  323. data/doc/ex/transpose.rb +0 -9
  324. data/doc/ex/transverse.rb +0 -9
  325. data/doc/ex/tref01.rb +0 -24
  326. data/doc/ex/triangle01.rb +0 -15
  327. data/doc/ex/trim.rb +0 -23
  328. data/doc/ex/tspan01.rb +0 -17
  329. data/doc/ex/tspan02.rb +0 -17
  330. data/doc/ex/tspan03.rb +0 -19
  331. data/doc/ex/unsharp_mask.rb +0 -28
  332. data/doc/ex/viewex.rb +0 -33
  333. data/doc/ex/vignette.rb +0 -12
  334. data/doc/ex/watermark.rb +0 -27
  335. data/doc/ex/wave.rb +0 -9
  336. data/doc/ex/wet_floor.rb +0 -58
  337. data/doc/ex/writing_mode01.rb +0 -26
  338. data/doc/ex/writing_mode02.rb +0 -26
  339. data/doc/ilist.html +0 -2056
  340. data/doc/image1.html +0 -4680
  341. data/doc/image2.html +0 -3665
  342. data/doc/image3.html +0 -4522
  343. data/doc/imageattrs.html +0 -1638
  344. data/doc/imusage.html +0 -514
  345. data/doc/index.html +0 -416
  346. data/doc/info.html +0 -1499
  347. data/doc/magick.html +0 -570
  348. data/doc/optequiv.html +0 -2435
  349. data/doc/rvg.html +0 -975
  350. data/doc/rvgclip.html +0 -248
  351. data/doc/rvggroup.html +0 -305
  352. data/doc/rvgimage.html +0 -289
  353. data/doc/rvgpattern.html +0 -475
  354. data/doc/rvgshape.html +0 -406
  355. data/doc/rvgstyle.html +0 -270
  356. data/doc/rvgtext.html +0 -465
  357. data/doc/rvgtspan.html +0 -238
  358. data/doc/rvgtut.html +0 -530
  359. data/doc/rvguse.html +0 -145
  360. data/doc/rvgxform.html +0 -294
  361. data/doc/scripts/doc.js +0 -22
  362. data/doc/scripts/stripeTables.js +0 -23
  363. data/doc/struct.html +0 -1339
  364. data/doc/usage.html +0 -1621
  365. data/examples/constitute.rb +0 -7
  366. data/examples/crop_with_gravity.rb +0 -42
  367. data/examples/demo.rb +0 -323
  368. data/examples/describe.rb +0 -41
  369. data/examples/find_similar_region.rb +0 -34
  370. data/examples/histogram.rb +0 -312
  371. data/examples/identify.rb +0 -174
  372. data/examples/image_opacity.rb +0 -28
  373. data/examples/import_export.rb +0 -31
  374. data/examples/pattern_fill.rb +0 -37
  375. data/examples/rotating_text.rb +0 -45
  376. data/examples/spinner.rb +0 -49
  377. data/examples/thumbnail.rb +0 -64
  378. data/examples/vignette.rb +0 -78
  379. data/lib/obsolete.rb +0 -66
  380. data/spec/rmagick/ImageList1_spec.rb +0 -24
  381. data/spec/rmagick/draw_spec.rb +0 -155
  382. data/spec/rmagick/image/blue_shift_spec.rb +0 -14
  383. data/spec/rmagick/image/channel_entropy_spec.rb +0 -9
  384. data/spec/rmagick/image/composite_spec.rb +0 -72
  385. data/spec/rmagick/image/constitute_spec.rb +0 -13
  386. data/spec/rmagick/image/dispatch_spec.rb +0 -16
  387. data/spec/rmagick/image/from_blob_spec.rb +0 -12
  388. data/spec/rmagick/image/ping_spec.rb +0 -12
  389. data/spec/rmagick/image/properties_spec.rb +0 -27
  390. data/spec/rmagick/image/read_spec.rb +0 -28
  391. data/spec/spec_helper.rb +0 -10
  392. data/spec/support/issue_200/app.rb +0 -8
  393. data/test/Draw.rb +0 -351
  394. data/test/Enum.rb +0 -228
  395. data/test/Fill.rb +0 -93
  396. data/test/Image1.rb +0 -627
  397. data/test/Image2.rb +0 -1426
  398. data/test/Image3.rb +0 -1091
  399. data/test/ImageList1.rb +0 -858
  400. data/test/ImageList2.rb +0 -406
  401. data/test/Image_attributes.rb +0 -666
  402. data/test/Import_Export.rb +0 -115
  403. data/test/Info.rb +0 -444
  404. data/test/KernelInfo.rb +0 -67
  405. data/test/Magick.rb +0 -311
  406. data/test/Pixel.rb +0 -285
  407. data/test/PolaroidOptions.rb +0 -23
  408. data/test/Preview.rb +0 -26
  409. data/test/Struct.rb +0 -45
  410. data/test/appearance/Montage.rb +0 -26
  411. data/test/appearance/appearance_assertion.rb +0 -13
  412. data/test/appearance/expected/montage_border_color.jpg +0 -0
  413. data/test/cmyk.icm +0 -0
  414. data/test/lib/Obsolete.rb +0 -30
  415. data/test/lib/internal/Draw.rb +0 -823
  416. data/test/lib/internal/Geometry.rb +0 -98
  417. data/test/lib/internal/Magick.rb +0 -40
  418. data/test/srgb.icm +0 -0
  419. data/test/test_all_basic.rb +0 -49
  420. data/test/tmpnam_test.rb +0 -50
data/doc/rvgtext.html DELETED
@@ -1,465 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
-
4
- <html xmlns="http://www.w3.org/1999/xhtml">
5
- <head>
6
- <meta name="generator" content=
7
- "HTML Tidy for Linux/x86 (vers 1 September 2005), see www.w3.org" />
8
-
9
- <title>RMagick 0.0.0: RVG Reference: RVG::Text Class</title>
10
- <meta http-equiv="Content-Type" content=
11
- "text/html; charset=us-ascii" />
12
- <meta name="GENERATOR" content="Quanta Plus" />
13
- <meta name="Copyright" content=
14
- "Copyright (C) 2006 by Timothy P. Hunter" />
15
- <link rel="stylesheet" type="text/css" href="css/doc.css" />
16
- <script type="text/javascript" src="scripts/doc.js">
17
- </script>
18
- <script type="text/javascript">
19
- //<![CDATA[
20
- //]]>
21
- </script>
22
- <style type="text/css">
23
- /*<![CDATA[*/
24
- .styles_header h3 {
25
- background-color: #c0c0c0;
26
- width:100%;
27
- color: #000;
28
- margin-top: 0;
29
- }
30
-
31
- /*]]>*/
32
- </style>
33
- </head>
34
-
35
- <body>
36
- <h6 id="header">RMagick 0.0.0 User's Guide and Reference</h6>
37
-
38
- <div class="nav">
39
- &laquo;&nbsp;<a href="rvgclip.html">Prev</a> | <a href=
40
- "index.html">Contents</a> | <a href=
41
- "rvgtspan.html">Next</a>&nbsp;&raquo;
42
- </div>
43
-
44
- <h1>class RVG::Text <span class="superclass">&lt;
45
- Object</span></h1>
46
-
47
- <div id="toc">
48
- <h2>Table of Contents</h2>
49
-
50
- <h3>class methods</h3>
51
-
52
- <ul>
53
- <li><a href="#new">new</a></li>
54
- </ul>
55
-
56
- <h3>instance methods</h3>
57
-
58
- <div>
59
- <div class="toccol">
60
- <ul>
61
- <li><a href="#d">d</a></li>
62
-
63
- <li><a href="#rotate">rotate</a></li>
64
-
65
- <li><a href="#tref">tref</a></li>
66
-
67
- <li><a href="#tspan">tspan</a></li>
68
- </ul>
69
- </div>
70
-
71
- <h3>shared methods</h3>
72
-
73
- <p>In addition to the methods listed above, <code>class
74
- RVG::Text</code> also implements the <a href=
75
- "rvgstyle.html">styles</a> method.</p>
76
-
77
- <h3>text styles</h3>
78
-
79
- <div class="toccol">
80
- <ul>
81
- <li><a href="#basic">basic styles</a></li>
82
-
83
- <li><a href="#advanced">advanced styles</a></li>
84
- </ul>
85
- </div>
86
- </div>
87
- </div>
88
-
89
- <h2 class="methods">class methods</h2>
90
-
91
- <div class="sig">
92
- <h3 id="new">new</h3>
93
-
94
- <p>RVG::Text.new(<span class="arg">x</span>=0, <span class=
95
- "arg">y</span>=0, <span class="arg">text</span>=nil) [
96
- <span class="arg">{ |text| ...}</span> ] -&gt;
97
- <em>text</em></p>
98
- </div>
99
-
100
- <div class="desc">
101
- <h4>Description</h4>
102
-
103
- <p>This method is usually invoked indirectly via the text
104
- method in the <a href="rvgclip.html#new">RVG::ClipPath</a>,
105
- <a href="rvggroup.html#new">RVG::Group</a>, <a href=
106
- "rvgpattern.html#new">RVG::Pattern</a>, and <a href=
107
- "rvg.html#new">RVG</a> classes.</p>
108
-
109
- <p>Text objects are containers, so this method yields to a
110
- block if one is present. A text object can contain <a href=
111
- "rvgtspan.html#new">RVG::Tspan</a> objects that are added
112
- directly via <a href="#tspan">tspan</a>, or indirectly via
113
- <a href="#tref">tref</a>.</p>
114
-
115
- <h4>Arguments</h4>
116
-
117
- <p>All arguments are optional. You can omit all the arguments
118
- when you just want to use the <code>text</code> object as a
119
- container for <code>tspans</code>.</p>
120
-
121
- <dl>
122
- <dt>x, y</dt>
123
-
124
- <dd>The [x, y] coordinate of the initial text position within
125
- the current user coordinate system. If omitted the default is
126
- [0, 0].</dd>
127
-
128
- <dt>text</dt>
129
-
130
- <dd>A string. If present, this string is drawn at the initial
131
- text position. If omitted, only the initial text position is
132
- established. By default the string is positioned with the
133
- lower-left corner of the first glyph at [x, y]. Use the
134
- <a href="#text_anchor">:text_anchor</a> style to override
135
- this behavior. After the string is rendered, the current text
136
- position is moved to the end of the string.</dd>
137
- </dl>
138
-
139
- <h4>Example</h4>
140
-
141
- <p><a href="javascript:popup('text01.rb.html')"><img src=
142
- "ex/text01.gif" title="Click to see the example script" alt=
143
- "text example" /></a></p>
144
- </div>
145
-
146
- <h2 class="methods">instance methods</h2>
147
-
148
- <div class='sig'>
149
- <h3 id='d'>d</h3>
150
-
151
- <p><span class="arg">text</span>.d(<span class=
152
- "arg">dx</span>[, <span class="arg">dy</span>=0]) [
153
- <span class="arg">{ |self| ...}</span> ] -&gt;
154
- <em>self</em></p>
155
- </div>
156
-
157
- <div class="desc">
158
- <h4>Description</h4>
159
-
160
- <p>The <span class="arg">dx</span> and <span class=
161
- "arg">dy</span> arguments are added to the <span class=
162
- "arg">x</span> and <span class="arg">y</span> <code>text</code>
163
- arguments to form the initial text position. Yields to a block
164
- if one is present.</p>
165
-
166
- <h4>Arguments</h4>
167
-
168
- <dl>
169
- <dt>dx, dy</dt>
170
-
171
- <dd>The distance, in the user coordinate system, to be added
172
- to the <em>x</em> and <em>y</em> coordinates of the initial
173
- text position.</dd>
174
- </dl>
175
-
176
- <h4>Returns</h4>
177
-
178
- <p>self</p>
179
- </div>
180
-
181
- <div class='sig'>
182
- <h3 id='rotate'>rotate</h3>
183
-
184
- <p><span class="arg">text</span>.rotate(<span class=
185
- "arg">degrees</span>) [ <span class="arg">{ |text| ...}</span>
186
- ] -&gt; <em>self</em></p>
187
- </div>
188
-
189
- <div class="desc">
190
- <h4>Description</h4>
191
-
192
- <p>Rotates the text about the initial text position by the
193
- specified number of <span class="arg">degrees</span>. Yields to
194
- a block if one is present.</p>
195
-
196
- <h4>Arguments</h4>
197
-
198
- <dl>
199
- <dt>degrees</dt>
200
-
201
- <dd>The amount of rotation</dd>
202
- </dl>
203
-
204
- <h4>Returns</h4>
205
-
206
- <p>self</p>
207
- </div>
208
-
209
- <div class='sig'>
210
- <h3 id='tref'>tref</h3>
211
-
212
- <p><span class="arg">text</span>.tref(<span class=
213
- "arg">tspan</span>, <span class="arg">x</span>=0, <span class=
214
- "arg">y</span>=0) -&gt; <em>self</em></p>
215
- </div>
216
-
217
- <div class="desc">
218
- <h4>Description</h4>
219
-
220
- <p>Adds the referenced <a href="rvgtspan.html#new">Tspan</a>
221
- object to the text container.</p>
222
-
223
- <h4>Arguments</h4>
224
-
225
- <dl>
226
- <dt>tspan</dt>
227
-
228
- <dd>A <code>Tspan</code> object.</dd>
229
-
230
- <dt>x, y</dt>
231
-
232
- <dd>The absolute text position</dd>
233
- </dl>
234
-
235
- <h4>Example</h4>
236
-
237
- <p><a href="javascript:popup('tref01.rb.html')"><img src=
238
- "ex/tref01.gif" title="Click to see the example script" alt=
239
- "tref example" /></a></p>
240
- </div>
241
-
242
- <div class='sig'>
243
- <h3 id='tspan'>tspan</h3>
244
-
245
- <p><span class="arg">text</span>.tspan(<span class=
246
- "arg">string</span>=nil, <span class="arg">x</span>=nil,
247
- <span class="arg">y</span>=nil) [ <span class="arg">{ |tspan|
248
- ...}</span> ] -&gt; <em>tspan</em></p>
249
- </div>
250
-
251
- <div class="desc">
252
- <h4>Description</h4>
253
-
254
- <p>Calls <a href="rvgtspan.html#new">RVG::Tspan.new</a> to
255
- construct a tspan and adds it to the enclosing RVG::Text
256
- object. Yields to a block if one is present, passing the new
257
- tspan as an argument.</p>
258
-
259
- <p><em>Although <code>tspan</code> has the same arguments as
260
- <code>RVG::Text.new</code> they are not in the same order. The
261
- <code>tspan</code> method has the <span class=
262
- "arg">string</span> argument first followed by the
263
- [<span class="arg">x</span>, <span class="arg">y</span>]
264
- arguments. The <code>RVG::Text.new</code> arguments are just
265
- the opposite.</em></p>
266
-
267
- <h4>Arguments</h4>
268
-
269
- <dl>
270
- <dt>string</dt>
271
-
272
- <dd>A text string.</dd>
273
-
274
- <dt>x, y</dt>
275
-
276
- <dd>The absolute text position</dd>
277
- </dl>
278
-
279
- <h4>Returns</h4>
280
-
281
- <p>The new tspan, so other <code>RVG::Tspan</code> methods can
282
- be chained to it.</p>
283
- </div>
284
-
285
- <h2 class="methods">text styles</h2>
286
-
287
- <div class="styles_header">
288
- <h3 id="basic">basic styles</h3>
289
- </div>
290
-
291
- <div class="desc">
292
- <h4>Description</h4>
293
-
294
- <p>The basic styles include font styles and text styles. Note
295
- that ImageMagick uses the font styles to select a font from
296
- the available fonts. If it cannot find a font that exactly
297
- matches it will use the closest matching font. Unlike MS
298
- Windows, ImageMagick will <em>not</em> alter a font - by
299
- artificially slanting it to to simulate italics, for example -
300
- to produce a match.</p>
301
-
302
- <h4>Styles</h4>
303
-
304
- <dl>
305
- <dt>:font</dt>
306
-
307
- <dd>font name or font file name, such as
308
- "C:/Windows/Fonts/Arial.ttf" or
309
- "pfb:-urw-helvetica-medium-o-condensed--0-0-0-0-p-0-iso10646-1"</dd>
310
-
311
- <dt>:font_family</dt>
312
-
313
- <dd>font family name, such as "serif" or "courier"</dd>
314
-
315
- <dt>:font_size</dt>
316
-
317
- <dd>the font size in points</dd>
318
-
319
- <dt>:font_stretch</dt>
320
-
321
- <dd>one of the following strings: 'normal',
322
- 'ultra_condensed', 'extra_condensed', 'condensed',
323
- 'semi_condensed', 'semi_expanded', 'expanded',
324
- 'extra_expanded', 'ultra_expanded'</dd>
325
-
326
- <dt>:font_style</dt>
327
-
328
- <dd>one of the following strings: 'normal', 'italic',
329
- 'oblique'</dd>
330
-
331
- <dt>:font_weight</dt>
332
-
333
- <dd>one of the following strings: 'normal', 'bold', 'bolder',
334
- 'lighter', or a multiple of 100 between 100 and 900</dd>
335
-
336
- <dt id='text_anchor'>:text_anchor</dt>
337
-
338
- <dd>one of the following strings: 'start', 'middle',
339
- 'end'</dd>
340
-
341
- <dt>:text_decoration</dt>
342
-
343
- <dd>one of the following strings: 'none', 'underline',
344
- 'overline', 'line_through'</dd>
345
- </dl>
346
-
347
- <h4>Examples</h4>
348
-
349
- <p><strong>font styles</strong><a href=
350
- "javascript:popup('font_styles.rb.html')"><img src=
351
- "ex/font_styles.gif" title="Click to see the example script"
352
- alt="font styles example" /></a><em>Depending on the fonts that
353
- ImageMagick is configured with you may not see the effect of
354
- some of the styles used in this example.</em></p>
355
-
356
- <p><strong>text styles</strong><a href=
357
- "javascript:popup('text_styles.rb.html')"><img src=
358
- "ex/text_styles.gif" title="Click to see the example script"
359
- alt="text styles example" /></a></p>
360
- </div>
361
-
362
- <div class="styles_header">
363
- <h3 id="advanced">advanced styles</h3>
364
-
365
- <div class="desc">
366
- <h4>Description</h4>
367
-
368
- <p>These styles are emulated by RVG by orienting and
369
- positioning each glyph individually. Consequently any use of
370
- a non-default value for one of these styles will probably
371
- cause your script to dramatically slow down. If you specify
372
- an invalid value for any of these styles RVG ignores the
373
- value and uses the default. RVG frequently uses approximate
374
- measurements to emulate these styles so the results will not
375
- be as precise as when ImageMagick is doing the work.</p>
376
-
377
- <h4>Styles</h4>
378
-
379
- <dl>
380
- <dt>:writing_mode</dt>
381
-
382
- <dd>There are two possible values for :writing_mode, 'lr'
383
- for left-to-right (most Latin-based documents) and 'tb' for
384
- top-to-bottom (or vertical) text such as for column labels.
385
- The default is 'lr'.</dd>
386
-
387
- <dt>:baseline_shift</dt>
388
-
389
- <dd>Adjusts the baseline. There are five possible values:
390
- 'baseline' (the default), 'super', 'sub', a percentage
391
- specified as 'NN%', or a number. For the last two choices,
392
- positive numbers move the baseline upward. The percentage
393
- is a percentage of the line height.</dd>
394
-
395
- <dt>:letter_spacing</dt>
396
-
397
- <dd>Specifies an amount of space to be added between each
398
- letter. The default is 0.</dd>
399
-
400
- <dt>:word_spacing</dt>
401
-
402
- <dd>Specifies an amount of space to be added between each
403
- word. This amount is added for each blank between words, so
404
- if the words are separated by two blanks, for example, then
405
- twice the additional space is added. The default is 0.</dd>
406
-
407
- <dd>RVG uses this statement to separate words:
408
- <strong>words =
409
- text.split(::Magick::RVG::WORD_SEP)</strong> You can change
410
- the regular expression that RVG uses to determine word
411
- breaks by assigning a new regular expression to the
412
- <code>::Magick::RVG::WORD_SEP</code> constant. By default
413
- the value of <code>::Magick::RVG::WORD_SEP</code> is
414
- <code>/ /</code>.</dd>
415
-
416
- <dt>:glyph_orientation_vertical</dt>
417
-
418
- <dd>Applies only when :writing_mode='tb'. This style can
419
- have one of four values: 0, 90, 180, 270. The default is
420
- 90. This style specifies a rotation on each glyph. With the
421
- default value, each glyph is rotated 90 degrees. When
422
- :glyph_orientation_vertical=0 each glyph appears in its
423
- "normal" (upright) orientation.</dd>
424
-
425
- <dt>:glyph_orientation_horizontal</dt>
426
-
427
- <dd>Applies only when :writing_mode='lr'. This style can
428
- have one of four values: 0, 90, 180, 270. The default is 0.
429
- This style specifies a rotation on each glyph. With the
430
- default value, each glyph appears in its "normal" (upright)
431
- orientation.</dd>
432
- </dl>
433
-
434
- <h4>Examples</h4>
435
-
436
- <p><strong>:writing_mode='tb'</strong><a href=
437
- "javascript:popup('writing_mode01.rb.html')"><img src=
438
- "ex/writing_mode01.gif" title=
439
- "Click to see the example script" alt=
440
- "writing mode 'tb' style example" /></a></p>
441
-
442
- <p><strong>:writing_mode='lr'</strong><a href=
443
- "javascript:popup('writing_mode02.rb.html')"><img src=
444
- "ex/writing_mode02.gif" title=
445
- "Click to see the example script" alt=
446
- "writing mode 'lr' style example" /></a></p>
447
-
448
- <p><strong>:baseline_shift=&gt;'sub'<br />
449
- :baseline_shift=&gt;'super'</strong><a href=
450
- "javascript:popup('baseline_shift01.rb.html')"><img src=
451
- "ex/baseline_shift01.gif" title=
452
- "Click to see the example script" alt=
453
- "baseline shift style example" /></a></p>
454
- </div>
455
- </div>
456
-
457
- <p class="spacer">&nbsp;</p>
458
-
459
- <div class="nav">
460
- &laquo; <a href="rvgclip.html">Prev</a> | <a href=
461
- "index.html">Contents</a> | <a href="rvgtspan.html">Next</a>
462
- &raquo;
463
- </div>
464
- </body>
465
- </html>