From 2a33db917fad7e8769ae00319d7ece83eec42d27 Mon Sep 17 00:00:00 2001 From: m-holger Date: Mon, 8 Dec 2025 17:54:22 +0000 Subject: [PATCH] Refactor `FormNode`: remove unused `getFontFromResource` method and simplify font resource handling in `generateTextAppearance`. --- libqpdf/QPDFFormFieldObjectHelper.cc | 16 +++------------- libqpdf/qpdf/AcroForm.hh | 2 -- 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/libqpdf/QPDFFormFieldObjectHelper.cc b/libqpdf/QPDFFormFieldObjectHelper.cc index 6b1e1c2..0e8ebd5 100644 --- a/libqpdf/QPDFFormFieldObjectHelper.cc +++ b/libqpdf/QPDFFormFieldObjectHelper.cc @@ -877,16 +877,6 @@ namespace }; } // namespace -QPDFObjectHandle -FormNode::getFontFromResource(QPDFObjectHandle resources, std::string const& name) -{ - QPDFObjectHandle result; - if (resources.isDictionary() && resources.getKey("/Font").isDictionary() && - resources.getKey("/Font").hasKey(name)) { - result = resources.getKey("/Font").getKey(name); - } - return result; -} void FormNode::generateTextAppearance(QPDFAnnotationObjectHelper& aoh) @@ -961,9 +951,9 @@ FormNode::generateTextAppearance(QPDFAnnotationObjectHelper& aoh) if (!font_name.empty()) { // See if the font is encoded with something we know about. Dictionary resources = AS.getDict()["/Resources"]; - Dictionary font = getFontFromResource(resources, font_name); + Dictionary font = resources["/Font"][font_name]; if (!font) { - font = getFontFromResource(getDefaultResources(), font_name); + font = getDefaultResources()["/Font"][font_name]; if (resources) { if (resources.indirect()) { resources = resources.qpdf()->makeIndirectObject(resources.copy()); @@ -972,7 +962,7 @@ FormNode::generateTextAppearance(QPDFAnnotationObjectHelper& aoh) // Use mergeResources to force /Font to be local QPDFObjectHandle res = resources; res.mergeResources(Dictionary({{"/Font", Dictionary::empty()}})); - res.getKey("/Font").replaceKey(font_name, font); + res.getKey("/Font").replace(font_name, font); } } diff --git a/libqpdf/qpdf/AcroForm.hh b/libqpdf/qpdf/AcroForm.hh index ecfc301..4c01269 100644 --- a/libqpdf/qpdf/AcroForm.hh +++ b/libqpdf/qpdf/AcroForm.hh @@ -769,8 +769,6 @@ namespace qpdf::impl void setRadioButtonValue(QPDFObjectHandle name); void setCheckBoxValue(bool value); void generateTextAppearance(QPDFAnnotationObjectHelper&); - QPDFObjectHandle - getFontFromResource(QPDFObjectHandle resources, std::string const& font_name); static const QPDFObjectHandle null_oh; }; // class FormNode -- libgit2 0.21.4