|
  
Fine typography: Letters
Many of the effects defined in the Feature Registry are intended
to mimic the great old standards of typography. This and the following
chapters give a feature-by-feature description of the effects
in the Font Registry.
Letter Case
The Letter Case feature type is used to specify changes to the
case of letters (in scripts where case has meaning), in either
a contextual or a non-contextual manner. The settings of this
feature are exclusive: only one can be on at a time.
Upper and Lower Case
- Glyphs:
- None
- Effect:
- None
- Editor:
- TrueEdit will present a standard one-to-one non-contextual editor,
such as that used in the "Small Capitals" example. This editor should be left blank: the Upper and Lower Case effect
is used to remove other letter case effects, so it should not
apply any case changes itself.
- Notes:
- The Upper & Lower Case selector must be the default setting as
it leaves letters in whichever case the user has typed them. Selecting
"Upper and Lower Case" should have the effect of removing any
letter-case effects which have been imposed on text.
All Caps
- Glyphs:
- Lowercase and uppercase letters
- Effect:
- Substitutes uppercase glyphs for lowercase glyphs in all contexts.
- Editor:
- A standard one-to-one non-contextual editor, as shown in Example
1: Small Caps.
- Notes:
- If a glyph is not associated with its uppercase form in this table,
it cannot be converted to uppercase by the "All Caps" effect.
Any glyphs which do not have an uppercase form, such as ligature
characters which were directly entered by the user, will be left
unchanged and in lowercase.
![[Sticky!]](Sticky.gif)
Capitalisation effects cannot split up ligatures, so it is important
that the 'mort' table is laid out in such a manner that capitalisation occurs
before ligature formation.
All Lower Case
- Glyphs:
- Lowercase and uppercase letters
- Effect:
- Substitutes lowercase glyphs for uppercase glyphs in all contexts.
- Editor:
- A standard one-to-one non-contextual editor, as shown in the "Small Capitals" example.
Small Caps.
- Glyphs:
- Lowercase and small capital letters
- Effect:
- Substitutes small capital glyphs for lowercase in all contexts.
- Editor:
- Shown in "Small Capitals" example.
- Notes:
- In addition to small caps for the standard Roman alphabet set,
the international glyphs and punctuation, if present in a small
caps form, should be included in this table. Don't forget about
oe and ae diphthong ligatures and lesser-used letters such as
eth and thorn.
Because the Macintosh character set includes fi and fl ligatures
which can be directly typed by the user, you will need to provide
two rather odd glyphs: small caps versions of the fi and fl ligatures.
- Using a font editor, copy the small cap outlines of F and L next
to each other into a single glyph location. Repeat for F and I.
- Using TrueEdit, map the standard Macintosh characters "fi" (shift-option-5)
and "fl" (shift-option-6) to these new glyphs. This is so that
when users select a stream of text which has these <shift-option>
ligatures in it, a small cap version of FL and FI will be available.
- Note that these pseudo-ligatures are only used for directly-entered
fi and fl ligatures and not those created by GX from normal text.
If the mort table is correctly laid out, capitalisation should
occur before ligature formation, and since no capital or small-caps
ligatures are defined in the ligature table, no ligatures will
be formed.
Initial Caps
In this effect, each individual word is given a capital letter,
as shown below:

- Glyphs:
- Lowercase, uppercase, word delimiters
- Effect:
- When a lowercase glyph immediately follows a word delimiter, that
glyph's uppercase form is substituted for the lowercase glyph.
- Editor:
- A unique contextual editor with three live areas:
The editor has three live areas: for Spaces, for Lower, and for Upper. You can put entries into the Upper column only one at a time.
-
- Notes:
- This setting is intended to convert lower-case letters at the
beginnings of words into upper-case. The idea is, a Lower immediately
preceded by a Space will be changed to an Upper. Thus, spaces
really should contain anything that delimits a word, including
punctuation such as the open parenthesis shown above.
-
- Also note that there are no exceptions to this behavior, so standard
titling capitalization (ie., "of", "the" etc. left in lowercase)
won't result.
Initial Caps and Small Caps
This effect is a combination of the "Initial Capitalisation" and
"Small Capitals" effects: each word in the text is capitalised,
then the lower case letters are replaced with small capitals.

