[ttFont] Remove allowVID
Leave the parameter intact for back compat. Part of https://github.com/fonttools/fonttools/pull/2398 Fixes https://github.com/fonttools/fonttools/issues/2334
This commit is contained in:
parent
9988054f3c
commit
322a7b2ead
@ -20,7 +20,7 @@ class TTFont(object):
|
||||
|
||||
def __init__(self, file=None, res_name_or_index=None,
|
||||
sfntVersion="\000\001\000\000", flavor=None, checkChecksums=0,
|
||||
verbose=None, recalcBBoxes=True, allowVID=False, ignoreDecompileErrors=False,
|
||||
verbose=None, recalcBBoxes=True, allowVID=NotImplemented, ignoreDecompileErrors=False,
|
||||
recalcTimestamp=True, fontNumber=-1, lazy=None, quiet=None,
|
||||
_tableCache=None):
|
||||
|
||||
@ -61,16 +61,6 @@ class TTFont(object):
|
||||
If the recalcTimestamp argument is false, the modified timestamp in the
|
||||
'head' table will *not* be recalculated upon save/compile.
|
||||
|
||||
If the allowVID argument is set to true, then virtual GID's are
|
||||
supported. Asking for a glyph ID with a glyph name or GID that is not in
|
||||
the font will return a virtual GID. This is valid for GSUB and cmap
|
||||
tables. For SING glyphlets, the cmap table is used to specify Unicode
|
||||
values for virtual GI's used in GSUB/GPOS rules. If the gid N is requested
|
||||
and does not exist in the font, or the glyphname has the form glyphN
|
||||
and does not exist in the font, then N is used as the virtual GID.
|
||||
Else, the first virtual GID is assigned as 0x1000 -1; for subsequent new
|
||||
virtual GIDs, the next is one less than the previous.
|
||||
|
||||
If ignoreDecompileErrors is set to True, exceptions raised in
|
||||
individual tables during decompilation will be ignored, falling
|
||||
back to the DefaultTable implementation, which simply keeps the
|
||||
@ -92,12 +82,6 @@ class TTFont(object):
|
||||
self.recalcTimestamp = recalcTimestamp
|
||||
self.tables = {}
|
||||
self.reader = None
|
||||
|
||||
# Permit the user to reference glyphs that are not int the font.
|
||||
self.last_vid = 0xFFFE # Can't make it be 0xFFFF, as the world is full unsigned short integer counters that get incremented after the last seen GID value.
|
||||
self.reverseVIDDict = {}
|
||||
self.VIDDict = {}
|
||||
self.allowVID = allowVID
|
||||
self.ignoreDecompileErrors = ignoreDecompileErrors
|
||||
|
||||
if not file:
|
||||
@ -548,20 +532,7 @@ class TTFont(object):
|
||||
try:
|
||||
return self.getGlyphOrder()[glyphID]
|
||||
except IndexError:
|
||||
if not self.allowVID:
|
||||
# XXX The ??.W8.otf font that ships with OSX uses higher glyphIDs in
|
||||
# the cmap table than there are glyphs. I don't think it's legal...
|
||||
return "glyph%.5d" % glyphID
|
||||
else:
|
||||
# user intends virtual GID support
|
||||
try:
|
||||
glyphName = self.VIDDict[glyphID]
|
||||
except KeyError:
|
||||
glyphName ="glyph%.5d" % glyphID
|
||||
self.last_vid = min(glyphID, self.last_vid )
|
||||
self.reverseVIDDict[glyphName] = glyphID
|
||||
self.VIDDict[glyphID] = glyphName
|
||||
return glyphName
|
||||
|
||||
def getGlyphID(self, glyphName):
|
||||
if not hasattr(self, "_reverseGlyphOrderDict"):
|
||||
@ -573,30 +544,12 @@ class TTFont(object):
|
||||
self._buildReverseGlyphOrderDict()
|
||||
return self.getGlyphID(glyphName)
|
||||
else:
|
||||
if not self.allowVID:
|
||||
# Handle glyphXXX only
|
||||
if glyphName[:5] == "glyph":
|
||||
try:
|
||||
return int(glyphName[5:])
|
||||
except (NameError, ValueError):
|
||||
raise KeyError(glyphName)
|
||||
else:
|
||||
# user intends virtual GID support
|
||||
try:
|
||||
glyphID = self.reverseVIDDict[glyphName]
|
||||
except KeyError:
|
||||
# if name is in glyphXXX format, use the specified name.
|
||||
if glyphName[:5] == "glyph":
|
||||
try:
|
||||
glyphID = int(glyphName[5:])
|
||||
except (NameError, ValueError):
|
||||
glyphID = None
|
||||
if glyphID is None:
|
||||
glyphID = self.last_vid -1
|
||||
self.last_vid = glyphID
|
||||
self.reverseVIDDict[glyphName] = glyphID
|
||||
self.VIDDict[glyphID] = glyphName
|
||||
return glyphID
|
||||
|
||||
glyphID = d[glyphName]
|
||||
if glyphName != glyphOrder[glyphID]:
|
||||
|
Loading…
x
Reference in New Issue
Block a user