Add a supplemental glyph map for non-embedded ArialBlack fonts (issue 5801)
This should, hopefully, finally fix 5801.
This commit is contained in:
parent
d8e201446d
commit
d0477302be
@ -508,6 +508,13 @@ var GlyphMapForStandardFonts = {
|
|||||||
'3316': 578, '3379': 42785, '3393': 1159, '3416': 8377
|
'3316': 578, '3379': 42785, '3393': 1159, '3416': 8377
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// The glyph map for ArialBlack differs slightly from the glyph map used for
|
||||||
|
// other well-known standard fonts. Hence we use this (incomplete) CID to GID
|
||||||
|
// mapping to adjust the glyph map for non-embedded ArialBlack fonts.
|
||||||
|
var SupplementalGlyphMapForArialBlack = {
|
||||||
|
'227': 322, '264': 261, '291': 346,
|
||||||
|
};
|
||||||
|
|
||||||
// Some characters, e.g. copyrightserif, are mapped to the private use area and
|
// Some characters, e.g. copyrightserif, are mapped to the private use area and
|
||||||
// might not be displayed using standard fonts. Mapping/hacking well-known chars
|
// might not be displayed using standard fonts. Mapping/hacking well-known chars
|
||||||
// to the similar equivalents in the normal characters range.
|
// to the similar equivalents in the normal characters range.
|
||||||
@ -2490,8 +2497,13 @@ var Font = (function FontClosure() {
|
|||||||
// Standard fonts might be embedded as CID font without glyph mapping.
|
// Standard fonts might be embedded as CID font without glyph mapping.
|
||||||
// Building one based on GlyphMapForStandardFonts.
|
// Building one based on GlyphMapForStandardFonts.
|
||||||
var map = [];
|
var map = [];
|
||||||
for (var code in GlyphMapForStandardFonts) {
|
for (charCode in GlyphMapForStandardFonts) {
|
||||||
map[+code] = GlyphMapForStandardFonts[code];
|
map[+charCode] = GlyphMapForStandardFonts[charCode];
|
||||||
|
}
|
||||||
|
if (/ArialBlack/i.test(name)) {
|
||||||
|
for (charCode in SupplementalGlyphMapForArialBlack) {
|
||||||
|
map[+charCode] = SupplementalGlyphMapForArialBlack[charCode];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
var isIdentityUnicode = this.toUnicode instanceof IdentityToUnicodeMap;
|
var isIdentityUnicode = this.toUnicode instanceof IdentityToUnicodeMap;
|
||||||
if (!isIdentityUnicode) {
|
if (!isIdentityUnicode) {
|
||||||
|
Loading…
Reference in New Issue
Block a user