chiark / gitweb /
Add 'ss05' which maps all of U+0020..U+007E to SAA5055 glyphs
authorBen Harris <bjh21@bjh21.me.uk>
Sat, 18 Jan 2025 20:54:21 +0000 (20:54 +0000)
committerBen Harris <bjh21@bjh21.me.uk>
Sun, 19 Jan 2025 00:49:30 +0000 (00:49 +0000)
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.

bedstead-faces.css
bedstead.c

index 529faf5d826897a514f953a21004ecca590f5a87..9a1ffd8da69a0ec2dbb35141737b9d5a7dd67550 100644 (file)
         saa5051: 1;
         saa5052: 2;
         saa5054: 4;
+        saa5055: 5
     }
     @character-variant {
         apostrophe-default: 6 1;
         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;
     }
index c286f4fd3f90bde0a77b8981cfaaefec465062e2..06c493bf4301b5bff7465f0919341e1706778c18 100644 (file)
@@ -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) "<Alternate glyph='" 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" },