File tree 1 file changed +5
-2
lines changed
1 file changed +5
-2
lines changed Original file line number Diff line number Diff line change @@ -128,13 +128,16 @@ def _split(self, data):
128
128
zeros -= 1
129
129
idx -= 1
130
130
if zeros :
131
- raise RuntimeError ('Insufficiently many zeros in Type 1 font' )
131
+ # this may have been a problem on old implementations that
132
+ # used the zeros as necessary padding
133
+ logging .info ('Insufficiently many zeros in Type 1 font' )
132
134
133
135
# Convert encrypted part to binary (if we read a pfb file, we may end
134
136
# up converting binary to hexadecimal to binary again; but if we read
135
137
# a pfa file, this part is already in hex, and I am not quite sure if
136
138
# even the pfb format guarantees that it will be in binary).
137
- binary = binascii .unhexlify (data [len1 :idx + 1 ])
139
+ idx1 = len1 + ((idx - len1 + 2 ) & ~ 1 ) # ensure an even number of bytes
140
+ binary = binascii .unhexlify (data [len1 :idx1 ])
138
141
139
142
return data [:len1 ], binary , data [idx + 1 :]
140
143
You can’t perform that action at this time.
0 commit comments