From 46211de41cfeb77f8c7c030aa594933aa3c0e689 Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Fri, 7 Jul 2017 08:05:35 -0700 Subject: [PATCH] disco very --- pitfall/fontkit/glyphinfo.rkt | 5 +- pitfall/fontkit/gsub-processor.rkt | 3 +- pitfall/fontkit/ot-processor.rkt | 3 +- pitfall/pdfkit/node_modules/fontkit/index.js | 6 +- pitfall/pitfall/test/out.txt | 1266 ++++++++++++++++-- pitfall/pitfall/test/test16.pdf | Bin 5890 -> 5890 bytes 6 files changed, 1172 insertions(+), 111 deletions(-) diff --git a/pitfall/fontkit/glyphinfo.rkt b/pitfall/fontkit/glyphinfo.rkt index b2211920..de38162a 100644 --- a/pitfall/fontkit/glyphinfo.rkt +++ b/pitfall/fontkit/glyphinfo.rkt @@ -17,8 +17,9 @@ https://github.com/mbutterick/fontkit/blob/master/src/opentype/GlyphInfo.js [(list? features-in) (for ([feature (in-list features-in)]) (hash-set! features feature #t))] - [(object? features-in) - (hash-set! features (· features-in features))]) + [(dict? features-in) + (for ([(feature val) (in-dict features-in)]) + (hash-set! features feature val))]) (field [ligatureID #f] [ligatureComponent #f] diff --git a/pitfall/fontkit/gsub-processor.rkt b/pitfall/fontkit/gsub-processor.rkt index 849ccd07..67889ffb 100644 --- a/pitfall/fontkit/gsub-processor.rkt +++ b/pitfall/fontkit/gsub-processor.rkt @@ -157,5 +157,6 @@ https://github.com/mbutterick/fontkit/blob/master/src/opentype/GSUBProcessor.js (set-field! glyphs (· this glyphIterator) (· this glyphs)) (report* (for/list ([g (· this glyphs)]) (· g id)) (· this glyphIterator index)) #t)] - [else #f])]))) + [else #f])] + [else (error 'unimplemented-gsub-lookup)]))) diff --git a/pitfall/fontkit/ot-processor.rkt b/pitfall/fontkit/ot-processor.rkt index a068d8a2..c564d00b 100644 --- a/pitfall/fontkit/ot-processor.rkt +++ b/pitfall/fontkit/ot-processor.rkt @@ -109,6 +109,7 @@ https://github.com/mbutterick/fontkit/blob/master/src/opentype/OTProcessor.js (send (· this glyphIterator) reset (· lookup flags)) (while (< (or (· this glyphIterator index) 0) (length (· this glyphs))) + (report 'start-while++++++++++++++++++) (report (length (· this glyphs)) 'glyphs-length-top) (report (for/list ([g (· this glyphs)]) (· g id)) 'gids-top) (report (· this glyphIterator index) giterator-idx-top) @@ -118,7 +119,7 @@ https://github.com/mbutterick/fontkit/blob/master/src/opentype/OTProcessor.js [(not (dict-has-key? (· this glyphIterator cur features) feature)) (send (· this glyphIterator) next)] [else - (report/file '=================) + (report/file 'start-lookup-branch=================) (report* (for/list ([g (· this glyphs)]) (· g id)) (for/list ([g (· this glyphIterator glyphs)]) (· g id)) (for/list ([g glyphs]) (· g id)) (· this glyphIterator index) (· this glyphIterator cur id) (· this glyphIterator peekIndex)) (for/or ([table (in-list (· lookup subTables))]) (send this applyLookup (· lookup lookupType) table)) diff --git a/pitfall/pdfkit/node_modules/fontkit/index.js b/pitfall/pdfkit/node_modules/fontkit/index.js index 8728b584..d8b73962 100644 --- a/pitfall/pdfkit/node_modules/fontkit/index.js +++ b/pitfall/pdfkit/node_modules/fontkit/index.js @@ -7295,18 +7295,20 @@ var OTProcessor = function () { this.glyphIterator.reset(lookup.flags); while (this.glyphIterator.index < glyphs.length) { + console.log("start while +++++++++++++++++++++++++++++"); console.log("glyphs.length at top = " + glyphs.length); console.log("glyph ids at top =" + glyphs.map(function(o) { return o.id;})) console.log("this.glyphIterator.index at top = " + this.glyphIterator.index); console.log("feature = " + feature); - console.log("this.glyphIterator.cur.id = " + this.glyphIterator.cur.id); + console.log("this.glyphIterator.cur.features = " + + Object.getOwnPropertyNames(this.glyphIterator.cur.features)); console.log("(feature in this.glyphIterator.cur.features) = " + (feature in this.glyphIterator.cur.features)) if (!(feature in this.glyphIterator.cur.features)) { this.glyphIterator.next(); continue; } - console.log("=================================="); + console.log("start lookup branch =================================="); console.log("glyph ids =" + glyphs.map(function(o) { return o.id;})) console.log("this.glyph ids =" + this.glyphs.map(function(o) { return o.id;})) console.log("glyphIterator.glyph ids =" + this.glyphIterator.glyphs.map(function(o) { return o.id;})) diff --git a/pitfall/pitfall/test/out.txt b/pitfall/pitfall/test/out.txt index a1e4fce3..be403513 100644 --- a/pitfall/pitfall/test/out.txt +++ b/pitfall/pitfall/test/out.txt @@ -1,3 +1,94 @@ +glyph ids =450,480 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 0 +feature = numr +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 1 +feature = numr +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 0 +feature = dnom +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 1 +feature = dnom +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 0 +feature = frac +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 1 +feature = frac +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 0 +feature = frac +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 1 +feature = frac +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 0 +feature = frac +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 1 +feature = frac +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 0 +feature = liga +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =450,480 +this.glyph ids =450,480 +glyphIterator.glyph ids =450,480 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 450 +this.glyphIterator.peekIndex() = 1 'GSUBProcessor:applyLookup 4 ---------------------------- start ligature-substitution @@ -14,57 +105,409 @@ matched = 1 index = 1 characters = 102,105 ligatureGlyph.id = 731 -'GSUBProcessor:applyLookup 4 ----------------------------- -start ligature-substitution -lookupType = 4 -table.coverage.glyphs = 450 -forker = 0 -table.ligatureSets.get(_index3) = [object Object],[object Object] -starting index = 0 -ligature.components = 480 -matched = false -starting index = 0 -ligature.components = 514 -in match loop -idx = 0 -glyph.id = 514 -matched = 2 -index = 2 -characters = 102,108 -ligatureGlyph.id = 732 -'GSUBProcessor:applyLookup 4 ----------------------------- -start ligature-substitution -lookupType = 4 -table.coverage.glyphs = 373,393,450,532,538,598,609,616,625,640,718,2127 -forker = -1 +glyph ids before =450,480 +this.glyphIterator.index = 0 +glyph ids after =731 +this.glyphIterator.index = 0 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = calt +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 'GSUBProcessor:applyLookup 4 ---------------------------- start ligature-substitution lookupType = 4 table.coverage.glyphs = 373,393,450,532,538,598,609,616,625,640,718,2127 forker = -1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = calt +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 'GSUBProcessor:applyLookup 6 'GSUBProcessor:applyLookup 6 'GSUBProcessor:applyLookup 6 'GSUBProcessor:applyLookup 6 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = calt +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 'GSUBProcessor:applyLookup 6 'GSUBProcessor:applyLookup 6 'GSUBProcessor:applyLookup 6 'GSUBProcessor:applyLookup 6 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = calt +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 'GSUBProcessor:applyLookup 6 'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +glyph ids =731 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = kern +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = kern +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = kern +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = kern +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = mark +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = mark +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = mark +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = mkmk +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = mkmk +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = mkmk +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = mkmk +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = mkmk +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +glyph ids =450,480 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 0 +feature = numr +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 1 +feature = numr +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 0 +feature = dnom +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 1 +feature = dnom +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 0 +feature = frac +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 1 +feature = frac +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 0 +feature = frac +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 1 +feature = frac +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 0 +feature = frac +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 1 +feature = frac +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 0 +feature = liga +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =450,480 +this.glyph ids =450,480 +glyphIterator.glyph ids =450,480 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 450 +this.glyphIterator.peekIndex() = 1 'GSUBProcessor:applyLookup 4 ---------------------------- start ligature-substitution @@ -81,57 +524,409 @@ matched = 1 index = 1 characters = 102,105 ligatureGlyph.id = 731 -'GSUBProcessor:applyLookup 4 ----------------------------- -start ligature-substitution -lookupType = 4 -table.coverage.glyphs = 450 -forker = 0 -table.ligatureSets.get(_index3) = [object Object],[object Object] -starting index = 0 -ligature.components = 480 -matched = false -starting index = 0 -ligature.components = 514 -in match loop -idx = 0 -glyph.id = 514 -matched = 2 -index = 2 -characters = 102,108 -ligatureGlyph.id = 732 -'GSUBProcessor:applyLookup 4 ----------------------------- -start ligature-substitution -lookupType = 4 -table.coverage.glyphs = 373,393,450,532,538,598,609,616,625,640,718,2127 -forker = -1 +glyph ids before =450,480 +this.glyphIterator.index = 0 +glyph ids after =731 +this.glyphIterator.index = 0 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = calt +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 'GSUBProcessor:applyLookup 4 ---------------------------- start ligature-substitution lookupType = 4 table.coverage.glyphs = 373,393,450,532,538,598,609,616,625,640,718,2127 forker = -1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = calt +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 'GSUBProcessor:applyLookup 6 'GSUBProcessor:applyLookup 6 'GSUBProcessor:applyLookup 6 'GSUBProcessor:applyLookup 6 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = calt +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 'GSUBProcessor:applyLookup 6 'GSUBProcessor:applyLookup 6 'GSUBProcessor:applyLookup 6 'GSUBProcessor:applyLookup 6 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = calt +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 'GSUBProcessor:applyLookup 6 'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +glyph ids =731 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = kern +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = kern +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = kern +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = kern +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = mark +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = mark +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = mark +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = mkmk +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = mkmk +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = mkmk +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = mkmk +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = mkmk +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +glyph ids =450,480 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 0 +feature = numr +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 1 +feature = numr +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 0 +feature = dnom +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 1 +feature = dnom +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 0 +feature = frac +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 1 +feature = frac +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 0 +feature = frac +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 1 +feature = frac +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 0 +feature = frac +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 1 +feature = frac +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = false +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 2 +glyph ids at top =450,480 +this.glyphIterator.index at top = 0 +feature = liga +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =450,480 +this.glyph ids =450,480 +glyphIterator.glyph ids =450,480 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 450 +this.glyphIterator.peekIndex() = 1 'GSUBProcessor:applyLookup 4 ---------------------------- start ligature-substitution @@ -148,54 +943,315 @@ matched = 1 index = 1 characters = 102,105 ligatureGlyph.id = 731 -'GSUBProcessor:applyLookup 4 ----------------------------- -start ligature-substitution -lookupType = 4 -table.coverage.glyphs = 450 -forker = 0 -table.ligatureSets.get(_index3) = [object Object],[object Object] -starting index = 0 -ligature.components = 480 -matched = false -starting index = 0 -ligature.components = 514 -in match loop -idx = 0 -glyph.id = 514 -matched = 2 -index = 2 -characters = 102,108 -ligatureGlyph.id = 732 -'GSUBProcessor:applyLookup 4 ----------------------------- -start ligature-substitution -lookupType = 4 -table.coverage.glyphs = 373,393,450,532,538,598,609,616,625,640,718,2127 -forker = -1 +glyph ids before =450,480 +this.glyphIterator.index = 0 +glyph ids after =731 +this.glyphIterator.index = 0 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = calt +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 'GSUBProcessor:applyLookup 4 ---------------------------- start ligature-substitution lookupType = 4 table.coverage.glyphs = 373,393,450,532,538,598,609,616,625,640,718,2127 forker = -1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = calt +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 'GSUBProcessor:applyLookup 6 'GSUBProcessor:applyLookup 6 'GSUBProcessor:applyLookup 6 'GSUBProcessor:applyLookup 6 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = calt +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 'GSUBProcessor:applyLookup 6 'GSUBProcessor:applyLookup 6 'GSUBProcessor:applyLookup 6 'GSUBProcessor:applyLookup 6 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = calt +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 'GSUBProcessor:applyLookup 6 'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 -'GSUBProcessor:applyLookup 6 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +glyph ids =731 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = kern +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = kern +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = kern +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = kern +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = mark +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = mark +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = mark +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = mkmk +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = mkmk +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = mkmk +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = mkmk +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 +resetting iterator +start while +++++++++++++++++++++++++++++ +glyphs.length at top = 1 +glyph ids at top =731 +this.glyphIterator.index at top = 0 +feature = mkmk +this.glyphIterator.cur.features = rvrn,ltra,ltrm,ccmp,locl,rlig,mark,mkmk,calt,clig,liga,rclt,curs,kern +(feature in this.glyphIterator.cur.features) = true +start lookup branch ================================== +glyph ids =731 +this.glyph ids =731 +glyphIterator.glyph ids =731 +this.glyphIterator.index = 0 +this.glyphIterator.cur.id = 731 +this.glyphIterator.peekIndex() = 1 +incrementing iterator at bottom +this.glyphIterator.cur = bottom = null +this.glyphIterator.index = bottom = 1 diff --git a/pitfall/pitfall/test/test16.pdf b/pitfall/pitfall/test/test16.pdf index 1868626ea464300f91456c26080ff64e6d6c0090..77bab5d29c9da8f835fab32cb5b5d0352bf7ca67 100644 GIT binary patch delta 53 xcmZqDYtq}WoRQ7Y#KhdhZ1P%0OSW+Ls0eq@$!{2MLz$b;GQ}~$*oLeZ1p&+n5iI}! delta 53 xcmZqDYtq}WoRQ7I+|