From: Ben Harris Date: Sun, 2 Jun 2024 19:16:27 +0000 (+0100) Subject: Re-organise Latin small caps (no functional change) X-Git-Tag: bedstead-002.007~43 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~bjharris/git?a=commitdiff_plain;h=ae6caa5bd86ab5c81a634d27921a5b6cf25c2f75;p=bedstead.git Re-organise Latin small caps (no functional change) 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. --- diff --git a/bedstead.c b/bedstead.c index ccd88a0..be94582 100644 --- a/bedstead.c +++ b/bedstead.c @@ -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