Rename two 'cvXX' features based on SAA5054 shapes

The features that generate the variant ocircumflex and ccedilla glyphs
are now treated a being variants of lower-case 'o' and cedilla
respectively.  Unlike the SAA5051/2 variants, we don't yet have
variants of their base glyphs.  Indeed, for the lower-case 'o' we
probably never will, because the variant is "larger accented versions"
so the unaccented version wouldn't change.

I haven't done anything about the weird SAA5054 ugrave because I'm not
sure there's any real design principle behind it.

I've also added a comment explaining the numbering of 'cvXX' features.
This commit is contained in:
Ben Harris 2025-01-13 21:14:36 +00:00
parent fd06786a45
commit 237d5f515d
2 changed files with 11 additions and 7 deletions

View File

@ -123,11 +123,11 @@
ugrave-roundjoined: 61 2;
j-default: 74 1;
j-serif: 74 2;
o-default: 79 1;
o-large: 79 2;
t-default: 84 1;
t-small: 84 2;
ocircumflex-default: 92 1;
ocircumflex-large: 92 2;
ccedilla-default: 94 1;
ccedilla-angular: 94 2;
cedilla-default: 96 1;
cedilla-angular: 96 2;
}
}

View File

@ -2772,6 +2772,10 @@ static struct gsub_feature {
ALTSET(c, ALT3(a, b, c)))
#define CV2(base, a) CROSSALT2(base, base a)
#define CV3(base, a, b) CROSSALT3(base, base a, base b)
/*
* Where possible, Character Variant features have numbers
* that are 32 less than the ASCII code of the base character.
*/
{ "cv12", SCRIPT_ALL, .name = "comma variants",
.xml = CV2("comma", ".left") },
{ "cv14", SCRIPT_ALL, .name = "full-stop variants",
@ -2792,11 +2796,11 @@ static struct gsub_feature {
.xml = CV2("ugrave",".roundjoined") },
{ "cv74", SCRIPT_ALL, .name = "small-j variants",
.xml = CV2("j", ".serif") },
{ "cv79", SCRIPT_ALL, .name = "small-o variants",
.xml = CV2("ocircumflex", ".large") },
{ "cv84", SCRIPT_ALL, .name = "small-t variants",
.xml = CV2("t", ".small") },
{ "cv92", SCRIPT_ALL, .name = "small-o-circumflex variants",
.xml = CV2("ocircumflex", ".large") },
{ "cv94", SCRIPT_ALL, .name = "small-c-cedilla variants",
{ "cv96", SCRIPT_ALL, .name = "cedilla variants",
.xml = CV2("ccedilla", ".angular") },
{ "ss14", SCRIPT_ALL, ".sep4", .name = "4-cell separated graphics" },
{ "ss16", SCRIPT_ALL, ".sep6", .name = "6-cell separated graphics" },