>

This is part of the old website. New website begins at fontforge.github.io

Are you a web developer? Help us migrate this page on Github

Building Accented and other Composite Glyphs

You can use the Element->Build->Build Accented Glyph command to build up accented glyphs. Or you can use Element->Build->Build Composite and build slightly more general composite glyphs (ligatures and so forth). The accented version will not create ligatures and will not replace Alpha with A. The composite version will do both these things. My assumption is that ligatures (like the "fi" ligature) usually need a bit of work on the user's part to get them to look good, in the case of "fi" the dot on the "i" needs to be fused into the hook of the "f", and if you are careless with the command you might destroy your work inadvertently.

What can be built?

So for each selected glyph in the font view (or for the current glyph in the outline view), and if all the base glyphs and accents needed by the glyph have already been created then this command will delete anything that is in the current layerand put a reference to the base glyph and another reference to the accent glyph into the foreground. So if the current glyph were "À" then a reference to "A" would be added to it, and a reference to "`" would be centered above the "A".
If Copy From is set to All Fonts then any bitmaps will have a similar process done -- that is to say, bitmap references will be created (even in the outline glyph view).

Choosing accents can be a slightly tricky process. Unicode says that accented letters are logically built out of the accents in the range 0x300-0x340, but this does not work too well in postscript. A Type1 font works better if the accented glyph is in the Adobe Standard Encoding, which means either using accents around 0x2d0 or ascii glyphs. FontForge will first attempt to find an accent around 0x2d0, then in ascii and finally in the 0x300-0x340 range. Even worse, Unicode unifies the greek and latin accents, so for greek letters FontForge will look for accents around 0x1fbd (FontForge will also require the presence of the double accents like 0x1fdd).

Some of Adobe's fonts have accents designed for use over upper case letters (the nomal accents are designed for lower case), and accents designed for use over cyrillic letters. So in such a font, if you attempt to build "Agrave" FontForge will build it out of "A" and "Grave" (or "grave.cap", not the standard "grave").

Not all accents should be centered above the base glyph, a cedilla is (usually) centered underneath the base, while other accents need to be placed to the left or right, or even overstruck. FontForge should know about proper placement of most accents (or at least a rough approximation thereto).

Some Unicode glyphs contain more than one accent. Additional accents will be treated similarly. This command can also be used to generate more general composite glyphs .

Some accents (for example cedilla) are treated unexpectedly on certain letters (different ways in different languages), so be careful of g-cedilla. Å often merges the ring into the top of the A, but here it will float above it. Be alert.

Placing an accent above a glyph is surprisingly tricky. Centered accents (like grave, acute, etc.) should not really be placed in the exact center of the glyph. For instance when placing an acute accent on top of an "a" the accent should actually go above the highest part of the "a" which is almost but not quite in the center of the glyph. And when placing an acute on top of a "k" (a rare combination, but still used) the accent is centered on the stem of the "k". Greek accents are even more baroque. FontForge knows many oddities of accent placement, but it will never know all of them (some letters have multiple forms depending on the font, or perhaps on the humidity and phase of the moon).


Center point of the glyph


Highest point of the glyph

And how accents are centered depends on the accents themselves. Usually FontForge will try to center an accent so that the accent's center is over the base glyph's "center". But that doesn't always work either. The grave and acute accents are usually (but not always) centered only on the bottom part of the glyph.


Midpoint of accent


Centered on base of accent

FontForge gives you a minuscule amount of control over where it puts accents. There are two preference items you can set (File->Preferences)

NOTE: So FontForge is going to do something wrong. There are just too many areas where I am ignorant or my taste doesn't match yours or the program has a bug. I strongly recommend that you examine all your accented glyphs after building them and be prepared to adjust things.

The algorithms take some account of the italicangle, but when working on an italic (or oblique) font FontForge is even more likely to do something you don't like.

If all else fails you can build your own accented glyphs with Edit->Copy Reference and Edit->Paste

-- Element Menu -- TOC -- Tutorial --