From: Ben Harris Date: Thu, 16 Jan 2025 22:14:37 +0000 (+0000) Subject: Fill out 'cv96' with all the angular cedillas X-Git-Tag: bedstead-3.251~25 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~bjharris/git?a=commitdiff_plain;h=15ff246ea876925d8cee8eae80aad312743ed471;p=bedstead.git Fill out 'cv96' with all the angular cedillas This collides with the small lower-case 't' of 'cv84' at U+0163 LATIN SMALL LETTER T WITH CEDILLA, but I think all the combinations work. I do currently have both "uni0163.small.angular" and "uni0163.angular.small" to ensure that you can apply each stylistic set with the opposing character variant. Maybe with more careful interleaving I could get away with only one of those. --- diff --git a/bedstead.c b/bedstead.c index b88db87..1275907 100644 --- a/bedstead.c +++ b/bedstead.c @@ -596,6 +596,7 @@ static struct glyph { {"\15\25\25\15\05\05\05\00\00", 0x00b6, "paragraph" }, {"\00\00\00\04\00\00\00\00\00", 0x00b7, "periodcentered" }, {"\00\00\00\00\00\00\04\02\04", 0x00b8, "cedilla" }, + {"\00\00\00\00\00\00\04\02\06", -1, "cedilla.angular" }, {"\04\14\04\04\16\00\00\00\00", 0x00b9, "onesuperior" }, {"\16\21\21\21\16\00\37\00\00", 0x00ba, "ordmasculine" }, {"\00\00\00\22\11\22\00\00\00", 0x00bb, "guillemotright" }, @@ -608,7 +609,9 @@ static struct glyph { {"\17\24\24\26\34\24\27\00\00", 0x00c6, "AE" }, ALIAS("AE.c2sc", "uni1D01"), {"\16\21\20\20\20\21\16\04\10", 0x00c7, "Ccedilla" }, + {"\16\21\20\20\20\21\16\04\14", -1, "Ccedilla.angular" }, {"\00\00\16\21\20\21\16\04\10", 0xf190, "Ccedilla.c2sc" }, + {"\00\00\16\21\20\21\16\04\14", -1, "Ccedilla.c2sc.angular" }, {"\10\04\37\20\36\20\37\00\00", 0x00c8, "Egrave" }, {"\04\12\37\20\36\20\37\00\00", 0x00ca, "Ecircumflex" }, {"\12\00\37\20\36\20\37\00\00", 0x00cb, "Edieresis" }, @@ -644,6 +647,7 @@ static struct glyph { {"\00\00\12\05\17\24\16\00\00", 0x00e6, "ae" }, ALIAS("ae.sc", "AE.c2sc"), ALIAS("ccedilla.sc", "Ccedilla.c2sc"), + ALIAS("ccedilla.sc.angular", "Ccedilla.c2sc.angular"), ALIAS("egrave.sc", "Egrave"), ALIAS("eacute.sc", "Eacute"), ALIAS("ecircumflex.sc", "Ecircumflex"), @@ -793,14 +797,23 @@ static struct glyph { ALIAS("rcaron.sc", "Rcaron"), {"\02\04\17\20\16\01\36\00\00", 0x015b, "sacute" }, {"\16\21\20\16\01\21\16\04\10", 0x015e, "Scedilla" }, + {"\16\21\20\16\01\21\16\04\14", -1, "Scedilla.angular" }, ALIAS("Scedilla.c2sc", "scedilla"), + ALIAS("Scedilla.c2sc.angular", "scedilla.angular"), {"\00\00\17\20\16\01\36\04\10", 0x015f, "scedilla" }, + {"\00\00\17\20\16\01\36\04\14", -1, "scedilla.angular" }, {"\12\04\17\20\16\01\36\00\00", 0x0161, "scaron" }, {"\37\04\04\04\04\04\04\02\04", U(0162) }, /* Tcedilla */ + {"\37\04\04\04\04\04\04\02\06", -1, "uni0162.angular" }, {"\00\00\37\04\04\04\04\02\04", 0xf19b, "uni0162.c2sc" }, + {"\00\00\37\04\04\04\04\02\06", -1, "uni0162.c2sc.angular" }, {"\04\04\16\04\04\05\02\02\04", U(0163) }, /* tcedilla */ + {"\04\04\16\04\04\05\02\02\06", -1, "uni0163.angular" }, {"\00\04\16\04\04\05\02\02\04", -1, "uni0163.small" }, + {"\00\04\16\04\04\05\02\02\06", -1, "uni0163.small.angular" }, + ALIAS("uni0163.angular.small", "uni0163.small.angular"), ALIAS("uni0163.sc", "uni0162.c2sc"), + ALIAS("uni0163.sc.angular", "uni0162.c2sc.angular"), {"\12\04\37\04\04\04\04\00\00", 0x0164, "Tcaron" }, {"\11\11\34\10\10\10\04\00\00", 0x0165, "tcaron" }, {"\01\11\34\10\10\10\04\00\00", -1, "tcaron.small" }, @@ -1300,8 +1313,11 @@ static struct glyph { {"\20\20\36\21\21\21\36\00\16", U(1E07) }, /* bmacronbelow */ ALIAS("uni1E06.sc", "uni1E06.c2sc"), {"\02\04\16\21\20\21\16\04\10", U(1E08) }, /* Ccedillaacute */ + {"\02\04\16\21\20\21\16\04\14", -1, "uni1E08.angular" }, {"\02\04\17\20\20\20\17\04\10", U(1E09) }, /* ccedillaacute */ + {"\02\04\17\20\20\20\17\04\14", -1, "uni1E09.angular" }, ALIAS("uni1E09.sc", "uni1E08"), + ALIAS("uni1E09.sc.angular", "uni1E08.angular"), {"\04\00\36\21\21\21\36\00\00", U(1E0A) }, /* Ddotaccent */ {"\05\01\17\21\21\21\17\00\00", U(1E0B) }, /* ddotaccent */ ALIAS("uni1E0B.sc", "uni1E0A"), @@ -1314,9 +1330,13 @@ static struct glyph { {"\01\01\17\21\21\21\17\00\16", U(1E0F) }, /* dmacronbelow */ ALIAS("uni1E0F.sc", "uni1E0E.c2sc"), {"\36\21\21\21\21\21\36\04\10", U(1E10) }, /* Dcedilla */ - {"\00\00\36\21\21\21\36\04\16", 0xf1a1, "uni1E10.c2sc" }, + {"\36\21\21\21\21\21\36\04\14", -1, "uni1E10.angular" }, + {"\00\00\36\21\21\21\36\04\10", 0xf1a1, "uni1E10.c2sc" }, + {"\00\00\36\21\21\21\36\04\14", -1, "uni1E10.c2sc.angular" }, {"\01\01\17\21\21\21\17\04\10", U(1E11) }, /* dcedilla */ + {"\01\01\17\21\21\21\17\04\14", -1, "uni1E11.angular" }, ALIAS("uni1E11.sc", "uni1E10.c2sc"), + ALIAS("uni1E11.sc.angular", "uni1E10.c2sc.angular"), {"\36\21\21\21\21\21\36\04\12", U(1E12) }, /* Dcircumflexbelow */ {"\00\00\36\21\21\21\36\04\12", 0xf1a2, "uni1E12.c2sc" }, {"\01\01\17\21\21\21\17\04\12", U(1E13) }, /* dcircumflexbelow */ @@ -1343,9 +1363,13 @@ static struct glyph { {"\25\20\36\21\21\21\21\00\00", U(1E27) }, /* hdieresis */ ALIAS("uni1E27.sc", "uni1E26"), {"\21\21\37\21\21\21\04\02\04", U(1E28) }, /* Hcedilla */ + {"\21\21\37\21\21\21\04\02\06", -1, "uni1E28.angular" }, {"\00\00\21\37\21\21\04\02\04", 0xf1a6, "uni1E28.c2sc" }, + {"\00\00\21\37\21\21\04\02\06", -1, "uni1E28.c2sc.angular" }, {"\20\20\36\21\21\21\04\02\04", U(1E29) }, /* hcedilla */ + {"\20\20\36\21\21\21\04\02\06", -1, "uni1E29.angular" }, ALIAS("uni1E29.sc", "uni1E28"), + ALIAS("uni1E29.sc.angular", "uni1E28.angular"), {"\21\22\24\30\24\22\21\00\04", U(1E32) }, /* Kdotbelow */ {"\10\10\11\12\14\12\11\00\04", U(1E33) }, /* kdotbelow */ {"\21\22\24\30\24\22\21\00\16", U(1E34) }, /* Kmacronbelow */ @@ -2769,13 +2793,27 @@ static struct alt_sub_override { VAR2("ocircumflex", ".large") VAR2("otilde", ".large") \ VAR2("odieresis", ".large") VAR2("omacron", ".large") #define CV84(VAR2) VAR2("t", ".small") VAR2("uni0163", ".small") \ + VAR2("uni0163.angular", ".small") \ VAR2("tcaron", ".small") VAR2("tbar", ".small") \ VAR2("uni01AB", ".small") VAR2("uni0287", ".small") \ VAR2("uni0288", ".small") VAR2("uni02A6", ".small") \ VAR2("uni02A7", ".small") VAR2("uni1E6D", ".small") \ VAR2("uni1E6F", ".small") VAR2("uni1E71", ".small") \ VAR2("uni1E97", ".small") -#define CV96(VAR2) VAR2("ccedilla", ".angular") +#define CV96(VAR2) VAR2("cedilla", ".angular") \ + VAR2("ccedilla", ".angular") VAR2("ccedilla.sc", ".angular") \ + VAR2("Ccedilla", ".angular") VAR2("Ccedilla.c2sc", ".angular") \ + VAR2("Scedilla", ".angular") VAR2("Scedilla.c2sc", ".angular") \ + VAR2("scedilla", ".angular") \ + VAR2("uni0162", ".angular") VAR2("uni0162.c2sc", ".angular") \ + VAR2("uni0163", ".angular") VAR2("uni0163.small", ".angular") \ + VAR2("uni0163.sc", ".angular") \ + VAR2("uni1E08", ".angular") \ + VAR2("uni1E09", ".angular") VAR2("uni1E09.sc", ".angular") \ + VAR2("uni1E10", ".angular") VAR2("uni1E10.c2sc", ".angular") \ + VAR2("uni1E11", ".angular") VAR2("uni1E11.sc", ".angular") \ + VAR2("uni1E28", ".angular") VAR2("uni1E28.c2sc", ".angular") \ + VAR2("uni1E29", ".angular") VAR2("uni1E29.sc", ".angular") static struct gsub_feature { char const *tag;