File tree Expand file tree Collapse file tree 1 file changed +7
-2
lines changed Expand file tree Collapse file tree 1 file changed +7
-2
lines changed Original file line number Diff line number Diff line change 24
24
import binascii
25
25
import enum
26
26
import itertools
27
+ import logging
27
28
import re
28
29
import struct
29
30
32
33
from matplotlib .cbook import _format_approx
33
34
from . import _api
34
35
36
+ _log = logging .getLogger (__name__ )
35
37
36
38
# token types
37
39
_TokenType = enum .Enum ('_TokenType' ,
@@ -129,13 +131,16 @@ def _split(self, data):
129
131
zeros -= 1
130
132
idx -= 1
131
133
if zeros :
132
- raise RuntimeError ('Insufficiently many zeros in Type 1 font' )
134
+ # this may have been a problem on old implementations that
135
+ # used the zeros as necessary padding
136
+ _log .info ('Insufficiently many zeros in Type 1 font' )
133
137
134
138
# Convert encrypted part to binary (if we read a pfb file, we may end
135
139
# up converting binary to hexadecimal to binary again; but if we read
136
140
# a pfa file, this part is already in hex, and I am not quite sure if
137
141
# even the pfb format guarantees that it will be in binary).
138
- binary = binascii .unhexlify (data [len1 :idx + 1 ])
142
+ idx1 = len1 + ((idx - len1 + 2 ) & ~ 1 ) # ensure an even number of bytes
143
+ binary = binascii .unhexlify (data [len1 :idx1 ])
139
144
140
145
return data [:len1 ], binary , data [idx + 1 :]
141
146
You can’t perform that action at this time.
0 commit comments