Accented Characters: Most efficient path to composites

Discuss FontCreator here, please do not post support requests, feature requests, or bug reports!
Post Reply
outofstepfontco
Posts: 72
Joined: Sun Feb 22, 2015 4:35 pm
Contact:

Accented Characters: Most efficient path to composites

Post by outofstepfontco » Tue Jun 25, 2019 3:09 pm

Hi
I recently upgraded to FontCreator 12 and am struggling to develop an efficient workflow for accented characters. Here are my two options right now:

Edit CompositeData.xml
I can edit CompositeData.xml to:
  • align most accents to the center of the base glyph
  • apply a left or right offset to grave and acute based on a percentage width of the accent
This is a lot of work upfront, but I did do it for my last version of FontCreator. This method applies a blanket solution to all fonts, and in my experience can require a lot of adjustment after the fact. However it breaks down every time a new version of FontCreator is released.

Anchor Based
The work would be limited to the setting the attachment points on the base glyphs and the combining accents for top and bottom on most glyphs, cedilla and comma accent / ogonek for others. Complete Composites would be limited to "Anchor Based".
It would have to be repeated for every font, or the glyphs would have to be dropped onto the fixed anchors and bearings set accordingly. Minimal follow up work is expected.

Balanced Approach
Under this approach, I would make minimal edits to CompleteComposites.xml, run Complete Composites from Composite Data, review the results, and then add anchors to Base and combining diacritics only as necessary.

Which method works fastest? Which one are you using? Do you have an even better method?
FC12.0 Professional

Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 8344
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Accented Characters: Most efficient path to composites

Post by Bhikkhu Pesala » Tue Jun 25, 2019 3:46 pm

I think the quickest method is to use guidelines to align accents manually after using Complete Composites with the help of guidelines. It is not precise and takes some care to maintain consistency, but it takes no preliminary work. Editing CompleteComposites.xml is probably best avoided unless you need to add definitions for unsupported composites. Edits that work better for some fonts may not work as well for other fonts or other font styles. If you're comfortable with editing code it can save time, but if you make a small typo it can break the feature completely.

If you're adding anchors, then Anchor Based composition does it automatically. It works better across different fonts and type styles, but there are exceptions where the optical centre of a glyph is not at its geometric centre. These exceptions need some work adjusting the anchor points after composition. Use Auto Attach for these composites.

I am still learning how to make the most of Anchor Based composition. There are several preliminary steps needed for it to work as designed.
  1. Correctly named combining diacritics must be added to the font. The size and vertical position of these glyphs must be correct. The advance width must be zero.
  2. Tools menu, Glyph Names, Generate should be used. Small Capitals, Petite Capitals, etc., can be renamed quickly using Find and Replace Glyph Names on selected glyphs.
  3. Code-points in the Private Use Area are no longer needed for alternate glyphs, but Complete Composites now relies on glyph names being correct.
  4. Auto Attach should be enabled for composites if the anchors of the base glyphs need editing
  5. Important: Importing scripts from other fonts will remove all anchors unless the OpenType features for Anchor Based Positioning are included. When working on a set of type styles, I export scripts and import them into other styles to avoid duplicating work on adding/editing OpenType features.
My FontsReviews: MainTypeFont CreatorHelpFC12 Pro + MT9.0 @ Win10 1903 build 18362.356

Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 8344
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Accented Characters: Most efficient path to composites

Post by Bhikkhu Pesala » Tue Jun 25, 2019 4:08 pm

Adjusting Anchors for Optical Centre

After using Anchor Based glyph composition, for some glyphs the anchors may need adjustment. I use snap to guidelines to make it more consistent and quicker.
Adjust Optical Centre.png
Adjust Optical Centre.png (12.01 KiB) Viewed 459 times
Adjusting Anchors to Reposition Stacking Diacritics

If you prefer to design your fonts differently to the default, move the anchors horizontally and vertically.

Default Position
Default Position.png
Default Position.png (1.97 KiB) Viewed 459 times
My Preferred Position
Adjusted Position.png
Adjusted Position.png (2.04 KiB) Viewed 459 times
Adjusted Anchor Position
Adjusted Anchor.png
Adjusted Anchor.png (19 KiB) Viewed 459 times
My FontsReviews: MainTypeFont CreatorHelpFC12 Pro + MT9.0 @ Win10 1903 build 18362.356

outofstepfontco
Posts: 72
Joined: Sun Feb 22, 2015 4:35 pm
Contact:

Re: Accented Characters: Most efficient path to composites

Post by outofstepfontco » Tue Jun 25, 2019 4:52 pm

