def parse
l "APP13 marker parsed"
@markers = Array.new
@bim_type = read(2)
@bim_dummy = read(4)
size = read(2)
content = StringIO.new(read(size.unpack('n')[0]))
while !content.eof?
header = content.read(2)
if header!="\x1c\x02"
raise InvalidBlockException.new("Invalid BIM segment")
end
type = content.read(1).unpack('c')[0]
size = content.read(2)
value = content.read(size.unpack('n')[0])
l "Found marker #{type}"
marker = IPTC::Marker.new(type, value)
@values[@prefix+"/"+IPTC::MarkerNomenclature.markers(type.to_i).name] ||= []
@values[@prefix+"/"+IPTC::MarkerNomenclature.markers(type.to_i).name] << value
@markers << marker
end
return @values
end