rmagick 4.1.0.rc2 → 4.1.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 (412) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +63 -0
  3. data/.editorconfig +3 -0
  4. data/.github/workflows/ci.yml +148 -0
  5. data/.gitignore +3 -1
  6. data/.rspec +1 -0
  7. data/.rubocop.yml +24 -0
  8. data/.rubocop_todo.yml +80 -270
  9. data/.yardopts +5 -0
  10. data/CHANGELOG.md +63 -0
  11. data/CONTRIBUTING.md +14 -10
  12. data/README.md +292 -0
  13. data/Rakefile +16 -22
  14. data/before_install_linux.sh +22 -32
  15. data/before_install_osx.sh +56 -2
  16. data/ext/RMagick/extconf.rb +100 -94
  17. data/ext/RMagick/rmagick.c +77 -104
  18. data/ext/RMagick/rmagick.h +74 -70
  19. data/ext/RMagick/rmdraw.c +261 -444
  20. data/ext/RMagick/rmenum.c +96 -113
  21. data/ext/RMagick/rmfill.c +46 -77
  22. data/ext/RMagick/rmilist.c +136 -244
  23. data/ext/RMagick/rmimage.c +3395 -4166
  24. data/ext/RMagick/rminfo.c +531 -737
  25. data/ext/RMagick/rmkinfo.c +21 -87
  26. data/ext/RMagick/rmmain.c +405 -245
  27. data/ext/RMagick/rmmontage.c +60 -126
  28. data/ext/RMagick/rmpixel.c +401 -345
  29. data/ext/RMagick/rmstruct.c +62 -88
  30. data/ext/RMagick/rmutil.c +112 -218
  31. data/lib/rmagick/version.rb +1 -1
  32. data/lib/rmagick_internal.rb +128 -77
  33. data/lib/rvg/clippath.rb +2 -1
  34. data/lib/rvg/container.rb +10 -5
  35. data/lib/rvg/describable.rb +1 -1
  36. data/lib/rvg/embellishable.rb +5 -4
  37. data/lib/rvg/misc.rb +15 -12
  38. data/lib/rvg/paint.rb +2 -1
  39. data/lib/rvg/pathdata.rb +12 -11
  40. data/lib/rvg/rvg.rb +8 -4
  41. data/lib/rvg/stylable.rb +9 -7
  42. data/lib/rvg/text.rb +11 -6
  43. data/lib/rvg/transformable.rb +3 -2
  44. data/lib/rvg/units.rb +1 -1
  45. data/rmagick.gemspec +7 -6
  46. metadata +31 -421
  47. data/.appveyor.yml +0 -57
  48. data/.circleci/config.yml +0 -56
  49. data/.ruby-version +0 -1
  50. data/.simplecov +0 -27
  51. data/.travis.yml +0 -64
  52. data/Doxyfile +0 -1514
  53. data/README.textile +0 -259
  54. data/benchmarks/memory/README.md +0 -50
  55. data/benchmarks/memory/image_new.rb +0 -8
  56. data/benchmarks/memory/rmagick.gnuplot +0 -16
  57. data/doc/.cvsignore +0 -1
  58. data/doc/comtasks.html +0 -287
  59. data/doc/constants.html +0 -1581
  60. data/doc/css/doc.css +0 -299
  61. data/doc/css/popup.css +0 -34
  62. data/doc/css/ref.css +0 -67
  63. data/doc/draw.html +0 -3272
  64. data/doc/ex/InitialCoords.rb +0 -22
  65. data/doc/ex/NewCoordSys.rb +0 -30
  66. data/doc/ex/OrigCoordSys.rb +0 -16
  67. data/doc/ex/PreserveAspectRatio.rb +0 -204
  68. data/doc/ex/RotateScale.rb +0 -36
  69. data/doc/ex/Skew.rb +0 -38
  70. data/doc/ex/Use01.rb +0 -15
  71. data/doc/ex/Use02.rb +0 -20
  72. data/doc/ex/Use03.rb +0 -16
  73. data/doc/ex/ViewBox.rb +0 -31
  74. data/doc/ex/adaptive_threshold.rb +0 -9
  75. data/doc/ex/add_noise.rb +0 -16
  76. data/doc/ex/affine.rb +0 -48
  77. data/doc/ex/affine_transform.rb +0 -20
  78. data/doc/ex/arc.rb +0 -49
  79. data/doc/ex/arcpath.rb +0 -32
  80. data/doc/ex/arcs01.rb +0 -28
  81. data/doc/ex/arcs02.rb +0 -59
  82. data/doc/ex/average.rb +0 -15
  83. data/doc/ex/axes.rb +0 -64
  84. data/doc/ex/baseline_shift01.rb +0 -17
  85. data/doc/ex/bilevel_channel.rb +0 -8
  86. data/doc/ex/blur_image.rb +0 -12
  87. data/doc/ex/border.rb +0 -10
  88. data/doc/ex/bounding_box.rb +0 -42
  89. data/doc/ex/cbezier1.rb +0 -41
  90. data/doc/ex/cbezier2.rb +0 -41
  91. data/doc/ex/cbezier3.rb +0 -41
  92. data/doc/ex/cbezier4.rb +0 -42
  93. data/doc/ex/cbezier5.rb +0 -42
  94. data/doc/ex/cbezier6.rb +0 -53
  95. data/doc/ex/channel.rb +0 -25
  96. data/doc/ex/charcoal.rb +0 -12
  97. data/doc/ex/chop.rb +0 -29
  98. data/doc/ex/circle.rb +0 -33
  99. data/doc/ex/circle01.rb +0 -16
  100. data/doc/ex/clip_path.rb +0 -60
  101. data/doc/ex/coalesce.rb +0 -57
  102. data/doc/ex/color_fill_to_border.rb +0 -29
  103. data/doc/ex/color_floodfill.rb +0 -28
  104. data/doc/ex/color_histogram.rb +0 -47
  105. data/doc/ex/color_reset.rb +0 -11
  106. data/doc/ex/colorize.rb +0 -16
  107. data/doc/ex/colors.rb +0 -64
  108. data/doc/ex/compose_mask.rb +0 -22
  109. data/doc/ex/composite.rb +0 -133
  110. data/doc/ex/composite_layers.rb +0 -52
  111. data/doc/ex/composite_tiled.rb +0 -21
  112. data/doc/ex/contrast.rb +0 -36
  113. data/doc/ex/crop.rb +0 -31
  114. data/doc/ex/crop_with_gravity.rb +0 -42
  115. data/doc/ex/cubic01.rb +0 -43
  116. data/doc/ex/cubic02.rb +0 -91
  117. data/doc/ex/cycle_colormap.rb +0 -21
  118. data/doc/ex/dissolve.rb +0 -12
  119. data/doc/ex/drawcomp.rb +0 -41
  120. data/doc/ex/drop_shadow.rb +0 -60
  121. data/doc/ex/edge.rb +0 -11
  122. data/doc/ex/ellipse.rb +0 -45
  123. data/doc/ex/ellipse01.rb +0 -21
  124. data/doc/ex/emboss.rb +0 -11
  125. data/doc/ex/enhance.rb +0 -28
  126. data/doc/ex/equalize.rb +0 -11
  127. data/doc/ex/evenodd.rb +0 -42
  128. data/doc/ex/fill_pattern.rb +0 -23
  129. data/doc/ex/flatten_images.rb +0 -36
  130. data/doc/ex/flip.rb +0 -11
  131. data/doc/ex/flop.rb +0 -11
  132. data/doc/ex/font_styles.rb +0 -32
  133. data/doc/ex/fonts.rb +0 -16
  134. data/doc/ex/frame.rb +0 -12
  135. data/doc/ex/gaussian_blur.rb +0 -11
  136. data/doc/ex/get_multiline_type_metrics.rb +0 -41
  137. data/doc/ex/get_pixels.rb +0 -45
  138. data/doc/ex/get_type_metrics.rb +0 -142
  139. data/doc/ex/gradientfill.rb +0 -27
  140. data/doc/ex/grav.rb +0 -45
  141. data/doc/ex/gravity.rb +0 -78
  142. data/doc/ex/group.rb +0 -26
  143. data/doc/ex/hatchfill.rb +0 -27
  144. data/doc/ex/image.rb +0 -44
  145. data/doc/ex/images/Apple.miff +0 -0
  146. data/doc/ex/images/Ballerina.jpg +0 -0
  147. data/doc/ex/images/Ballerina3.jpg +0 -0
  148. data/doc/ex/images/Button_0.gif +0 -0
  149. data/doc/ex/images/Button_1.gif +0 -0
  150. data/doc/ex/images/Button_2.gif +0 -0
  151. data/doc/ex/images/Button_3.gif +0 -0
  152. data/doc/ex/images/Button_4.gif +0 -0
  153. data/doc/ex/images/Button_5.gif +0 -0
  154. data/doc/ex/images/Button_6.gif +0 -0
  155. data/doc/ex/images/Button_7.gif +0 -0
  156. data/doc/ex/images/Button_8.gif +0 -0
  157. data/doc/ex/images/Button_9.gif +0 -0
  158. data/doc/ex/images/Button_A.gif +0 -0
  159. data/doc/ex/images/Button_B.gif +0 -0
  160. data/doc/ex/images/Button_C.gif +0 -0
  161. data/doc/ex/images/Button_D.gif +0 -0
  162. data/doc/ex/images/Button_E.gif +0 -0
  163. data/doc/ex/images/Button_F.gif +0 -0
  164. data/doc/ex/images/Button_G.gif +0 -0
  165. data/doc/ex/images/Button_H.gif +0 -0
  166. data/doc/ex/images/Button_I.gif +0 -0
  167. data/doc/ex/images/Button_J.gif +0 -0
  168. data/doc/ex/images/Button_K.gif +0 -0
  169. data/doc/ex/images/Button_L.gif +0 -0
  170. data/doc/ex/images/Button_M.gif +0 -0
  171. data/doc/ex/images/Button_N.gif +0 -0
  172. data/doc/ex/images/Button_O.gif +0 -0
  173. data/doc/ex/images/Button_P.gif +0 -0
  174. data/doc/ex/images/Button_Q.gif +0 -0
  175. data/doc/ex/images/Button_R.gif +0 -0
  176. data/doc/ex/images/Button_S.gif +0 -0
  177. data/doc/ex/images/Button_T.gif +0 -0
  178. data/doc/ex/images/Button_U.gif +0 -0
  179. data/doc/ex/images/Button_V.gif +0 -0
  180. data/doc/ex/images/Button_W.gif +0 -0
  181. data/doc/ex/images/Button_X.gif +0 -0
  182. data/doc/ex/images/Button_Y.gif +0 -0
  183. data/doc/ex/images/Button_Z.gif +0 -0
  184. data/doc/ex/images/Cheetah.jpg +0 -0
  185. data/doc/ex/images/Coffee.png +0 -0
  186. data/doc/ex/images/Flower_Hat.jpg +0 -0
  187. data/doc/ex/images/Gold_Statue.jpg +0 -0
  188. data/doc/ex/images/Hot_Air_Balloons.jpg +0 -0
  189. data/doc/ex/images/Hot_Air_Balloons_H.jpg +0 -0
  190. data/doc/ex/images/Leaf.miff +0 -0
  191. data/doc/ex/images/No.png +0 -0
  192. data/doc/ex/images/Polynesia.jpg +0 -0
  193. data/doc/ex/images/Red_Rocks.jpg +0 -0
  194. data/doc/ex/images/Rocks_On_Beach.miff +0 -0
  195. data/doc/ex/images/Shorts.jpg +0 -0
  196. data/doc/ex/images/Snake.png +0 -0
  197. data/doc/ex/images/Violin.jpg +0 -0
  198. data/doc/ex/images/Yellow_Rose.miff +0 -0
  199. data/doc/ex/images/big-duck.gif +0 -0
  200. data/doc/ex/images/duck.gif +0 -0
  201. data/doc/ex/images/duck0.gif +0 -0
  202. data/doc/ex/images/duck1.gif +0 -0
  203. data/doc/ex/images/duck10.gif +0 -0
  204. data/doc/ex/images/duck11.gif +0 -0
  205. data/doc/ex/images/duck12.gif +0 -0
  206. data/doc/ex/images/duck13.gif +0 -0
  207. data/doc/ex/images/duck14.gif +0 -0
  208. data/doc/ex/images/duck15.gif +0 -0
  209. data/doc/ex/images/duck2.gif +0 -0
  210. data/doc/ex/images/duck3.gif +0 -0
  211. data/doc/ex/images/duck4.gif +0 -0
  212. data/doc/ex/images/duck5.gif +0 -0
  213. data/doc/ex/images/duck6.gif +0 -0
  214. data/doc/ex/images/duck7.gif +0 -0
  215. data/doc/ex/images/duck8.gif +0 -0
  216. data/doc/ex/images/duck9.gif +0 -0
  217. data/doc/ex/images/graydient230x6.gif +0 -0
  218. data/doc/ex/images/image_with_profile.jpg +0 -0
  219. data/doc/ex/images/logo400x83.gif +0 -0
  220. data/doc/ex/images/model.miff +0 -0
  221. data/doc/ex/images/notimplemented.gif +0 -0
  222. data/doc/ex/images/smile.miff +0 -0
  223. data/doc/ex/images/spin.gif +0 -0
  224. data/doc/ex/implode.rb +0 -34
  225. data/doc/ex/level.rb +0 -11
  226. data/doc/ex/level_colors.rb +0 -11
  227. data/doc/ex/line.rb +0 -41
  228. data/doc/ex/line01.rb +0 -21
  229. data/doc/ex/mask.rb +0 -35
  230. data/doc/ex/matte_fill_to_border.rb +0 -39
  231. data/doc/ex/matte_floodfill.rb +0 -32
  232. data/doc/ex/matte_replace.rb +0 -39
  233. data/doc/ex/median_filter.rb +0 -28
  234. data/doc/ex/modulate.rb +0 -11
  235. data/doc/ex/mono.rb +0 -23
  236. data/doc/ex/morph.rb +0 -25
  237. data/doc/ex/mosaic.rb +0 -37
  238. data/doc/ex/motion_blur.rb +0 -11
  239. data/doc/ex/negate.rb +0 -11
  240. data/doc/ex/negate_channel.rb +0 -9
  241. data/doc/ex/nested_rvg.rb +0 -21
  242. data/doc/ex/nonzero.rb +0 -42
  243. data/doc/ex/normalize.rb +0 -11
  244. data/doc/ex/oil_paint.rb +0 -11
  245. data/doc/ex/opacity.rb +0 -37
  246. data/doc/ex/ordered_dither.rb +0 -11
  247. data/doc/ex/path.rb +0 -63
  248. data/doc/ex/pattern1.rb +0 -25
  249. data/doc/ex/pattern2.rb +0 -26
  250. data/doc/ex/polaroid.rb +0 -26
  251. data/doc/ex/polygon.rb +0 -23
  252. data/doc/ex/polygon01.rb +0 -21
  253. data/doc/ex/polyline.rb +0 -22
  254. data/doc/ex/polyline01.rb +0 -21
  255. data/doc/ex/posterize.rb +0 -8
  256. data/doc/ex/preview.rb +0 -8
  257. data/doc/ex/qbezierpath.rb +0 -52
  258. data/doc/ex/quad01.rb +0 -34
  259. data/doc/ex/quantize-m.rb +0 -25
  260. data/doc/ex/radial_blur.rb +0 -9
  261. data/doc/ex/raise.rb +0 -8
  262. data/doc/ex/random_threshold_channel.rb +0 -13
  263. data/doc/ex/rect01.rb +0 -14
  264. data/doc/ex/rect02.rb +0 -20
  265. data/doc/ex/rectangle.rb +0 -34
  266. data/doc/ex/reduce_noise.rb +0 -28
  267. data/doc/ex/remap.rb +0 -11
  268. data/doc/ex/remap_images.rb +0 -19
  269. data/doc/ex/resize_to_fill.rb +0 -8
  270. data/doc/ex/resize_to_fit.rb +0 -8
  271. data/doc/ex/roll.rb +0 -9
  272. data/doc/ex/rotate.rb +0 -44
  273. data/doc/ex/rotate_f.rb +0 -14
  274. data/doc/ex/roundrect.rb +0 -33
  275. data/doc/ex/rubyname.rb +0 -30
  276. data/doc/ex/rvg_clippath.rb +0 -12
  277. data/doc/ex/rvg_linecap.rb +0 -42
  278. data/doc/ex/rvg_linejoin.rb +0 -40
  279. data/doc/ex/rvg_opacity.rb +0 -18
  280. data/doc/ex/rvg_pattern.rb +0 -26
  281. data/doc/ex/rvg_stroke_dasharray.rb +0 -11
  282. data/doc/ex/segment.rb +0 -11
  283. data/doc/ex/sepiatone.rb +0 -7
  284. data/doc/ex/shade.rb +0 -11
  285. data/doc/ex/shadow.rb +0 -30
  286. data/doc/ex/shave.rb +0 -15
  287. data/doc/ex/shear.rb +0 -10
  288. data/doc/ex/sketch.rb +0 -17
  289. data/doc/ex/skewx.rb +0 -51
  290. data/doc/ex/skewy.rb +0 -47
  291. data/doc/ex/smile.rb +0 -126
  292. data/doc/ex/solarize.rb +0 -11
  293. data/doc/ex/sparse_color.rb +0 -55
  294. data/doc/ex/splice.rb +0 -8
  295. data/doc/ex/spread.rb +0 -11
  296. data/doc/ex/stegano.rb +0 -54
  297. data/doc/ex/stroke_dasharray.rb +0 -42
  298. data/doc/ex/stroke_fill.rb +0 -10
  299. data/doc/ex/stroke_linecap.rb +0 -44
  300. data/doc/ex/stroke_linejoin.rb +0 -48
  301. data/doc/ex/stroke_width.rb +0 -49
  302. data/doc/ex/swirl.rb +0 -17
  303. data/doc/ex/text.rb +0 -37
  304. data/doc/ex/text01.rb +0 -16
  305. data/doc/ex/text_align.rb +0 -36
  306. data/doc/ex/text_antialias.rb +0 -37
  307. data/doc/ex/text_styles.rb +0 -19
  308. data/doc/ex/text_undercolor.rb +0 -28
  309. data/doc/ex/texture_fill_to_border.rb +0 -34
  310. data/doc/ex/texture_floodfill.rb +0 -32
  311. data/doc/ex/texturefill.rb +0 -24
  312. data/doc/ex/threshold.rb +0 -13
  313. data/doc/ex/to_blob.rb +0 -13
  314. data/doc/ex/translate.rb +0 -39
  315. data/doc/ex/transparent.rb +0 -38
  316. data/doc/ex/transpose.rb +0 -9
  317. data/doc/ex/transverse.rb +0 -9
  318. data/doc/ex/tref01.rb +0 -24
  319. data/doc/ex/triangle01.rb +0 -15
  320. data/doc/ex/trim.rb +0 -23
  321. data/doc/ex/tspan01.rb +0 -17
  322. data/doc/ex/tspan02.rb +0 -17
  323. data/doc/ex/tspan03.rb +0 -19
  324. data/doc/ex/unsharp_mask.rb +0 -28
  325. data/doc/ex/viewex.rb +0 -33
  326. data/doc/ex/vignette.rb +0 -12
  327. data/doc/ex/watermark.rb +0 -27
  328. data/doc/ex/wave.rb +0 -9
  329. data/doc/ex/wet_floor.rb +0 -58
  330. data/doc/ex/writing_mode01.rb +0 -26
  331. data/doc/ex/writing_mode02.rb +0 -26
  332. data/doc/ilist.html +0 -2056
  333. data/doc/image1.html +0 -4680
  334. data/doc/image2.html +0 -3665
  335. data/doc/image3.html +0 -4522
  336. data/doc/imageattrs.html +0 -1638
  337. data/doc/imusage.html +0 -514
  338. data/doc/index.html +0 -416
  339. data/doc/info.html +0 -1499
  340. data/doc/magick.html +0 -570
  341. data/doc/optequiv.html +0 -2435
  342. data/doc/rvg.html +0 -975
  343. data/doc/rvgclip.html +0 -248
  344. data/doc/rvggroup.html +0 -305
  345. data/doc/rvgimage.html +0 -289
  346. data/doc/rvgpattern.html +0 -475
  347. data/doc/rvgshape.html +0 -406
  348. data/doc/rvgstyle.html +0 -270
  349. data/doc/rvgtext.html +0 -465
  350. data/doc/rvgtspan.html +0 -238
  351. data/doc/rvgtut.html +0 -530
  352. data/doc/rvguse.html +0 -145
  353. data/doc/rvgxform.html +0 -294
  354. data/doc/scripts/doc.js +0 -22
  355. data/doc/scripts/stripeTables.js +0 -23
  356. data/doc/struct.html +0 -1339
  357. data/doc/usage.html +0 -1621
  358. data/examples/constitute.rb +0 -7
  359. data/examples/crop_with_gravity.rb +0 -43
  360. data/examples/demo.rb +0 -323
  361. data/examples/describe.rb +0 -41
  362. data/examples/find_similar_region.rb +0 -34
  363. data/examples/histogram.rb +0 -312
  364. data/examples/identify.rb +0 -174
  365. data/examples/image_opacity.rb +0 -28
  366. data/examples/import_export.rb +0 -31
  367. data/examples/pattern_fill.rb +0 -37
  368. data/examples/rotating_text.rb +0 -45
  369. data/examples/spinner.rb +0 -49
  370. data/examples/thumbnail.rb +0 -64
  371. data/examples/vignette.rb +0 -78
  372. data/spec/rmagick/ImageList1_spec.rb +0 -24
  373. data/spec/rmagick/draw_spec.rb +0 -155
  374. data/spec/rmagick/image/blue_shift_spec.rb +0 -14
  375. data/spec/rmagick/image/channel_entropy_spec.rb +0 -9
  376. data/spec/rmagick/image/composite_spec.rb +0 -72
  377. data/spec/rmagick/image/constitute_spec.rb +0 -13
  378. data/spec/rmagick/image/dispatch_spec.rb +0 -16
  379. data/spec/rmagick/image/dissolve_spec.rb +0 -54
  380. data/spec/rmagick/image/from_blob_spec.rb +0 -12
  381. data/spec/rmagick/image/ping_spec.rb +0 -12
  382. data/spec/rmagick/image/properties_spec.rb +0 -27
  383. data/spec/rmagick/image/read_spec.rb +0 -28
  384. data/spec/spec_helper.rb +0 -9
  385. data/spec/support/issue_200/app.rb +0 -8
  386. data/test/Draw.rb +0 -351
  387. data/test/Enum.rb +0 -228
  388. data/test/Fill.rb +0 -93
  389. data/test/Image1.rb +0 -606
  390. data/test/Image2.rb +0 -1408
  391. data/test/Image3.rb +0 -1086
  392. data/test/ImageList1.rb +0 -858
  393. data/test/ImageList2.rb +0 -375
  394. data/test/Image_attributes.rb +0 -635
  395. data/test/Import_Export.rb +0 -111
  396. data/test/Info.rb +0 -436
  397. data/test/KernelInfo.rb +0 -59
  398. data/test/Magick.rb +0 -311
  399. data/test/Pixel.rb +0 -259
  400. data/test/PolaroidOptions.rb +0 -23
  401. data/test/Preview.rb +0 -26
  402. data/test/Struct.rb +0 -45
  403. data/test/appearance/Montage.rb +0 -26
  404. data/test/appearance/appearance_assertion.rb +0 -13
  405. data/test/appearance/expected/montage_border_color.jpg +0 -0
  406. data/test/cmyk.icm +0 -0
  407. data/test/lib/internal/Draw.rb +0 -811
  408. data/test/lib/internal/Geometry.rb +0 -98
  409. data/test/lib/internal/Magick.rb +0 -40
  410. data/test/srgb.icm +0 -0
  411. data/test/test_all_basic.rb +0 -49
  412. data/test/tmpnam_test.rb +0 -50
@@ -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>