Complete Composites

Addendum
February 2008

This update makes a few additions and corrections based on my experience of using CompleteComposites while editing my latest fonts. Think of it as a proposal for permanent changes to be incorporated into the next release of FontCreator.

Changes to Existing Definitions
(GlyphMapping 716) now uses an offset of -1% from WinDescent. This enables the use of Format, Settings, Metrics, Maximum, Recalculate to have some effect. Several other low glyphs now use the same positioning method. Some composites, e.g. ĥ ĺ ǩ ȟ Ṥ, use a similar offset from WinAscent for the same reason.
Now uses vertical line above (GlyphMapping 712) as its source. Only vertical line above needs to use the vertical line as its source. Other vertical line accents now use that as their source. Glyph 712 should be designed to match other accents like acute and caron.
Absolute Positioning (in u diaeresis macron GlyphMapping 470, and elsewhere) has been replaced with relative positioning. Auto cannot be used to position the upper accent vertically. Vertical spacing is now relative to the height of one of the accents.
Solidus Overlays (GlyphMapping 823, 824) now use forward slash.
to Now use Next instead of horizontal positioning. Spacing can be adjusted by changing the right side-bearing of the Tonos accent. Positioning in italic typestyles still needs manual adjustment.
(GlyphMapping 7757) and (GlyphMapping 7801) The acute accent is now positioned above the tilde accent by 25% of the acute accent’s height instead of 50% of the tilde accent’s height.
(GlyphMapping 8251) is now centered vertically on the CapsHeight to give it more space in bold typestyles. The dots are spaced more generously.
(GlyphMapping 8254) Now 20 funits above the TypoAscender instead of 120 funits above the CapHeight.
(GlyphMapping 8724) The dot (period centre) is now positioned half a dot height above the plus. This works better for fonts with different weights.
(GlyphMapping 8741) This no longer uses the metrics of the vertical line, which can be very narrow in some fonts. It now uses horizontal positioning and inherits left and right side-bearings from the vertical line.
(GlyphMapping 8760) The dot (period centre) is now positioned one dot height above the minus. This works better for fonts with different weights.
(GlyphMapping 8764) and other maths operators are now middle of xHeight instead of middle of CapHeight.

Corrections
Now uses Middle, former value Center was invalid for vertical positioning, and so was just ignored.
in the Private Use Area have been renamed to <!‑‑ ¶¶ Miscellaneous Ligatures → to avoid confusion with the character set of that name.
mapped to code-point 61132 should have been
(GlyphMapping 61145) corrected to (GlyphMapping 61144)
(GlyphMapping 61146) corrected to (GlyphMapping 61145)

New Additions
Capital Schwa (GlyphMapping 399): This merely scales lowercase schwa by 1.4. It will need to be decomposed and the weight will need to be reduced to match the font’s uppercase.
Greek Capital Theta (GlyphMapping 920), centres Iota on Omicron and scales Omicron vertically. Composite should be decomposed and the contours combined.
Greek Capital Phi (GlyphMapping 934), centres Iota on Omicron. Composite should be decomposed, the Iota must be rotated and resized by moving some nodes.
Ligatures bb, bg, ck, ey, gg, pp, PP use the mappings proposed by the Medieval Unicode Font Initiative, with the exception of , which is mapped to 61143 (proposed by MUFI for “Latin small ligature with flourish.” Ligature sp is far more common. Not knowing where it should go, this seems like the best option. I don’t think many users will make use of these ligatures. I have added ligatures ck and sp to my fonts and to the Miscellaneous Ligatures Glyph Transformation Preset, but I don’t propose to add these other ligatures, as they are only appropriate in Medieval fonts.
GlyphMapping 61150) and (GlyphMapping 61151) These two ligatures are found in Adobe’s fonts. I have used the otherwise unused code-points at the end of the MUFI block for non-structural ligatures. Adobe’s fonts also contain several more ligatures using ſ (long-s), but I don’t consider them worth adding to my fonts even though some are included in the MUFI proposal. I may add them to CompositeData later. They are: ſh, ſi, ſl, ſſ, ſſi, ſſl. Adobe fonts have ſb and ſk which are not in MUFI. Then ſä, ſõ, ſp, ſü, ſti, and ſtr are in MUFI, but not in Adobe’s fonts.

Not finding any real standards to follow, I have had to improvise. I am happy with this. If you think any of this is worth adding to the next version of FontCreator then at least the groundwork has been done.

To test the update, download CompositeData.xml, backup CompositeData.xml in your \FontCreator\Composites\ directory, and extract the update to that folder. XML files are plain text files that can be updated in any text editor, but a single typing error can prevent Complete Composites from working in FontCreator. XML files can be parsed to find errors by opening them in Opera.