mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-26 10:08:06 +02:00
Merge pull request #14064 from Snuffleupagus/issue-13845
Fallback to font name matching, when checking for serif fonts (issue 13845)
This commit is contained in:
commit
cc110b8542
5 changed files with 27 additions and 1 deletions
|
@ -3855,6 +3855,7 @@ class PartialEvaluator {
|
|||
loadedName: baseDict.loadedName,
|
||||
widths: metrics.widths,
|
||||
defaultWidth: metrics.defaultWidth,
|
||||
isSimulatedFlags: true,
|
||||
flags,
|
||||
firstChar,
|
||||
lastChar,
|
||||
|
|
|
@ -45,6 +45,7 @@ import {
|
|||
import {
|
||||
getGlyphMapForStandardFonts,
|
||||
getNonStdFontMap,
|
||||
getSerifFonts,
|
||||
getStdFontMap,
|
||||
getSupplementalGlyphMapForArialBlack,
|
||||
getSupplementalGlyphMapForCalibri,
|
||||
|
@ -872,7 +873,21 @@ class Font {
|
|||
this._charsCache = Object.create(null);
|
||||
this._glyphCache = Object.create(null);
|
||||
|
||||
this.isSerifFont = !!(properties.flags & FontFlags.Serif);
|
||||
let isSerifFont = !!(properties.flags & FontFlags.Serif);
|
||||
// Fallback to checking the font name, in order to improve text-selection,
|
||||
// since the /Flags-entry is often wrong (fixes issue13845.pdf).
|
||||
if (!isSerifFont && !properties.isSimulatedFlags) {
|
||||
const baseName = name.replace(/[,_]/g, "-").split("-")[0],
|
||||
serifFonts = getSerifFonts();
|
||||
for (const namePart of baseName.split("+")) {
|
||||
if (serifFonts[namePart]) {
|
||||
isSerifFont = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.isSerifFont = isSerifFont;
|
||||
|
||||
this.isSymbolicFont = !!(properties.flags & FontFlags.Symbolic);
|
||||
this.isMonospace = !!(properties.flags & FontFlags.FixedPitch);
|
||||
|
||||
|
|
|
@ -243,6 +243,7 @@ const getSerifFonts = getLookupTableFactory(function (t) {
|
|||
t.Joanna = true;
|
||||
t.Korinna = true;
|
||||
t.Lexicon = true;
|
||||
t.LiberationSerif = true;
|
||||
t["Liberation Serif"] = true;
|
||||
t["Linux Libertine"] = true;
|
||||
t.Literaturnaya = true;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue