aboutsummaryrefslogtreecommitdiff
path: root/Lib/fontTools/ttLib/tables/_g_a_s_p.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/fontTools/ttLib/tables/_g_a_s_p.py')
-rw-r--r--Lib/fontTools/ttLib/tables/_g_a_s_p.py76
1 files changed, 41 insertions, 35 deletions
diff --git a/Lib/fontTools/ttLib/tables/_g_a_s_p.py b/Lib/fontTools/ttLib/tables/_g_a_s_p.py
index 2c80913c..10c32a87 100644
--- a/Lib/fontTools/ttLib/tables/_g_a_s_p.py
+++ b/Lib/fontTools/ttLib/tables/_g_a_s_p.py
@@ -8,42 +8,48 @@ GASP_SYMMETRIC_SMOOTHING = 0x0008
GASP_DOGRAY = 0x0002
GASP_GRIDFIT = 0x0001
-class table__g_a_s_p(DefaultTable.DefaultTable):
- def decompile(self, data, ttFont):
- self.version, numRanges = struct.unpack(">HH", data[:4])
- assert 0 <= self.version <= 1, "unknown 'gasp' format: %s" % self.version
- data = data[4:]
- self.gaspRange = {}
- for i in range(numRanges):
- rangeMaxPPEM, rangeGaspBehavior = struct.unpack(">HH", data[:4])
- self.gaspRange[int(rangeMaxPPEM)] = int(rangeGaspBehavior)
- data = data[4:]
- assert not data, "too much data"
+class table__g_a_s_p(DefaultTable.DefaultTable):
+ def decompile(self, data, ttFont):
+ self.version, numRanges = struct.unpack(">HH", data[:4])
+ assert 0 <= self.version <= 1, "unknown 'gasp' format: %s" % self.version
+ data = data[4:]
+ self.gaspRange = {}
+ for i in range(numRanges):
+ rangeMaxPPEM, rangeGaspBehavior = struct.unpack(">HH", data[:4])
+ self.gaspRange[int(rangeMaxPPEM)] = int(rangeGaspBehavior)
+ data = data[4:]
+ assert not data, "too much data"
- def compile(self, ttFont):
- version = 0 # ignore self.version
- numRanges = len(self.gaspRange)
- data = b""
- items = sorted(self.gaspRange.items())
- for rangeMaxPPEM, rangeGaspBehavior in items:
- data = data + struct.pack(">HH", rangeMaxPPEM, rangeGaspBehavior)
- if rangeGaspBehavior & ~(GASP_GRIDFIT | GASP_DOGRAY):
- version = 1
- data = struct.pack(">HH", version, numRanges) + data
- return data
+ def compile(self, ttFont):
+ version = 0 # ignore self.version
+ numRanges = len(self.gaspRange)
+ data = b""
+ items = sorted(self.gaspRange.items())
+ for rangeMaxPPEM, rangeGaspBehavior in items:
+ data = data + struct.pack(">HH", rangeMaxPPEM, rangeGaspBehavior)
+ if rangeGaspBehavior & ~(GASP_GRIDFIT | GASP_DOGRAY):
+ version = 1
+ data = struct.pack(">HH", version, numRanges) + data
+ return data
- def toXML(self, writer, ttFont):
- items = sorted(self.gaspRange.items())
- for rangeMaxPPEM, rangeGaspBehavior in items:
- writer.simpletag("gaspRange", [
- ("rangeMaxPPEM", rangeMaxPPEM),
- ("rangeGaspBehavior", rangeGaspBehavior)])
- writer.newline()
+ def toXML(self, writer, ttFont):
+ items = sorted(self.gaspRange.items())
+ for rangeMaxPPEM, rangeGaspBehavior in items:
+ writer.simpletag(
+ "gaspRange",
+ [
+ ("rangeMaxPPEM", rangeMaxPPEM),
+ ("rangeGaspBehavior", rangeGaspBehavior),
+ ],
+ )
+ writer.newline()
- def fromXML(self, name, attrs, content, ttFont):
- if name != "gaspRange":
- return
- if not hasattr(self, "gaspRange"):
- self.gaspRange = {}
- self.gaspRange[safeEval(attrs["rangeMaxPPEM"])] = safeEval(attrs["rangeGaspBehavior"])
+ def fromXML(self, name, attrs, content, ttFont):
+ if name != "gaspRange":
+ return
+ if not hasattr(self, "gaspRange"):
+ self.gaspRange = {}
+ self.gaspRange[safeEval(attrs["rangeMaxPPEM"])] = safeEval(
+ attrs["rangeGaspBehavior"]
+ )