summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/psnfssx/em/em.txt
blob: 3c365673881aaa4c0499d88495abbc537e1d6a8d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
European Modern (EM)  package for LaTeX:
========================================

  CM style fonts - but with accented characters - in Adobe Type 1 format.

                                 Copyright 1997 Y&Y, Inc.
                                 Parts Copyright 1997 David Carlisle
Important Note:
===============

The LaTeX PSNFSS support files for "European Modern" (EM) fonts on
their own are not useful without the actual fonts.  The EM font set
itself is available from Y&Y, Inc.

Background:
===========

Do you:

    (1)  like the look of Computer Modern (CM) fonts;  but
    (2)  need ready-made accented characters for proper hyphenation; and
    (3)  need scalable outline fonts (a.k.a. `PostScript' or `ATM' fonts)?

Then the EM font set is for you.  The character shapes are from Computer
Modern, yet the glyph complement is much larger -- including numerous
ready-made accented and composite characters -- and the fonts are in 
scalable Adobe Type 1 format (as opposed to METAFONT based PK bitmaps).  

The EM fonts also satisfy the needs of non-TeX users desireous of the CM
look, because they appear to the operating system as plain vanilla text 
fonts, and so can be easily used with applications other than TeX.

The EM font set:
================

The EM font set contains 57 text fonts based on the text fonts in Knuth's
Computer Modern font (CM) set.  It also contains 13 math italic fonts based
on the math italic fonts in CM and AMS font sets. The EM text fonts 
have a much larger glyph set than the corresponding CM fonts.

Each CM text font has about 117 usable glyphs for text (plus eleven
Greek letters).  The EM fonts add over 90 ready-made composites and
numerous other `missing' glyphs to bring the total number of glyphs to
over 300.  This makes it possible, e.g., to use these fonts with 
T1 (Cork) encoding, or LY1 (TeX 'n ANSI) encoding, or LM1 (Textures) 
encoding. The AFM files show the actual glyph complement available.

Note that the EM fonts are set up as normal text fonts, unlike the CM fonts --
all of which have to be set up as pi/math/symbol/decorative/non-text since 
CM fonts use there own unusual character layout and do not have anywhere 
near the `standard' complement of 228 glyphs expected of a text font.  

Treated as text fonts, the EM fonts are reencoded to platform
specific encoding when installed on operating systems with
system-level support for scalable fonts, such as Windows and Macintosh.  
Consequently, for optimum use with TeX, you need a system that can
reencode fonts `on the fly' (or you need to `hard reencode' the PFB
and PFM files using the REENCODE and AFMtoPFM utilities, or use the
reencoding feature of psfonts.map for DVIPS when printing to PS printers). 

The EM text fonts are used in conjunction with some of the CM math fonts. 
CM math fonts do not contain upright uppercase Greek letters -- these are
normally taken from the roman text fonts (CMR* and CMBX*). Included in the EM
font set are EMMI* math italic fonts which have these irksome upright
uppercase Greek letters in character code positions 208 - 218.  Note that
this is the same scheme used in the MathTime font set, and similar to the
scheme used with the Lucida Bright + Lucida New Math font set when the Lucida
Bright Expert set is not available.

The names of the EM fonts are derived directly from those of the CM fonts.
So, for example, EMR17 is based on CMR17 --- with close to two hundred 
glyphs added. And EMMI10 is based on CMMI10 --- with upright Greek added.

Relation to the EC font set:
============================

The "European Computer Modern" (EC) font set was defined to add
ready-made accented characters to CM, including those needed for some
Eastern European languages. In order to make space for these
characters, many typographically important glyphs had to be banished
to "text companion" (TC) fonts.

The new EM font set differs from the EC font set in several ways:

(1) The EC font set is unmanageably large (500 to 600 fonts), making it
    unlikely that a well hinted version will become available, and 
    cluttering operating system files with font listings.

(2) The EC font set uses fixed encoding, just like CM fonts, except
    it is hard wired to T1/Cork encoding instead of OT1/TeX Text encoding.
    This means it is less flexible and harder to use with non-TeX applications.

(3) EC fonts are hard-wired for T1/Cork encoding.
    EM text fonts have a larger glyph complement covering several encodings
    including T1, LY1, LM1, Windows ANSI, and various ISO standard encodings.

(4) The metric files for EC fonts have a problem with kerning for
    quotation marks. The EM fonts are setup to deal correctly with 
    "boundary character" kerning for both left and right quotation marks.

(5) The metric files for EC fonts include a few errors, such as incorrect
    sign on a few kerning pairs. These have been fixed in the EM font set.

(6) The EM fonts use the old germandbls from the CM fonts instead of the 
    redesigned one in EC.

(7) The EM font metrics match the CM font metrics exactly for characters that
    occur in CM.  EC font metrics differ slightly from CM.

As a result EM is not a "drop in" replacement for EC - it is better.

