2014-01-14 15:07:50 +08:00
|
|
|
from __future__ import print_function, division, absolute_import
|
2013-11-27 17:27:45 -05:00
|
|
|
from fontTools.misc.py23 import *
|
|
|
|
from fontTools.misc.textTools import safeEval
|
2013-11-27 02:34:11 -05:00
|
|
|
from . import DefaultTable
|
2013-11-27 17:27:45 -05:00
|
|
|
import sys
|
1999-12-16 21:34:53 +00:00
|
|
|
import array
|
|
|
|
|
|
|
|
class table__c_v_t(DefaultTable.DefaultTable):
|
2015-04-26 02:01:01 -04:00
|
|
|
|
1999-12-16 21:34:53 +00:00
|
|
|
def decompile(self, data, ttFont):
|
|
|
|
values = array.array("h")
|
|
|
|
values.fromstring(data)
|
2018-09-05 21:11:36 -07:00
|
|
|
if sys.byteorder != "big": values.byteswap()
|
1999-12-16 21:34:53 +00:00
|
|
|
self.values = values
|
2015-04-26 02:01:01 -04:00
|
|
|
|
1999-12-16 21:34:53 +00:00
|
|
|
def compile(self, ttFont):
|
|
|
|
values = self.values[:]
|
2018-09-05 21:11:36 -07:00
|
|
|
if sys.byteorder != "big": values.byteswap()
|
1999-12-16 21:34:53 +00:00
|
|
|
return values.tostring()
|
2015-04-26 02:01:01 -04:00
|
|
|
|
1999-12-16 21:34:53 +00:00
|
|
|
def toXML(self, writer, ttFont):
|
|
|
|
for i in range(len(self.values)):
|
|
|
|
value = self.values[i]
|
|
|
|
writer.simpletag("cv", value=value, index=i)
|
|
|
|
writer.newline()
|
2015-04-26 02:01:01 -04:00
|
|
|
|
2013-11-27 03:19:32 -05:00
|
|
|
def fromXML(self, name, attrs, content, ttFont):
|
1999-12-16 21:34:53 +00:00
|
|
|
if not hasattr(self, "values"):
|
|
|
|
self.values = array.array("h")
|
|
|
|
if name == "cv":
|
|
|
|
index = safeEval(attrs["index"])
|
|
|
|
value = safeEval(attrs["value"])
|
|
|
|
for i in range(1 + index - len(self.values)):
|
|
|
|
self.values.append(0)
|
|
|
|
self.values[index] = value
|
2015-04-26 02:01:01 -04:00
|
|
|
|
1999-12-16 21:34:53 +00:00
|
|
|
def __len__(self):
|
|
|
|
return len(self.values)
|
2015-04-26 02:01:01 -04:00
|
|
|
|
1999-12-16 21:34:53 +00:00
|
|
|
def __getitem__(self, index):
|
|
|
|
return self.values[index]
|
2015-04-26 02:01:01 -04:00
|
|
|
|
1999-12-16 21:34:53 +00:00
|
|
|
def __setitem__(self, index, value):
|
|
|
|
self.values[index] = value
|
2015-04-26 02:01:01 -04:00
|
|
|
|
1999-12-16 21:34:53 +00:00
|
|
|
def __delitem__(self, index):
|
|
|
|
del self.values[index]
|