From: Ben Harris Date: Mon, 13 Jan 2025 21:14:36 +0000 (+0000) Subject: Rename two 'cvXX' features based on SAA5054 shapes X-Git-Tag: bedstead-3.251~38 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~bjharris/git?a=commitdiff_plain;h=237d5f515d77c545e09c35cf7603e82e8aece94d;p=bedstead.git 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. --- diff --git a/bedstead-faces.css b/bedstead-faces.css index 88d0c3b..4db70b6 100644 --- a/bedstead-faces.css +++ b/bedstead-faces.css @@ -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; } } diff --git a/bedstead.c b/bedstead.c index a73a65b..bbae63d 100644 --- a/bedstead.c +++ b/bedstead.c @@ -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" },