From e9ec35b28f634933a4da8fa2a3a30cb1944322cb Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Sat, 4 Mar 2023 11:54:47 -0600 Subject: [PATCH] Pad bitmaps for OTF rendering --- .gitignore | 2 + README.md | 2 +- Tupfile | 1 - new_terminal.bdf | 146 +++++++++++++++++++++++++++++++++++------------ new_terminal.otf | Bin 0 -> 20708 bytes sample.png | Bin 2183 -> 0 bytes specimen.png | Bin 0 -> 12585 bytes specimen.txt | 31 ++++++++++ 8 files changed, 145 insertions(+), 37 deletions(-) create mode 100644 new_terminal.otf delete mode 100644 sample.png create mode 100644 specimen.png create mode 100644 specimen.txt diff --git a/.gitignore b/.gitignore index 3ce8dd6..32964f6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,6 @@ *.otf +*.pcf +*.sfd *.ttf /.direnv /.tup diff --git a/README.md b/README.md index aae51c7..78bd5e7 100644 --- a/README.md +++ b/README.md @@ -3,4 +3,4 @@ A mimimalist bitmapped rendering of [Wim Crouwel](https://en.wikipedia.org/wiki/Wim_Crouwel)'s [New Alphabet](https://en.wikipedia.org/wiki/New_Alphabet) typeface. -![sample](sample.png) +![specimen](specimen.png) diff --git a/Tupfile b/Tupfile index 3b47e3a..fc9095e 100644 --- a/Tupfile +++ b/Tupfile @@ -6,4 +6,3 @@ BDF = new_terminal.bdf : {sfd} |> fontforge -lang ff -c 'Open("%f"); Generate("%o")' |> %B.otf {otf} : {otf} |> magick -font %f text:- %o < specimen.txt |> specimen.png -: {otf} |> 9 unicode 20-ff | magick -font %f text:- %o |> sample.png diff --git a/new_terminal.bdf b/new_terminal.bdf index e28c2d3..f269873 100644 --- a/new_terminal.bdf +++ b/new_terminal.bdf @@ -50,8 +50,10 @@ STARTCHAR NUMBER SIGN ENCODING 35 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 0 BITMAP +00 +00 50 F8 50 @@ -78,8 +80,10 @@ STARTCHAR PERCENT SIGN ENCODING 37 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 0 BITMAP +00 +00 C8 D0 20 @@ -90,8 +94,10 @@ STARTCHAR AMPERSAND ENCODING 38 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 0 BITMAP +00 +00 F8 48 20 @@ -144,8 +150,10 @@ STARTCHAR ASTERISK ENCODING 42 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 0 BITMAP +00 +00 A8 50 A8 @@ -156,8 +164,10 @@ STARTCHAR PLUS SIGN ENCODING 43 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 0 BITMAP +00 +00 20 20 F8 @@ -210,8 +220,10 @@ STARTCHAR DIGIT ZERO ENCODING 48 SWIDTH 625 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 0 BITMAP +00 +00 F8 88 A8 @@ -222,8 +234,10 @@ STARTCHAR DIGIT ONE ENCODING 49 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 0 BITMAP +00 +00 F8 08 08 @@ -234,8 +248,10 @@ STARTCHAR DIGIT TWO ENCODING 50 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 0 BITMAP +00 +00 F8 08 08 @@ -246,8 +262,10 @@ STARTCHAR DIGIT 3 ENCODING 51 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 0 BITMAP +00 +00 F8 08 F8 @@ -258,8 +276,10 @@ STARTCHAR DIGIT 4 ENCODING 52 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 7 0 -2 +BBX 5 9 0 0 BITMAP +00 +00 88 88 88 @@ -272,8 +292,10 @@ STARTCHAR DIGIT FIVE ENCODING 53 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 7 0 -2 +BBX 5 9 0 0 BITMAP +00 +00 F8 80 80 @@ -300,8 +322,10 @@ STARTCHAR DIGIT SEVEN ENCODING 55 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 7 0 -2 +BBX 5 9 0 0 BITMAP +00 +00 F8 08 08 @@ -314,8 +338,10 @@ STARTCHAR DIGIT EIGHT ENCODING 56 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 0 BITMAP +00 +00 88 88 F8 @@ -326,8 +352,10 @@ STARTCHAR DIGIT 9 ENCODING 57 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 7 0 -2 +BBX 5 9 0 0 BITMAP +00 +00 F8 88 88 @@ -340,8 +368,10 @@ STARTCHAR COLON ENCODING 58 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 0 BITMAP +00 +00 88 00 00 @@ -382,8 +412,10 @@ STARTCHAR EQUALS SIGN ENCODING 61 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 0 BITMAP +00 +00 F8 00 00 @@ -878,8 +910,16 @@ STARTCHAR LOW LINE ENCODING 95 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 1 0 0 +BBX 5 9 0 0 BITMAP +00 +00 +00 +00 +00 +00 +00 +00 F8 ENDCHAR STARTCHAR GRAVE ACCENT @@ -896,8 +936,10 @@ STARTCHAR LATIN SMALL LETTER A ENCODING 97 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 0 BITMAP +00 +00 08 08 08 @@ -922,8 +964,10 @@ STARTCHAR LATIN SMALL LETTER C ENCODING 99 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 0 BITMAP +00 +00 F8 80 80 @@ -948,8 +992,10 @@ STARTCHAR LATIN SMALL LETTER E ENCODING 101 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 0 BITMAP +00 +00 F8 80 F8 @@ -960,8 +1006,10 @@ STARTCHAR LATIN SMALL LETTER F ENCODING 102 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 7 0 -2 +BBX 5 9 0 0 BITMAP +00 +00 F8 80 80 @@ -1062,8 +1110,10 @@ STARTCHAR LATIN SMALL LETTER M ENCODING 109 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 7 0 -2 +BBX 5 9 0 0 BITMAP +00 +00 F8 88 88 @@ -1076,8 +1126,10 @@ STARTCHAR LATIN SMALL LETTER N ENCODING 110 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 0 BITMAP +00 +00 F8 88 88 @@ -1088,8 +1140,10 @@ STARTCHAR LATIN SMALL LETTER O ENCODING 111 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 0 BITMAP +00 +00 F8 88 88 @@ -1100,8 +1154,10 @@ STARTCHAR LATIN SMALL LETTER P ENCODING 112 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 7 0 -2 +BBX 5 9 0 0 BITMAP +00 +00 F8 88 88 @@ -1114,8 +1170,10 @@ STARTCHAR LATIN SMALL LETTER Q ENCODING 113 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 7 0 -2 +BBX 5 9 0 0 BITMAP +00 +00 F8 88 88 @@ -1128,8 +1186,10 @@ STARTCHAR LATIN SMALL LETTER R ENCODING 114 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 0 BITMAP +00 +00 F8 80 80 @@ -1168,8 +1228,10 @@ STARTCHAR LATIN SMALL LETTER U ENCODING 117 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 0 BITMAP +00 +00 88 88 88 @@ -1210,8 +1272,10 @@ STARTCHAR LATIN SMALL LETTER X ENCODING 120 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 0 BITMAP +00 +00 F8 20 20 @@ -1222,8 +1286,10 @@ STARTCHAR LATIN SMALL LETTER Y ENCODING 121 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 7 0 -2 +BBX 5 9 0 0 BITMAP +00 +00 88 88 88 @@ -1236,8 +1302,10 @@ STARTCHAR LATIN SMALL LETTER Z ENCODING 122 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 7 0 -2 +BBX 5 9 0 0 BITMAP +00 +00 F8 08 08 @@ -1382,8 +1450,10 @@ STARTCHAR SECTION SIGN ENCODING 167 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 0 BITMAP +00 +00 F8 20 20 @@ -1410,8 +1480,10 @@ STARTCHAR PLUS-MINUS SIGN ENCODING 177 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 0 BITMAP +00 +00 20 20 F8 @@ -1468,8 +1540,10 @@ STARTCHAR MULTIPLICATION SIGN ENCODING 215 SWIDTH 746 0 DWIDTH 7 0 -BBX 5 5 0 0 +BBX 5 7 0 0 BITMAP +00 +00 88 50 20 @@ -1536,8 +1610,10 @@ STARTCHAR DIVISION SIGN ENCODING 247 SWIDTH 533 0 DWIDTH 6 0 -BBX 5 5 0 0 +BBX 5 7 0 0 BITMAP +00 +00 20 00 F8 diff --git a/new_terminal.otf b/new_terminal.otf new file mode 100644 index 0000000000000000000000000000000000000000..3a21bacfd62c7fb5cff6eb2c7d43f67cd9f36c29 GIT binary patch literal 20708 zcmeGk3v?9K_1@Xdf=LM9@R49PBoHGch7b@Ch0SJ{Ebfo&ZUC)?AmLXx&=5rJsYlPT ziY#gk)M{<1;HOrtRSBt$ShZGb>z5X*H7(+&Hmz1^MH4EA>3uUhpWST8=FM<|*4eW& zciww*-~Hb=Gw)3x91cJxTn!emJKb*khNq?#0Av8b!nfS+uy5ziCu#r!ho~Sg5IVb} z?oj=$062`!mtPXC-;i6<{w#oHDwVaaX{cXmKltc{RQDkLXRe_FYZZD3evke|Yog7U zTLC%<-!VGxjMiVi0h)pY;$Yg@8tbDC1s^>}^|*ol`!=lK*evdW5&-KVs<#8OrT`-s zf4F(s(7B&Nmc>OSaHwQfVf*PIE5FJf) zVi5q3FaZd5fl0pOrQeV^~w9`4G8Sqs)v(t~A zWy7st^ZL1goiu9V(y<%IP?V{=MOrYb&7?rqjQI+E)++?)8n$ z?)6Qp8|)Qj<@PytJq2`HSvtM6qP&6{_J%i!<~oU`jYKsg(+<-l(x9%PY2(`UjrM6} z@yk5|Gc;s9%53YvOKUt3mr$pFe*I2~fYH0oE{B-c~c#v~AsT z30|czDA!PUNOz0-sQ5522{K(JYzS5>AmWe&O(O*XnAg2c=)Td?J;u5%8~0>e&&Y(~ zJDSBu%mtnUxcgZ#XO%_CqVLt=yBt&`Ab#1dhUSv|uI< z!_kr;S#(USKw;=1~%blyaunu8}KIFj{)8!94d<29X{%S`s5DM1@f;BF$%N?%uET{=PLSa{}Cv-v38woiBKA)pzDOLMR zeI9=#fIsB&c_hH=3WZ9;H4eXPQN-a5EvR)lsAH*Q zQN$HuEU@m0V2^`H4}1L5&glqx!uo<9Rgo#><(0Fgy+hhpX-$knOiZpik{$_(q~-L~ zIwL-}*R{kOSiGRtQRgz=g~}^0Dx#4n411gouS8_nTx)s8dXe>b#`cV(wpq4s+wK@NanJ{Y=MH}MwCge_W$w)iWZj=VFZ-sGu6Eck9+-Mf>G;xU z>FZ@H%39CfTAp9tG41Y(brt)jFPy%sa%N@6jHhST&HVJ7*sQ6u-kE*X?7eex=j=WA zin$eY_n)`wypPV`GH=iP>GPj=lsImwT3z*mbEosa)%V6)yNNi&e43UJu_x4NcfB3DQXen;xX>riJ9zVyZ$6zQy|r7C&xRY zZKAllvpu&UGe?9L&m`$eiv%9c&n?WP)GmrKhEf5j9qS2S-QOhj)Z&>e_e99WqL!K% z;o>4jzL*hza#7}pSk$tRxFaD-#4;&xQ>|Rg^ufcn$s`bSq?n$xbVMIhwWN@oL~erA z+d87M*4sKRm4F1LXtqX7Yv}Zy=$rILRC-3L*@Ygz7;Wn~0fj~^QFbuNN|?-Q$WSyU zneFtHq`oxKKa+%<9?ObI^-gXWk*RhsnXR_dt$aOP&|O7XXN3QT2o zYLi|r>_07r7}0!2gUm#z6UjhuW~h5fB8D(%l1!~_rZdJ;yY zYT`_EtpSmlrbt5q*I3mc4RwDw;~+y-SQ>)Wh&ss~^@pgmWF{W(Y%gQ6STD`ql48on z{UM3uq}&6DVp~U}loAL?8uY4FOq%jAm=dW1P)U5u&j911SGnTQU0hOW(3uXuI&AU? zIPD>XrfUh(bi%=tbg_DS$~~&lXwaLMRx022Dmh=xc5&6J<4$z|kl0>7H0`BHpD20n z9Sx{S5v!T{;wMK{2CpPk1PS4Tuav`54RWq1Lmf%?V^pB>Xf&Pk^I(#vpI}&?+Hq5t zeu33zSpPf-`1LNC-YH?b2~NPz&==m2wP?;Sgaldg7?g^@gjlS1af2)=hN_Q~yy?ay zQh21RsW=s6kT4d4d1a!iT`yoB4o%`gPX;ef21!v&jz7G;2fN*{>5U$|E~dPN#sRoEzxbH>l41$?DL(aE^s70Ry2#HQ^<6+=xG*n z9HycXk>ukXxKyJzVW^;_C4ETN!#Ybzd;Ub9V%DZC#3vi1_bR?eV@-CZS#gq{Qk|;e z=aP+nDqG6AOzKP_y$j`tqN{9+^z0ugY`9+TIio7AnLP4jId#rN;;SS1C6qjqj_$i9 z(@=NDxK4Z_tLZImo6@@1i-oV0qkH2o(~=#H&v+Q~X3rEHpg~eE69dySV^!}gRPjjC zFoILVAQIS+-S^939a`{_lZld&4C&egL)QnNc$#C=mB|Vf3Y8-dr8*5tnl&;&)FhY+ zGEu4u!|ce#bV6>>W8=nXN@y|JS_~`HoQPvGSEme71D4ZG5GV)j$$>xR9Q*#I(t%+_ z3r^;kl0JSI4{{oH5~NDqc%0+Gpmv|Yq#Eq>xk+t0Fk00mvLwNMMWlfxQ9MRt%&kr| zd)~-Xrc=>qHD@;@GYw6W=^GF8M%O#^t+8~T%xHWh4EPMawK|cV^?2-)g2=u(;a*~XR3#uMo@$BW;YDN0cm8Ktq} zNX?tP_Z|rdjBpd@LCKftEc#RU?eA<&Bj(Z5z6}UJbrg`Nq0^H>%@K{byPA4<#Fd&t zdEKWmqI!9-r|948wJUnOI>(V0oSm$tg+?S~!gTw7Pn1t%E`91I>J0lH&$spMRbwK; zbn8i#g~Yt2Nw+w#gxi9Ycv-~LWe3CAMekcq9q=>RmM$lD2{xT zycC=QtRZe#M3NCqROX=dE-t0U?9{{~hwdGtV!2ym-K%0<{+KP6o!Ob$nVo$g>p=Dp z`gYVvup*8qtaQmLrYH7~NvqCmS!zMMu3)<)0#*=}TSx`cB~-w^btQfC>Y&#refLWL XtvvQMJocxJeYEX>4Tx04R~2kg-a`P!xv0w4x$9RTRV_gKNRXOfFR+2nsP)Fgm44ip3;`B&GNU zzKK3e2SM-^+!dVtZ**`li#HtpkHb0te{Y~;r%_fd>_V2;rRxuZ%izjhdZVjvlOFvr zs)~W{h+@EJLPO3;cSLIPr)?n?6ompKNRyOV0%A)?L;(MXkIcUS000SaNLh0L z01FcU01FcV0GgZ_00007bV*G`2j>F>0VgMMS^*>g00!$xL_t(|+U=dulH)22MA26M z|CeSr#p{jqDGHfbpO)9*hT#@nAe?j0fXEV>}oS z8skCx?Rd!E{y0DOvR5P8TK_cfj#IrTrmwGX^rBxEH1zuRDrozQezmBr{P3^X_H+rjTCn!0 z9gjme1)Ltz{#0$f6wJSTt`E&GoU`^zr2S%j|9Sqa`@W`XAg?uf9if$ z3T<4dXgr@Y9<$e<&H2Q|>uk0Ee({#P)D-3=$1}ZvJRra)KKDQ08`y?k5_~1fOG+Of z%IgEXq=Pre`T5J^4L+X$`Hg>^UGE?H{-{n}HDZ{?OGHHxo*_~o{vnM|((M;}fQIuD z`+gb9OBCh}^>%$MzX|AdsDGcAfc(SRr}nJlwShpPwb%A&;LisVE^`h67>(}muP|VCnCIL zw%$M989XDxhd}>M`(N!1mmEgkK26m6$o{)u@2%IX+cQ{i@DgntCawIB(EXCuJNMV} z_6*iz`6UwI4PhJ?y5G}!xc$dlFv5ohkIygVmqa@}oA((0x!>IxZ_#)@r`33z` zKbD`U7^8vLLY*oP?r3xVlkKs1iT?jU{KtN-V0x2h)O!1QpGxoW4E^_jez1N?m;Vpm zQ##sTqP(OzCsZ7LydFtIZ}OG4-fh1;U3yvgd=OgiWI%hs z`XzpSkvMPY(|g|mL))Web$<%f9^A~xOUO%T58@?*`Gom5F6b}JOJ?(fo&JEXZ;sDP;`K{v9-uy-KzW0` zANBc7h?kTE|48WryrhFSAiTukYqtLg&j{BSY5Pa{N>aa7{gPYiA6&oWmilG&OMp~Y ziw7vcKO+87K9S)c(e`Mkei1L}z9P;&t~e?MxGBUR=s}o{Xr%#QIH>K74r^#0rU=E(ZCJg>~D~-Xlx1?{SADd z-|78059BeMy&uQdFU>DmulIO~g83OO8e!@|UZU~(C5`q+^$PTN@c1CSB$_|58~<39 zUoyZydC6WphP;Hlg!Uj_lH?O1b#H#j>Ui9pmnc~A1?3+DmVc~%3CcfE-VpF_|3B{H z_v1v~Z*1R3J}>#azZBvtAa4lq57a-(KN9{$tBM0?dzfF6)gJ&(qrMIEOIGXG=9hf0 z=HldMquyoP#%Nx8_@#xcQo&Lbbg7zdtQOhL*ymoCA1sFLwaUk zN-vZB+g|$o%h>jCe(YriFZsJ42=j)v{+yRI^k)7?t+)Bgdp{GaU()A4&U;S$$9YNQ zJjnVb1=A0$Un1A@3Dz$;vVrU0-^=Y!m0lZFmXm zm+V!)r0@N}@qCfCz5sfgue3jn^f$&=`rfz9`X#sGF|1#*m;MD!4*|m;&;~W5vsFdXMJGag+X|3;r z+oO^3dH<@d1!OEQ`TWqTUy|k})A`4I|C(&i%Zui*hEU{f+iHFvIJ8nR|E1hdU!I*` zg4QG1s(y)kyrPkp&=?QKgT{C;9yG>-@t`ptj0cVJpfMhM*?)XQ_aWqI4E_KB002ov JPDHLkV1jVccVYkl diff --git a/specimen.png b/specimen.png new file mode 100644 index 0000000000000000000000000000000000000000..042a3c9b228b6a29474e5581bc9e0adbfceadaa5 GIT binary patch literal 12585 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 3f ? +40 @ 41 A 42 B 43 C 44 D 45 E 46 F 47 G +48 H 49 I 4a J 4b K 4c L 4d M 4e N 4f O +50 P 51 Q 52 R 53 S 54 T 55 U 56 V 57 W +58 X 59 Y 5a Z 5b [ 5c \ 5d ] 5e ^ 5f _ +60 ` 61 a 62 b 63 c 64 d 65 e 66 f 67 g +68 h 69 i 6a j 6b k 6c l 6d m 6e n 6f o +70 p 71 q 72 r 73 s 74 t 75 u 76 v 77 w +78 x 79 y 7a z 7b { 7c | 7d } 7e ~ 7f  + +a +possibility +for +the +new +development + +eine +möglichkeit +für +die +neue +entwicklung + +The interiorization of the technology of the phonetic alphabet translates +man from the magical world of the ear to the neutral visual world. + +Worte eines Betrunkenen sind die Gedanken des Nüchternen.