From: Ben Harris Date: Thu, 30 Jan 2025 13:54:21 +0000 (+0000) Subject: Convert cedillas under D to commas X-Git-Tag: bedstead-3.251~9 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~bjharris/git?a=commitdiff_plain;h=6326c4362d5bedb6c1dac91fd9f34d7c2eb3653b;p=bedstead.git Convert cedillas under D to commas 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. --- diff --git a/bedstead.c b/bedstead.c index c32125d..c38230d 100644 --- a/bedstead.c +++ b/bedstead.c @@ -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")