From 4821654490ca07f61eec5aafc473f2a6cde31f77 Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Sat, 28 Mar 2020 20:15:04 +0000 Subject: [PATCH] Put Latin small caps at their proper Unicode code points 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 | 52 +++++++++++++++++++++++++++++++++++----------------- 1 file changed, 35 insertions(+), 17 deletions(-) diff --git a/bedstead.c b/bedstead.c index d37808b..82a839e 100644 --- a/bedstead.c +++ b/bedstead.c @@ -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"), -- 2.30.2