Skip to content

Commit 76d8b3c

Browse files
jkseppanQuLogic
andcommitted
Type-1 subsetting
This reduces pdf file sizes when usetex is active, at the cost of some complexity in the code. We implement a charstring bytecode interpreter to keep track of subroutine calls in font programs. Give dviread.DviFont a fake filename attribute and a get_fontmap method for character tracking. In backend_pdf.py, refactor _get_subsetted_psname so it calls a method _get_subset_prefix, and reuse that to create tags for Type-1 fonts. Mark the methods static since they don't use anything from the instance. Recommend merging to main to give people time to test this, not to a 3.10 point release. Closes matplotlib#127. Co-Authored-By: Elliott Sales de Andrade <[email protected]>
1 parent 2918b73 commit 76d8b3c

File tree

10 files changed

+536
-43
lines changed

10 files changed

+536
-43
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
PDF files created with usetex now embed subsets of Type 1 fonts
2+
---------------------------------------------------------------
3+
4+
When using the PDF backend with the usetex feature,
5+
Matplotlib calls TeX to render the text and formulas in the figure.
6+
The fonts that get used are usually "Type 1" fonts.
7+
They used to be embedded in full
8+
but are now limited to the glyphs that are actually used in the figure.
9+
This reduces the size of the resulting PDF files.

0 commit comments

Comments
 (0)