@@ -142,18 +142,24 @@ def draw_tex(self, gc, x, y, s, prop, angle, ismath="TeX!", mtext=None):
142142 page = next (iter (dvi ))
143143 mb = _mplcairo .MathtextBackendCairo ()
144144 for text in page .text :
145- texfont = _util .get_tex_font_map ()[text .font .texname ]
146- if texfont .filename is None :
147- # Not TypeError:
148- # :mpltest:`test_backend_svg.test_missing_psfont`.
149- raise ValueError (f"No font file found for { texfont .psname } "
150- f"({ texfont .texname !a} )" )
151- mb .add_usetex_glyph (
152- text .x , - text .y ,
153- texfont .filename , text .font .size ,
154- _util .get_glyph_name (text ) or text .glyph ,
155- texfont .effects .get ("slant" , 0 ),
156- texfont .effects .get ("extend" , 1 ))
145+ if text .font .texname .startswith (b"[" ):
146+ mb .add_usetex_glyph (
147+ text .x , - text .y ,
148+ text .font .texname [1 :- 1 ].decode ("latin-1" ), text .font .size ,
149+ text .glyph , 0 , 1 )
150+ else :
151+ texfont = _util .get_tex_font_map ()[text .font .texname ]
152+ if texfont .filename is None :
153+ # Not TypeError:
154+ # :mpltest:`test_backend_svg.test_missing_psfont`.
155+ raise ValueError (f"No font file found for { texfont .psname } "
156+ f"({ texfont .texname !a} )" )
157+ mb .add_usetex_glyph (
158+ text .x , - text .y ,
159+ texfont .filename , text .font .size ,
160+ _util .get_glyph_name (text ) or text .glyph ,
161+ texfont .effects .get ("slant" , 0 ),
162+ texfont .effects .get ("extend" , 1 ))
157163 for x1 , y1 , h , w in page .boxes :
158164 mb .add_rect (x1 , - y1 , x1 + w , - (y1 + h ))
159165 mb .draw (self , x , y , angle )
0 commit comments