Class: WizRtf::RtfIO

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

Instance Method Summary collapse

Constructor Details

#initialize(io = nil) ⇒ RtfIO

Returns a new instance of RtfIO.



9
10
11
# File 'lib/wiz_rtf/rtf_io.rb', line 9

def initialize(io = nil)
  @io = io || StringIO.new
end

Instance Method Details

#cmd(name, value = nil) ⇒ Object



17
18
19
20
21
# File 'lib/wiz_rtf/rtf_io.rb', line 17

def cmd(name, value = nil)
  @io.write '\\'
  @io.write name
  @io.write value if value
end

#delimitObject



37
38
39
40
# File 'lib/wiz_rtf/rtf_io.rb', line 37

def delimit
  yield if block_given?
  @io.write ';'
end

#groupObject



31
32
33
34
35
# File 'lib/wiz_rtf/rtf_io.rb', line 31

def group
  @io.write '{'
  yield if block_given?
  @io.write '}'
end

#txt(str) ⇒ Object



23
24
25
26
27
28
29
# File 'lib/wiz_rtf/rtf_io.rb', line 23

def txt(str)
  str = str.to_s
  str = str.gsub("{", "\\{").gsub("}", "\\}").gsub("\\", "\\\\")
  str = str.encode("UTF-16LE", :undef=>:replace).each_codepoint.map {|n| n < 128 ? n.chr : "\\u#{n}\\'3f"}.join('')
  @io.write ' '
  @io.write str
end

#write(txt) ⇒ Object



13
14
15
# File 'lib/wiz_rtf/rtf_io.rb', line 13

def write(txt)
  @io.write txt
end