improved support for writing to (in memory) streams
git-svn-id: svn://svn.code.sf.net/p/fonttools/code/trunk@119 4cde692c-a291-49d1-8350-778aa11640f8
This commit is contained in:
parent
fdea99d265
commit
0f675860ce
@ -42,7 +42,7 @@ Dumping 'prep' table...
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
#
|
#
|
||||||
# $Id: __init__.py,v 1.15 2000-08-23 12:31:52 Just Exp $
|
# $Id: __init__.py,v 1.16 2000-10-02 07:51:42 Just Exp $
|
||||||
#
|
#
|
||||||
|
|
||||||
__version__ = "1.0a6"
|
__version__ = "1.0a6"
|
||||||
@ -138,8 +138,9 @@ class TTFont:
|
|||||||
On the Mac, if makeSuitcase is true, a suitcase (resource fork)
|
On the Mac, if makeSuitcase is true, a suitcase (resource fork)
|
||||||
file will we made instead of a flat .ttf file.
|
file will we made instead of a flat .ttf file.
|
||||||
"""
|
"""
|
||||||
import sfnt
|
from fontTools.ttLib import sfnt
|
||||||
if type(file) == types.StringType:
|
if type(file) == types.StringType:
|
||||||
|
closeStream = 1
|
||||||
if os.name == "mac" and makeSuitcase:
|
if os.name == "mac" and makeSuitcase:
|
||||||
import macUtils
|
import macUtils
|
||||||
file = macUtils.SFNTResourceWriter(file, self)
|
file = macUtils.SFNTResourceWriter(file, self)
|
||||||
@ -150,7 +151,8 @@ class TTFont:
|
|||||||
fss = macfs.FSSpec(file.name)
|
fss = macfs.FSSpec(file.name)
|
||||||
fss.SetCreatorType('mdos', 'BINA')
|
fss.SetCreatorType('mdos', 'BINA')
|
||||||
else:
|
else:
|
||||||
pass # assume "file" is a writable file object
|
# assume "file" is a writable file object
|
||||||
|
closeStream = 0
|
||||||
|
|
||||||
tags = self.keys()
|
tags = self.keys()
|
||||||
numTables = len(tags)
|
numTables = len(tags)
|
||||||
@ -160,7 +162,7 @@ class TTFont:
|
|||||||
for tag in tags:
|
for tag in tags:
|
||||||
self._writeTable(tag, writer, done)
|
self._writeTable(tag, writer, done)
|
||||||
|
|
||||||
writer.close()
|
writer.close(closeStream)
|
||||||
|
|
||||||
def saveXML(self, fileOrPath, progress=None,
|
def saveXML(self, fileOrPath, progress=None,
|
||||||
tables=None, skipTables=None, splitTables=0, disassembleInstructions=1):
|
tables=None, skipTables=None, splitTables=0, disassembleInstructions=1):
|
||||||
|
@ -105,7 +105,7 @@ class SFNTWriter:
|
|||||||
entry.checkSum = calcchecksum(data)
|
entry.checkSum = calcchecksum(data)
|
||||||
self.tables[tag] = entry
|
self.tables[tag] = entry
|
||||||
|
|
||||||
def close(self):
|
def close(self, closeStream=1):
|
||||||
"""All tables must have been written to disk. Now write the
|
"""All tables must have been written to disk. Now write the
|
||||||
directory.
|
directory.
|
||||||
"""
|
"""
|
||||||
@ -123,7 +123,8 @@ class SFNTWriter:
|
|||||||
self.calcmasterchecksum(directory)
|
self.calcmasterchecksum(directory)
|
||||||
self.file.seek(0)
|
self.file.seek(0)
|
||||||
self.file.write(directory)
|
self.file.write(directory)
|
||||||
self.file.close()
|
if closeStream:
|
||||||
|
self.file.close()
|
||||||
|
|
||||||
def calcmasterchecksum(self, directory):
|
def calcmasterchecksum(self, directory):
|
||||||
# calculate checkSumAdjustment
|
# calculate checkSumAdjustment
|
||||||
|
Loading…
x
Reference in New Issue
Block a user