@@ -2263,7 +2263,11 @@ def draw_text(self, gc, x, y, s, prop, angle, ismath=False, mtext=None):
22632263 return self .draw_mathtext (gc , x , y , s , prop , angle )
22642264
22652265 fontsize = prop .get_size_in_points ()
2266- language = mtext .get_language () if mtext is not None else None
2266+ if mtext is not None :
2267+ features = mtext .get_fontfeatures ()
2268+ language = mtext .get_language ()
2269+ else :
2270+ features = language = None
22672271
22682272 if mpl .rcParams ['pdf.use14corefonts' ]:
22692273 font = self ._get_font_afm (prop )
@@ -2273,7 +2277,7 @@ def draw_text(self, gc, x, y, s, prop, angle, ismath=False, mtext=None):
22732277 fonttype = mpl .rcParams ['pdf.fonttype' ]
22742278
22752279 if gc .get_url () is not None :
2276- font .set_text (s , language = language )
2280+ font .set_text (s , features = features , language = language )
22772281 width , height = font .get_width_height ()
22782282 self .file ._annotations [- 1 ][1 ].append (_get_link_annotation (
22792283 gc , x , y , width / 64 , height / 64 , angle ))
@@ -2321,7 +2325,8 @@ def output_singlebyte_chunk(kerns_or_chars):
23212325 prev_start_x = 0
23222326 # Emit all the characters in a BT/ET group.
23232327 self .file .output (Op .begin_text )
2324- for item in _text_helpers .layout (s , font , kern_mode = Kerning .UNFITTED ,
2328+ for item in _text_helpers .layout (s , font , features = features ,
2329+ kern_mode = Kerning .UNFITTED ,
23252330 language = language ):
23262331 subset , charcode = self .file ._character_tracker .track_glyph (
23272332 item .ft_object , item .char , item .glyph_index )
0 commit comments