From 81bc91d15857278bfe21ffb5c0c50acf685c7dee Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Wed, 13 Mar 2019 15:06:02 -0700 Subject: [PATCH] tests --- .../{glyph_mapping.js => glyph_mapping.rkt} | 17 ++++++++++++ .../fontland/test/{glyphs.js => glyphs.rkt} | 26 +++++++++++++++++++ .../test/{metadata.js => metadata.rkt} | 10 +++++++ fontland/fontland/test/subset.rkt | 6 +++-- 4 files changed, 57 insertions(+), 2 deletions(-) rename fontland/fontland/test/{glyph_mapping.js => glyph_mapping.rkt} (93%) rename fontland/fontland/test/{glyphs.js => glyphs.rkt} (92%) rename fontland/fontland/test/{metadata.js => metadata.rkt} (90%) diff --git a/fontland/fontland/test/glyph_mapping.js b/fontland/fontland/test/glyph_mapping.rkt similarity index 93% rename from fontland/fontland/test/glyph_mapping.js rename to fontland/fontland/test/glyph_mapping.rkt index 255f277e..55e3d3d7 100755 --- a/fontland/fontland/test/glyph_mapping.js +++ b/fontland/fontland/test/glyph_mapping.rkt @@ -1,3 +1,18 @@ +#lang racket +(require rackunit racket/runtime-path fontland) + +#| +approximates +https://github.com/mbutterick/fontkit/blob/master/test/glyph_mapping.js +|# + +(define-runtime-path open-sans-ttf "data/OpenSans/OpenSans-Regular.ttf") +(define-runtime-path source-sans-otf "data/SourceSansPro/SourceSansPro-Regular.otf") +(define-runtime-path mada-ttf "data/Mada/Mada-Regular.subset1.ttf") + + (define font (open-font open-sans-ttf)) + +#| import fontkit from '../src'; import assert from 'assert'; @@ -130,3 +145,5 @@ describe('character to glyph mapping', function() { }); }); }); + +|# diff --git a/fontland/fontland/test/glyphs.js b/fontland/fontland/test/glyphs.rkt similarity index 92% rename from fontland/fontland/test/glyphs.js rename to fontland/fontland/test/glyphs.rkt index d078c27f..e66d7ea6 100755 --- a/fontland/fontland/test/glyphs.js +++ b/fontland/fontland/test/glyphs.rkt @@ -1,3 +1,28 @@ +#lang racket +(require rackunit racket/runtime-path fontland fontland/cff-glyph fontland/path) + +#| +approximates +https://github.com/mbutterick/fontkit/blob/master/test/glyphs.js +|# + +(define-runtime-path open-sans-ttf "data/OpenSans/OpenSans-Regular.ttf") +(define-runtime-path mada-ttf "data/Mada/Mada-Regular.subset1.ttf") +(define-runtime-path source-otf "data/SourceSansPro/SourceSansPro-Regular.otf") + +(define font (open-font source-otf)) +(define glyph (get-glyph font 5)) + +(test-case + "should get a TTFGlyph" + (check-true (cff-glyph? glyph))) + +(test-case + "should get a path for the glyph" + (check-equal? (toSVG (getPath glyph)) + "M90 0L258 0C456 0 564 122 564 331C564 539 456 656 254 656L90 656ZM173 68L173 588L248 588C401 588 478 496 478 331C478 165 401 68 248 68Z")) + +#| import fontkit from '../src'; import assert from 'assert'; import BBox from '../src/glyph/BBox'; @@ -208,3 +233,4 @@ describe('glyphs', function() { }); }); }); +|# \ No newline at end of file diff --git a/fontland/fontland/test/metadata.js b/fontland/fontland/test/metadata.rkt similarity index 90% rename from fontland/fontland/test/metadata.js rename to fontland/fontland/test/metadata.rkt index 8dac63b0..2b6fdcda 100755 --- a/fontland/fontland/test/metadata.js +++ b/fontland/fontland/test/metadata.rkt @@ -1,3 +1,12 @@ +#lang racket +(require rackunit racket/runtime-path fontland) + +#| +approximates +https://github.com/mbutterick/fontkit/blob/master/test/metadata.js +|# + +#| import fontkit from '../src'; import assert from 'assert'; import BBox from '../src/glyph/BBox'; @@ -36,3 +45,4 @@ describe('metadata', function() { } }); }); +|# \ No newline at end of file diff --git a/fontland/fontland/test/subset.rkt b/fontland/fontland/test/subset.rkt index e789e248..2e2b782e 100755 --- a/fontland/fontland/test/subset.rkt +++ b/fontland/fontland/test/subset.rkt @@ -19,8 +19,10 @@ https://github.com/mbutterick/fontkit/blob/master/test/subset.js "should produce a subset" (define subset (create-subset font)) (for ([glyph (in-vector (vector-map glyph-id (glyphrun-glyphs (layout font "hello"))))]) - (subset-add-glyph! subset glyph))) - + (subset-add-glyph! subset glyph)) + (define f (encode-to-port subset)) + f + (void)) #|