diff --git a/pitfall/pitfall/bbox.rkt b/pitfall/fontkit/bbox.rkt similarity index 100% rename from pitfall/pitfall/bbox.rkt rename to pitfall/fontkit/bbox.rkt diff --git a/pitfall/pitfall/clone.rkt b/pitfall/fontkit/clone.rkt similarity index 100% rename from pitfall/pitfall/clone.rkt rename to pitfall/fontkit/clone.rkt diff --git a/pitfall/pitfall/cmap-processor.rkt b/pitfall/fontkit/cmap-processor.rkt similarity index 100% rename from pitfall/pitfall/cmap-processor.rkt rename to pitfall/fontkit/cmap-processor.rkt diff --git a/pitfall/pitfall/directory.rkt b/pitfall/fontkit/directory.rkt similarity index 100% rename from pitfall/pitfall/directory.rkt rename to pitfall/fontkit/directory.rkt diff --git a/pitfall/pitfall/fontkit.rkt b/pitfall/fontkit/font.rkt similarity index 99% rename from pitfall/pitfall/fontkit.rkt rename to pitfall/fontkit/font.rkt index 2fc83b62..5ca0b4eb 100644 --- a/pitfall/pitfall/fontkit.rkt +++ b/pitfall/fontkit/font.rkt @@ -2,7 +2,7 @@ (require "freetype-ffi.rkt" ffi/unsafe racket/runtime-path "subset.rkt" "glyph.rkt" "layout-engine.rkt" "bbox.rkt" "glyphrun.rkt" "cmap-processor.rkt" "directory.rkt") (provide (all-defined-out)) -(define-runtime-path charter-path "test/assets/charter.ttf") +(define-runtime-path charter-path "../pitfall/test/assets/charter.ttf") #| approximates diff --git a/pitfall/pitfall/freetype-ffi.rkt b/pitfall/fontkit/freetype-ffi.rkt similarity index 100% rename from pitfall/pitfall/freetype-ffi.rkt rename to pitfall/fontkit/freetype-ffi.rkt diff --git a/pitfall/pitfall/glyph-position.rkt b/pitfall/fontkit/glyph-position.rkt similarity index 100% rename from pitfall/pitfall/glyph-position.rkt rename to pitfall/fontkit/glyph-position.rkt diff --git a/pitfall/pitfall/glyph.rkt b/pitfall/fontkit/glyph.rkt similarity index 100% rename from pitfall/pitfall/glyph.rkt rename to pitfall/fontkit/glyph.rkt diff --git a/pitfall/pitfall/glyphrun.rkt b/pitfall/fontkit/glyphrun.rkt similarity index 100% rename from pitfall/pitfall/glyphrun.rkt rename to pitfall/fontkit/glyphrun.rkt diff --git a/pitfall/pitfall/layout-engine.rkt b/pitfall/fontkit/layout-engine.rkt similarity index 100% rename from pitfall/pitfall/layout-engine.rkt rename to pitfall/fontkit/layout-engine.rkt diff --git a/pitfall/fontkit/main.rkt b/pitfall/fontkit/main.rkt new file mode 100644 index 00000000..4a9db4b0 --- /dev/null +++ b/pitfall/fontkit/main.rkt @@ -0,0 +1,6 @@ +#lang restructure/racket + +(r+p "font.rkt" + "glyph-position.rkt" + "subset.rkt" + "bbox.rkt") \ No newline at end of file diff --git a/pitfall/pitfall/script.rkt b/pitfall/fontkit/script.rkt similarity index 100% rename from pitfall/pitfall/script.rkt rename to pitfall/fontkit/script.rkt diff --git a/pitfall/pitfall/subset.rkt b/pitfall/fontkit/subset.rkt similarity index 100% rename from pitfall/pitfall/subset.rkt rename to pitfall/fontkit/subset.rkt diff --git a/pitfall/pitfall/ttfglyphencoder.rkt b/pitfall/fontkit/ttfglyphencoder.rkt similarity index 100% rename from pitfall/pitfall/ttfglyphencoder.rkt rename to pitfall/fontkit/ttfglyphencoder.rkt diff --git a/pitfall/pitfall/binarizer.rkt b/pitfall/pitfall/binarizer.rkt deleted file mode 100644 index b2817d3e..00000000 --- a/pitfall/pitfall/binarizer.rkt +++ /dev/null @@ -1,50 +0,0 @@ -#lang pitfall/racket - -(define binarizer% - (class object% - (super-new) - (init-field [parts null]) - (define/public (encode x) (error 'must-override-encode)) - (define/public (decode x) (error 'must-override-encode)))) - -(define Byte - (class binarizer% - (super-new) - (define/override (encode x) - (let loop ([x x]) - (cond - [(bytes? x) - (if (= (bytes-length x) 1) - x - (raise-argument-error 'Byte "byte string of length 1" x))] - [(number? x) - (if (<= 0 x 255) - (bytes x) - (raise-argument-error 'Byte "number that fits into one byte" x))] - [(char? x) (loop (char->integer x))] - [(symbol? x) (loop (symbol->string x))] - [(string? x) (loop (string->bytes/latin-1 x))] - [else (raise-argument-error 'Byte "convertible type" x)]))))) - -(define (>Byte . xs) - (apply make-object Byte xs)) - -(get-field parts (>Byte 23)) - - -#| -(define (Bio x) - (define template (list 'age Byte - 'name short - 'city long)) - (if (hash? x) - (hash->bytes x template) - (bytes->hash x template))) - -(define h (hash 'age 24 - 'name 1000 - 'city 200000)) - -(define bs (Bio h)) - -(Bio bs)|# \ No newline at end of file diff --git a/pitfall/pitfall/embedded.rkt b/pitfall/pitfall/embedded.rkt index 399e9daa..2aa456dc 100644 --- a/pitfall/pitfall/embedded.rkt +++ b/pitfall/pitfall/embedded.rkt @@ -1,5 +1,5 @@ #lang pitfall/racket -(require "font.rkt" "glyph-position.rkt" "glyphrun.rkt" "subset.rkt" "reference.rkt") +(require "font.rkt" fontkit "reference.rkt") (provide EmbeddedFont) (define-subclass PDFFont (EmbeddedFont document font id) @@ -182,7 +182,7 @@ For now, we'll just measure width of the characters. (module+ test - (require rackunit "fontkit.rkt" "bbox.rkt") + (require rackunit fontkit) (define f (openSync "test/assets/Charter.ttf" #f)) (define ef (make-object EmbeddedFont #f f #f)) (check-equal? (send ef widthOfString "f" 1000) 321.0) diff --git a/pitfall/pitfall/font-open.rkt b/pitfall/pitfall/font-open.rkt index cf3c48de..9689e0cd 100644 --- a/pitfall/pitfall/font-open.rkt +++ b/pitfall/pitfall/font-open.rkt @@ -1,5 +1,5 @@ #lang pitfall/racket -(require "standard-font.rkt" "font.rkt" "fontkit.rkt" "embedded.rkt") +(require "standard-font.rkt" "font.rkt" fontkit "embedded.rkt") (provide PDFFont-open) (define/contract (PDFFont-open document src family id) diff --git a/pitfall/pitfall/standard-font.rkt b/pitfall/pitfall/standard-font.rkt index f164b557..1e07bda1 100644 --- a/pitfall/pitfall/standard-font.rkt +++ b/pitfall/pitfall/standard-font.rkt @@ -1,6 +1,6 @@ #lang pitfall/racket -(require "afm-font.rkt" "font.rkt" "glyph-position.rkt") -(require racket/runtime-path (for-syntax racket/base racket/path racket/syntax sugar/debug)) +(require "afm-font.rkt" "font.rkt" fontkit) +(require racket/runtime-path) (provide isStandardFont standard-fonts StandardFont) (define-subclass PDFFont (StandardFont document name id)