diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-09 00:47:01 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-09 00:47:01 +0000 |
commit | 950209b26f70aa87ed07c54f82a95b6f03b7c3a0 (patch) | |
tree | 32b2d4ab4e36aee3a9aaf41877a5c0c581de9b77 /Master/texmf-dist/doc/fonts/ly1 | |
parent | 71c5ce4be7e36bdc6bdda98641bc9368e28223ad (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')
-rw-r--r-- | Master/texmf-dist/doc/fonts/ly1/ly1.txt | 158 | ||||
-rw-r--r-- | Master/texmf-dist/doc/fonts/ly1/texnansi.txt | 142 | ||||
-rw-r--r-- | Master/texmf-dist/doc/fonts/ly1/texnansi.vec | 337 |
3 files changed, 637 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/fonts/ly1/ly1.txt b/Master/texmf-dist/doc/fonts/ly1/ly1.txt new file mode 100644 index 00000000000..a70d0c12545 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/ly1/ly1.txt @@ -0,0 +1,158 @@ + + + LaTeX support for `texnansi' encoding (LY1) + =========================================== + + ly1enc.def + texnansi.sty + ly1ptm.fd + ly1phv.fd + ly1pcr.fd + ly1.txt + +The files in this directory make known a new encoding `LY1' +to LaTeX that corresponds to the `texnansi' encoding as used +by default in the Y&Y TeX system. There is also an option +to support the `ansinew' encoding that is the default encoding +in Microsoft Windows. + +The main file is ly1enc.def. This contains the declaration of +the encoding. To use `texnansi' encoded fonts within LaTeX, typically +you just need to add the line + +\usepackage[LY1]{fontenc} + +to your document preamble. + +An alternative to the above line is to use the texnansi package + +\usepackage{texnansi} + +This will call the fontenc package, as above, to set up the LY1 +encoding but then make further changes to the uppercase and lowercase +tables. +Note that LaTeX does not need these changes to correctly uppercase +text as its \MakeUppercase and \MakeLowercase commands only require +the uppercase and lower case codes of the letters a-z. + +So for most purposes it is better to use the call to fontenc rather +than use the texnansi package. Then if you pass the file to a site +using T1 (Cork) encoded fonts the line can more easily be changed to + +\usepackage[T1]{fontenc} + +The texnansi package has a package option `ansinew' which modifies +the LY1 encoding to refer to that MS Windows encoding. However you +should only do this if your TeX system can not reencode fonts to +support T1 or texnansi. The `ansinew' treatment of the left quote +` as a grave accent makes it rather unsuitable for TeX use, also it +lacks several useful glyphs. However if you need to you can go: + +\usepackage[ansinew]{texnansi} + +The other possible reason for using the texnansi package relates +to the use of the lowercase table in the hyphenation algorithm. +This is described below, but it is unfortunately of necessity +rather technical, and you may want to stop reading at that point. + +Having declared the LY1 encoding to LaTeX, LaTeX will need to know +the fonts that are available in this encoding. This distribution +includes ly1ptm.fd, ly1plv.fd and ly1pcr.fd which declare the +common Adobe Times/Helvetica/Courier `Standard PostScript' fonts. +If you install other text fonts you can make similar ly1XXX.fd files +based on this model. The LaTeX support packages for MathTime and +Lucida Bright contain suitable LY1 fd files for those fonts. +Note that these LY1 `fd' files assume that you have kept the +original font vendor's file names rather than renaming the fonts +to the Standard TeX `Karl Berry' naming scheme. The choice +of font naming scheme is however not connected to the choice of +encoding. + +For each encoding LaTeX needs to know an `error font' which is its +fall back in the case that the font substitution system can find +nothing better to do. ly1enc.def specifies that the Error Font for +LY1 is Adobe Times Roman. This font is freely available from many +sources (for instance it is included with the Free Adobe Acrobat +reader) and so it seems the best choice as the error font. +If you do not have this, you may wish to edit the lines + +\DeclareErrorFont{LY1}{ptm}{m}{n}{10} +\DeclareFontSubstitution{LY1}{ptm}{m}{n} + +at the top of ly1enc.def to refer to some other font set. +For example if you have Y&Y TeX's `Lucida' distribution +You could change the two occurrences of {ptm} to {hlh} +Which will make LaTeX fall back on Lucida Bright if all else +fails. Note that the copyright is held on ly1enc.def. +This is the only change you should make to that file. + + +A Note on Lowercase Codes and Hyphenation Tables +================================================ + +The lowercase table is used by TeX's hyphenation algorithm, +so in principle one would need to change the lowercase table +to match the encoding used. However, it should not be changed +mid paragraph as all words, whatever font encoding they are +set in, are lowercased using the table current at the *end* +of the paragraph before being checked for hyphenation. +Because of these limitations in TeX's hyphenation algorithm, +LaTeX does not support changing the lowercase table mid document, +so if the texnansi package is used then the texnansi lowercase +table will be used for all fonts (whether or not LY1 encoded) +and conversely if it is not used, the T1 table will be used, even +for LY1 encoded fonts. The reason why this problem is not more +serious is that the majority of letters (as opposed to ligatures, +and symbols) that occur in LY1 occur in the same place in T1. + +The only letters that might possibly appear in a hyphenation table +that are in different positions in T1 and LY1 are: + +\oe (low position OT1 high new) +\ss (low position OT1 high new) +\v{s} +\v{z} +\l +\i OT1 (although *composites* such as \'\i are in T1 position + so this will only affect languages (Turkish?) that use + an unaccented \i) +\"{y} + + +It should be noted that for those symbols that occur twice in LY1, +the `high' copy is used if it coincides with the position used +in T1 (as in the case of \ae, \o) otherwise the `low' copy will +be used which will coincide with the OT1 position (\oe, \ss). +(Unless the setup for ansinew is enabled in which case the high +position is always used.) + + +Fortunately most hyphenation files for Western European languages +(I checked French, German and Danish) duplicate all the hyphenation +patterns using these letters so that the tables work with both T1 and +OT1 (and hence LY1) encoded fonts. However if you are using a language +that makes use of say, \ss, but the hyphenation patterns just refer to +\ss as ^^ff then you will need to copy the hyphenation file and edit +all occurences of ^^ff to refer to the new position; either +^^19 (for texnansi) or ^^df (for ansinew). + +The remaining letters that are in different positions, such as s caron, +may be dealt with similarly, although they are mainly used in Eastern +European languages. The LY1 encoding does not have as many glyphs +for Eastern European languages as T1, so for those languages most likely +this encoding is not suitable. (Of course TeX can produce all the +accented letters required, but the hyphenation algorithm can not work +with such constructed composites it can only work with composite letters +that actually occur in the font.) + +It would be a good thing if hyphenation tables did not refer to any +explicit character positions using the ^^ab notation, but rather always +accessed characters by control sequences such as \ss. This would allow +the remapping to be done via inputting a file such as ly1enc.def +rather than by editing the hyphenation file. However currently most of +the publicly available hyphenation tables unfortunately do `hard wire' +the T1 character codes in this way. + + +Copyright 1997 David Carlisle + 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 diff --git a/Master/texmf-dist/doc/fonts/ly1/texnansi.vec b/Master/texmf-dist/doc/fonts/ly1/texnansi.vec new file mode 100644 index 00000000000..9de28767a30 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/ly1/texnansi.vec @@ -0,0 +1,337 @@ +% Encoding: TeX typewriter and Windows ANSI + +% NOTE: This has *all* 228 glyphs found in `standard' plain text fonts +% It is thus a superset of Windows ANSI and Macintosh standard roman. +% Windows ANSI lacks 15 glyphs, while Mac standard roman lacks 21, +% Adobe StandardEncoding (ASE) lacks 21, and Cork encoding lacks 38. + +% NOTE: Uses (mostly) ASCII for 32 -- 126 +% Uses (some) `TeX typewriter' and `TeX text' for 0 -- 127 +% Uses (mostly) Windows ANSI (ansinew.vec) for 128 -- 255 + +% NOTE: since this encoding has special characters and accents +% mostly where plain TeX and LaTeX expect them, there is +% little need to change anything in the source file. +% Exceptions: dotaccent & hungarumlaut. + +% NOTE: However, to get the maximum benefit of this encoding add: +% \input texnansi.tex to your TeX source file - +% between \documentclass{...} and \begin{document} in case of LaTeX - +% after \usepackage{mathtimy} or \usepackage{lucidbry}. + +% NOTE: this encoding has accented characters - yet does not use +% Windows ANSI encoding. `On the fly' reencoding in DVIWindo / +% DVIPSONE can handle this. Otherwise, the font files have +% to be processed by SAFESEAC to protect accented/composite +% characters from ATM (both in Windows and on the Mac). +% The `encode.bat' batch file does this automatically. +% Note that this is *not* an issue when using Y&Y TeX System 1.2 +% or later --- since it supports `on the fly' reencoding. + +% NOTE: TeX text *does not* conform to ASCII except for letters and digits. +% As a result one loses the following from the 0 -- 127 range: +% quotesingle, asciicircum, asciitilde & grave. +% These have been inserted higher up to compensate +% (but the following are kept: braceleft, braceright, underscore, +% bar, quotedbl, less, greater, backslash). + +% NOTE: TeX text does not conform to Windows ANSI. So conversely, +% one must expect repeated encodings for the following: +% circumflex, tilde, dieresis +% (but not for: quotedblleft, quotedblright, +% exclamdown, questiondown, endash, emdash). + +% NOTE: TeX uses *ten* different hard-wired encodings, `TeX text' is just one. +% TeX uses *different* encoding for fixed-width fonts - `TeX typewriter' +% To avoid problems in verbatim environment we follow mostly the latter. + +% NOTE: Ideally, one should try and avoid 0 (null), 9 (tab), 10 (newline), +% 13 (return), 127 (delete) --- perhaps also 128, 255 (and use 32 *only* +% for space) since flakey software has trouble with some of these. + +% Revised 1996 June 1 by adding second position for `fl' to avoid Acrobat bug. +% Revised 1996 June 1 by adding second position for `fraction' for same reason. +% Revised 1996 Sep 1 by adding notes regarding `dieresis' preferred code 168. + +% Could use 1, 2, 3 for Eng and eng, or ct and st ligatures, or ... + +4 fraction % new position - to avoid problems with 9 (tab) +5 dotaccent % displaced from above (by underscore in 95) +6 hungarumlaut % displaced from above (by braceright in 125) +7 ogonek % added for convenience +8 fl % new position to avoid problem with 13 (return) +9 fraction % old position - for backward compatability + +% Some fonts do have *all* five f ligatures, although many have only fi and fl +% The following could go *anywhere*, since accessed *only* via ligatures + +11 ff +12 fi +13 fl % old position - for backward compatability +14 ffi +15 ffl + +% Accents, and `dotlessi' should be in hard-wired `TeX text' positions + +16 dotlessi % most text fonts have dotlessi, but not in ANSI +17 dotlessj % and few fonts have dotlessj... + +18 grave % rather than 96, ANSI position +19 acute % repeated in 180 +20 caron % not in ANSI +21 breve % not in ANSI +22 macron % repeated in 175 +23 ring % not in ANSI +24 cedilla % repeated in 184 + +% circumflex, tilde, dieresis - appear higher up, as in `TeX text' +% dotaccent, hungarumlaut, ogonek - appear lower down + +% Special characters should be in hard-wired `TeX text' positions + +25 germandbls % repeated in 223 +26 ae % repeated in 230 +27 oe % repeated in 156 +28 oslash % repeated in 248 +29 AE % repeated in 198 +30 OE % repeated in 140 +31 Oslash % repeated in 216 + +% Watch out: there are some serious departures from ASCII in `TeX text' + +32 space % TeX typewriter: visiblespace +33 exclam +34 quotedbl % TeX text: quotedblright (via pseudo ligature) +35 numbersign +36 dollar +37 percent +38 ampersand +39 quoteright % ANSI: quotesingle +40 parenleft +41 parenright +42 asterisk +43 plus +44 comma +45 hyphen +46 period +47 slash +48 zero +49 one +50 two +51 three +52 four +53 five +54 six +55 seven +56 eight +57 nine +58 colon +59 semicolon +60 less % Tex text: exclamdown (via pseudo ligature) +61 equal +62 greater % TeX text: questiondown (via pseudo ligature) +63 question +64 at +65 A +66 B +67 C +68 D +69 E +70 F +71 G +72 H +73 I +74 J +75 K +76 L +77 M +78 N +79 O +80 P +81 Q +82 R +83 S +84 T +85 U +86 V +87 W +88 X +89 Y +90 Z + +91 bracketleft +92 backslash % TeX text: quotedblleft (via pseudo ligature) +93 bracketright +94 circumflex % ANSI: asciicircum +95 underscore % TeX text: dotaccent --- UGH!!! +96 quoteleft % ANSI: grave + +97 a +98 b +99 c +100 d +101 e +102 f +103 g +104 h +105 i +106 j +107 k +108 l +109 m +110 n +111 o +112 p +113 q +114 r +115 s +116 t +117 u +118 v +119 w +120 x +121 y +122 z + +% endash and emdash can be *anywhere*, since only accessed via pseudo ligatures + +123 braceleft % TeX text: endash (via pseudo ligature) +124 bar % TeX text: emdash (via pseudo ligature) +125 braceright % TeX text: hungarumlaut --- UGH!!! +126 tilde % ANSI: asciitilde +127 dieresis % here for backward compatability - repeated in 168 + +128 Lslash % added for convenience +129 quotesingle % added for convenience (not in 39, ANSI position) + +130 quotesinglbase +131 florin +132 quotedblbase +133 ellipsis +134 dagger +135 daggerdbl +136 circumflex +137 perthousand +138 Scaron +139 guilsinglleft +140 OE + +141 Zcaron % added for convenience +142 asciicircum % displaced from below (by circumflex in 94) +143 minus % added for convenience +144 lslash % added for convenience + +145 quoteleft +146 quoteright +147 quotedblleft +148 quotedblright +149 bullet +150 endash +151 emdash +152 tilde +153 trademark +154 scaron +155 guilsinglright +156 oe + +157 zcaron % added for convenience +158 asciitilde % displaced from below (by tilde in 126) + +159 Ydieresis % no language uses this, but... + +160 space % nbspace +161 exclamdown +162 cent % as in ASE +163 sterling % as in ASE +164 currency +165 yen % as in ASE +166 brokenbar +167 section % as in ASE +168 dieresis % safe position - use this instead of 127 +169 copyright +170 ordfeminine +171 guillemotleft % as in ASE +172 logicalnot +173 hyphen % sfthyphen +174 registered +175 macron +176 degree +177 plusminus +178 twosuperior +179 threesuperior +180 acute +181 mu +182 paragraph % as in ASE +183 periodcentered +184 cedilla +185 onesuperior +186 ordmasculine +187 guillemotright % as in ASE +188 onequarter +189 onehalf +190 threequarters +191 questiondown +192 Agrave +193 Aacute +194 Acircumflex +195 Atilde +196 Adieresis +197 Aring +198 AE +199 Ccedilla +200 Egrave +201 Eacute +202 Ecircumflex +203 Edieresis +204 Igrave +205 Iacute +206 Icircumflex +207 Idieresis +208 Eth +209 Ntilde +210 Ograve +211 Oacute +212 Ocircumflex +213 Otilde +214 Odieresis +215 multiply +216 Oslash +217 Ugrave +218 Uacute +219 Ucircumflex +220 Udieresis +221 Yacute +222 Thorn +223 germandbls +224 agrave +225 aacute +226 acircumflex +227 atilde +228 adieresis +229 aring +230 ae +231 ccedilla +232 egrave +233 eacute +234 ecircumflex +235 edieresis +236 igrave +237 iacute +238 icircumflex +239 idieresis +240 eth +241 ntilde +242 ograve +243 oacute +244 ocircumflex +245 otilde +246 odieresis +247 divide +248 oslash +249 ugrave +250 uacute +251 ucircumflex +252 udieresis +253 yacute +254 thorn +255 ydieresis % no language uses this, but... |