|
|
@ -1615,6 +1615,180 @@ var CanvasExtraState = (function() { |
|
|
|
return constructor; |
|
|
|
return constructor; |
|
|
|
})(); |
|
|
|
})(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const Encodings = { |
|
|
|
|
|
|
|
get ExpertEncoding() { |
|
|
|
|
|
|
|
return shadow(this, "ExpertEncoding", [ |
|
|
|
|
|
|
|
"space","exclamsmall","Hungarumlautsmall",,"dollaroldstyle","dollarsuperior", |
|
|
|
|
|
|
|
"ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior", |
|
|
|
|
|
|
|
"twodotenleader","onedotenleader","comma","hyphen","period","fraction", |
|
|
|
|
|
|
|
"zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle", |
|
|
|
|
|
|
|
"fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle", |
|
|
|
|
|
|
|
"colon","semicolon","commasuperior","threequartersemdash","periodsuperior", |
|
|
|
|
|
|
|
"questionsmall",,"asuperior","bsuperior","centsuperior","dsuperior","esuperior",,, |
|
|
|
|
|
|
|
"isuperior",,,"lsuperior","msuperior","nsuperior","osuperior",,,"rsuperior", |
|
|
|
|
|
|
|
"ssuperior","tsuperior",,"ff","fi","fl","ffi","ffl","parenleftinferior",, |
|
|
|
|
|
|
|
"parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall", |
|
|
|
|
|
|
|
"Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall", |
|
|
|
|
|
|
|
"Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall", |
|
|
|
|
|
|
|
"Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary", |
|
|
|
|
|
|
|
"onefitted","rupiah","Tildesmall",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, |
|
|
|
|
|
|
|
"exclamdownsmall","centoldstyle","Lslashsmall",,,"Scaronsmall","Zcaronsmall", |
|
|
|
|
|
|
|
"Dieresissmall","Brevesmall","Caronsmall",,"Dotaccentsmall",,,"Macronsmall",,, |
|
|
|
|
|
|
|
"figuredash","hypheninferior",,,"Ogoneksmall","Ringsmall","Cedillasmall",,,, |
|
|
|
|
|
|
|
"onequarter","onehalf","threequarters","questiondownsmall","oneeighth", |
|
|
|
|
|
|
|
"threeeighths","fiveeighths","seveneighths","onethird","twothirds",,, |
|
|
|
|
|
|
|
"zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior", |
|
|
|
|
|
|
|
"fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior", |
|
|
|
|
|
|
|
"zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior", |
|
|
|
|
|
|
|
"fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior", |
|
|
|
|
|
|
|
"centinferior","dollarinferior","periodinferior","commainferior","Agravesmall", |
|
|
|
|
|
|
|
"Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall", |
|
|
|
|
|
|
|
"AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall", |
|
|
|
|
|
|
|
"Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall", |
|
|
|
|
|
|
|
"Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall", |
|
|
|
|
|
|
|
"Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall", |
|
|
|
|
|
|
|
"Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall", |
|
|
|
|
|
|
|
"Ydieresissmall" |
|
|
|
|
|
|
|
]); |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
get MacExpertEncoding() { |
|
|
|
|
|
|
|
return shadow(this, "MacExpertEncoding", [ |
|
|
|
|
|
|
|
"space","exclamsmall","Hungarumlautsmall","centoldstyle","dollaroldstyle", |
|
|
|
|
|
|
|
"dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior", |
|
|
|
|
|
|
|
"parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period", |
|
|
|
|
|
|
|
"fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle", |
|
|
|
|
|
|
|
"fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle", |
|
|
|
|
|
|
|
"nineoldstyle","colon","semicolon",,"threequartersemdash",,"questionsmall",,,,, |
|
|
|
|
|
|
|
"Ethsmall",,,"onequarter","onehalf","threequarters","oneeighth","threeeighths", |
|
|
|
|
|
|
|
"fiveeighths","seveneighths","onethird","twothirds",,,,,,,"ff","fi","fl","ffi", |
|
|
|
|
|
|
|
"ffl","parenleftinferior",,"parenrightinferior","Circumflexsmall", |
|
|
|
|
|
|
|
"hypheninferior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall", |
|
|
|
|
|
|
|
"Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall", |
|
|
|
|
|
|
|
"Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall", |
|
|
|
|
|
|
|
"Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall",,, |
|
|
|
|
|
|
|
"asuperior","centsuperior",,,,,"Aacutesmall","Agravesmall","Acircumflexsmall", |
|
|
|
|
|
|
|
"Adieresissmall","Atildesmall","Aringsmall","Ccedillasmall","Eacutesmall", |
|
|
|
|
|
|
|
"Egravesmall","Ecircumflexsmall","Edieresissmall","Iacutesmall","Igravesmall", |
|
|
|
|
|
|
|
"Icircumflexsmall","Idieresissmall","Ntildesmall","Oacutesmall","Ogravesmall", |
|
|
|
|
|
|
|
"Ocircumflexsmall","Odieresissmall","Otildesmall","Uacutesmall","Ugravesmall", |
|
|
|
|
|
|
|
"Ucircumflexsmall","Udieresissmall",,"eightsuperior","fourinferior", |
|
|
|
|
|
|
|
"threeinferior","sixinferior","eightinferior","seveninferior","Scaronsmall",, |
|
|
|
|
|
|
|
"centinferior","twoinferior",,"Dieresissmall",,"Caronsmall","osuperior", |
|
|
|
|
|
|
|
"fiveinferior",,"commainferior","periodinferior","Yacutesmall",,"dollarinferior",, |
|
|
|
|
|
|
|
"Thornsmall",,"nineinferior","zeroinferior","Zcaronsmall","AEsmall","Oslashsmall", |
|
|
|
|
|
|
|
"questiondownsmall","oneinferior","Lslashsmall",,,,,,,"Cedillasmall",,,,,, |
|
|
|
|
|
|
|
"OEsmall","figuredash","hyphensuperior",,,,,"exclamdownsmall",,"Ydieresissmall",, |
|
|
|
|
|
|
|
"onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior", |
|
|
|
|
|
|
|
"sixsuperior","sevensuperior","ninesuperior","zerosuperior",,"esuperior", |
|
|
|
|
|
|
|
"rsuperior","tsuperior",,,"isuperior","ssuperior","dsuperior",,,,,,"lsuperior", |
|
|
|
|
|
|
|
"Ogoneksmall","Brevesmall","Macronsmall","bsuperior","nsuperior","msuperior", |
|
|
|
|
|
|
|
"commasuperior","periodsuperior","Dotaccentsmall","Ringsmall",,, |
|
|
|
|
|
|
|
]); |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
get MacRomanEncoding() { |
|
|
|
|
|
|
|
return shadow(this, "MacRomanEncoding", [ |
|
|
|
|
|
|
|
"space","exclam","quotedbl","numbersign","dollar","percent","ampersand", |
|
|
|
|
|
|
|
"quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen", |
|
|
|
|
|
|
|
"period","slash","zero","one","two","three","four","five","six","seven","eight", |
|
|
|
|
|
|
|
"nine","colon","semicolon","less","equal","greater","question","at","A","B","C", |
|
|
|
|
|
|
|
"D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W", |
|
|
|
|
|
|
|
"X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore", |
|
|
|
|
|
|
|
"grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r", |
|
|
|
|
|
|
|
"s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde",, |
|
|
|
|
|
|
|
"Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute", |
|
|
|
|
|
|
|
"agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave", |
|
|
|
|
|
|
|
"ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde", |
|
|
|
|
|
|
|
"oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave", |
|
|
|
|
|
|
|
"ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet", |
|
|
|
|
|
|
|
"paragraph","germandbls","registered","copyright","trademark","acute","dieresis", |
|
|
|
|
|
|
|
"notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen", |
|
|
|
|
|
|
|
"mu","partialdiff","summation","product","pi","integral","ordfeminine", |
|
|
|
|
|
|
|
"ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot", |
|
|
|
|
|
|
|
"radical","florin","approxequal","Delta","guillemotleft","guillemotright", |
|
|
|
|
|
|
|
"ellipsis","space","Agrave","Atilde","Otilde","OE","oe","endash","emdash", |
|
|
|
|
|
|
|
"quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge", |
|
|
|
|
|
|
|
"ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright", |
|
|
|
|
|
|
|
"fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase", |
|
|
|
|
|
|
|
"perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute", |
|
|
|
|
|
|
|
"Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve", |
|
|
|
|
|
|
|
"Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve", |
|
|
|
|
|
|
|
"dotaccent","ring","cedilla","hungarumlaut","ogonek","caron" |
|
|
|
|
|
|
|
]); |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
get StandardEncoding() { |
|
|
|
|
|
|
|
return shadow(this, "StandardEncoding", [ |
|
|
|
|
|
|
|
"space","exclam","quotedbl","numbersign","dollar","percent","ampersand", |
|
|
|
|
|
|
|
"quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period", |
|
|
|
|
|
|
|
"slash","zero","one","two","three","four","five","six","seven","eight","nine", |
|
|
|
|
|
|
|
"colon","semicolon","less","equal","greater","question","at","A","B","C","D","E", |
|
|
|
|
|
|
|
"F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y", |
|
|
|
|
|
|
|
"Z","bracketleft","backslash","bracketright","asciicircum","underscore", |
|
|
|
|
|
|
|
"quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q", |
|
|
|
|
|
|
|
"r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde",,, |
|
|
|
|
|
|
|
"exclamdown","cent","sterling","fraction","yen","florin","section","currency", |
|
|
|
|
|
|
|
"quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright", |
|
|
|
|
|
|
|
"fi","fl",,"endash","dagger","daggerdbl","periodcentered",,"paragraph","bullet", |
|
|
|
|
|
|
|
"quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis", |
|
|
|
|
|
|
|
"perthousand",,"questiondown",,"grave","acute","circumflex","tilde","macron", |
|
|
|
|
|
|
|
"breve","dotaccent","dieresis",,"ring","cedilla",,"hungarumlaut","ogonek","caron", |
|
|
|
|
|
|
|
"emdash",,,,,,,,,,,,,,,,,"AE",,"ordfeminine",,,,,"Lslash","Oslash","OE", |
|
|
|
|
|
|
|
"ordmasculine",,,,,,"ae",,,,"dotlessi",,,"lslash","oslash","oe","germandbls",,, |
|
|
|
|
|
|
|
]); |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
get WinAnsiEncoding() { |
|
|
|
|
|
|
|
return shadow(this, "WinAnsiEncoding", [ |
|
|
|
|
|
|
|
"space","exclam","quotedbl","numbersign","dollar","percent","ampersand", |
|
|
|
|
|
|
|
"quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen", |
|
|
|
|
|
|
|
"period","slash","zero","one","two","three","four","five","six","seven","eight", |
|
|
|
|
|
|
|
"nine","colon","semicolon","less","equal","greater","question","at","A","B","C", |
|
|
|
|
|
|
|
"D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W", |
|
|
|
|
|
|
|
"X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore", |
|
|
|
|
|
|
|
"grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r", |
|
|
|
|
|
|
|
"s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde", |
|
|
|
|
|
|
|
"bullet","Euro","bullet","quotesinglbase","florin","quotedblbase","ellipsis", |
|
|
|
|
|
|
|
"dagger","daggerdbl","circumflex","perthousand","Scaron","guilsinglleft","OE", |
|
|
|
|
|
|
|
"bullet","Zcaron","bullet","bullet","quoteleft","quoteright","quotedblleft", |
|
|
|
|
|
|
|
"quotedblright","bullet","endash","emdash","tilde","trademark","scaron", |
|
|
|
|
|
|
|
"guilsinglright","oe","bullet","zcaron","Ydieresis","space","exclamdown","cent", |
|
|
|
|
|
|
|
"sterling","currency","yen","brokenbar","section","dieresis","copyright", |
|
|
|
|
|
|
|
"ordfeminine","guillemotleft","logicalnot","hyphen","registered","macron", |
|
|
|
|
|
|
|
"degree","plusminus","twosuperior","threesuperior","acute","mu","paragraph", |
|
|
|
|
|
|
|
"periodcentered","cedilla","onesuperior","ordmasculine","guillemotright", |
|
|
|
|
|
|
|
"onequarter","onehalf","threequarters","questiondown","Agrave","Aacute", |
|
|
|
|
|
|
|
"Acircumflex","Atilde","Adieresis","Aring","AE","Ccedilla","Egrave","Eacute", |
|
|
|
|
|
|
|
"Ecircumflex","Edieresis","Igrave","Iacute","Icircumflex","Idieresis","Eth", |
|
|
|
|
|
|
|
"Ntilde","Ograve","Oacute","Ocircumflex","Otilde","Odieresis","multiply","Oslash", |
|
|
|
|
|
|
|
"Ugrave","Uacute","Ucircumflex","Udieresis","Yacute","Thorn","germandbls", |
|
|
|
|
|
|
|
"agrave","aacute","acircumflex","atilde","adieresis","aring","ae","ccedilla", |
|
|
|
|
|
|
|
"egrave","eacute","ecircumflex","edieresis","igrave","iacute","icircumflex", |
|
|
|
|
|
|
|
"idieresis","eth","ntilde","ograve","oacute","ocircumflex","otilde","odieresis", |
|
|
|
|
|
|
|
"divide","oslash","ugrave","uacute","ucircumflex","udieresis","yacute","thorn", |
|
|
|
|
|
|
|
"ydieresis" |
|
|
|
|
|
|
|
]); |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
get zapfDingbatsEncoding() { |
|
|
|
|
|
|
|
return shadow(this, "zapfDingbatsEncoding", [ |
|
|
|
|
|
|
|
"space","a1","a2","a202","a3","a4","a5","a119","a118","a117","a11","a12","a13", |
|
|
|
|
|
|
|
"a14","a15","a16","a105","a17","a18","a19","a20","a21","a22","a23","a24","a25", |
|
|
|
|
|
|
|
"a26","a27","a28","a6","a7","a8","a9","a10","a29","a30","a31","a32","a33","a34", |
|
|
|
|
|
|
|
"a35","a36","a37","a38","a39","a40","a41","a42","a43","a44","a45","a46","a47", |
|
|
|
|
|
|
|
"a48","a49","a50","a51","a52","a53","a54","a55","a56","a57","a58","a59","a60", |
|
|
|
|
|
|
|
"a61","a62","a63","a64","a65","a66","a67","a68","a69","a70","a71","a72","a73", |
|
|
|
|
|
|
|
"a74","a203","a75","a204","a76","a77","a78","a79","a81","a82","a83","a84","a97", |
|
|
|
|
|
|
|
"a98","a99","a100",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"a101","a102","a103","a104", |
|
|
|
|
|
|
|
"a106","a107","a108","a112","a111","a110","a109","a120","a121","a122","a123", |
|
|
|
|
|
|
|
"a124","a125","a126","a127","a128","a129","a130","a131","a132","a133","a134", |
|
|
|
|
|
|
|
"a135","a136","a137","a138","a139","a140","a141","a142","a143","a144","a145", |
|
|
|
|
|
|
|
"a146","a147","a148","a149","a150","a151","a152","a153","a154","a155","a156", |
|
|
|
|
|
|
|
"a157","a158","a159","a160","a161","a163","a164","a196","a165","a192","a166", |
|
|
|
|
|
|
|
"a167","a168","a169","a170","a171","a172","a173","a162","a174","a175","a176", |
|
|
|
|
|
|
|
"a177","a178","a179","a193","a180","a199","a181","a200","a182",,"a201","a183", |
|
|
|
|
|
|
|
"a184","a197","a185","a194","a198","a186","a195","a187","a188","a189","a190", |
|
|
|
|
|
|
|
"a191" |
|
|
|
|
|
|
|
]); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
var CanvasGraphics = (function() { |
|
|
|
var CanvasGraphics = (function() { |
|
|
|
function constructor(canvasCtx) { |
|
|
|
function constructor(canvasCtx) { |
|
|
|
this.ctx = canvasCtx; |
|
|
|
this.ctx = canvasCtx; |
|
|
@ -1731,7 +1905,7 @@ var CanvasGraphics = (function() { |
|
|
|
|
|
|
|
|
|
|
|
var fontFile = descriptor.get2("FontFile", "FontFile2"); |
|
|
|
var fontFile = descriptor.get2("FontFile", "FontFile2"); |
|
|
|
if (!fontFile) |
|
|
|
if (!fontFile) |
|
|
|
errort("FontFile not found for font: " + fontName); |
|
|
|
error("FontFile not found for font: " + fontName); |
|
|
|
fontFile = xref.fetchIfRef(fontFile); |
|
|
|
fontFile = xref.fetchIfRef(fontFile); |
|
|
|
|
|
|
|
|
|
|
|
// Generate the custom cmap of the font if needed
|
|
|
|
// Generate the custom cmap of the font if needed
|
|
|
@ -1754,16 +1928,18 @@ var CanvasGraphics = (function() { |
|
|
|
|
|
|
|
|
|
|
|
} else if (IsName(encoding)) { |
|
|
|
} else if (IsName(encoding)) { |
|
|
|
var encoding = Encodings[encoding]; |
|
|
|
var encoding = Encodings[encoding]; |
|
|
|
var widths = xref.fetchIfRef(fontDict.get("Widths")); |
|
|
|
if (!encoding) |
|
|
|
var firstchar = xref.fetchIfRef(fontDict.get("FirstChar")); |
|
|
|
error("Unknown encoding"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var widths = xref.fetchIfRef(fontDict.get("Widths")); |
|
|
|
|
|
|
|
var firstChar = xref.fetchIfRef(fontDict.get("FirstChar")); |
|
|
|
|
|
|
|
alert(firstchar); |
|
|
|
|
|
|
|
assertWellFormed(IsArray(widths) && IsInteger(firstChar), |
|
|
|
|
|
|
|
"invalid Widths or FirstChar"); |
|
|
|
var charset = []; |
|
|
|
var charset = []; |
|
|
|
for (var j = 0; j < widths.length; j++) { |
|
|
|
for (var j = 0; j < widths.length; j++) { |
|
|
|
var index = widths[j]; |
|
|
|
if (widths[j]) |
|
|
|
if (!index) |
|
|
|
charset.push(encoding[j + firstChar]); |
|
|
|
continue; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
charset.push(encoding[j + firstchar]); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|