chiark / gitweb /
Put Latin small caps at their proper Unicode code points
authorBen Harris <bjh21@bjh21.me.uk>
Sat, 28 Mar 2020 20:15:04 +0000 (20:15 +0000)
committerBen Harris <bjh21@bjh21.me.uk>
Sat, 28 Mar 2020 20:15:04 +0000 (20:15 +0000)
There are Unicode code points for most Latin small capital letters, so
we may as well make our existing designs for them available under those
code points.  The glyphs generated by the 'smcp' and 'c2sc' lookups are
now aliases for the canonical Unicode versions.

bedstead.c

index d37808b2e0f1df708e59fc66fbe6f8ceacef91a2..82a839e968e86925415c84274ba55b89d11655b3 100644 (file)
@@ -988,6 +988,20 @@ static struct glyph {
 #endif
  
  /* Phonetic extensions */
+ {{000,000,016,021,037,021,021,000,000}, U(1D00) }, /* small cap A */
+ {{000,000,016,021,020,021,016,000,000}, U(1D04) }, /* small cap C */
+ {{000,000,036,021,021,021,036,000,000}, U(1D05) }, /* small cap D */
+ {{000,000,037,020,036,020,037,000,000}, U(1D07) }, /* small cap E */
+ {{000,000,001,001,001,021,016,000,000}, U(1D0A) }, /* small cap J */
+ {{000,000,021,022,034,022,021,000,000}, U(1D0B) }, /* small cap K */
+ {{000,000,021,033,025,021,021,000,000}, U(1D0D) }, /* small cap M */
+ {{000,000,016,021,021,021,016,000,000}, U(1D0F) }, /* small cap O */
+ {{000,000,036,021,036,020,020,000,000}, U(1D18) }, /* small cap P */
+ {{000,000,037,004,004,004,004,000,000}, U(1D1B) }, /* small cap T */
+ {{000,000,021,021,021,021,016,000,000}, U(1D1C) }, /* small cap U */
+ {{000,000,021,021,012,012,004,000,000}, U(1D20) }, /* small cap V */
+ {{000,000,021,021,025,025,012,000,000}, U(1D21) }, /* small cap W */
+ {{000,000,037,001,016,020,037,000,000}, U(1D22) }, /* small cap Z */
  {{030,004,034,024,010,000,000,000,000}, U(1D4A) }, /* Superscript schwa */
  {{000,000,000,000,004,000,014,004,016}, U(1D62) }, /* iinferior */
  {{010,024,034,024,010,000,000,000,000}, U(1DBF) }, /* Superscript theta */
@@ -1525,6 +1539,10 @@ static struct glyph {
  /* Latin extended-C */
  {{000,000,022,025,024,024,010,000,000}, U(2C71) }, /* vhook */
 
+ /* Latin extended-D */
+ {{000,000,037,020,036,020,020,000,000}, U(A730) }, /* small cap F */
+ {{000,000,017,020,016,001,036,000,000}, U(A731) }, /* small cap S */
+ {{000,000,016,021,025,022,015,000,000}, U(A7AF) }, /* small cap Q */
  /* Private use */
  /* U+EE00--U+EE7F: zvbi mosaic graphics */
 #define M(x) {{0x##x}, U(EE##x), MOS}
@@ -1641,32 +1659,32 @@ static struct glyph {
  {{004,012,021,021,025,033,021,000,000}, U(1FBCA) }, /* white chevron up */
  
  /* Latin small caps */
{{000,000,016,021,037,021,021,000,000}, -1, "a.sc" }, ALIAS("A.c2sc", "a.sc"),
ALIAS("a.sc", "uni1D00"), ALIAS("A.c2sc", "a.sc"),
  ALIAS("b.sc", "uni0299"), ALIAS("B.c2sc", "b.sc"),
{{000,000,016,021,020,021,016,000,000}, -1, "c.sc" }, ALIAS("C.c2sc", "c.sc"),
{{000,000,036,021,021,021,036,000,000}, -1, "d.sc" }, ALIAS("D.c2sc", "d.sc"),
{{000,000,037,020,036,020,037,000,000}, -1, "e.sc" }, ALIAS("E.c2sc", "e.sc"),
{{000,000,037,020,036,020,020,000,000}, -1, "f.sc" }, ALIAS("F.c2sc", "f.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"),
{{000,000,001,001,001,021,016,000,000}, -1, "j.sc" }, ALIAS("J.c2sc", "j.sc"),
{{000,000,021,022,034,022,021,000,000}, -1, "k.sc" }, ALIAS("K.c2sc", "k.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"),
{{000,000,021,033,025,021,021,000,000}, -1, "m.sc" }, ALIAS("M.c2sc", "m.sc"),
ALIAS("m.sc", "uni1D0D"), ALIAS("M.c2sc", "m.sc"),
  ALIAS("n.sc", "uni0274"), ALIAS("N.c2sc", "n.sc"),
{{000,000,016,021,021,021,016,000,000}, -1, "o.sc" }, ALIAS("O.c2sc", "o.sc"),
{{000,000,036,021,036,020,020,000,000}, -1, "p.sc" }, ALIAS("P.c2sc", "p.sc"),
{{000,000,016,021,025,022,015,000,000}, -1, "q.sc" }, ALIAS("Q.c2sc", "q.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"),
{{000,000,017,020,016,001,036,000,000}, -1, "s.sc" }, ALIAS("S.c2sc", "s.sc"),
{{000,000,037,004,004,004,004,000,000}, -1, "t.sc" }, ALIAS("T.c2sc", "t.sc"),
{{000,000,021,021,021,021,016,000,000}, -1, "u.sc" }, ALIAS("U.c2sc", "u.sc"),
{{000,000,021,021,012,012,004,000,000}, -1, "v.sc" }, ALIAS("V.c2sc", "v.sc"),
{{000,000,021,021,025,025,012,000,000}, -1, "w.sc" }, ALIAS("W.c2sc", "w.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}, -1, "x.sc" }, ALIAS("X.c2sc", "x.sc"),
  ALIAS("y.sc", "uni028F"), ALIAS("Y.c2sc", "y.sc"),
{{000,000,037,001,016,020,037,000,000}, -1, "z.sc" }, ALIAS("Z.c2sc", "z.sc"),
ALIAS("z.sc", "uni1D22"), ALIAS("Z.c2sc", "z.sc"),
  {{000,000,016,021,022,021,026,000,000}, -1, "germandbls.sc" },
  ALIAS("uni1E9E.c2sc", "germandbls.sc"),
  ALIAS("oe.sc", "uni0276"), ALIAS("OE.c2sc", "oe.sc"),