From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- fonts/kixfont/kix.mf | 121 +++++++++++++++++++++++++++++++++++++++++++++ fonts/kixfont/kix.mf.asc | 8 +++ fonts/kixfont/kix.tfm | Bin 0 -> 296 bytes fonts/kixfont/kixtable.pdf | Bin 0 -> 24995 bytes fonts/kixfont/kixtable.tex | 48 ++++++++++++++++++ 5 files changed, 177 insertions(+) create mode 100644 fonts/kixfont/kix.mf create mode 100644 fonts/kixfont/kix.mf.asc create mode 100644 fonts/kixfont/kix.tfm create mode 100644 fonts/kixfont/kixtable.pdf create mode 100644 fonts/kixfont/kixtable.tex (limited to 'fonts/kixfont') diff --git a/fonts/kixfont/kix.mf b/fonts/kixfont/kix.mf new file mode 100644 index 0000000000..8ac6038290 --- /dev/null +++ b/fonts/kixfont/kix.mf @@ -0,0 +1,121 @@ +% KIX, a font for typesetting snail mail zipcodes. +% +% The KIX code is a barcodish format used to encode country codes, zip codes +% and street numbers in a machine-readable format. If printed below the +% address line on bulk mailings, a discount can be obtained. +% +% This font is according to the Dutch specifications. The sizes are +% optimal for printing on a printer with a resolution which is a multiple +% of 150dpi. This optimisation means that the sizes in the TFM file for +% this font match almost exactly on an integer number of pixels. +% +% Install this font in your TeX distribution and update any distro caches. +% Include this file with \font\kix=kix and use it to format properly coded +% KIX-information, for instance {\kix 1234AB56} for zipcode 1234AB and street +% number 56. For more information on the data to encode in KIX, please refer +% to the following site in Dutch: +% http://www.tpgpostbusiness.nl/kix/ +% KIX is also used in a few other countries, but not worldwide. +% +% Metafont scripting by Rick van Rein, KIX-knowledge from Ivo Terhorst. +% +% Available for any purpose, no warranties. + + +mode_setup; +font_identifier "kix"; + + +% The bar in the code is barw# wide, spaces are #spcw wide +% The sync portion is synch# high, plus additional stickh# to either side +barw# := 0.508mm#; +spcw# := 0.677mm#; +synch# := 1.27mm#; +stickh# := 2.08mm#; + +define_pixels (barw, spcw, synch, stickh); + + +% Character dimensions: +% wd, ht, dp + +wd# := 4 * (barw# + spcw#); +ht# := synch# + stickh# + 2mm#; +dp# := stickh#; + +define_pixels (wd, ht, dp) + + +% Routine to start a character definition + +def defchar (expr ch) = + beginchar (ch, wd#, ht#, dp#); + x := 0; +enddef; + +% Routine to draw a sync alone + +def sync = + fill (x,0)--(x+barw,0)--(x+barw,synch)--(x,synch)--cycle; + x := x + barw + spcw +enddef; + +% Routine to draw a stick down + +def down = + fill (x,-stickh)--(x+barw,-stickh)--(x+barw,synch)--(x,synch)--cycle; + x := x + barw + spcw +enddef; + +% Routine to draw a stick up + +def up = + fill (x,0)--(x+barw,0)--(x+barw,synch+stickh)--(x,synch+stickh)--cycle; + x := x + barw + spcw +enddef; + +% Routine to draw a long line + +def updown = + fill (x,-stickh)--(x+barw,-stickh)--(x+barw,synch+stickh)--(x,synch+stickh)--cycle; + x := x + barw + spcw +enddef; + +defchar ("1"); sync; down; up; updown; endchar; +defchar ("2"); sync; down; updown; up; endchar; +defchar ("3"); down; sync; up; updown; endchar; +defchar ("4"); down; sync; updown; up; endchar; +defchar ("5"); down; down; up; up; endchar; +defchar ("6"); sync; up; down; updown; endchar; +defchar ("7"); sync; updown; sync; updown; endchar; +defchar ("8"); sync; updown; down; up; endchar; +defchar ("9"); down; up; sync; updown; endchar; +defchar ("0"); sync; sync; updown; updown; endchar; +defchar ("A"); down; up; down; up; endchar; +defchar ("B"); down; updown; sync; up; endchar; +defchar ("C"); sync; up; updown; down; endchar; +defchar ("D"); sync; updown; up; down; endchar; +defchar ("E"); sync; updown; updown; sync; endchar; +defchar ("F"); down; up; up; down; endchar; +defchar ("G"); down; up; updown; sync; endchar; +defchar ("H"); down; updown; up; sync; endchar; +defchar ("I"); up; sync; down; updown; endchar; +defchar ("J"); up; down; sync; updown; endchar; +defchar ("K"); up; down; down; up; endchar; +defchar ("L"); updown; sync; sync; updown; endchar; +defchar ("M"); updown; sync; down; up; endchar; +defchar ("N"); updown; down; sync; up; endchar; +defchar ("O"); up; sync; updown; down; endchar; +defchar ("P"); up; down; up; down; endchar; +defchar ("Q"); up; down; updown; sync; endchar; +defchar ("R"); updown; sync; up; down; endchar; +defchar ("S"); updown; sync; updown; sync; endchar; +defchar ("T"); updown; down; up; sync; endchar; +defchar ("U"); up; up; down; down; endchar; +defchar ("V"); up; updown; sync; down; endchar; +defchar ("W"); up; updown; down; sync; endchar; +defchar ("X"); updown; up; sync; down; endchar; +defchar ("Y"); updown; up; down; sync; endchar; +defchar ("Z"); updown; updown; sync; sync; endchar; + +end diff --git a/fonts/kixfont/kix.mf.asc b/fonts/kixfont/kix.mf.asc new file mode 100644 index 0000000000..9efcad5212 --- /dev/null +++ b/fonts/kixfont/kix.mf.asc @@ -0,0 +1,8 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.2.1 (Darwin) +Comment: To understand digital signatures visit http://openfortress.nl + +iD8DBQE/ewtMFBGpwol1RgYRAhUcAJ4tjGX4flsUw9pqeAsE2H0XbZlSowCfandQ +xWKigJNgg+1ObHf9tdiaQt0= +=ceDe +-----END PGP SIGNATURE----- diff --git a/fonts/kixfont/kix.tfm b/fonts/kixfont/kix.tfm new file mode 100644 index 0000000000..c4cd16b373 Binary files /dev/null and b/fonts/kixfont/kix.tfm differ diff --git a/fonts/kixfont/kixtable.pdf b/fonts/kixfont/kixtable.pdf new file mode 100644 index 0000000000..108101000c Binary files /dev/null and b/fonts/kixfont/kixtable.pdf differ diff --git a/fonts/kixfont/kixtable.tex b/fonts/kixfont/kixtable.tex new file mode 100644 index 0000000000..7b5f9ee38e --- /dev/null +++ b/fonts/kixfont/kixtable.tex @@ -0,0 +1,48 @@ +\documentclass{article} +\parindent0pt +\font\kixfont=kix +\def\alnum#1{\ensuremath{\stackrel{\texttt{#1}}{\textrm{\kixfont #1}}}} +\def\spc{\mbox{\phantom{\kixfont A}}} +\begin{document} +\section*{Een lijstje KIX-codes} +\alnum 1\spc +\alnum 2\spc +\alnum 3\spc +\alnum 4\spc +\alnum 5\spc +\alnum 6\spc +\alnum 7\spc +\alnum 8\spc +\alnum 9\spc +\alnum 0\\ + +\alnum A\spc +\alnum B\spc +\alnum C\spc +\alnum D\spc +\alnum E\spc +\alnum F\spc +\alnum G\spc +\alnum H\spc +\alnum I\spc +\alnum J\spc +\alnum K\spc +\alnum L\spc +\alnum M\\ + +\alnum N\spc +\alnum O\spc +\alnum P\spc +\alnum Q\spc +\alnum R\spc +\alnum S\spc +\alnum T\spc +\alnum U\spc +\alnum V\spc +\alnum W\spc +\alnum X\spc +\alnum Y\spc +\alnum Z\\ + +\alnum {7523TW96} +\end{document} -- cgit v1.2.3