Sha256: a4b5f7cb62a634f769595ae0c17f22dc76bb03d98fed0da0af044dda16ae5bf4
Contents?: true
Size: 896 Bytes
Versions: 4
Compression:
Stored size: 896 Bytes
Contents
module TTFunk module Reader private def io @file.contents end def read(bytes, format) io.read(bytes).unpack(format) end def read_signed(count) read(count * 2, 'n*').map { |i| to_signed(i) } end def to_signed(n) n >= 0x8000 ? -((n ^ 0xFFFF) + 1) : n end def parse_from(position) saved = io.pos io.pos = position result = yield position io.pos = saved result end # For debugging purposes def hexdump(string) bytes = string.unpack('C*') bytes.each_with_index do |c, i| printf('%02X', c) if (i + 1) % 16 == 0 puts elsif (i + 1) % 8 == 0 print ' ' else print ' ' end end puts unless bytes.length % 16 == 0 end end end
Version data entries
4 entries across 3 versions & 2 rubygems