Page 1 of 1

Placing Diacritical Marks on the Side of Characters.

Posted: Fri Apr 29, 2011 10:59 am
by ulaping
This topic is related to my previous post about inserting diacritical marks to characters, but I thought it would be appropriate that I start another topic anew concerning placing diacritical marks on the left and/or sides of characters. I already figured out how to create "combining diacritical marks" where you press a key to type in the character and you press another key and a diacritical mark is inserted on the top or bottom of the character. However, I run into a problem when I try to insert a diacritical mark on the left side of a character. When I go to type this on the test font, the diacritical mark gets swallowed up by the characters -- it gets placed in the same space as the character. Here's a couple of images to illustrate what I'm trying to say here:

The image below is a Devanagari font from the Microsoft Keyboard Layout. The diacritical mark is colored-coded red. Notice that the red diacritical marks are in the correct positions. However........
Image

.....in this picture, the red diacritical marks are misaligned. This is when I was trying to recreate it in FontCreator and when I went to test it out on the testfont, I couldn't get the same results I saw in Microsoft Keyboard Layout.
Image

So my question is: how do you get the diacritical marks placed in the correct positions like in the first picture while I'm typing them out?

Re: Placing Diacritical Marks on the Side of Characters.

Posted: Fri Apr 29, 2011 12:08 pm
by Bhikkhu Pesala
This case shows why it is best to use composite characters — the advance width of the base character depends on which diacritic is combined with it. If the accent is typed below or above the base glyph, it has no effect, if it is positioned after the base glyph the diacritic can have its own advance width, but if it must be positioned before the base glyph, the diacritic must be typed first, which is tricky.

I have some experience of using Burmese, which has similar issues. Vowels and tonal marks may be above, below, before, after, or before and after the base consonant.

For Latin script we type the diacritic first with a dead key ` then the base glyph a, e, i, o, u, resulting in the composite glyphs à è ì ò ù. Notice that for the composite ì that the base glyph is dotless ı not i.

If the base glyph is wider Ẁ and/or uppercase, the composite glyph must shift the accent up and further left to suit — that is not simple to achieve with combining diacritical marks.

Re: Placing Diacritical Marks on the Side of Characters.

Posted: Fri Apr 29, 2011 12:47 pm
by ulaping
I also have another question: is it possible to put 2 different diacritical marks on one character? For example I want to type a key and a diacritical mark appears on top of the character, then when I type another key a different diacritical mark appears on the bottom of the character.

Re: Placing Diacritical Marks on the Side of Characters.

Posted: Fri Apr 29, 2011 4:18 pm
by Bhikkhu Pesala
Yes, its possible to use any number of combining diacritical marks on one character as long as you design them not to clash with each other.