Class: WizRtf::Text

Inherits:
Object
  • Object
show all
Defined in:
lib/wiz_rtf/text.rb

Constant Summary collapse

TEXT_ALIGN_MAP =
{left:'ql',center:'qc',right:'qr'}

Instance Method Summary collapse

Constructor Details

#initialize(str = '', styles = {}) ⇒ Text



11
12
13
14
# File 'lib/wiz_rtf/text.rb', line 11

def initialize(str = '', styles = {})
  @str = str
  @styles = {'text-align' => :left, 'font-family' => 0, 'font-size' => 24, 'font-bold' => false, 'font-italic' => false, 'font-underline' => false, 'foreground-color' => 0, 'background-color' => 0 }.merge(styles)
end

Instance Method Details

#render(io) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/wiz_rtf/text.rb', line 16

def render(io)
  io.group do
    io.cmd :pard
    io.cmd TEXT_ALIGN_MAP[@styles['text-align']]
    io.cmd :f, @styles['font-family']
    io.cmd :fs, @styles['font-size']
    io.cmd @styles['font-bold'] ? 'b' : 'b0'
    io.cmd @styles['font-italic'] ? 'i' : 'i0'
    io.cmd @styles['font-underline'] ? 'ul' : 'ulnone'
    io.cmd :cf, @styles['foreground-color']
    io.cmd :cb, @styles['background-color']
    io.cmd :chcfpat, @styles['foreground-color']
    io.cmd :chcbpat, @styles['background-color']
    io.txt @str
    io.cmd :par
  end
end