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.



353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
# File 'lib/rvg/misc.rb', line 353

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

Instance Method Details

#affineObject



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

def affine()
    @affine[-1]
end

#baseline_shiftObject



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

def baseline_shift()
    @baseline_shift[-1]
end

#baseline_shift=(value) ⇒ Object



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

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

#glyph_orientation_horizontalObject



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

def glyph_orientation_horizontal()
    @glyph_orientation_horizontal[-1]
end

#glyph_orientation_horizontal=(angle) ⇒ Object



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

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

#glyph_orientation_verticalObject



423
424
425
# File 'lib/rvg/misc.rb', line 423

def glyph_orientation_vertical()
    @glyph_orientation_vertical[-1]
end

#glyph_orientation_vertical=(angle) ⇒ Object



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

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

#letter_spacingObject



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

def letter_spacing()
    @letter_spacing[-1]
end

#letter_spacing=(value) ⇒ Object



443
444
445
# File 'lib/rvg/misc.rb', line 443

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

#non_default?Boolean

Returns:

  • (Boolean)


447
448
449
450
451
# File 'lib/rvg/misc.rb', line 447

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



383
384
385
386
387
388
389
390
391
392
# File 'lib/rvg/misc.rb', line 383

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



372
373
374
375
376
377
378
379
380
381
# File 'lib/rvg/misc.rb', line 372

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



394
395
396
397
398
399
400
401
# File 'lib/rvg/misc.rb', line 394

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



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

def text_anchor()
    @text_anchor[-1]
end

#text_anchor=(anchor) ⇒ Object



419
420
421
# File 'lib/rvg/misc.rb', line 419

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

#word_spacingObject



453
454
455
# File 'lib/rvg/misc.rb', line 453

def word_spacing()
    @word_spacing[-1]
end

#word_spacing=(value) ⇒ Object



457
458
459
# File 'lib/rvg/misc.rb', line 457

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

#writing_modeObject



461
462
463
# File 'lib/rvg/misc.rb', line 461

def writing_mode()
    @writing_mode[-1]
end

#writing_mode=(mode) ⇒ Object



465
466
467
# File 'lib/rvg/misc.rb', line 465

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