NOTE: the following is largely adapted from David Carlisle's type1cm.txt

Using the LaTeX support for the EM font set
===========================================

The default way of using the `em' package is as a LaTeX package file.
Install em.sty as described below and then just add

\usepackage[T1]{em}		 or \usepackage[LY1]{em}	or \usepackage[LM1]{em}

to your document. This will override the definitions for all the fonts
and so the standard fd files are not used. This will cause LaTeX
to use the em fonts, and will also call the fontenc package to switch
to the requested encoding (T1/Cork, or LY1/TeXnANSI, or LM1/Mac).

Installation Instructions:
==========================

IMPORTANT NOTE: we supply a ready-made em.sty file so the following
`unpacking' is actually not normally needed; unless you require some
particular customization.

The installation is controlled by the file em.ins which you may want to
edit in two places.

1) If you do not have the AMS Font set available in scalable form then
   remove the `%' from the line           %\def\ams{}
   This will cause a more restricted font specification to be used.

   If you do not have the `AMS Extra' font set available in scalable form
   (i.e. msam6, msam8 and msam9 in addition to msam5, msam7 and msam10)
   then remove the `%' from the line      %\def\ams{ams}

2) If after reading the warning above regarding *.fd files, you decide to
   make a set of fd files, remove the `%'from the line     %\makefdtrue

Then run TeX (or LaTeX) on the file em.ins.  A package file em.sty (and
perhaps a set of fd files - see above) will be produced which you should
place in a directory where TeX looks for input files.  (Alternatively, add
the directory containing these files to the list in the TEXINPUTS 
environment variable; or the format specific environment variable LATEX).

Appendix A: Font sizing -- discrete or continuous?
==================================================

LaTeX separates its internal notion of font specification from the external
fonts available on the system by means of `Font Shape Specifications', that
are normally held in `Font Descriptor' (fd) files.

The fd files that come with LaTeX that refer to the standard Computer Modern
set (and the related AMS set) are based on the classical bitmap fonts which
are available in discrete `magstep' sizes only.  For instance, the
specification of the main roman font is

  \DeclareFontShape{OT1}{cmr}{m}{n}
   {  <5> <6> <7> <8> <9> <10> <12> gen * cmr
      <10.95> cmr10
      <14.4>  cmr12
      <17.28><20.74><24.88>cmr17}{}

which says that no font is available at 10.5pt (LaTeX will substitute the
nearest available size if you ask for this) and similarly the font is not
available at all above 25pt.

Such restrictions are essential with bitmap fonts to save generating huge
numbers of bitmaps for any size that might be requested, however with
scalable versions of the fonts these restrictions are not really needed. 
For instance the equivalent definition here is:

\DeclareFontShape{LY1}{cmr}{m}{n}{
        <-6>    emr5
        <6-7>   emr6
        <7-8>   emr7
        <8-9>   emr8
        <9-10>  emr9
        <10-12> emr10
        <12-17> emr12
        <17->   emr17
      }{}

which means that you can (although some may consider it bad style) go
\fontsize{10.345pt}{12pt}\selectfont and be given a suitably scaled version of
emr10 and a baseline setting of 12pt.  Similarly if you really want, you can
go \fontsize{2cm}{2.5cm}\selectfont and use emr17 scaled to 2cm height for a
special display context.

Appendix B:  Technical note about the Font Shape specifications used:
==========================================================================

David Carlisle consistently specifies that given a requested size, the
largest available font size smaller than (or equal to) the requested size
should be used and then enlarged to the requested size. The exception being
sizes smaller than the smallest available font, which use a reduced version
of that font.  The rationale for this is that enlarging a small font
typically produces a rather `fat' font, but something readable, whereas
shrinking a font may produce something unreadable quite quickly, particulary
since the strokes in Computer Modern - and hence European Modern - are
already quite thin.

So for msam (if `extra' is not specified) he used:

\DeclareFontShape{U}{msa}{m}{n}{
        <-7>    msam5 
        <7-10>  msam7
        <10->   msam10
        }{}

That is, for sizes strictly below 7pt use msam5, 7pt to (less than) 10pt
use msam7 and sizes 10pt and above use msam10.

This differs from the specification that the AMS use for the scalable
AMS fonts (used by the psfonts option to the amsfonts package). They use

\DeclareFontShape{U}{msa}{m}{n}{
       <-6>      msam5 
       <6-8>     msam7 
       <8->      msam10
  }{}

This scheme has the advantage of minimising the scaling used, so for instance
a 9pt request is satisfied by msam7 scaled up to 9 by this package, but by
msam10 scaled down to 9 by the AMS package.

In practice this is not likely to make a difference that anyone might notice,
but it could in principle affect line breaks etc, so David thought that it
should be mentioned here.

--------------------------------------------------------------------------------
(TM) European Modern is a trademark of Y&Y, Inc.  http://www.YandY.com
--------------------------------------------------------------------------------