MCPcopy Create free account
hub / github.com/Code-Bullet/Jump-King / parseCFFEncoding

Function parseCFFEncoding

libraries/p5.js:3217–3245  ·  view source on GitHub ↗
(data, start, charset)

Source from the content-addressed store, hash-verified

3215// Parse the CFF encoding data. Only one encoding can be specified per font.
3216// See Adobe TN #5176 chapter 12, "Encodings".
3217function parseCFFEncoding(data, start, charset) {
3218 var i;
3219 var code;
3220 var enc = {};
3221 var parser = new parse.Parser(data, start);
3222 var format = parser.parseCard8();
3223 if (format === 0) {
3224 var nCodes = parser.parseCard8();
3225 for (i = 0; i < nCodes; i += 1) {
3226 code = parser.parseCard8();
3227 enc[code] = i;
3228 }
3229 } else if (format === 1) {
3230 var nRanges = parser.parseCard8();
3231 code = 1;
3232 for (i = 0; i < nRanges; i += 1) {
3233 var first = parser.parseCard8();
3234 var nLeft = parser.parseCard8();
3235 for (var j = first; j <= first + nLeft; j += 1) {
3236 enc[j] = code;
3237 code += 1;
3238 }
3239 }
3240 } else {
3241 throw new Error('Unknown encoding format ' + format);
3242 }
3243
3244 return new encoding.CffEncoding(enc, charset);
3245}
3246
3247// Take in charstring code and return a Glyph object.
3248// The encoding is described in the Type 2 Charstring Format

Callers 1

parseCFFTableFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected