|
|
|
@ -1828,8 +1828,9 @@ var Font = (function FontClosure() {
@@ -1828,8 +1828,9 @@ var Font = (function FontClosure() {
|
|
|
|
|
readGlyphNameMap(post, properties); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Replace the old CMAP table with a shiny new one
|
|
|
|
|
var glyphs, ids; |
|
|
|
|
if (properties.type == 'CIDFontType2') { |
|
|
|
|
// Replace the old CMAP table with a shiny new one
|
|
|
|
|
// Type2 composite fonts map characters directly to glyphs so the cmap
|
|
|
|
|
// table must be replaced.
|
|
|
|
|
// canvas fillText will reencode some characters even if the font has a
|
|
|
|
@ -1861,7 +1862,9 @@ var Font = (function FontClosure() {
@@ -1861,7 +1862,9 @@ var Font = (function FontClosure() {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var glyphs = [], ids = []; |
|
|
|
|
glyphs = []; |
|
|
|
|
ids = []; |
|
|
|
|
|
|
|
|
|
var usedUnicodes = []; |
|
|
|
|
var unassignedUnicodeItems = []; |
|
|
|
|
for (var i = 1; i < numGlyphs; i++) { |
|
|
|
@ -1892,11 +1895,12 @@ var Font = (function FontClosure() {
@@ -1892,11 +1895,12 @@ var Font = (function FontClosure() {
|
|
|
|
|
glyphs.push({ unicode: unicode, code: cid }); |
|
|
|
|
ids.push(i); |
|
|
|
|
} |
|
|
|
|
cmap.data = createCMapTable(glyphs, ids); |
|
|
|
|
} else { |
|
|
|
|
var cmapTable = readCMapTable(cmap, font); |
|
|
|
|
var glyphs = cmapTable.glyphs; |
|
|
|
|
var ids = cmapTable.ids; |
|
|
|
|
|
|
|
|
|
glyphs = cmapTable.glyphs; |
|
|
|
|
ids = cmapTable.ids; |
|
|
|
|
|
|
|
|
|
var hasShortCmap = !!cmapTable.hasShortCmap; |
|
|
|
|
var toFontChar = this.toFontChar; |
|
|
|
|
|
|
|
|
@ -2062,9 +2066,15 @@ var Font = (function FontClosure() {
@@ -2062,9 +2066,15 @@ var Font = (function FontClosure() {
|
|
|
|
|
|
|
|
|
|
createGlyphNameMap(glyphs, ids, properties); |
|
|
|
|
this.glyphNameMap = properties.glyphNameMap; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
cmap.data = createCMapTable(glyphs, ids); |
|
|
|
|
// Converting glyphs and ids into font's cmap table
|
|
|
|
|
cmap.data = createCMapTable(glyphs, ids); |
|
|
|
|
var unicodeIsEnabled = []; |
|
|
|
|
for (var i = 0, ii = glyphs.length; i < ii; i++) { |
|
|
|
|
unicodeIsEnabled[glyphs[i].unicode] = true; |
|
|
|
|
} |
|
|
|
|
this.unicodeIsEnabled = unicodeIsEnabled; |
|
|
|
|
|
|
|
|
|
// Rewrite the 'post' table if needed
|
|
|
|
|
if (requiredTables.indexOf('post') != -1) { |
|
|
|
@ -2391,7 +2401,7 @@ var Font = (function FontClosure() {
@@ -2391,7 +2401,7 @@ var Font = (function FontClosure() {
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
charToGlyph: function fonts_charToGlyph(charcode) { |
|
|
|
|
var fontCharCode, width, operatorList; |
|
|
|
|
var fontCharCode, width, operatorList, disabled; |
|
|
|
|
|
|
|
|
|
var width = this.widths[charcode]; |
|
|
|
|
|
|
|
|
@ -2464,11 +2474,14 @@ var Font = (function FontClosure() {
@@ -2464,11 +2474,14 @@ var Font = (function FontClosure() {
|
|
|
|
|
unicodeChars = String.fromCharCode(unicodeChars); |
|
|
|
|
|
|
|
|
|
width = (isNum(width) ? width : this.defaultWidth) * this.widthMultiplier; |
|
|
|
|
disabled = this.unicodeIsEnabled ? |
|
|
|
|
!this.unicodeIsEnabled[fontCharCode] : false; |
|
|
|
|
|
|
|
|
|
return { |
|
|
|
|
fontChar: String.fromCharCode(fontCharCode), |
|
|
|
|
unicode: unicodeChars, |
|
|
|
|
width: width, |
|
|
|
|
disabled: disabled, |
|
|
|
|
operatorList: operatorList |
|
|
|
|
}; |
|
|
|
|
}, |
|
|
|
|