Cyrillic glyphs with acute

I have a problem with uppercase Cyrillic glyphs with acute (used in school books to mark the stress): ы́ э́ ю́ я́ etc.

Lowercase letters work just fine: a formula for е́ is uni04350301, it will create glyph ie_acutecomb-cy. That’s perfect.

The problem is with capital letters. I modified the GlyphData.xml to compose Ie_acutecomb-cy from Ie-cy and acutecomb.cap.

So when I try to build capital letters, for instance uni04150301 the generated glyph “Ie_acutecomb-cy” is

  1. placed in the “Letter, latin” section
  2. cannot be edited at all, doubleclicking the glyph does nothing

What can I do to build precomposed Cyrillic letters with acutecomb.cap and have them in the Cyrillic section?

If you modify the GlyphData, I would name the glyph Ieacutecomb-cy and set the legacy name to uni04150301. underscores are used for ligatures and might confuse the sorting algorithm.

the entry should look like this:

<glyph unicode="" name="Ieacute-cy" sortName="cy007" decompose="Ie-cy, acutecomb" category="Letter" subCategory="Uppercase" script="cyrillic" legacy="uni04150301" description="CYRILLIC CAPITAL LETTER IE WITH ACUTE" />

Briliant, thanks. As soon as I finish the GlyphData entries, I will share it here, someone may find it useful.

and if you can control the input of the glyphs you might not need to add the glyphs at all. IF you can make sure that they actually use acute comb, you can rely on mark positioning. Most platform should support that. And the ones that don’t they might not support the ccmp feature either.

Georg, are you sure the apps supporting mark positioning will use the uppercase form of an acute? I don’t think so.

If someone would need accented Cyrillic glyphs in Glyphs, here is the list. It works well with “acutecomb” as acute and “acutecomb.cap” as capital acute. Just update the sorting according to your preferences.

<glyph unicode="" name="Aacute-cy" sortName="cy300" decompose="A-cy, acutecomb" category="Letter" subCategory="Uppercase" script="cyrillic" legacy="uni04100301" description="CYRILLIC CAPITAL LETTER A WITH ACUTE" />
<glyph unicode="" name="Ieacute-cy" sortName="cy301" decompose="Ie-cy, acutecomb" category="Letter" subCategory="Uppercase" script="cyrillic" legacy="uni04150301" description="CYRILLIC CAPITAL LETTER IE WITH ACUTE" />
<glyph unicode="" name="Iiacute-cy" sortName="cy302" decompose="Ii-cy, acutecomb" category="Letter" subCategory="Uppercase" script="cyrillic" legacy="uni04180301" description="CYRILLIC CAPITAL LETTER I WITH ACUTE" />
<glyph unicode="" name="Oacute-cy" sortName="cy303" decompose="O-cy, acutecomb" category="Letter" subCategory="Uppercase" script="cyrillic" legacy="uni041E0301" description="CYRILLIC CAPITAL LETTER O WITH ACUTE" />
<glyph unicode="" name="Uacute-cy" sortName="cy304" decompose="U-cy, acutecomb" category="Letter" subCategory="Uppercase" script="cyrillic" legacy="uni04230301" description="CYRILLIC CAPITAL LETTER U WITH ACUTE" />
<glyph unicode="" name="Yeruacute-cy" sortName="cy305" decompose="Yeru-cy, acutecomb" category="Letter" subCategory="Uppercase" script="cyrillic" legacy="uni042B0301" description="CYRILLIC CAPITAL LETTER YERU WITH ACUTE" />
<glyph unicode="" name="Ereversedacute-cy" sortName="cy306" decompose="Ereversed-cy, acutecomb" category="Letter" subCategory="Uppercase" script="cyrillic" legacy="uni042D0301" description="CYRILLIC CAPITAL LETTER E WITH ACUTE" />
<glyph unicode="" name="Iuacute-cy" sortName="cy307" decompose="Iu-cy, acutecomb" category="Letter" subCategory="Uppercase" script="cyrillic" legacy="uni042E0301" description="CYRILLIC CAPITAL LETTER YU WITH ACUTE" />
<glyph unicode="" name="Iaacute-cy" sortName="cy308" decompose="Ia-cy, acutecomb" category="Letter" subCategory="Uppercase" script="cyrillic" legacy="uni042F0301" description="CYRILLIC CAPITAL LETTER YA WITH ACUTE" />
<glyph unicode="" name="aacute-cy" sortName="cy309" decompose="a-cy, acutecomb" category="Letter" subCategory="Lowercase" script="cyrillic" legacy="uni04300301" description="CYRILLIC SMALL LETTER A WITH ACUTE" />
<glyph unicode="" name="ieacute-cy" sortName="cy310" decompose="ie-cy, acutecomb" category="Letter" subCategory="Lowercase" script="cyrillic" legacy="uni04350301" description="CYRILLIC SMALL LETTER IE WITH ACUTE" />
<glyph unicode="" name="iiacute-cy" sortName="cy311" decompose="ii-cy, acutecomb" category="Letter" subCategory="Lowercase" script="cyrillic" legacy="uni04850301" description="CYRILLIC SMALL LETTER I WITH ACUTE" />
<glyph unicode="" name="oacute-cy" sortName="cy312" decompose="o-cy, acutecomb" category="Letter" subCategory="Lowercase" script="cyrillic" legacy="uni043E0301" description="CYRILLIC SMALL LETTER O WITH ACUTE" />
<glyph unicode="" name="uacute-cy" sortName="cy313" decompose="u-cy, acutecomb" category="Letter" subCategory="Lowercase" script="cyrillic" legacy="uni04430301" description="CYRILLIC SMALL LETTER U WITH ACUTE" />
<glyph unicode="" name="yeruacute-cy" sortName="cy314" decompose="yeru-cy, acutecomb" category="Letter" subCategory="Lowercase" script="cyrillic" legacy="uni044B0301" description="CYRILLIC SMALL LETTER YERU WITH ACUTE" />
<glyph unicode="" name="ereversedacute-cy" sortName="cy315" decompose="ereversed-cy, acutecomb" category="Letter" subCategory="Lowercase" script="cyrillic" legacy="uni044D0301" description="CYRILLIC SMALL LETTER E WITH ACUTE" />
<glyph unicode="" name="iuacute-cy" sortName="cy316" decompose="iu-cy, acutecomb" category="Letter" subCategory="Lowercase" script="cyrillic" legacy="uni044E0301" description="CYRILLIC SMALL LETTER IU WITH ACUTE" />
<glyph unicode="" name="iaacute-cy" sortName="cy317" decompose="ia-cy, acutecomb" category="Letter" subCategory="Lowercase" script="cyrillic" legacy="uni044F0301" description="CYRILLIC SMALL LETTER IA WITH ACUTE" />
You could add some feature code (calt) that switches the accents if next to an uppercase. Your precomposed glyphs rely on some OpenType features, too. So if one approaches works, the other should, too.

