You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
694 lines
9.9 KiB
694 lines
9.9 KiB
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- / |
|
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */ |
|
|
|
"use strict"; |
|
|
|
var CFFStrings = [ |
|
".notdef", |
|
"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", |
|
"onesuperior", |
|
"logicalnot", |
|
"mu", |
|
"trademark", |
|
"Eth", |
|
"onehalf", |
|
"plusminus", |
|
"Thorn", |
|
"onequarter", |
|
"divide", |
|
"brokenbar", |
|
"degree", |
|
"thorn", |
|
"threequarters", |
|
"twosuperior", |
|
"registered", |
|
"minus", |
|
"eth", |
|
"multiply", |
|
"threesuperior", |
|
"copyright", |
|
"Aacute", |
|
"Acircumflex", |
|
"Adieresis", |
|
"Agrave", |
|
"Aring", |
|
"Atilde", |
|
"Ccedilla", |
|
"Eacute", |
|
"Ecircumflex", |
|
"Edieresis", |
|
"Egrave", |
|
"Iacute", |
|
"Icircumflex", |
|
"Idieresis", |
|
"Igrave", |
|
"Ntilde", |
|
"Oacute", |
|
"Ocircumflex", |
|
"Odieresis", |
|
"Ograve", |
|
"Otilde", |
|
"Scaron", |
|
"Uacute", |
|
"Ucircumflex", |
|
"Udieresis", |
|
"Ugrave", |
|
"Yacute", |
|
"Ydieresis", |
|
"Zcaron", |
|
"aacute", |
|
"acircumflex", |
|
"adieresis", |
|
"agrave", |
|
"aring", |
|
"atilde", |
|
"ccedilla", |
|
"eacute", |
|
"ecircumflex", |
|
"edieresis", |
|
"egrave", |
|
"iacute", |
|
"icircumflex", |
|
"idieresis", |
|
"igrave", |
|
"ntilde", |
|
"oacute", |
|
"ocircumflex", |
|
"odieresis", |
|
"ograve", |
|
"otilde", |
|
"scaron", |
|
"uacute", |
|
"ucircumflex", |
|
"udieresis", |
|
"ugrave", |
|
"yacute", |
|
"ydieresis", |
|
"zcaron", |
|
"exclamsmall", |
|
"Hungarumlautsmall", |
|
"dollaroldstyle", |
|
"dollarsuperior", |
|
"ampersandsmall", |
|
"Acutesmall", |
|
"parenleftsuperior", |
|
"parenrightsuperior", |
|
"266 ff", |
|
"onedotenleader", |
|
"zerooldstyle", |
|
"oneoldstyle", |
|
"twooldstyle", |
|
"threeoldstyle", |
|
"fouroldstyle", |
|
"fiveoldstyle", |
|
"sixoldstyle", |
|
"sevenoldstyle", |
|
"eightoldstyle", |
|
"nineoldstyle", |
|
"commasuperior", |
|
"threequartersemdash", |
|
"periodsuperior", |
|
"questionsmall", |
|
"asuperior", |
|
"bsuperior", |
|
"centsuperior", |
|
"dsuperior", |
|
"esuperior", |
|
"isuperior", |
|
"lsuperior", |
|
"msuperior", |
|
"nsuperior", |
|
"osuperior", |
|
"rsuperior", |
|
"ssuperior", |
|
"tsuperior", |
|
"ff", |
|
"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", |
|
"questiondownsmall", |
|
"oneeighth", |
|
"threeeighths", |
|
"fiveeighths", |
|
"seveneighths", |
|
"onethird", |
|
"twothirds", |
|
"zerosuperior", |
|
"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", |
|
"001.000", |
|
"001.001", |
|
"001.002", |
|
"001.003", |
|
"Black", |
|
"Bold", |
|
"Book", |
|
"Light", |
|
"Medium", |
|
"Regular", |
|
"Roman", |
|
"Semibold" |
|
]; |
|
|
|
var CFFEncodingMap = { |
|
"0": "-reserved-", |
|
"1": "hstem", |
|
"2": "-reserved-", |
|
"3": "vstem", |
|
"4": "vmoveto", |
|
"5": "rlineto", |
|
"6": "hlineto", |
|
"7": "vlineto", |
|
"8": "rrcurveto", |
|
"9": "-reserved-", |
|
"10": "callsubr", |
|
"11": "return", |
|
"12": { |
|
"3": "and", |
|
"4": "or", |
|
"5": "not", |
|
"9": "abs", |
|
"10": "add", |
|
"11": "div", |
|
"12": "sub", |
|
"14": "neg", |
|
"15": "eq", |
|
"18": "drop", |
|
"20": "put", |
|
"21": "get", |
|
"22": "ifelse", |
|
"23": "random", |
|
"24": "mul", |
|
"26": "sqrt", |
|
"27": "dup", |
|
"28": "exch", |
|
"29": "index", |
|
"30": "roll", |
|
"34": "hflex", |
|
"35": "flex", |
|
"36": "hflex1", |
|
"37": "flex1" |
|
}, |
|
"13": "-reserved-", |
|
"14": "endchar", |
|
"15": "-reserved-", |
|
"16": "-reserved-", |
|
"17": "-reserved-", |
|
"18": "hstemhm", |
|
"19": "hintmask", |
|
"20": "cntrmask", |
|
"21": "rmoveto", |
|
"22": "hmoveto", |
|
"23": "vstemhm", |
|
"24": "rcurveline", |
|
"25": "rlivecurve", |
|
"26": "vvcurveto", |
|
"27": "hhcurveto", |
|
"29": "callgsubr", |
|
"30": "vhcurveto", |
|
"31": "hvcurveto" |
|
}; |
|
|
|
var CFFDictDataMap = { |
|
"0": { |
|
name: "version", |
|
operand: "SID" |
|
}, |
|
"1": { |
|
name: "Notice", |
|
operand: "SID" |
|
}, |
|
"2": { |
|
name: "FullName", |
|
operand: "SID" |
|
}, |
|
"3": { |
|
name: "FamilyName", |
|
operand: "SID" |
|
}, |
|
"4": { |
|
name: "Weight", |
|
operand: "SID" |
|
}, |
|
"5": { |
|
name: "FontBBox", |
|
operand: [0, 0, 0, 0] |
|
}, |
|
"6": { |
|
name: "BlueValues" |
|
}, |
|
"7": { |
|
name: "OtherBlues" |
|
}, |
|
"8": { |
|
name: "FamilyBlues" |
|
}, |
|
"9": { |
|
name: "FamilyOtherBlues" |
|
}, |
|
"10": { |
|
name: "StdHW" |
|
}, |
|
"11": { |
|
name: "StdVW" |
|
}, |
|
"12": { |
|
"0": { |
|
name: "Copyright", |
|
operand: "SID" |
|
}, |
|
"1": { |
|
name: "IsFixedPitch", |
|
operand: false |
|
}, |
|
"2": { |
|
name: "ItalicAngle", |
|
operand: 0 |
|
}, |
|
"3": { |
|
name: "UnderlinePosition", |
|
operand: -100 |
|
}, |
|
"4": { |
|
name: "UnderlineThickness", |
|
operand: 50 |
|
}, |
|
"5": { |
|
name: "PaintType", |
|
operand: 0 |
|
}, |
|
"6": { |
|
name: "CharstringType", |
|
operand: 2 |
|
}, |
|
"7": { |
|
name: "FontMatrix", |
|
operand: [0.001, 0, 0, 0.001, 0 ,0] |
|
}, |
|
"8": { |
|
name: "StrokeWidth", |
|
operand: 0 |
|
}, |
|
"9": { |
|
name: "BlueScale" |
|
}, |
|
"10": { |
|
name: "BlueShift" |
|
}, |
|
"11": { |
|
name: "BlueFuzz" |
|
}, |
|
"12": { |
|
name: "StemSnapH" |
|
}, |
|
"13": { |
|
name: "StemSnapV" |
|
}, |
|
"14": { |
|
name: "ForceBold" |
|
}, |
|
"17": { |
|
name: "LanguageGroup" |
|
}, |
|
"18": { |
|
name: "ExpansionFactor" |
|
}, |
|
"9": { |
|
name: "initialRandomSeed" |
|
}, |
|
"20": { |
|
name: "SyntheticBase", |
|
operand: null |
|
}, |
|
"21": { |
|
name: "PostScript", |
|
operand: "SID" |
|
}, |
|
"22": { |
|
name: "BaseFontName", |
|
operand: "SID" |
|
}, |
|
"23": { |
|
name: "BaseFontBlend", |
|
operand: "delta" |
|
} |
|
}, |
|
"13": { |
|
name: "UniqueID", |
|
operand: null |
|
}, |
|
"14": { |
|
name: "XUID", |
|
operand: [] |
|
}, |
|
"15": { |
|
name: "charset", |
|
operand: 0 |
|
}, |
|
"16": { |
|
name: "Encoding", |
|
operand: 0 |
|
}, |
|
"17": { |
|
name: "CharStrings", |
|
operand: null |
|
}, |
|
"18": { |
|
name: "Private", |
|
operand: "number number" |
|
}, |
|
"19": { |
|
name: "Subrs" |
|
}, |
|
"20": { |
|
name: "defaultWidthX" |
|
}, |
|
"21": { |
|
name: "nominalWidthX" |
|
} |
|
}; |
|
|
|
var CFFDictPrivateDataMap = { |
|
"6": { |
|
name: "BluesValues", |
|
operand: "delta" |
|
}, |
|
"7": { |
|
name: "OtherBlues", |
|
operand: "delta" |
|
}, |
|
"8": { |
|
name: "FamilyBlues", |
|
operand: "delta" |
|
}, |
|
"9": { |
|
name: "FamilyOtherBlues", |
|
operand: "delta" |
|
}, |
|
"10": { |
|
name: "StdHW", |
|
operand: null |
|
}, |
|
"11": { |
|
name: "StdVW", |
|
operand: null |
|
}, |
|
"12": { |
|
"9": { |
|
name: "BlueScale", |
|
operand: 0.039625 |
|
}, |
|
"10": { |
|
name: "BlueShift", |
|
operand: 7 |
|
}, |
|
"11": { |
|
name: "BlueFuzz", |
|
operand: 1 |
|
}, |
|
"12": { |
|
name: "StemSnapH", |
|
operand: "delta" |
|
}, |
|
"13": { |
|
name: "StemSnapV", |
|
operand: "delta" |
|
}, |
|
"14": { |
|
name: "ForceBold", |
|
operand: "boolean" |
|
}, |
|
"17": { |
|
name: "LanguageGroup", |
|
operand: 0 |
|
}, |
|
"18": { |
|
name: "ExpansionFactor", |
|
operand: 0.06 |
|
}, |
|
"19": { |
|
name: "initialRandomSeed", |
|
operand: 0 |
|
} |
|
}, |
|
"19": { |
|
name: "Subrs", |
|
operand: null |
|
}, |
|
"20": { |
|
name: "defaultWidthX", |
|
operand: 0 |
|
}, |
|
"21": { |
|
name: "nominalWidthX", |
|
operand: 0 |
|
} |
|
}; |
|
|
|
|