Ensure that we fully load Type3 fonts in PartialEvaluator.getTextContent
This is necessary now, since with the previous patch the /FontBBox potentially depends on the contents of the /CharProcs-streams. Note that if `getOperatorList` is called *before* `getTextContent`, this patch doesn't matter since the font is already fully loaded/parsed. However, for e.g. the `text` test-cases this is necessary to ensure correct reference images.
This commit is contained in:
parent
20770cb06a
commit
eefc94ceb7
@ -2251,6 +2251,20 @@ class PartialEvaluator {
|
|||||||
function handleSetFont(fontName, fontRef) {
|
function handleSetFont(fontName, fontRef) {
|
||||||
return self
|
return self
|
||||||
.loadFont(fontName, fontRef, resources)
|
.loadFont(fontName, fontRef, resources)
|
||||||
|
.then(function (translated) {
|
||||||
|
if (!translated.font.isType3Font) {
|
||||||
|
return translated;
|
||||||
|
}
|
||||||
|
return translated
|
||||||
|
.loadType3Data(self, resources, task)
|
||||||
|
.catch(function () {
|
||||||
|
// Ignore Type3-parsing errors, since we only use `loadType3Data`
|
||||||
|
// here to ensure that we'll always obtain a useful /FontBBox.
|
||||||
|
})
|
||||||
|
.then(function () {
|
||||||
|
return translated;
|
||||||
|
});
|
||||||
|
})
|
||||||
.then(function (translated) {
|
.then(function (translated) {
|
||||||
textState.font = translated.font;
|
textState.font = translated.font;
|
||||||
textState.fontMatrix =
|
textState.fontMatrix =
|
||||||
|
Loading…
x
Reference in New Issue
Block a user