The problem:
I want sequence of U+0435 (CYRILLIC SMALL LETTER IE, name "uni0435") and U+00A8 (name "dieresis") chars to be substituted by U+0451 (CYRILLIC SMALL LETTER IO, name "uni0451") char.
I want sequence of U+F0987 (Supplementary Private Use Area, name "uF0987") and U+100987 (Supplementary Private Use Area, name "u100987") chars to be substituted by "myglyph1" glyph ("myglyph1" has no Unicode position).
I want sequence of U+F0986 (Supplementary Private Use Area, name "uF0986") and U+100986 (Supplementary Private Use Area, name "u100986") chars to be substituted by "myglyph2" glyph ("myglyph2" has no Unicode position).
I want sequence of "uni0451", "myglyph1" and "myglyph2" glyphs to be substituted by "myglyph3" glyph ("myglyph3" has no Unicode position).
So that if I have uni0435 + uni00A8 + uniF0987 + uni100987 + uniF0986 + uni100986 sequence, I want it all to be substituted by "myglyph3" glyph.
I thought about this kind of opentype code:
languagesystem DFLT dflt;
languagesystem cyrl dflt;
languagesystem latn dflt;
feature ccmp { # Glyph Composition / Decomposition
# DEFAULT
lookup ccmp0 {
sub uni0435 dieresis by uni0451;
sub uF0987 u100987 by myglyph1;
sub uF0986 u100986 by myglyph2;
sub uni0451 myglyph1 myglyph2 by myglyph3;
} ccmp0;
script cyrl; # Cyrillic
lookup ccmp0;
script latn; # Latin
lookup ccmp0;
} ccmp;
(or feature "dlig")
and MS VOLT lookup source:
DEF_LOOKUP "l002" PROCESS_BASE PROCESS_MARKS ALL DIRECTION LTR
IN_CONTEXT
END_CONTEXT
AS_SUBSTITUTION
SUB GLYPH "uni0435" GLYPH "dieresis"
WITH GLYPH "uni0451"
END_SUB
SUB GLYPH "uF0987" GLYPH "u100987"
WITH GLYPH "myglyph1"
END_SUB
SUB GLYPH "uF0986" GLYPH "u100986"
WITH GLYPH "myglyph2"
END_SUB
SUB GLYPH "uni0451" GLYPH "myglyph1" GLYPH "myglyph2"
WITH GLYPH "myglyph3"
END_SUB
END_SUBSTITUTION
END
and I tried to ship font using MS VOLT, but this compiled feature becomes unavailable in Chrome browser (Firefox is OK, I didn't test IE10). How can I solve the problem with Microsoft VOLT or FontLab?