LOCL substitition challenge

I have a issue I can’t seem to make sense of. My locl feature needs to come before the case feature. The case feature swaps the kgreenlandic for K followed by a commaturnedmod. Now, when the proper language is selected (but only then), I want the combination K+commaturnedmod to form a special glyph. However, since my locl feature comes before the case feature, it doesn’t preform the substitution. Any ideas on how to do this?

1: LOCL

language GRN;
lookup Kgreenlandic {
sub K commaturnedmod by uni004B02BB;
} Kgreenlandic;

2: CASE

sub kgreenlandic by K commaturnedmod;

You can just change the order of the features, by dragging them up or down in the sidebar.

And you can have lookups with script and language tags in other features than the locl feature, too.

@Jeremie As I already stated, I cannot change the order.

@GeorgSeifert I tried to add

lookup Kgreenlandic;

after the first line in the case feature, but it didn’t work. Would it be possible to use the enitre locl code above also in the case feature?

Hmm. Adding “script latn;” above works. In the case feature:

sub kgreenlandic by K commaturnedmod;

script latn;
language GRN;
lookup Kgreenlandic {
    sub K commaturnedmod by uni004B02BB;
} Kgreenlandic;

This works in Glyphs, but not in Indesign. (I also tested with another language that is available in the Character Palette.) Is there some sort of restriction for casing behaviour? Because the uppercase kra is missing in Unicode.

@Frode_Helland – Are you wanting this just for historic reasons? Michael Everson writes that “In 1973, a spelling reform replaced the use of kra in Greenlandic with Latin small letter q (and the associated Latin capital letter with Q).” so it appears to be obsolete.

I am well aware of that. The old Greenlandic orthography is not the only usage of this glyph.

Simply duplicating the code doesn’t work?

On a sidenote, which other languages is kra used in?

No, the case substitution doesn’t work. The kra is used in Inuttitut.

Why is Glyphs circumventing my glyph naming, btw? If I want a glyph to be called uni004B02BB, it is very troublesome that the software doesn’t let me.

This is what the glyph is being renamed to at export time. IOW, uni004B02BB is the name of K_commaturnedmod in the resulting OTF. If you want to handle the name already during editing, you can enable custom glyph naming via File > Font Info > Other Settings.

It is a different lookup type, so you have to separate it in another lookup. and you can start the lookup with a language statement, e.g., your case could look like this:

lookup kraCase {
    sub kgreenlandic by K commaturnedmod;
} kraCase;
lookup Kgreenlandic {
    language GRN;
    sub K commaturnedmod by uni004B02BB;
} Kgreenlandic;
1 Like

That makes sense, but InDesign doesn’t seem happy about interfering with its (lack of proper) letter casing. I can make it work in other software and browsers.

If you have the GRN in the langageSystems?

I do. Since GRN isn’t available in InDesign’s list of languages, I also doubled it in Norwegian to test. Nevertheless, the ĸ to K‘ substitution happenes before any language statement.

Is it perhaps the one to many sub that doesn’t jive with Adobe?

You need the Global composer to for one to many subs.

2 Likes

Ah … Yes. Darn. Does all one-to-many substitutions require the Global composer?

Yes.

1 Like

Technically this is not what the case feature is for. See https://www.microsoft.com/typography/otspec/features_ae.htm#case

Shifts various punctuation marks up to a position that works better with all-capital sequences or sets of lining figures; also changes oldstyle figures to lining figures. By default, glyphs in a text face are designed to work with lowercase characters. Some characters should be shifted vertically to fit the higher visual center of all-capital or lining text. Also, lining figures are the same height (or close to it) as capitals, and fit much better with all-capital text.

1 Like