From: Ben Harris Date: Sat, 18 Jan 2025 20:54:21 +0000 (+0000) Subject: Add 'ss05' which maps all of U+0020..U+007E to SAA5055 glyphs X-Git-Tag: bedstead-3.251~18 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~bjharris/git?a=commitdiff_plain;h=39474c8fc02f526732ce7b3baf96e1e711485b8b;p=bedstead.git Add 'ss05' which maps all of U+0020..U+007E to SAA5055 glyphs This seems appropriate for something that wants to treat these as ASCII glyphs with their ambiguous semantics. This uses the existing apostrophe.curly, and also adds grave.curly (an alias for quotereversed) and bar.broken (an alias for brokenbar). Of course there are also 'cvXX' features to enable each one individually as well. --- diff --git a/bedstead-faces.css b/bedstead-faces.css index 529faf5..9a1ffd8 100644 --- a/bedstead-faces.css +++ b/bedstead-faces.css @@ -100,6 +100,7 @@ saa5051: 1; saa5052: 2; saa5054: 4; + saa5055: 5 } @character-variant { apostrophe-default: 6 1; @@ -123,12 +124,16 @@ L-narrow: 44 2; ugrave-default: 61 1; ugrave-roundjoined: 61 2; + grave-default: 64 1; + grave-curly: 64 2; j-default: 74 1; j-serif: 74 2; o-default: 79 1; o-large: 79 2; t-default: 84 1; t-small: 84 2; + bar-default: 92 1; + bar-broken: 92 2; cedilla-default: 96 1; cedilla-angular: 96 2; } diff --git a/bedstead.c b/bedstead.c index c286f4f..06c493b 100644 --- a/bedstead.c +++ b/bedstead.c @@ -552,6 +552,7 @@ static struct glyph { ALIAS("Y.c2sc", "uni028F"), ALIAS("Z.c2sc", "uni1D22"), {"\10\04\02\00\00\00\00\00\00", 0x0060, "grave" }, + ALIAS("grave.curly", "quotereversed"), ALIAS("a.sc", "A.c2sc"), ALIAS("b.sc", "B.c2sc"), ALIAS("c.sc", "C.c2sc"), @@ -583,6 +584,7 @@ static struct glyph { ALIAS("y.sc", "Y.c2sc"), ALIAS("z.sc", "Z.c2sc"), {"\04\04\04\04\04\04\04\00\00", 0x007c, "bar" }, + ALIAS("bar.broken", "brokenbar"), /* Latin-1 supplement */ {"\00\00\00\00\00\00\00\00\00", U(00A0) }, /* non-breaking space */ @@ -2886,6 +2888,7 @@ static struct alt_sub_override { V("Ldot", ".narrow") V("Ldot.c2sc", ".narrow") \ V("ldot.sc", ".narrow") V("uni029F", ".narrow") #define CV61(V) V("ugrave",".roundjoined") +#define CV64(V) V("grave", ".curly") #define CV74(V) V("j", ".serif") V("ij", ".serif") \ V("jcircumflex", ".serif") V("uni01F0", ".serif") \ V("uni0237", ".serif") V("uni029D", ".serif") @@ -2900,6 +2903,7 @@ static struct alt_sub_override { V("uni02A7", ".small") V("uni1E6D", ".small") \ V("uni1E6F", ".small") V("uni1E71", ".small") \ V("uni1E97", ".small") +#define CV92(V) V("bar", ".broken") #define CV96(V) V("cedilla", ".angular") \ V("ccedilla", ".angular") V("ccedilla.sc", ".angular") \ V("Ccedilla", ".angular") V("Ccedilla.c2sc", ".angular") \ @@ -2958,6 +2962,9 @@ static struct gsub_feature { { "ss04", SCRIPT_ALL, .name = "SAA5054", .xml = SINGLESUB(CV61(SUFFIXSUB1) CV79(SUFFIXSUB1) CV96(SUFFIXSUB1)) }, + { "ss05", SCRIPT_ALL, .name = "SAA5055", + .xml = SINGLESUB(CV07(SUFFIXSUB1) CV64(SUFFIXSUB1) + CV92(SUFFIXSUB1)) }, #define ALT1(g) "" #define ALT2(a, b) ALT1(a) ALT1(b) #define ALT3(a, b, c) ALT1(a) ALT2(b, c) @@ -2994,12 +3001,16 @@ static struct gsub_feature { .xml = ALTSUB(CV44(CV)) }, { "cv61", SCRIPT_ALL, .name = "small-u-grave variants", .xml = ALTSUB(CV61(CV)) }, + { "cv64", SCRIPT_ALL, .name = "grave variants", + .xml = ALTSUB(CV64(CV)) }, { "cv74", SCRIPT_ALL, .name = "small-j variants", .xml = ALTSUB(CV74(CV)) }, { "cv79", SCRIPT_ALL, .name = "small-o variants", .xml = ALTSUB(CV79(CV)) }, { "cv84", SCRIPT_ALL, .name = "small-t variants", .xml = ALTSUB(CV84(CV)) }, + { "cv92", SCRIPT_ALL, .name = "vertical-bar variants", + .xml = ALTSUB(CV92(CV)) }, { "cv96", SCRIPT_ALL, .name = "cedilla variants", .xml = ALTSUB(CV96(CV)) }, { "ss14", SCRIPT_ALL, ".sep4", .name = "4-cell separated graphics" },