diff --git a/Tests/fonts/DejaVuSans-24-1.ttf b/Tests/fonts/DejaVuSans-24-1.ttf new file mode 100644 index 00000000000..7f44530a143 Binary files /dev/null and b/Tests/fonts/DejaVuSans-24-1.ttf differ diff --git a/Tests/fonts/DejaVuSans-24-2.ttf b/Tests/fonts/DejaVuSans-24-2.ttf new file mode 100644 index 00000000000..7d3e249191b Binary files /dev/null and b/Tests/fonts/DejaVuSans-24-2.ttf differ diff --git a/Tests/fonts/DejaVuSans-24-4.ttf b/Tests/fonts/DejaVuSans-24-4.ttf new file mode 100644 index 00000000000..b3d1b8332b2 Binary files /dev/null and b/Tests/fonts/DejaVuSans-24-4.ttf differ diff --git a/Tests/fonts/DejaVuSans-24-8.ttf b/Tests/fonts/DejaVuSans-24-8.ttf new file mode 100644 index 00000000000..e3cf3f7474d Binary files /dev/null and b/Tests/fonts/DejaVuSans-24-8.ttf differ diff --git a/Tests/fonts/LICENSE.txt b/Tests/fonts/LICENSE.txt index 33e3a07fb2c..a8b9cee5e7a 100644 --- a/Tests/fonts/LICENSE.txt +++ b/Tests/fonts/LICENSE.txt @@ -12,6 +12,9 @@ BungeeColor-Regular_colr_Windows.ttf, from https://github.com/djrrb/bungee 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. +DejaVuSans-24-{1,2,4,8}.ttf are based on DejaVuSans.ttf converted using FontForge. + + 10x20-ISO8859-1.pcf, from https://packages.ubuntu.com/xenial/xfonts-base "Public domain font. Share and enjoy." diff --git a/Tests/images/bitmap_font_1.png b/Tests/images/bitmap_font_1.png new file mode 100644 index 00000000000..01a05606c0a Binary files /dev/null and b/Tests/images/bitmap_font_1.png differ diff --git a/Tests/images/bitmap_font_2.png b/Tests/images/bitmap_font_2.png new file mode 100644 index 00000000000..44d137dd67c Binary files /dev/null and b/Tests/images/bitmap_font_2.png differ diff --git a/Tests/images/bitmap_font_4.png b/Tests/images/bitmap_font_4.png new file mode 100644 index 00000000000..e79d86aa886 Binary files /dev/null and b/Tests/images/bitmap_font_4.png differ diff --git a/Tests/images/bitmap_font_8.png b/Tests/images/bitmap_font_8.png new file mode 100644 index 00000000000..15a7c980914 Binary files /dev/null and b/Tests/images/bitmap_font_8.png differ diff --git a/Tests/test_imagefont_bitmap.py b/Tests/test_imagefont_bitmap.py index e61bf22905b..1945556df04 100644 --- a/Tests/test_imagefont_bitmap.py +++ b/Tests/test_imagefont_bitmap.py @@ -2,7 +2,7 @@ from PIL import Image, ImageDraw, ImageFont -from .helper import assert_image_similar +from .helper import assert_image_equal_tofile, assert_image_similar, skip_unless_feature image_font_installed = True try: @@ -41,3 +41,21 @@ def test_similar(): font=font_outline, ) assert_image_similar(im_bitmap, im_outline, 4) + + +@skip_unless_feature("freetype2") +@pytest.mark.parametrize("bpp", (1, 2, 4, 8)) +def test_bitmap_font(bpp): + text = "Bitmap Font" + target = f"Tests/images/bitmap_font_{bpp}.png" + font = ImageFont.truetype( + f"Tests/fonts/DejaVuSans-24-{bpp}.ttf", + 24, + layout_engine=ImageFont.LAYOUT_BASIC, + ) + + im = Image.new("RGB", (160, 35), "white") + draw = ImageDraw.Draw(im) + draw.text((2, 2), text, "black", font) + + assert_image_equal_tofile(im, target)