Initial commit of font compression code into public project.
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# Copyright (c) 2012 Google Inc. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
# This is a simple utility for dumping out the header of a compressed file, and
|
||||
# is suitable for doing spot checks of compressed. files. However, this only
|
||||
# implements the "long" form of the table directory.
|
||||
|
||||
import struct
|
||||
import sys
|
||||
|
||||
def dump_woff2_header(header):
|
||||
header_values = struct.unpack('>IIIHHIHHIIIII', header[:44])
|
||||
for i, key in enumerate([
|
||||
'signature',
|
||||
'flavor',
|
||||
'length',
|
||||
'numTables',
|
||||
'reserved',
|
||||
'totalSfntSize',
|
||||
'majorVersion',
|
||||
'minorVersion',
|
||||
'metaOffset',
|
||||
'metaOrigLength',
|
||||
'privOffset',
|
||||
'privLength']):
|
||||
print key, header_values[i]
|
||||
numTables = header_values[3]
|
||||
for i in range(numTables):
|
||||
entry = struct.unpack('>IIIII', header[44+20*i:44+20*(i+1)])
|
||||
print '%08x %d %d %d %d' % entry
|
||||
|
||||
def main():
|
||||
header = file(sys.argv[1]).read()
|
||||
dump_woff2_header(header)
|
||||
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user