From 5cfd6ae98aedb8ccbaf3bbee899cf8582297c14e Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Thu, 6 Jul 2017 13:49:08 -0700 Subject: [PATCH] start test 16 (GSUB ligatures) --- pitfall/pitfall/test/out.bin | Bin 4144 -> 4268 bytes pitfall/pitfall/test/test15crkt.pdf | Bin 4154 -> 2825 bytes pitfall/pitfall/test/test15rkt.pdf | Bin 6118 -> 3474 bytes pitfall/pitfall/test/test16.coffee | 20 ++++++++++++++++++++ pitfall/pitfall/test/test16.pdf | Bin 0 -> 6184 bytes pitfall/pitfall/test/test16.rkt | 22 ++++++++++++++++++++++ pitfall/pitfall/test/test16rkt.pdf | Bin 0 -> 6199 bytes 7 files changed, 42 insertions(+) create mode 100644 pitfall/pitfall/test/test16.coffee create mode 100644 pitfall/pitfall/test/test16.pdf create mode 100644 pitfall/pitfall/test/test16.rkt create mode 100644 pitfall/pitfall/test/test16rkt.pdf diff --git a/pitfall/pitfall/test/out.bin b/pitfall/pitfall/test/out.bin index 82c6a1c3f5d311cd482225e3bb1d8764427de123..c240bdf43de9fc87521f1fea1f94d2688bdfb72a 100644 GIT binary patch delta 586 zcmZvYzfapx5XbM%j-TTa1uMiE($K_?jT)8)=LZM|qpGOXQ5AtD2q6*$3JgSw5JDh^ zNc10Qr_xScTXjHU>L0h9frKkqF6z3_gzqjujM_8?lf z9P%3n`}s)XD96j*-rKu8UbFtOy?eA3<>@N`t?hL84Gn4eBQV@F!hC1~xqn5d`r;ul%!IbJ+{WinfYEwEY-L61EgXT=iunTA@bP zd(1g*AYkKxbjus&_ZcwsaHXucmK}$Ta4b_vrwh6j?!InS-D;)gVrOo&Hd85~6I=#C zu(V89#p&!=Y5wLHUfjBPF+2aF$)h0g=Qq{aunk|l|3@Rg&2C2)i}`QMBQo zX=2kvt3IeIv}HzLhekHybD;llsVuKV^$ZY}dqog{Byhm_zvI2KR?8b2vj(tsA+F`d zZN)O3s_sO{t{5Okyc0&ITGvNj8tz1$>P4qq$=A$s=_Gy>(l1(*W-y#eC1d*3B$YMQ ie%hEF{DS|yscER)yfX}iKEpB1K!RRF;{22R@zGxpx?alw delta 461 zcmXw$F-QVo6vy9t-(6m3kk=JSL3kZebmLKrLoOAlgA|xX1{G;T#uXAqfm3reRnpYZ zlyK!#TT4?@5H#gjgQL{s(NpV#?>+uJzTf-7cWbzz({QFIzgBdheUP|?HuejlzdXwQ z)!EzppEo!^*^D0Z@R%)LMBVTZ&s)TVW zs-kuTgVvbgGj&@x$A!RauQ8pf?R>1n9LIIZZ6e*td~R)7Ei diff --git a/pitfall/pitfall/test/test15crkt.pdf b/pitfall/pitfall/test/test15crkt.pdf index 325efa8bdbc03903d67f1b1c47f005170645fd9b..1c8baef92c7f6d8e3b185096bdc16878de13062f 100644 GIT binary patch delta 1400 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 diff --git a/pitfall/pitfall/test/test15rkt.pdf b/pitfall/pitfall/test/test15rkt.pdf index 3158c59227300b6bde420c6649fe361fcc7472b5..c9de781468499179b79bd95c9d8c9619b5817653 100644 GIT binary patch delta 1874 zcmah~O-vg{6n?Yoe~j@DBx$TDv)K?xY_e<2`iD}76igElB^3Izdq{|tIN+$Hh*(t) zjTTkv#fOO2QV(3xo@mrVH;O7PPzj<&s@h5|s&eVAKPhcm4wYynqzK$M>kUQZP+L3i zz3sPjS(cOdbTL~kkq;aRrAw*uoT76Z6NMX- zV14)x(a`aU@(nv)M%z3-UM$%0L$rr6yllrCXj4}v$0q8r<2V4he(9|;t;f!f(C(j{ zD%$m(ix{7^ax<_>Wb!uX1Ox!?K6e{LxNE{;$pjZZhl3^@T){`0hkd~PZ32&xD>x60 zR^-Bb%L;Xp%SK}K95PY8p z-`9Xo2$7(LL@?Tq&jFSRns8`EPLP%+(jq7lQIhC|4w4p8IYC0gwuc$goC^^(lv~e+ zLfQ3PXzOF!=We&_uE5$_z}4RF3T*xma2`GC43NgH^}5HkVFu|0QK3946oIit3_1Kd zVvFEH+h}?sBm*Ab~EIk65^TK{0{jW8PEv4&g73^ zQyxox9=UNAAtw^?KP3~{YsuOsx-Egz5kAS23xDHox8GXkY@i0!F9e|$!ew(#@FcwfdKR_s) zHNlPid^X1jZhw?m=fKU2e4Fxpcf;qO`Ep<8R`Y-M;!e8)TOP8(w%Wfr!%h0z88OfS z58oAV!#TDm*46N#fOw7AK=z>jGYH(P5ajgQ26wggn9brJ*1`aeuWF;Ui;g??I%}~t zu;a{%K<`|bjyCoD177}jmid;yf1++5tmE2d#~q#j0s$|Z3{08$pb6d~^)4Z|G?Ucc zHKG3iyGi`$g$@%)oYH)$-yjz;;Nl1z6VT)1bim+S2ZmKqqZL{?eYrvh=y>6>;b^ri zCW;kJq6UnpB^+N-1*2DsqN~^aqNa6YAqOjjYjA!=!xC5R5@;<*+QdoD_#id-BSY%T zsxjRkHG2ECs36e1u{@+2%l%P7({Pq+n<`SiS=wilb|Y!mG0c1FRrC?n=#3hnRVu9L zh$;%kbfprlU?+BL!tySFz;2+|22cyEfm-BEGChRF(1=2m0iqxZNL1^`mwV%bBWfP0 z3MH)r?@0_sQ2t=;2p)-_paBnRnEMetxF0cCz|F)vA0rFwL@;Lwojyoo?jT+r08b2- zFf$D$7>4KZchrIw@V+_0&3@A?0je*AXm1#C3`=q|YRz(L^Gfq}f!} z8R>D`C8}p5!;#K(hNhDls$|nNmCVvqB6IIvq>bC2^jpiX`;u}tOY!eWmgzO>vmE@3 zQsnBRJ!kaJto%$;PNutdFOa)ZsohwooJu}}b*9qKU|nhDKdd}eD7}Fa^z`_o)74M+ R#v76eCFN^v&7T|a{R^8%xCj6M literal 6118 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 a;t!As&EhqxH7i=-sL!X2j3l2*DgOmhCuXkz diff --git a/pitfall/pitfall/test/test16.coffee b/pitfall/pitfall/test/test16.coffee new file mode 100644 index 00000000..afe4f259 --- /dev/null +++ b/pitfall/pitfall/test/test16.coffee @@ -0,0 +1,20 @@ +PDFDocument = require 'pdfkit' +fs = require 'fs' + +make = (doc) -> + + # Register a font name for use later + doc.registerFont('the-font', 'assets/fira.ttf') + + # Set the font, draw some text + doc.font('the-font') + .fontSize(100) + .text('fifl', 100, 100, {width: false}) + + doc.end() + + +doc = new PDFDocument({compress: no}) +doc.pipe(fs.createWriteStream('test16.pdf')) +make doc + diff --git a/pitfall/pitfall/test/test16.pdf b/pitfall/pitfall/test/test16.pdf new file mode 100644 index 0000000000000000000000000000000000000000..263e3abb28e63896422ee134570dbc233ce82206 GIT binary patch literal 6184 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 Vux+;5wzuNRL_!G!^6#xEe*zyZW2XQB literal 0 HcmV?d00001 diff --git a/pitfall/pitfall/test/test16.rkt b/pitfall/pitfall/test/test16.rkt new file mode 100644 index 00000000..477a09c2 --- /dev/null +++ b/pitfall/pitfall/test/test16.rkt @@ -0,0 +1,22 @@ +#lang pitfall/pdftest + +;; test ligatures (GSUB parsing + substitution) + +(define-runtime-path ttf-path "assets/fira.ttf") + +(define (proc doc) + ;; Register a font name for use later + (send doc registerFont "the-font" (path->string ttf-path)) + + ;; Set the font, draw some text + (send* doc + [font "the-font"] + [fontSize 100] + [text "fifl" 100 100 (hash 'width #f)])) + + +(define-runtime-path this "test16rkt.pdf") +(make-doc this #f proc #:test #f) + +#;(define-runtime-path that "test16crkt.pdf") +#;(make-doc that #t proc #:pdfkit #f) \ No newline at end of file diff --git a/pitfall/pitfall/test/test16rkt.pdf b/pitfall/pitfall/test/test16rkt.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8f93119125af88c9d9cec29e6714793f6c0f5d8e GIT binary patch literal 6199 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 literal 0 HcmV?d00001