Skip to content

Commit 655708e

Browse files
committed
Improve efficiency of FontFile._encode_metrics()
Build up mutable sequences instead of recreating mutable ones.
1 parent 97bdfeb commit 655708e

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/PIL/FontFile.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -111,20 +111,20 @@ def compile(self) -> None:
111111
self.metrics[i] = d, dst, s
112112

113113
def _encode_metrics(self) -> bytes:
114-
values: tuple[int, ...] = ()
114+
values: list[int] = ()
115115
for i in range(256):
116116
m = self.metrics[i]
117117
if m:
118-
values += m[0] + m[1] + m[2]
118+
values.extend(m[0] + m[1] + m[2])
119119
else:
120-
values += (0,) * 10
120+
values.extend((0,) * 10)
121121

122-
metrics = b""
122+
data = bytearray()
123123
for v in values:
124124
if v < 0:
125125
v += 65536
126-
metrics += _binary.o16be(v)
127-
return metrics
126+
data += _binary.o16be(v)
127+
return bytes(data)
128128

129129
def save(self, filename: str) -> None:
130130
"""Save font"""

0 commit comments

Comments
 (0)