renamed tt2xml.pt to ttDump.py and xml2tt.py to ttCompile.py
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@60 4cde692c-a291-49d1-8350-778aa11640f8
This commit is contained in:
parent
528614e6e2
commit
9b79e52328
76
tt2xml.py
76
tt2xml.py
@ -1,76 +0,0 @@
|
|||||||
#! /usr/bin/env python
|
|
||||||
|
|
||||||
"""\
|
|
||||||
usage: %s [-hvs] [-t <table>] [-x <table>] TrueType-file [XML-output-file]
|
|
||||||
Dump a TrueType font as an XML file. If the XML-output-file argument
|
|
||||||
is omitted, the out put file name will be constructed from the input
|
|
||||||
file name, like so: *.ttf becomes *.xml. Either way, existing files
|
|
||||||
will be overwritten without warning!
|
|
||||||
|
|
||||||
Options:
|
|
||||||
-t <table> specify a table to dump. Multiple -t options
|
|
||||||
are allowed. When no -t option is specified, all tables
|
|
||||||
will be dumped
|
|
||||||
-x <table> specify a table to exclude from the dump. Multiple
|
|
||||||
-x options are allowed. -t and -x are mutually exclusive.
|
|
||||||
-v verbose: messages will be written to stdout about what is
|
|
||||||
being done.
|
|
||||||
-s split tables: save the XML in a separate XML file per table.
|
|
||||||
The files will be saved in a directory. The name of this
|
|
||||||
directory will be constructed from the input filename (by
|
|
||||||
dropping the extension) or can be specified by the optional
|
|
||||||
XML-output-file argument.
|
|
||||||
-h help: print this message
|
|
||||||
"""
|
|
||||||
|
|
||||||
import sys, os, getopt
|
|
||||||
from fontTools import ttLib
|
|
||||||
|
|
||||||
options, args = getopt.getopt(sys.argv[1:], "shvt:x:")
|
|
||||||
|
|
||||||
verbose = 0
|
|
||||||
splitTables = 0
|
|
||||||
tables = []
|
|
||||||
skipTables = []
|
|
||||||
for option, value in options:
|
|
||||||
if option == "-t":
|
|
||||||
if len(value) > 4:
|
|
||||||
print "illegal table tag: " + value
|
|
||||||
sys.exit(2)
|
|
||||||
# normalize tag
|
|
||||||
value = value + (4 - len(value)) * " "
|
|
||||||
tables.append(value)
|
|
||||||
elif option == "-x":
|
|
||||||
if len(value) > 4:
|
|
||||||
print "illegal table tag: " + value
|
|
||||||
sys.exit(2)
|
|
||||||
# normalize tag
|
|
||||||
value = value + (4 - len(value)) * " "
|
|
||||||
skipTables.append(value)
|
|
||||||
elif option == "-v":
|
|
||||||
verbose = 1
|
|
||||||
elif option == "-h":
|
|
||||||
print __doc__ % sys.argv[0]
|
|
||||||
sys.exit(0)
|
|
||||||
elif option == "-s":
|
|
||||||
splitTables = 1
|
|
||||||
|
|
||||||
if tables and skipTables:
|
|
||||||
print "-t and -x options are mutually exlusive"
|
|
||||||
sys.exit(2)
|
|
||||||
|
|
||||||
if len(args) == 1:
|
|
||||||
ttPath = args[0]
|
|
||||||
path, ext = os.path.splitext(ttPath)
|
|
||||||
if splitTables:
|
|
||||||
xmlPath = path
|
|
||||||
else:
|
|
||||||
xmlPath = path + '.xml'
|
|
||||||
elif len(args) == 2:
|
|
||||||
ttPath, xmlPath = args
|
|
||||||
else:
|
|
||||||
print __doc__ % sys.argv[0]
|
|
||||||
sys.exit(2)
|
|
||||||
|
|
||||||
tt = ttLib.TTFont(ttPath, verbose=verbose)
|
|
||||||
tt.saveXML(xmlPath, tables=tables, skipTables=skipTables, splitTables=splitTables)
|
|
16
ttCompile.py
16
ttCompile.py
@ -1,16 +1,16 @@
|
|||||||
#! /usr/bin/env python
|
#! /usr/bin/env python
|
||||||
|
|
||||||
"""\
|
"""\
|
||||||
usage: %s [-hvb] [-i TrueType-input-file] XML-file [TrueType-output-file]
|
usage: %s [-hvb] [-i TrueType-input-file] TTX-file [TrueType-output-file]
|
||||||
Translate an XML file (as output by tt2xml.py) to a TrueType font file.
|
Translate an TTX file (as output by ttDump.py) to a TrueType font file.
|
||||||
If the XML-file argument is a directory instead of a file, all files
|
If the TTX-file argument is a directory instead of a file, all files in
|
||||||
ending in '.xml' will be merged into one TrueType file. This is mostly
|
that directory ending in '.ttx' will be merged into one TrueType file.
|
||||||
useful in conjunction with the -s option of tt2xml.py.
|
This is mostly useful in conjunction with the -s option of ttDump.py.
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
-i TrueType-input-file: specify a TT file to be merged with the XML file(s)
|
-i TrueType-input-file: specify a TT file to be merged with the TTX file(s)
|
||||||
-v verbose: messages will be written to stdout about what is being done
|
-v verbose: messages will be written to stdout about what is being done
|
||||||
-b Don't recalc glyph boundig boxes: use the values in the XML file as-is.
|
-b Don't recalc glyph boundig boxes: use the values in the TTX file as-is.
|
||||||
-h help: print this message
|
-h help: print this message
|
||||||
"""
|
"""
|
||||||
import sys, os, getopt
|
import sys, os, getopt
|
||||||
@ -48,7 +48,7 @@ if os.path.isdir(xmlPath):
|
|||||||
import glob
|
import glob
|
||||||
oldDir = os.getcwd()
|
oldDir = os.getcwd()
|
||||||
os.chdir(xmlPath)
|
os.chdir(xmlPath)
|
||||||
files = glob.glob("*.xml")
|
files = glob.glob("*.ttx")
|
||||||
os.chdir(oldDir)
|
os.chdir(oldDir)
|
||||||
for xmlFile in files:
|
for xmlFile in files:
|
||||||
xmlFile = os.path.join(xmlPath, xmlFile)
|
xmlFile = os.path.join(xmlPath, xmlFile)
|
||||||
|
16
ttDump.py
16
ttDump.py
@ -1,11 +1,11 @@
|
|||||||
#! /usr/bin/env python
|
#! /usr/bin/env python
|
||||||
|
|
||||||
"""\
|
"""\
|
||||||
usage: %s [-hvs] [-t <table>] [-x <table>] TrueType-file [XML-output-file]
|
usage: %s [-hvs] [-t <table>] [-x <table>] TrueType-file [TTX-output-file]
|
||||||
Dump a TrueType font as an XML file. If the XML-output-file argument
|
Dump a TrueType font as a TTX file (an XML-based text format). If the
|
||||||
is omitted, the out put file name will be constructed from the input
|
TTX-output-file argument is omitted, the out put file name will be
|
||||||
file name, like so: *.ttf becomes *.xml. Either way, existing files
|
constructed from the input file name, like so: *.ttf becomes *.ttx.
|
||||||
will be overwritten without warning!
|
Either way, existing files will be overwritten without warning!
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
-t <table> specify a table to dump. Multiple -t options
|
-t <table> specify a table to dump. Multiple -t options
|
||||||
@ -15,11 +15,11 @@ usage: %s [-hvs] [-t <table>] [-x <table>] TrueType-file [XML-output-file]
|
|||||||
-x options are allowed. -t and -x are mutually exclusive.
|
-x options are allowed. -t and -x are mutually exclusive.
|
||||||
-v verbose: messages will be written to stdout about what is
|
-v verbose: messages will be written to stdout about what is
|
||||||
being done.
|
being done.
|
||||||
-s split tables: save the XML in a separate XML file per table.
|
-s split tables: save the TTX data into separate TTX files per table.
|
||||||
The files will be saved in a directory. The name of this
|
The files will be saved in a directory. The name of this
|
||||||
directory will be constructed from the input filename (by
|
directory will be constructed from the input filename (by
|
||||||
dropping the extension) or can be specified by the optional
|
dropping the extension) or can be specified by the optional
|
||||||
XML-output-file argument.
|
TTX-output-file argument.
|
||||||
-h help: print this message
|
-h help: print this message
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@ -65,7 +65,7 @@ if len(args) == 1:
|
|||||||
if splitTables:
|
if splitTables:
|
||||||
xmlPath = path
|
xmlPath = path
|
||||||
else:
|
else:
|
||||||
xmlPath = path + '.xml'
|
xmlPath = path + '.ttx'
|
||||||
elif len(args) == 2:
|
elif len(args) == 2:
|
||||||
ttPath, xmlPath = args
|
ttPath, xmlPath = args
|
||||||
else:
|
else:
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
REGEDIT4
|
REGEDIT4
|
||||||
|
|
||||||
[HKEY_CLASSES_ROOT\ttffile\shell\Convert to XML]
|
[HKEY_CLASSES_ROOT\ttffile\shell\Convert to TTX]
|
||||||
@="Convert to XML"
|
@="Convert to XML"
|
||||||
|
|
||||||
[HKEY_CLASSES_ROOT\ttffile\shell\Convert to XML\command]
|
[HKEY_CLASSES_ROOT\ttffile\shell\Convert to XML\command]
|
||||||
@="start.exe \"C:\\Program Files\\f\\TTX\\tt2xml.py\" \"%1\""
|
@="start.exe \"C:\\Program Files\\f\\TTX\\ttDump.py\" \"%1\""
|
||||||
|
|
||||||
[HKEY_CLASSES_ROOT\xmlfile\shell\Convert to TTF]
|
[HKEY_CLASSES_ROOT\xmlfile\shell\Convert to TTF]
|
||||||
@="Convert to TrueType font"
|
@="Convert to TrueType font"
|
||||||
|
|
||||||
[HKEY_CLASSES_ROOT\xmlfile\shell\Convert to TTF\command]
|
[HKEY_CLASSES_ROOT\xmlfile\shell\Convert to TTF\command]
|
||||||
@="start.exe \"C:\\Program Files\\f\\TTX\\xml2tt.py\" \"%1\""
|
@="start.exe \"C:\\Program Files\\f\\TTX\\ttCompile.py\" \"%1\""
|
||||||
|
|
||||||
|
62
xml2tt.py
62
xml2tt.py
@ -1,62 +0,0 @@
|
|||||||
#! /usr/bin/env python
|
|
||||||
|
|
||||||
"""\
|
|
||||||
usage: %s [-hvb] [-i TrueType-input-file] XML-file [TrueType-output-file]
|
|
||||||
Translate an XML file (as output by tt2xml.py) to a TrueType font file.
|
|
||||||
If the XML-file argument is a directory instead of a file, all files
|
|
||||||
ending in '.xml' will be merged into one TrueType file. This is mostly
|
|
||||||
useful in conjunction with the -s option of tt2xml.py.
|
|
||||||
|
|
||||||
Options:
|
|
||||||
-i TrueType-input-file: specify a TT file to be merged with the XML file(s)
|
|
||||||
-v verbose: messages will be written to stdout about what is being done
|
|
||||||
-b Don't recalc glyph boundig boxes: use the values in the XML file as-is.
|
|
||||||
-h help: print this message
|
|
||||||
"""
|
|
||||||
import sys, os, getopt
|
|
||||||
from fontTools import ttLib
|
|
||||||
|
|
||||||
options, args = getopt.getopt(sys.argv[1:], "hvi:b")
|
|
||||||
|
|
||||||
verbose = 0
|
|
||||||
ttInFile = None
|
|
||||||
recalcBBoxes = 1
|
|
||||||
for option, value in options:
|
|
||||||
if option == "-i":
|
|
||||||
ttInFile = value
|
|
||||||
elif option == "-v":
|
|
||||||
verbose = 1
|
|
||||||
elif option == "-h":
|
|
||||||
print __doc__ % sys.argv[0]
|
|
||||||
sys.exit(0)
|
|
||||||
elif option == "-b":
|
|
||||||
recalcBBoxes = 0
|
|
||||||
|
|
||||||
if len(args) == 1:
|
|
||||||
xmlPath = args[0]
|
|
||||||
name, ext = os.path.splitext(xmlPath)
|
|
||||||
ttPath = name + '.ttf'
|
|
||||||
elif len(args) == 2:
|
|
||||||
xmlPath, ttPath = args
|
|
||||||
else:
|
|
||||||
print __doc__ % sys.argv[0]
|
|
||||||
sys.exit(2)
|
|
||||||
|
|
||||||
tt = ttLib.TTFont(ttInFile, recalcBBoxes=recalcBBoxes, verbose=verbose)
|
|
||||||
|
|
||||||
if os.path.isdir(xmlPath):
|
|
||||||
import glob
|
|
||||||
oldDir = os.getcwd()
|
|
||||||
os.chdir(xmlPath)
|
|
||||||
files = glob.glob("*.xml")
|
|
||||||
os.chdir(oldDir)
|
|
||||||
for xmlFile in files:
|
|
||||||
xmlFile = os.path.join(xmlPath, xmlFile)
|
|
||||||
tt.importXML(xmlFile)
|
|
||||||
else:
|
|
||||||
tt.importXML(xmlPath)
|
|
||||||
tt.save(ttPath)
|
|
||||||
del tt
|
|
||||||
if verbose:
|
|
||||||
import time
|
|
||||||
print "%s finished at" % sys.argv[0], time.strftime("%H:%M:%S", time.localtime(time.time()))
|
|
Loading…
x
Reference in New Issue
Block a user