summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/fonts/ly1/texnansi.txt
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-09 00:47:01 +0000
committerKarl Berry <karl@freefriends.org>2006-01-09 00:47:01 +0000
commit950209b26f70aa87ed07c54f82a95b6f03b7c3a0 (patch)
tree32b2d4ab4e36aee3a9aaf41877a5c0c581de9b77 /Master/texmf-dist/doc/fonts/ly1/texnansi.txt
parent71c5ce4be7e36bdc6bdda98641bc9368e28223ad (diff)
doc/fonts
git-svn-id: svn://tug.org/texlive/trunk@83 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/fonts/ly1/texnansi.txt')
-rw-r--r--Master/texmf-dist/doc/fonts/ly1/texnansi.txt142
1 files changed, 142 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/fonts/ly1/texnansi.txt b/Master/texmf-dist/doc/fonts/ly1/texnansi.txt
new file mode 100644
index 00000000000..761e44ad29e
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/ly1/texnansi.txt
@@ -0,0 +1,142 @@
+===============================================================
+ Design principles of `texnansi.vec':
+===============================================================
+
+* Make all 228 glyphs in typical plain vanilla text fonts accessible.
+ (Avoid need for second copy of font with different encoding)
+
+* Provide access to `extra' f-ligatures (ff, ffi, ffl) and dotlessj
+ if the font has these.
+
+* Make 58 accented / composite `standard' characters directly accessible
+ (so don't have to use TeX's \accent mechanism - improved hyphenation)
+
+* Follow ISO Latin 1 in 160 - 255 range --- which matches Windows ANSI.
+ (And matches Cork T1 encoding for accented characters in 192 - 255)
+
+* Fill in from Windows ANSI in 128 -- 159 range
+ (which means one can use a Windows editor for the source file)
+
+* Have special characters where plain TeX (OT1) has them hard-wired.
+ (ae, oe, oslash, AE, OE, Oslash, germandbls)
+
+* Have accents (grave, acute, caron, breve. macron, ring, cedilla,
+ circumflex, tilde, dieresis) mostly where plain TeX (OT1) has them
+ hard-wired.
+
+* Follow `TeX typewriter' in 32 -- 127 as much as reasonable
+ (so verbatim environment works as expected)
+
+* Fortunately, glyphs accessed only via ligature mechanism in TFM can
+ be anywhere: ff/fi/fl/ffi/ffl
+ exclamdown/questiondown, quotedblleft/quotedblright, endash/emdash
+
+* Avoid character codes 0, 9, 10, 13, and perhaps 127, since much brain
+ dead software has trouble with those.
+
+We use `control characters' (0 -- 31 and 127), since we need space for more
+than 224 slots, and since we want to match some aspects of `TeX typewriter'.
+
+Overall layout:
+
+0 Avoid since some buggy software uses null-terminated string ops
+
+4 -- 8 `fraction', `dotaccent', `hungarumlaut', `ogonek', `fl'
+
+9 Avoid (tab - which is treated as white space by some software)
+
+10 Avoid - some applications have hard-wired for `newline'
+
+11 -- 12 ff, fi could actually be anywhere (accessed via ligs)
+
+13 Avoid - some applications have hard-wired for `return'
+
+14 -- 15 ffi, ffl could actually be anywhere (accessed via ligs)
+
+16 -- 17 dotlessi/dotlessj \i, \j
+
+18 -- 24 grave/acute/caron/breve/macron/ring/cedilla accents.
+ Some accents occur again higher up:
+ (96), 180, *, *, 175, *, 184
+
+25 -- 31 germandbls/ae/oe/oslash/AE/OE/Oslash.
+ All special characters occur again higher up:
+ 223, 230, 156, 248, 198, 140, 216
+
+32 space. Any sane font should have this! And have it here!
+
+% NO: 34 quotedblright (148) keep: quotedbl
+
+39 quoteright (146) *not* quotesingle
+
+% NO: 60 exclamdown (161) keep: less
+
+% NO: 62 questiondown (191) keep: greater
+
+NOTE: exclamdown and questiondown can go anywhere (via pseudo ligature)
+
+% NO: 92 quotedblleft (147) keep: backslash
+
+NOTE: quotedblleft and quotedblright can go anywhere (via pseudo ligature)
+
+94 circumflex (136) *not* asciicircum
+
+% NO: 95 dotaccent (*) keep: underscore
+
+96 quoteleft (145) *not* grave accent
+
+% NO: 123 endash (150) keep: braceleft
+% NO: 124 emdash (151) keep: bar
+
+NOTE: endash/emdash can go anywhere (via pseudo ligature)
+
+% NO: 125 hungarumlaut (*) keep: braceright
+
+126 tilde (152) *not* asciitilde
+127 dieresis (168) but use the one in 168 instead
+
+So we have displaced 5 characters (out of 12 possibles) from Windows ANSI:
+
+ quotesingle (39), asciicircum (94), asciitilde (126),
+ underscore (95), grave (96).
+
+but not: quotedbl (34), less (60), greater (62),
+but not: backslash (92), bar (124), braceleft (123), braceright (125)
+
+The five above then need to be patched in higher up.
+
+Conversely, we have moved down from Windows ANSI accents and special chars:
+
+ grave (96), acute (180), macron (175), cedilla (184),
+ circumflex (136), tilde (152), dieresis (168),
+ quoteleft (145), quoteright (146),
+ germandbls (223), ae (230), oe (156), oslash (248),
+ AE (198), OE (140), Oslash (216).
+
+but not: quotedblleft (147), quotedblright (148),
+but not: exclamdown (161), questiondown (191)
+but not: endash (150), emdash (151),
+
+(This opens up some slots higher up that could be filled with other things).
+
+There are eight gaps in Windows ANSI: 128, 129, 141, 142, 143, 144, 157, 158,
+we need four for characters displaced from lower down:
+
+ quotesingle (39), asciicircum (94), asciitilde (126), grave (96),
+
+Actually, we can omit grave, because it appears at 18 now.
+
+Finally, fill in the gaps, and adding minus, Lslash, lslash, Zcaron, zcaron
+
+128 Lslash
+129 quotesingle
+
+141 Zcaron
+142 asciicircum
+143 minus
+144 lslash
+
+157 zcaron
+158 asciitilde
+
+The rest (160 and above) is ISO Latin 1 / Windows ANSI \ No newline at end of file