chiark / gitweb /
Convert cedillas under D to commas
authorBen Harris <bjh21@bjh21.me.uk>
Thu, 30 Jan 2025 13:54:21 +0000 (13:54 +0000)
committerBen Harris <bjh21@bjh21.me.uk>
Thu, 30 Jan 2025 14:02:11 +0000 (14:02 +0000)
According to Unicode 16.0.0 (chapter 7), U+0327 COMBINING CEDILLA is
ambiguous.  It can mean an actual cedilla, but it can also mean a
comma below.  This also applies to precomposed characters containing
it.  Unicode recommends default forms for various letters and in
particular says that for D and T (upper- and lower-case) the comma
form should be the default.

However, Unicode now has a separate U+021A LATIN CAPITAL LETTER T WITH
COMMA BELOW and recommends its use for Romanian.  So I think the
recommendation to render U+0162 LATIN CAPITAL LETTER T WITH CEDILLA with
a comma below is no longer applicable.

I have now updated Bedstead so that U+1E10 LATIN CAPITAL LETTER D WITH
CEDILLA is treated as having a comma below instead.  In practice, this
just means that it's unaffected by 'cv96'

All references to capital letters above apply equally to the
corresponding small letters.

bedstead.c

index c32125d396e2bbe639a486bb37e3a65c75e88516..c38230db4a7a9784c8afd8f219f65e5f4397c8e5 100644 (file)
@@ -1377,32 +1377,16 @@ static struct glyph {
  ALIAS("uni1E0F.sc", "uni1E0E.c2sc"),
  ALIAS("uni1E0F.sc.serif", "uni1E0E.c2sc.serif"),
  ALIAS("uni1E0F.sc.narrow", "uni1E0E.c2sc.narrow"),
- {"\36\21\21\21\21\21\36\04\10", U(1E10) }, /* Dcedilla */
+ {"\36\21\21\21\21\21\36\04\10", U(1E10) }, /* Dcommaaccent */
  {"\36\11\11\11\11\11\36\04\10", -1, "uni1E10.serif" },
  {"\16\11\11\11\11\11\16\04\10", -1, "uni1E10.narrow" },
- {"\36\21\21\21\21\21\36\04\14", -1, "uni1E10.angular" },
- {"\36\11\11\11\11\11\36\04\14", -1, "uni1E10.angular.serif" },
- {"\16\11\11\11\11\11\16\04\14", -1, "uni1E10.angular.narrow" },
- ALIAS("uni1E10.serif.angular", "uni1E10.angular.serif"),
- ALIAS("uni1E10.narrow.angular", "uni1E10.angular.narrow"),
  {"\00\00\36\21\21\21\36\04\10", 0xf1a1, "uni1E10.c2sc" },
  {"\00\00\36\11\11\11\36\04\10", -1, "uni1E10.c2sc.serif" },
  {"\00\00\16\11\11\11\16\04\10", -1, "uni1E10.c2sc.narrow" },
- {"\00\00\36\21\21\21\36\04\14", -1, "uni1E10.c2sc.angular" },
- {"\00\00\36\11\11\11\36\04\14", -1, "uni1E10.c2sc.angular.serif" },
- {"\00\00\16\11\11\11\16\04\14", -1, "uni1E10.c2sc.angular.narrow" },
- ALIAS("uni1E10.c2sc.serif.angular", "uni1E10.c2sc.angular.serif"),
- ALIAS("uni1E10.c2sc.narrow.angular", "uni1E10.c2sc.angular.narrow"),
- {"\01\01\17\21\21\21\17\04\10", U(1E11) }, /* dcedilla */
- {"\01\01\17\21\21\21\17\04\14", -1, "uni1E11.angular" },
+ {"\01\01\17\21\21\21\17\04\10", U(1E11) }, /* dcommaaccent */
  ALIAS("uni1E11.sc", "uni1E10.c2sc"),
  ALIAS("uni1E11.sc.serif", "uni1E10.c2sc.serif"),
  ALIAS("uni1E11.sc.narrow", "uni1E10.c2sc.narrow"),
- ALIAS("uni1E11.sc.angular", "uni1E10.c2sc.angular"),
- ALIAS("uni1E11.sc.angular.serif", "uni1E10.c2sc.angular.serif"),
- ALIAS("uni1E11.sc.angular.narrow", "uni1E10.c2sc.angular.narrow"),
- ALIAS("uni1E11.sc.serif.angular", "uni1E11.sc.angular.serif"),
- ALIAS("uni1E11.sc.narrow.angular", "uni1E11.sc.angular.narrow"),
  {"\36\21\21\21\21\21\36\04\12", U(1E12) }, /* Dcircumflexbelow */
  {"\36\11\11\11\11\11\36\04\12", -1, "uni1E12.serif" },
  {"\16\11\11\11\11\11\16\04\12", -1, "uni1E12.narrow" },
@@ -2879,11 +2863,8 @@ static struct alt_sub_override {
        V("uni1E0E.c2sc", ".serif", ".narrow")                          \
        V("uni1E0F.sc", ".serif", ".narrow")                            \
        V("uni1E10", ".serif", ".narrow")                               \
-       V("uni1E10.angular", ".serif", ".narrow")                       \
        V("uni1E10.c2sc", ".serif", ".narrow")                          \
-       V("uni1E10.c2sc.angular", ".serif", ".narrow")                  \
        V("uni1E11.sc", ".serif", ".narrow")                            \
-       V("uni1E11.sc.angular", ".serif", ".narrow")                    \
        V("uni1E12", ".serif", ".narrow")                               \
        V("uni1E12.c2sc", ".serif", ".narrow")                          \
        V("uni1E13.sc", ".serif", ".narrow")
@@ -2923,13 +2904,6 @@ static struct alt_sub_override {
        V("uni0163.sc", ".angular")                                     \
        V("uni1E08", ".angular")                                        \
        V("uni1E09", ".angular") V("uni1E09.sc", ".angular")            \
-       V("uni1E10", ".angular") V("uni1E10.serif", ".angular")         \
-       V("uni1E10.narrow", ".angular") V("uni1E10.c2sc", ".angular")   \
-       V("uni1E10.c2sc.serif", ".angular")                             \
-       V("uni1E10.c2sc.narrow", ".angular")                            \
-       V("uni1E11", ".angular") V("uni1E11.sc", ".angular")            \
-       V("uni1E11.sc.serif", ".angular")                               \
-       V("uni1E11.sc.narrow", ".angular")                              \
        V("uni1E28", ".angular") V("uni1E28.c2sc", ".angular")          \
        V("uni1E29", ".angular") V("uni1E29.sc", ".angular")