Skip to main content

FontCreator Tutorials

Arabic Font Design

written by Erwin Denissen, published March 17, 2020

This tutorial is aimed at FontCreator, but it provides a lot of information that can be used with other font editors. FontCreator, like any other font editor, is mainly used to design Latin based fonts, but our font editor also comes with advanced tools required for the development of Arabic fonts, covering Arabic, Farsi, Malay, Sindhi, Uighur, and Urdu. The OpenType Designer along with our native shaping engine and interactive OpenType layout proofing allow you to create, edit, and test complex script fonts.

Contextual Forms

Since most Arabic characters connect, the visual appearance depends on the character context. In general letters have four contextual forms:

  • isolated
  • initial
  • medial
  • final

In a non-joining context, the isolated form is used. The initial form is used as starter of a joined group of letters, the last letter uses the final form, and all characters in between use a medial character form.

Since most Arabic letters come in all four forms, there are a lot of characters and glyphs needed. Fortunately, numerous glyphs can make use of outlines from other glyphs, and FontCreator can help generate them using composite glyphs and anchors.

We will now create a new font, Arabic Starter.

The new font comes with over 200 (mostly Latin) characters. Usually you want to keep those, but to keep things simple, we remove all but the first two and manually add some Arabic letters.

FontCreator uses smart glyph naming, so if you know the names, you can quickly add them to your font. We use the Insert Glyphs window to add teh-arab, which is the isolated form. Since we want it to make use of other glyphs, we add those as well. Ensure Ranges is not checked, as that would conflict with glyph names that contain hyphens.

teh-arab = dotlessbeh-arab + twodotsabove-arab

We now add outlines to the glyphs. Click the Free Draw icon to quickly draw an outline. There are other ways to make and refine it, but for this tutorial we do it the easy way.

When you are satisfied with the result, click the Convert to contours button. You might want to change the right side-bearing by clicking and dragging the right-most vertical dotted line. While we are still in the Glyph Edit window, we open the Anchor Manager (available from the Font menu) and add a new anchor class named top-arab. This class can now be used to define top anchor marks to position marks on base glyphs.

Still within the Glyph Edit window, we right-click above the dotlessbeh-arab outline and select Add Anchor… to add a Base anchor.

You can now click and move the anchor to reposition it to your liking, and when satisfied close this glyph edit window.

Within the font overview window double-click glyph twodotsabove-arab to edit it in a Glyph Edit window and use Free Draw to make the outline.

This glyph will be used as a mark, so right-click slightly below the outline to add a mark anchor. Since other marks can be placed on top of this mark, we also add a base anchor above the outline. So you end up with both a base and a mark anchor.

You can now close this window, and if all went well, you should be pleased with the result so far, as teh-arab is now also completed!

This is a great start, and it allows us to add the other character forms for teh-arab. Once again we go to the Insert Glyphs window.  We first insert the dotless variants as those will be used to make the character forms:

teh-arab.init = dotlessbeh-arab.init + twodotsabove-arab
teh-arab.medi = dotlessbeh-arab.medi + twodotsabove-arab
teh-arab.fina = dotlessbeh-arab.fina + twodotsabove-arab

Now add outlines to the first three (the dotlessbeh forms) and don’t forget to add base anchors to them.

To be continued soon...