mirror of
https://bjh21.me.uk/bedstead/.git
synced 2026-07-10 05:53:05 -04:00
Switch to a variadic macro for generating alternate substitutions
This commit is contained in:
parent
9f2acba7bd
commit
b5afc323ea
30
bedstead.c
30
bedstead.c
@ -2968,38 +2968,40 @@ 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)
|
||||
#define GET_MACRO(_1, _2, _3, x, ...) x
|
||||
#define CV(...) GET_MACRO(__VA_ARGS__, CV3, CV2)(__VA_ARGS__)
|
||||
/*
|
||||
* Where possible, Character Variant features have numbers
|
||||
* that are 32 less than the ASCII code of the base character.
|
||||
*/
|
||||
{ "cv07", SCRIPT_ALL, .name = "apostrophe variants",
|
||||
.xml = ALTSUB(CV07(CV2)) },
|
||||
.xml = ALTSUB(CV07(CV)) },
|
||||
{ "cv12", SCRIPT_ALL, .name = "comma variants",
|
||||
.xml = ALTSUB(CV12(CV2)) },
|
||||
.xml = ALTSUB(CV12(CV)) },
|
||||
{ "cv14", SCRIPT_ALL, .name = "full-stop variants",
|
||||
.xml = ALTSUB(CV14(CV2)) },
|
||||
.xml = ALTSUB(CV14(CV)) },
|
||||
{ "cv26", SCRIPT_ALL, .name = "colon variants",
|
||||
.xml = ALTSUB(CV26(CV2)) },
|
||||
.xml = ALTSUB(CV26(CV)) },
|
||||
{ "cv27", SCRIPT_ALL, .name = "semicolon variants",
|
||||
.xml = ALTSUB(CV27(CV2)) },
|
||||
.xml = ALTSUB(CV27(CV)) },
|
||||
{ "cv31", SCRIPT_ALL, .name = "question-mark variants",
|
||||
.xml = ALTSUB(CV31(CV2)) },
|
||||
.xml = ALTSUB(CV31(CV)) },
|
||||
{ "cv38", SCRIPT_ALL, .name = "capital-D variants",
|
||||
.xml = ALTSUB(CV38(CV3)) },
|
||||
.xml = ALTSUB(CV38(CV)) },
|
||||
{ "cv42", SCRIPT_ALL, .name = "capital-J variants",
|
||||
.xml = ALTSUB(CV42(CV2)) },
|
||||
.xml = ALTSUB(CV42(CV)) },
|
||||
{ "cv44", SCRIPT_ALL, .name = "capital-L variants",
|
||||
.xml = ALTSUB(CV44(CV2)) },
|
||||
.xml = ALTSUB(CV44(CV)) },
|
||||
{ "cv61", SCRIPT_ALL, .name = "small-u-grave variants",
|
||||
.xml = ALTSUB(CV61(CV2)) },
|
||||
.xml = ALTSUB(CV61(CV)) },
|
||||
{ "cv74", SCRIPT_ALL, .name = "small-j variants",
|
||||
.xml = ALTSUB(CV74(CV2)) },
|
||||
.xml = ALTSUB(CV74(CV)) },
|
||||
{ "cv79", SCRIPT_ALL, .name = "small-o variants",
|
||||
.xml = ALTSUB(CV79(CV2)) },
|
||||
.xml = ALTSUB(CV79(CV)) },
|
||||
{ "cv84", SCRIPT_ALL, .name = "small-t variants",
|
||||
.xml = ALTSUB(CV84(CV2)) },
|
||||
.xml = ALTSUB(CV84(CV)) },
|
||||
{ "cv96", SCRIPT_ALL, .name = "cedilla variants",
|
||||
.xml = ALTSUB(CV96(CV2)) },
|
||||
.xml = ALTSUB(CV96(CV)) },
|
||||
{ "ss14", SCRIPT_ALL, ".sep4", .name = "4-cell separated graphics" },
|
||||
{ "ss16", SCRIPT_ALL, ".sep6", .name = "6-cell separated graphics" },
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user