mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-19 06:38:07 +02:00
Merge pull request #18844 from calixteman/bug1922063
Use Calibri and Lucida Console, when it's possible, in place of sans-serif and monospaced (bug 1922063)
This commit is contained in:
commit
8b73b828b6
2 changed files with 39 additions and 3 deletions
|
@ -16,7 +16,13 @@
|
|||
/** @typedef {import("./display_utils").PageViewport} PageViewport */
|
||||
/** @typedef {import("./api").TextContent} TextContent */
|
||||
|
||||
import { AbortException, Util, warn } from "../shared/util.js";
|
||||
import {
|
||||
AbortException,
|
||||
FeatureTest,
|
||||
shadow,
|
||||
Util,
|
||||
warn,
|
||||
} from "../shared/util.js";
|
||||
import { setLayerDimensions } from "./display_utils.js";
|
||||
|
||||
/**
|
||||
|
@ -152,6 +158,24 @@ class TextLayer {
|
|||
}
|
||||
}
|
||||
|
||||
static get fontFamilyMap() {
|
||||
const { isWindows, isFirefox } = FeatureTest.platform;
|
||||
return shadow(
|
||||
this,
|
||||
"fontFamilyMap",
|
||||
new Map([
|
||||
[
|
||||
"sans-serif",
|
||||
`${isWindows && isFirefox ? "Calibri, " : ""}sans-serif`,
|
||||
],
|
||||
[
|
||||
"monospace",
|
||||
`${isWindows && isFirefox ? "Lucida Console, " : ""}monospace`,
|
||||
],
|
||||
])
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Render the textLayer.
|
||||
* @returns {Promise}
|
||||
|
@ -300,9 +324,12 @@ class TextLayer {
|
|||
angle += Math.PI / 2;
|
||||
}
|
||||
|
||||
const fontFamily =
|
||||
let fontFamily =
|
||||
(this.#fontInspectorEnabled && style.fontSubstitution) ||
|
||||
style.fontFamily;
|
||||
|
||||
// Workaround for bug 1922063.
|
||||
fontFamily = TextLayer.fontFamilyMap.get(fontFamily) || fontFamily;
|
||||
const fontHeight = Math.hypot(tx[2], tx[3]);
|
||||
const fontAscent =
|
||||
fontHeight * TextLayer.#getAscent(fontFamily, this.#lang);
|
||||
|
|
|
@ -636,9 +636,18 @@ class FeatureTest {
|
|||
) {
|
||||
return shadow(this, "platform", {
|
||||
isMac: navigator.platform.includes("Mac"),
|
||||
isWindows: navigator.platform.includes("Win"),
|
||||
isFirefox:
|
||||
(typeof PDFJSDev !== "undefined" && PDFJSDev.test("MOZCENTRAL")) ||
|
||||
(typeof navigator?.userAgent === "string" &&
|
||||
navigator.userAgent.includes("Firefox")),
|
||||
});
|
||||
}
|
||||
return shadow(this, "platform", { isMac: false });
|
||||
return shadow(this, "platform", {
|
||||
isMac: false,
|
||||
isWindows: false,
|
||||
isFirefox: false,
|
||||
});
|
||||
}
|
||||
|
||||
static get isCSSRoundSupported() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue