Sha256: b1230b4d594c7b787b4acb0857fd3aff0875b1bc9bcf03e1f6920c3b42e6579d
Contents?: true
Size: 949 Bytes
Versions: 1
Compression:
Stored size: 949 Bytes
Contents
# frozen_string_literal: true module TTFunk # Helper methods to read form file content. # @api rpivate 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(number) number >= 0x8000 ? -((number ^ 0xFFFF) + 1) : number 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).zero? puts elsif ((i + 1) % 8).zero? print(' ') else print(' ') end end puts if (bytes.length % 16) != 0 end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ttfunk-1.8.0 | lib/ttfunk/reader.rb |