mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-19 22:58:07 +02:00
Merge pull request #17770 from Aditi-1400/fix-issue-16843
Add language attribute to canvas
This commit is contained in:
commit
2a52fda11b
3 changed files with 21 additions and 7 deletions
|
@ -81,7 +81,7 @@ class TextLayer {
|
|||
|
||||
static #ascentCache = new Map();
|
||||
|
||||
static #canvasCtx = null;
|
||||
static #canvasContexts = new Map();
|
||||
|
||||
static #pendingTextLayers = new Set();
|
||||
|
||||
|
@ -423,13 +423,15 @@ class TextLayer {
|
|||
return;
|
||||
}
|
||||
this.#ascentCache.clear();
|
||||
|
||||
this.#canvasCtx?.canvas.remove();
|
||||
this.#canvasCtx = null;
|
||||
for (const { canvas } of this.#canvasContexts.values()) {
|
||||
canvas.remove();
|
||||
}
|
||||
this.#canvasContexts.clear();
|
||||
}
|
||||
|
||||
static #getCtx(lang = null) {
|
||||
if (!this.#canvasCtx) {
|
||||
let canvasContext = this.#canvasContexts.get((lang ||= ""));
|
||||
if (!canvasContext) {
|
||||
// We don't use an OffscreenCanvas here because we use serif/sans serif
|
||||
// fonts with it and they depends on the locale.
|
||||
// In Firefox, the <html> element get a lang attribute that depends on
|
||||
|
@ -442,10 +444,12 @@ class TextLayer {
|
|||
// OffscreenCanvas.
|
||||
const canvas = document.createElement("canvas");
|
||||
canvas.className = "hiddenCanvasElement";
|
||||
canvas.lang = lang;
|
||||
document.body.append(canvas);
|
||||
this.#canvasCtx = canvas.getContext("2d", { alpha: false });
|
||||
canvasContext = canvas.getContext("2d", { alpha: false });
|
||||
this.#canvasContexts.set(lang, canvasContext);
|
||||
}
|
||||
return this.#canvasCtx;
|
||||
return canvasContext;
|
||||
}
|
||||
|
||||
static #getAscent(fontFamily, lang) {
|
||||
|
|
1
test/pdfs/issue16843.pdf.link
Normal file
1
test/pdfs/issue16843.pdf.link
Normal file
|
@ -0,0 +1 @@
|
|||
https://github.com/mozilla/pdf.js/files/12366234/16_2020-044.pdf
|
|
@ -2202,6 +2202,15 @@
|
|||
"lastPage": 1,
|
||||
"type": "eq"
|
||||
},
|
||||
{
|
||||
"id": "issue16843-text",
|
||||
"file": "pdfs/issue16843.pdf",
|
||||
"md5": "2845b2f7f02690c388c24c488297028a",
|
||||
"rounds": 1,
|
||||
"link": true,
|
||||
"lastPage": 1,
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"id": "issue5509",
|
||||
"file": "pdfs/issue5509.pdf",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue