@@ -494,7 +494,7 @@ def __init__(self, filename, metadata=None):
494494 self .fontNames = {} # maps filenames to internal font names
495495 self .nextFont = 1 # next free internal font name
496496 self .dviFontInfo = {} # maps dvi font names to embedding information
497- self .texFontMap = None # maps TeX font names to PostScript fonts
497+ self ._texFontMap = None # maps TeX font names to PostScript fonts
498498 # differently encoded Type-1 fonts may share the same descriptor
499499 self .type1Descriptors = {}
500500 self .used_characters = {}
@@ -663,6 +663,16 @@ def fontName(self, fontprop):
663663
664664 return Fx
665665
666+ @property
667+ def texFontMap (self ):
668+ # lazy-load texFontMap, it takes a while to parse
669+ # and usetex is a relatively rare use case
670+ if self ._texFontMap is None :
671+ self ._texFontMap = dviread .PsfontsMap (
672+ dviread .find_tex_file ('pdftex.map' ))
673+
674+ return self ._texFontMap
675+
666676 def dviFontName (self , dvifont ):
667677 """
668678 Given a dvi font object, return a name suitable for Op.selectfont.
@@ -674,12 +684,6 @@ def dviFontName(self, dvifont):
674684 if dvi_info is not None :
675685 return dvi_info .pdfname
676686
677- # lazy-load texFontMap, it takes a while to parse
678- # and usetex is a relatively rare use case
679- if self .texFontMap is None :
680- self .texFontMap = \
681- dviread .PsfontsMap (dviread .find_tex_file ('pdftex.map' ))
682-
683687 psfont = self .texFontMap [dvifont .texname ]
684688 if psfont .filename is None :
685689 raise ValueError (
0 commit comments