Fix: individual /Resources directory are now properly produced for each document page#1133
Fix: individual /Resources directory are now properly produced for each document page#1133
Conversation
f655bbb to
d11887a
Compare
|
Could you please review this @andersonhc or @gmischler? Despite the 100+ reference PDF files modified, this PR onlys affects 2 source Python files and is relatively short. |
b9fdf5e to
af159f9
Compare
|
There are some alternative approaches to the one currently used in this PR:
|
af159f9 to
c123b0e
Compare
|
I will try to make some time for a complete review by tomorrow. An example: from fpdf import FPDF
pdf = FPDF()
pdf.add_font("NotoSans", "B", "NotoSans-Bold.ttf")
pdf.add_font("NotoSans", "BI", "NotoSans-BoldItalic.ttf")
pdf.add_font("NotoSans", "I", "NotoSans-Italic.ttf")
pdf.add_font("NotoSans", "", "NotoSans-Regular.ttf")
pdf.set_font("NotoSans", "", 12)
pdf.single_resources_object = False
pdf.add_page()
pdf.multi_cell(w=pdf.epw, text="**Text in bold**", markdown=True)
pdf.add_page()
pdf.multi_cell(w=pdf.epw, text="__Text in italic__", markdown=True)
pdf.output("test1.pdf")The page 1 will have "F1" and "F4" in the resources dictionary, and page 2 will have "F3" and "F4". I have documents with many fallback fonts and there is a considerable amount of unused font data added to the documents. Might be something to tackle in a future PR. |
andersonhc
left a comment
There was a problem hiding this comment.
I don't have anything else to add. The changes are simple and clear.
I didn't have time to visually inspect all the changed reference files but I did a few and everything looks OK.
c123b0e to
f7229d3
Compare
f7229d3 to
9b81457
Compare
I opened issue #1382 regarding this. |
This change causes a slight increase of PDF documents, but makes their structure more valid regarding the PDF spec.
Checklist:
The GitHub pipeline is OK (green), meaning that both
pylint(static code analyzer) andblack(code formatter) are happy with the changes of this PR.A unit test is covering the code added / modified by this PR
This PR is ready to be merged
In case of a new feature, docstrings have been added, with also some documentation in the
docs/folderA mention of the change is present in
CHANGELOG.mdBy submitting this pull request, I confirm that my contribution is made under the terms of the GNU LGPL 3.0 license.