Bhikkhu Pesala wrote:
Tue Jun 25, 2019 3:46 pm
I think the quickest method is to use guidelines to align accents manually after using Complete Composites with the help of guidelines. It is not precise and takes some care to maintain consistency, but it takes no preliminary work.
I agree if the context is a low volume of fonts and successful changes in weight. Weight changes in FontCreator generate a lot of intersection artifacts, and Illustrator's stroke tool is generally better, so I've been relying on Illustrator. If I have to decide between manually adjusting accents in 4+ weights, sans and serif versions, I'd choose selective editing of CompleteComposites.xml to center-align the easy ones first, and then go from there.
Bhikkhu Pesala wrote:
Tue Jun 25, 2019 3:46 pm
If you're adding anchors, then Anchor Based composition does it automatically. It works better across different fonts and type styles, but there are exceptions where the optical centre of a glyph is not at its geometric centre. These exceptions need some work adjusting the anchor points after composition. Use Auto Attach for these composites.
If you're setting the anchors yourself, then you can accommodate for non-geometric centers. FontCreator doesn't have an easy way to add a large volume of anchors though. For example, at least being able to select all capitals and assign a top anchor at the same height. Each top anchor needs to be added manually, and they can't be copied between glyphs.

This is where CompositeData.xml dominates, because if you are creating many different fonts, it can assign diacritics based on different x heights. For anchors, you have to assign anchors one at a time, two coordinates each, for every glyph, for every font.

Ideally we need to be able to write expressions to generate anchor locations into a master file, that assigns anchors based on bearings, glyph width, and x-height / cap height.
FC12.0 Professional

Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 8344
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Accented Characters: Most efficient path to composites

Post by Bhikkhu Pesala » Tue Jun 25, 2019 5:16 pm

outofstepfontco wrote:
Tue Jun 25, 2019 4:52 pm
FontCreator doesn't have an easy way to add a large volume of anchors though.
It does. Anchor Based composition does that and it mostly positions them correctly for the font. A couple of exceptions are Øslash and øslash where the top is the top of the slash, rather than Cap Height or x-Height as it is for O Caps and o lowercase. Ohorn and Uhorn anchors are positioned wrongly both horizontally (geometric centre) and vertically (top of horn). These exceptions are easily fixed by using Auto Attach and manually adjusting a few anchors.

Centre aligned is already the default for complete composites. <Pos>Auto</Pos> adjusts for the italic angle. Grave and Acute are intentionally offset from the centreline by 1/6th of the accent's width.
Grave Offset.png
Grave Offset.png (20.51 KiB) Viewed 448 times
If you want smaller accents (formerly called Low Profile diacritics) for capitals, or narrow accents for narrow base glyphs, you need to add the correctly named additional accents for complete composites to use.
Additional Combining Accents.png
Additional Combining Accents.png (34.06 KiB) Viewed 450 times
My FontsReviews: MainTypeFont CreatorHelpFC12 Pro + MT9.0 @ Win10 1903 build 18362.356

outofstepfontco
Posts: 72
Joined: Sun Feb 22, 2015 4:35 pm
Contact:

Re: Accented Characters: Most efficient path to composites

Post by outofstepfontco » Tue Jun 25, 2019 8:19 pm

Bhikkhu Pesala wrote:
Tue Jun 25, 2019 5:16 pm
It does. Anchor Based composition does that and it mostly positions them correctly for the font. A couple of exceptions are Øslash and øslash where the top is the top of the slash, rather than Cap Height or x-Height as it is for O Caps and o lowercase. Ohorn and Uhorn anchors are positioned wrongly both horizontally (geometric centre) and vertically (top of horn). These exceptions are easily fixed by using Auto Attach and manually adjusting a few anchors.

Centre aligned is already the default for complete composites. <Pos>Auto</Pos> adjusts for the italic angle. Grave and Acute are intentionally offset from the centreline by 1/6th of the accent's width.
I looked into this you're right, Complete Composites can be used to get anchors created on your base glyphs. I deleted out my existing base glyph anchors to see where FontCreator places the anchors. For symmetrical glyphs (A, O), FontCreator does not add the Top anchors to the centerline of the outline, of the bounding box, of the advance width - it's consistently a few percent off. For square glyphs (E, N, H), the Top anchor is being added far in the top right quadrant, nowhere near the centerline.

Is there documentation on how to control where these anchors are added?
FC12.0 Professional

Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 8344
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Accented Characters: Most efficient path to composites

Post by Bhikkhu Pesala » Tue Jun 25, 2019 8:40 pm

