Method: PSD::TypeTool#parse

Defined in:
lib/psd/layer_info/typetool.rb

#parseObject

Parse all of the text data in the layer.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/psd/layer_info/typetool.rb', line 11

def parse
  version = @file.read_short
  parse_transform_info

  text_version = @file.read_short
  descriptor_version = @file.read_int

  @data[:text] = Descriptor.new(@file).parse
  @data[:text]['EngineData']
    .encode!('UTF-8', 'MacRoman')
    .delete!("\000")

  @data[:engine_data] = nil
  begin
    parser.parse!
    @data[:engine_data] = parser.result
  rescue Exception => e
    PSD.logger.error e.message
  end

  warpVersion = @file.read_short
  descriptor_version = @file.read_int

  @data[:warp] = Descriptor.new(@file).parse
  [:left, :top, :right, :bottom].each do |pos|
    @data[pos] = @file.read_int
  end

  return self
end