Class: PDF::Reader::CMap

Inherits:
Object
  • Object
show all
Defined in:
lib/pdf/reader/cmap.rb

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ CMap

Returns a new instance of CMap.



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/pdf/reader/cmap.rb', line 29

def initialize(data)
  @map = {}
  in_char_mode = false
  in_range_mode = false

  data.each_line do |l|
    if l.include?("beginbfchar")
      in_char_mode = true 
    elsif l.include?("endbfchar")
      in_char_mode = false 
    elsif l.include?("beginbfrange")
      in_range_mode = true 
    elsif l.include?("endbfrange")
      in_range_mode = false 
    end

    if in_char_mode
      process_bfchar_line(l)
    elsif in_range_mode
      process_bfrange_line(l)
    end
  end
end

Instance Method Details

#decode(c) ⇒ Object



53
54
55
56
57
# File 'lib/pdf/reader/cmap.rb', line 53

def decode(c)
  # TODO: implement the conversion
  return c unless c.class == Fixnum
  @map[c]
end