Fix 'print to pdf' on Mac with a cid font (bug 1961423)
This commit is contained in:
parent
de2a44a558
commit
785991a97c
@ -1769,12 +1769,16 @@ class CFFCompiler {
|
||||
if (isCIDFont) {
|
||||
// In a CID font, the charset is a mapping of CIDs not SIDs so just
|
||||
// create an identity mapping.
|
||||
// nLeft: Glyphs left in range (excluding first) (see the CFF specs).
|
||||
// Having a wrong value for nLeft induces a print issue on MacOS (see
|
||||
// https://bugzilla.mozilla.org/1961423).
|
||||
const nLeft = numGlyphsLessNotDef - 1;
|
||||
out = new Uint8Array([
|
||||
2, // format
|
||||
0, // first CID upper byte
|
||||
0, // first CID lower byte
|
||||
(numGlyphsLessNotDef >> 8) & 0xff,
|
||||
numGlyphsLessNotDef & 0xff,
|
||||
(nLeft >> 8) & 0xff,
|
||||
nLeft & 0xff,
|
||||
]);
|
||||
} else {
|
||||
const length = 1 + numGlyphsLessNotDef * 2;
|
||||
|
||||
@ -481,7 +481,7 @@ describe("CFFCompiler", function () {
|
||||
0, // cid (high)
|
||||
0, // cid (low)
|
||||
0, // nLeft (high)
|
||||
numGlyphs - 1, // nLeft (low)
|
||||
numGlyphs - 2, // nLeft (low)
|
||||
]);
|
||||
});
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user