chiark / gitweb /
Generate *.sep6 aliases the same way as contiguous versions
authorBen Harris <bjh21@bjh21.me.uk>
Mon, 23 Sep 2024 14:16:36 +0000 (15:16 +0100)
committerBen Harris <bjh21@bjh21.me.uk>
Mon, 23 Sep 2024 14:16:36 +0000 (15:16 +0100)
That is, not generating aliases at all, becuase that's simpler and
actually makes the OTF file smaller.  Which makes me wonder if all
aliases should be done the same way, leaving FontForge to
automatically factor out common bits.

bedstead.c

index 31c07c04f49a422bf48e8e1fa090fa29b99a5c54..e332f462e3607613f8a9179a78121c1b91933f81 100644 (file)
@@ -2566,25 +2566,20 @@ static struct glyph {
  
  /*
   * Further compatibility aliases, added in 002.007 when Unicode 16
-  * gave proper code points for separated 6-cell mosaic graphics.
+  * gave proper code points for separated 6-cell mosaic graphics.  Not
+  * actually implemented as aliases because it's simpler to directly
+  * generate the glyphs and the OTF file is smaller this way.
   */
-#define A6(x, y) ALIAS("u1FB" #x ".sep6", "u1CE" #y)
- /*       */ A6(00, 51), A6(01, 52), A6(02, 53),
- A6(03, 54), A6(04, 55), A6(05, 56), A6(06, 57),
- A6(07, 58), A6(08, 59), A6(09, 5A), A6(0A, 5B),
- A6(0B, 5C), A6(0C, 5D), A6(0D, 5E), A6(0E, 5F),
- A6(0F, 60), A6(10, 61), A6(11, 62), A6(12, 63),
- A6(13, 64), /* lfblk */ A6(14, 66), A6(15, 67),
- A6(16, 68), A6(17, 69), A6(18, 6A), A6(19, 6B),
- A6(1A, 6C), A6(1B, 6D), A6(1C, 6E), A6(1D, 6F),
- A6(1E, 70), A6(1F, 71), A6(20, 72), A6(21, 73),
- A6(22, 74), A6(23, 75), A6(24, 76), A6(25, 77),
- A6(26, 78), A6(27, 79), /* rtblk */ A6(28, 7B),
- A6(29, 7C), A6(2A, 7D), A6(2B, 7E), A6(2C, 7F),
- A6(2D, 80), A6(2E, 81), A6(2F, 82), A6(30, 83),
- A6(31, 84), A6(32, 85), A6(33, 86), A6(34, 87),
- A6(35, 88), A6(36, 89), A6(37, 8A), A6(38, 8B),
- A6(39, 8C), A6(3A, 8D), A6(3B, 8E), /* block */
+#define M(u) { {0x ## u * 21 / 20 + 1}, -1, "u1FB" #u ".sep6", MOS6 }
+ /* */  M(00), M(01), M(02), M(03), M(04), M(05), M(06),
+ M(07), M(08), M(09), M(0A), M(0B), M(0C), M(0D), M(0E),
+ M(0F), M(10), M(11), M(12), M(13),        M(14), M(15),
+ M(16), M(17), M(18), M(19), M(1A), M(1B), M(1C), M(1D),
+ M(1E), M(1F), M(20), M(21), M(22), M(23), M(24), M(25),
+ M(26), M(27),        M(28), M(29), M(2A), M(2B), M(2C),
+ M(2D), M(2E), M(2F), M(30), M(31), M(32), M(33), M(34),
+ M(35), M(36), M(37), M(38), M(39), M(3A), M(3B),
+#undef M
  ALIAS("lfblock.sep6", "u1CE65"),
  ALIAS("rtblock.sep6", "u1CE7A"),
  ALIAS("block.sep6", "u1CE8F"),