From: Ben Harris Date: Tue, 6 Oct 2009 19:43:37 +0000 (+0100) Subject: Arrange to connect many Arabix glyphs to the left to help with joined-up X-Git-Tag: bedstead-000.900~20 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~bjharris/git?a=commitdiff_plain;h=7e120835993bcfb2c717ba0e96557bf45284077a;p=bedstead.git Arrange to connect many Arabix glyphs to the left to help with joined-up writing. --- diff --git a/ttxt.c b/ttxt.c index e20bb3b..bd6a297 100644 --- a/ttxt.c +++ b/ttxt.c @@ -67,6 +67,10 @@ * There are some extra glyphs included as well, some derived from * standard ones and some made from whole cloth. They are built on * the same 5x9 matrix as the originals, and processed in the same way. + * In general, they leave the left column and bottom row of a 6x10 box + * empty, but there is one exception: Arabic glyphs which connect to + * the left have one pixel set in the left column, on the assumption + * that a decent Arabic character generator would have to do this too. */ #include @@ -357,37 +361,39 @@ struct glyph { * The second batch of glyphs was found in the appendices to * "Displayable Character Sets for Broadcast Teletext", EBU Tech * 3232-E, second edition, June 1982, as examples of rendering - * characters in a 5x9 matrix + * characters in a 5x9 matrix. These versions have an extra pixel + * added on the left side of many glyphs to connect to the next + * letter. */ /* ASV-CODAR glyphs from Appendix 3 */ {{001,001,001,001,001,001,000,000,000}, 0x0627, "asvcodar-alef" }, - {{000,000,000,001,001,037,000,004,000}, 0x0628, "asvcodar-beh" }, - {{000,012,000,001,001,037,000,000,000}, 0x062a, "asvcodar-teh" }, - {{004,012,000,001,001,037,000,000,000}, 0x062b, "asvcodar-theh" }, - {{000,000,010,024,002,037,000,004,000}, 0x062c, "asvcodar-jeem" }, - {{000,000,010,024,002,037,000,000,000}, 0x062d, "asvcodar-hah" }, - {{004,000,010,024,002,037,000,000,000}, 0x062e, "asvcodar-khah" }, + {{000,000,000,001,001,077,000,004,000}, 0x0628, "asvcodar-beh" }, + {{000,012,000,001,001,077,000,000,000}, 0x062a, "asvcodar-teh" }, + {{004,012,000,001,001,077,000,000,000}, 0x062b, "asvcodar-theh" }, + {{000,000,010,024,002,077,000,004,000}, 0x062c, "asvcodar-jeem" }, + {{000,000,010,024,002,077,000,000,000}, 0x062d, "asvcodar-hah" }, + {{004,000,010,024,002,077,000,000,000}, 0x062e, "asvcodar-khah" }, {{000,004,002,001,001,017,000,000,000}, 0x062f, "asvcodar-dal" }, {{001,004,002,001,001,017,000,000,000}, 0x0630, "asvcodar-thal" }, {{000,000,000,001,001,001,002,004,010}, 0x0631, "asvcodar-ra" }, {{000,004,000,001,001,001,002,004,010}, 0x0632, "asvcodar-zain" }, - {{000,000,000,025,025,037,000,000,000}, 0x0633, "asvcodar-seen" }, - {{004,012,000,025,025,037,000,000,000}, 0x0634, "asvcodar-sheen" }, - {{000,000,000,007,011,037,000,000,000}, 0x0635, "asvcodar-sad" }, - {{000,004,000,007,011,037,000,000,000}, 0x0636, "asvcodar-dad" }, - {{010,010,010,017,011,037,000,000,000}, 0x0637, "asvcodar-tah" }, - {{010,012,010,017,011,037,000,000,000}, 0x0638, "asvcodar-zah" }, - {{000,000,006,010,010,037,000,000,000}, 0x0639, "asvcodar-ain" }, - {{004,000,006,010,010,037,000,000,000}, 0x063a, "asvcodar-ghain" }, - {{002,000,002,005,003,037,000,000,000}, 0x0641, "asvcodar-feh" }, - {{012,000,002,005,003,037,000,000,000}, 0x0642, "asvcodar-qaf" }, - {{001,002,004,016,001,037,000,000,000}, 0x0643, "asvcodar-kaf" }, - {{001,001,001,001,001,037,000,000,000}, 0x0644, "asvcodar-lam" }, - {{000,000,000,000,006,031,006,000,000}, 0x0645, "asvcodar-meem" }, - {{000,004,000,001,001,037,000,000,000}, 0x0646, "asvcodar-noon" }, - {{000,006,001,015,013,037,000,000,000}, 0xfeeb, "asvcodar-hehinitial" }, + {{000,000,000,025,025,077,000,000,000}, 0x0633, "asvcodar-seen" }, + {{004,012,000,025,025,077,000,000,000}, 0x0634, "asvcodar-sheen" }, + {{000,000,000,007,011,077,000,000,000}, 0x0635, "asvcodar-sad" }, + {{000,004,000,007,011,077,000,000,000}, 0x0636, "asvcodar-dad" }, + {{010,010,010,017,011,077,000,000,000}, 0x0637, "asvcodar-tah" }, + {{010,012,010,017,011,077,000,000,000}, 0x0638, "asvcodar-zah" }, + {{000,000,006,010,010,077,000,000,000}, 0x0639, "asvcodar-ain" }, + {{004,000,006,010,010,077,000,000,000}, 0x063a, "asvcodar-ghain" }, + {{002,000,002,005,003,077,000,000,000}, 0x0641, "asvcodar-feh" }, + {{012,000,002,005,003,077,000,000,000}, 0x0642, "asvcodar-qaf" }, + {{001,002,004,016,001,077,000,000,000}, 0x0643, "asvcodar-kaf" }, + {{001,001,001,001,001,077,000,000,000}, 0x0644, "asvcodar-lam" }, + {{000,000,000,000,006,071,006,000,000}, 0x0645, "asvcodar-meem" }, + {{000,004,000,001,001,077,000,000,000}, 0x0646, "asvcodar-noon" }, + {{000,006,001,015,013,077,000,000,000}, 0xfeeb, "asvcodar-hehinitial" }, {{000,000,000,003,005,007,001,001,016}, 0x0648, "asvcodar-waw" }, - {{000,000,000,001,001,037,000,012,000}, 0x064a, "asvcodar-yeh" }, + {{000,000,000,001,001,077,000,012,000}, 0x064a, "asvcodar-yeh" }, {{000,000,006,010,010,006,010,000,000}, 0x0621, "asvcodar-hamza" }, {{000,000,000,003,025,025,034,000,012}, 0xfef2, "asvcodar-yehfinal" }, {{000,000,000,003,025,025,034,000,000}, 0x0649, "asvcodar-alefmaksura" }, @@ -397,36 +403,36 @@ struct glyph { {{015,011,015,001,001,001,000,000,000}, 0x0623, "asvcodar-hamzaonalef" }, {{001,001,001,001,015,011,014,000,000}, 0x0625, "asvcodar-hamzaunderalef" }, {{017,010,001,001,001,001,001,000,000}, 0x0622, "asvcodar-maddaonalef" }, - {{014,010,014,001,001,037,000,000,000}, -1, "asvcodar-37" }, + {{014,010,014,001,001,077,000,000,000}, -1, "asvcodar-37" }, {{014,010,014,000,003,005,024,022,036}, 0x0626, "asvcodar-hamzaonyeh" }, {{030,020,030,003,005,007,001,001,016}, 0x0624, "asvcodar-hamzaonwaw" }, {{007,000,000,000,000,000,000,000,000}, 0xfe76, "asvcodar-fatha" }, - {{007,000,000,000,000,037,000,000,000}, 0xfe77, "asvcodar-fathatatweel" }, + {{007,000,000,000,000,077,000,000,000}, 0xfe77, "asvcodar-fathatatweel" }, {{003,001,002,000,000,000,000,000,000}, 0xfe78, "asvcodar-damma" }, - {{003,001,002,000,000,037,000,000,000}, 0xfe79, "asvcodar-dammatatweel" }, + {{003,001,002,000,000,077,000,000,000}, 0xfe79, "asvcodar-dammatatweel" }, {{000,000,000,000,000,000,000,000,007}, 0xfe7a, "asvcodar-kasra" }, - {{000,000,000,000,000,037,000,000,007}, 0xfe7b, "asvcodar-kasratatweel" }, + {{000,000,000,000,000,077,000,000,007}, 0xfe7b, "asvcodar-kasratatweel" }, {{007,000,005,007,000,000,000,000,000}, -1, "asvcodar-46" }, {{003,001,002,000,005,007,000,000,000}, -1, "asvcodar-47" }, {{005,007,000,007,000,000,000,000,000}, -1, "asvcodar-48" }, - {{005,007,000,007,000,037,000,000,000}, -1, "asvcodar-49" }, - {{007,000,005,007,000,037,000,000,000}, -1, "asvcodar-50" }, - {{005,007,000,000,000,037,000,000,000}, 0xfe7d, "asvcodar-shaddatatweel" }, + {{005,007,000,007,000,077,000,000,000}, -1, "asvcodar-49" }, + {{007,000,005,007,000,077,000,000,000}, -1, "asvcodar-50" }, + {{005,007,000,000,000,077,000,000,000}, 0xfe7d, "asvcodar-shaddatatweel" }, {{005,007,000,000,000,000,000,000,000}, 0xfe7c, "asvcodar-shadda" }, {{002,005,002,000,000,000,000,000,000}, 0xfe7e, "asvcodar-sukun" }, - {{002,005,002,000,000,037,000,000,000}, 0xfe7f, "asvcodar-sukuntatweel" }, + {{002,005,002,000,000,077,000,000,000}, 0xfe7f, "asvcodar-sukuntatweel" }, {{016,016,000,000,000,000,000,000,000}, 0xfe70, "asvcodar-fathatan" }, {{033,011,022,000,000,000,000,000,000}, -1, "asvcodar-56" }, {{000,000,000,000,000,000,000,016,016}, 0xfe74, "asvcodar-kasratan" }, - {{030,010,025,007,000,037,000,000,000}, -1, "asvcodar-58" }, + {{030,010,025,007,000,077,000,000,000}, -1, "asvcodar-58" }, {{007,007,005,007,000,000,000,000,000}, -1, "asvcodar-59" }, {{033,011,022,000,005,007,000,000,000}, -1, "asvcodar-60" }, {{012,016,000,016,016,000,000,000,000}, -1, "asvcodar-61" }, - {{014,010,002,005,003,037,000,000,000}, -1, "asvcodar-62" }, - {{000,000,000,001,001,037,000,012,004}, -1, "asvcodar-63" }, - {{005,012,024,016,001,037,000,000,000}, -1, "asvcodar-64" }, + {{014,010,002,005,003,077,000,000,000}, -1, "asvcodar-62" }, + {{000,000,000,001,001,077,000,012,004}, -1, "asvcodar-63" }, + {{005,012,024,016,001,077,000,000,000}, -1, "asvcodar-64" }, /* Arabic-Indic digits from Appendix 9 */ {{000,000,000,004,000,000,000,000,000}, 0x0660 }, /* zero */