Sun 20 Aug 2017 10:57:54 PM UTC, original submission:
Minor problems
Some base glyphs, ignoring ascenders and descenders, do not lie between rows 6 and 12, e.g. U+1A2E and U+1A45.
The glyphs generally are correct on their own but inconsistent with each other. For example, U+1A23 and U+1A37 are circles opened at the bottom and top respectively; they should be horizontally symmetrical, but the latter glyph is taller.
U+1A3E TAI THAM LETTER MA is a closed circle. It should be open at the top.
U+1A69 TAI THAM VOWEL SIGN U has an stray pixel above.
U+1A7F TAI THAM COMBINING CRYPTOGRAMMIC DOT is meant to be used multiple times on the same base. The number of dots determines the cryptogrammic reading. Obviously, Unifont overlays them all on each other. I suggest making it a spacing glyph of a low dot: it is wrong but it is less wrong.
Major problem
As in Myanmar, Tai Tham puts vowel signs and other diacritics all around base consonants. One of the pre-base vowels, U+1A6F TAI THAM VOWEL SIGN AE, is so wide there is no way to fit all the marks within two cells: U+1A6F is two circles wide, many consonants are two circles wide, and the post-base vowel signs are one circle wide. That leaves three or four columns per circle, which is too little.
The solution is similar to that for Myanmar: to give the post-base marks 1-cell-wide spacing glyphs and reserve the left 5 columns of each consonant for pre-base vowel signs. (A reason to not do this would be if above-base marks could follow post-base marks, in which case the above-base marks would no longer be above the consonant. It turns out this can happen: U+1A74 TAI THAM SIGN MAI KANG can follow U+1A63 TAI THAM VOWEL SIGN AA; luckily, the Khün style of Tai Tham puts the mai kang above the aa so this solution does not create an unattested configuration.)
Tai Tham allows multiple vowel signs in the same position relative to the same base. I tried to make combinations mentioned in http://wrdingham.co.uk/lanna/renderer_test.htm look good, but since pretty much any permutation of marks is valid, I didn’t test everything.
My suggested glyphs generally use fewer pixels than their current counterparts. This is because more pixels mean more overlaps. I tried to use the simplest attested glyphs without extra filigrees, rings, and kinks.
1A20:0000000000000000000001B80244042204220422024400180000000000000000
1A21:0000000000000000000001E00210000801E80218021801E40000000000000000
1A22:01F0020002000200020002E00310000801E80218021801E40000000000000000
1A23:0000000000000000000000F00108020402040204010800900000000000000000
1A24:01E0020002000200020002F00308020402040204010800900000000000000000
1A25:0000000000000000000002800554005200920112015200AC0000000000000000
1A26:0000000000000000000000F00108020401040204026401940000000000000000
1A27:0000000000000000000000E00110008800480088011000E00000000000000000
1A28:0000000000400040002001980244002200220022024401B80000000000000000
1A29:0000000000000000000000780084010401080104008400640000000000000000
1A2A:01F0020002000200020002F00308020802100208010800C80000000000000000
1A2B:0000000000400040002001980244022201220222024401B80000000000000000
1A2C:0000000000000000000001980244002200220022024403B802000202020201FC
1A2D:0000000000000000000001100288020401040204024801B00000000000000000
1A2E:0000000000000000000001100288020401040204020C01F4000401E4020801F0
1A2F:0000000000000000000000E00110000800080010006000980004000000000000
1A30:00000000000000000000014002A800240044008400A800500000000000000000
1A31:0000000000000000000000880154025202520252012400880000000000000000
1A32:0000000000000000000001B80244042204220422024401980000000000000000
1A33:0000000000000000000001F00208010400A40114025401A40000000000000000
1A34:0000000000000000000001380244020802100208010400F80000000000000000
1A35:0000000000000000000000F00108020402040204016800900000000000000000
1A36:0000000000000000000000E00110020002000200017000880004000000000000
1A37:0000000000000000000000900108020402040204010800F00000000000000000
1A38:0000000300040008000800080108020802080208011000E00000000000000000
1A39:0000000000000000000001080294021401140214024801B40000000000000000
1A3A:01F802040200020001FC00040104020401040204014800B00000000000000000
1A3B:0000000000000000000000900168020402040204010800900000000000000000
1A3C:01F0020002000200020002900368020402040204010800900000000000000000
1A3D:0000000000000000000001B80244002200220022024401980000000000000000
1A3E:0000000000000000000000900108020402040274010800F40002000000000000
1A3F:0000000000000000000000180244042204220422024401B80000000000000000
1A40:0003000400040004000401C40204020401840204020801F00000000000000000
1A41:0000000000000000000001C00220011000880248022401C40000000000000000
1A42:00000000000000000000011002A8024401040004000401F4020C024401FA0010
1A43:0000000000000000000001980244044204420422022401980000000000000000
1A44:0000000000000000000001E002100008000801F0000801E80218024801F40010
1A45:0000000000000000000000F00108020402040204010800F00000000000000000
1A46:0000000000000000000200F40108027402040204010800900000000000000000
1A47:000000000000000000000198024400220022002A024401BA0000000000000000
1A48:0000000000000000000001980244002200220022024401B80000000000000000
1A49:0000000000000000000001980224042204420442024401980000000000000000
1A4A:0000000000000000000000F001080204010402040264019401000138010400F8
1A4B:0000000000000000000001B80244002200220022024401980004000200000000
1A4C:000000000000000000000198022404220442044202440198000800C8010800F0
1A4D:0000000000000000000001980264020402040108000001F00208026402A40104
1A4E:007E00810080007F000101990265020502050109000101F10209026502A50106
1A4F:0000000000000000000000F00108000400040204030802F002000200010800F0
1A50:01E0020202020202020002F00308000400040204030802F002000200010800F0
1A51:0000000000000000000000F001080204020402040208027002000200010800F0
1A52:0600080008000800080009B80A440822082208220A4409980804080208000600
1A53:0003000400040004000401840244044404440424022401980000000000000000
1A54:000000000000000000000124029200490049004902DA01240000000000000000
1A55:0600080008000800080008000800080008000800080008000800080008000600
1A56:0000000000000000000000000000000000000000000000000330048804480330
1A57:00000000000000060001000100010001000100010001000101C1022D0222011D
1A58:06080608060000000000000000000000
1A59:00F80104016200A2000200000000000000000000000000000000000000000000
1A5A:28544428000000000000000000000000
1A5B:000000000000000000000000000000000000000000040004000401E4020801F0
1A5C:00000000000000000000000000000000000000000000000000000128011800F4
1A5D:00000000000000000000000000000000000000000000000000000090010800F0
1A5E:00000000000000000000000000000000000000000000000000000198004401B8
1A60:00000000000000000000000000020702
1A61:00000000003854220038542200000000
1A62:00081020000000000000000000000000
1A63:00000000003844020202443800000000
1A64:00007884840404040404040400000000
1A65:00F0010801080090000000000000000000000000000000000000000000000000
1A66:00F0010801100088000000000000000000000000000000000000000000000000
1A67:00F8010401240088000000000000000000000000000000000000000000000000
1A68:01D8022402240148000000000000000000000000000000000000000000000000
1A69:00000000000000000000000020203000
1A6A:000000000000000000000000A0A0B000
1A6B:00000000003C0032000100000000000000000000000000000000000000000000
1A6C:0000000000000000000000000000000000000000000000000800100011000EF0
1A6D:00010101010101010101010105090906
1A6E:000000000000000000006000900080008000B000B00060000000000000000000
1A6F:000000000000000000005000A800A000A000F000A80050000000000000000000
1A70:0000600090008000800060009000800080008000900060000000000000000000
1A71:0000800040002000100070009000800080008000900060000000000000000000
1A72:0000600090001000100070009000800080008000900060000000000000000000
1A73:002000200050018C000000000000000000000000000000000000000000000000
1A74:0100028001000000000000000000000000000000000000000000000000000000
1A75:00020202000000000000000000000000
1A76:0000002001400080000000000000000000000000000000000000000000000000
1A77:00081422000000000000000000000000
1A78:01010109060000000000000000000000
1A79:0C020C08060000000000000000000000
1A7A:38249272000000000000000000000000
1A7B:060B0A0A000000000000000000000000
1A7C:1A249060000000000000000000000000
1A7F:00000000000000000000000030484830
1A80:00000000001C22414141221C00000000
1A81:00000000003844020202443800000000
1A82:0000000000010101010101014141221C
1A83:00000000384402020244382010100804
1A84:000000001C22404040221C0408081020
1A85:00000000001C2241714931014141221C
1A86:1C22414046494E484741221C00000000
1A87:00000000003844444444442404040403
1A88:00000000001C22414151291200000000
1A89:000000001C224147484E49464041221C
1A90:00000000001C22414141221C00000000
1A91:00000000021A26404050281000000000
1A92:1C224141414040404060502000000000
1A93:000000000100010000801C70220801040104010422881C700000000000000000
1A94:00000000002649424442213E202E211E
1A95:02020418204649424442213E00000000
1A96:01020202022252422242522C00000000
1A97:00000000002452412141522C00000000
1A98:0000000000000000000018C02520421040102060004003F8044409F20A490431
1A99:000000000000000000000E181104208220822882144408380000000000000000
1AA0:0000000003E004900888108410841FFC108410840888049003E0000000000000
1AA1:00000000038004800880108010801FFC108410840888049003E0000000000000
1AA2:0012004C003800D000201CC0222001100110011022201DC00000000000000000
1AA3:000000000080014001C002200C9815540C98022001C001400080000000000000
1AA4:0000000000000FE0101027C8282829C8281027E0100C0FF00000000000000000
1AA5:000003E00220094815540AA865535A2D44115A2D65530AA815540948022003E0
1AA6:000001C00220041004100190026002000260019004100410022001C000000000
1AA7:000000000000000003B004480A48040800080010006001800200040004000400
1AA8:00000000000808080808080800000000
1AA9:00000000002424242424242400000000
1AAA:00000000001020241C04040400000000
1AAB:000000000022424A3A0A0A0A00000000
1AAC:000000380004000401C4022800300E201140018011000E000000000000000000
1AAD:0000000000102850442241414141221C
1A55:-16
1A56:-16
1A57:-16
1A58:-8
1A59:-16
1A5A:-8
1A5B:-16
1A5C:-16
1A5D:-16
1A5E:-16
1A60:-8
1A61:-8
1A62:-8
1A63:-8
1A64:-8
1A65:-16
1A66:-16
1A67:-16
1A68:-16
1A69:-8
1A6A:-8
1A6B:-16
1A6C:-16
1A6D:-8
1A6E:-16
1A6F:-16
Remove from plane00-combining.txt:
1A61
1A63
1A64
1A7F
The only special cases needed in unibmp2hex:
1A55
1A6E
1A6F
1A70
1A71
1A72
|