Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 25a8fed

Browse files
committed
ENH: make texFontMap a property
Only used once in the code, but makes the lazy parsing more standard.
1 parent a8674b3 commit 25a8fed

1 file changed

Lines changed: 11 additions & 7 deletions

File tree

lib/matplotlib/backends/backend_pdf.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)