only keep the orginal table around in two special cases.\n this fixes a problem with importing individual tables.
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@186 4cde692c-a291-49d1-8350-778aa11640f8
This commit is contained in:
parent
320b48a9bf
commit
e82b4d5658
@ -38,7 +38,7 @@ class ExpatParser:
|
|||||||
|
|
||||||
def startElementHandler(self, name, attrs):
|
def startElementHandler(self, name, attrs):
|
||||||
stackSize = self.stackSize
|
stackSize = self.stackSize
|
||||||
self.stackSize = self.stackSize + 1
|
self.stackSize = stackSize + 1
|
||||||
if not stackSize:
|
if not stackSize:
|
||||||
if name <> "ttFont":
|
if name <> "ttFont":
|
||||||
raise TTXParseError, "illegal root tag: %s" % name
|
raise TTXParseError, "illegal root tag: %s" % name
|
||||||
@ -62,7 +62,15 @@ class ExpatParser:
|
|||||||
tableClass = ttLib.getTableClass(tag)
|
tableClass = ttLib.getTableClass(tag)
|
||||||
if tableClass is None:
|
if tableClass is None:
|
||||||
tableClass = DefaultTable
|
tableClass = DefaultTable
|
||||||
if self.ttFont.has_key(tag):
|
if tag in ('post', 'loca') and self.ttFont.has_key(tag):
|
||||||
|
# Special-case 'post' to prevent a bootstrap problem with
|
||||||
|
# ttCompile.py -i:
|
||||||
|
# - import post table from XML
|
||||||
|
# - don't import glyf table from XML
|
||||||
|
# - the glyphOrder is in the *original* binary post table
|
||||||
|
# So: we can't throw away the original post table.
|
||||||
|
# Also special-case the 'laca' table as we need the
|
||||||
|
# original if the 'glyf' table isn't recompiled.
|
||||||
self.currentTable = self.ttFont[tag]
|
self.currentTable = self.ttFont[tag]
|
||||||
else:
|
else:
|
||||||
self.currentTable = tableClass(tag)
|
self.currentTable = tableClass(tag)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user