chiark / gitweb /
Re-organise Latin small caps (no functional change)
authorBen Harris <bjh21@bjh21.me.uk>
Sun, 2 Jun 2024 19:16:27 +0000 (20:16 +0100)
committerBen Harris <bjh21@bjh21.me.uk>
Sun, 2 Jun 2024 19:16:27 +0000 (20:16 +0100)
I liked the approach I took with 'rtlm' of putting variant glyphs next
to the standard ones in the glyph array.  So I've tried doing the same
with small caps.  Each small cap appears at least twice.  For ones with
real Unicode code points, the 'c2sc' version is an alias for the native
one.  For small caps without Unicode code points, the 'c2sc' version is
the actual small cap glyph.  In either case, the 'smcp' version is an
alias for the 'c2sc' one.  This is a change from the previous setup,
where the 'c2sc' version was an alias for the 'smcp' one instead.  I've
swapped them because the small cap glyph is generally based on the full
cap, so putting them together seems sensible.

bedstead.c

index ccd88a0096df3d7d0a00f73d5664cf0bcc4b409e..be9458220fd834ab617037e7092710d2e4958337 100644 (file)
@@ -511,7 +511,59 @@ static struct glyph {
   */
 
  /* Basic Latin */
+ ALIAS("A.c2sc", "uni1D00"),
+ ALIAS("B.c2sc", "uni0299"),
+ ALIAS("C.c2sc", "uni1D04"),
+ ALIAS("D.c2sc", "uni1D05"),
+ ALIAS("E.c2sc", "uni1D07"),
+ ALIAS("F.c2sc", "uniA730"),
+ ALIAS("G.c2sc", "uni0262"),
+ ALIAS("H.c2sc", "uni029C"),
+ ALIAS("I.c2sc", "uni026A"),
+ ALIAS("J.c2sc", "uni1D0A"),
+ ALIAS("K.c2sc", "uni1D0B"),
+ ALIAS("L.c2sc", "uni029F"),
+ ALIAS("M.c2sc", "uni1D0D"),
+ ALIAS("N.c2sc", "uni0274"),
+ ALIAS("O.c2sc", "uni1D0F"),
+ ALIAS("P.c2sc", "uni1D18"),
+ ALIAS("Q.c2sc", "uniA7AF"),
+ ALIAS("R.c2sc", "uni0280"),
+ ALIAS("S.c2sc", "uniA731"),
+ ALIAS("T.c2sc", "uni1D1B"),
+ ALIAS("U.c2sc", "uni1D1C"),
+ ALIAS("V.c2sc", "uni1D20"),
+ ALIAS("W.c2sc", "uni1D21"),
+ {{000,000,021,012,004,012,021,000,000}, 0xf1c0, "X.c2sc" },
+ ALIAS("Y.c2sc", "uni028F"),
+ ALIAS("Z.c2sc", "uni1D22"),
  {{010,004,002,000,000,000,000,000,000}, 0x0060, "grave" },
+ ALIAS("a.sc", "A.c2sc"),
+ ALIAS("b.sc", "B.c2sc"),
+ ALIAS("c.sc", "C.c2sc"),
+ ALIAS("d.sc", "D.c2sc"),
+ ALIAS("e.sc", "E.c2sc"),
+ ALIAS("f.sc", "F.c2sc"),
+ ALIAS("g.sc", "G.c2sc"),
+ ALIAS("h.sc", "H.c2sc"),
+ ALIAS("i.sc", "I.c2sc"),
+ ALIAS("j.sc", "J.c2sc"),
+ ALIAS("k.sc", "K.c2sc"),
+ ALIAS("l.sc", "L.c2sc"),
+ ALIAS("m.sc", "M.c2sc"),
+ ALIAS("n.sc", "N.c2sc"),
+ ALIAS("o.sc", "O.c2sc"),
+ ALIAS("p.sc", "P.c2sc"),
+ ALIAS("q.sc", "Q.c2sc"),
+ ALIAS("r.sc", "R.c2sc"),
+ ALIAS("s.sc", "S.c2sc"),
+ ALIAS("t.sc", "T.c2sc"),
+ ALIAS("u.sc", "U.c2sc"),
+ ALIAS("v.sc", "V.c2sc"),
+ ALIAS("w.sc", "W.c2sc"),
+ ALIAS("x.sc", "X.c2sc"),
+ ALIAS("y.sc", "Y.c2sc"),
+ ALIAS("z.sc", "Z.c2sc"),
  {{004,004,004,004,004,004,004,000,000}, 0x007c, "bar" },
 
  /* Latin-1 supplement */
@@ -544,6 +596,7 @@ static struct glyph {
  {{004,012,016,021,037,021,021,000,000}, 0x00c2, "Acircumflex" },
  {{005,012,016,021,037,021,021,000,000}, 0x00c3, "Atilde" },
  {{017,024,024,026,034,024,027,000,000}, 0x00c6, "AE" },
+ ALIAS("AE.c2sc", "uni1D01"),
  {{016,021,020,020,020,021,016,004,010}, 0x00c7, "Ccedilla" },
  {{010,004,037,020,036,020,037,000,000}, 0x00c8, "Egrave" },
  {{004,012,037,020,036,020,037,000,000}, 0x00ca, "Ecircumflex" },
@@ -553,6 +606,7 @@ static struct glyph {
  {{004,012,000,016,004,004,016,000,000}, 0x00ce, "Icircumflex" },
  {{012,000,016,004,004,004,016,000,000}, 0x00cf, "Idieresis" },
  {{016,011,011,035,011,011,016,000,000}, 0x00d0, "Eth" },
+ ALIAS("Eth.c2sc", "uni1D06"),
  {{005,012,000,031,025,023,021,000,000}, 0x00d1, "Ntilde" },
  {{010,004,016,021,021,021,016,000,000}, 0x00d2, "Ograve" },
  {{002,004,016,021,021,021,016,000,000}, 0x00d3, "Oacute" },
@@ -565,11 +619,15 @@ static struct glyph {
  {{004,012,000,021,021,021,016,000,000}, 0x00db, "Ucircumflex" },
  {{002,004,021,012,004,004,004,000,000}, 0x00dd, "Yacute" },
  {{020,036,021,021,036,020,020,000,000}, 0x00de, "Thorn" },
+ {{000,000,020,036,021,036,020,000,000}, 0xf1c2, "Thorn.c2sc" },
+ ALIAS("germandbls.sc", "uni1E9E.c2sc"),
  {{002,004,016,001,017,021,017,000,000}, 0x00e1, "aacute" },
  {{005,012,016,001,017,021,017,000,000}, 0x00e3, "atilde" },
  {{000,000,012,005,017,024,016,000,000}, 0x00e6, "ae" },
+ ALIAS("ae.sc", "AE.c2sc"),
  {{002,004,000,014,004,004,016,000,000}, 0x00ed, "iacute" },
  {{032,004,012,001,017,021,016,000,000}, 0x00f0, "eth" },
+ ALIAS("eth.sc", "Eth.c2sc"),
  {{005,012,036,021,021,021,021,000,000}, 0x00f1, "ntilde" },
  {{002,004,000,016,021,021,016,000,000}, 0x00f3, "oacute" },
  {{004,012,000,016,021,021,016,000,000}, 0x00f4, "ocircumflex" },
@@ -578,6 +636,7 @@ static struct glyph {
  {{002,004,021,021,021,021,017,000,000}, 0x00fa, "uacute" },
  {{002,004,021,021,021,021,017,001,016}, 0x00fd, "yacute" },
  {{020,020,036,021,021,021,036,020,020}, 0x00fe, "thorn" },
+ ALIAS("thorn.sc", "Thorn.c2sc"),
  {{012,000,021,021,021,021,017,001,016}, 0x00ff, "ydieresis" },
 
  /* Latin extended-A */
@@ -640,7 +699,9 @@ static struct glyph {
  {{016,000,016,021,021,021,016,000,000}, 0x014c, "Omacron" },
  {{000,016,000,016,021,021,016,000,000}, 0x014d, "omacron" },
  {{017,024,024,026,024,024,017,000,000}, 0x0152, "OE" },
+ ALIAS("OE.c2sc", "uni0276"),
  {{000,000,012,025,027,024,013,000,000}, 0x0153, "oe" },
+ ALIAS("oe.sc", "OE.c2sc"),
  {{002,004,036,021,036,022,021,000,000}, 0x0154, "Racute" },
  {{001,002,013,014,010,010,010,000,000}, 0x0155, "racute" },
  {{012,004,036,021,036,022,021,000,000}, 0x0158, "Rcaron" },
@@ -1167,6 +1228,7 @@ static struct glyph {
  {{020,020,036,021,021,021,021,000,016}, U(1E96) }, /* Hmacronbelow */
  {{025,004,016,004,004,004,002,000,000}, U(1E97) }, /* tdieresis */
  {{016,021,022,022,021,021,026,000,000}, U(1E9E) }, /* Germandbls */
+ {{000,000,016,021,022,021,026,000,000}, 0xf1c1, "uni1E9E.c2sc" },
  {{004,012,021,021,037,021,021,000,004}, U(1EA0) }, /* Adotbelow */
  {{000,000,016,001,017,021,017,000,004}, U(1EA1) }, /* adotbelow */
  {{037,020,020,036,020,020,037,000,004}, U(1EB8) }, /* Edotbelow */
@@ -2277,43 +2339,6 @@ static struct glyph {
  {{004,012,012,004,037,012,021,037,012}, U(1FBC9) }, /* ... wearing dress */
  {{004,012,021,021,025,033,021,000,000}, U(1FBCA) }, /* white chevron up */
  
- /* Latin small caps */
- ALIAS("a.sc", "uni1D00"), ALIAS("A.c2sc", "a.sc"),
- ALIAS("b.sc", "uni0299"), ALIAS("B.c2sc", "b.sc"),
- ALIAS("c.sc", "uni1D04"), ALIAS("C.c2sc", "c.sc"),
- ALIAS("d.sc", "uni1D05"), ALIAS("D.c2sc", "d.sc"),
- ALIAS("e.sc", "uni1D07"), ALIAS("E.c2sc", "e.sc"),
- ALIAS("f.sc", "uniA730"), ALIAS("F.c2sc", "f.sc"),
- ALIAS("g.sc", "uni0262"), ALIAS("G.c2sc", "g.sc"),
- ALIAS("h.sc", "uni029C"), ALIAS("H.c2sc", "h.sc"),
- ALIAS("i.sc", "uni026A"), ALIAS("I.c2sc", "i.sc"),
- ALIAS("j.sc", "uni1D0A"), ALIAS("J.c2sc", "j.sc"),
- ALIAS("k.sc", "uni1D0B"), ALIAS("K.c2sc", "k.sc"),
- ALIAS("l.sc", "uni029F"), ALIAS("L.c2sc", "l.sc"),
- ALIAS("m.sc", "uni1D0D"), ALIAS("M.c2sc", "m.sc"),
- ALIAS("n.sc", "uni0274"), ALIAS("N.c2sc", "n.sc"),
- ALIAS("o.sc", "uni1D0F"), ALIAS("O.c2sc", "o.sc"),
- ALIAS("p.sc", "uni1D18"), ALIAS("P.c2sc", "p.sc"),
- ALIAS("q.sc", "uniA7AF"), ALIAS("Q.c2sc", "q.sc"),
- ALIAS("r.sc", "uni0280"), ALIAS("R.c2sc", "r.sc"),
- ALIAS("s.sc", "uniA731"), ALIAS("S.c2sc", "s.sc"),
- ALIAS("t.sc", "uni1D1B"), ALIAS("T.c2sc", "t.sc"),
- ALIAS("u.sc", "uni1D1C"), ALIAS("U.c2sc", "u.sc"),
- ALIAS("v.sc", "uni1D20"), ALIAS("V.c2sc", "v.sc"),
- ALIAS("w.sc", "uni1D21"), ALIAS("W.c2sc", "w.sc"),
- {{000,000,021,012,004,012,021,000,000}, 0xf1c0, "x.sc" },
- ALIAS("X.c2sc", "x.sc"),
- ALIAS("y.sc", "uni028F"), ALIAS("Y.c2sc", "y.sc"),
- ALIAS("z.sc", "uni1D22"), ALIAS("Z.c2sc", "z.sc"),
- {{000,000,016,021,022,021,026,000,000}, 0xf1c1, "germandbls.sc" },
- ALIAS("uni1E9E.c2sc", "germandbls.sc"),
- ALIAS("ae.sc", "uni1D01"), ALIAS("AE.c2sc", "ae.sc"),
- ALIAS("eth.sc", "uni1D06"), ALIAS("Eth.c2sc", "eth.sc"),
- ALIAS("oe.sc", "uni0276"), ALIAS("OE.c2sc", "oe.sc"),
- {{000,000,020,036,021,036,020,000,000}, 0xf1c2, "thorn.sc" },
- ALIAS("Thorn.c2sc", "thorn.sc"),
-
  /*
   * Backward compatibility aliases.  These are glyphs whose name has
   * changed and where we want to keep the old name working.  All of