From 8a693b30afd5284cfbb744e95f5deeb7b8a1cdff Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Tue, 12 Mar 2019 15:31:51 -0700 Subject: [PATCH] tests 20 & 21 --- pitfall/ptest/test20.coffee | 11 ++++++----- pitfall/ptest/test20.pdf | Bin 8292 -> 8292 bytes pitfall/ptest/test20.rkt | 14 ++++++++------ pitfall/ptest/test20c.pdf | Bin 5121 -> 5121 bytes pitfall/ptest/test20crkt copy.pdf | Bin 0 -> 5122 bytes pitfall/ptest/test20rkt copy.pdf | Bin 0 -> 8293 bytes pitfall/ptest/test21.coffee | 27 +++++++++++++++++++++++++++ pitfall/ptest/test21.pdf | Bin 0 -> 3914 bytes pitfall/ptest/test21.rkt | 25 +++++++++++++++++++++++++ pitfall/ptest/test21c.pdf | Bin 0 -> 3481 bytes pitfall/ptest/test21crkt copy.pdf | Bin 0 -> 3482 bytes pitfall/ptest/test21rkt copy.pdf | Bin 0 -> 3915 bytes 12 files changed, 66 insertions(+), 11 deletions(-) create mode 100644 pitfall/ptest/test20crkt copy.pdf create mode 100644 pitfall/ptest/test20rkt copy.pdf create mode 100644 pitfall/ptest/test21.coffee create mode 100644 pitfall/ptest/test21.pdf create mode 100644 pitfall/ptest/test21.rkt create mode 100644 pitfall/ptest/test21c.pdf create mode 100644 pitfall/ptest/test21crkt copy.pdf create mode 100644 pitfall/ptest/test21rkt copy.pdf diff --git a/pitfall/ptest/test20.coffee b/pitfall/ptest/test20.coffee index b0fbd658..27e23ed1 100644 --- a/pitfall/ptest/test20.coffee +++ b/pitfall/ptest/test20.coffee @@ -6,10 +6,11 @@ fs = require 'fs' make = (doc) -> # Register a font name for use later - doc.registerFont('the-font', 'assets/fira.otf') + doc.registerFont('fira', 'assets/fira.otf') + doc.registerFont('charter', 'assets/charter.otf') # Set the font, draw some text - doc.font('the-font') + doc.font('fira') .fontSize(40) .text('Fira OTF rifle fire', 100, 100, {width: false}) @@ -20,7 +21,7 @@ doc = new PDFDocument({compress: no}) doc.pipe(fs.createWriteStream('test20.pdf')) make doc -#doc = new PDFDocument({compress: yes}) -#doc.pipe(fs.createWriteStream('test20c.pdf')) -#make doc +doc = new PDFDocument({compress: yes}) +doc.pipe(fs.createWriteStream('test20c.pdf')) +make doc diff --git a/pitfall/ptest/test20.pdf b/pitfall/ptest/test20.pdf index 35d652ebb0303bf84a845533657d97f6d5f810a7..9cdddca3f52d69794c51f43a7d4d99cca76d87ef 100644 GIT binary patch delta 55 ycmaFj@Wf#Q3loQ-5fE4!TTbR-vSbVKbq{q9p6tzZ8_L|Q!+eYh#{R*YBLx7+6cDih delta 55 zcmaFj@Wf#Q3loQdiJ_UHrIGn$9wtjR-v}44prFa#Ot+!T%{t7-m|*N5tT|Eu$Nvzq diff --git a/pitfall/ptest/test20.rkt b/pitfall/ptest/test20.rkt index c0832ec0..0f037c5c 100644 --- a/pitfall/ptest/test20.rkt +++ b/pitfall/ptest/test20.rkt @@ -2,22 +2,24 @@ (require pitfall/pdftest) ;; subset OTF font -(define-runtime-path otf-path "assets/fira.otf") +(define-runtime-path fira "assets/fira.otf") +(define-runtime-path charter "assets/charter.otf") ;; embed otf (define (proc doc) ;; Register a font name for use later - (register-font doc "the-font" (path->string otf-path)) + (register-font doc "fira" (path->string fira)) + (register-font doc "charter" (path->string charter)) ;; Set the font, draw some text - [font doc "the-font"] + [font doc "fira"] [font-size doc 40] [text doc "Fira OTF rifle fire" 100 100]) ;; test against non-subsetted font version (define-runtime-path this "test20rkt.pdf") -(make-doc this #f proc #:test #f) +(make-doc this #f proc) -#;(define-runtime-path that "test20crkt.pdf") -#;(make-doc that #t proc #:pdfkit #f) +(define-runtime-path that "test20crkt.pdf") +(make-doc that #t proc) diff --git a/pitfall/ptest/test20c.pdf b/pitfall/ptest/test20c.pdf index 62459e04f5eafe2e4db1b03cd6a745a533ae2a39..de5ed222266c0f04a0719249b13faa2d9a6b9fb9 100644 GIT binary patch delta 54 xcmZqFXw=vs&d6bC1O%4GmXqZfE!n)iA|1m#CdV<}hB57#9zdC!RhjPy004{@4{iVe delta 54 ycmZqFXw=vs&d6b4VrXV)X<|BAp3#ymEYLT~IdXCw<82tzp6LOUxmlI@jsO6X)epr0 diff --git a/pitfall/ptest/test20crkt copy.pdf b/pitfall/ptest/test20crkt copy.pdf new file mode 100644 index 0000000000000000000000000000000000000000..095de42148b892d21f6a07122c573e732aba31e6 GIT binary patch literal 5122 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 literal 0 HcmV?d00001 diff --git a/pitfall/ptest/test21.coffee b/pitfall/ptest/test21.coffee new file mode 100644 index 00000000..38a55cb9 --- /dev/null +++ b/pitfall/ptest/test21.coffee @@ -0,0 +1,27 @@ +PDFDocument = require 'pdfkit' +fs = require 'fs' + +# embed otf + +make = (doc) -> + + # Register a font name for use later + doc.registerFont('fira', 'assets/fira.otf') + doc.registerFont('charter', 'assets/charter.otf') + + # Set the font, draw some text + doc.font('charter') + .fontSize(40) + .text('Charter OTF rifle fire', 100, 100, {width: false}) + + doc.end() + + +doc = new PDFDocument({compress: no}) +doc.pipe(fs.createWriteStream('test21.pdf')) +make doc + +doc = new PDFDocument({compress: yes}) +doc.pipe(fs.createWriteStream('test21c.pdf')) +make doc + diff --git a/pitfall/ptest/test21.pdf b/pitfall/ptest/test21.pdf new file mode 100644 index 0000000000000000000000000000000000000000..150295e0a5c8532bcf15f37e30b0830c05b7c218 GIT binary patch literal 3914 zcmai14R93I9lwvMg3;zp`#e--hb*;B7UTkr8WRg5`wsA4u0{=2EDu{vM zkj1&2j|g0Yv}m}o8t{vj{Mly1cM zJQiR`DKgI`EW`yG)sPO1M&X2I!xd-^9eE;y7#dvku(f{Fkp+K zG#4~CG!Hay{@n+?A6ft!2aS9ao-Sx%Xc1_Hm(a;Kp_6fM9ilr?$5KmkhviNS30U6p zeCT{LJcQ6i(qUdkl@PjRf>H%J052734n>f}CQji|Wz!;-W&*T}VOiEiv;H4dk>KQI z2WH65rJsbmiBE-PAqi4*;cw*<0E`v&OWWI;Z*A=6WQ8XqaV`dl&apIT=%``5460#W zUc@i~7YcY?kiekA#f5Oa7>o0Wwm9okVS=oHAKr-~@&Qx);0c#(;e}YYg1kP);=C*W z;r7EvyTT_{k?F*~B|@BcAwSq2n&AsW@?3zzv@0}HfHE=0j1J@kS zfUiB10*yg2DrwjY@i76il0lXA0B0V;zCw=hvLMD#WiSFR2ucQs?dfDP&L@aVG_g#x zb~>7fgd56fHL0Vutj~|UE*5#bZsehT$mM5|%jHJy0E5Vw&&425z=u38A7cG9aH^0^3lwxj2rKz7jTTODNl3}; zNFd~#6APeCM`LAUdzA$!vqFI)d=$hj=aM-vX<@7>gsui=O>=0u1B+k=lQStSMfg;b z1K@KatWKm7>AJ;Hcr+x>8qQDZiq7OlWKyIKX=O~;kx#cv>%9J4$7r38&2{b^(W7;2 zenM3H^5n+cP`Dt)8_0F}uW(%_DXxNYc-10#$@6epCM&BJZY>_fPeJ4_Wh5yji2$vU zzsnZ`vH}+JeMOA_UvM{z5H12-=cVYk6e=;oL2*Haq|jQennF;%9nwlsAQ6U|*5Et6 zda!ehY2={Tr5M>iVz3L$o-h-wIqNk(0EU!?nt?iBCPY9v*_A-|v?fyP1-GwQ&W#pl zVfFXZESZ^)n_gE`q|@v5#rbuMyf4e5?EHa}imY9iy-uIK-jJ;@W*tRpxWqVFQgprU zvu}1?rFzt#TvznWH>*w8>vV?GSCjvDzdKa20A9?0D_Kaok4kRTQ3jn}S8P~pXf!M} zv>8?!I$@Wng;p7^LXA=~BWo)f6YvLWm_UH7Mh$|Jvke8saBVeezsF zhQWktlz@~+p--i|U@hiFGLqus@oL105hTO*4kig*Y1lB7ZXR~;X(RJ-LzQwB(sITi zDXqi-vM8!Sg-FOvf-Hg!@|D@5ut#xX1|`#SQcCff;*EmR4Z^?xqCTvEcef#MD+VbJP>#V>?Ie?>&`haHx;L_&PE!j#8_%@k7+->t1o+vs#I^RNzU< zy6Ayd*Nx)MhwzQh&wK71zGtd*GyeOeZP%S9Jb%=jn=?**argKFb>0tFx27I`U|+@Q z56wHDdU9~T{m*;XFLv}$>bkYg#0}-82XB9A)n6(~H@|r7iSd(;(u2+4#_!jce>TwY-n7ar|Q7p@+)x2j-ve9C-B6a(s2u zd#YY7zvV{tR`uqOEAh1_-`e}TKUA=IhfVD>pZVo$C*HKbJ$CmZ$JT)dx0YK0B>0BD zW7$t$)sKIf4gTAhHC$-2d2UbKxx&%1w3|`&<*NP={l{QM`{W0SGj?43`Q)c39M4Yf zIrUyS*2g|-d8=Y_Mg21#`^qA0JFgb0t!gW)npB%w#$pq0#ck)Y0hc+fj|?2i{`IJS z_&8qrF2KL;>cT@usFuOZkSY5HuBC=H57nBE z0~)P&4IIHwAH~B*^Rym#o4}a~{pVB0 z-<0A0QS)+woU9I`3Dxl~_2Cn*jPI@Zc!lY}j@`e0vV5dxf2V5kR;r6CwhwIER=#Yr zsprj$x&mZ=KQMaXDpFQoP8pvr!}pDvLqyeu+jwe5b+v&PMpy>mv1%LKezGO~b6($Y zHoX(y@z}(}W>p-Z#w}Cd&ThXZd&V~RFtJI7BNmMq)27GbzU$lA5HUFe0g4Qp|RBuPQ!Oan)B?c`5xUfK;KrNEs>istring fira)) + (register-font doc "charter" (path->string charter)) + + ;; Set the font, draw some text + [font doc "fira"] + [font-size doc 40] + [text doc "Fira OTF rifle fire" 100 100]) + +;; test against non-subsetted font version +(define-runtime-path this "test20rkt.pdf") +(make-doc this #f proc) + +(define-runtime-path that "test20crkt.pdf") +(make-doc that #t proc) diff --git a/pitfall/ptest/test21c.pdf b/pitfall/ptest/test21c.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f0fbd1beceefc43819cab8432eaa80c401e44eea GIT binary patch literal 3481 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 Lo0x)u1qJvE>cD1W literal 0 HcmV?d00001 diff --git a/pitfall/ptest/test21crkt copy.pdf b/pitfall/ptest/test21crkt copy.pdf new file mode 100644 index 0000000000000000000000000000000000000000..240ecbc9fb4816118ad7ffa91f3ff1f77b853f5a GIT binary patch literal 3482 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 literal 0 HcmV?d00001 diff --git a/pitfall/ptest/test21rkt copy.pdf b/pitfall/ptest/test21rkt copy.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5c9446819c468fce295b8ec3e862df34e9959a19 GIT binary patch literal 3915 zcmZ`+4R9O971ocXbFW6UF>536wg-o-`O@7zhb&ArKl`7?@6Lk|r=^UUXG>e1quxo+{~tWG8`+WAy`EmUkhX;~Netqw)sUthR+mo=DwG55uR-pH=#9lAb1=MYVa}ZXj_m=iD@a!rI1UV*w{$ZoDd-! z5JF+2PDu=RaWYzC17VOY#BGw1Es%hXoAbRt-v@wc8*GkPQD-qHu!V@GZ3FP@d>O4m&92X6n5tlu);I*-&8o6yO)rxDrLq0l0_HALU3 zB9@mtk6lBNhJalp9p)rd-5ChAH7!|E1LgrWWnL6oSeZi(x0`V>KCj1_9}tV@7UAYC z;#$DXYiDR%SGrqPUBMq{A>b3gu=|Su)oMygG+M2;)ZfEOGAEJu#aWb{J6KkgwP>=} zX|vbsvQ_%5wL}S*>8Hv{uGf6_&918yw{qWgCC_}b(r~>-qdR>y`G5C^!)5c}#rXHK z`K0@(>_!cx(`YrNx`jHwZjr82w_LXlaIc3}9j-xsF`1G0SPwX-&+Dsm_uZspO>|3qB*xXErA_r{wU|cW(5Q!#xb6&!Ni6tt1SL5s!KYGy97+ojz?6;0 zi&!NkF)8t!oI&b-DI|+1odT9&5TO<�VdSK9%l{^I=XPBPlK(uSKj7K@x-rh{SiN z!6tGK2N7{u$UJVSTB<>6)H#rtmgBs@p(p^JQaR)n`5~Zq5bay1MZvbLkU`0`loV5( zx@;pa_W&~xfNUQoesLQDRqo*B3f5oJH5!w4egV z!-UJ5yp{FU-qh zo$oqCDZ$2@;7H;E5jfI#Iimq*)0SyW#OX>joMuYv)(&c4*WIM6(GBU|(chpK^)Kr` zQBInk|LL*p*<;#?e`hOB=(A_`nK9Evr4@aDzhO&4*d|&OPc<&VL43z&Sc7X0k8SB2 zx9-a9wi{01dgH$4z|KyK5>c%1izq)jrIdc%Vcl?aYT%UR?bE;Bcgku?4UT1hd+#$RvRN_34Dk;xW~sjZe?~9`4GPG`8m&>!*@@YZ^r+aGVi+6 zfai`Gb89B3FYcO{r_A}u%8t~-5A3Tt{h@K^Q%?@n#KD)|J^2)#d)R7Hx1&ev-|eMoy)B4i+UW2 zwo=g^vi~Vi)iw1&;*15Cem?c-3G1^{drrMqiM6qh+TW_0TGsT8+p@d_o6jpHN{7R4~|pJ8#CvqFJezXN9N zBW8`^^cc0AxNWwHGAVn3mw6IrCbgeW>wjB;2gZy`iRWZB7)>hHcc~Abcx7U5)yK;W z2X^fK&6Aa*z5CZGw5M8GP_=z<+qTNZn+?5hUepv^<`08o7p@{<_2snw=?Z-Bm@!DU zx^Npu6-8GkXrYH=03MT?;P#W0^shPnBiZy$e8*#x4;vL>keZ;Uzn|THP4C=Y>H(o6IlrG{7P?AE>oa3zrH@d{P!A;1FkHP<+w0fXqTtY7$~`uE4ojE!gTD z9tWypoF3$G_?*b+aYBhjSdfi??j?D?P_#Kn;Z&%tF7HU&n%NXbw41FN)C^r2IF=Iu zAu6h6TUR=njB^RXAJhn{r?!+q)#@P()ypyoQZFyWP<7!%t|2nmR+8#+4b$L79w&p` z9v5=k8<5k>Ag9xXTs{XPV+~FRa{C&P+u48^uN^rVpnI8hpw+k5F*%ekV}^*qf-{sR zgaar!~s-b~01Ifll6yc)4ZYi70IhhJ*T>->8Sao@ZYCMn#RycAZg~bS$O0rN& zvI126q_(v;E{wv{NX&o5aDGvDw0Jfmiz1CkEsX7r z{$_?Oxl|PFUF_t!sE9zVNL)RI)~MkS1kd_z_iq&dIO5ER=7kGj& z1mP_An$cVm<;gkP90T0qQ~sC`Ym5GP73tSvUs77`e^?i~Mb_D84sI;171> zU}$3f+ygfsx6_THC{J^`ybvPfLBb`P+XZ)$nKU~?;JJe4U}n?o4$xudJP7F7{9JHG zT`|w@W