@@ -294,7 +294,6 @@ def __init__(self, width, height, svgwriter, basename=None, image_dpi=72,
294294 self ._has_gouraud = False
295295 self ._n_gradients = 0
296296 self ._fonts = OrderedDict ()
297- self .mathtext_parser = MathTextParser ('SVG' )
298297
299298 RendererBase .__init__ (self )
300299 self ._glyph_map = dict ()
@@ -312,6 +311,11 @@ def __init__(self, width, height, svgwriter, basename=None, image_dpi=72,
312311 self ._write_metadata (metadata )
313312 self ._write_default_style ()
314313
314+ @cbook .deprecated ("3.4" )
315+ @property
316+ def mathtext_parser (self ):
317+ return MathTextParser ('SVG' )
318+
315319 def finalize (self ):
316320 self ._write_clips ()
317321 self ._write_hatches ()
@@ -1173,26 +1177,23 @@ def _draw_text_as_text(self, gc, x, y, s, prop, angle, ismath, mtext=None):
11731177 else :
11741178 writer .comment (s )
11751179
1176- width , height , descent , svg_elements , used_characters = \
1177- self .mathtext_parser .parse (s , 72 , prop )
1178- svg_glyphs = svg_elements .svg_glyphs
1179- svg_rects = svg_elements .svg_rects
1180-
1181- attrib = {}
1182- attrib ['style' ] = generate_css (style )
1183- attrib ['transform' ] = generate_transform ([
1184- ('translate' , (x , y )),
1185- ('rotate' , (- angle ,))])
1180+ width , height , descent , glyphs , rects = \
1181+ self ._text2path .mathtext_parser .parse (s , 72 , prop )
11861182
11871183 # Apply attributes to 'g', not 'text', because we likely have some
11881184 # rectangles as well with the same style and transformation.
1189- writer .start ('g' , attrib = attrib )
1185+ writer .start ('g' ,
1186+ style = generate_css (style ),
1187+ transform = generate_transform ([
1188+ ('translate' , (x , y )),
1189+ ('rotate' , (- angle ,))]),
1190+ )
11901191
11911192 writer .start ('text' )
11921193
11931194 # Sort the characters by font, and output one tspan for each.
11941195 spans = OrderedDict ()
1195- for font , fontsize , thetext , new_x , new_y , metrics in svg_glyphs :
1196+ for font , fontsize , thetext , new_x , new_y in glyphs :
11961197 style = generate_css ({
11971198 'font-size' : short_float_fmt (fontsize ) + 'px' ,
11981199 'font-family' : font .family_name ,
@@ -1223,15 +1224,14 @@ def _draw_text_as_text(self, gc, x, y, s, prop, angle, ismath, mtext=None):
12231224
12241225 writer .end ('text' )
12251226
1226- if len (svg_rects ):
1227- for x , y , width , height in svg_rects :
1228- writer .element (
1229- 'rect' ,
1230- x = short_float_fmt (x ),
1231- y = short_float_fmt (- y + height ),
1232- width = short_float_fmt (width ),
1233- height = short_float_fmt (height )
1234- )
1227+ for x , y , width , height in rects :
1228+ writer .element (
1229+ 'rect' ,
1230+ x = short_float_fmt (x ),
1231+ y = short_float_fmt (- y - 1 ),
1232+ width = short_float_fmt (width ),
1233+ height = short_float_fmt (height )
1234+ )
12351235
12361236 writer .end ('g' )
12371237
0 commit comments