Code: Select all
<Composite><!-- Unmapped Small Capital A -->
<GlyphName>a.smcp</GlyphName>
<Member id="1">
<GlyphMapping>65</GlyphMapping>
<UseMetrics>TRUE</UseMetrics>
</Member>
</Composite>
FontCreator now has an Anchor Based Composites feature. Anchor-based composites usually improve the positioning of diacritics, especially for italic typefaces.
Definitions of Latin character sets use combining diacritics wherever they available, only using modifier letter accents as fallback glyphs. One can add several different types of combining diacritics for use with anchored based composites and the legacy complete composites features.
- Combining diacritical marks such as gravecomb ($0300 hex, 768 decimal) or graveacute ($0301 hex, 769 decimal) are added to new fonts by default.
- Unmapped uppercase case-sensitive combining diacritical marks with suffix .case for use with Uppercase glyphs (formerly known as Low Profile Diacritics). These optional diacritics are designed to use less vertical space, and should be positioned vertically to suit Uppercase base glyphs. They will also be used, if available, for Small Capitals and Petite Capitals.
- Unmapped diacritical marks with suffix .narrow designed for use with narrow glyphs: I, i, J, j, lowercase l, and below lowercase r and t. These optional diacritics should be designed in the correct vertical position for lowercase, with the same weight as regular diacritics, but with glyphs that are about 80% of the width.
- Unmapped stacking diacritical marks with suffix .case for use with Uppercase Vietnamese composite glyphs in the Latin Extended Additional character set.
- Unmapped smaller diacritical marks with suffix .cap for use with Petite Capitals or Small Capitals. Dot below and commaaccent below, for example, will be used with glyphs that are not narrow.
Code: Select all
<Composite><!-- Unmapped Petite Capital i dieresis -->
<GlyphName>idieresis.pcap</GlyphName>
<Member id="1">
<GlyphName>i.pcap</GlyphName>
<UseMetrics>TRUE</UseMetrics>
</Member>
<Member id="2">
<GlyphName>dieresiscomb.narrow</GlyphName>
<GlyphName>dieresiscomb.case</GlyphName>
<GlyphName>dieresiscomb</GlyphName>
<GlyphName>dieresis</GlyphName>
</Member>
<AlignHorizontal>
<Source>
<Member>1</Member>
<Position>Center</Position>
</Source>
<Dest>
<Member>2</Member>
<Position>Center</Position>
</Dest>
</AlignHorizontal>
<AlignVertical>
<Source>
<Member>1</Member>
<Position>Top</Position>
<Offset>22.17%</Offset>
</Source>
<Dest>
<Member>2</Member>
<Position>Middle</Position>
</Dest>
</AlignVertical>
</Composite>
Since the code now uses glyph names, the correct spelling of the unmapped accents is critical. If it is incorrect, Complete Composites will not find them. Transform scripts will insert correctly named glyphs. Combining diacritics are named as acutecomb, gravecomb, etc., while the case-sensitive accents that are designed for Uppercase must have a suffix of .case, and must be positioned vertically for uppercase base glyphs. Narrow combining diacritics must have a suffix of .narrow, but must be positioned for lowercase glyphs, just like regular combining accents.
The horizontal position of diacritics is not critical as they are positioned horizontally by the code for base glyphs of different widths, but the advance width should be zero. Regular combining accents must be positioned vertically for lowercase glyphs. Diacritics are often centre-aligned vertically, but may be bottom-aligned. Use guidelines or the Transform Toolbar to aid with the correct positioning.
Complete Composites as a Design Aid
Many definitions in CompositeData.xml are intended just as an aid to design. The Per Mille Symbol, for example, is composed from Per Cent, and looks like this after composition:
This is obviously not how the final glyph is meant to look. The user must decompose it, and delete unwanted contours.