- Glyphs:
- Lowercase, small caps, word delimiters
- Effect:
- When a lowercase glyph immediately follows a word delimiter that
glyph is capitalised, other lower-case glyphs are replaced a small
cap glyph for the lowercase glyph.
- Editor:
- TrueEdit 1.0 does not support this effect.
Ligatures
A ligature is a single symbol which represents two or more characters in
ordinary type.
The Ligatures feature type permits selection from different ranges
of ligatures. These settings are cumulative: the user can have
any combination on or off.
Required Ligatures
- Glyphs:
- Component glyphs, ligatures
- Effect:
- When the component glyphs (up to three) occur together in sequence,
a ligature glyph is substituted for the sequence.
- Editor:
- Shown in the "Common Ligatures" example.
- Notes:
- This setting should be used only for ligatures which are linguistically
required (such as in Arabic).
- Also, "required" doesn't mean that when the user sets this option
the application program says to itself "Oh, ligatures are required
for setting this text; I had better find a font with ligatures
in it". The font is in control: this effect means "ligatures are
required to use this font properly"
Common Ligatures
Common ligatures are ligatures which occur automatically for typographic
reasons and should be in every GX font:
- Glyphs:
- Component glyphs, ligatures
- Effect:
- When the component glyphs (up to 3) occur together in sequence,
a ligature glyph is substituted for the sequence.
- Editor:
- Shown in the "Common Ligatures" example.
- Notes:
- This effect should be used for ligatures which usually appear
in well-set text.
-
- Although pre-desktop typographic standards would say that ligatures
such as those classed here as "common" are just as much required
for fine Roman typography as anything could be, the lower standards
of the typewriter era have prevailed, and these are left as a
user option. However, the effect is easily selectable.
-
- Even though "Common Ligatures" does not imply a default condition,
you can still have this effect on by default. If you feel strongly
enough about it, you can hack the 'mort' table using the hex editor to guarantee that the common ligatures
cannot be turned off.
Rare Ligatures
Rare ligatures are glyphs which are ornamental and interesting,
but should be used with discretion. For a serif font they include:

For a sans-serif face they include:

These are, of course, particular to an individual font design
and the designer's taste: becuase these are purelyornamental ligatures, there is no requirement for all or any of these ligatures
to be present in a font.
- Glyphs:
- Component glyphs, ligatures
- Effect:
- When the component glyphs (up to three) occur together in sequence,
a ligature glyph is substituted for the sequence.
- Editor:
- A standard many-to-one ligature editor, as shown in the "Common Ligatures" example.
- Notes:
- This setting should be used only for decorative or unusual ligatures.
One way of deciding which ligatures are "common" and which are
rare is to class as "common" those ligatures which replace glyphs
which would otherwise collide or kern badly. Any other ligatures,
such as those with odd forms or prominent connecting strokes (such
as "ct") can be grouped together as "rare".
When using a font which contains ligatures the "Common" ligatures
will normally be turned on, while "Rare" ligatures will be usually
turned off.
Logos
![[Sticky!]](Sticky.gif)
- Glyphs:
- Component glyphs, ligatures
- Effect:
- When the component glyphs (up to three) occur together in sequence,
a logotype glyph is substituted for the sequence.
- Editor:
- A standard many-to-one ligature editor, as shown in the "Common Ligatures" example .
- Notes:
- This setting should be used only for ligatures representing logotypes
(e.g. trademarks).
Rebus Pictures
![[Sticky!]](Sticky.gif)
- Glyphs:
- Component glyphs, ligatures
- Effect:
- When the component glyphs (up to 3) occur together in sequence,
the sequence is replaced with a rebus picture glyph. For example
the word "I" could be replaced with a picture of an eye.
- Editor:
- A standard many-to-one ligature editor, as shown in the "Common Ligatures" example.
- Notes:
- This setting should be used only for ligatures that are pictures
representing whole words or syllables.
Diphthong Ligatures
Diphthong ligatures include: oe ae AE OE.