That’s not all. There are more letters that require accents as a part of the standard alphabet (i.e. mandatory, not for stress).

АЕӘОЭаеәоэ with macron
Оо with breve(̆)
Єє with dieresis
ЮЯюя with breve
АЕИОУӘаеиоуә with tilde
АЕОЭЮЯаеоэюя with macron
ЗСзс with
АЕИОУЭаеиоуэ with macron
Зз with caron
Рр with caron
АЕОӨЭаеоөэ with macron
АЕОЭаеоэ with macron
Ии with dotaccent
ВГҒДЗТХвгғдзтх with саron, Уу with ring
Аа with macron
Аа with macron

I haven’t removed duplicates yet, but I’ve done research on all Cyrillic systems.

Tosche, I know my list is not complete! It is just a list of Russian vowels with acute. Unfortunately I wrote “accented Cyrillic glyphs” which is not true, sorry. I can’t edit my post anymore.

All of those have no unicode, right?
Then I would strongly advice to use mark positioning to build them. Then you can build every combination without doing anything.

If you have special uppercase accents, then all you need to do is to add this line to calt:

sub @Uppercase [acutecomb gravecomb macroncomb …]’ by [acutecomb.cap gravecomb.cap macroncomb.cap …];

(replace … with all the accents you need)

The mark feature is generated automatically, if you have set anchors.

Those don’t exist in Unicode, and I do favour mark positioning. I’m suggesting that they should be in the default xml… but on second thought, these are for minority languages.

Georg, the Russian glyphs with acute are exported with readable names, for instance “iiacutecy”. What can I do to export the glyphs using the Unicode values? I think the proper name for this glyph would be “u04850301”, or am I wrong?

that is a bug. fixed it

I would like to continue with this discussion, I try to solve related problems again.

What is the best practice for accented glyphs without Unicode?
What is the correct glyph name of precomposed glyphs? Should the Unicode value of precomposed glyphs be empty? Or should I use private area Unicode (to allow access in MS Word)?
Mark positioning works well in InDesign but it is ignored in Photoshop, is there a workaround? Ligatures perhaps? Or required ligatures?
How to type those glyphs on a keyboard? Can I built a custom keyboard layout with combining accents?
I welcome any recommendations! Thanks! :heart_eyes:

The most logical feature to put your code in is ccmp, which is more robust too. And it probably will work in Word and won’t necessitate PUA access. My glyph name suggestion is something like O_breve-cy or O_brevecomb-cy.

If you want to build a custom keyboard layout, SIL’s Ukelele seems to be the only option.

Thanks, Toshi. Unfortunately ccmp is not supported in Photoshop. So I was thinking about dual solution:

  1. ccmp - for apps supporting ccmp and using combining diacriticcs
  2. liga or dlig or rlig sub O acute by O_acutecomb; using legacy accents

Photoshop is not only not supporting ccmp but also is hiding combining marks completely. It I paste O+acutecomb it will only show the O.

And the font menu is an utter mess. It doesn’t group families at all and shows each instance. Is something wrong with my setup or is that a new feature I’m unaware of?

There is nothing wrong with your setup. The single most important thing to remember about type and PhotoShop is that it is not a typesetting program although far too many try to use it as such. Adobe never has and likely never will put a type engine into PhotoShop that is even equivalent to Illustrator – which is also not a typesetting program although people try to use it for that.

Well, of course not. But it means there are priviledged languages which can be used in PS or AI to create website mockups, and there are second rate langugaes which cannot use their characters in many apps (for instance Ọ̀ in Yoruba).
It is of course not a Glyphs problem. I just try to find best practice, or a workaround, how to use tools and apps we have to let users in Nigeria or Georgia type their accented letters. And so far, the ligatures seams to be an option.

Georg, I build a font with pre-built accented Cyrillic letters. Everything works fine, the glyphs are properly built using the Create Component Glyph command.
Unfortunately, the Create Component Glyph command does not build capital letters from the .case versions of accents.
I tried A-cy_acutecomb and A_acutecomb-cy but neither form respects .case accents.
Could you please check it?