@@ -706,6 +706,27 @@ def test_ft2font_get_kerning(left, right, unscaled, unfitted, default):
706706 ft2font .KERNING_DEFAULT ) == default
707707
708708
709+ def test_ft2font_set_text ():
710+ file = fm .findfont ('DejaVu Sans' )
711+ font = ft2font .FT2Font (file , hinting_factor = 1 , _kerning_factor = 0 )
712+ xys = font .set_text ('' )
713+ np .testing .assert_array_equal (xys , np .empty ((0 , 2 )))
714+ assert font .get_width_height () == (0 , 0 )
715+ assert font .get_num_glyphs () == 0
716+ assert font .get_descent () == 0
717+ assert font .get_bitmap_offset () == (0 , 0 )
718+ # This string uses all the kerning pairs defined for test_ft2font_get_kerning.
719+ xys = font .set_text ('AADAT.XC-J' )
720+ np .testing .assert_array_equal (
721+ xys ,
722+ [(0 , 0 ), (512 , 0 ), (1024 , 0 ), (1600 , 0 ), (2112 , 0 ), (2496 , 0 ), (2688 , 0 ),
723+ (3200 , 0 ), (3712 , 0 ), (4032 , 0 )])
724+ assert font .get_width_height () == (4288 , 768 )
725+ assert font .get_num_glyphs () == 10
726+ assert font .get_descent () == 192
727+ assert font .get_bitmap_offset () == (6 , 0 )
728+
729+
709730@pytest .mark .parametrize ('family_name, file_name' ,
710731 [("WenQuanYi Zen Hei" , "wqy-zenhei.ttc" ),
711732 ("Noto Sans CJK JP" , "NotoSansCJK.ttc" ),
0 commit comments