Skip to content

Commit

Permalink
In a text widget, Font resources can be in the appearance
Browse files Browse the repository at this point in the history
  • Loading branch information
calixteman committed Jan 8, 2021
1 parent 35845d1 commit 83119b9
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 6 deletions.
24 changes: 18 additions & 6 deletions src/core/annotation.js
Original file line number Diff line number Diff line change
Expand Up @@ -998,12 +998,16 @@ class WidgetAnnotation extends Annotation {

const localResources = getInheritableProperty({ dict, key: "DR" });
const acroFormResources = params.acroForm.get("DR");
const appearanceResources =
this.appearance && this.appearance.dict.get("Resources");

this._fieldResources = {
localResources,
acroFormResources,
appearanceResources,
mergedResources: Dict.merge({
xref: params.xref,
dictArray: [localResources, acroFormResources],
dictArray: [localResources, appearanceResources, acroFormResources],
mergeSubDicts: true,
}),
};
Expand Down Expand Up @@ -1450,17 +1454,25 @@ class WidgetAnnotation extends Annotation {
"Expected `_getAppearance()` to have been called."
);
}
const { localResources, acroFormResources } = this._fieldResources;
const {
localResources,
acroFormResources,
appearanceResources,
} = this._fieldResources;

if (!this._fontName) {
return localResources || Dict.empty;
}
if (localResources instanceof Dict) {
const localFont = localResources.get("Font");
if (localFont instanceof Dict && localFont.has(this._fontName)) {
return localResources;

for (const resources of [localResources, appearanceResources]) {
if (resources instanceof Dict) {
const localFont = resources.get("Font");
if (localFont instanceof Dict && localFont.has(this._fontName)) {
return resources;
}
}
}

if (acroFormResources instanceof Dict) {
const acroFormFont = acroFormResources.get("Font");
if (acroFormFont instanceof Dict && acroFormFont.has(this._fontName)) {
Expand Down
12 changes: 12 additions & 0 deletions test/test_manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -4410,6 +4410,18 @@
"lastPage": 1,
"type": "eq"
},
{ "id": "issue12394",
"file": "pdfs/issue12392.pdf",
"md5": "76c3a34c6520940c45c66c92f7df2de5",
"rounds": 1,
"link": true,
"lastPage": 1,
"type": "eq",
"print": "true",
"annotationStorage": {
"35R": "收文"
}
},
{ "id": "issue4883",
"file": "pdfs/issue4883.pdf",
"md5": "2fac0d9a189ca5fcef8626153d050be8",
Expand Down

0 comments on commit 83119b9

Please sign in to comment.