- Glyphs:
- Component vowels, diphthongs
- Effect:
- When the component glyph pair occurs in sequence, a diphtong ligature
glyph is substituted for the sequence.
- Editor:
- A standard many-to-one ligature editor, as shown in the "Common Ligatures" example.
- Notes:
- Diphthongs are single glyphs which combine two vowels (although
the editor is the same as the others and can take three inputs
if forced). Unlike most ligatures, however, diphthongs often have
a particular linguistic relevance. The most common ones are æ,
oe, AE, and OE. Different languages treat diphthongs differently.
This effect lets fonts form them automatically without making
the user know the hidden keys.
-
- When using diphthongs, however, the system is not very clever.
Because it cannot have Greek, Latin, Dutch, French, and miscellaneous
Scandinavian dictionaries inside, a dipthong is applied for every
occurance of the corresponding vowel pair, and not just those
in specific words. What happens in a sentence like
"At the hoedown, between dances, Boethius talked about the Boer
war, and I told him how Caedmus brought the alphabet to Boeotia."
is up to the user - normally he or she would select words which
should have diphtongs (or even individual pairs of letters) and
apply the "Diphtong Ligatures" effect just to those selections.
-
- The adventurous can, of course, add contextual diphthongs via
the hex editor.
In addition to all of the above, some ligatures may lend themselves
to having alternate swash forms, for line endings or beginnings,
such as: ft, ct, st, nt, tt, oe, ae, AE, OE. Thus, in the general
order of the 'mort' table effects, diphtong and ligature formation should come before
swashes.
Overlapping Characters
The Overlapping Characters feature is intended to provide "clean-up"
assistance to fonts which find themselves with too many swashes
which run over each other. The feature has one setting, which
can be either on or off.
The Overlapping Characters feature type permits the user to prevent
the collision of long tails on characters with other characters.
It is typically used in combination with the Smart Swashes feature,
discussed in a later section.
Prevent Overlap
Example

Glyphs:
- Swash forms, normal forms, colliders
- Effect:
- When a swash form glyph is followed by a collider glyph within
a specified number of glyphs (determined by the threshold), the
normal glyph is substituted for the swash form glyph.
- Editor:
- As shown in the "Prevent Overlap" example.
- Notes:
- This feature allows only the left-hand glyph to revert to a normal
form. That's because of the way TrueEdit implements it. You could,
however, make a corresponding table processed in descending glyph
order to handle the right-hand glyph, then use the hex editor
to tie them together.
Typographic Extras
The Typographic Extras feature type represents a collection of
small effects that are associated with fine typography.
The features are cumulative: none, all, or any combination may
be on at one time.
Hyphens to Em Dash
This feature is designed to address the long-held typewriter practice
of representing a long dash by two hyphens by changing them to
match the typographic practice of using the long dash.
- Glyphs:
- Hyphen, em dash
- Effect:
- When two hyphen glyphs appear together, they are replaced with
a single em-dash glyph.
- Editor:
- A dedicated editor with two live areas, for exactly two glyphs:
the hyphen and the em dash.
Hyphen to En Dash
This feature is designed to automate two uses of the en dash.
An en dash is used, with spaces on either side, to represent a
pause or to set off a clause. It is also used, without spaces
on either side, to represent a range of numbers or dates.

- Glyphs:
- Hyphen, em dash, spaces, digits
- Effect:
- When a hyphen glyph occurs between two space glyphs or between
two digit glyphs, substitute the en dash glyph for the hyphen
glyph.
- Editor:
- A dedicated editor with four live areas:
The top two areas are reserved for two specific glyphs: the hyphen
and the en dash. On the bottom is an area for spaces, and on the
right for digits. Remember to include breaking and non-breaking
space glyphs, and all cases of numerals present in the font.
- Notes:
- The Mathematical Extras setting "Hyphen to Minus" also affects
a hyphen which occurs between spaces. If both effects are on,
then whichever one is first in the '
mort' table will win.
Unslashed Zero

