summaryrefslogtreecommitdiff
path: root/fonts/klinz
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/klinz
Initial commit
Diffstat (limited to 'fonts/klinz')
-rw-r--r--fonts/klinz/README42
-rw-r--r--fonts/klinz/kligs.mf639
-rw-r--r--fonts/klinz/klinz.mf983
3 files changed, 1664 insertions, 0 deletions
diff --git a/fonts/klinz/README b/fonts/klinz/README
new file mode 100644
index 0000000000..6c768e8a0e
--- /dev/null
+++ b/fonts/klinz/README
@@ -0,0 +1,42 @@
+Qapla'
+
+this is the announcement for the Metafont version of the Klingon font.
+It will follow in the next two messages. Save them into a file and
+unpack them by running them through the bourne shell. Then you will get
+two files called "klinz.mf" and "kligs.mf". You then should run
+ mf "\mode:=localfont;" input klinz
+ gftopk klinz.*gf
+
+(or for MS-DOS, where xxx is a number (300 for example for normal
+laserprinters))
+ mf "\mode:=localfont;" input klinz
+ gftopk klinz.xxx klinz.pk
+
+Copy the now existing klinz.tfm and klinz.*pk to a place TeX knows
+about (ask your local TeXnician, if you're not certain) and your ready
+to go.
+
+(Metafont is a font description language used for the TeX-fonts, so if
+you're not familiar with it, go get it, it's great! But before asking
+me, where you can do so, read comp.text.tex --- there you will find all
+the answers.)
+
+Over the past weeks I spent my evenings defining the characters and
+testing them. It has a full set of upper and lower case characters (in
+some sort of small capitals) plus numerals plus some additional
+characters (punctuation, etc) designed by a colleague of mine. The
+character @ represents the Klingon imperial symbol.
+
+You may freely distribute this font under the limitations that you leave
+the commentary part at the beginning of each file intact (including the
+copyright notice) and that you send me any changes you made, so that I
+can continue improving the font. (This font is far from being perfect,
+so any comment is welcome.)
+
+ Khoros sutai-Makpai
+ c/o Karl Guenter Wuensch
+ hz225wu@unidui.uni-duisburg.de
+ (this account is shared with Micaela "Stayka" Pantke,
+ so don't be alarmed if the mailer inserts her address)
+
+ May your dishes always be served alive...
diff --git a/fonts/klinz/kligs.mf b/fonts/klinz/kligs.mf
new file mode 100644
index 0000000000..a488ee44e4
--- /dev/null
+++ b/fonts/klinz/kligs.mf
@@ -0,0 +1,639 @@
+% (C)opyright 1993 by Karl Guenter Wuensch.
+% This Font has been created by Karl G\"unter W\"unsch
+% Eschenstr. 7
+% Postbox 101129
+% 47476 Rheinberg
+% Germany
+% (Watch out, the address above lists the new postcode for my postbox
+% in Rheinberg, valid from 07/01/93 onwards and not before! The old one is
+% 4134).
+% It was created to resemble (but not to be identical) to the publicly
+% available (in TrueType and Type 1) Klingon font. Since I had no means
+% of really using the font in the the mentioned formats I had to do something
+% about that and --- being a TeX-User --- I decided this was the time to
+% learn something about \MF. So if there are some errors contained
+% in here, let me know. My current E-Mail address is:
+% hz225wu@unidui.uni-duisburg.de
+%
+% I don't want to make a fuzz of it, but I would like to get any changes you
+% make to this font. So this may be freely copied and distributed under the
+% restriction, that you
+% a) leave this commentary part including the copyright notice intact
+% b) send me the changes you make to this source so that I can enhance
+% it further.
+%
+% This font contains a full set of upper- and lower-case Klingon characters
+% including some additional things like punctuation, which were designed by
+% Micaela Pantke. Maybe someone from the Klingon Language Institue could
+% elaborate about the issue of the additional characters, but I'll use
+% them anyway.
+%
+% It should be compiled with plain \MF along the lines of the following
+% example (where the mag-part of it may be left out and x stands for anything
+% suitable as magstep (any magstep above 6 or 7 is ignored by some dvi-drivers
+% I know of):
+% mf "\mode:=localfont;" "mag=magstep(x);" input klinz
+%
+% I used an extensive scheme of ligatures to make the font look nice... Well
+% it looks better than my TrueType example, because this had erratic character
+% spacing and a too short space-length.
+%
+% Anyone who is wondering, why I even defined ligatures between lower- and
+% upper-case should take a look at the Klingon Dictionary by Mike Okrand.
+% The (s)he'll see that it is fairly common to have upper- and lower-case
+% characters mixed in a single word.
+
+%
+% rather complicated ligtable to give the characters a spacing looking
+% at least remotely appropiate. It's far from beeing perfect but it
+% looks nice.
+%
+ligtable "a": "b" kern -0.5u#, "d" kern -0.6u#, "e" kern 0.1u#,
+ "f" kern 0.1u#, "g" kern -0.4u#, "h" kern -0.5u#,
+ "i" kern -0.1u#, "j" kern -0.2u#, "k" kern -1.1u#,
+ "l" kern -0.4u#, "m" kern -0.75u#, "n" kern -0.1u#,
+ "o" kern -0.1u#, "p" kern -0.6u#, "q" kern -0.2u#,
+ "r" kern -0.1u#, "s" kern -0.35u#, "t" kern 0.1u#,
+ "v" kern 0.1u#, "w" kern -0.8u#, "x" kern -0.4u#,
+ "B" kern -1u#, "D" kern -1.3u#, "H" kern -0.8u#,
+ "K" kern -2.8u#, "M" kern -1.5u#, "O" kern -1u#,
+ "P" kern -1u#, "S" kern -1.5u#, "W" kern -1.5u#,
+ "X" kern -0.8u#;
+
+ligtable "b": "h" kern -0.5u#, "i" kern -0.5u#, "l" kern -0.3u#,
+ "n" kern -0.3u#, "u" kern -0.2u#, "y" kern -0.3u#,
+ "z" kern -0.3u#,
+ "H" kern -0.8u#, "I" kern -1u#, "K" kern -2.6u#, "L" kern -1u#,
+ "N" kern -0.8u#, "U" kern -0.6u#, "Y" kern -0.8u#,
+ "Z" kern -0.8u#;
+
+ligtable "c": "b" kern -0.1u#, "d" kern -0.1u#, "g" kern -0.1u#,
+ "k" kern -0.5u#, "m" kern -0.5u#, "q" kern -0.1u#,
+ "s" kern -0.2u#, "w" kern -0.6u#,
+ "B" kern -0.8u#, "D" kern -0.8u#, "K" kern -2.5u#,
+ "M" kern -1.5u#, "S" kern -0.8u#, "W" kern -1.3u#,
+ "X" kern -0.9u#;
+
+ligtable "d": "a" kern -1u#, "c" kern -1u#, "d" kern 0.1u#,
+ "e" kern -2.2u#, "f" kern -1.2u#, "h" kern -0.8u#,
+ "i" kern -1.3u#, "j" kern 0.1u#, "l" kern -0.5u#,
+ "m" kern 0.1u#, "n" kern -1.6u#, "o" kern -0.3u#,
+ "q" kern 0.1u#, "s" kern 0.1u#, "u" kern -0.8u#,
+ "v" kern -1.3u#, "w" kern 0.1u#, "x" kern 0.1u#,
+ "y" kern -0.7u#, "z" kern -1.1u#,
+ "A" kern -2u#, "C" kern -1.3u#, "E" kern -2.5u#,
+ "F" kern -2.5u#, "H" kern -0.8u#, "I" kern -1.3u#,
+ "K" kern -1.5u#, "L" kern -0.8u#, "N" kern -1.1u#,
+ "U" kern -0.7u#, "V" kern -2.2u#, "Y" kern -0.8u#,
+ "Z" kern -0.7u#;
+
+ligtable "e": "b" kern -0.7u#, "d" kern -0.8u#, "e" kern 0.1u#,
+ "g" kern -0.3u#, "h" kern -0.9u#, "i" kern -0.2u#,
+ "j" kern -0.3u#, "k" kern -1.5u#, "l" kern -0.4u#,
+ "m" kern -1u#, "n" kern -0.1u#, "o" kern -0.6u#,
+ "p" kern -0.8u#, "q" kern -0.5u#, "r" kern -0.3u#,
+ "s" kern -0.9u#, "w" kern -1u#, "x" kern -0.6u#,
+ "B" kern -1u#, "D" kern -1.5u#, "G" kern -1u#,
+ "H" kern -0.9u#, "I" kern -0.8u#, "K" kern -3u#,
+ "L" kern -0.7u#, "M" kern -2u#, "N" kern -0.8u#, "O" kern -1u#,
+ "P" kern -1.5u#, "Q" kern -1u#, "S" kern -1.5u#, "W" kern -2.2u#,
+ "X" kern -0.8u#, "Y" kern -0.7u#, "Z" kern -0.7u#;
+
+ligtable "f": "a" kern 0.1u#, "b" kern -0.3u#, "d" kern -0.9u#,
+ "e" kern 0.2u#, "f" kern 0.1u#, "g" kern -0.1u#,
+ "h" kern -0.4u#, "j" kern -0.1u#, "k" kern -1.5u#,
+ "m" kern -1u#, "o" kern -0.4u#, "p" kern -1u#,
+ "q" kern -0.2u#, "s" kern -0.8u#, "t" kern 0.1u#,
+ "v" kern 0.1u#, "w" kern -1.2u#, "x" kern -0.4u#,
+ "B" kern -0.8u#, "D" kern -1.7u#, "G" kern -0.7u#,
+ "H" kern -1u#, "J" kern -0.8u#, "K" kern -3u#,
+ "M" kern -2.5u#, "O" kern -1u#, "P" kern -2.4u#, "Q" kern -0.7u#,
+ "S" kern -2.2u#, "W" kern -2.2u#, "X" kern -0.8u#;
+
+ligtable "g": "a" kern -0.4u#, "c" kern -0.4u#, "e" kern -1u#,
+ "f" kern -0.8u#, "h" kern -0.4u#, "i" kern -1u#,
+ "j" kern 0.2u#, "l" kern -0.4u#, "n" kern -1u#,
+ "p" kern 0.2u#, "q" kern 0.2u#, "t" kern 0.2u#,
+ "u" kern -0.5u#, "v" kern -0.8u#, "x" kern 0.2u#,
+ "y" kern -0.3u#, "z" kern -0.5u#,
+ "A" kern -1u#, "B" kern -1u#, "C" kern -1u#,
+ "E" kern -1u#, "F" kern -1u#, "I" kern -1.7u#, "L" kern -1u#,
+ "K" kern -1.6u#, "N" kern -1.1u#, "S" kern -1u#, "U" kern -1u#,
+ "V" kern -0.9u#, "Y" kern -0.9u#, "Z" kern -0.9u#;
+
+ligtable "h": "a" kern -0.9u#, "c" kern -0.9u#, "e" kern -1u#,
+ "f" kern -1u#, "h" kern -0.7u#, "i" kern -0.6u#,
+ "j" kern 0.2u#, "l" kern -0.4u#, "n" kern -0.8u#,
+ "o" kern -0.2u#, "q" kern 0.1u#, "s" kern 0.1u#,
+ "u" kern -0.3u#, "v" kern -1.1u#, "w" kern 0.1u#,
+ "y" kern -0.3u#, "z" kern -0.4u#,
+ "A" kern -1.8u#, "B" kern -0.5u#, "C" kern -1.8u#,
+ "E" kern -1.3u#, "F" kern -1.7u#, "H" kern -0.9u#,
+ "I" kern -0.5u#, "K" kern -2u#, "L" kern -0.5u#,
+ "N" kern -0.5u#, "U" kern -0.5u#, "V" kern -1.5u#, "Y" kern -0.5u#,
+ "Z" kern -0.3u#;
+
+ligtable "i": "a" kern -1u#, "b" kern -1.3u#, "c" kern -0.5u#,
+ "d" kern -2.2u#, "e" kern -0.1u#, "f" kern -0.2u#,
+ "g" kern -0.5u#, "h" kern -1.3u#, "k" kern -1.6u#,
+ "m" kern -0.9u#, "p" kern -0.8u#, "s" kern -2u#,
+ "t" kern -0.8u#, "v" kern -0.4u#, "w" kern -1.1u#,
+ "x" kern -0.5u#, "y" kern 0.2u#, "z" kern 0.1u#,
+ "A" kern -1.3u#, "B" kern -1.1u#, "C" kern -0.8u#,
+ "D" kern -3u#, "G" kern -0.7u#, "F" kern -0.4u#, "H" kern -2.2u#,
+ "K" kern -3u#, "M" kern -2u#, "O" kern -2.1u#,
+ "P" kern -2.4u#, "S" kern -3.3u#, "T" kern -1u#,
+ "V" kern -1u#, "W" kern -2u#, "X" kern -1u#;
+
+ligtable "j": "a" kern -0.8u#, "c" kern -0.8u#, "e" kern -0.5u#,
+ "f" kern -0.5u#, "h" kern -1.3u#, "i" kern -0.5u#,
+ "j" kern 0.2u#, "l" kern -0.5u#, "n" kern -0.5u#,
+ "o" kern -0.5u#, "p" kern -0.3u#, "r" kern 0.2u#,
+ "u" kern -0.4u#, "v" kern -0.9u#, "w" kern 0.1u#,
+ "y" kern -0.5u#, "z" kern -0.5u#,
+ "A" kern -1.3u#, "C" kern -1.5u#, "E" kern -1u#,
+ "F" kern -1u#, "H" kern -1u#, "I" kern -1.5u#,
+ "K" kern -1u#, "L" kern -0.8u#, "N" kern -1u#,
+ "U" kern -0.8u#, "V" kern -1.3u#, "Y" kern -0.5u#,
+ "Z" kern -0.5u#;
+
+ligtable "k": "a" kern -1u#, "c" kern -1u#, "e" kern -1.5u#,
+ "f" kern -1.2u#, "h" kern -0.5u#, "i" kern -1u#,
+ "l" kern -0.3u#, "n" kern -1u#, "u" kern -0.6u#,
+ "v" kern -1.2u#, "y" kern -0.5u#, "z" kern -0.6u#,
+ "A" kern -2.3u#, "B" kern -0.5u#, "C" kern -1.5u#,
+ "E" kern -2.5u#, "F" kern -2u#, "H" kern -0.8u#,
+ "I" kern -1.5u#, "K" kern -2u#, "L" kern -1u#,
+ "N" kern -2u#, "U" kern -1.3u#, "V" kern -3u#,
+ "W" kern -0.6u#, "Z" kern -0.5u#;
+
+ligtable "l": "b" kern -0.2u#, "d" kern -0.3u#, "e" kern 0.2u#,
+ "f" kern 0.2u#, "k" kern -0.8u#, "m" kern -0.5u#,
+ "p" kern -0.2u#, "s" kern -0.3u#, "t" kern 0.2u#,
+ "u" kern 0.2u#, "v" kern 0.2u#, "w" kern -0.5u#,
+ "x" kern -0.2u#,
+ "B" kern -0.5u#, "D" kern -0.7u#, "E" kern 0.2u#,
+ "F" kern 0.2u#, "K" kern -2.5u#, "M" kern -1u#,
+ "P" kern -0.7u#, "S" kern -0.5u#, "W" kern -1.2u#,
+ "X" kern -0.5u#;
+
+ligtable "m": "a" kern -1u#, "c" kern -0.7u#, "e" kern -0.8u#,
+ "f" kern -0.7u#, "i" kern -0.5u#, "n" kern -0.3u#,
+ "j" kern 0.2u#, "l" kern -0.2u#, "m" kern 0.2u#,
+ "n" kern -0.3u#, "q" kern 0.2u#, "s" kern 0.2u#,
+ "u" kern -0.6u#, "v" kern -0.7u#, "w" kern 0.2u#,
+ "x" kern 0.2u#, "y" kern -0.2u#, "z" kern -0.4u#,
+ "A" kern -1.5u#, "C" kern -1u#, "E" kern -0.8u#,
+ "F" kern -1u#, "I" kern -0.5u#, "K" kern -1u#,
+ "N" kern -0.5u#, "V" kern -1.7u#;
+
+ligtable "n": "a" kern -0.4u#, "b" kern -1u#, "d" kern -1.3u#,
+ "e" kern -0.3u#, "f" kern -0.2u#, "g" kern -0.7u#,
+ "h" kern -1.1u#, "i" kern -0.9u#, "i" kern -0.8u#,
+ "j" kern -0.8u#, "k" kern -1u#, "l" kern -0.7u#,
+ "m" kern -0.8u#, "o" kern -1.4u#,
+ "p" kern -1.5u#, "q" kern -0.9u#, "r" kern -0.8u#,
+ "s" kern -1.1u#, "t" kern -0.3u#, "u" kern -0.9u#,
+ "v" kern -0.7u#, "w" kern -1.3u#, "x" kern -1.2u#,
+ "y" kern -1.1u#, "z" kern -1.1u#,
+ "A" kern -0.5u#, "B" kern -2.3u#, "D" kern -2.3u#, "E" kern -0.5u#,
+ "G" kern -1.5u#, "H" kern -2.3u#, "I" kern -2u#,
+ "J" kern -1.6u#, "K" kern -3.8u#, "L" kern -1.5u#,
+ "M" kern -2.5u#, "O" kern -2u#, "P" kern -2u#,
+ "Q" kern -1u#, "R" kern -1.5u#, "S" kern -2u#, "T" kern -0.5u#,
+ "U" kern -1.3u#, "V" kern -0.5u#, "W" kern -2.5u#, "X" kern -1.5u#,
+ "Y" kern -1.2u#, "Z" kern -1.2u#;
+
+ligtable "o": "a" kern -0.5u#, "c" kern -0.4u#, "e" kern -0.3u#,
+ "f" kern -0.3u#, "h" kern -0.6u#, "i" kern -0.6u#,
+ "l" kern -0.5u#, "n" kern -0.6u#, "o" kern -0.4u#,
+ "u" kern -0.4u#, "v" kern -0.4u#, "y" kern -0.3u#,
+ "z" kern -0.3u#,
+ "A" kern -0.7u#, "B" kern -1u#, "C" kern -0.7u#,
+ "D" kern -0.5u#, "E" kern -0.5u#, "F" kern -0.5u#,
+ "G" kern -0.5u#, "H" kern -0.7u#, "I" kern -0.5u#,
+ "K" kern -2.2u#, "L" kern -1.2u#, "N" kern -0.7u#,
+ "V" kern -0.7u#, "Y" kern -0.5u#, "Z" kern -0.5u#;
+
+ligtable "p": "a" kern -1u#, "c" kern -0.7u#, "d" kern 0.2u#,
+ "e" kern -1u#, "f" kern -0.8u#, "h" kern -0.4u#,
+ "i" kern -0.8u#, "j" kern 0.2u#, "l" kern -0.4u#,
+ "m" kern 0.2u#, "n" kern -0.7u#, "q" kern 0.2u#,
+ "s" kern 0.2u#, "u" kern -0.6u#, "v" kern -0.7u#,
+ "w" kern 0.2u#, "x" kern 0.2u#, "y" kern -0.4u#,
+ "z" kern -0.4u#,
+ "A" kern -1.5u#, "C" kern -1u#, "E" kern -1.5u#,
+ "F" kern -1.3u#, "H" kern -0.5u#, "I" kern -1.2u#,
+ "K" kern -2u#, "L" kern -0.8u#, "N" kern -1u#,
+ "U" kern -1u#, "V" kern -2u#, "Y" kern -0.7u#,
+ "Z" kern -0.7u#;
+
+ligtable "q": "c" kern -0.4u#, "d" kern 0.2u#, "e" kern -0.6u#,
+ "f" kern -0.4u#, "g" kern 0.2u#, "h" kern -0.8u#,
+ "i" kern 0.2u#, "l" kern -0.3u#, "n" kern -0.3u#,
+ "o" kern -0.3u#, "q" kern 0.2u#, "w" kern 0.1u#,
+ "y" kern -0.3u#, "z" kern -0.3u#,
+ "C" kern -0.8u#, "G" kern -0.5u#, "H" kern -1.5u#,
+ "I" kern -1u#, "K" kern -3u#, "L" kern -1u#,
+ "N" kern -0.8u#, "U" kern -0.3u#, "V" kern -0.4u#,
+ "Y" kern -0.4u#, "Z" kern -0.4u#;
+
+ligtable "r": "h" kern -0.4u#, "i" kern -0.4u#, "j" kern 0.2u#,
+ "l" kern -0.6u#, "n" kern -0.4u#, "p" kern 0.2u#,
+ "q" kern 0.2u#, "t" kern 0.2u#, "x" kern 0.2u#,
+ "y" kern -0.3u#, "z" kern -0.3u#,
+ "B" kern -0.5u#, "C" kern -0.8u#, "G" kern -0.7u#,
+ "H" kern -0.4u#, "I" kern -1u#,
+ "K" kern -2.2u#, "L" kern -1.7u#, "M" kern -0.9u#,
+ "N" kern -1u#, "U" kern -0.5u#, "Y" kern -0.3u#,
+ "Z" kern -0.3u#;
+
+ligtable "s": "h" kern -0.5u#, "i" kern -0.5u#, "j" kern 0.2u#,
+ "l" kern -0.7u#, "n" kern -0.4u#, "q" kern 0.2u#,
+ "t" kern 0.2u#, "x" kern 0.1u#, "y" kern -0.3u#,
+ "z" kern -0.3u#,
+ "B" kern -1u#, "D" kern -0.7u#, "G" kern -0.7u#,
+ "H" kern -1u#, "I" kern -1u#, "K" kern -2.5u#,
+ "L" kern -0.7u#, "M" kern -0.8u#, "W" kern -0.5u#;
+
+ligtable "t": "a" kern -0.5u#, "k" kern -0.3u#, "o" kern 0.2u#,
+ "A" kern -1u#, "B" kern -1u#, "E" kern -0.5u#,
+ "F" kern -0.4u#, "G" kern -0.8u#, "I" kern -0.4u#,
+ "K" kern -2.5u#, "M" kern -1u#, "N" kern -0.5u#,
+ "O" kern -0.3u#, "P" kern -0.3u#, "S" kern -0.3u#,
+ "U" kern -0.3u#, "V" kern -0.6u#, "W" kern -0.8u#;
+
+ligtable "u": "a" kern -0.5u#, "c" kern -0.4u#, "h" kern -1u#,
+ "n" kern 0.1u#, "o" kern -0.6u#, "p" kern -0.4u#,
+ "t" kern -0.3u#, "u" kern 0.2u#,
+ "A" kern -1u#, "B" kern -1u#, "C" kern -0.5u#,
+ "D" kern -1u#, "G" kern -1.2u#, "H" kern -1.8u#,
+ "K" kern -2.4u#, "L" kern -0.5u#, "M" kern -0.8u#,
+ "O" kern -0.7u#, "S" kern -0.5u#, "V" kern -0.8u#;
+
+ligtable "v": "b" kern -0.5u#, "c" kern -0.3u#, "g" kern -0.3u#,
+ "k" kern -1.3u#, "l" kern 0.2u#, "m" kern -0.3u#,
+ "p" kern -0.5u#, "s" kern -0.3u#, "w" kern -0.5u#,
+ "x" kern -0.3u#, "y" kern 0.2u#, "z" kern 0.2u#,
+ "A" kern -0.7u#, "B" kern -1.2u#, "C" kern -0.6u#,
+ "D" kern -1.2u#, "G" kern -0.6u#, "H" kern -1u#,
+ "K" kern -2.5u#, "M" kern -1.5u#, "O" kern -0.5u#,
+ "P" kern -2u#, "S" kern -1.5u#, "T" kern -0.8u#,
+ "U" kern 0.2u#, "W" kern -1.5u#, "X" kern -0.5u#,
+ "Y" kern 0.2u#, "Z" kern 0.2u#;
+
+ligtable "w": "a" kern -0.5u#, "c" kern -0.7u#, "e" kern -0.3u#,
+ "f" kern -0.3u#, "j" kern 0.2u#, "m" kern 0.2u#,
+ "p" kern 0.2u#, "q" kern 0.2u#, "s" kern 0.2u#,
+ "v" kern -0.5u#, "w" kern -0.6u#, "x" kern -0.3u#,
+ "y" kern 0.2u#, "z" kern 0.2u#,
+ "A" kern -1.5u#, "B" kern -0.3u#, "C" kern -1u#,
+ "E" kern -0.7u#, "F" kern -0.7u#, "G" kern -0.7u#,
+ "K" kern -2u#, "V" kern -1.5u#;
+
+ligtable "x": "b" kern -0.5u#, "c" kern -0.3u#, "h" kern -0.3u#,
+ "i" kern -0.8u#, "k" kern -0.5u#, "l" kern -0.5u#,
+ "n" kern -0.5u#, "o" kern 0.1u#, "p" kern 0.1u#,
+ "y" kern -0.6u#, "z" kern -0.6u#,
+ "A" kern -1u#, "B" kern -1u#, "C" kern -1u#,
+ "G" kern -0.8u#, "I" kern -0.8u#, "K" kern -2.3u#,
+ "M" kern -1u#, "N" kern -1u#, "W" kern -1.2u#,
+ "Y" kern -0.3u#, "Z" kern -0.3u#;
+
+ligtable "y": "a" kern -0.3u#, "b" kern -0.3u#, "k" kern -1u#,
+ "l" kern 0.2u#, "m" kern -0.3u#, "n" kern 0.2u#,
+ "u" kern 0.2u#, "v" kern -0.3u#, "w" kern -0.3u#,
+ "y" kern 0.2u#, "z" kern 0.2u#,
+ "A" kern -0.7u#, "B" kern -1u#, "C" kern -0.4u#,
+ "D" kern -1.2u#, "G" kern -0.5u#, "H" kern -0.5u#,
+ "I" kern 0.2u#, "K" kern -3u#, "M" kern -1u#,
+ "N" kern 0.2u#, "P" kern -1u#, "S" kern -1u#,
+ "U" kern 0.2u#, "W" kern -1.2u#, "X" kern -0.6u#,
+ "Y" kern 0.2u#, "Z" kern 0.2u#;
+
+ligtable "z": "a" kern -0.5u#, "b" kern -0.5u#, "c" kern -0.3u#,
+ "d" kern -1u#, "g" kern -0.2u#, "h" kern -1u#,
+ "i" kern 0.2u#, "k" kern -1.3u#, "m" kern -0.7u#,
+ "n" kern 0.2u#, "o" kern -0.3u#, "p" kern -0.3u#,
+ "s" kern -0.6u#, "t" kern -0.3u#, "u" kern 0.2u#,
+ "w" kern -0.7u#, "x" kern -0.3u#, "y" kern 0.2u#,
+ "z" kern 0.2u#,
+ "A" kern -0.4u#, "B" kern -0.8u#, "C" kern -0.3u#, "D" kern -1u#,
+ "G" kern -0.8u#, "H" kern -1.2u#, "J" kern -0.3u#,
+ "K" kern -3.2u#, "M" kern -1.5u#, "N" kern 0.2u#,
+ "O" kern -1.3u#, "P" kern -1.3u#, "Q" kern -0.5u#,
+ "S" kern -1.3u#, "T" kern -0.3u#, "U" kern 0.2u#,
+ "W" kern -1.5u#, "X" kern -1u#;
+
+%
+% Zweiter Teil der Ligationstabelle. In diesem lege ich fest,
+% wie die Grossbuchstaben mit den Kleinbuchstaben unterschnitten werden
+%
+ligtable "A": "b" kern -0.5uu#, "d" kern -0.6uu#, "e" kern 0.1uu#,
+ "f" kern 0.1uu#, "g" kern -0.4uu#, "h" kern -0.5uu#,
+ "i" kern -0.1uu#, "j" kern -0.2uu#, "k" kern -1.1uu#,
+ "l" kern -0.4uu#, "m" kern -0.75uu#, "n" kern -0.1uu#,
+ "o" kern -0.1uu#, "p" kern -0.6uu#, "q" kern -0.2uu#,
+ "r" kern -0.1uu#, "s" kern -0.6uu#, "t" kern 0.1uu#,
+ "v" kern 0.1uu#, "w" kern -0.8uu#, "x" kern -0.4uu#,
+ "B" kern -0.5uu#, "D" kern -0.6uu#, "E" kern 0.1uu#,
+ "F" kern 0.1uu#, "G" kern -0.4uu#, "H" kern -0.5uu#,
+ "I" kern -0.1uu#, "J" kern -0.2uu#, "K" kern -1.1uu#,
+ "L" kern -0.4uu#, "M" kern -0.75uu#, "N" kern -0.1uu#,
+ "O" kern -0.1uu#, "P" kern -0.6uu#, "Q" kern -0.2uu#,
+ "R" kern -0.1uu#, "S" kern -0.35uu#, "T" kern 0.1uu#,
+ "V" kern 0.1uu#, "W" kern -0.8uu#, "X" kern -0.4uu#;
+
+ligtable "B": "h" kern -0.8uu#, "i" kern -0.8uu#, "l" kern -0.5uu#,
+ "n" kern -0.3uu#, "u" kern -0.5uu#, "y" kern -0.6uu#,
+ "z" kern -0.6uu#,
+ "H" kern -0.5uu#, "I" kern -0.5uu#, "L" kern -0.3uu#,
+ "N" kern -0.3uu#, "U" kern -0.2uu#, "Y" kern -0.3uu#,
+ "Z" kern -0.3uu#;
+
+ligtable "C": "b" kern -0.3uu#, "d" kern -0.7uu#, "g" kern -0.4uu#,
+ "k" kern -0.7uu#, "m" kern -0.8uu#, "q" kern -0.3uu#,
+ "s" kern -0.4uu#, "w" kern -0.6uu#,
+ "B" kern -0.1uu#, "D" kern -0.1uu#, "G" kern -0.1uu#,
+ "K" kern -0.5uu#, "M" kern -0.5uu#, "Q" kern -0.1uu#,
+ "S" kern -0.2uu#, "W" kern -0.6uu#;
+
+ligtable "D": "a" kern -1.6uu#, "b" kern -0.8uu#, "c" kern -1.9uu#, "d" kern -0.2uu#,
+ "e" kern -3.1uu#, "f" kern -2.7uu#, "g" kern -1.1uu#, "h" kern -1.9uu#,
+ "i" kern -2.2uu#, "j" kern -0.3uu#, "k" kern -1.1uu#, "l" kern -1.4uu#,
+ "m" kern -0.3uu#, "n" kern -3uu#, "o" kern -1.2uu#,
+ "q" kern -0.7uu#, "s" kern -0.3uu#, "t" kern -1.2uu#, "u" kern -1.6uu#,
+ "v" kern -2.3uu#, "w" kern -0.6uu#, "x" kern -0.6uu#,
+ "y" kern -1.6uu#, "z" kern -1.9uu#,
+ "A" kern -1uu#, "C" kern -1uu#, "D" kern 0.1uu#,
+ "E" kern -2.2uu#, "F" kern -1.2uu#, "H" kern -0.8uu#,
+ "I" kern -1.3uu#, "J" kern 0.1uu#, "L" kern -0.5uu#,
+ "M" kern 0.1uu#, "N" kern -1.6uu#, "O" kern -0.3uu#,
+ "Q" kern 0.1uu#, "S" kern 0.1uu#, "U" kern -0.8uu#,
+ "V" kern -1.3uu#, "W" kern 0.1uu#, "X" kern 0.1uu#,
+ "Y" kern -0.7uu#, "Z" kern -1.1uu#;
+
+ligtable "E": "b" kern -0.7uu#, "d" kern -1.2uu#, "e" kern 0.1uu#,
+ "g" kern -0.3uu#, "h" kern -0.9uu#, "i" kern -0.2uu#,
+ "j" kern -0.6uu#, "k" kern -1.8uu#, "l" kern -0.4uu#,
+ "m" kern -1.3uu#, "n" kern -0.1uu#, "o" kern -1uu#,
+ "p" kern -0.8uu#, "q" kern -0.5uu#, "r" kern -0.3uu#,
+ "s" kern -1.2uu#, "w" kern -1.5uu#, "x" kern -0.6uu#,
+ "B" kern -0.7uu#, "D" kern -0.8uu#, "E" kern 0.1uu#,
+ "G" kern -0.3uu#, "H" kern -0.9uu#, "I" kern -0.2uu#,
+ "J" kern -0.3uu#, "K" kern -1.5uu#, "L" kern -0.4uu#,
+ "M" kern -1uu#, "N" kern -0.1uu#, "O" kern -0.6uu#,
+ "P" kern -0.8uu#, "Q" kern -0.5uu#, "R" kern -0.3uu#,
+ "S" kern -0.9uu#, "W" kern -1uu#, "X" kern -0.6uu#;
+
+ligtable "F": "a" kern 0.1uu#, "b" kern -0.3uu#, "d" kern -0.9uu#,
+ "e" kern 0.2uu#, "f" kern 0.1uu#, "g" kern -0.1uu#,
+ "h" kern -0.4uu#, "j" kern -0.1uu#, "k" kern -1.9uu#,
+ "m" kern -1.2uu#, "o" kern -0.4uu#, "p" kern -1uu#,
+ "q" kern -0.2uu#, "s" kern -0.8uu#, "t" kern 0.1uu#,
+ "v" kern 0.1uu#, "w" kern -1.6uu#, "x" kern -0.4uu#,
+ "A" kern 0.1uu#, "B" kern -0.3uu#, "D" kern -0.9uu#,
+ "E" kern 0.2uu#, "F" kern 0.1uu#, "G" kern -0.1uu#,
+ "H" kern -0.4uu#, "J" kern -0.1uu#, "K" kern -1.5uu#,
+ "M" kern -1uu#, "O" kern -0.4uu#, "P" kern -1uu#,
+ "Q" kern -0.2uu#, "S" kern -0.8uu#, "T" kern 0.1uu#,
+ "V" kern 0.1uu#, "W" kern -1.2uu#, "X" kern -0.4uu#;
+
+ligtable "G": "a" kern -0.4uu#, "c" kern -0.4uu#, "e" kern -1uu#,
+ "f" kern -0.8uu#, "h" kern -1uu#, "i" kern -1.5uu#,
+ "j" kern 0.2uu#, "l" kern -0.9uu#, "n" kern -1.2uu#, "o" kern -0.5uu#,
+ "p" kern 0.2uu#, "q" kern 0.2uu#, "t" kern 0.2uu#,
+ "u" kern -0.9uu#, "v" kern -0.8uu#, "x" kern 0.2uu#,
+ "y" kern -0.6uu#, "z" kern -0.8uu#,
+ "A" kern -0.4uu#, "C" kern -0.4uu#, "E" kern -1uu#,
+ "F" kern -0.8uu#, "H" kern -0.4uu#, "I" kern -1uu#,
+ "J" kern 0.2uu#, "L" kern -0.4uu#, "N" kern -1uu#,
+ "P" kern 0.2uu#, "Q" kern 0.2uu#, "T" kern 0.2uu#,
+ "U" kern -0.5uu#, "V" kern -0.8uu#, "X" kern 0.2uu#,
+ "Y" kern -0.3uu#, "Z" kern -0.5uu#;
+
+ligtable "H": "a" kern -1.5uu#, "c" kern -1.3uu#, "c" kern -1uu#,
+ "d" kern -0.7uu#, "e" kern -1uu#,
+ "f" kern -1.3uu#, "g" kern -1uu#, "h" kern -0.7uu#, "i" kern -0.6uu#,
+ "j" kern -0.2uu#, "k" kern -1uu#, "l" kern -0.7uu#, "m" kern -0.4uu#,
+ "n" kern -0.8uu#,
+ "o" kern -0.7uu#, "p" kern -0.7uu#, "q" kern -0.3uu#,
+ "r" kern -0.2uu#, "s" kern -0.5uu#, "t" kern -0.6uu#,
+ "u" kern -0.6uu#, "v" kern -1.5uu#, "w" kern -0.7uu#,
+ "x" kern -0.7uu#, "y" kern -0.3uu#, "z" kern -0.4uu#,
+ "A" kern -0.9uu#, "C" kern -0.9uu#, "E" kern -1uu#,
+ "F" kern -1uu#, "H" kern -0.7uu#, "I" kern -0.6uu#,
+ "J" kern 0.2uu#, "L" kern -0.4uu#, "N" kern -0.8uu#,
+ "O" kern -0.2uu#, "Q" kern 0.1uu#, "S" kern 0.1uu#,
+ "U" kern -0.3uu#, "V" kern -1.1uu#, "W" kern 0.1uu#,
+ "Y" kern -0.3uu#, "Z" kern -0.4uu#;
+
+ligtable "I": "A" kern -1uu#, "B" kern -1.3uu#, "C" kern -0.5uu#,
+ "D" kern -2.2uu#, "E" kern -0.1uu#, "F" kern -0.2uu#,
+ "G" kern -0.5uu#, "H" kern -1.3uu#, "K" kern -1.6uu#,
+ "M" kern -0.9uu#, "P" kern -0.8uu#, "S" kern -2uu#,
+ "T" kern -0.8uu#, "V" kern -0.4uu#, "W" kern -1.1uu#,
+ "X" kern -0.5uu#, "Y" kern 0.2uu#, "Z" kern 0.1uu#,
+ "a" kern -1uu#, "b" kern -1.3uu#, "c" kern -0.8uu#,
+ "d" kern -1.7uu#, "e" kern -0.5uu#, "f" kern -0.5uu#,
+ "g" kern -0.7uu#, "h" kern -0.4uu#, "i" kern -0.4uu#, "k" kern -1.6uu#,
+ "m" kern -0.9uu#, "p" kern -0.8uu#, "s" kern -2uu#,
+ "t" kern -1.1uu#, "v" kern -0.8uu#, "w" kern -1.1uu#,
+ "x" kern -0.7uu#, "y" kern 0.2uu#, "z" kern 0.1uu#;
+
+ligtable "J": "a" kern -1.3uu#, "b" kern -0.5uu#, "c" kern -1.3uu#,
+ "d" kern -1uu#, "e" kern -0.9uu#,
+ "f" kern -0.9uu#, "g" kern -1uu#, "h" kern -2uu#, "i" kern -1.2uu#,
+ "j" kern -0.3uu#, "k" kern -0.7uu#, "l" kern -0.9uu#, "n" kern -1.5uu#,
+ "o" kern -1.2uu#, "p" kern -0.8uu#, "q" kern -0.5uu#, "r" kern -0.2uu#,
+ "s" kern -0.5uu#, "t" kern -0.7uu#, "u" kern -0.9uu#,
+ "v" kern -1.2uu#, "w" kern -0.2uu#, "y" kern -0.7uu#, "z" kern -0.7uu#,
+ "A" kern -0.8uu#, "C" kern -0.8uu#, "E" kern -0.5uu#,
+ "F" kern -0.5uu#, "H" kern -1.3uu#, "I" kern -0.5uu#,
+ "J" kern 0.2uu#, "L" kern -0.5uu#, "N" kern -0.5uu#,
+ "O" kern -0.5uu#, "P" kern -0.3uu#, "R" kern 0.2uu#,
+ "U" kern -0.4uu#, "V" kern -0.9uu#, "W" kern 0.1uu#,
+ "Y" kern -0.5uu#, "Z" kern -0.5uu#;
+
+ligtable "K": "a" kern -1uu#, "c" kern -1uu#, "e" kern -2uu#,
+ "f" kern -1.7uu#, "h" kern -1uu#, "i" kern -1.4uu#,
+ "l" kern -0.7uu#, "n" kern -1.5uu#, "o" kern -0.4uu#, "u" kern -1uu#,
+ "v" kern -1.6uu#, "y" kern -1uu#, "z" kern -1.1uu#,
+ "A" kern -1uu#, "C" kern -1uu#, "E" kern -1.5uu#,
+ "F" kern -1.2uu#, "H" kern -0.5uu#, "I" kern -1uu#,
+ "L" kern -0.3uu#, "N" kern -1uu#, "U" kern -0.6uu#,
+ "V" kern -1.2uu#, "Y" kern -0.5uu#, "Z" kern -0.6uu#;
+
+ligtable "L": "b" kern -0.2uu#, "d" kern -0.8uu#, "e" kern 0.2uu#,
+ "f" kern 0.2uu#, "k" kern -0.8uu#, "m" kern -1uu#,
+ "p" kern -0.2uu#, "s" kern -0.3uu#, "t" kern 0.2uu#,
+ "u" kern 0.2uu#, "v" kern 0.2uu#, "w" kern -1uu#,
+ "x" kern -0.2uu#,
+ "B" kern -0.2uu#, "D" kern -0.3uu#, "E" kern 0.2uu#,
+ "F" kern 0.2uu#, "K" kern -0.8uu#, "M" kern -0.5uu#,
+ "P" kern -0.2uu#, "S" kern -0.3uu#, "T" kern 0.2uu#,
+ "U" kern 0.2uu#, "V" kern 0.2uu#, "W" kern -0.5uu#,
+ "X" kern -0.2uu#;
+
+
+ligtable "M": "a" kern -1uu#, "c" kern -1.1uu#, "e" kern -1.4uu#,
+ "f" kern -1.1uu#, "k" kern -0.5uu#, "i" kern -0.5uu#, "n" kern -0.3uu#,
+ "j" kern 0.2uu#, "l" kern -0.6uu#, "m" kern 0.2uu#,
+ "n" kern -0.8uu#, "q" kern 0.2uu#, "s" kern 0.2uu#,
+ "u" kern -0.6uu#, "v" kern -1.3uu#, "w" kern 0.2uu#,
+ "x" kern 0.2uu#, "y" kern -0.5uu#, "z" kern -0.4uu#,
+ "A" kern -1uu#, "C" kern -0.7uu#, "E" kern -0.8uu#,
+ "F" kern -0.7uu#, "I" kern -0.5uu#, "N" kern -0.3uu#,
+ "J" kern 0.2uu#, "L" kern -0.2uu#, "M" kern 0.2uu#,
+ "N" kern -0.3uu#, "Q" kern 0.2uu#, "S" kern 0.2uu#,
+ "U" kern -0.6uu#, "V" kern -0.7uu#, "W" kern 0.2uu#,
+ "X" kern 0.2uu#, "Y" kern -0.2uu#, "Z" kern -0.4uu#;
+
+ligtable "N": "a" kern -1.2uu#, "b" kern -1.6uu#, "d" kern -2uu#,
+ "e" kern -0.5uu#, "f" kern -0.4uu#, "g" kern -1.3uu#,
+ "h" kern -1.9uu#, "i" kern -1.6uu#, "i" kern -0.8uu#,
+ "j" kern -1.3uu#, "k" kern -2uu#, "l" kern -1.5uu#,
+ "m" kern -1.4uu#, "o" kern -2.2uu#,
+ "p" kern -2uu#, "q" kern -1.3uu#, "r" kern -1uu#,
+ "s" kern -1.7uu#, "t" kern -0.5uu#, "u" kern -1.4uu#,
+ "v" kern -0.7uu#, "w" kern -1.8uu#, "x" kern -1.4uu#,
+ "y" kern -1.4uu#, "z" kern -1.4uu#,
+ "A" kern -0.4uu#, "B" kern -1uu#, "D" kern -1.3uu#,
+ "E" kern -0.3uu#, "F" kern -0.2uu#, "G" kern -0.7uu#,
+ "H" kern -1.1uu#, "I" kern -0.9uu#, "I" kern -0.8uu#,
+ "J" kern -0.8uu#, "K" kern -1uu#, "L" kern -0.7uu#,
+ "M" kern -0.8uu#, "O" kern -1.4uu#,
+ "P" kern -1.5uu#, "Q" kern -0.9uu#, "R" kern -0.8uu#,
+ "S" kern -1.1uu#, "T" kern -0.3uu#, "U" kern -0.9uu#,
+ "V" kern -0.7uu#, "W" kern -1.3uu#, "X" kern -1.2uu#,
+ "Y" kern -1.1uu#, "Z" kern -1.1uu#;
+
+
+ligtable "O": "a" kern -0.7uu#, "b" kern -0.5uu#, "c" kern -0.4uu#,
+ "d" kern -0.7uu#, "e" kern -0.6uu#,
+ "f" kern -0.6uu#, "g" kern -0.7uu#, "h" kern -0.9uu#,
+ "i" kern -0.6uu#, "j" kern -0.4uu#, "k" kern -0.4uu#,
+ "l" kern -0.8uu#, "n" kern -0.6uu#, "o" kern -0.7uu#,
+ "p" kern -0.5uu#, "q" kern -0.4uu#, "t" kern -0.7uu#,
+ "u" kern -0.4uu#, "v" kern -0.7uu#, "y" kern -0.6uu#,
+ "z" kern -0.6uu#,
+ "A" kern -0.5uu#, "C" kern -0.4uu#, "E" kern -0.3uu#,
+ "F" kern -0.3uu#, "H" kern -0.6uu#, "I" kern -0.6uu#,
+ "L" kern -0.5uu#, "N" kern -0.6uu#, "O" kern -0.4uu#,
+ "U" kern -0.4uu#, "V" kern -0.4uu#, "Y" kern -0.3uu#,
+ "Z" kern -0.3uu#;
+
+ligtable "P": "a" kern -1.4uu#, "c" kern -0.7uu#, "d" kern -0.2uu#,
+ "e" kern -1.5uu#, "f" kern -1.3uu#, "h" kern -0.9uu#,
+ "i" kern -1.4uu#, "j" kern 0.2uu#, "l" kern -0.8uu#,
+ "n" kern -1uu#, "p" kern -0.3uu#, "q" kern 0.2uu#,
+ "s" kern 0.2uu#, "u" kern -0.8uu#, "v" kern -1.3uu#,
+ "w" kern 0.2uu#, "x" kern 0.2uu#, "y" kern -0.8uu#,
+ "z" kern -0.8uu#,
+ "A" kern -1uu#, "C" kern -0.7uu#, "D" kern 0.2uu#,
+ "E" kern -1uu#, "F" kern -0.8uu#, "H" kern -0.4uu#,
+ "I" kern -0.8uu#, "J" kern 0.2uu#, "L" kern -0.4uu#,
+ "M" kern 0.2uu#, "N" kern -0.7uu#, "Q" kern 0.2uu#,
+ "S" kern 0.2uu#, "U" kern -0.6uu#, "V" kern -0.7uu#,
+ "W" kern 0.2uu#, "X" kern 0.2uu#, "Y" kern -0.4uu#,
+ "Z" kern -0.4uu#;
+
+ligtable "Q": "c" kern -0.4uu#, "b" kern -0.4uu#, "d" kern -0.2uu#, "e" kern -0.4uu#,
+ "f" kern -0.2uu#, "g" kern -0.2uu#, "h" kern -1.2uu#,
+ "i" kern -0.3uu#, "k" kern -0.6uu#, "l" kern -0.5uu#, "n" kern -0.3uu#,
+ "o" kern -0.6uu#, "p" kern -0.6uu#, "q" kern 0.2uu#,
+ "w" kern -0.1uu#, "y" kern -0.3uu#, "z" kern -0.3uu#,
+ "C" kern -0.4uu#, "D" kern 0.2uu#, "E" kern -0.6uu#,
+ "F" kern -0.4uu#, "G" kern 0.2uu#, "H" kern -0.8uu#,
+ "I" kern 0.2uu#, "L" kern -0.3uu#, "N" kern -0.3uu#,
+ "O" kern -0.3uu#, "Q" kern 0.2uu#, "W" kern 0.1uu#,
+ "Y" kern -0.3uu#, "Z" kern -0.3uu#;
+
+
+ligtable "R": "h" kern -0.4uu#, "i" kern -0.4uu#, "j" kern 0.2uu#,
+ "l" kern -0.6uu#, "n" kern -0.4uu#, "p" kern 0.2uu#,
+ "q" kern 0.2uu#, "t" kern 0.2uu#, "x" kern 0.2uu#,
+ "y" kern -0.3uu#, "z" kern -0.3uu#,
+ "H" kern -0.4uu#, "I" kern -0.4uu#, "J" kern 0.2uu#,
+ "L" kern -0.6uu#, "N" kern -0.4uu#, "P" kern 0.2uu#,
+ "Q" kern 0.2uu#, "T" kern 0.2uu#, "X" kern 0.2uu#,
+ "Y" kern -0.3uu#, "Z" kern -0.3uu#;
+
+ligtable "S": "d" kern -0.5uu#, "h" kern -0.5uu#, "i" kern -0.5uu#, "j" kern 0.2uu#,
+ "k" kern -0.4uu#, "l" kern -0.7uu#, "n" kern -0.4uu#, "q" kern 0.2uu#,
+ "t" kern 0.2uu#, "x" kern 0.1uu#, "y" kern -0.3uu#,
+ "z" kern -0.3uu#,
+ "H" kern -0.5uu#, "I" kern -0.5uu#, "J" kern 0.2uu#,
+ "L" kern -0.7uu#, "N" kern -0.4uu#, "Q" kern 0.2uu#,
+ "T" kern 0.2uu#, "X" kern 0.1uu#, "Y" kern -0.3uu#,
+ "Z" kern -0.3uu#;
+
+ligtable "T": "a" kern -0.5uu#, "k" kern -0.3uu#, "o" kern 0.2uu#,
+ "A" kern -0.5uu#, "K" kern -0.3uu#, "O" kern 0.2uu#;
+
+ligtable "U": "a" kern -0.5uu#, "b" kern -0.5uu#, "c" kern -0.4uu#,
+ "d" kern -0.4uu#, "h" kern -1uu#, "i" kern 0.2uu#,
+ "k" kern -1.3uu#, "m" kern -0.5uu#,
+ "n" kern 0.2uu#, "o" kern -0.6uu#, "p" kern -0.4uu#,
+ "s" kern -0.6uu#, "t" kern -0.3uu#, "u" kern 0.2uu#,
+ "w" kern -0.5uu#, "x" kern -0.4uu#, "y" kern 0.1uu#,
+ "z" kern 0.1uu#,
+ "A" kern -0.5uu#, "C" kern -0.4uu#, "H" kern -1uu#,
+ "N" kern 0.1uu#, "O" kern -0.6uu#, "P" kern -0.4uu#,
+ "T" kern -0.3uu#, "U" kern 0.2uu#;
+
+ligtable "V": "b" kern -0.5uu#, "c" kern -0.3uu#, "g" kern -0.3uu#,
+ "k" kern -1.3uu#, "l" kern 0.2uu#, "m" kern -0.3uu#,
+ "p" kern -0.5uu#, "s" kern -0.3uu#, "w" kern -0.5uu#,
+ "x" kern -0.3uu#, "y" kern 0.2uu#, "z" kern 0.2uu#,
+ "B" kern -0.5uu#, "C" kern -0.3uu#, "G" kern -0.3uu#,
+ "K" kern -1.3uu#, "L" kern 0.2uu#, "M" kern -0.3uu#,
+ "P" kern -0.5uu#, "S" kern -0.3uu#, "W" kern -0.5uu#,
+ "X" kern -0.3uu#, "Y" kern 0.2uu#, "Z" kern 0.2uu#;
+
+ligtable "W": "a" kern -0.5uu#, "c" kern -0.7uu#, "e" kern -0.3uu#,
+ "f" kern -0.3uu#, "j" kern 0.2uu#, "m" kern 0.2uu#,
+ "p" kern 0.2uu#, "q" kern 0.2uu#, "s" kern 0.2uu#,
+ "v" kern -0.8uu#, "w" kern -0.4uu#, "x" kern -0.3uu#,
+ "y" kern 0.2uu#, "z" kern 0.2uu#,
+ "A" kern -0.5uu#, "C" kern -0.7uu#, "E" kern -0.3uu#,
+ "F" kern -0.3uu#, "J" kern 0.2uu#, "M" kern 0.2uu#,
+ "P" kern 0.2uu#, "Q" kern 0.2uu#, "S" kern 0.2uu#,
+ "V" kern -0.5uu#, "W" kern -0.6uu#, "X" kern -0.3uu#,
+ "Y" kern 0.2uu#, "Z" kern 0.2uu#;
+
+ligtable "X": "b" kern -0.2uu#, "c" kern -0.3uu#, "h" kern -0.5uu#,
+ "i" kern -0.8uu#, "j" kern 0.2uu#, "k" kern -0.3uu#, "l" kern -0.5uu#,
+ "n" kern -0.5uu#, "o" kern 0.1uu#, "p" kern 0.1uu#,
+ "u" kern -0.3uu#, "y" kern -0.6uu#, "z" kern -0.6uu#,
+ "B" kern -0.5uu#, "C" kern -0.3uu#, "H" kern -0.3uu#,
+ "I" kern -0.8uu#, "K" kern -0.5uu#, "L" kern -0.5uu#,
+ "N" kern -0.5uu#, "O" kern 0.1uu#, "P" kern 0.1uu#,
+ "Y" kern -0.6uu#, "Z" kern -0.6uu#;
+
+ligtable "Y": "a" kern -0.3uu#, "b" kern -0.3uu#, "k" kern -1uu#,
+ "l" kern 0.2uu#, "m" kern -0.3uu#, "n" kern 0.2uu#,
+ "u" kern 0.2uu#, "v" kern -0.3uu#, "w" kern -0.3uu#,
+ "y" kern 0.2uu#, "z" kern 0.2uu#,
+ "A" kern -0.3uu#, "B" kern -0.3uu#, "K" kern -1uu#,
+ "L" kern 0.2uu#, "M" kern -0.3uu#, "N" kern 0.2uu#,
+ "U" kern 0.2uu#, "V" kern -0.3uu#, "W" kern -0.3uu#,
+ "Y" kern 0.2uu#, "Z" kern 0.2uu#;
+
+ligtable "Z": "a" kern -0.5uu#, "b" kern -0.5uu#, "c" kern -0.3uu#,
+ "d" kern -1uu#, "g" kern -0.2uu#, "h" kern -1uu#,
+ "i" kern 0.2uu#, "k" kern -1.3uu#, "m" kern -0.7uu#,
+ "n" kern 0.2uu#, "o" kern -0.3uu#, "p" kern -0.8uu#,
+ "s" kern -0.6uu#, "t" kern -0.3uu#, "u" kern 0.2uu#,
+ "w" kern -0.7uu#, "x" kern -0.3uu#, "y" kern 0.2uu#,
+ "z" kern 0.2uu#,
+ "A" kern -0.5uu#, "B" kern -0.5uu#, "C" kern -0.3uu#,
+ "D" kern -1uu#, "G" kern -0.2uu#, "H" kern -1uu#,
+ "I" kern 0.2uu#, "K" kern -1.3uu#, "M" kern -0.7uu#,
+ "N" kern 0.2uu#, "O" kern -0.3uu#, "P" kern -0.3uu#,
+ "S" kern -0.6uu#, "T" kern -0.3uu#, "U" kern 0.2uu#,
+ "W" kern -0.7uu#, "X" kern -0.3uu#, "Y" kern 0.2uu#,
+ "Z" kern 0.2uu#;
+ligtable "-": "-" =: oct"173";
+ligtable oct"173": "-" =: oct"174";
+
diff --git a/fonts/klinz/klinz.mf b/fonts/klinz/klinz.mf
new file mode 100644
index 0000000000..3b57072447
--- /dev/null
+++ b/fonts/klinz/klinz.mf
@@ -0,0 +1,983 @@
+% (C)opyright 1993 by Karl Guenter Wuensch.
+% This Font has been created by Karl G\"unter W\"unsch
+% Eschenstr. 7
+% Postbox 101129
+% 47476 Rheinberg
+% Germany
+% (Watch out, the address above lists the new postcode for my postbox
+% in Rheinberg, valid from 07/01/93 onwards and not before! The old one is
+% 4134).
+% It was created to resemble (but not to be identical) to the publicly
+% available (in TrueType and Type 1) Klingon font. Since I had no means
+% of really using the font in the the mentioned formats I had to do something
+% about that and --- being a TeX-User --- I decided this was the time to
+% learn something about \MF. So if there are some errors contained
+% in here, let me know. My current E-Mail address is:
+% hz225wu@unidui.uni-duisburg.de
+%
+% I don't want to make a fuzz of it, but I would like to get any changes you
+% make to this font. So this may be freely copied and distributed under the
+% restriction, that you
+% a) leave this commentary part including the copyright notice intact
+% b) send me the changes you make to this source so that I can enhance
+% it further.
+%
+% This font contains a full set of upper- and lower-case Klingon characters
+% including some additional things like punctuation, which were designed by
+% Micaela Pantke. Maybe someone from the Klingon Language Institue could
+% elaborate about the issue of the additional characters, but I'll use
+% them anyway.
+%
+% It should be compiled with plain \MF along the lines of the following
+% example (where the mag-part of it may be left out and x stands for anything
+% suitable as magstep (any magstep above 6 or 7 is ignored by some dvi-drivers
+% I know of):
+% mf "\mode:=localfont;" "mag=magstep(x);" input klinz
+%
+% I used an extensive scheme of ligatures to make the font look nice... Well
+% it looks better than my TrueType example, because this had erratic character
+% spacing and a too short space-length.
+%
+% Anyone who is wondering, why I even defined ligatures between lower- and
+% upper-case should take a look at the Klingon Dictionary by Mike Okrand.
+% The (s)he'll see that it is fairly common to have upper- and lower-case
+% characters mixed in a single word.
+
+% Corner points are the visible edges of the corresponding character, wereas
+% help points are those points on the curve between the corner points whose
+% tangent has the same angle of ascent as the direct line between the corners.
+% (Hint: look at the definition of the macro flex in the \MF book).
+%
+% There are some help points that have been inserted to act like corner points
+% where the direct path is too complicated to be defined in one stroke.
+
+mode_setup;
+
+numeric body_height#, body_depth#, body_width#;
+numeric u#;
+u#=1pt#*scale;
+
+design_size=10;
+actual_size=9;
+scale = actual_size/design_size;
+body_height#=8.33333pt#*scale;
+body_depth#=1.66667pt#*scale;
+body_width#=7.8pt#*scale;
+
+%
+% Smallest size really useable on my printer which is a HP-Deskjet+
+% (resolution 300 dpi). Otherwise some of the distances beween filled
+% areas in the characters get too small. Maybe I will fix this some time
+% (If I ever correctly understand how the blacker value can be used to
+% do the necessary corrections) but for now you'll have to live with it.
+font_size 11pt#;
+
+define_pixels(body_height);
+t=body_height/3.5*0.97; % Umrechnungsgroesse von meiner Papier-Vorlage auf pt.
+
+%
+% Height and other parameters of upper case and symbols.
+%
+numeric uu#, body_heightu#, body_depthu#, body_witdhu#;
+uu#=1pt#*scaleu;
+
+design_sizeu=10;
+actual_sizeu=11;
+scaleu = actual_sizeu/design_sizeu;
+body_heightu#=8.33333pt#*scaleu;
+body_depthu#=1.66667pt#*scaleu;
+body_widthu#=7.9pt#*scaleu;
+
+define_pixels (body_heightu);
+tu=body_heightu/3.5*0.97; % Umrechnungsgroesse von meiner Papier-Vorlage auf pt.
+
+% Font dimensions 1--7
+
+font_slant 0pt#;
+font_normal_space 0.8body_width#;
+font_normal_stretch body_width#/4;
+font_normal_shrink 1pt#*scaleu;
+font_x_height body_heightu#/2;
+font_quad 2(body_widthu#-2.9pt#*scaleu);
+font_extra_space body_width#/4;
+
+%
+% Definition of the klingon symbol of the empire (might be useful...)
+%
+ts = 3tu; % size factor for symbols
+
+beginchar ("@", 1.825*body_widthu#, 1.75*body_heightu#, 0.7*body_heightu#); "Klingon imperial symbol";
+z1=(0,-0.55ts); z2=(1ts,-0.2ts); z3=(0.6ts,0.1ts); % corner points
+z4=(1.1ts,-0.2ts); z5=(2.1ts,-0.55ts); z6=(1.45ts,0.1ts); % corner points
+z7=(0.65ts,0.15ts); z8=(1.05ts,-0.125ts); z9=(1.4ts,0.15ts); % corner points
+z10=(1.08ts,2.1ts); z11=(1.02ts,2.1ts); % corner points
+z12=(0.5ts,-0.25ts); z13=(0.35ts,-0.075ts); z14=(1.5ts,-0.4ts); % help points
+z15=(1.75ts,-0.25ts); z16=(1.15ts,1.05ts); z17=(1.05ts,2.125ts); % help points
+z18=(0.95ts,1.05ts); % help points
+pickup pencircle scaled (scaleu*0.23pt);
+draw fullcircle scaled 1.3ts shifted (1.05ts,0.2ts);
+fill flex(z1,z12,z2) & z2--z3 & flex(z3,z13,z1) & cycle;
+fill flex(z4,z14,z5) & flex(z5,z15,z6) & z6--z4 & cycle;
+fill z7--z8 & z8--z9 & flex(z9,z16,z10) & flex(z10,z17,z11)
+ & flex(z11,z18,z7) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18);
+endchar;
+
+beginchar ("a", body_width#-0.3pt#*scale, body_height#, 0pt#); "Klingon letter a";
+z1=(0,0); z2=(0.55t,0); z3=(3.25t,0); z4=(2.35t,3.5t); % corner points
+z5=(2.1t,3.625t); z6=(0.6t,3.4t); z7=(1.1t,2.3t); % corner points
+z8=(1.625t,0.7t); z9=(1.55t,1.3t); z10=(0.95t,1.5t); % corner points
+z11=(2.5t,1.9t); z12=(1.35t,3.3t); z13=(1.85t,2.7t); % help points
+z14=(1.45t,2.75t); z15=(2.05t,1.1t); z16=(1.0t,2.875t); % help points
+z17=(0.95t,0.3t); z18=(1.565t,1.0t); z19=(1.25t,1.35t); % help points
+z20=(0.75t,0.8t); % Hilfspunkt
+fill z2--z3 & flex(z3,z11,z4) & z4--z5 & flex(z5,z12,z6)
+ & flex(z6,z16,z7) & flex(z7,z14,z13) & flex(z13,z15,z2) & cycle;
+fill flex(z1,z17,z8) & flex(z8,z18,z9) & flex(z9,z19,z10)
+ & flex(z10,z20,z1) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20);
+endchar;
+
+beginchar ("b", body_width#-0.6pt#*scale, body_height#, 0pt#); "Klingon letter b";
+z1=(0.7t,0); z2=(2.9t,0); z3=(2.1t,1.7t); z4=(1.7t,0.675t); % corner points
+z5=(0.45t,0.675t); z6=(1.02t,0.8t); z7=(1.65t,0.8t); % corner points
+z8=(3.15t,3.3t); z9=(0.05t,3.6t); % corner points
+z10=(0.65t,0.4t); z11=(2.35t,0.8t); z12=(1.85t,1.5t); % help points
+z13=(1.6t,2.8t); z14=(1.15t,1.55t); z15=(0.15t,3.375t); % help points
+fill z1--z2 & flex(z2,z11,z3) & z3--z4 & z4--z5 & flex(z5,z10,z1) & cycle;
+fill z6--z7 & flex(z7,z12,z8) & flex(z8,z13,z9) & flex(z9,z15,z14,z6) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9);
+endchar;
+
+beginchar ("c", body_width#+0.4pt#*scale, body_height#, body_depth#); "Klingon letter c";
+z1=(0,-0.6t); z2=(3.1t,-0.25t); z3=(3.025t,0.2t); % corner points
+z4=(1.75t,2.3t); z5=(2.125t,2.475t); z6=(3.55t,-0.35t); % corner points
+z7=(2.85t,3.35t); z8=(1.025t,3.625t); % corner points
+z9=(1.45t,-0.05t); z10=(3.05t,0.14t); z11=(1.75t,1.3t); % help points
+z12=(1.95t,2.4t); z13=(2.95t,2.6t); z14=(2.05t,3.0t); % help points
+z15=(0.78t,1.35t); % help points
+fill flex(z1,z9,z2) & flex(z2,z10,z3) & flex(z3,z11,z4) & flex(z4,z12,z5)
+ & z5--z6 & flex(z6,z13,z7) & flex(z7,z14,z8) & flex(z8,z15,z1) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
+endchar;
+
+beginchar ("d", body_width#+0.3pt#*scale, body_height#, body_depth#); "Klingon letter d";
+z1=(1.45t,-0.7t); z2=(3.5t,3.4t); z3=(0,3.4t); % corner points
+z4=(0.25t,1.95t); z5=(1.3t,1.95t); % corner points
+z6=(2.0t,1.4t); z7=(0.3t,2.83t); z8=(1.3t,0.5t); % help points
+fill flex(z1,z6,z2) & z2--z3 & flex(z3,z7,z4) & z4--z5 & flex(z5,z8,z1) & cycle;
+penlabels (1,2,3,4,5,6,7,8);
+endchar;
+
+beginchar ("e", body_width#-1.1pt#*scale, body_height#, 0pt#); "Klingon letter e";
+z1=(0,0); z2=(2.9t,0); z3=(1.75t,3.6t); z4=(0.55t,1.6t); % corner points
+z5=(2.25t,1.1t); z6=(1.2t,1.3t); z7=(1.55t,2.3t); % help points
+z8=(0.85t,1.15t); % help points
+fill z1--z2 & flex(z2,z5,z3) & flex(z3,z7,z6) & flex(z6,z8,z4) & z4--z1 & cycle;
+penlabels (1,2,3,4,5,6,7);
+endchar;
+
+beginchar ("f", body_width#-0.55pt#*scale, body_height#, 0pt#); "Klingon letter f";
+z1=(0,0); z2=(1.45t,0); z3=(1.05t,3.65t); z4=(1.675t,0); % corner points
+z5=(3.15t,0); z6=(1.25t,3.2t); z7=(1.55t,0.7t); % corner points
+z8=(0.75t,1.6t); z9=(2.65t,1.3t); z10=(1.325t,3.0t); % help points
+z11=(1.25t,2.75t); z12=(1.85t,0.95t); z13=(1.65t,0.4t); % help points
+fill z1--z2 & z2--z3 & flex(z3,z8,z1) & cycle;
+fill z4--z5 & flex(z5,z9,z10,z6) & flex(z6,z11,z12,z7) & flex(z7,z13,z4) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+
+beginchar ("g", body_width#-1.65pt#*scale, body_height#, 0pt#); "Klingon letter g";
+z1=(0.525t,0); z2=(2.075t,0); z3=(2.65t,2.75t); z4=(2.65t,3.15t); %corner points
+z5=(1.85t,3.6t); z6=(0.65t,1.7t); z7=(1.45t,3.3t); z8=(0,3.3t); %corner points
+z9=(1.45t,1.75t); z10=(2.275t,3.25t); z11=(0.7t,1.35t); % help points
+z12=(0.4t,2.8t); % help point
+fill z1--z2 & flex(z2,z9,z3) & z3--z4 & flex(z4,z10,z5) & flex(z5,z11,z1) & cycle;
+fill z6--z7 & z7--z8 & flex(z8,z12,z6) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar ("h", body_width#-0.35pt#*scale, body_height#, body_depth#); "Klingon letter h";
+z1=(1.1t,-0.6t); z2=(2.0t,2.45t); z3=(0.55t,1.75t); % corner points
+z4=(0,1.7t); z5=(3.25t,3.35t); z6=(0.95t,3.35t); % corner points
+z7=(1.45t,0.9t); z8=(2.55t,0.9t); z9=(0.8t,2.725t); % help points
+fill flex(z1,z8,z2) & z2--z3 & flex(z3,z7,z1) & cycle;
+fill z4--z5 & z5--z6 & flex(z6,z9,z4) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9);
+endchar;
+
+beginchar ("i", body_width#-0.85pt#*scale, body_height#, body_depth#); "Klingon letter i";
+z1=(1.1t,-0.6t); z2=(2.3t,0); z3=(3.0t,1.4t); % corner points
+z4=(1.675t,1.4t); z5=(0.725t,0); z6=(1.15t,0); % corner points
+z7=(1.2t,3.6t); z8=(0t,1.0t); % corner points
+z9=(1.7t,-0.15t); z10=(2.5t,0.85t); z11=(1.55t,0.65t); % help points
+z12=(1.55t,1.65t); z13=(0.65t,1.825t); z14=(0.4t,0.7t); % help points
+fill flex(z1,z9,z2) & flex(z2,z10,z3) & z3--z4 & flex(z4,z11,z1) & cycle;
+fill z5--z6 & flex(z6,z12,z7) & flex(z7,z13,z8) & flex(z8,z14,z5) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+endchar;
+
+beginchar ("j", body_width#-0.2pt#*scale, body_height#, 0pt#); "Klingon letter j";
+z1=(0.55t,0); z2=(2.25t,0); z3=(2.65t,0.8t); z4=(1.67t, 0.8t); % corner points
+z5=(0,3.6t); z6=(1.75t,1.0t); z7=(3.3t,3.6t); z8=(0.35t,3.4t); % corner points
+z9=(2.35t,0.4t); z10=(0.05t,2.95t); z11=(0.55t,1.1t); % help points
+z12=(2.25t,2.4t); z13=(1.75t,3.3t); % help points
+fill z1--z2 & flex(z2,z9,z3) & z3--z4 & z4--z5 & flex(z5,z10,z11,z1) & cycle;
+fill flex(z6,z12,z7) & flex(z7,z13,z8) & z8--z6 & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+
+beginchar ("k", body_width#-0.6pt#*scale, body_height#, body_depth#); "Klingon letter k";
+z1=(1.6t,-0.7t); z2=(2.1t,2.075t); z3=(1.45t,2.6t); z4=(0.95t,2.2t); % corner points
+z5=(2.2t,2.2t); z6=(3.1t,2.95t); z7=(2.65t,3.4t); z8=(0,3.3t); % corner points
+z9=(1.8t,0.85t); z10=(1.85t,2.3t); z11=(1.35t,2.425t); % help points
+z12=(1.275t,1.2t); z13=(2.5t,2.55t); z14=(2.75t,3.3t); % help points
+z15=(1.4t,3.25t); z16=(1.3t,2.8t); % help points
+fill flex(z1,z9,z2) & flex(z2,z10,z3) & flex(z3,z11,z4) & flex(z4,z12,z1) & cycle;
+fill flex(z5,z13,z6) & flex(z6,z14,z7) & flex(z7,z15,z8) & flex(z8,z16,z5) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+
+beginchar ("l", body_width#-1.6pt#*scale, body_height#, 0pt#); "Klingon letter l";
+z1=(0.6t,0); z2=(1.525t,0); z3=(0,1.85t); z4=(1.7t,0); % corner points
+z5=(2.7t,0); z6=(1.85t,3.35t); z7=(0.85t,3.6t); % corner points
+z8=(0.65t,2.3t); z9=(0.95t,0.8t); z13=(1.55t,2.35t); % corner points
+z10=(0.55t,1.0t); z11=(1.45t,3.35t); z12=(0.75t,2.9t); % help points
+z14=(1.1t,2.65t); z15=(1.55t,1.3t); z16=(1.4t,0.25t); % help points
+fill z1--z2 & flex(z2,z10,z3) & z3--z1 & cycle;
+fill z4--z5 & z5--z6 & flex(z6,z11,z7) & flex(z7,z12,z8) & flex(z8,z14,z13)
+ & flex(z13,z15,z9) & flex(z9,z16,z4) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+
+beginchar ("m", body_width#, body_height#, body_depth#); "Klingon letter m";
+z1=(1.225t,0.3t); z2=(1.6t,2.45t); z3=(0.55t,2.45t); % corner points
+z4=(1.95t,-0.7t); z5=(3.35t,3.4t); z6=(0t,3.4t); % corner points
+z7=(0.45t,2.6t); z8=(1.7t,2.6t); z9=(1.6t,0.5t); % corner points
+z10=(1.35t,1.7t); z11=(0.15t,3.2t); z12=(1.85t,1.7t); % help points
+fill flex(z1,z10,z2) & z2--z3 & z3--z1 & cycle;
+fill z4--z5 & z5--z6 & flex(z6,z11,z7) & z7--z8 & flex(z8,z12,z9)
+ & z9--z4 & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar ("n", body_width#+0.9pt#*scale, body_height#+0.4pt#*scale, body_depth#); "Klingon letter n";
+turningcheck:=0;
+z1=(0.225t,-0.7t); z2=(2.45t,-0.35t); z3=(0.55t,0.5t); % corner points
+z4=(0,0.85t); z5=(3.85t,-0.7t); z6=(2.85t,3.2t); % corner points
+z7=(1.75t,3.65t); % corner points
+z8=(1.85t,0.05t); z9=(0.5t,-0.15t); z10=(2.05t,1.7t); % help points
+z11=(2.35t,3.35t); z12=(1.2t,2.6t); z13=(1.7t,0.3t); % help points
+fill z1--z2 & flex(z2,z8,z3) & flex(z3,z9,z1) & cycle;
+fill flex(z4,z13,z5) & flex(z5,z10,z6) & flex(z6,z11,z7)
+ & flex(z7,z12,z4) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+
+beginchar ("o", body_width#-0.55pt#*scale, body_height#, body_depth#); "Klingon letter o";
+z1=(2.45t,-0.7t); z2=(2.0t,2.1t); z3=(3.15t,3.35t); % corner points
+z4=(0.55t,3.35t); z5=(0,2.55t); z6=(1.45t,2.55t); % corner points
+z7=(0.1t,1.55t); % corner points
+z8=(2.5t,0.8t); z9=(2.35t,2.4t); z10=(2.7t,3.1t); % help points
+z11=(0.45t,2.95t); z12=(0.95t,1.9t); z13=(1.35t,1.1t); % help points
+z14=(0.8t,1.35t); z15=(2.1t,0.2t); % help points
+fill flex(z1,z8,z2) & flex(z2,z9,z10,z3) & z3--z4 & flex(z4,z11,z5)
+ & z5--z6 & flex(z6,z12,z7) & flex(z7,z14,z13) & flex(z13,z15,z1) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
+endchar;
+
+beginchar ("p", body_width#-0.3pt#*scale, body_height#, body_depth#); "Klingon letter p";
+z1=(2.25t,-0.7t); z2=(1.85t,3.4t); z3=(0.55t,3.65t); % corner points
+z4=(0t,2.75t); z5=(2.2t,1.1t); z6=(3.25t,3.4t); % corner points
+z7=(2.0t,3.4t); % corner points
+z8=(1.15t,3.45t); z9=(0.35t,3.1t); z10=(1.85t,0.4t); % help points
+z11=(2.45t,2.1t); % help points
+fill z1--z2 & flex(z2,z8,z3) & flex(z3,z9,z4) & flex(z4,z10,z1) & cycle;
+fill flex(z5,z11,z6) & z6--z7 & z7--z5 & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11);
+endchar;
+
+beginchar ("q", body_width#-1.2pt#*scale, body_height#, body_depth#); "Klingon letter q";
+z1=(0.8t,-0.3t); z2=(1.4t,-0.2t); z3=(1.65t,1.05t); % corner points
+z4=(2.85t,3.4t); z5=(0,3.4t); z6=(1.55t,-0.3t); % corner points
+z7=(2.65t,0.2t); z8=(1.95t,1.9t); % corner points
+z9=(1.55t,0.5t); z10=(1.55t,2.3t); z11=(2.25t,0.15t); % help points
+z12=(2.25t,0.7t); z13=(1.75t,0.7t); % help points
+fill z1--z2 & flex(z2,z9,z3) & flex(z3,z10,z4) & z4--z5 & z5--z1 & cycle;
+fill flex(z6,z11,z7) & flex(z7,z12,z8) & flex(z8,z13,z6) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+
+beginchar ("r", body_width#-1.9pt#*scale, body_height#, body_depth#); "Klingon letter r";
+z1=(0.45t,0.15t); z2=(1.05t,-0.4t); z3=(2.55t,2.5t); % corner points
+z4=(2.45t,3.4t); z5=(0,3.65t); z6=(1.25t,0); % corner points
+z7=(2.35t,0); z8=(1.65t,1.7t); % corner points
+z9=(0.75t,0); z10=(1.75t,2.35t); z11=(2.5t,2.85t); % help points
+z12=(1.2t,3.2t); z13=(0.4t,2.1t); z14=(2t,0.6t); % help points
+z15=(1.4t,0.75t); % help points
+fill flex(z1,z9,z2) & flex(z2,z10,z3) & flex(z3,z11,z4) & flex(z4,z12,z5)
+ & flex(z5,z13,z1) & cycle;
+fill z6--z7 & flex(z7,z14,z8) & flex(z8,z15,z6) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
+endchar;
+
+beginchar ("s", body_width#+1.1pt#*scale, body_height#, body_depth#); "Klingon letter s";
+z1=(0.95t,-0.7t); z2=(3.65t,3.4t); z3=(0,3.4t); % corner points
+z4=(0.55t,1.9t); z5=(1.75t,1.9t); z6=(1.85t,0); % corner points
+z7=(3.85t,0); z8=(3.6t,1.0t); z9=(3.2t,2.0t); % corner points
+z10=(2.65t,1.35t); z11=(1.6t,0.8t); z12=(3.65t,0.3t); % help points
+z13=(3.05t,0.6t); z14=(2.7t,1.1t); z15=(3.25t,0.6t); % help points
+z16=(3.0t,0.9t); z17=(3.18t,1.75t); % help points
+fill flex(z1,z10,z2) & z2--z3 & z3--z4 & z4--z5 & flex(z5,z11,z1) & cycle;
+fill z6--z7 & flex(z7,z12,z8) & flex(z8,z15,z13) & flex(z13,z16,z17,z9) & flex(z9,z14,z6) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17);
+endchar;
+
+beginchar ("t", body_width#-1.5pt#*scale, body_height#, body_depth#); "Klingon letter t";
+turningcheck:=0;
+z1=(0,0); z2=(1.95t,0); z3=(1.1t,1.825t); % corner points
+z4=(2.45t,-0.7t); z5=(2.75t,2.45t); z6=(2.2t,3.4t); % corner points
+z7=(0.3t,3.4t); z8=(0t,2.6t); % corner points
+z9=(1.5t,1.1t); z10=(0.75t,0.65t); z11=(2.25t,1.45t); % help points
+z12=(2.25t,3.1t); z13=(0.25t,3.05t); z14=(1.15t,2.0t); % help points
+z15=(0.7t,2.45t); z16=(1.65t,1.15t); % help points
+fill z1--z2 & flex(z2,z9,z3) & flex(z3,z10,z1) & cycle;
+fill flex(z4,z11,z5) & flex(z5,z12,z6) & z6--z7 & flex(z7,z13,z8)
+ & flex(z8,z15,z14) & flex(z14,z16,z4) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+
+beginchar ("u", body_width#-1.65pt#*scale, body_height#, body_depth#); "Klingon letter u";
+z1=(0.15t,0.3t); z2=(2.05t,-0.5t); z3=(2.45t,3.4t); % corner points
+z4=(1.0t,3.65t); z5=(0,1.05t); z6=(2.05t,-0.35t); % corner points
+z7=(2.65t,0.85t); z8=(2.4t,1.3t); z9=(1.3t,1.4t); % corner points
+z10=(1.1t,1.4t); z11=(1.45t,3.45t); z12=(0.65t,2.0t); % help points
+z13=(2.15t,0.4t); z14=(1.45t,0.5t); % help points
+fill z1--z2 & flex(z2,z10,z3) & flex(z3,z11,z4) & flex(z4,z12,z5)
+ & z5--z1 & cycle;
+fill flex(z6,z13,z7) & z7--z8 & z8--z9 & flex(z9,z14,z6) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+endchar;
+
+beginchar ("v", body_width#-0.2pt#*scale, body_height#, 0pt#); "Klingon letter v";
+z1=(0,0); z2=(1.6t,0); z3=(1.25t,2.4t); z4=(1.75t,0); % corner points
+z5=(2.85t,0); z6=(3.3t,1.5t); z7=(1.2t,3.65t); % corner points
+z8=(1.55t,1.45t); % corner points
+z9=(0.7t,0.9t); z10=(2.95t,0.6t); z11=(1.25t,3.1t); % help points
+z12=(1.95t,1.7t); % help points
+fill z1--z2 & z2--z3 & flex(z3,z9,z1) & cycle;
+fill z4--z5 & flex(z5,z10,z6) & z6--z7 & flex(z7,z11,z12,z8) & z8--z4 & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar ("w", body_width#-0.2pt#*scale, body_height#, body_depth#); "Klingon letter w";
+z1=(1.65t,-0.7t); z2=(2.95t,1.9t); z3=(3.3t,3.4t); % corner points
+z4=(0,3.4t); z5=(1.8t,-0.1t); z6=(3.2t,1.2t); % corner points
+z7=(2.05t,1.5t); % corner points
+z8=(2.0t,1.9t); z9=(3.05t,2.65t); z10=(0.95t,1.55t); % help points
+z11=(2.5t,0.75t); z12=(2.65t,1.3t); z13=(2.0t,1.3t); % help points
+z14=(1.85t,1.6t); z15=(2.5t,2.1t); % help points
+fill flex(z1,z14,z8) & flex(z8,z15,z2) & flex(z2,z9,z3) & z3--z4
+ & flex(z4,z10,z1) & cycle;
+fill flex(z5,z11,z6) & flex(z6,z12,z7) & flex(z7,z13,z5) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
+endchar;
+
+beginchar ("x", body_width#-1.1pt#*scale, body_height#, body_depth#); "Klingon letter x";
+z1=(1.25t,-0.7t); z2=(2.9t,2.5t); z3=(2.1t,3.6t); % corner points
+z4=(0,3.3t); z5=(0.25t,2.35t); z6=(1.35t,0.15t); % corner points
+z7=(2.6t,0.15t); z8=(2.05t,1.7t); % corner points
+z9=(1.45t,1.2t); z10=(2.35t,3.1t); z11=(1.0t,3.2t); % help points
+z12=(0.75t,1.9t); z13=(0.7t,-0.1t); z14=(2.15t,0.75t); % help points
+z15=(1.55t,0.9t); % help points
+fill flex(z1,z9,z2) & flex(z2,z10,z3) & flex(z3,z11,z4) & z4--z5
+ & flex(z5,z12,z13,z1) & cycle;
+fill z6--z7 & flex(z7,z14,z8) & flex(z8,z15,z6) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
+endchar;
+
+beginchar ("y", body_width#-0.9pt#*scale, body_height#, 0pt#); "Klingon letter y";
+z1=(0.5t,0); z2=(2.45t,0); z3=(2.95t,1.2t); z4=(0.45t,1.2t); % corner points
+z5=(1.55t,2.45t); z6=(3.0t,1.4t); z14=(3.0t,1.45t); % corner points
+z7=(2.25t,3.3t); z8=(1.05t,3.65t); z9=(0,1.3t); % corner points
+z10=(1.05t,2.1t); z11=(2.15t,1.8t); z12=(2.35t,2.3t); % help points
+z13=(1.45t,3.4t); % help points
+fill z1--z2 & z2--z3 & z3--z4 & flex(z4,z10,z5) & flex(z5,z11,z6)
+ & z6--z14 & flex(z14,z12,z7) & flex(z7,z13,z8) & z8--z9 & z9--z1 & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+
+beginchar ("z", body_width#-1pt#*scale, body_height#, 0pt#); "Klingon letter z";
+z1=(0.55t,0); z2=(2.6t,0); z3=(2.95t,1.05t); z4=(1.25t,1.4t); % corner points
+z5=(1.35t,3.6t); z6=(0,1.0t); z7=(1.4t,1.6t); % corner points
+z8=(2.55t,2.8t); z9=(1.5t,3.1t); % corner points
+z10=(2.65t,0.5t); z11=(1.75t,1.1t); z12=(0.35t,0.65t); % help points
+z13=(1.95t,2.4t); z14=(2.0t,2.9t); % help points
+fill z1--z2 & flex(z2,z10,z3) & flex(z3,z11,z4) & z4--z5 & z5--z6
+ & flex(z6,z12,z1) & cycle;
+fill flex(z7,z13,z8) & flex(z8,z14,z9) & z9--z7 & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+endchar;
+
+beginchar ("0", body_widthu#-0.95pt#*scaleu, body_heightu#-1.4pt#*scaleu, body_depthu#); "Klingon number 0";
+z1=(1.35tu,-0.7tu); z2=(1.45tu,1.35tu); z3=(2.55tu,2.0tu); % corner points
+z4=(2.95tu,2.7tu); z5=(0,2.7tu); z6=(1.5tu,0.05tu); % corner points
+z7=(1.6tu,1.55tu); % corner points
+z8=(1.8tu,2.1tu); z9=(2.65tu,2.4tu); z10=(0.8tu,1.1tu); % help points
+z11=(2.15tu,1.3tu); % help points
+fill z1--z2 & flex(z2,z8,z3) & flex(z3,z9,z4) & z4--z5
+ & flex(z5,z10,z1) & cycle;
+fill flex(z6,z11,z7) & z7--z6 & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11);
+endchar;
+
+beginchar ("1", body_widthu#-1.45pt#*scaleu, body_heightu#-1.6pt#*scaleu, body_depthu#); "Klingon number 1";
+z1=(1.25tu,-0.7tu); z2=(2.45tu,2.0tu); z3=(2.75tu,2.8tu); z4=(0,2.8tu); % corner points
+z5=(1.35tu,1.55tu); z6=(1.3tu,0.6tu); z7=(1.7tu,2.2tu); % help points
+z8=(2.5tu,2.3tu); z9=(0.75tu,1.1tu); % help points
+fill flex(z1,z6,z5) & flex(z5,z7,z2) & flex(z2,z8,z3) & z3--z4
+ & flex(z4,z9,z1) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9);
+endchar;
+
+beginchar ("2", body_widthu#-2.15pt#*scaleu, body_heightu#-1.6pt#*scaleu, body_depthu#); "Klingon number 2";
+z1=(1.75tu,-0.7tu); z2=(2.45tu,2.8tu); z3=(0,2.8tu); % corner points
+z4=(2.2tu,0.5tu); z5=(1.5tu,1.65tu); % help points
+fill flex(z1,z4,z2) & z2--z3 & flex(z3,z5,z1) & cycle;
+penlabels (1,2,3,4,5);
+endchar;
+
+beginchar ("3", body_widthu#-1.7pt#*scaleu, body_heightu#, 0pt#); "Klingon number 3";
+z1=(0,0); z2=(2.65tu,0); z3=(2.25tu,3.65tu); z4=(1.25tu,0.625tu); % corner points
+z5=(0.4tu,0.625tu); z6=(1.25tu,1.25tu); z7=(1.65tu,2.8tu); % corner points
+z8=(0.15tu,2.8tu); % corner points
+z9=(2.05tu,1.25tu); z10=(1.6tu,2.3tu); z11=(0.35tu,0.4tu); % help points
+z12=(1.3tu,1.6tu); z13=(0.95tu,2.2tu); % help points
+fill z1--z2 & flex(z2,z9,z3) & flex(z3,z10,z4) & z4--z5
+ & flex(z5,z11,z1) & cycle;
+fill flex(z6,z12,z7) & z7--z8 & flex(z8,z13,z6) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+
+beginchar ("4", body_widthu#-1.3pt#*scaleu, body_heightu#-1.3pt#*scaleu, 0pt#); "Klingon number 4";
+turningcheck:=0;
+z1=(0.3tu,0); z2=(2.8tu,0); z3=(0.25tu,3.0tu); z4=(0.5tu,1.3tu); % corner points
+z5=(0,1.0tu); z6=(1.45tu,1.65tu); z7=(2.35tu,2.8tu); % corner points
+z8=(0.55tu,2.8tu); % corner points
+z9=(1.4tu,1.4tu); z10=(0.25tu,2.15tu); z11=(0.45tu,0.95tu); % help points
+z12=(0.25tu,0.55tu); z13=(1.65tu,2.2tu); z14=(1.2tu,1.9tu); % help points
+fill z1--z2 & flex(z2,z9,z3) & flex(z3,z10,z4) & flex(z4,z11,z5)
+ & flex(z5,z12,z1) & cycle;
+fill flex(z6,z13,z7) & z7--z8 & flex(z8,z14,z6) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+endchar;
+
+beginchar ("5", body_widthu#-1.8pt#*scaleu, body_heightu#-1.6pt#*scaleu, body_depthu#); "Klingon number 5";
+z1=(0.6tu,-0.5tu); z2=(2.05tu,2.8tu); z3=(1.05tu,2.8tu); % corner points
+z4=(1.65tu,2.1tu); z5=(1.5tu,1.5tu); z6=(0.75tu,2.2tu); % corner points
+z7=(0.95tu,2.8tu); z8=(0.25tu,2.8tu); z9=(0.5tu,-0.5tu); % corner points
+z10=(2.5tu,1.45tu); z11=(1.65tu,1.8tu); z12=(0.9tu,2.6tu); % help points
+z13=(0,1.95tu); z14=(1.0tu,0.7tu); % help points
+fill flex(z1,z10,z2) & z2--z3 & z3--z4 & flex(z4,z11,z5) & z5--z6
+ & flex(z6,z12,z7) & z7--z8 & flex(z8,z13,z14,z9) & z9--z1 & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+endchar;
+
+beginchar ("6", body_widthu#-1.3pt#*scaleu, body_heightu#-1.2pt#*scaleu, 0pt#); "Klingon number 6";
+turningcheck:=0;
+z1=(0.95tu,0); z2=(1.95tu,0); z3=(2.8tu,0.6tu); z4=(2.5tu,2.8tu); % corner points
+z5=(1.8tu,3.1tu); z6=(0,0.9tu); z7=(0.95tu,1.95tu); % corner points
+z8=(1.5tu,2.8tu); z9=(0.4tu,2.8tu); z10=(1.55tu,1.1tu); % corner points
+z11=(1.95tu,0.5tu); z12=(1.75tu,2.1tu); z13=(2.05tu,2.9tu); % help points
+z14=(0.95tu,1.8tu); z15=(0.45tu,0.6tu); z16=(1.25tu,2.35tu); % help points
+z17=(0.75tu,2.55tu); z18=(1.35tu,2.3tu); z19=(0.55tu,1.35tu); % help points
+fill z1--z2 & z2--z3 & flex(z3,z11,z10) & flex(z10,z12,z4) & flex(z4,z13,z5)
+ & flex(z5,z18,z14) & flex(z14,z19,z6) & flex(z6,z15,z1) & cycle;
+fill flex(z7,z16,z8) & z8--z9 & flex(z9,z17,z7) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19);
+endchar;
+
+beginchar ("7", body_widthu#-1.5pt#*scaleu, body_heightu#-1.6pt#*scaleu, 0pt#); "Klingon number 7";
+z1=(0.55tu,0); z2=(2.75tu,0); z3=(2.3tu,0.95tu); z4=(2.1tu,2.05tu); % corner points
+z5=(2.05tu,2.8tu); z6=(1.15tu,2.8tu); z7=(0,0.7tu); % corner points
+z8=(2.45tu,0.4tu); z9=(1.25tu,1.35tu); z10=(1.7tu,0.85tu); % help points
+z11=(1.45tu,2.15tu); z12=(2.05tu,2.35tu); z13=(0.65tu,1.8tu); % help points
+z14=(0.35tu,0.4tu); % help points
+fill z1--z2 & flex(z2,z8,z3) & flex(z3,z10,z9) & flex(z9,z11,z4)
+ & flex(z4,z12,z5) & z5--z6 & flex(z6,z13,z7) & flex(z7,z14,z1) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+endchar;
+
+beginchar ("8", body_widthu#-2.15pt#*scaleu, body_heightu#-1.3pt#*scaleu, body_depthu#); "Klingon number 8";
+z1=(1.45tu,-0.7tu); z2=(2.45tu,0.4tu); z3=(2.25tu,3.05tu); % corner points
+z4=(0,3.15tu); z5=(1.6tu,1.45tu); % corner points
+z6=(1.3tu,0.45tu); z7=(2.15tu,1.85tu); z8=(1.45tu,2.85tu); % help points
+z9=(1.3tu,2.4tu); z10=(0.55tu,0.4tu); % help points
+fill flex(z1,z6,z2) & flex(z2,z7,z3) & flex(z3,z8,z4) & flex(z4,z9,z5)
+ & flex(z5,z10,z1) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10);
+endchar;
+
+beginchar ("9", body_widthu#-1.4pt#*scaleu, body_heightu#-1.6pt#*scaleu, body_depthu#); "Klingon number 9";
+z1=(0.75tu,-0.7tu); z2=(1.2tu,2.8tu); z3=(0,2.8tu); % corner points
+z4=(1.65tu,0.1tu); z5=(2.75tu,0.8tu); z6=(2.15tu,0.8tu); % corner points
+z7=(2.75tu,2.8tu); z8=(1.375tu,2.8tu); z9=(1.55tu,2.3tu); % corner points
+z10=(1.45tu,0.75tu); z11=(0.9tu,0.75tu); z12=(2.2tu,0.5tu); % help points
+z13=(2.55tu,1.5tu); z14=(1.85tu,1.7tu); % help points
+fill flex(z1,z10,z2) & z2--z3 & flex(z3,z11,z1) & cycle;
+fill flex(z4,z12,z5) & z5--z6 & flex(z6,z13,z7) & z7--z8 & z8--z9
+ & flex(z9,z14,z4) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+endchar;
+
+beginchar ("A", body_widthu#-0.3pt#*scaleu, body_heightu#, 0pt#); "Klingon letter A";
+z1=(0,0); z2=(0.55tu,0); z3=(3.25tu,0); z4=(2.35tu,3.5tu); % corner points
+z5=(2.1tu,3.625tu); z6=(0.6tu,3.4tu); z7=(1.1tu,2.3tu); % corner points
+z8=(1.625tu,0.7tu); z9=(1.55tu,1.3tu); z10=(0.95tu,1.5tu); % corner points
+z11=(2.5tu,1.9tu); z12=(1.35tu,3.3tu); z13=(1.85tu,2.7tu); % help points
+z14=(1.45tu,2.75tu); z15=(2.05tu,1.1tu); z16=(1.0tu,2.875tu); % help points
+z17=(0.95tu,0.3tu); z18=(1.565tu,1.0tu); z19=(1.25tu,1.35tu); % help points
+z20=(0.75tu,0.8tu); % Hilfspunkt
+fill z2--z3 & flex(z3,z11,z4) & z4--z5 & flex(z5,z12,z6)
+ & flex(z6,z16,z7) & flex(z7,z14,z13) & flex(z13,z15,z2) & cycle;
+fill flex(z1,z17,z8) & flex(z8,z18,z9) & flex(z9,z19,z10)
+ & flex(z10,z20,z1) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20);
+endchar;
+
+beginchar ("B", body_widthu#-0.6pt#*scaleu, body_heightu#, 0pt#); "Klingon letter B";
+z1=(0.7tu,0); z2=(2.9tu,0); z3=(2.1tu,1.7tu); z4=(1.7tu,0.675tu); % corner points
+z5=(0.45tu,0.675tu); z6=(1.02tu,0.8tu); z7=(1.65tu,0.8tu); % corner points
+z8=(3.15tu,3.3tu); z9=(0.05tu,3.6tu); % corner points
+z10=(0.65tu,0.4tu); z11=(2.35tu,0.8tu); z12=(1.85tu,1.5tu); % help points
+z13=(1.6tu,2.8tu); z14=(1.15tu,1.55tu); z15=(0.15tu,3.375tu); % help points
+fill z1--z2 & flex(z2,z11,z3) & z3--z4 & z4--z5 & flex(z5,z10,z1) & cycle;
+fill z6--z7 & flex(z7,z12,z8) & flex(z8,z13,z9) & flex(z9,z15,z14,z6) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
+endchar;
+
+beginchar ("C", body_widthu#+0.4pt#*scaleu, body_heightu#, body_depthu#); "Klingon letter C";
+z1=(0,-0.6tu); z2=(3.1tu,-0.25tu); z3=(3.025tu,0.2tu); % corner points
+z4=(1.75tu,2.3tu); z5=(2.125tu,2.475tu); z6=(3.55tu,-0.35tu); % corner points
+z7=(2.85tu,3.35tu); z8=(1.025tu,3.625tu); % corner points
+z9=(1.45tu,-0.05tu); z10=(3.05tu,0.14tu); z11=(1.75tu,1.3tu); % help points
+z12=(1.95tu,2.4tu); z13=(2.95tu,2.6tu); z14=(2.05tu,3.0tu); % help points
+z15=(0.78tu,1.35tu); % help points
+fill flex(z1,z9,z2) & flex(z2,z10,z3) & flex(z3,z11,z4) & flex(z4,z12,z5)
+ & z5--z6 & flex(z6,z13,z7) & flex(z7,z14,z8) & flex(z8,z15,z1) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
+endchar;
+
+beginchar ("D", body_widthu#+0.3pt#*scaleu, body_heightu#, body_depthu#); "Klingon letter D";
+z1=(1.45tu,-0.7tu); z2=(3.5tu,3.4tu); z3=(0,3.4tu); % corner points
+z4=(0.25tu,1.95tu); z5=(1.3tu,1.95tu); % corner points
+z6=(2.0tu,1.4tu); z7=(0.3tu,2.83tu); z8=(1.3tu,0.5tu); % help points
+fill flex(z1,z6,z2) & z2--z3 & flex(z3,z7,z4) & z4--z5 & flex(z5,z8,z1) & cycle;
+penlabels (1,2,3,4,5,6,7,8);
+endchar;
+
+beginchar ("E", body_widthu#-1.1pt#*scaleu, body_heightu#, 0pt#); "Klingon letter E";
+z1=(0,0); z2=(2.9tu,0); z3=(1.75tu,3.6tu); z4=(0.55tu,1.6tu); % corner points
+z5=(2.25tu,1.1tu); z6=(1.2tu,1.3tu); z7=(1.55tu,2.3tu); % help points
+z8=(0.85tu,1.15tu); % help points
+fill z1--z2 & flex(z2,z5,z3) & flex(z3,z7,z6) & flex(z6,z8,z4) & z4--z1 & cycle;
+penlabels (1,2,3,4,5,6,7,8);
+endchar;
+
+beginchar ("F", body_widthu#-0.55pt#*scaleu, body_heightu#, 0pt#); "Klingon letter F";
+z1=(0,0); z2=(1.45tu,0); z3=(1.05tu,3.65tu); z4=(1.675tu,0); % corner points
+z5=(3.15tu,0); z6=(1.25tu,3.2tu); z7=(1.55tu,0.7tu); % corner points
+z8=(0.75tu,1.6tu); z9=(2.65tu,1.3tu); z10=(1.325tu,3.0tu); % help points
+z11=(1.25tu,2.75tu); z12=(1.85tu,0.95tu); z13=(1.65tu,0.4tu); % help points
+fill z1--z2 & z2--z3 & flex(z3,z8,z1) & cycle;
+fill z4--z5 & flex(z5,z9,z10,z6) & flex(z6,z11,z12,z7) & flex(z7,z13,z4) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+
+beginchar ("G", body_widthu#-1.65pt#*scaleu, body_heightu#, 0pt#); "Klingon letter G";
+z1=(0.525tu,0); z2=(2.075tu,0); z3=(2.65tu,2.75tu); z4=(2.65tu,3.15tu); %corner points
+z5=(1.85tu,3.6tu); z6=(0.65tu,1.7tu); z7=(1.45tu,3.3tu); z8=(0,3.3tu); %corner points
+z9=(1.45tu,1.75tu); z10=(2.275tu,3.25tu); z11=(0.7tu,1.35tu); % help points
+z12=(0.4tu,2.8tu);
+fill z1--z2 & flex(z2,z9,z3) & z3--z4 & flex(z4,z10,z5) & flex(z5,z11,z1) & cycle;
+fill z6--z7 & z7--z8 & flex(z8,z12,z6) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar ("H", body_widthu#-0.35pt#*scaleu, body_heightu#, body_depthu#); "Klingon letter H";
+z1=(1.1tu,-0.6tu); z2=(2.0tu,2.45tu); z3=(0.55tu,1.75tu); % corner points
+z4=(0,1.7tu); z5=(3.25tu,3.35tu); z6=(0.95tu,3.35tu); % corner points
+z7=(1.45tu,0.9tu); z8=(2.55tu,0.9tu); z9=(0.8tu,2.725tu); % help points
+fill flex(z1,z8,z2) & z2--z3 & flex(z3,z7,z1) & cycle;
+fill z4--z5 & z5--z6 & flex(z6,z9,z4) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9);
+endchar;
+
+beginchar ("I", body_widthu#-0.85pt#*scaleu, body_heightu#, body_depthu#); "Klingon letter I";
+z1=(1.1tu,-0.6tu); z2=(2.3tu,0); z3=(3.0tu,1.4tu); % corner points
+z4=(1.675tu,1.4tu); z5=(0.725tu,0); z6=(1.15tu,0); % corner points
+z7=(1.2tu,3.6tu); z8=(0tu,1.0tu); % corner points
+z9=(1.7tu,-0.15tu); z10=(2.5tu,0.85tu); z11=(1.55tu,0.65tu); % help points
+z12=(1.55tu,1.65tu); z13=(0.65tu,1.825tu); z14=(0.4tu,0.7tu); % help points
+fill flex(z1,z9,z2) & flex(z2,z10,z3) & z3--z4 & flex(z4,z11,z1) & cycle;
+fill z5--z6 & flex(z6,z12,z7) & flex(z7,z13,z8) & flex(z8,z14,z5) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+endchar;
+
+beginchar ("J", body_widthu#-0.2pt#*scaleu, body_heightu#, 0pt#); "Klingon letter J";
+z1=(0.55tu,0); z2=(2.25tu,0); z3=(2.65tu,0.8tu); z4=(1.67tu, 0.8tu); % corner points
+z5=(0,3.6tu); z6=(1.75tu,1.0tu); z7=(3.3tu,3.6tu); z8=(0.35tu,3.4tu); % corner points
+z9=(2.35tu,0.4tu); z10=(0.05tu,2.95tu); z11=(0.55tu,1.1tu); % help points
+z12=(2.25tu,2.4tu); z13=(1.75tu,3.3tu); % help points
+fill z1--z2 & flex(z2,z9,z3) & z3--z4 & z4--z5 & flex(z5,z10,z11,z1) & cycle;
+fill flex(z6,z12,z7) & flex(z7,z13,z8) & z8--z6 & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+
+beginchar ("K", body_widthu#-0.6pt#*scaleu, body_heightu#, body_depthu#); "Klingon letter K";
+z1=(1.6tu,-0.7tu); z2=(2.1tu,2.075tu); z3=(1.45tu,2.6tu); z4=(0.95tu,2.2tu); % corner points
+z5=(2.2tu,2.2tu); z6=(3.1tu,2.95tu); z7=(2.65tu,3.4tu); z8=(0,3.3tu); % corner points
+z9=(1.8tu,0.85tu); z10=(1.85tu,2.3tu); z11=(1.35tu,2.425tu); % help points
+z12=(1.275tu,1.2tu); z13=(2.5tu,2.55tu); z14=(2.75tu,3.3tu); % help points
+z15=(1.4tu,3.25tu); z16=(1.3tu,2.8tu); % help points
+fill flex(z1,z9,z2) & flex(z2,z10,z3) & flex(z3,z11,z4) & flex(z4,z12,z1) & cycle;
+fill flex(z5,z13,z6) & flex(z6,z14,z7) & flex(z7,z15,z8) & flex(z8,z16,z5) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+
+beginchar ("L", body_widthu#-1.6pt#*scaleu, body_heightu#, 0pt#); "Klingon letter L";
+z1=(0.6tu,0); z2=(1.525tu,0); z3=(0,1.85tu); z4=(1.7tu,0); % corner points
+z5=(2.7tu,0); z6=(1.85tu,3.35tu); z7=(0.85tu,3.6tu); % corner points
+z8=(0.65tu,2.3tu); z9=(0.95tu,0.8tu); z13=(1.55tu,2.35tu); % corner points
+z10=(0.55tu,1.0tu); z11=(1.45tu,3.35tu); z12=(0.75tu,2.9tu); % help points
+z14=(1.1tu,2.65tu); z15=(1.55tu,1.3tu); z16=(1.4tu,0.25tu); % help points
+fill z1--z2 & flex(z2,z10,z3) & z3--z1 & cycle;
+fill z4--z5 & z5--z6 & flex(z6,z11,z7) & flex(z7,z12,z8) & flex(z8,z14,z13)
+ & flex(z13,z15,z9) & flex(z9,z16,z4) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+
+beginchar ("M", body_widthu#, body_heightu#, body_depthu#); "Klingon letter M";
+z1=(1.225tu,0.3tu); z2=(1.6tu,2.45tu); z3=(0.55tu,2.45tu); % corner points
+z4=(1.95tu,-0.7tu); z5=(3.35tu,3.4tu); z6=(0tu,3.4tu); % corner points
+z7=(0.45tu,2.6tu); z8=(1.7tu,2.6tu); z9=(1.6tu,0.5tu); % corner points
+z10=(1.35tu,1.7tu); z11=(0.15tu,3.2tu); z12=(1.85tu,1.7tu); % help points
+fill flex(z1,z10,z2) & z2--z3 & z3--z1 & cycle;
+fill z4--z5 & z5--z6 & flex(z6,z11,z7) & z7--z8 & flex(z8,z12,z9)
+ & z9--z4 & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar ("N", body_widthu#+0.9pt#*scaleu, body_heightu#+0.4pt#*scaleu, body_depthu#); "Klingon letter N";
+z1=(0.225tu,-0.7tu); z2=(2.45tu,-0.35tu); z3=(0.55tu,0.5tu); % corner points
+z4=(0,0.85tu); z5=(3.85tu,-0.7tu); z6=(2.85tu,3.2tu); % corner points
+z7=(1.75tu,3.65tu); % corner points
+z8=(1.85tu,0.05tu); z9=(0.5tu,-0.15tu); z10=(2.05tu,1.7tu); % help points
+z11=(2.35tu,3.35tu); z12=(1.2tu,2.6tu); z13=(1.7tu,0.3tu); % help points
+fill z1--z2 & flex(z2,z8,z3) & flex(z3,z9,z1) & cycle;
+fill flex(z4,z13,z5) & flex(z5,z10,z6) & flex(z6,z11,z7) & flex(z7,z12,z4) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+
+beginchar ("O", body_widthu#-0.55pt#*scaleu, body_heightu#, body_depthu#); "Klingon letter O";
+z1=(2.45tu,-0.7tu); z2=(2.0tu,2.1tu); z3=(3.15tu,3.35tu); % corner points
+z4=(0.55tu,3.35tu); z5=(0,2.55tu); z6=(1.45tu,2.55tu); % corner points
+z7=(0.1tu,1.55tu); % corner points
+z8=(2.5tu,0.8tu); z9=(2.35tu,2.4tu); z10=(2.7tu,3.1tu); % help points
+z11=(0.45tu,2.95tu); z12=(0.95tu,1.9tu); z13=(1.35tu,1.1tu); % help points
+z14=(0.8tu,1.35tu); z15=(2.1tu,0.2tu); % help points
+fill flex(z1,z8,z2) & flex(z2,z9,z10,z3) & z3--z4 & flex(z4,z11,z5)
+ & z5--z6 & flex(z6,z12,z7) & flex(z7,z14,z13) & flex(z13,z15,z1) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
+endchar;
+
+beginchar ("P", body_widthu#-0.3pt#*scaleu, body_heightu#, body_depthu#); "Klingon letter P";
+z1=(2.25tu,-0.7tu); z2=(1.85tu,3.4tu); z3=(0.55tu,3.65tu); % corner points
+z4=(0tu,2.75tu); z5=(2.2tu,1.1tu); z6=(3.25tu,3.4tu); % corner points
+z7=(2.0tu,3.4tu); % corner points
+z8=(1.15tu,3.45tu); z9=(0.35tu,3.1tu); z10=(1.85tu,0.4tu); % help points
+z11=(2.45tu,2.1tu); % help points
+fill z1--z2 & flex(z2,z8,z3) & flex(z3,z9,z4) & flex(z4,z10,z1) & cycle;
+fill flex(z5,z11,z6) & z6--z7 & z7--z5 & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11);
+endchar;
+
+beginchar ("Q", body_widthu#-1.2pt#*scaleu, body_heightu#, body_depthu#); "Klingon letter Q";
+z1=(0.8tu,-0.3tu); z2=(1.4tu,-0.2tu); z3=(1.65tu,1.05tu); % corner points
+z4=(2.85tu,3.4tu); z5=(0,3.4tu); z6=(1.55tu,-0.3tu); % corner points
+z7=(2.65tu,0.2tu); z8=(1.95tu,1.9tu); % corner points
+z9=(1.55tu,0.5tu); z10=(1.55tu,2.3tu); z11=(2.25tu,0.15tu); % help points
+z12=(2.25tu,0.7tu); z13=(1.75tu,0.7tu); % help points
+fill z1--z2 & flex(z2,z9,z3) & flex(z3,z10,z4) & z4--z5 & z5--z1 & cycle;
+fill flex(z6,z11,z7) & flex(z7,z12,z8) & flex(z8,z13,z6) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+
+beginchar ("R", body_widthu#-1.9pt#*scaleu, body_heightu#, body_depthu#); "Klingon letter R";
+z1=(0.45tu,0.15tu); z2=(1.05tu,-0.4tu); z3=(2.55tu,2.5tu); % corner points
+z4=(2.45tu,3.4tu); z5=(0,3.65tu); z6=(1.25tu,0); % corner points
+z7=(2.35tu,0); z8=(1.65tu,1.7tu); % corner points
+z9=(0.75tu,0); z10=(1.75tu,2.35tu); z11=(2.5tu,2.85tu); % help points
+z12=(1.2tu,3.2tu); z13=(0.4tu,2.1tu); z14=(2tu,0.6tu); % help points
+z15=(1.4tu,0.75tu); % help points
+fill flex(z1,z9,z2) & flex(z2,z10,z3) & flex(z3,z11,z4) & flex(z4,z12,z5)
+ & flex(z5,z13,z1) & cycle;
+fill z6--z7 & flex(z7,z14,z8) & flex(z8,z15,z6) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
+endchar;
+
+beginchar ("S", body_widthu#+1.1pt#*scaleu, body_heightu#, body_depthu#); "Klingon letter S";
+z1=(0.95tu,-0.7tu); z2=(3.65tu,3.4tu); z3=(0,3.4tu); % corner points
+z4=(0.55tu,1.9tu); z5=(1.75tu,1.9tu); z6=(1.85tu,0); % corner points
+z7=(3.85tu,0); z8=(3.6tu,1.0tu); z9=(3.2tu,2.0tu); % corner points
+z10=(2.65tu,1.35tu); z11=(1.6tu,0.8tu); z12=(3.65tu,0.3tu); % help points
+z13=(3.05tu,0.6tu); z14=(2.7tu,1.1tu); z15=(3.25tu,0.6tu); % help points
+z16=(3.0tu,0.9tu); z17=(3.18tu,1.75tu); % help points
+fill flex(z1,z10,z2) & z2--z3 & z3--z4 & z4--z5 & flex(z5,z11,z1) & cycle;
+fill z6--z7 & flex(z7,z12,z8) & flex(z8,z15,z13) & flex(z13,z16,z17,z9) & flex(z9,z14,z6) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17);
+endchar;
+
+beginchar ("T", body_widthu#-1.5pt#*scaleu, body_heightu#, body_depthu#); "Klingon letter T";
+z1=(0,0); z2=(1.95tu,0); z3=(1.1tu,1.825tu); % corner points
+z4=(2.45tu,-0.7tu); z5=(2.75tu,2.45tu); z6=(2.2tu,3.4tu); % corner points
+z7=(0.3tu,3.4tu); z8=(0tu,2.6tu); % corner points
+z9=(1.5tu,1.1tu); z10=(0.75tu,0.65tu); z11=(2.25tu,1.45tu); % help points
+z12=(2.25tu,3.1tu); z13=(0.25tu,3.05tu); z14=(1.15tu,2.0tu); % help points
+z15=(0.7tu,2.45tu); z16=(1.65tu,1.15tu); % help points
+fill z1--z2 & flex(z2,z9,z3) & flex(z3,z10,z1) & cycle;
+fill flex(z4,z11,z5) & flex(z5,z12,z6) & z6--z7 & flex(z7,z13,z8)
+ & flex(z8,z15,z14) & flex(z14,z16,z4) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+
+beginchar ("U", body_widthu#-1.65pt#*scaleu, body_heightu#, body_depthu#); "Klingon letter U";
+z1=(0.15tu,0.3tu); z2=(2.05tu,-0.5tu); z3=(2.45tu,3.4tu); % corner points
+z4=(1.0tu,3.65tu); z5=(0,1.05tu); z6=(2.05tu,-0.35tu); % corner points
+z7=(2.65tu,0.85tu); z8=(2.4tu,1.3tu); z9=(1.3tu,1.4tu); % corner points
+z10=(1.1tu,1.4tu); z11=(1.45tu,3.45tu); z12=(0.65tu,2.0tu); % help points
+z13=(2.15tu,0.4tu); z14=(1.45tu,0.5tu); % help points
+fill z1--z2 & flex(z2,z10,z3) & flex(z3,z11,z4) & flex(z4,z12,z5)
+ & z5--z1 & cycle;
+fill flex(z6,z13,z7) & z7--z8 & z8--z9 & flex(z9,z14,z6) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+endchar;
+
+beginchar ("V", body_widthu#-0.2pt#*scaleu, body_heightu#, 0pt#); "Klingon letter V";
+z1=(0,0); z2=(1.6tu,0); z3=(1.25tu,2.4tu); z4=(1.75tu,0); % corner points
+z5=(2.85tu,0); z6=(3.3tu,1.5tu); z7=(1.2tu,3.65tu); % corner points
+z8=(1.55tu,1.45tu); % corner points
+z9=(0.7tu,0.9tu); z10=(2.95tu,0.6tu); z11=(1.25tu,3.1tu); % help points
+z12=(1.95tu,1.7tu); % help points
+fill z1--z2 & z2--z3 & flex(z3,z9,z1) & cycle;
+fill z4--z5 & flex(z5,z10,z6) & z6--z7 & flex(z7,z11,z12,z8) & z8--z4 & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar ("W", body_widthu#-0.2pt#*scaleu, body_heightu#, body_depthu#); "Klingon letter W";
+z1=(1.65tu,-0.7tu); z2=(2.95tu,1.9tu); z3=(3.3tu,3.4tu); % corner points
+z4=(0,3.4tu); z5=(1.8tu,-0.1tu); z6=(3.2tu,1.2tu); % corner points
+z7=(2.05tu,1.5tu); % corner points
+z8=(2.0tu,1.9tu); z9=(3.05tu,2.65tu); z10=(0.95tu,1.55tu); % help points
+z11=(2.5tu,0.75tu); z12=(2.65tu,1.3tu); z13=(2.0tu,1.3tu); % help points
+z14=(1.85tu,1.6tu); z15=(2.5tu,2.1tu); % help points
+fill flex(z1,z14,z8) & flex(z8,z15,z2) & flex(z2,z9,z3) & z3--z4
+ & flex(z4,z10,z1) & cycle;
+fill flex(z5,z11,z6) & flex(z6,z12,z7) & flex(z7,z13,z5) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
+endchar;
+
+beginchar ("X", body_widthu#-1.1pt#*scaleu, body_heightu#, body_depthu#); "Klingon letter X";
+z1=(1.25tu,-0.7tu); z2=(2.9tu,2.5tu); z3=(2.1tu,3.6tu); % corner points
+z4=(0,3.3tu); z5=(0.25tu,2.35tu); z6=(1.35tu,0.15tu); % corner points
+z7=(2.6tu,0.15tu); z8=(2.05tu,1.7tu); % corner points
+z9=(1.45tu,1.2tu); z10=(2.35tu,3.1tu); z11=(1.0tu,3.2tu); % help points
+z12=(0.75tu,1.9tu); z13=(0.7tu,-0.1tu); z14=(2.15tu,0.75tu); % help points
+z15=(1.55tu,0.9tu); % help points
+fill flex(z1,z9,z2) & flex(z2,z10,z3) & flex(z3,z11,z4) & z4--z5
+ & flex(z5,z12,z13,z1) & cycle;
+fill z6--z7 & flex(z7,z14,z8) & flex(z8,z15,z6) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
+endchar;
+
+beginchar ("Y", body_widthu#-0.9pt#*scaleu, body_heightu#, 0pt#); "Klingon letter Y";
+z1=(0.5tu,0); z2=(2.45tu,0); z3=(2.95tu,1.2tu); z4=(0.45tu,1.2tu); % corner points
+z5=(1.55tu,2.45tu); z6=(3.0tu,1.4tu); z14=(3.0tu,1.45tu); % corner points
+z7=(2.25tu,3.3tu); z8=(1.05tu,3.65tu); z9=(0,1.3tu); % corner points
+z10=(1.05tu,2.1tu); z11=(2.15tu,1.8tu); z12=(2.35tu,2.3tu); % help points
+z13=(1.45tu,3.4tu); % help points
+fill z1--z2 & z2--z3 & z3--z4 & flex(z4,z10,z5) & flex(z5,z11,z6)
+ & z6--z14 & flex(z14,z12,z7) & flex(z7,z13,z8) & z8--z9 & z9--z1 & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+
+beginchar ("Z", body_widthu#-1pt#*scaleu, body_heightu#, 0pt#); "Klingon letter Z";
+z1=(0.55tu,0); z2=(2.6tu,0); z3=(2.95tu,1.05tu); z4=(1.25tu,1.4tu); % corner points
+z5=(1.35tu,3.6tu); z6=(0,1.0tu); z7=(1.4tu,1.6tu); % corner points
+z8=(2.55tu,2.8tu); z9=(1.5tu,3.1tu); % corner points
+z10=(2.65tu,0.5tu); z11=(1.75tu,1.1tu); z12=(0.35tu,0.65tu); % help points
+z13=(1.95tu,2.4tu); z14=(2.0tu,2.9tu); % help points
+fill z1--z2 & flex(z2,z10,z3) & flex(z3,z11,z4) & z4--z5 & z5--z6
+ & flex(z6,z12,z1) & cycle;
+fill flex(z7,z13,z8) & flex(z8,z14,z9) & z9--z7 & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+endchar;
+
+beginchar ("'", 2pt#*scaleu, body_heightu#, 0pt#); "Klingon apostrophe '";
+z1=(0.5tu,2.5tu); z2=(0.7tu,3.7tu); z3=(0,3.35tu); % corner points
+z4=(0.7tu,3.2tu); z5=(0.5tu,3.4tu); z6=(0.35tu,2.85tu); % help points
+fill flex(z1,z4,z2) & flex(z2,z5,z3) & flex(z3,z6,z1) & cycle;
+penlabels (1,2,3,4,5,6);
+endchar;
+
+beginchar ("!", 2.6pt#*scaleu, body_heightu#, 0pt#); "Klingon exclamation mark !";
+z1=(0.5tu,0); z2=(0.15tu,1tu); z3=(0,0.55tu); z4=(0.65tu,0.05tu); % corner points
+z5=(1.1tu,2.25tu); z6=(0.4tu,3.7tu); z7=(0.45tu,2tu); z8=(0,1.5tu); % corner points
+z9=(0.3tu,0.4tu); z10=(0.4tu,0.6tu); z11=(0.1tu,0.7tu); % help points
+z12=(0.5tu,2.4tu); z13=(0,2.25tu); z14=(0.3tu,1.7tu); z15=(0.45tu,1.1tu); % help points
+fill flex(z1,z10,z2) & flex(z2,z11,z3) & flex(z3,z9,z1) & cycle;
+fill z4--z5 & flex(z5,z12,z6) & flex(z6,z13,z7) & flex(z7,z14,z8)
+ & flex(z8,z15,z4) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
+endchar;
+
+beginchar ("?", 2.6pt#*scaleu, body_heightu#, body_depthu#); "Klingon question mark ?";
+z1=(0.8tu,-0.7tu); z2=(0.35tu,0.6tu); z3=(0,-0.1tu); z4=(0.7tu,0); % corner points
+z5=(0.4tu,1.75tu); z6=(0.3tu,3.6tu); z7=(0.1tu,2.0tu); % corner points
+z8=(0.4tu,-0.4tu); z9=(0.2tu,0.2tu); z10=(0.95tu,1.15tu); % help points
+z11=(1.1tu,2.3tu); z12=(0.55tu, 2.55tu); % help points
+fill z1--z2 & flex(z2,z9,z3) & flex(z3,z8,z1) & cycle;
+fill flex(z4,z10,z5) & flex(z5,z11,z6) & flex(z6,z12,z7) & z7--z4 & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar (",", 1.65pt#*scaleu, 3pt#*scaleu, body_depthu#); "Klingon comma ,";
+z1=(0.25tu,-0.5tu); z2=(0.7tu,0.9tu); z3=(0,0.15tu); % corner points
+z4=(0.6tu,0.05tu); z5=(0.45tu,0.4tu); z6=(0.2tu,-0.1tu); % help points
+fill flex(z1,z4,z2) & flex(z2,z5,z3) & flex(z3,z6,z1) & cycle;
+penlabels (1,2,3,4,5,6);
+endchar;
+
+beginchar (".", 1.65pt#*scaleu, 5pt#*scaleu, body_depthu#); "Klingon dot .";
+z1=(0.25tu,-0.5tu); z2=(0.7tu,0.9tu); z3=(0,0.15tu); % corner points
+z7=(0,0.3tu); z8=(0.65tu,1.2tu); z9=(0,1.7tu); % corner points
+z4=(0.6tu,0.05tu); z5=(0.45tu,0.4tu); z6=(0.2tu,-0.1tu); % help points
+z10=(0.4tu,0.6tu); z11=(0.25tu,1.3tu); z12=(0.1tu,0.95tu); % help points
+fill flex(z1,z4,z2) & flex(z2,z5,z3) & flex(z3,z6,z1) & cycle;
+fill flex(z7,z10,z8) & flex(z8,z11,z9) & flex(z9,z12,z7) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12);
+endchar;
+
+beginchar (";", 2.65pt#*scaleu, 5pt#*scaleu, body_depthu#); "Klingon semicolon ;";
+z1=(0.3tu,-0.6tu); z2=(0.5tu,1.3tu); z3=(0,0.7tu); % corner points
+z4=(0.55tu,0); z5=(1.15tu,0.7tu); z6=(0.6tu, 1.3tu); % corner points
+z7=(0.4tu,0); z8=(0.5tu,0.75tu); z9=(0.3tu,1tu); % help points
+z10=(0.2tu,0.1tu); z11=(0.8tu,0.35tu); z12=(0.7tu,0.75tu); % help points
+z13=(0.55tu,0.2tu); % help points
+fill flex(z1,z7,z8,z2) & flex(z2,z9,z3) & flex(z3,z10,z1) & cycle;
+fill flex(z4,z11,z5) & z5--z6 & flex(z6,z12,z13,z4) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+
+beginchar (":", 2.65pt#*scaleu, body_heightu#, body_depthu#); "Klingon double point :";
+z1=(0.3tu,-0.6tu); z2=(0.5tu,1.3tu); z3=(0,0.7tu); % corner points
+z4=(0.55tu,0.7tu); z5=(1.15tu,1.4tu); z6=(0.6tu,2tu); % corner points
+z7=(0.4tu,0); z8=(0.5tu,0.75tu); z9=(0.3tu,1tu); % help points
+z10=(0.2tu,0.1tu); z11=(0.8tu,1.05tu); z12=(0.7tu,1.45tu); % help points
+z13=(0.55tu,0.9tu); % help points
+fill flex(z1,z7,z8,z2) & flex(z2,z9,z3) & flex(z3,z10,z1) & cycle;
+fill flex(z4,z11,z5) & z5--z6 & flex(z6,z12,z13,z4) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13);
+endchar;
+
+beginchar ("-", body_widthu#-2.9pt#*scaleu, 6pt#*scaleu, 0pt#); "Klingon dash -";
+z1=(0.1tu, 0.4tu); z2=(0.7tu,1.2tu); z3=(0,1.3tu); % corner points
+z4=(0.1tu, 0.3tu); z5=(2.2tu,1.3tu); z6=(1.75tu,2.25tu); % corner points
+z7=(0.3tu,1.1tu); z8=(0.1tu,0.8tu); z9=(1tu,1tu); % help points
+z10=(1.8tu,1.6tu); % help points
+fill z1--z2 & flex(z2,z7,z3) & flex(z3,z8,z1) & cycle;
+fill flex(z4,z9,z5) & flex(z5,z10,z6) & z6--z4 & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10);
+endchar;
+
+beginchar (oct"173", 1.5(body_widthu#-2.9pt#*scaleu), 6pt#*scaleu, 0pt#); "Klingon en dash -";
+z1=(0.15tu, 0.4tu); z2=(1.05tu,1.2tu); z3=(0,1.3tu); % corner points
+z4=(0.15tu, 0.3tu); z5=(3.3tu,1.3tu); z6=(2.6tu,2.25tu); % corner points
+z7=(0.45tu,1.1tu); z8=(0.15tu,0.8tu); z9=(1.5tu,1tu); % help points
+z10=(2.7tu,1.6tu); % help points
+fill z1--z2 & flex(z2,z7,z3) & flex(z3,z8,z1) & cycle;
+fill flex(z4,z9,z5) & flex(z5,z10,z6) & z6--z4 & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10);
+endchar;
+
+beginchar (oct"174", 2(body_widthu#-2.9pt#*scaleu), 6pt#*scaleu, 0pt#); "Klingon em dash -";
+z1=(0.2tu, 0.4tu); z2=(1.4tu,1.2tu); z3=(0,1.3tu); % corner points
+z4=(0.2tu, 0.3tu); z5=(4.4tu,1.3tu); z6=(3.5tu,2.25tu); % corner points
+z7=(0.6tu,1.1tu); z8=(0.2tu,0.8tu); z9=(2tu,1tu); % help points
+z10=(3.6tu,1.6tu); % help points
+fill z1--z2 & flex(z2,z7,z3) & flex(z3,z8,z1) & cycle;
+fill flex(z4,z9,z5) & flex(z5,z10,z6) & z6--z4 & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10);
+endchar;
+
+beginchar ("(", 2.8pt#*scaleu, body_heightu#, 0pt#); "Klingon opening brace (";
+z1=(0.4tu,1.2tu); z2=(0.4tu,2.5tu); z3=(0,1.75tu); % corner points
+z4=(0.15tu,0); z5=(1.2tu,0); z6=(0.65tu,1.7tu); % corner points
+z7=(0.65tu,1.8tu); z8=(1.2tu,3.6tu); z9=(0.15tu,3.6tu); % corner points
+z10=(0.2tu,1.6tu); z11=(0.5tu,1.75tu); z12=(0.2tu,2tu); % help points
+z13=(0.85tu,0.8tu); z14=(0.5tu,0.8tu); z15=(0.85tu,2.75tu); % help points
+z16=(0.5tu,2.75tu); % help points
+fill flex(z1,z11,z2) & flex(z2,z12,z3) & flex(z3,z10,z1) & cycle;
+fill z4--z5 & flex(z5,z13,z6) & flex(z6,z14,z4) & cycle;
+fill flex(z7,z15,z8) & z8--z9 & flex(z9,z16,z7) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+
+beginchar (")", 2.8pt#*scaleu, body_heightu#, 0pt#); "Klingon closing brace )";
+z1=(0,0); z2=(1.05tu,0); z3=(0.55tu,1.7tu); % corner points
+z4=(0.55tu,1.8tu); z5=(1.05tu,3.6tu); z6=(0,3.6tu); % corner points
+z7=(0.8tu,1.2tu); z8=(1.2tu,1.75tu); z9=(0.8tu,2.5tu); % corner points
+z10=(1tu,1.6tu); z11=(1tu,2tu); z12=(0.7tu,1.75tu); % help points
+z13=(0.7tu,0.8tu); z14=(0.35tu,0.8tu); % help points
+z15=(0.7tu,2.75tu); z16=(0.35tu,2.75tu); % help points
+fill z1--z2 & flex(z2,z13,z3) & flex(z3,z14,z1) & cycle;
+fill flex(z4,z15,z5) & z5--z6 & flex(z6,z16,z4) & cycle;
+fill flex(z7,z10,z8) & flex(z8,z11,z9) & flex(z9,z12,z7) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
+endchar;
+
+beginchar (oct"042", 2.2pt#*scaleu, body_heightu#, 0pt#); "Klingon double quote";
+z1=(0.45tu,0.35tu); z2=(0.6tu,1.45tu); z3=(0.25tu,2.2tu); % corner points
+z4=(0.65tu,1.5tu); z5=(0.5tu,3.75tu); z6=(0.3tu,2.25tu); % corner points
+z7=(0.3tu,0.9tu); z8=(0.05tu,1.2tu); z9=(0.9tu,2.7tu); % help points
+z10=(0.55tu,3tu); % help points
+fill flex(z1,z7,z2) & z2--z3 & flex(z3,z8,z1) & cycle;
+fill flex(z4,z9,z5) & flex(z5,z10,z6) & z6--z4 & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10);
+endchar;
+
+beginchar ("/", 2.75pt#*scaleu, body_heightu#, body_depthu#); "Klingon slash /";
+z1=(0,-0.7tu); z2=(0.6tu,-0.5tu); z3=(0.9tu,1.3tu); % corner points
+z4=(0.5tu,0.8tu); z5=(1.2tu,2.6tu); z6=(0.65tu,3.6tu); % corner points
+z7=(0.2tu,-0.6tu); z8=(0.5tu,-0.2tu); z9=(0.9tu,0.9tu); % corner points
+z10=(0.75tu,0.9tu); z11=(0.2tu,-0.2tu); z12=(0.8tu,1.3tu); % help points
+z13=(0.9tu,2.8tu); z14=(0.75tu,2tu); % help points
+fill flex(z1,z7,z2) & flex(z2,z8,z9,z3) & flex(z3,z10,z11,z1) & cycle;
+fill flex(z4,z12,z5) & flex(z5,z13,z6) & flex(z6,z14,z4) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14);
+endchar;
+
+beginchar ("&", body_widthu#-3.2pt#*scaleu, body_heightu#, 0pt#); "Klingon ampersand &";
+z1=(0,0); z2=(2tu,0); z3=(1.9tu,1.2tu); z4=(0.65tu,1.35tu); % corner points
+z5=(1.1tu,0.75tu); z6=(1.85tu,1.6tu); z7=(1.2tu,2.8tu); % corner points
+z8=(0.75tu,2.8tu); z9=(0.45tu,2.45tu); z10=(0.85tu,1.6tu); z11=(1tu,2.3tu); % corner points
+z12=(1.8tu,0.4tu); z13=(1tu,0.6tu); z14=(0.3tu,0.5tu); % help points
+z15=(1.7tu,1.2tu); z16=(0.8tu,2.1tu); z17=(1.5tu,1.6tu); % help points
+fill z1--z2 & flex(z2,z12,z3) & flex(z3,z13,z4) & flex(z4,z14,z1) & cycle;
+fill flex (z5,z15,z6) & z6--z7 & z7--z8 & z8--z9 & z9--z10
+ & flex(z10,z16,z11) & flex(z11,z17,z5) & cycle;
+penlabels (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17);
+endchar;
+
+input kligs;
+end