[T_S_I_*] in VOLT's ascii tables, replace '\r' with '\n' when dumping XML

and viceversa, convert '\n' back to '\r' when reading from XML.

This restores the original newline handling of asciiTable, but only for VOLT's private tables.
This commit is contained in:
Cosimo Lupo 2017-03-07 13:00:37 +00:00
parent 996b4ba1bf
commit 6731a906b4
No known key found for this signature in database
GPG Key ID: B61AAAD0B53A6419
6 changed files with 26 additions and 11 deletions

View File

@ -1,6 +1,6 @@
from __future__ import print_function, division, absolute_import
from fontTools.misc.py23 import *
from . import asciiTable
from .T_S_I_V_ import table_T_S_I_V_
class table_T_S_I_B_(asciiTable.asciiTable):
class table_T_S_I_B_(table_T_S_I_V_):
pass

View File

@ -1,6 +1,6 @@
from __future__ import print_function, division, absolute_import
from fontTools.misc.py23 import *
from . import asciiTable
from .T_S_I_V_ import table_T_S_I_V_
class table_T_S_I_D_(asciiTable.asciiTable):
class table_T_S_I_D_(table_T_S_I_V_):
pass

View File

@ -1,6 +1,6 @@
from __future__ import print_function, division, absolute_import
from fontTools.misc.py23 import *
from . import asciiTable
from .T_S_I_V_ import table_T_S_I_V_
class table_T_S_I_J_(asciiTable.asciiTable):
class table_T_S_I_J_(table_T_S_I_V_):
pass

View File

@ -1,6 +1,6 @@
from __future__ import print_function, division, absolute_import
from fontTools.misc.py23 import *
from . import asciiTable
from .T_S_I_V_ import table_T_S_I_V_
class table_T_S_I_P_(asciiTable.asciiTable):
class table_T_S_I_P_(table_T_S_I_V_):
pass

View File

@ -1,6 +1,6 @@
from __future__ import print_function, division, absolute_import
from fontTools.misc.py23 import *
from . import asciiTable
from .T_S_I_V_ import table_T_S_I_V_
class table_T_S_I_S_(asciiTable.asciiTable):
class table_T_S_I_S_(table_T_S_I_V_):
pass

View File

@ -3,4 +3,19 @@ from fontTools.misc.py23 import *
from . import asciiTable
class table_T_S_I_V_(asciiTable.asciiTable):
pass
def toXML(self, writer, ttFont):
data = tostr(self.data)
# removing null bytes. XXX needed??
data = data.split('\0')
data = strjoin(data)
writer.begintag("source")
writer.newline()
writer.write_noindent(data.replace("\r", "\n"))
writer.newline()
writer.endtag("source")
writer.newline()
def fromXML(self, name, attrs, content, ttFont):
lines = strjoin(content).split("\n")
self.data = tobytes("\r".join(lines[1:-1]))