1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
from pathlib import Path
import pytest
from fpdf import FPDF
from test.conftest import assert_pdf_equal
HERE = Path(__file__).resolve().parent
@pytest.mark.skip(reason="Font related tests are failing with the fonts available in Debian")
def test_emoji_glyph(tmp_path):
pdf = FPDF()
pdf.add_font(fname=HERE / "DejaVuSans.ttf")
pdf.set_font("DejaVuSans", size=64)
pdf.add_page()
pdf.multi_cell(0, text="".join([chr(0x1F600 + x) for x in range(68)]))
pdf.set_font_size(32)
pdf.text(10, 270, "".join([chr(0x1F0A0 + x) for x in range(15)]))
assert_pdf_equal(pdf, HERE / "fonts_emoji_glyph.pdf", tmp_path)
@pytest.mark.skip(reason="Font related tests are failing with the fonts available in Debian")
def test_nb_replace(tmp_path):
pdf = FPDF()
pdf.add_font(fname=HERE / "DejaVuSans.ttf")
pdf.add_page()
pdf.set_font("DejaVuSans", size=64)
pdf.cell(text="{nb}")
pdf.set_font("helvetica")
pdf.cell(text="{nb}")
assert_pdf_equal(pdf, HERE / "fonts_remap_nb.pdf", tmp_path)
@pytest.mark.skip(reason="Font related tests are failing with the fonts available in Debian")
def test_two_mappings(tmp_path):
pdf = FPDF()
pdf.add_font(fname=HERE / "DejaVuSans.ttf")
pdf.add_font(fname=HERE / "DroidSansFallback.ttf")
pdf.add_page()
pdf.set_font("DejaVuSans", size=64)
pdf.cell(text="ABCDEF")
pdf.set_font("DroidSansFallback")
pdf.cell(text="DEFGHI")
assert_pdf_equal(pdf, HERE / "fonts_two_mappings.pdf", tmp_path)
@pytest.mark.skip(reason="Font related tests are failing with the fonts available in Debian")
def test_thai_text(tmp_path):
pdf = FPDF()
pdf.add_font(fname=HERE / "Waree.ttf")
pdf.set_font("Waree")
pdf.add_page()
pdf.write(text="สวัสดีชาวโลก ทดสอบฟอนต์, Hello world font test.")
assert_pdf_equal(pdf, HERE / "thai_text.pdf", tmp_path)
|