summaryrefslogtreecommitdiff
path: root/fonts/kixfont
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/kixfont
Initial commit
Diffstat (limited to 'fonts/kixfont')
-rw-r--r--fonts/kixfont/kix.mf121
-rw-r--r--fonts/kixfont/kix.mf.asc8
-rw-r--r--fonts/kixfont/kix.tfmbin0 -> 296 bytes
-rw-r--r--fonts/kixfont/kixtable.pdfbin0 -> 24995 bytes
-rw-r--r--fonts/kixfont/kixtable.tex48
5 files changed, 177 insertions, 0 deletions
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
--- /dev/null
+++ b/fonts/kixfont/kix.tfm
Binary files differ
diff --git a/fonts/kixfont/kixtable.pdf b/fonts/kixfont/kixtable.pdf
new file mode 100644
index 0000000000..108101000c
--- /dev/null
+++ b/fonts/kixfont/kixtable.pdf
Binary files 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}