- Glyphs:
- Slashed zero, unslashed zero.
- Effect:
- Substitutes unslashed zero glyphs for slashed zero glyphs in all
contexts.
- Editor:
- A standard one-to-one non-contextual editor, as shown in the "Small Capitals" example.
- Notes:
- This feature is intended for use with some programming-oriented
fonts which have a slash through the glyph for the digit zero.
This slash helps distinguish the zero from other similar glyphs
(such as the capital letter O), but in cases where there is little
ambiguity it is preferable to use the unslashed zero.
This setting makes sure the unslashed zero is always used, even
if the font designates the slashed zero as default. Of course
use of this effect assumes that the unslashed zero actually exists
in the font.
On the other hand, if the font has a slashed zero, but the designer
wishes to have theunslashed zero as the default zero glyph, then the "Unslashed Zero"
feature must be turned on by default. This will mean that non-GX
users will get a slashed zero, rather than the unslashed one,
but that's something they'll just have to live with until they
upgrade.
Form Interrobang

- Glyphs:
- Exclamation mark, question mark, interrobang
- Effect:
- When an exclamation mark glyph and a question mark glyph appear
together (in either order), a single "interrobang" glyph is substituted
for the pair.
- Editor:
- TrueEdit 1.0 does not support this effect.
- Notes:
- The interrobang is a punctuation mark invented in the 1960s which combines the
form and the sense of an exclamation mark (or "bang") and a question
mark (or "interrogation mark"). The name is pronounced "interro'bang", incidentally.
Smart Quotes
This feature is designed to address the typewriter practice of
using neutral quotes instead of the more appropriate "curly" quotes.

- Glyphs:
- Neutral quotes (' "), open quotes, close quotes, spaces.
- Effect:
- All neutral quote glyphs are changed to either open quote glyphs
or close quote glyphs. When a neutral quote glyph appears after
a space glyph or after an open quote glyph, it is changed to an
open quote glyph. Otherwise, it is changed to a close quote glyph.
- Editor:
- There is no editor for this effect. TrueEdit collects the necessary
information automatically when you add the effect.
-
- TrueEdit uses the standard Roman TrueType glyph ordering to identify
the neutral quote, open quote, and close quote glyphs. It uses
the font's properties table (
prop) to identify the spaces and other whitespace glyphs. If the font
has no properties table, TrueEdit can also use the standard glyph
ordering to identify the whitespace glyphs. If this happens, you
will see the message below:
Because TrueEdit depends on the standard Roman glyph ordering
to implement this effect, it is not recommended for non-Roman
fonts.
-
Notes:
- Apostrophes are neither recognised nor handled by this effect:
in most cases an apostrophe is treated as a neutral quote, which
gives correct results for possessive cases of nouns and for contractions.
Words which begin with an apostrophe, such as abbreviations like
'cos, are not handed correctly (the apostrophe is changed to an
opening quote). Fortunately, such words are rare in written English.
This is just as well, because the Smart Quotes feature makes it
very difficult for the user to insert proper apostrophes manually
in these cases, although as a last resort, the keyboard "closing
quote" character (shift-option-]) can be used.
The results of the Smart Quotes effect are typographically correct
for most English language usage, but may not be correct for other
languages. Even if the other language uses the same punctuation
for quotation as English, the problem of words starting with apostrophes
still arises.
Unfortunately, quotation marks are the one typographical feature
that varies wildly, even across closely-related European languages.
Currently, TrueEdit's implementation of the Smart Quotes feature
has no concept of non-English language punctuation, so users of
these languages may still have to put in quotes manually when
using fonts developed with TrueEdit.
  
The Apple Fonts Group (applefonts@apple.com)
|