chiark / gitweb /
Use a macro to emit <SingleSubst> elements
authorBen Harris <bjh21@bjh21.me.uk>
Tue, 14 Jan 2025 23:35:18 +0000 (23:35 +0000)
committerBen Harris <bjh21@bjh21.me.uk>
Tue, 14 Jan 2025 23:35:18 +0000 (23:35 +0000)
bedstead.c

index b84b42c4d92287fcc012ce7448de6c6d678a8e3e..227522c59bc6c16e925eacebfabd9ff6346153d6 100644 (file)
@@ -2761,17 +2761,18 @@ static struct gsub_feature {
        { "smcp", SCRIPT_LATN, .suffix = ".sc" },
        { "c2sc", SCRIPT_LATN, .suffix = ".c2sc" },
        { "rtlm", SCRIPT_ALL, .suffix = ".rtlm" },
-#define SINGLESUB(in, out) "<Substitution in='" in "' out='" out "'/>\n"
-#define SUFFIXSUB(base, suffix) SINGLESUB(base, base suffix)
+#define SUB(in, out) "<Substitution in='" in "' out='" out "'/>\n"
+#define SUFFIXSUB(base, suffix) SUB(base, base suffix)
+#define SINGLESUB(x) "<SingleSubst>\n" x "</SingleSubst>\n"
 #define VAR2 SUFFIXSUB
        { "ss01", SCRIPT_ALL, .name = "SAA5051",
-         .xml = "<SingleSubst>\n" CV12 CV14 CV26 CV27 CV31
-         SUFFIXSUB("D", ".serif") CV42 CV44 CV74 CV84 "</SingleSubst>\n" },
+         .xml = SINGLESUB(CV12 CV14 CV26 CV27 CV31
+                           SUFFIXSUB("D", ".serif") CV42 CV44 CV74 CV84) },
        { "ss02", SCRIPT_ALL, .name = "SAA5052",
-         .xml = "<SingleSubst>\n" CV12 CV14 CV26 CV27 CV31
-         SUFFIXSUB("D", ".narrow") CV42 CV44 CV74 CV84 "</SingleSubst>\n" },
+         .xml = SINGLESUB(CV12 CV14 CV26 CV27 CV31
+                          SUFFIXSUB("D", ".narrow") CV42 CV44 CV74 CV84) },
        { "ss04", SCRIPT_ALL, .name = "SAA5054",
-         .xml = "<SingleSubst>\n" CV61 CV79 CV96 "</SingleSubst>\n" },
+         .xml = SINGLESUB(CV61 CV79 CV96) },
 #define ALT1(g) "<Alternate glyph='" g "'/>"
 #define ALT2(a, b) ALT1(a) ALT1(b)
 #define ALT3(a, b, c) ALT1(a) ALT2(b, c)