32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# File 'lib/api/charset_parser.rb', line 32
def parse(file_path)
@charset = Charset.new(ResourceManager::charset_name_from_file_path(file_path))
raw = File.open(file_path,"rb:utf-8").read
doc = Glaeml::Parser.new.parse(raw)
if(doc.errors.any?)
@charset.errors = doc.errors
return @charset
end
doc.root_node.gpath("char").each { |char_element|
code = char_element.args[0].hex
names = char_element.args[1..-1].map{|cname| cname.strip }.reject{ |cname| cname.empty? }
@charset.add_char(char_element.line,code,names)
}
@charset.finalize
@charset
end
|