From 573fb980f158ecb892b704a2394474c2776b4919 Mon Sep 17 00:00:00 2001 From: nulano Date: Sat, 20 Jun 2020 12:54:53 +0200 Subject: [PATCH] add getbbox and getlength, with tests --- Tests/fonts/LICENSE.txt | 1 + Tests/fonts/OpenSansCondensed-LightItalic.ttf | Bin 0 -> 90120 bytes .../test_anchor_multiline_lm_center.png | Bin 0 -> 9572 bytes .../images/test_anchor_multiline_lm_left.png | Bin 0 -> 9578 bytes .../images/test_anchor_multiline_lm_right.png | Bin 0 -> 9563 bytes .../test_anchor_multiline_ma_center.png | Bin 0 -> 9483 bytes .../test_anchor_multiline_md_center.png | Bin 0 -> 9476 bytes .../test_anchor_multiline_mm_center.png | Bin 0 -> 9498 bytes .../images/test_anchor_multiline_mm_left.png | Bin 0 -> 9528 bytes .../images/test_anchor_multiline_mm_right.png | Bin 0 -> 9514 bytes .../test_anchor_multiline_rm_center.png | Bin 0 -> 9543 bytes .../images/test_anchor_multiline_rm_left.png | Bin 0 -> 9556 bytes .../images/test_anchor_multiline_rm_right.png | Bin 0 -> 9532 bytes .../test_combine_multiline_lm_center.png | Bin 0 -> 4381 bytes .../images/test_combine_multiline_lm_left.png | Bin 0 -> 4372 bytes .../test_combine_multiline_lm_right.png | Bin 0 -> 4385 bytes .../test_combine_multiline_mm_center.png | Bin 0 -> 4399 bytes .../images/test_combine_multiline_mm_left.png | Bin 0 -> 4402 bytes .../test_combine_multiline_mm_right.png | Bin 0 -> 4407 bytes .../test_combine_multiline_rm_center.png | Bin 0 -> 4381 bytes .../images/test_combine_multiline_rm_left.png | Bin 0 -> 4385 bytes .../test_combine_multiline_rm_right.png | Bin 0 -> 4378 bytes Tests/test_imagefont.py | 127 +++++++++++++++--- Tests/test_imagefontctl.py | 87 +++++++++++- src/PIL/ImageDraw.py | 8 +- src/PIL/ImageFont.py | 110 +++++++++++++++ src/_imagingft.c | 45 +++++++ 27 files changed, 358 insertions(+), 20 deletions(-) create mode 100644 Tests/fonts/OpenSansCondensed-LightItalic.ttf create mode 100644 Tests/images/test_anchor_multiline_lm_center.png create mode 100644 Tests/images/test_anchor_multiline_lm_left.png create mode 100644 Tests/images/test_anchor_multiline_lm_right.png create mode 100644 Tests/images/test_anchor_multiline_ma_center.png create mode 100644 Tests/images/test_anchor_multiline_md_center.png create mode 100644 Tests/images/test_anchor_multiline_mm_center.png create mode 100644 Tests/images/test_anchor_multiline_mm_left.png create mode 100644 Tests/images/test_anchor_multiline_mm_right.png create mode 100644 Tests/images/test_anchor_multiline_rm_center.png create mode 100644 Tests/images/test_anchor_multiline_rm_left.png create mode 100644 Tests/images/test_anchor_multiline_rm_right.png create mode 100644 Tests/images/test_combine_multiline_lm_center.png create mode 100644 Tests/images/test_combine_multiline_lm_left.png create mode 100644 Tests/images/test_combine_multiline_lm_right.png create mode 100644 Tests/images/test_combine_multiline_mm_center.png create mode 100644 Tests/images/test_combine_multiline_mm_left.png create mode 100644 Tests/images/test_combine_multiline_mm_right.png create mode 100644 Tests/images/test_combine_multiline_rm_center.png create mode 100644 Tests/images/test_combine_multiline_rm_left.png create mode 100644 Tests/images/test_combine_multiline_rm_right.png diff --git a/Tests/fonts/LICENSE.txt b/Tests/fonts/LICENSE.txt index 528eed9ef..538862b97 100644 --- a/Tests/fonts/LICENSE.txt +++ b/Tests/fonts/LICENSE.txt @@ -9,6 +9,7 @@ ter-x20b.pcf, from http://terminus-font.sourceforge.net/ All of the above fonts are published under the SIL Open Font License (OFL) v1.1 (http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL), which allows you to copy, modify, and redistribute them if you need to. +OpenSansCondensed-LightItalic.tt, from https://fonts.google.com/specimen/Open+Sans, under Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0) 10x20-ISO8859-1.pcf, from https://packages.ubuntu.com/xenial/xfonts-base diff --git a/Tests/fonts/OpenSansCondensed-LightItalic.ttf b/Tests/fonts/OpenSansCondensed-LightItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b4ee4951f33ada1a1c4ec71349d9755ea95063fd GIT binary patch literal 90120 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�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 literal 0 HcmV?d00001 diff --git a/Tests/images/test_anchor_multiline_lm_right.png b/Tests/images/test_anchor_multiline_lm_right.png new file mode 100644 index 0000000000000000000000000000000000000000..c12a8d63e9b357c6819701cded0a8e8e74fcb760 GIT binary patch literal 9563 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 S1o%%=2)QSUk8`Ar-uxGfh}Omc literal 0 HcmV?d00001 diff --git a/Tests/images/test_anchor_multiline_ma_center.png b/Tests/images/test_anchor_multiline_ma_center.png new file mode 100644 index 0000000000000000000000000000000000000000..4f35d781f627062852048ed15d6400dea5312536 GIT binary patch literal 9483 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 literal 0 HcmV?d00001 diff --git a/Tests/images/test_anchor_multiline_md_center.png b/Tests/images/test_anchor_multiline_md_center.png new file mode 100644 index 0000000000000000000000000000000000000000..8290d045cfaf0b8bbd243b9f5c4c75aa1c17e36c GIT binary patch literal 9476 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 OAvA7itL9&`dHO$aLttwF literal 0 HcmV?d00001 diff --git a/Tests/images/test_anchor_multiline_mm_left.png b/Tests/images/test_anchor_multiline_mm_left.png new file mode 100644 index 0000000000000000000000000000000000000000..87d56636a1304d1ba6b437f3d5693d362bed4769 GIT binary patch literal 9528 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 TfD8N|D1`D|b%jrICcgg%hStVx literal 0 HcmV?d00001 diff --git a/Tests/images/test_anchor_multiline_rm_center.png b/Tests/images/test_anchor_multiline_rm_center.png new file mode 100644 index 0000000000000000000000000000000000000000..98073144bc2dcedd256b46732fbd248696e47962 GIT binary patch literal 9543 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 literal 0 HcmV?d00001 diff --git a/Tests/images/test_anchor_multiline_rm_left.png b/Tests/images/test_anchor_multiline_rm_left.png new file mode 100644 index 0000000000000000000000000000000000000000..838fd7858a475fce1cdaa52a34fbf3d33fac4437 GIT binary patch literal 9556 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 literal 0 HcmV?d00001 diff --git a/Tests/images/test_anchor_multiline_rm_right.png b/Tests/images/test_anchor_multiline_rm_right.png new file mode 100644 index 0000000000000000000000000000000000000000..290f584179493850330284019af922a0e833eb1d GIT binary patch literal 9532 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 AIRF3v literal 0 HcmV?d00001 diff --git a/Tests/images/test_combine_multiline_lm_left.png b/Tests/images/test_combine_multiline_lm_left.png new file mode 100644 index 0000000000000000000000000000000000000000..461483d00bff3a3f6b2eda6ddf7af3933258333a GIT binary patch literal 4372 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 AkM8jr)kf~Id5rt}s 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 WvMhNl7X0<0<$BWdMETDl*Zu|2zaV7* literal 0 HcmV?d00001 diff --git a/Tests/images/test_combine_multiline_mm_center.png b/Tests/images/test_combine_multiline_mm_center.png new file mode 100644 index 0000000000000000000000000000000000000000..dfb6b7b3947b546ca47434f75452ab583fe7c71d GIT binary patch literal 4399 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 aVfQ~LcRYnvGQi&+YR(tn=c~>Jru+j(%RPet literal 0 HcmV?d00001 diff --git a/Tests/images/test_combine_multiline_rm_left.png b/Tests/images/test_combine_multiline_rm_left.png new file mode 100644 index 0000000000000000000000000000000000000000..8aae219d36ebefc356f257c7738382a1aaee9c78 GIT binary patch literal 4385 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 literal 0 HcmV?d00001 diff --git a/Tests/images/test_combine_multiline_rm_right.png b/Tests/images/test_combine_multiline_rm_right.png new file mode 100644 index 0000000000000000000000000000000000000000..b5f7f03970f431bf0a8dba9b734b9f3d5f62ce67 GIT binary patch literal 4378 zcmeHLX;f2J9;Z{3x>AR_P-2i;L`6VZWC&f-B*EL)op0#X?`f&23NIl$p%xGKZsgl>ZJx9oE*PPlj zyc2#I3es^QAKrfU+`A{M6YY0wACJ1s@Y6_K3FoK7MrIL-=q@ zG9%FK5f+ETSy))0;alVLiYZXFQx049e0%rGSN`Ap+5B08|3JZcn@mQOaNh!-rW8`K zqpzO3lPXa4;qQLg_1t5T(!~GXH1Kc!?eDiZR9aO>_Q7K~jW~z;VnlWhF+rjY}dLyjxx(!3){B;s+I0^W@|BpLV5P=S-Hb$ z*XfLJzp<~peO!IpzZ zc5l$()@6;IkbTw>fi`59vO%OD0jIa~Bb%KMx!V3fJK0Jdeh&;eckWz0mxzy+Y9_9~ zT^gw|%XNl|xomcVkcp)FHkf8PlA}kjZQFCKbGnz8u6|$iK*utCsKR@M2jjmESe;>@ z>TWQ)3b?V;532$?PMVuPb$ec1TrA@^2|l^I_H-5STGj6#y!Hrlv}raxjSs;m8Oa zFZ#q}5*FPH^Gt&r2?PZROB+f5{BCGyXt$vkJ9;e4)6?_q-5pJ9y)cAyp~T~;r<+?u zA6(3i=rT%%YsCK=MHD#p-{BC%9E9{^TC`xC(7#GlNO$PkCGVpFV)$zhbi_oDPiT% z$5;acZoa;3dZKD${@SL23;jj&1$h3vow%XPxTykZqDz@r*s^ESB_tB*?moyYc~bU; z{*P1pk~aNA@ACi9Y+|w5Yyk2o8+h30D+<&JT7hY?k?C8m&G!iwt8TXKsz}01d1WXc zpT_v_;?{-((s06Wt!{1cY7L_Ad)BewUuJ(S$@6lq^W2vXUBTj|nI2FirKB%0T6lP4 zn19Ra2SbVU2ReUZW56e~bUnIy`E8|)s~X1(TF~%cn@3vkVgXUyM1gKHFmFBj3%E7* zdG&j7@f4CS^{iegN`X4+I?DVU8-x1_q*7@)rSbau%A`SILWE$vMPvKEn+*M&?%z(7 z6ctV0q{fK&9Mq*t>5wV;S|2tn3_ewfZT`|8m}y6lR-l_sHpvxYZlPIl?;}0??{#!C zv*vrrVdM|9 zu?9A5o@mx1rioibDGI=VS-vC{#_u#vT&n7DbaH~l8h@>^vpd`qg~C6k+gaICD_5}{ zsr#Fvmu=d~OYDY7_Ul`bbKTbxk)K)ALi1|_pleJS0@i_8Z`I5gId^{#TqR#i8S5*6 zQ)UK6QVDci)5-yZGsO z7)vl#FF5U#mzUR`rc1xhd=Yp-rBrl0)Uk|O=%*26{NbwU(j1IW)zxzma4WFDjEs!N z#>P7$cN9uClj%wWTL)AWfY(pCnuC1lvmu9d0lxu;g00ITLyuoMMIaDt$i2O(-&-8D zCId0RPPacC;oZ|RAS%}i5g~}#+1V61`4llq=+q1ipX<(LP^FEZDW502SQva*wI>zR zLIkR?3}*TSham`=mrBm-mzNImK!NKy%us4eHtKipnxAXY^Y;u2Iu!j|Cz&iAiw-xzOcBDc45aj-ZY+2AE!dr8Ox~1WZCY##LrFwedMkbSaa1s0K`J*@ESpnWOdhX03{F1F_5j zKu_`Bg!tuVXm(DH38vX9moS;U7ekcH)|L0T4ma)K( zj=_>#!mohO{nXHdGF9*cirXiV;{x&b^`&aX6v%e12y425-WfTx`gg>OjWx zvVuG^LAG2^S1AO+WreX*_w=2ze=KLRSTTz#%SkJ(3VzT?br2&8yl!Ck<=(;Y4E#K- zp*8VQO|Olic)!1x9qAenFik->MVM?3?#Z(t%GXP@%^@a9%oe#qkm&l%Ar&%`esQxV zG~byn973g_!T@eqeu;!=V5`oBc8X`D@X_YD$Y{o?%sW5zF(x(R3-wm>7HF>Y?F6L&NVq6RLIp~etDj6cqVp%9b| zDq*&+c9IzlXzY{U7bXz#Xf!$~XtoNnH&wHB@w{oSb7bV&34W1ccYEr75}tcB%hA)z z>yUV&h!lBY_#wpV=7D-E_cE6jfOlAJ3c#%hIb0jcI^8!PuMo0W6g2+hxxKi>Q~mnt z9C9Y4-!2jSy*~Im|1F0c({jSNvPW5uU_KB-!P08GpU3Bp{zCrf}fWX{a zO+hcX)`@9Jb&!nXrAYE9atW#H1x zdq#>t4mU&wV|Hq6`r&divz(>k>MwP=mma#9_t@Fe(vq8~Qp9PuFV}OGIdr)`4DIVH zfAh6wpzdVl&B?Z!K08=bLRYqt<#=p>OvYQ{ogxC|owd`w4t&zVSGC$@LZ8WS$`~n> z&lq&9_f~iutp(y&-$0+b-^Kqya0LMHWaqNoEvsw*Q9xpHcv z!chEhDJ4?|p^;%RF1e<&Kt%8D@WH`oTo`wC+6RCr{5TTVL}m zN5UG3n*dO(8S@K!(7W!2H!x6#&70!}acNUFdd-qKQUiVY!-o$>s5;24a<;~LsoV3@ zcQ$jtiggKpeAGjZzrHmMh-(#cQiR;GNMgNeV!huW=A++k~2KiCfwO{XEkgYz4>fgj6})V-M4$w%cD;7kT2 zjqHDe(`Yfhdr$Ht)T?#Jew!#D8ulqWmp^$01qE%0%Z7d6R_x6HSV(q+czy;*T-FW# zT&f?Ps}$9TAw>D*b#*7Lhm;Cg*+o)xC(47#WTx3k7kFib<3)qF<%^3~3l97E_z)GJ z{agV!%nBvW-rnAEaT1_w?tt9x?llCNNK{YYH_XrVl2K^%hAdWBSN|&zRS&u%TB@s8 zUzAg%pcXV>Rd-ItEfl3hs6NmoJy;vl&MZUZ94$T%nE2!n8wAj{S8=2.3", "<2.4"): {"multiline": 30, "textsize": 12, "getters": (12, 16)}, - (">=2.7",): {"multiline": 6.2, "textsize": 2.5, "getters": (12, 16)}, - "Default": {"multiline": 0.5, "textsize": 0.5, "getters": (12, 16)}, + (">=2.3", "<2.4"): { + "multiline": 30, + "textsize": 12, + "multiline-anchor": 6, + "getlength": (36, 27, 27, 33), + }, + (">=2.7",): { + "multiline": 6.2, + "textsize": 2.5, + "multiline-anchor": 4, + "getlength": (36, 21, 24, 33), + }, + "Default": { + "multiline": 0.5, + "textsize": 0.5, + "multiline-anchor": 4, + "getlength": (36, 24, 24, 33), + }, } @classmethod @@ -179,6 +194,34 @@ class TestImageFont: # Epsilon ~.5 fails with FreeType 2.7 assert_image_similar(im, target_img, self.metrics["textsize"]) + @pytest.mark.parametrize( + "text,mode,font,size,length_basic_index,length_raqm", + ( + # basic test + ("text", "L", "FreeMono.ttf", 15, 0, 36), + ("text", "1", "FreeMono.ttf", 15, 0, 36), + # issue 4177 + ("rrr", "L", "DejaVuSans.ttf", 18, 1, 22.21875), + ("rrr", "1", "DejaVuSans.ttf", 18, 2, 22.21875), + # test 'l' not including extra margin + # using exact value 2047 / 64 for raqm, checked with debugger + ("ill", "L", "OpenSansCondensed-LightItalic.ttf", 63, 3, 31.984375), + ("ill", "1", "OpenSansCondensed-LightItalic.ttf", 63, 3, 31.984375), + ), + ) + def test_getlength(self, text, mode, font, size, length_basic_index, length_raqm): + f = ImageFont.truetype( + "Tests/fonts/" + font, size, layout_engine=self.LAYOUT_ENGINE + ) + + if self.LAYOUT_ENGINE == ImageFont.LAYOUT_BASIC: + length = f.getlength(text, mode) + assert length == self.metrics["getlength"][length_basic_index] + else: + # disable kerning, kerning metrics changed + length = f.getlength(text, mode, features=["-kern"]) + assert length == length_raqm + def test_render_multiline(self): im = Image.new(mode="RGB", size=(300, 100)) draw = ImageDraw.Draw(im) @@ -581,7 +624,7 @@ class TestImageFont: assert t.font.glyphs == 4177 assert t.getsize("A") == (12, 16) assert t.getsize("AB") == (24, 16) - assert t.getsize("M") == self.metrics["getters"] + assert t.getsize("M") == (12, 16) assert t.getsize("y") == (12, 20) assert t.getsize("a") == (12, 16) assert t.getsize_multiline("A") == (12, 16) @@ -735,35 +778,87 @@ class TestImageFont: self._check_text(font, "Tests/images/variation_tiny_axes.png", 32.5) @pytest.mark.parametrize( - "name,text,anchor", + "anchor,left,left_raqm,top", ( # test horizontal anchors - ("quick", "Quick", "ls"), - ("quick", "Quick", "ms"), - ("quick", "Quick", "rs"), + ("ls", 0, 0, -36), + ("ms", -64, -65, -36), + ("rs", -128, -129, -36), # test vertical anchors - ("quick", "Quick", "ma"), - ("quick", "Quick", "mt"), - ("quick", "Quick", "mm"), - ("quick", "Quick", "mb"), - ("quick", "Quick", "md"), + ("ma", -64, -65, 16), + ("mt", -64, -65, 0), + ("mm", -64, -65, -17), + ("mb", -64, -65, -44), + ("md", -64, -65, -51), ), ) - def test_anchor(self, name, text, anchor): - path = "Tests/images/test_anchor_%s_%s.png" % (name, anchor) + def test_anchor(self, anchor, left, left_raqm, top): + name, text = "quick", "Quick" + target = "Tests/images/test_anchor_%s_%s.png" % (name, anchor) + freetype = distutils.version.StrictVersion(ImageFont.core.freetype2_version) + + if self.LAYOUT_ENGINE == ImageFont.LAYOUT_RAQM or freetype < "2.4": + width, height = (129, 44) + left = left_raqm + else: + width, height = (128, 44) + f = ImageFont.truetype( "Tests/fonts/NotoSans-Regular.ttf", 48, layout_engine=self.LAYOUT_ENGINE ) + # test getbbox + assert f.getbbox(text, anchor=anchor) == (left, top, left + width, top + height) + + # test render im = Image.new("RGB", (200, 200), "white") d = ImageDraw.Draw(im) d.line(((0, 100), (200, 100)), "gray") d.line(((100, 0), (100, 200)), "gray") d.text((100, 100), text, fill="black", anchor=anchor, font=f) - with Image.open(path) as expected: + with Image.open(target) as expected: assert_image_similar(im, expected, 7) + @pytest.mark.parametrize( + "anchor,align", + ( + # test horizontal anchors + ("lm", "left"), + ("lm", "center"), + ("lm", "right"), + ("mm", "left"), + ("mm", "center"), + ("mm", "right"), + ("rm", "left"), + ("rm", "center"), + ("rm", "right"), + # test vertical anchors + ("ma", "center"), + # ("mm", "center"), + ("md", "center"), + ), + ) + def test_anchor_multiline(self, anchor, align): + target = "Tests/images/test_anchor_multiline_%s_%s.png" % (anchor, align) + text = "a\nlong\ntext sample" + + f = ImageFont.truetype( + "Tests/fonts/NotoSans-Regular.ttf", 48, layout_engine=self.LAYOUT_ENGINE + ) + + # test render + im = Image.new("RGB", (600, 400), "white") + d = ImageDraw.Draw(im) + d.line(((0, 200), (600, 200)), "gray") + d.line(((300, 0), (300, 400)), "gray") + d.multiline_text( + (300, 200), text, fill="black", anchor=anchor, font=f, align=align + ) + + with Image.open(target) as expected: + assert_image_similar(im, expected, self.metrics["multiline-anchor"]) + @skip_unless_feature("raqm") class TestImageFont_RaqmLayout(TestImageFont): diff --git a/Tests/test_imagefontctl.py b/Tests/test_imagefontctl.py index 0abd681fe..85f9cdc20 100644 --- a/Tests/test_imagefontctl.py +++ b/Tests/test_imagefontctl.py @@ -209,6 +209,57 @@ def test_language(): assert_image_similar(im, target_img, 0.5) +@pytest.mark.parametrize("mode", ("L", "1")) +@pytest.mark.parametrize( + "text,direction,expected", + ( + ("سلطنة عمان Oman", None, 173.703125), + ("سلطنة عمان Oman", "ltr", 173.703125), + ("Oman سلطنة عمان", "rtl", 173.703125), + ("English عربي", "rtl", 123.796875), + ("test", "ttb", 80.0), + ), + ids=("None", "ltr", "rtl2", "rtl", "ttb"), +) +def test_getlength(mode, text, direction, expected): + try: + ttf = ImageFont.truetype(FONT_PATH, FONT_SIZE) + + assert ttf.getlength(text, mode, direction) == expected + except ValueError as ex: + if ( + direction == "ttb" + and str(ex) == "libraqm 0.7 or greater required for 'ttb' direction" + ): + pytest.skip("libraqm 0.7 or greater not available") + + +@pytest.mark.parametrize("mode", ("L", "1")) +@pytest.mark.parametrize("direction", ("ltr", "ttb")) +@pytest.mark.parametrize( + "text", + ("i" + ("\u030C" * 15) + "i", "i" + "\u032C" * 15 + "i", "\u035Cii", "i\u0305i"), + ids=("caron-above", "caron-below", "double-breve", "overline"), +) +def test_getlength_combine(mode, direction, text): + if text == "i\u0305i" and direction == "ttb": + pytest.skip("fails with this font") + + ttf = ImageFont.truetype("Tests/fonts/NotoSans-Regular.ttf", 48) + + try: + target = ttf.getlength("ii", mode, direction) + actual = ttf.getlength(text, mode, direction) + + assert actual == target + except ValueError as ex: + if ( + direction == "ttb" + and str(ex) == "libraqm 0.7 or greater required for 'ttb' direction" + ): + pytest.skip("libraqm 0.7 or greater not available") + + @pytest.mark.parametrize("anchor", ("lt", "mm", "rb", "sm")) def test_anchor_ttb(anchor): if distutils.version.StrictVersion(ImageFont.core.freetype2_version) < "2.5.1": @@ -291,8 +342,42 @@ def test_combine(name, text, dir, anchor, epsilon): try: d.text((200, 200), text, fill="black", anchor=anchor, direction=dir, font=f) except ValueError as ex: - if str(ex) == "libraqm 0.7 or greater required for 'ttb' direction": + if ( + dir == "ttb" + and str(ex) == "libraqm 0.7 or greater required for 'ttb' direction" + ): pytest.skip("libraqm 0.7 or greater not available") with Image.open(path) as expected: assert_image_similar(im, expected, epsilon) + + +@pytest.mark.parametrize( + "anchor,align", + ( + ("lm", "left"), # pass with getsize + ("lm", "center"), # fail at 2.12 + ("lm", "right"), # fail at 2.57 + ("mm", "left"), # fail at 2.12 + ("mm", "center"), # pass with getsize + ("mm", "right"), # fail at 2.12 + ("rm", "left"), # fail at 2.57 + ("rm", "center"), # fail at 2.12 + ("rm", "right"), # pass with getsize + ), +) +def test_combine_multiline(anchor, align): + # test that multiline text uses getline, not getsize or getbbox + + path = "Tests/images/test_combine_multiline_%s_%s.png" % (anchor, align) + f = ImageFont.truetype("Tests/fonts/NotoSans-Regular.ttf", 48) + text = "i\u0305\u035C\ntext" # i with overline and double breve, and a word + + im = Image.new("RGB", (400, 400), "white") + d = ImageDraw.Draw(im) + d.line(((0, 200), (400, 200)), "gray") + d.line(((200, 0), (200, 400)), "gray") + d.multiline_text((200, 200), text, fill="black", anchor=anchor, font=f, align=align) + + with Image.open(path) as expected: + assert_image_similar(im, expected, 0.015) diff --git a/src/PIL/ImageDraw.py b/src/PIL/ImageDraw.py index 07b3a640d..bef0d7964 100644 --- a/src/PIL/ImageDraw.py +++ b/src/PIL/ImageDraw.py @@ -379,6 +379,9 @@ class ImageDraw: elif anchor[1] in "tb": raise ValueError("anchor not supported for multiline text") + if font is None: + font = self.getfont() + widths = [] max_width = 0 lines = self._multiline_split(text) @@ -386,13 +389,12 @@ class ImageDraw: self.textsize("A", font=font, stroke_width=stroke_width)[1] + spacing ) for line in lines: - line_width, line_height = self.textsize( + line_width = font.getlength( line, - font, + self.fontmode, direction=direction, features=features, language=language, - stroke_width=stroke_width, ) widths.append(line_width) max_width = max(max_width, line_width) diff --git a/src/PIL/ImageFont.py b/src/PIL/ImageFont.py index 5612270d4..533f239c4 100644 --- a/src/PIL/ImageFont.py +++ b/src/PIL/ImageFont.py @@ -215,6 +215,113 @@ class FreeTypeFont: """ return self.font.ascent, self.font.descent + def getlength(self, text, mode="", direction=None, features=None, language=None): + """ + Returns length (in pixels) of given text if rendered in font with + provided direction, features, and language. + + This is the amount by which following text should be offset. + Text bounding box may extend past the length in some fonts, + e.g. when using italics or accents. + + The result is returned as a float; it is a whole number if using basic layout. + + :param text: Text to measure. + :param mode: Used by some graphics drivers to indicate what mode the + driver prefers; if empty, the renderer may return either + mode. Note that the mode is always a string, to simplify + C-level implementations. + + :param direction: Direction of the text. It can be 'rtl' (right to + left), 'ltr' (left to right) or 'ttb' (top to bottom). + Requires libraqm. + + :param features: A list of OpenType font features to be used during text + layout. This is usually used to turn on optional + font features that are not enabled by default, + for example 'dlig' or 'ss01', but can be also + used to turn off default font features for + example '-liga' to disable ligatures or '-kern' + to disable kerning. To get all supported + features, see + https://docs.microsoft.com/en-us/typography/opentype/spec/featurelist + Requires libraqm. + + :param language: Language of the text. Different languages may use + different glyph shapes or ligatures. This parameter tells + the font which language the text is in, and to apply the + correct substitutions as appropriate, if available. + It should be a `BCP 47 language code + ` + Requires libraqm. + + :return: Width for horizontal, height for vertical text. + """ + return ( + self.font.getlength(text, mode == "1", direction, features, language) / 64 + ) + + def getbbox( + self, + text, + mode="", + direction=None, + features=None, + language=None, + stroke_width=0, + anchor=None, + ): + """ + Returns bounding box (in pixels) of given text relative to given anchor + if rendered in font with provided direction, features, and language. + + Use :py:func`getlength()` to get the offset of following text. The bounding + box includes extra margins for some fonts, e.g. italics or accents. + + :param text: Text to render. + :param mode: Used by some graphics drivers to indicate what mode the + driver prefers; if empty, the renderer may return either + mode. Note that the mode is always a string, to simplify + C-level implementations. + + :param direction: Direction of the text. It can be 'rtl' (right to + left), 'ltr' (left to right) or 'ttb' (top to bottom). + Requires libraqm. + + :param features: A list of OpenType font features to be used during text + layout. This is usually used to turn on optional + font features that are not enabled by default, + for example 'dlig' or 'ss01', but can be also + used to turn off default font features for + example '-liga' to disable ligatures or '-kern' + to disable kerning. To get all supported + features, see + https://docs.microsoft.com/en-us/typography/opentype/spec/featurelist + Requires libraqm. + + :param language: Language of the text. Different languages may use + different glyph shapes or ligatures. This parameter tells + the font which language the text is in, and to apply the + correct substitutions as appropriate, if available. + It should be a `BCP 47 language code + ` + Requires libraqm. + + :param stroke_width: The width of the text stroke. + + :param anchor: The text anchor alignment. Determines the relative location of + the anchor to the text. The default alignment is top left. + See :ref:`text-anchors` for valid values. + + :return: ``(left, top, right, bottom)`` bounding box + """ + size, offset = self.font.getsize( + text, mode == "1", direction, features, language, anchor + ) + left, top = offset[0] - stroke_width, offset[1] - stroke_width + width, height = size[0] + stroke_width, size[1] + stroke_width + return left, top, left + width, top + height + def getsize( self, text, direction=None, features=None, language=None, stroke_width=0 ): @@ -222,6 +329,9 @@ class FreeTypeFont: Returns width and height (in pixels) of given text if rendered in font with provided direction, features, and language. + Use :py:func:`getlength()` to measure the offset of following text. + Use :py:func:`getbbox()` to get the exact bounding box based on an anchor. + :param text: Text to measure. :param direction: Direction of the text. It can be 'rtl' (right to diff --git a/src/_imagingft.c b/src/_imagingft.c index ac4e28ebc..4e60de5c5 100644 --- a/src/_imagingft.c +++ b/src/_imagingft.c @@ -607,6 +607,50 @@ text_layout(PyObject* string, FontObject* self, const char* dir, PyObject *featu return count; } +static PyObject* +font_getlength(FontObject* self, PyObject* args) +{ + int length; + FT_Face face; + int horizontal_dir; + int mask = 0; + const char *dir = NULL; + const char *lang = NULL; + size_t i, count; + GlyphInfo *glyph_info = NULL; + PyObject *features = Py_None; + + /* calculate size and bearing for a given string */ + + PyObject* string; + if (!PyArg_ParseTuple(args, "O|izOz:getlength", &string, &mask, &dir, &features, &lang)) { + return NULL; + } + + horizontal_dir = dir && strcmp(dir, "ttb") == 0 ? 0 : 1; + + count = text_layout(string, self, dir, features, lang, &glyph_info, mask); + if (PyErr_Occurred()) { + return NULL; + } + + length = 0; + for (i = 0; i < count; i++) { + if (horizontal_dir) { + length += glyph_info[i].x_advance; + } else { + length -= glyph_info[i].y_advance; + } + } + + if (glyph_info) { + PyMem_Free(glyph_info); + glyph_info = NULL; + } + + return PyLong_FromLong(length); +} + static PyObject* font_getsize(FontObject* self, PyObject* args) { @@ -1169,6 +1213,7 @@ font_dealloc(FontObject* self) static PyMethodDef font_methods[] = { {"render", (PyCFunction) font_render, METH_VARARGS}, {"getsize", (PyCFunction) font_getsize, METH_VARARGS}, + {"getlength", (PyCFunction) font_getlength, METH_VARARGS}, #if FREETYPE_MAJOR > 2 ||\ (FREETYPE_MAJOR == 2 && FREETYPE_MINOR > 9) ||\ (FREETYPE_MAJOR == 2 && FREETYPE_MINOR == 9 && FREETYPE_PATCH == 1)