From efb668a8a62f75891780e547e21871c087bc15c3 Mon Sep 17 00:00:00 2001
From: Lucas Cimon <925560+Lucas-C@users.noreply.github.com>
Date: Fri, 10 Mar 2023 12:14:03 +0100
Subject: [PATCH] Reducing fonttools memory usage by 10MiB by passing lazy=True
to TTFont constructor
---
fpdf/fpdf.py | 2 +-
fpdf/output.py | 2 +-
test/end_to_end_legacy/__init__.py | 1 -
test/end_to_end_legacy/charmap/__init__.py | 5 ---
.../charmap_first_999_chars-DejaVuSans.pdf | Bin
...rmap_first_999_chars-DroidSansFallback.pdf | Bin
.../charmap_first_999_chars-NotoSans.pdf | Bin 0 -> 81755 bytes
...harmap_first_999_chars-NotoSansSymbols.pdf | Bin 0 -> 200666 bytes
.../charmap_first_999_chars-NotoSerif.pdf | Bin 0 -> 136369 bytes
...rmap_first_999_chars-Quicksand-Regular.pdf | Bin 0 -> 26919 bytes
...charmap_first_999_chars-Roboto-Regular.pdf | Bin
test/fonts/charmap_first_999_chars-Waree.pdf | Bin 0 -> 63097 bytes
.../charmap_first_999_chars-cmss12.pdf | Bin
.../charmap => fonts}/test_charmap.py | 33 +++++++++++-------
test/test_perfs.py | 8 +++--
15 files changed, 28 insertions(+), 23 deletions(-)
delete mode 100644 test/end_to_end_legacy/__init__.py
delete mode 100644 test/end_to_end_legacy/charmap/__init__.py
rename test/{end_to_end_legacy/charmap => fonts}/charmap_first_999_chars-DejaVuSans.pdf (100%)
rename test/{end_to_end_legacy/charmap => fonts}/charmap_first_999_chars-DroidSansFallback.pdf (100%)
create mode 100644 test/fonts/charmap_first_999_chars-NotoSans.pdf
create mode 100644 test/fonts/charmap_first_999_chars-NotoSansSymbols.pdf
create mode 100644 test/fonts/charmap_first_999_chars-NotoSerif.pdf
create mode 100644 test/fonts/charmap_first_999_chars-Quicksand-Regular.pdf
rename test/{end_to_end_legacy/charmap => fonts}/charmap_first_999_chars-Roboto-Regular.pdf (100%)
create mode 100644 test/fonts/charmap_first_999_chars-Waree.pdf
rename test/{end_to_end_legacy/charmap => fonts}/charmap_first_999_chars-cmss12.pdf (100%)
rename test/{end_to_end_legacy/charmap => fonts}/test_charmap.py (55%)
diff --git a/fpdf/fpdf.py b/fpdf/fpdf.py
index c0fa7c6d0..3d9d067d2 100644
--- a/fpdf/fpdf.py
+++ b/fpdf/fpdf.py
@@ -1798,7 +1798,7 @@ def add_font(self, family=None, style="", fname=None, uni="DEPRECATED"):
if fontkey in self.fonts or fontkey in self.core_fonts:
warnings.warn(f"Core font or font already added '{fontkey}': doing nothing")
return
- font = ttLib.TTFont(font_file_path, fontNumber=0)
+ font = ttLib.TTFont(font_file_path, fontNumber=0, lazy=True)
scale = 1000 / font["head"].unitsPerEm
default_width = round(scale * font["hmtx"].metrics[".notdef"][0])
diff --git a/fpdf/output.py b/fpdf/output.py
index aacdbe1df..cd37e0105 100644
--- a/fpdf/output.py
+++ b/fpdf/output.py
@@ -578,7 +578,7 @@ def _add_fonts(self):
# recalcTimestamp=False means that it doesn't modify the "modified" timestamp in head table
# if we leave recalcTimestamp=True the tests will break every time
fonttools_font = ttLib.TTFont(
- file=font["ttffile"], recalcTimestamp=False, fontNumber=0
+ file=font["ttffile"], recalcTimestamp=False, fontNumber=0, lazy=True
)
# 1. get all glyphs in PDF
diff --git a/test/end_to_end_legacy/__init__.py b/test/end_to_end_legacy/__init__.py
deleted file mode 100644
index eb86c6f28..000000000
--- a/test/end_to_end_legacy/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-"""This package contains legacy end to end tests"""
diff --git a/test/end_to_end_legacy/charmap/__init__.py b/test/end_to_end_legacy/charmap/__init__.py
deleted file mode 100644
index fe6ef108c..000000000
--- a/test/end_to_end_legacy/charmap/__init__.py
+++ /dev/null
@@ -1,5 +0,0 @@
-"""This package contains the Character Map Test
-
-from commit 2eab310cfd866ce24947c3a9d850ebda7c6d515d in 1.7.2 version:
-github.com/reingart/pyfpdf/commit/2eab310cfd866ce24947c3a9d850ebda7c6d515d
-"""
diff --git a/test/end_to_end_legacy/charmap/charmap_first_999_chars-DejaVuSans.pdf b/test/fonts/charmap_first_999_chars-DejaVuSans.pdf
similarity index 100%
rename from test/end_to_end_legacy/charmap/charmap_first_999_chars-DejaVuSans.pdf
rename to test/fonts/charmap_first_999_chars-DejaVuSans.pdf
diff --git a/test/end_to_end_legacy/charmap/charmap_first_999_chars-DroidSansFallback.pdf b/test/fonts/charmap_first_999_chars-DroidSansFallback.pdf
similarity index 100%
rename from test/end_to_end_legacy/charmap/charmap_first_999_chars-DroidSansFallback.pdf
rename to test/fonts/charmap_first_999_chars-DroidSansFallback.pdf
diff --git a/test/fonts/charmap_first_999_chars-NotoSans.pdf b/test/fonts/charmap_first_999_chars-NotoSans.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..7b96fe24bd1e9a60681702a072ce6f44dc92d4dc
GIT binary patch
literal 81755
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 QZfMz|;o*(S3q%(nT<&wD-&0my2Ee|H@B`5s4+G
z=?9UxD8UDn7@EdqP-0PHQR1S+MTv(J4<$ZIe3S$z2~ZNEBt*#=C1aFCD2b>f!1myS
z^hIDz)8KBn39a`yV0r7D=>O_1z
zv=;{P@em(__;@&;4C3Q;AVPdR98XXHu|Xap0tHYBF@OT7gyRVcpc0NJD1b_+X;1)_
z5FaRjN{9~>KqbTnra>jd2MVAP;sXUx3GuOrh>!Tdh)5bA@v(@AkN8+b#P9G2tdrm2
z4_GI^!yh{8?C^(R5s?Mr6CxrD#0RRPbs|1c6_pSl
zsESI64^%}Z#0RRP65<0@Q3>%0J1`(VW5i&I_>2*QCE_zi43>z`7%^BPK4ZjSiTI2W
zgC*iKMhupS&loXSB0gipV2SvQ5rZY-Ge!)Sh|d_cVu|>S5s@Y0Ge)ggB0gipXNmZX
z5uYXE6Cpk;#3w?0R)|l8_^c402=Q4VJ`v)xLVO~`XNCAgh|db~i4dO^;u9f0E5s*4
zd{&50g!rrwp9t|;AwCh}vqF3##Ak*0M2OD{@re+h72*TOBf7OleBgLgLVVzOR6=~<
zcvM1s;CNI*eBgLgLVVzOR6=~_h|e1FnIk@H#0QQ?b0R)-#Al88%n_e8;xk8l)`-s>
z@mV82bHrzj_{
z13??jN%1idv{8xTV<2dw62-?r&_*SSkKrIba6F0u@qyz}3GspB5eb4eQVtxCN{9~}
zk4lIS9FIzf4;+t5hz}f(N{9~}k4lIS9FIzf4;+t5hz}f(N{9~}k4lIS9FIzf4;+t5
zhz}f(N{9~}k4lIS9FIzf4;+t3KpY4@YsA+PLt7)hju_e+@pZ(|)`+hohPFn09Wk^u
z;_HZ^!SQGdhz}f(N{G)I@pVM^;CM6*@qyz}3GspBQ3>&Z<53Cmf#XpL@qyz}3GspB
z5vhX%f#XpL^#_heCDb1{9+gmkHi(al`m;fNT-2Wp;^U(JY!Dw8@!23gF5&~nqjjSG
z!11Vr_`va~g!sVmsD${y@u-CO!11Vr_`va~MDY>FBNE2!#PO&^@e#+P62(Uxk4h9D
zaXczfe8lmnMDY>FqY}kO9FIyAA8|Y?QGCSls6_D*$D%+4TNf^$VoLwp#sGsu=0jM*7vOK|##
zIT0U(le7iI2jL`@5Fdn-R6=|ZPErZ+K{!bz#0TLdl@K2v@gZAc_=t}|{qYeWGIrS2
zq~(x1F%V9YT97+2$e9`BP7DN>G!5|~_hpbf!Eq_3q5dGaq&X2E@&Gv5r6Z3#01k3c
zLVU=b7~}yAawi6P0E66#f#8zXiTIEQFvy)4Wb+JiCk9yoaXg}FWCaXtK2QnqaZ!H|
zYLYs+XrB;jQVH=vs7WQXPY5-sg!mxTq!QvoR=|Mc(H2mDT*Qa0fZ?M4kQFdo)F19T
zFkI9has-Bp_=KoGF4`wD1_sD7Z2|R%JdS}dl=KC890Oq}l@K3LDzW03z5$D=tBAF?_I`5)}rV;bT^R>wdXN?S*K$p47r(OM86vN{IB
zP?{6*K^RIU#0Oz0l@K3
JRxJ
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