chiark / gitweb /
Fill out 'cv96' with all the angular cedillas
authorBen Harris <bjh21@bjh21.me.uk>
Thu, 16 Jan 2025 22:14:37 +0000 (22:14 +0000)
committerBen Harris <bjh21@bjh21.me.uk>
Sun, 19 Jan 2025 00:49:30 +0000 (00:49 +0000)
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.

bedstead.c

index b88db87678cc4917fb29fd00d47086f88b55f92d..1275907351fac8b9534583f11c268f8c214f7a27 100644 (file)
@@ -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;