There is no way to control the auto-generation of anchors. The position of the anchor depends on the shape of the glyph. For a symmetrical italic glyph the anchor is centred accurately, with half pixels being rounded up.
Anchor Placement.png
Anchor Placement.png (11.92 KiB) Viewed 440 times
The anchor is placed at 862, which is half way between the nodes at x = 556 and 1167

If you want to share a font project, we can look at it to see if anything can be improved.
My FontsReviews: MainTypeFont CreatorHelpFC12 Pro + MT9.0 @ Win10 1903 build 18362.356

Erwin Denissen
Moderator
Moderator
Posts: 8269
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Re: Accented Characters: Most efficient path to composites

Post by Erwin Denissen » Tue Jun 25, 2019 8:58 pm

Erwin Denissen
High-Logic
Proven Font Technology

outofstepfontco
Posts: 72
Joined: Sun Feb 22, 2015 4:35 pm
Contact:

Re: Accented Characters: Most efficient path to composites

Post by outofstepfontco » Wed Jun 26, 2019 8:18 pm

Bhikkhu Pesala wrote:
Tue Jun 25, 2019 8:40 pm
There is no way to control the auto-generation of anchors. The position of the anchor depends on the shape of the glyph. For a symmetrical italic glyph the anchor is centred accurately, with half pixels being rounded up.

Anchor Placement.png

The anchor is placed at 862, which is half way between the nodes at x = 556 and 1167

If you want to share a font project, we can look at it to see if anything can be improved.
Is that an H? Because my copy of FontCreator doesn't centre the top anchor on an H.
I've attached a base N showing where the anchor has been generated. The result: N tilde is always accented far to the right.

E and U are similarly anchored to the right well. So if I anchor the tilde on the far right, to match the N, E, and U, then the tilde appears far too left on the uppercase A. If I set the anchor in the center of the tilde to match the base A, then the N, E, and U tildes are far right.
Attachments
OSFC-FC-Renown-N.png
OSFC-FC-Renown-N.png (24.35 KiB) Viewed 411 times
FC12.0 Professional

outofstepfontco
Posts: 72
Joined: Sun Feb 22, 2015 4:35 pm
Contact:

Re: Accented Characters: Most efficient path to composites

Post by outofstepfontco » Wed Jun 26, 2019 8:37 pm

Followed up a hunch based on your Italics comment. I just calculated the inverse tangent of the auto-generated anchor points in the letter below and discovered that it's 22 degrees.

This is the exact same number as the "Italic Angle" under Properties > Identification. Turns out that was the problem all along. Setting "Italic Angle" to zero greatly improved placement of anchors.

I always thought the "Italic Angle" was an instruction that word processors used when displaying the font. Now I have to go re-issue new versions of all my fonts with the correct Italic angle!

Thank you for your help - now that the anchors are being placed better, it's improving my workflow significantly. As a side note: the impact of Properties > Identification > Italic Angle on Anchors should really be in the documentation.
Attachments
OSFC-FC-RenownBold-O.png
OSFC-FC-RenownBold-O.png (36.73 KiB) Viewed 409 times
FC12.0 Professional

Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 8344
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Accented Characters: Most efficient path to composites

Post by Bhikkhu Pesala » Wed Jun 26, 2019 9:06 pm

The Help file says that the italic angle should be zero for upright fonts.
Italic Angle

Italic angle in degrees from the vertical. Zero for upright text, positive for text that leans to the right (forward).
If any font lacks an italic style, and users apply italics to it, Windows will slant the text by 12° (if I recall correctly. This is a fixed average setting that is used for all fonts if no italic style is found).
My FontsReviews: MainTypeFont CreatorHelpFC12 Pro + MT9.0 @ Win10 1903 build 18362.356

Erwin Denissen
Moderator
Moderator
Posts: 8269
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Re: Accented Characters: Most efficient path to composites

Post by Erwin Denissen » Thu Jun 27, 2019 10:33 am

outofstepfontco wrote:
Wed Jun 26, 2019 8:37 pm
Thank you for your help - now that the anchors are being placed better, it's improving my workflow significantly. As a side note: the impact of Properties > Identification > Italic Angle on Anchors should really be in the documentation.
I'm glad Anchor Based complete composites now works for you.

We'll add a note in the manual about the Italic Angle.
Erwin Denissen
High-Logic
Proven Font Technology

outofstepfontco
Posts: 72
Joined: Sun Feb 22, 2015 4:35 pm
Contact:

Re: Accented Characters: Most efficient path to composites

Post by outofstepfontco » Thu Jun 27, 2019 2:24 pm

Haha awesome!
FC12.0 Professional

Post Reply