Class: Magick::RVG::Utility::TextAttributes

Inherits:
Object
  • Object
show all
Defined in:
lib/rvg/misc.rb

Constant Summary collapse

WRITING_MODE =
%w{lr-tb lr rl-tb rl tb-rl tb}

Instance Method Summary collapse

Constructor Details

#initializeTextAttributes

Returns a new instance of TextAttributes.



326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
# File 'lib/rvg/misc.rb', line 326

def initialize
  @affine = []
  @affine << Magick::AffineMatrix.new(1, 0, 0, 1, 0, 0)
  @baseline_shift = []
  @baseline_shift << :baseline
  @glyph_orientation_horizontal = []
  @glyph_orientation_horizontal << 0
  @glyph_orientation_vertical = []
  @glyph_orientation_vertical << 90
  @letter_spacing = []
  @letter_spacing << 0
  @text_anchor = []
  @text_anchor << :start
  @word_spacing = []
  @word_spacing << 0
  @writing_mode = []
  @writing_mode << 'lr-tb'
end

Instance Method Details

#affineObject



376
377
378
# File 'lib/rvg/misc.rb', line 376

def affine
  @affine[-1]
end

#baseline_shiftObject



380
381
382
# File 'lib/rvg/misc.rb', line 380

def baseline_shift
  @baseline_shift[-1]
end

#baseline_shift=(value) ⇒ Object



384
385
386
# File 'lib/rvg/misc.rb', line 384

def baseline_shift=(value)
  @baseline_shift[-1] = value
end

#glyph_orientation_horizontalObject



404
405
406
# File 'lib/rvg/misc.rb', line 404

def glyph_orientation_horizontal
  @glyph_orientation_horizontal[-1]
end

#glyph_orientation_horizontal=(angle) ⇒ Object



408
409
410
# File 'lib/rvg/misc.rb', line 408

def glyph_orientation_horizontal=(angle)
  @glyph_orientation_horizontal[-1] = angle
end

#glyph_orientation_verticalObject



396
397
398
# File 'lib/rvg/misc.rb', line 396

def glyph_orientation_vertical
  @glyph_orientation_vertical[-1]
end

#glyph_orientation_vertical=(angle) ⇒ Object



400
401
402
# File 'lib/rvg/misc.rb', line 400

def glyph_orientation_vertical=(angle)
  @glyph_orientation_vertical[-1] = angle
end

#letter_spacingObject



412
413
414
# File 'lib/rvg/misc.rb', line 412

def letter_spacing
  @letter_spacing[-1]
end

#letter_spacing=(value) ⇒ Object



416
417
418
# File 'lib/rvg/misc.rb', line 416

def letter_spacing=(value)
  @letter_spacing[-1] = value
end

#non_default?Boolean

Returns:

  • (Boolean)


420
421
422
423
424
# File 'lib/rvg/misc.rb', line 420

def non_default?
  @baseline_shift[-1] != :baseline || @letter_spacing[-1] != 0 ||
  @word_spacing[-1] != 0 || @writing_mode[-1][/\Alr/].nil? ||
  @glyph_orientation_horizontal[-1] != 0
end

#popObject



356
357
358
359
360
361
362
363
364
365
# File 'lib/rvg/misc.rb', line 356

def pop
  @affine.pop
  @baseline_shift.pop
  @text_anchor.pop
  @writing_mode.pop
  @glyph_orientation_vertical.pop
  @glyph_orientation_horizontal.pop
  @letter_spacing.pop
  @word_spacing.pop
end

#pushObject



345
346
347
348
349
350
351
352
353
354
# File 'lib/rvg/misc.rb', line 345

def push
  @affine.push(@affine.last.dup)
  @baseline_shift.push(@baseline_shift.last)
  @text_anchor.push(@text_anchor.last)
  @writing_mode.push(@writing_mode.last.dup)
  @glyph_orientation_vertical.push(@glyph_orientation_vertical.last)
  @glyph_orientation_horizontal.push(@glyph_orientation_horizontal.last)
  @letter_spacing.push(@letter_spacing.last)
  @word_spacing.push(@word_spacing.last)
end

#set_affine(sx, rx, ry, sy, tx, ty) ⇒ Object



367
368
369
370
371
372
373
374
# File 'lib/rvg/misc.rb', line 367

def set_affine(sx, rx, ry, sy, tx, ty)
  @affine[-1].sx = sx
  @affine[-1].rx = rx
  @affine[-1].ry = ry
  @affine[-1].sy = sy
  @affine[-1].tx = tx
  @affine[-1].ty = ty
end

#text_anchorObject



388
389
390
# File 'lib/rvg/misc.rb', line 388

def text_anchor
  @text_anchor[-1]
end

#text_anchor=(anchor) ⇒ Object



392
393
394
# File 'lib/rvg/misc.rb', line 392

def text_anchor=(anchor)
  @text_anchor[-1] = anchor
end

#word_spacingObject



426
427
428
# File 'lib/rvg/misc.rb', line 426

def word_spacing
  @word_spacing[-1]
end

#word_spacing=(value) ⇒ Object



430
431
432
# File 'lib/rvg/misc.rb', line 430

def word_spacing=(value)
  @word_spacing[-1] = value
end

#writing_modeObject



434
435
436
# File 'lib/rvg/misc.rb', line 434

def writing_mode
  @writing_mode[-1]
end

#writing_mode=(mode) ⇒ Object



438
439
440
# File 'lib/rvg/misc.rb', line 438

def writing_mode=(mode)
  @writing_mode[-1] = WRITING_MODE.include?(mode) ? mode : 'lr-tb'
end