ctx.fillText(testString, 20, 20);
var start = Date.now();
- var interval = window.setInterval(function(self) {
+ var interval = window.setInterval(function canvasInterval(self) {
ctx.font = "bold italic 20px " + fontName + ", Symbol, Arial";
// For some reasons the font has not loaded, so mark it loaded for the
var i = 0;
while (true) {
var obj = aCharstring[i];
- if (IsString(obj)) {
+ if (obj.charAt) {
switch (obj) {
case "callsubr":
var subr = aSubrs[aCharstring[i- 1]].slice();
// CharString is ready to be re-encode to commands number at this point
for (var j = 0; j < aCharstring.length; j++) {
var command = aCharstring[j];
- if (IsNum(command)) {
+ if (parseFloat(command) == command) {
var number = this.encodeNumber(command, true);
aCharstring.splice(j, 1);
for (var k = 0; k < number.length; k++)
aCharstring.splice(j + k, 0, number[k]);
j+= number.length - 1;
- } else if (IsString(command)) {
+ } else if (command.charAt) {
var command = this.commandsMap[command];
if (IsArray(command)) {
aCharstring.splice(j - 1, 1, command[0], command[1]);
} else {
aCharstring[j] = command;
}
- } else if (IsArray(command)) {
+ } else {
aCharstring.splice(j, 1);
// command has already been translated, just add them to the
for (var k = 0; k < command.length; k++)
aCharstring.splice(j + k, 0, command[k]);
j+= command.length - 1;
- } else { // what else?
- error("Error while flattening the Type1 charstring: " + aCharstring);
}
}
return aCharstring;