I’d like to reposition certain diacritics in context of other diacritics.
E.g. “a” + “breve” + “grave”: moving “grave” lower.
I tried MarkToMarkPositioning, and while it works for base glyphs with marks that are not pre-defined in Unicode, such as “alpha” + “breve” + “grave”, it doesn’t work for “a”. I tried a different anchor (‘top_breve’) with base “abreve” + mark “grave” - this looks OK in the design area in OT Designer, but still doesn’t appear to work.
Below are 3 different “a”-strings in the preview:
“a” + “breve” + “grave”
“abreve” + “grave”
“abrevegrave”
and
“alpha” + “breve” + “grave” (that’s the “grave” position I’m aiming for)
In the case of “a”, the positioning of “grave” is resistant to change.
Notes:
“abreve” is not included in my base class used for top anchor.
If possible, I’d like to define several such base and mark classes so that I can reposition entire groups using the same settings. Again, if possible, it would be good to have that repositioning reflected when creating composite glyphs.
How should I go about it?
Thank you for your help.
Editing that anchor would affect all other marks that may be attached to breve, whereas I’d like to reposition only some of them.
In other words:
e.g. breve: grave, acute, hook should be lower than tilde
e.g. circumflex: acute, grave should be placed to the side, unlike tilde
e.g. macron: grave, acute should be lower when attached to capital letters
to name a few.
The point is to have ‘standard’ anchors for default positions, and a set of rules that modify positioning in certain contexts. Is that doable?
To make tilde higher than breve, grave, hook when attached to base glyphs move T[M] for the tilde
To move circumflex, grave, acute to the side, move T[M] for those accents
I’m afraid I’m either not following or not expressing myself correctly.
combining marks (such as grave, acute, hook, tilde etc.) have 2 anchors: T[M] & T.
for a number of composites, consisting of base + mark, T[M] of these marks is correct
for some composites, consisting of base (base + 1.mark) + 2.mark, T[M] & T are correct.
for some composites, consisting of base (base + 1.mark) + 2.mark, second mark position should be modified.
if I change either T or T[M] for any mark, I think this will change the mark position globally, no? Whereas I’d like to change mark position in certain contexts only, leaving other cases unchanged.
E.g. agrave, aacute, ahookabove, atilde and acircumflextilde are correct, but the position of 2nd mark in acircumflexacute, acircumflexgrave, acircumflexhookabove should be modified. If I change T[M] for grave, acute, or hook - the correct agrave, aacute, ahookabove will be affected; if I changes T for acircumflex - the correct acircumflextilde will be affected. So I’m looking for a solution that is context-dependent. Does it exist?
If you want some accents to behave differently in certain contexts, for that context you will have to disable Auto-attach. For example, if you wanted to use the same macro accent for both uppercase and lowercase, you would have to disable Auto-attach for all uppercase, and reposition each manually. That is why I suggested using special accents for uppercase. I also use narrow accents for Ī and Ī.
If my screenshot I position the top accent over breve for Acute, Grave, Hook, but for tilde I have to disable Auto-attach, and move the tilde accent on a cirumflex breve.
I tag those glyphs for which Auto-attach needs to be disabled, and quickly run through to adjust them manually.
Thank you
I’m aware of the manual solution, and it makes sense in situations where one is dealing with single deviations. I was mainly asking about an OT contextual workaround - disregarding the quickness of manual solution, is it possible to create some set of rules in OT to do that automatically?
If a separate set of rules isn’t possible, I think that’s the next best thing.
But I’d appreciate a confirmation that what I’ve been trying & hoping to do is in fact undoable, and not just too difficult for me to accomplish
Yes, I can get marks to behave in cases such as e.g. g/tildecomb/tildecomb = g/tildecomb.alt/tildecomb.alt
ɑ/brevecomb/gravecomb = ɑ/brevecomb.alt/gravecomb
that hasn’t been a problem.
The problem occurs in cases that exist as Unicode characters, e.g. abreve, abrevegrave. If I input a/brevecomb, it is automatically replaced by abreve, and a/brevecomb/gravecomb is automatically replaced by abrevegrave, therefore in such cases brevecomb doesn’t get replaced by brevecomb.alt, so instead of a/brevecomb.alt/gravecomb I get abrevegrave. And yes, AutoAttach is off.
I simply want any base + mark1, when followed by a specific mark2 to be replaced by base + mark1.alt.
I have make this video about Mark positioning in Arabic Font, As i think same procedure for diacritic, see Glyphs composition/ decomposition how i make it, maybe it useful for you
Husham, thank you for the video link. I think I got that - but I’m not sure it applies to cases such as e.g. abreveacute.
Erwin, yes, the font works and the preview works, but in the workspace and glyph view, the 2nd diacritic is displayed in its unchanged position:
The only way I found of getting around this problem was to manually change the glyph composition formula for each such case. 1. Is there a way of doing this automatically? 2. Is there a way of accessing a list of all such formulas used in a font?