File tree Expand file tree Collapse file tree 1 file changed +5
-2
lines changed
Expand file tree Collapse file tree 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):
128128 zeros -= 1
129129 idx -= 1
130130 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' )
132134
133135 # Convert encrypted part to binary (if we read a pfb file, we may end
134136 # up converting binary to hexadecimal to binary again; but if we read
135137 # a pfa file, this part is already in hex, and I am not quite sure if
136138 # 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 ])
138141
139142 return data [:len1 ], binary , data [idx + 1 :]
140143
You can’t perform that action at this time.
0 commit comments