From 669db1f2833a47fb8183c55f95efb5315ea4e9f9 Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Wed, 8 Jan 2025 22:38:15 +0000 Subject: [PATCH] Add names for 'cvXX' features --- bedstead.c | 60 ++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 43 insertions(+), 17 deletions(-) diff --git a/bedstead.c b/bedstead.c index 52cb016..a73a65b 100644 --- a/bedstead.c +++ b/bedstead.c @@ -2772,19 +2772,32 @@ 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) - { "cv12", SCRIPT_ALL, .xml = CV2("comma", ".left") }, - { "cv14", SCRIPT_ALL, .xml = CV2("period", ".large") }, - { "cv26", SCRIPT_ALL, .xml = CV2("colon", ".leftsmall") }, - { "cv27", SCRIPT_ALL, .xml = CV2("semicolon", ".left") }, - { "cv31", SCRIPT_ALL, .xml = CV2("question", ".open") }, - { "cv38", SCRIPT_ALL, .xml = CV3("D", ".serif", ".narrow") }, - { "cv42", SCRIPT_ALL, .xml = CV2("J", ".narrow") }, - { "cv44", SCRIPT_ALL, .xml = CV2("L", ".narrow") }, - { "cv61", SCRIPT_ALL, .xml = CV2("ugrave",".roundjoined") }, - { "cv74", SCRIPT_ALL, .xml = CV2("j", ".serif") }, - { "cv84", SCRIPT_ALL, .xml = CV2("t", ".small") }, - { "cv92", SCRIPT_ALL, .xml = CV2("ocircumflex", ".large") }, - { "cv94", SCRIPT_ALL, .xml = CV2("ccedilla", ".angular") }, + { "cv12", SCRIPT_ALL, .name = "comma variants", + .xml = CV2("comma", ".left") }, + { "cv14", SCRIPT_ALL, .name = "full-stop variants", + .xml = CV2("period", ".large") }, + { "cv26", SCRIPT_ALL, .name = "colon variants", + .xml = CV2("colon", ".leftsmall") }, + { "cv27", SCRIPT_ALL, .name = "semicolon variants", + .xml = CV2("semicolon", ".left") }, + { "cv31", SCRIPT_ALL, .name = "question-mark variants", + .xml = CV2("question", ".open") }, + { "cv38", SCRIPT_ALL, .name = "capital-D variants", + .xml = CV3("D", ".serif", ".narrow") }, + { "cv42", SCRIPT_ALL, .name = "capital-J variants", + .xml = CV2("J", ".narrow") }, + { "cv44", SCRIPT_ALL, .name = "capital-L variants", + .xml = CV2("L", ".narrow") }, + { "cv61", SCRIPT_ALL, .name = "small-u-grave variants", + .xml = CV2("ugrave",".roundjoined") }, + { "cv74", SCRIPT_ALL, .name = "small-j variants", + .xml = CV2("j", ".serif") }, + { "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", + .xml = CV2("ccedilla", ".angular") }, { "ss14", SCRIPT_ALL, ".sep4", .name = "4-cell separated graphics" }, { "ss16", SCRIPT_ALL, ".sep6", .name = "6-cell separated graphics" }, }; @@ -3644,10 +3657,23 @@ dogsub(void) TTXS("FeatureTag", gsub_features[i].tag); printf(" \n"); if (gsub_features[i].name != NULL) { - printf(" \n"); - TTXI("Version", 0); - TTXI("UINameID", NAMEBASE_GSUB + i); - printf(" \n"); + if (gsub_features[i].tag[0] == 's') { + printf(" \n"); + TTXI("Version", 0); + TTXI("UINameID", NAMEBASE_GSUB + i); + printf(" \n"); + } else { + printf(" " + "\n"); + TTXI("Format", 0); + TTXI("FeatUILabelNameID", NAMEBASE_GSUB + i); + TTXI("FeatUITooltipTextNameID", 0); + TTXI("SampleTextNameID", 0); + TTXI("NumNamedParameters", 0); + TTXI("FirstParamUILabelNameID", 0); + printf(" " + "\n"); + } } /* We only have one GSUB lookup per feature, thankfully. */ TTXI("LookupListIndex", i); -- 2.30.2