From cf9ec85868201b4b3dec336976af1d03bd2e59f5 Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Fri, 7 Jul 2017 10:44:31 -0700 Subject: [PATCH] more --- pitfall/fontkit/layout-engine.rkt | 2 +- pitfall/fontkit/ot-processor.rkt | 9 +++++---- pitfall/pitfall/test/test16rkt.pdf | Bin 0 -> 6086 bytes 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/pitfall/fontkit/layout-engine.rkt b/pitfall/fontkit/layout-engine.rkt index 1c5c36f2..853359fd 100644 --- a/pitfall/fontkit/layout-engine.rkt +++ b/pitfall/fontkit/layout-engine.rkt @@ -54,7 +54,7 @@ https://github.com/mbutterick/fontkit/blob/master/src/layout/LayoutEngine.js ;; Substitute and position the glyphs (set! glyphs (send this substitute glyphs features script language)) (report/file 'end-sub) - (error 'stop) + #;(error 'stop) (report/file 'ready-position) (define positions (send this position glyphs features script language)) (report/file 'fired-position) diff --git a/pitfall/fontkit/ot-processor.rkt b/pitfall/fontkit/ot-processor.rkt index 4b7846cf..c306a7c3 100644 --- a/pitfall/fontkit/ot-processor.rkt +++ b/pitfall/fontkit/ot-processor.rkt @@ -146,7 +146,7 @@ https://github.com/mbutterick/fontkit/blob/master/src/opentype/OTProcessor.js (define pos (· this glyphIterator index)) (define glyph (send (· this glyphIterator) increment sequenceIndex)) (define idx 0) - (report*/file (list-ref sequence idx) glyph (and glyph (· glyph id))) + (report*/file (and (pair? sequence) (list-ref sequence idx)) glyph (and glyph (· glyph id))) (while (and (< idx (length sequence)) glyph (fn (list-ref sequence idx) (· glyph id))) (report* 'in-match-loop idx (· glyph id)) @@ -164,6 +164,7 @@ https://github.com/mbutterick/fontkit/blob/master/src/opentype/OTProcessor.js (send this match sequenceIndex sequence (λ (component glyph) (= component glyph)) empty)) (define/public (coverageSequenceMatches sequenceIndex sequence) + (report 'in-coverageSequenceMatches) (send this match sequenceIndex sequence (λ (coverage glyph) (>= (send this coverageIndex coverage glyph) 0)))) (define/public (getClassID glyph classDef) @@ -235,9 +236,9 @@ https://github.com/mbutterick/fontkit/blob/master/src/opentype/OTProcessor.js [(3) (report 'case-3) (and - (send this coverageSequenceMatches (- (· table backtrackGlyphCount)) (· table backtrackCoverage)) - (send this coverageSequenceMatches 0 (· table inputCoverage)) - (send this coverageSequenceMatches (· table inputGlyphCount) (· table lookaheadCoverage)) + (report (send this coverageSequenceMatches (- (· table backtrackGlyphCount)) (· table backtrackCoverage)) 'a) + (report (send this coverageSequenceMatches 0 (· table inputCoverage)) 'b) + (report (send this coverageSequenceMatches (· table inputGlyphCount) (· table lookaheadCoverage)) 'c) (send this applyLookupList (· table lookupRecords)))] [else #f])) diff --git a/pitfall/pitfall/test/test16rkt.pdf b/pitfall/pitfall/test/test16rkt.pdf index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..4ff081a582e616245f0ac2e463a41fbddb0e7a40 100644 GIT binary patch literal 6086 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 literal 0 HcmV?d00001