From b472cb2cede83bab07583b842f715d31722b4e1a Mon Sep 17 00:00:00 2001 From: John Whitington Date: Fri, 4 Nov 2016 15:57:28 +0000 Subject: [PATCH] Text width fixed --- Changes | 1 + cpdf.ml | 17 ++++++++--------- mktext | 8 ++++++-- text.pdf | Bin 2601 -> 0 bytes textnoembed.pdf | Bin 1461 -> 0 bytes 5 files changed, 15 insertions(+), 11 deletions(-) delete mode 100644 text.pdf delete mode 100644 textnoembed.pdf diff --git a/Changes b/Changes index bc08906..2c94c45 100644 --- a/Changes +++ b/Changes @@ -6,6 +6,7 @@ o -topline in addition to -midline o -producer and -creator may be used to alter producer and creator in conjunction with any other operation o -topline and -midline now apply to stamps +o -list-spot-colours Version 2.1 (November 2014) diff --git a/cpdf.ml b/cpdf.ml index 3dc974c..f62555f 100644 --- a/cpdf.ml +++ b/cpdf.ml @@ -1661,10 +1661,6 @@ let make_font embed fontname = ("/Encoding", Pdf.Name "/WinAnsiEncoding"); ("/BaseFont", Pdf.Name ("/" ^ fontname))] -(* Convert text in winasciiencoding to standard encoding, so that -Pdfstandard14.textwidth works *) -let win_of_standard text = text - let addtext metrics lines linewidth outline fast colour fontname embed bates batespad fontsize font underneath position hoffset voffset text pages orientation cropbox opacity @@ -1716,11 +1712,14 @@ let addtext let calc_textwidth text = match font with | Some f -> - let text = - if embed then win_of_standard text else text + let rawwidth = + Pdfstandard14.textwidth + false + (if embed then Pdftext.WinAnsiEncoding else Pdftext.StandardEncoding) + f + text in - let rawwidth = Pdfstandard14.textwidth false f text in - (float rawwidth *. fontsize) /. 1000. + (float rawwidth *. fontsize) /. 1000. | None -> let font = match Pdf.lookup_direct pdf "/Font" page.Pdfpage.resources with @@ -2360,7 +2359,7 @@ let nobble_page pdf _ page = let fontname = Pdf.unique_key "F" fontdict in let width = maxx -. minx in let height = maxy -. miny in let scalex = - (width *. 1000.) /. float (Pdfstandard14.textwidth false Pdftext.Helvetica "DEMO") + (width *. 1000.) /. float (Pdfstandard14.textwidth false Pdftext.StandardEncoding Pdftext.Helvetica "DEMO") in let page' = let font = diff --git a/mktext b/mktext index fa66d5e..f2b04ea 100755 --- a/mktext +++ b/mktext @@ -1,3 +1,7 @@ -./cpdf -add-text "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377" blank.pdf -o text.pdf +#./cpdf -add-text "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377" blank.pdf -o text.pdf -./cpdf -add-text "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377" blank.pdf -no-embed-font -o textnoembed.pdf +#./cpdf -add-text "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377" blank.pdf -no-embed-font -o textnoembed.pdf + +./cpdf -add-text "\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065\065" -topright 50 blank.pdf -o textwidth.pdf + +./cpdf -add-text "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" -topright 50 blank.pdf -o textwidthspecial.pdf diff --git a/text.pdf b/text.pdf deleted file mode 100644 index c27619db1eb269aff71f7a754d2209e8a49f4bcb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2601 zcmbtWXLK7y5XRK^#C!B!mttZA_THVYNFfMh$x2M@#FmsoBmrk>EnkrC?7K5@5_<2w zgc2b1P(tXvB!pf<=)LzEdJoL3?qoeVJbrNUdS}0x*`1xTyN%uPM2pla1{#k%>gZzv zA`ytyJ2NnD98J$2V6LIZAPG%O}eiBp_nlMT(vuUCP_QYA< zDlnMcalz(tV7Q^7w_*OOK{7~s;5SHP;LTJz+SN_kx?%(!CcuAD5QrvABwr?NX+Y98 zX9&bDdPH(OO@O3C(tS;9G_1MS+Uu;lUbZ*uX3h1peOY^h4L90&lTA0^Ei}Tq>K^z@Y88Lx;>7o;_#op@$uQ z1m?rB#~pvdi6@%dTUUvC{E3Uli>T9mOZsGMe z+<4QXn-|}5>utB+apzrk-*fMM_doF9Lk}-m`pB|JAA9_XC!c!ynP;C{{``s;UVQ20 zS6+SX^*7#p>+N^meeeAbKK$t8Pd@$Z^Dn;q>g#X5UHRSjKm7R9&%gZo+wXt;`PZty zo6|E%dz!R^BYV`j^Oj?nJimL1hv~zE+ok8po^B1d%A{vVx7|4ef)TS!7b0Jc zIwllXiI0^8Q5M3YCd!hks51m%4E$9E!=4}{1Fr!d%p{%4YzLB)Ld9^rQ}1OZ2ZSaK zm7RLsfe(26iNAk~!9pooBdG z0=9%5F2=RbGcp;BQo-c>`NUOj{99tOX z_i4m&9<+h)R}FL9ISq1XKicE>i2Hl0+72>Eqi=kk-=jR*$oJ^^k=y6dIJXS`lyDvB z6&bS!wJSbG3T5Cts=x@~q!j>mh6CKW!1w6uAFn1GwE=#ZeqxovIMaHd66L!?C#p;|F>Lg7%3cEGu2W&>|zB& z#|1I*L=~5kr5sIKF1`f>czM8KZn{neZ|Wpy_&4{k&H4iT{tSSD-bYkL2`Z$IR520m zeEf(xf)N_e zVm96#9q~+4YC&P;q7};)FI=_MnYMQd_H5ak zG76MkMk#xbma<1Fd+$BV-huapqvW{#_ObQvd+-0J_wIe3bUfK6whNr+*yD~rffEpq z%)%ho)rFPe*#xK6GO=-wuGv|E+2lNqnKgqVAspt2p)p^v5#ya^P@PtY);ebCm~a}i zAm%FLv}J0wBC$}w*~ToQQqw}d@ttlOag`DjbfA=}P1yC2;W?(I*+}3WYb28H?Q}su z!^U%CXR;i<3aQhCrc*aJ=EyAB{8+Y91A%w%B}SRfLLHJHC-n*?7EV?mpExO+8iCVo z3OQG~dP_^8W#Q-$8bbZ>8NxBBW=4sm(kPmWAyzOReg&RK0iTG9RTNbKQ7p&6Bdgqa zkf-1zc#23Vc_+23v+jE9Z?IvmkfS+cqg*LxZM?~*n{B?umRoJT&9>WZzr&6@?Ys-x zb+_I3@a#D`=gqb5wf8=4?U)zD4xe8N1Vf$scI_A5|A0s|7EdIn9N2wOPj6~!U%Fq; zDAT47%s6;vHkZpEa_C`dp{S8kd6qtSc%^EXvxh93){dA{A0C-|gsE*z3%!O7TQ?DH?a{Oap(zWwg|)j$0B)6c*B`rGe+{Q1}4|BU|Istlrpf)Y^3 zerfK4m8?yTx;Kc&=;Jgur4~_N2F-v&Vx~c%^KRD}p`4I-r^pLF zJ|qMLpD6jInLIxkzOG}a;Rs}KG~hH-#?y&q1357$#=(2l0;$;GG__W>vphUxa6BB& zhr|EtC#F)hVwT4V>5$gRz`e>57K0$#6&;*z5vDW9L&h?(&6-st?4~5V68mG9IqnR= znOcD|!7@a^2?L0#8)ZD88xh0S-F;NGiQ}*6RbscvW>q!9u$U%`8A7udipH`}5lvU4 zWd zF^);l&}J+IGo%R<#kF8QXjrq~TFwi=jm>@mKNPtsHV}eQ)r19uYsLmc6Yiy!s#l1` z`q&-MdNYf()k{{bSh{$0xjit+Sk}5GlE)c+gn;mIw^1??o0rgR)1-*;kIgZg0+pSb O3IgxvJf1{flKT&ozS7zN