From 63613b6b6196588d03c0912e42f3bfc6280646bc Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Thu, 15 Jun 2017 17:34:09 -0700 Subject: [PATCH] fix searchRange formula --- pitfall/fontkit/directory.rkt | 6 +++++- pitfall/fontkit/font.rkt | 3 +++ pitfall/fontkit/subsetfont.rktd | Bin 760 -> 760 bytes 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/pitfall/fontkit/directory.rkt b/pitfall/fontkit/directory.rkt index 93572841..cd487728 100644 --- a/pitfall/fontkit/directory.rkt +++ b/pitfall/fontkit/directory.rkt @@ -65,7 +65,7 @@ https://github.com/mbutterick/fontkit/blob/master/src/tables/directory.js (define numTables (length table-headers)) - (define searchRange (* (floor (log (/ numTables (log 2)))) 16)) + (define searchRange (* (floor (/ (log numTables) (log 2))) 16)) (hash-set*! this-val 'tag "true" @@ -93,8 +93,12 @@ https://github.com/mbutterick/fontkit/blob/master/src/tables/directory.js (define (directory-decode ip [options (mhash)]) (send Directory decode (+DecodeStream (port->bytes ip)))) +(define (file-directory-decode ps) + (directory-decode (open-input-file ps))) + (test-module (define ip (open-input-file charter-path)) (define decoded-dir (deserialize (read (open-input-file charter-directory-path)))) (check-equal? (directory-decode ip) decoded-dir) + ) \ No newline at end of file diff --git a/pitfall/fontkit/font.rkt b/pitfall/fontkit/font.rkt index 3131c4a3..244079e8 100644 --- a/pitfall/fontkit/font.rkt +++ b/pitfall/fontkit/font.rkt @@ -284,4 +284,7 @@ https://github.com/mbutterick/fontkit/blob/master/src/TTFFont.js (send subset encode es) #;(with-output-to-file "subsetfont.rktd" (λ () (display (send es dump)) )) (check-equal? (send es dump) (file->bytes "subsetfont.rktd")) + + (file-directory-decode "subsetfont.rktd") + (file-directory-decode "../pitfall/test/out.bin") ) \ No newline at end of file diff --git a/pitfall/fontkit/subsetfont.rktd b/pitfall/fontkit/subsetfont.rktd index 61557a8d840c580de598a28d4cce2518c52593ef..08471459fe61744e5b031f0ccea8319010724f01 100644 GIT binary patch delta 21 ccmeyt`h%6Hq^LBNfs?_2!IdFlBhMQq08DHKPyhe` delta 21 ccmeyt`h%6Hq^LBNfs;XjL64zeBhMQq085JoIRF3v