name family auto "Da Lekh Seri" name identifier auto "Da Lekh Seri" name full_name auto "Da Lekh Seri" name PostScript_name auto "DaLekhSeri" name preferred_family auto "Da Lekh Seri" -- Maintainer should also update localisations of name below! name subfamily auto "Book" name preferred_subfamily auto "Book" name version auto "Version 0.013" -- <<<<<< Master version number! fontRevision auto -- Deduce from entry above. -- Update glyph version_number to keep aligned. name family Microsoft BMP th "ᨯᩣᩃᩮ᩠ᨡᩈᩮᩁᩥ" name full_name Microsoft BMP th "ᨯᩣᩃᩮ᩠ᨡᩈᩮᩁᩥ" name PostScript_name Microsoft BMP th "DaLekhSeri" -- Must be ASCII name subfamily Microsoft BMP th "Book" name manufacturer auto "Richard Wordingham" name vendor_URL auto "http://wrdingham.co.uk" name licence auto "Permission is hereby granted, free of charge, to any person obtaining a copy of this font to reproduce and distribute the Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so. Acknowledgement of authorship would be courteous.\x0aTHE FONT SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE." name licence_URL auto "http://wrdingham.co.uk/lanna/seri_license.htm" name copyright Microsoft BMP en_US "Copyright (c) 2015-9 by Richard Wordingham" -- *Macros*: -- SERI Only use glyphs that are 'free' as in speech, as opposed to -- 'free' as in beer. -- COLOUR Colour to help spell-checking. -- FIX1 Retain fixes for layout engine from Version 0.1. -- FIXUSE Fix dashed circles introduced by USE and its emulators. -- Currently fights wrongful complaints about vowel and tone order, -- and allows syllable-final consonants. -- FIXIOS Fix problems unique to iOS. -- The fixes for rendering engine problems are entirely bracketed by -- conditions that at least one of FIX1, FIXUSE and FIXIOS be set, and -- the aim is that all such fixes are bracketed thus. -- The lookups used to fix rendering engine problems are: -- basic_coeng, tag_coeng, complete_sakot_deletion -- bad_circle USE_allow_sakot_MS_pt1 USE_allow_sakot_MS_pt2 -- bad_circle34 circle_zwnj prune_ghost_ke (for colour) -- mai_kam_action (one chained lookup thereof) -- Part of lookup tag_coeng is for normal operation, where there is the -- risk that the characters will be supplied in NFC or NFD order. -- The Unicode consortium has been given permision to do as they will with -- the Seri version of the fonts, which are free of such fixes except in so -- far as known problems have influenced basic design. To grant such -- permission, the glyphs in those fonts had to be free of encumbrances. -- *Stylistic sets*: -- ss01 The mai kang of normal mai kam remains on the mai kaa. -- ss02 Latin text is rendered as the Tai Tham it transliterates. -- ss03 Only one level of subscript - further subscripts are laid out to -- the right rather than below. The design is still experimental. -- ss04 Tai Tham text is rendered as Latin text symbols and their modifications. -- Making default language use settings for a specific language: -- ss17 Render for Tai Khün (SHN; pukka ISO 639 code is kkh, while Shan -- ISO 639 code is shn) -- ss18 Render for Tai Lü (XBD; ISO 639 khb) -- ss19 Render for Lao (LAO; ISO 639 lo, lao) -- cv01/cv02/cv03 must be used to select mai kang lai treatment different to -- the default for the default language. -- -- Erroneous stylistic sets - only ss01-ss20 are defined! -- ss97 as ss17 -- ss98 as ss18 -- ss99 as ss19 -- cv01/cv02/cv03 must be used to select mai kang lai treatment different to -- the default for the default language. -- *Character Variants*: -- cv01 Mai kang lai remains on preceding character. -- cv02 Mai kang lai moves to immediately following (in logical order) base -- consonant. -- cv03 As for cv02, but will balk at the move if the destination is occupied -- or blocked by medial ra. -- This design might be replaced! -- unitsPerEm 2048 -- For rapid display, glyph must be within these bounds. The bounds for -- glyphs at nominal positions are (2439,1504). LibreOffice does not like -- negative lineGap. ascender 2439 descender -1872 lineGap 0 caretSlopeRise 1 caretSlopeRun 0 caretOffset 0 -- maxp table settings - overestimates maxPoints 852 maxContours 43 maxCompositePoints 104 maxCompositeContours 12 maxZones 2 maxTwilightPoints 16 maxStorage 153 maxFunctionDefs 8 maxInstructionDefs 0 maxStackElements 1045 maxSizeOfInstructions 534 maxComponentElements 8 maxComponentDepth 6 maxContext 12 -- We have 1:9:1! -- OS/2 table settings weightClass normal widthClass normal embedding free subscriptXSize 1331 subscriptYSize 1433 subscriptXOffset 0 subscriptYOffset 286 superscriptXSize 1331 superscriptYSize 1433 superscriptXOffset 0 superscriptYOffset 983 strikeoutSize 102 strikeoutPosition 530 familyClass 0x0 panose all 2 11 6 3 3 8 4 2 2 4 unicodeRange no Thai, no Lao, no "Forms-Arabic-B" unicodeRange no Operators unicodeRange no VS -- Shut an embarassed complainant up. vendID "JRW" fsSelection regular, usetypometrics typoDescender -1600 typoAscender 1556 typoLineGap 410 -- Allow calculation for Lanna glyphs (2439,1504) codePage CP1252 -- Try fiddling to use Thai for LibreOffice convenience. codePage extend CP874 unicodeRange Thai -- The mark classes used are: -- above, below -- invisible -- Characters with macron: -- 0100;LATIN CAPITAL LETTER A WITH MACRON;Lu;0;L;0041 0304 -- 012B;LATIN SMALL LETTER I WITH MACRON;Ll;0;L;0069 0304 -- 01D5;LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON;Lu;0;L;00DC 0304 -- 01D6;LATIN SMALL LETTER U WITH DIAERESIS AND MACRON;Ll;0;L;00FC 0304 -- 01DE;LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON;Lu;0;L;00C4 0304 -- 01DF;LATIN SMALL LETTER A WITH DIAERESIS AND MACRON;Ll;0;L;00E4 0304 -- 01E0;LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON;Lu;0;L;0226 0304 -- 01E1;LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON;Ll;0;L;0227 0304 -- 01E2;LATIN CAPITAL LETTER AE WITH MACRON;Lu;0;L;00C6 0304 -- 01E3;LATIN SMALL LETTER AE WITH MACRON;Ll;0;L;00E6 0304 -- 01EC;LATIN CAPITAL LETTER O WITH OGONEK AND MACRON;Lu;0;L;01EA 0304 -- 01ED;LATIN SMALL LETTER O WITH OGONEK AND MACRON;Ll;0;L;01EB 0304 -- 022A;LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON;Lu;0;L;00D6 0304 -- 022B;LATIN SMALL LETTER O WITH DIAERESIS AND MACRON;Ll;0;L;00F6 0304 -- 022C;LATIN CAPITAL LETTER O WITH TILDE AND MACRON;Lu;0;L;00D5 0304 -- 022D;LATIN SMALL LETTER O WITH TILDE AND MACRON;Ll;0;L;00F5 0304 -- 0230;LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON;Lu;0;L;022E 0304 -- 0231;LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON;Ll;0;L;022F 0304 -- 1E38;LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON;Lu;0;L;1E36 0304 -- 1E39;LATIN SMALL LETTER L WITH DOT BELOW AND MACRON;Ll;0;L;1E37 0304 -- 1E5C;LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON;Lu;0;L;1E5A 0304 -- 1E5D;LATIN SMALL LETTER R WITH DOT BELOW AND MACRON;Ll;0;L;1E5B 0304 glyph missing number 0 character 0x0000 postname ".notdef" advanceWidth 1214 leftSideBearing 190 points 190 1493 on 1124 1493 on 1124 0 on 190 0 on, end 374 1309 on 374 184 on 940 184 on 940 1309 on, end end points end glyph glyph null number 1 postname null advanceWidth 0 leftSideBearing 0 end glyph glyph nonmarkingreturn number 2 postname nonmarkingreturn -- The PostScript name is an additional name for advanceWidth 682 -- the glyph, but may be the same as one of the leftSideBearing 0 -- names already defined. end glyph glyph space -- SPACE number 3 character 0x0020 postname space category base advanceWidth 651 leftSideBearing 0 end glyph glyph exclam -- EXCLAMATION MARK character 0x0021 postname exclam category base advanceWidth 464 leftSideBearing 190 points 190 0 on 190 184 on 374 184 on 374 0 on, end 190 558 on 190 1493 on 374 1494 on 374 558 on, end end points end glyph glyph quotedbl -- QUOTATION MARK character 0x0022 postname quotedbl category base advanceWidth 648 leftSideBearing 190 points 190 1493 on 374 1493 on 374 941 on 190 941 on, end 558 1493 on 742 1493 on 742 941 on 558 941 on, end end points end glyph glyph numbersign -- NUMBER SIGN character 0x0023 postname numbersign category base advanceWidth 1212, default -- 'Default' makes advancewidths positive! -- Compiler bug? leftSideBearing 190 points 190 1118 on 424 1118 on 462 1493 on 646 1493 on 608 1118 on 792 1118 on 830 1493 on 1014 1493 on 976 1118 on 1124 1118 on 1124 934 on 957 934 on 919 559 on 1124 559 on 1124 375 on 900 375 on 862 0 on 678 0 on 716 375 on 532 375 on 494 0 on 310 0 on 348 375 on 190 375 on 190 559 on 367 559 on 405 934 on 190 934 on, end 589 934 on 551 559 on 735 559 on 773 934 on, end end points end glyph glyph dollar -- DOLLAR SIGN character 0x0024 postname dollar category base advanceWidth 1400 leftSideBearing 190 points -- Based on S3 design. Bar is overlaid. 190 0 on -- (left, 0) 190 184 on -- (left, thick) 650 184 on -- Draw back 100 for inner track - (mid-100, thick) 1126 184 off -- (right-thick, thick) 1126 373 on -- (right-thick, 0.25*height) 1126 656 off -- (, mid - 92) 650 656 on -- Draw back 100 for inner track (mid - 100, mid - 92) 190 656 off -- (left, mid - 192) 190 1120 on -- (left, 0.75 * height) 190 1493 off -- (left, top) 750 1493 on -- (mid, top) 1310 1493 on -- (right, top) 1310 1309 on -- (right, top - thickness) 850 1309 on -- Draw back 100 for inner track (mid+100, top-thickness) 374 1309 off -- (left+thick, top-thick) 374 1120 on -- (left+thick, 0.75*height) 374 838 off -- (left + thick, mid+92) 850 838 on -- Draw back 100 for inner track -- (mid+100, mid+92) 1310 838 off -- (right, mid + 92) 1310 373 on -- (right, 0.25*height) 1310 0 off -- (right, 0) 750 0 on, end -- (mid, 0) 658 1780 on 842 1780 on 842 -300 on 658 -300 on, end end points end glyph glyph percent -- PERCENT SIGN character 0x0025 postname percent category base advanceWidth 1212 leftSideBearing 190 points 190 0 on 940 1493 on 1124 1493 on 374 0 on, end 190 1493 off 558 1493 off 558 1125 off 190 1125 off, end 756 368 off 1124 368 off 1124 0 off 756 0 off, end end points end glyph glyph ampersand -- AMPERSAND character 0x0026 postname ampersand category base advanceWidth 1400 leftSideBearing 190 points -- Horrible for outlines! 374 1493 on 1310 0 on 1136 0 on 190 1493 on, end 580 0 on 1136 900 on 1310 900 on 764 0 on, end 190 0 on 1000 1493 on 1184 1493 on 374 0 on, end 374 184 on 764 184 on 764 0 on 374 0 on, end 374 1493 on 1000 1493 on 1000 1309 on 374 1309 on, end end points end glyph glyph quotesingle -- APOSTROPHE character 0x0027 postname quotesingle category base advanceWidth 464 leftSideBearing 190 points -- Dropping to 1125 is not enough 190 1493 on 374 1493 on 374 941 on 190 941 on, end end points end glyph glyph parenleft -- LEFT PARENTHESIS character 0x0028 postname parenleft category base advanceWidth 648 leftSideBearing 190 points 190 642 on 190 200 off 374 -270 on 558 -270 on 374 200 off 374 642 on 374 1084 off 558 1554 on 374 1554 on 190 1084 off, end end points end glyph glyph parenright -- RIGHT PARENTHESIS character 0x0029 postname parenright category base advanceWidth 648 leftSideBearing 190 points 558 642 on 558 1084 off 374 1554 on 190 1554 on 374 1084 off 374 642 on 374 200 off 190 -270 on 374 -270 on 558 200 off, end end points end glyph glyph asterisk.seri -- ASTERISK character 0x002a character 0x00ad postname asterisk category base advanceWidth 1212 leftSideBearing 190 -- Perhaps the three overlapping contours should be consolidated. points 565 1120 on 749 1120 on 749 0 on 565 0 on, end 190 1020 on 1124 320 on 1124 100 on 190 800 on, end 1124 1020 on 1124 800 on 190 100 on 190 320 on, end end points end glyph glyph plus -- PLUS SIGN character 0x002b postname plus category base advanceWidth 1212 leftSideBearing 190 points 565 1120 on -- x = 657 - 92 749 1120 on 749 652 on -- y = 560 + 92 1124 652 on 1124 468 on 749 468 on 749 0 on 565 0 on 565 468 on 190 468 on 190 652 on 565 652 on, end end points end glyph glyph comma -- COMMA character 0x002c postname comma category base advanceWidth 464 leftSideBearing 6 points 190 184 on 374 184 on 374 0 on 190 -184 on 6 -184 on 6 0 on 190 0 on, end end points end glyph glyph hyphen -- HYPHEN-MINUS character 0x002d postname hyphen category base advanceWidth 747 leftSideBearing 190 points 190 652 on 657 652 on 657 468 on 190 468 on, end end points end glyph glyph period -- FULL STOP character 0x002e postname period category base advanceWidth 464 leftSideBearing 190 points 190 184 on 374 184 on 374 0 on 190 0 on, end end points end glyph glyph slash -- SOLIDUS character 0x002f postname slash category base advanceWidth 1212 leftSideBearing 190 xMin 190 xMax 1124 yMin 0 yMax 1493 points 190 0 on 940 1493 on 1124 1493 on 374 0 on, end end points end glyph glyph zero -- DIGIT 0 character 0x0030 postname zero category base advanceWidth 1400 leftSideBearing 190 points 190 1493 off 1310 1493 off 1310 0 off 190 0 off, end 374 1309 off 374 184 off 1136 184 off 1136 1309 off, end end points end glyph glyph one -- DIGIT 1 character 0x0031 postname one category base advanceWidth 1400 leftSideBearing 428 points 828 1493 on 1012 1493 on 1012 0 on 828 0 on 828 1309 on 428 909 on 428 1093 on, end end points end glyph glyph two -- DIGIT 2 character 0x0032 postname two category base advanceWidth 1400 leftSideBearing 190 points 190 1493 on 1310 1493 on 1310 654 on 374 654 on 374 184 on 1310 184 on 1310 0 on 190 0 on 190 838 on 1136 838 on 1136 1309 on 190 1309 on, end end points end glyph glyph three -- DIGIT 3 character 0x0033 postname three category base advanceWidth 1400 leftSideBearing 190 points 190 1493 on 1310 1493 on 1310 0 on 190 0 on 190 184 on 1126 184 on 1126 654 on 190 654 on 190 838 on 1126 838 on 1126 1309 on 190 1309 on, end end points end glyph glyph four -- DIGIT 4 character 0x0034 postname four category base advanceWidth 1400 leftSideBearing 190 points 190 1493 on 374 1493 on 374 784 on 750 784 on 750 1150 on 934 1150 on 934 784 on 1310 784 on 1310 600 on 934 600 on 934 0 on 750 0 on 750 600 on 190 600 on, end end points end glyph glyph five -- DIGIT 5 character 0x0035 postname five category base advanceWidth 1400 leftSideBearing 190 points 190 1493 on 1310 1493 on 1310 1309 on 374 1309 on 374 838 on 1310 838 on 1310 0 on 190 0 on 190 184 on 1126 184 on 1126 654 on 190 654 on, end end points end glyph glyph six -- DIGIT 6 character 0x0036 postname six category base advanceWidth 1400 leftSideBearing 190 points 190 1493 on 1310 1493 on 1310 1309 on 374 1309 on 374 838 on 1310 838 on 1310 0 on 190 0 on, end 374 184 on 1126 184 on 1126 654 on 374 654 on, end end points end glyph glyph seven -- DIGIT 7 character 0x0037 postname seven category base advanceWidth 1400 leftSideBearing 190 points 190 1493 on 1310 1493 on 1310 1309 on 420 0 on 190 0 on 1080 1309 on 190 1309 on, end end points end glyph glyph eight -- DIGIT 8 character 0x0038 postname eight category base advanceWidth 1400 leftSideBearing 190 points 190 1493 on 1310 1493 on 1310 0 on 190 0 on, end 1126 1309 on 374 1309 on 374 838 on 1126 838 on, end 374 184 on 1126 184 on 1126 654 on 374 654 on, end end points end glyph glyph nine -- DIGIT 9 character 0x0039 postname nine category base advanceWidth 1400 leftSideBearing 190 points 190 1493 on 1310 1493 on 1310 0 on 190 0 on 190 184 on 1126 184 on 1126 654 on 190 654 on, end 1126 1309 on 374 1309 on 374 838 on 1126 838 on, end end points end glyph glyph colon -- COLON character 0x003a postname colon category base -- Design 2 advanceWidth 464 leftSideBearing 190 points 190 368 on 374 368 on 374 184 on 190 184 on, end 190 984 on 374 984 on 374 800 on 190 800 on, end end points end glyph glyph semicolon -- SEMICOLON character 0x003b postname semicolon category base -- Design 2 advanceWidth 464 leftSideBearing 6 points -- Needs more work! 190 368 on 374 368 on 374 184 on 374 0 off 190 0 on 6 0 on 6 184 on 190 184 on, end 190 984 on 374 984 on 374 800 on 190 800 on, end end points end glyph glyph less -- LESS-THAN SIGN character 0x003c postname less category base advanceWidth 1212 leftSideBearing 190 points -- Distrust comments - may be out of order, as points were rotated from -- glyph greater. 1124 1120 on 1124 936 on -- Previous segment extends to (190,468). 374 560 on -- x = 190 + 1124 - 940 -- Previous segment extends to (190,652). 1124 184 on 1124 0 on 190 468 on 190 652 on, end end points end glyph glyph equals -- EQUALS SIGN character 0x003d postname equal category base advanceWidth 1212 leftSideBearing 190 points 190 836 on 1124 836 on 1124 652 on 190 652 on, end 190 560 on 1124 560 on 1124 376 on 190 376 on, end end points end glyph glyph greater -- GREATER-THAN SIGN character 0x003e postname greater category base advanceWidth 1212 leftSideBearing 190 points 190 1120 on 1124 652 on 1124 468 on 190 0 on 190 184 on -- Next segment extends to (1124,652). 940 560 on -- Next segment extends to (1124,468). 190 936 on, end end points end glyph glyph question -- QUESTION MARK character 0x003f postname question category base advanceWidth 1212 leftSideBearing 190 points 190 1554 on 1124 1554 off 1124 1166 on 1124 869 off -- or y = 777 - 92 + 184 374 869 on -- or y = 777 - 92 + 184 374 368 on 190 368 on 190 1053 on 940 1053 off 940 1166 on 940 1370 off 190 1370 on, end 190 184 on 374 184 on 374 0 on 190 0 on, end end points end glyph glyph at -- COMMERCIAL AT character 0x0040 postname at category base advanceWidth 1696 leftSideBearing 190 points -- This was generated from four concentric contours, old contours 1 to 4 from -- outer to inner, with a plank to connect the two regions. All but old -- contour 4 were then merged. -- Old contour 1 to lower cut 190 -200 off 190 1320 off 1606 1320 off 1606 560 on -- 1606 329 off -- Generated by snip at y=168. Removed to smoothe. 1540 168 off -- Snip point. Toggled off for aesthetics ---- 1606 -200 off -- planked -- Lower edge of plank 1238 168 on -- Added to avoid oversmoothing. -- Old contour 3 898 168 on 558 168 off 558 952 off 1238 952 off 1238 560 on -- Upper edge of plank 1238 352 on -- Move to plank -- Old contour 2 -- 1401 352 on -- Snip point. Toggled off for aesthetics. 1422 444 off -- Generated by snip at y=132 Removed to smoothe. 1422 560 on 1422 1136 off 374 1136 off 374 -16 off 898 -16 on ---- 1422 -16 off -- planked -- The next 4 points are experimentally snipped -- 1194 -16 off -- Generated by snip at y=168 -- 1323 168 on -- Snip point -- Contour 1 after lower cut -- 1540 168 on -- Snip point -- 1391 -200 off -- Generated by snip at y = 168 -- Replaced by straight segment. 1200 -16 on 1200 -200 on 898 -200 on, end -- Old contour 4 742 352 off 898 352 on 1054 352 on 1054 560 on 1054 768 off 742 768 off, end -- The plank: ---- 893 352 on ---- 1400 352 on ---- 1400 168 on ---- 893 168 on, end end points end glyph glyph A -- LATIN A character 0x0041 postname A category base -- Style A3 advanceWidth 1400 leftSideBearing 190 -- Lines may be too narrow! points 190 0 on 670 1493 on 830 1493 on 1310 0 on 1150 0 on 999 470 on -- 470 / (1150 - x) = 1493 / (1310 - 830) 501 470 on 350 0 on, end 750 1244 on -- (y / (1150-750) = 1493 / (1310 - 830) 560 654 on 940 654 on, end -- 654 / (1150 - x) = 1493 / (1310 - 830) end points end glyph glyph B -- LATIN B character 0x0042 postname B category base advanceWidth 1400 leftSideBearing 190 points 190 0 on 190 1493 on 374 1493 on 1310 1120 on -- y = 0.75 * 1493 1310 940 on -- y = 1120 - 180 -- Next point is sort of compromise between next 2 -- 374 656 on -- y = 746 - 90 -- 374 836 on -- y = 746 + 90 651 746 on -- (x - 374) / (746-656) = (1310 - 374) / (940 - 636) 1310 553 on -- y = 0.25 * 1493 + 180 1310 373 on 374 0 on, end 374 1313 on 374 836 on 1100 1030 on, end -- Should calculate this value 374 656 on 374 180 on 1100 463 on, end end points end glyph glyph C -- LATIN C character 0x0043 postname C category base advanceWidth 1400 leftSideBearing 190 points 190 652 on 190 842 on 1310 1493 on 1310 1303 on 348 747 on -- (x - 190) * (1493 - 842) / (1310 - 190) = (747 - 652) -- 190 652 on -- 190 842 on 1310 180 on 1310 0 on, end end points end glyph glyph D -- LATIN D character 0x0044 postname D category base advanceWidth 1400 leftSideBearing 190 points 190 0 on 190 1493 on 374 1493 on 1310 842 on 1310 652 on 374 0 on, end 374 1303 on 374 190 on 1174 747 on, end -- (x - 374) / (747 - 190) = (1310 - 374) / 652 end points end glyph glyph E -- LATIN E character 0x0045 postname E category base advanceWidth 1400 leftSideBearing 190 points 190 0 on 190 1493 on 1310 1493 on 1310 1309 on 374 1309 on 374 839 on -- y = 747 + 92 1310 839 on 1310 655 on -- y = 747 - 92 374 655 on 374 184 on 1310 184 on 1310 0 on, end end points end glyph glyph F -- LATIN F character 0x0046 postname F category base advanceWidth 1400 leftSideBearing 190 points 190 0 on 190 1493 on 1310 1493 on 1310 1309 on 374 1309 on 374 839 on -- y = 747 + 92 1310 839 on 1310 655 on -- y = 747 - 92 374 655 on 374 0 on, end end points end glyph glyph G -- LATIN G character 0x0047 postname G category base advanceWidth 1400 leftSideBearing 190 points 190 652 on 190 842 on 1310 1493 on 1310 1303 on 348 747 on -- (x - 190) * (1493 - 842) / (1310 - 190) = (747 - 652) -- 190 652 on 1126 289 on -- (y - 842) / (x - 190) = (180 - 842) / (1310 - 190) 1126 655 on 850 655 on 850 839 on 1310 839 on 1310 0 on, end end points end glyph glyph H -- LATIN H character 0x0048 postname H category base advanceWidth 1400 leftSideBearing 190 points 190 0 on 190 1493 on 374 1493 on 374 838 on -- 1493/2 + 184/2 = 746 + 92 1126 838 on -- 1310 - 184 = 1126 1126 1493 on 1310 1493 on 1310 0 on 1126 0 on 1126 654 on 374 654 on 374 0 on, end end points end glyph glyph I -- LATIN I character 0x0049 postname I category base advanceWidth 1400 leftSideBearing 190 points 190 0 on 190 184 on 658 184 on 658 1309 on 190 1309 on 190 1493 on 1310 1493 on 1310 1309 on 842 1309 on 842 184 on 1310 184 on 1310 0 on, end end points end glyph glyph J -- LATIN J character 0x004a postname J category base advanceWidth 1400 leftSideBearing 190 points -- Design J2 190 0 on 190 184 on 858 184 on 658 1309 on 190 1309 on 190 1493 on 1310 1493 on 1310 1309 on 842 1309 on 1042 0 on, end end points end glyph glyph K -- LATIN K character 0x004b character 0x212a postname K category base advanceWidth 1400 leftSideBearing 190 points 190 0 on 190 1493 on 374 1493 on 374 937 on -- y = 747 + 190 1310 1493 on 1310 1303 on 374 747 on 1310 190 on 1310 0 on 374 557 on -- y = 747 - 190 374 0 on, end end points end glyph glyph L -- LATIN L character 0x004c postname L category base advanceWidth 1400 leftSideBearing 190 points 190 0 on 190 1493 on 374 1493 on 374 184 on 1310 184 on 1310 0 on, end end points end glyph glyph M -- LATIN M character 0x004d postname M category base advanceWidth 1400 leftSideBearing 190 points 190 0 on 190 1493 on 374 1493 on 750 480 on -- y = y1, TBD. 480 is a quick visual fit. 1126 1493 on 1310 1493 on 1310 0 on 1126 0 on 1126 1013 on --y = 1493 - y1 750 0 on 374 1013 on --y = 1493 - y1 374 0 on, end end points end glyph glyph N -- LATIN N character 0x004e postname N category base advanceWidth 1400 leftSideBearing 190 points 190 0 on 190 1493 on 374 1493 on 1126 340 on -- y =y1, TBD, 400, 350 too thick, 300 too thin. 340 is good 1126 1493 on 1310 1493 on 1310 0 on 1125 0 on 374 1153 on -- y = 1493 - y 374 0 on, end end points end glyph glyph O -- LATIN O character 0x004f postname O category base advanceWidth 1400 leftSideBearing 190 points 190 0 off 190 1493 off 1310 1493 off 1310 0 off, end 374 184 off 1126 184 off 1126 1309 off 374 1309 off, end end points end glyph glyph P -- LATIN P character 0x0050 postname P category base advanceWidth 1400 leftSideBearing 190 points 190 0 on 190 1493 on 374 1493 on 1310 1170 on -- Avge of 1493 and 647 (= 1070) + 100 1310 970 on -- Avge of 1493 and 647 (= 1070) - 100 374 647 on -- y = mid height (747) - 100 374 0 on, end 374 1293 on 374 847 on -- Top side is parallel to line from (374,1493) to (1310,1170) 1020 1070 on, end -- x = 374 + (1293 - 1070) * (1310-374) / (1493 - 1170) end points end glyph glyph Q -- LATIN Q character 0x0051 postname Q category base advanceWidth 1400 leftSideBearing 190 points 190 0 off 190 1493 off 1310 1493 off 1310 746 on 1310 372 off 1169 186 on 1310 0 on 1310 -256 on -- old 1310 0 off 1053 78 on 931 0 off 750 0 on, end 374 184 off 750 184 on 858 184 off 935 230 on 750 484 on 750 740 on -- old 1126 184 off 1047 348 on 1126 487 off 1126 744 on 1126 1309 off 374 1309 off, end end points end glyph glyph R -- LATIN R character 0x0052 postname R category base advanceWidth 1400 leftSideBearing 190 points 190 0 on 190 1493 on 374 1493 on 1310 1170 on -- Avge of 1493 and 647 (= 1070) + 100 1310 970 on -- Avge of 1493 and 647 (= 1070) - 100 -- Next segment continues to (374,647) -- y = mid height (747) - 100 567 714 on -- Next segment starts at (374,847) 1310 200 on 1310 0 on 374 647 on 374 0 on, end 374 1293 on 374 847 on -- Top side is parallel to line from (374,1493) to (1310,1170) 1020 1070 on, end -- x = 374 + (1293 - 1070) * (1310-374) / (1493 - 1170) end points end glyph glyph S -- LATIN S character 0x0053 postname S category base -- Style S3 advanceWidth 1400 leftSideBearing 190 points 190 0 on -- (left, 0) 190 184 on -- (left, thickness) 650 184 on -- Draw back 100 for inner track - (mid-100, thickness) 1126 184 off -- (right-thickness, thickness) 1126 373 on -- (right-thickness, 0.25*height) 1126 656 off -- (, mid - 92) 650 656 on -- Draw back 100 for inner track (mid - 100, mid - 92) 190 656 off -- (left, mid - 192) 190 1120 on -- (left, 0.75 * height) 190 1493 off -- (left, top) 750 1493 on -- (mid, top) 1310 1493 on -- (right, top) 1310 1309 on -- (right, top - thickness) 850 1309 on -- Draw back 100 for inner track (mid+100, top-thickness) 374 1309 off -- (left+thickness, top-thickness) 374 1120 on -- (left+thickness, 0.75*height) 374 838 off -- (left + thickness, mid+92) 850 838 on -- Draw back 100 for inner track -- (mid+100, mid+92) 1310 838 off -- (right, mid + 92) 1310 373 on -- (right, 0.25*height) 1310 0 off -- (right, 0) 750 0 on, end -- (mid, 0) end points end glyph glyph T -- LATIN T character 0x0054 postname T category base advanceWidth 1400 leftSideBearing 190 points 190 1493 on 1310 1493 on 1310 1309 on 842 1309 on 842 0 on 658 0 on 658 1309 on 190 1309 on, end end points end glyph glyph U -- LATIN U character 0x0055 postname U category base advanceWidth 1400 leftSideBearing 190 points 190 1493 on 374 1493 on 374 746 on -- inside loop 374 184 off 750 184 on 1126 184 off 1126 746 on -- inside loop 1126 1493 on 1310 1493 on 1310 746 on 1310 0 off 750 0 on 190 0 off 190 746 on, end end points end glyph glyph V -- LATIN V character 0x0056 postname V category base advanceWidth 1400 leftSideBearing 190 points 190 1493 on 374 1493 on -- Next segment continues to (842, 0) 750 294 on -- Next segment continues from (658, 0) 1126 1493 on 1310 1493 on 842 0 on 658 0 on, end end points end glyph glyph W -- LATIN W character 0x0057 postname W category base advanceWidth 1400 leftSideBearing 190 points -- Upper edges are 190 to 374, 658 to 842, 1126 to 1310 -- Lower edges are 424 to 608, 892 to 1076 190 1493 on 374 1493 on -- next segment continues to (608, 0) 516 587 on -- y is calculated -- next segment continues from (424, 0) 658 1493 on 842 1493 on -- next segment continues to (1076, 0) 984 587 on -- y is calculated -- next segment continues from (892, 0) 1126 1493 on 1310 1493 on 1076 0 on 892 0 on -- next segment continues to (658, 1493) 750 906 on -- y is calculated -- next segment continues from (842, 1493) 608 0 on 402 0 on, end end points end glyph glyph X -- LATIN X character 0x0058 postname X category base advanceWidth 1400 leftSideBearing 190 points 190 1493 on 374 1493 on 750 893 on 1126 1493 on 1310 1493 on 842 746 on 1310 0 on 1126 0 on 750 600 on 374 0 on 190 0 on 658 746 on, end end points end glyph glyph Y -- LATIN Y character 0x0059 postname Y category base -- Design Y3 advanceWidth 1400 leftSideBearing 190 points 190 1493 on 390 1493 on -- Next segment would extend to (850,750). 750 911 on -- Next segment would extend from (650,750). 1110 1493 on 1310 1493 on 842 737 on -- x = 842, and on same line as (850,750) and previous point, -- and so also as (390,7). 842 0 on 658 0 on 658 737 on -- x = 658, and on same line as (650,750) and next point, -- and so also as (1110,7). , end end points end glyph glyph Z -- LATIN Z character 0x005a postname Z category base advanceWidth 1400 leftSideBearing 190 points 190 1493 on 1310 1493 on 1310 1309 on -- Next segment extends to (190,0) 347 184 on -- y=184 forced 1310 184 on 1310 0 on 190 0 on 190 184 on -- Next segment extends to (1310, 1493) 1153 1309 on 190 1309 on, end end points end glyph glyph bracketleft -- LEFT SQUARE BRACKET character 0x005b postname bracketleft category base advanceWidth 648 leftSideBearing 190 points 190 1554 on 558 1554 on 558 1370 on 374 1370 on 374 -86 on 558 -86 on 558 -270 on 190 -270 on, end end points end glyph glyph backslash -- REVERSE SOLIDUS character 0x005c postname backslash category base advanceWidth 1212 leftSideBearing 190 points 190 1493 on 374 1493 on 1124 0 on 940 0 on, end end points end glyph glyph bracketright -- RIGHT SQUARE BRACKET character 0x005d postname bracketright category base advanceWidth 648 leftSideBearing 190 points 558 1554 on 558 -270 on 190 -270 on 190 -86 on 374 -86 on 374 1370 on 190 1370 on 190 1554 on, end end points end glyph glyph asciicircum -- CIRCUMFLEX ACCENT character 0x005e postname asciicircum category base advanceWidth 1214 leftSideBearing 190 points 190 600 on 523 1120 on 791 1120 on 1124 600 on 898 600 on 657 936 on -- y <= 936 required for safe rendering 416 600 on, end end points end glyph glyph underscore -- LOW LINE character 0x005f postname underscore category base advanceWidth 1214 leftSideBearing 190 points 190 -184 on 1124 -184 on 1124 -368 on 190 -368 on, end end points end glyph glyph grave -- GRAVE ACCENT character 0x0060 postname grave category base advanceWidth 664 leftSideBearing 190 points -- Dropping to 1125 is not enough 190 1493 on 374 1493 on 574 941 on 390 941 on, end end points end glyph glyph a -- LATIN a character 0x0061 postname a category base advanceWidth 1212 leftSideBearing 190 points 190 1120 on 1124 1120 on 1124 0 on 190 0 on 190 652 on 940 652 on 940 936 on 190 936 on, end 374 468 on 374 184 on 940 184 on 940 468 on, end end points end glyph glyph b -- LATIN b character 0x0062 postname b category base -- Design b2 advanceWidth 1212 leftSideBearing 190 points 190 1556 on -- 1493 = caps height, try 1556 for debowling 374 1556 on 374 936 on -- Drop bowl one line thickness 1124 936 on 1124 0 on 190 0 on, end 374 752 on -- Drop bowel one line thickness 374 184 on 940 184 on 940 752 on, end end points end glyph glyph c -- LATIN c character 0x0063 postname c category base advanceWidth 1212 leftSideBearing 190 points 190 1120 on 1124 1120 on 1124 936 on 374 936 on 374 184 on 1124 184 on 1124 0 on 190 0 on, end end points end glyph glyph d -- LATIN d character 0x0064 postname d category base advanceWidth 1212 leftSideBearing 190 points 190 936 on 940 936 on 940 1556 on 1124 1556 on 1124 0 on 190 0 on, end 374 752 on -- Drop bowel one line thickness 374 184 on 940 184 on 940 752 on, end end points end glyph glyph e -- LATIN e character 0x0065 postname e category base advanceWidth 1212 leftSideBearing 190 points 190 1120 on 1124 1120 on 1124 468 on 374 468 on 374 184 on 1124 184 on 1124 0 on 190 0 on, end 374 936 on 374 652 on 940 652 on 940 936 on, end end points end glyph glyph f -- LATIN f character 0x0066 postname f category base advanceWidth 1212 leftSideBearing 190 points 374 1493 on 1124 1493 on 1124 1309 on 558 1309 on 558 1120 on 924 1120 on 924 936 on 558 936 on 558 -600 on 374 -600 on 374 936 on 190 936 on 190 1120 on 374 1120 on, end end points end glyph glyph g -- LATIN g character 0x0067 postname g category base advanceWidth 1212 leftSideBearing 190 points 190 1120 on 1124 1120 on 1124 -776 on 190 -776 on 190 -552 on 940 -552 on 940 0 on 190 0 on, end 374 936 on 374 184 on 940 184 on 940 936 on, end end points end glyph glyph h -- LATIN h character 0x0068 postname h category base advanceWidth 1212 leftSideBearing 190 points 190 1556 on 374 1556 on 374 936 on 1124 936 on 1124 0 on 940 0 on 940 752 on 374 752 on 374 0 on 190 0 on, end end points end glyph glyph i -- LATIN i character 0x0069 postname i category base advanceWidth 464 leftSideBearing 190 points 190 1120 on 374 1120 on 374 0 on 190 0 on, end 190 1304 on 190 1488 on 374 1488 on 374 1304 on, end end points end glyph glyph j -- LATIN j character 0x006a postname j category base advanceWidth 464 leftSideBearing 0 points -- Edited on fly to yield dotlessj 190 1120 on 374 1120 on 374 -368 on 0 -368 on 0 -184 on 190 -184 on, end 190 1304 on 190 1488 on 374 1488 on 374 1304 on, end end points end glyph glyph k -- LATIN k character 0x006b postname k category base advanceWidth 1212 leftSideBearing 190 points 190 0 on 190 1493 on 374 1493 on 374 838 on 696 1120 on 905 1120 on 478 747 on 1120 184 on 1120 0 on 374 654 on 374 0 on, end end points end glyph glyph l -- LATIN l character 0x006c postname l category base advanceWidth 648 leftSideBearing 190 points 190 1493 on 374 1493 on 374 184 on 558 184 on 558 0 on 190 0 on, end end points end glyph glyph m -- LATIN m character 0x006d postname m category base advanceWidth 1212 leftSideBearing 190 points 190 1120 on 1110 1120 on 1110 0 on 926 0 on 926 936 on 742 936 on 742 0 on 558 0 on 558 936 on 374 936 on 374 0 on 190 0 on, end end points end glyph glyph n -- LATIN n character 0x006e postname n category base advanceWidth 1212 leftSideBearing 190 points 190 1120 on 1124 1120 on 1124 0 on 940 0 on 940 936 on 374 936 on 374 0 on 190 0 on, end end points end glyph glyph o -- LATIN o character 0x006f postname o category base advanceWidth 1212 leftSideBearing 190 xMin 190 xMax 1124 yMin 0 yMax 1120 component use wa xy 0 0 unscaled_offset end component end glyph glyph p -- LATIN p character 0x0070 postname p category base advanceWidth 1212 leftSideBearing 190 points 190 1120 on 1124 1120 on 1124 0 on 374 0 on 374 -776 on 190 -776 on, end 374 936 on 374 184 on 940 184 on 940 936 on, end end points end glyph glyph q -- LATIN q character 0x0071 postname q category base advanceWidth 1212 leftSideBearing 190 points -- -- A bit ropey 190 1120 on 1124 1120 on 1124 0 on 1026 -552 on 1212 -552 on 1212 -776 on 832 -776 on 940 0 on 190 0 on, end 374 936 on 374 184 on 940 184 on 940 936 on, end end points end glyph glyph r -- LATIN r character 0x0072 postname r category base advanceWidth 1212 leftSideBearing 190 points 190 1120 on 374 1120 on 374 936 on 1124 936 on 1124 752 on 374 752 on 374 0 on 190 0 on, end end points end glyph glyph s -- LATIN s character 0x0073 postname s category base advanceWidth 1212 leftSideBearing 190 points -- Adapted from the S3 design. 190 0 on -- (left, 0) 190 184 on -- (left, thickness) 462 184 on -- Draw back 100 for inner track - (mid-100, thickness) 940 184 off -- (right-thickness, thickness) 940 280 on -- (right-thickness, 0.25*height) 940 468 off -- (, mid - 92) 462 468 on -- Draw back 100 for inner track (mid - 100, mid - 92) 190 468 off -- (left, mid - 192) 190 840 on -- (left, 0.75 * height) 190 1120 off -- (left, top) 562 1120 on -- (mid, top) 1124 1120 on -- (right, top) 1124 936 on -- (right, top - thickness) 662 936 on -- Draw back 100 for inner track (mid+100, top-thickness) 374 936 off -- (left+thickness, top-thickness) 374 840 on -- (left+thickness, 0.75*height) 374 652 off -- (left + thickness, mid+92) 662 652 on -- Draw back 100 for inner track -- (mid+100, mid+92) 1124 652 off -- (right, mid + 92) 1124 373 on -- (right, 0.25*height) 1124 0 off -- (right, 0) 562 0 on, end -- (mid, 0) end points end glyph glyph t -- LATIN t character 0x0074 postname t category base advanceWidth 1012 leftSideBearing 190 points 190 0 on 190 1493 on 374 1493 on 374 936 on 924 936 on -- rebated 200 924 752 on 374 752 on 374 184 on 924 184 on 924 0 on, end end points end glyph glyph u -- LATIN u character 0x0075 postname u category base advanceWidth 1212 leftSideBearing 190 points 190 1120 on 374 1120 on 374 184 on 940 184 on 940 1120 on 1124 1120 on 1124 0 on 190 0 on, end end points end glyph glyph v -- LATIN v character 0x0076 postname v category base advanceWidth 1212 leftSideBearing 190 points 190 1120 on 374 1120 on -- Next segment is part of line to (749, 0) - x = 657 + 92 657 275 on -- y is calculated -- Next segment is part of line starting at (565, 0) - x = 657 - 92 940 1120 on 1124 1120 on 749 0 on 657 0 on, end end points end glyph glyph w -- LATIN w character 0x0077 postname w category base advanceWidth 1332 leftSideBearing 190 points -- Upper edges were 190 to 374, 565 to 749, 940 to 1124 -- Lower edges were 378 to 562, 752 to 936 -- Upper edges are 190 to 374, 625 to 809, 1060 to 1244 -- Lower edges are 408 to 592, 842 to 1026 190 1120 on 374 1120 on -- next segment continues to (592, 0) 500 474 on -- y is calculated -- next segment continues from (408, 0) 625 1120 on 809 1120 on -- next segment continues to (1026, 0) 934 474 on -- y is calculated -- next segment continues from (842, 0) 1060 1120 on 1244 1120 on 1026 0 on 842 0 on -- next segment continues to (625, 1120) 717 645 on -- y is calculated -- next segment continues from (809, 1120) 592 0 on 408 0 on, end -- Internal intercepts with y=936 are: 410 589 ... -- Perhaps need further widening! end points end glyph glyph x -- LATIN x character 0x0078 postname x category base advanceWidth 1212 leftSideBearing 190 points -- Lines cross at (565, 560), (657,423), (657, 697), (749, 560) 190 1120 on 374 1120 on 657 697 on 940 1120 on 1124 1120 on 749 560 on 1124 0 on 940 0 on 657 423 on 374 0 on 190 0 on 565 560 on, end end points end glyph glyph y -- LATIN y character 0x0079 postname y category base advanceWidth 1212 leftSideBearing 190 points 190 1120 on 374 1120 on 374 184 on 940 184 on 940 1120 on 1124 1120 on 1124 -776 on 190 -776 on 190 -552 on 940 -552 on 940 0 on 190 0 on, end end points end glyph glyph z -- LATIN z character 0x007a postname z category base advanceWidth 1212 leftSideBearing 190 points 190 1120 on 1124 1120 on 1124 936 on -- Next segment extends to (190,0) 374 184 on -- x calculated 1124 184 on 1124 0 on 190 0 on 190 184 on -- Next segment extends to (1124,1120) 940 936 on -- x calculated 190 936 on, end end points end glyph glyph braceleft -- LEFT CURLY BRACKET character 0x007b postname braceleft category base advanceWidth 648 leftSideBearing 190 points 190 642 on 190 550 on 374 550 on 192 375 off 192 -35 off 374 -270 on 558 -270 on 376 -35 off 376 375 off 558 550 on 558 734 on 376 849 off 376 1259 off 558 1554 on 374 1554 on 192 1259 off 192 849 off 374 734 on 190 734 on, end end points end glyph glyph bar -- VERTICAL LINE character 0x007c postname bar category base advanceWidth 464 leftSideBearing 190 points 190 1554 on 374 1554 on 374 -270 on 190 -270 on, end end points end glyph glyph braceright -- RIGHT CURLY BRACKET character 0x007d postname braceright category base advanceWidth 648 leftSideBearing 190 points 558 642 on 558 734 on 374 734 on 556 849 off 556 1259 off 374 1554 on 190 1554 on 372 1259 off 372 849 off 190 734 on 190 550 on 372 375 off 372 -35 off 190 -270 on 374 -270 on 556 -35 off 556 375 off 374 550 on 558 550 on, end end points end glyph glyph asciitilde -- TILDE character 0x007e postname asciitilde category base advanceWidth 1212 leftSideBearing 190 points 190 810 on 749 810 on 749 494 on 940 494 on 940 810 on 1124 810 on 1124 310 on 565 310 on 565 626 on 374 626 on 374 310 on 190 310 on, end end points end glyph glyph space_nb -- NO-BREAK SPACE character 0x00a0 postname space_nb category base advanceWidth 651 leftSideBearing 0 end glyph glyph currency -- CURRENCY SIGN character 0x00a4 postname currency category base advanceWidth 1212 leftSideBearing 190 points 334 685 off -- new 362 773 on -- junction 190 980 on 190 1120 on 307 1120 on 467 927 on -- junction 541 980 off -- new 772 980 off -- new 847 928 on -- junction 1007 1120 on 1124 1120 on 1124 980 on 954 776 on -- junction 984 687 off -- new 984 436 off -- new 955 348 on -- new - junction 1124 140 on 1124 0 on 1007 0 on 847 192 on -- new - junction 772 140 off -- new 542 140 off -- new 467 192 on -- new - junction 307 0 on 190 0 on 190 140 on 360 344 on -- new - junction 330 433 off, end -- new 514 816 off 514 324 off 800 324 off 800 816 off, end end points end glyph glyph section -- SECTION SIGN character 0x00a7 postname section category base advanceWidth 1400 leftSideBearing 190 points -- 1493 = 736 + 757 = 4 * 184 + 3 * 252 + 1: -- so y = 0 i 184 w 436 i 620 w 873 i 1057 w 1309 i 1493 190 1493 on 1310 1493 on 1310 1309 on 374 1309 on 374 1057 on 1310 1057 on 1310 0 on 190 0 on 190 184 on 1126 184 on 1126 436 on 190 436 on, end 374 873 on 374 620 on 1126 620 on 1126 873 on, end end points end glyph glyph logicalnot -- NOT SIGN character 0x00ac postname logicalnot category base advanceWidth 1212 leftSideBearing 190 points 190 654 on 1124 654 on 1124 0 on 940 0 on 940 466 on 190 466 on, end end points end glyph glyph degree -- DEGREE SIGN character 0x00b0 postname degree category base advanceWidth 880 leftSideBearing 190 points 190 1556 off 790 1556 off 790 956 off 190 956 off, end 374 1372 off 374 1140 off 606 1140 off 606 1372 off, end end points end glyph glyph twosuperior -- SUPERSCRIPT 2 character 0x00b2 postname twosuperior category base -- Raised 614 component use two xy 0 614 round unscaled_offset end component advanceWidth 1400 leftSideBearing 190 xMin 190 xMax 1310 yMin 614 yMax 2107 -- = 1493 + 614 end glyph glyph threesuperior -- SUPERSCRIPT 3 character 0x00b3 postname threesuperior category base -- Raised 614 component use three xy 0 614 round unscaled_offset end component advanceWidth 1400 leftSideBearing 190 xMin 190 xMax 1310 yMin 614 yMax 2107 -- = 1493 + 614 end glyph glyph paragraph -- PILCROW SIGN character 0x00b6 postname paragraph category base advanceWidth 1400 leftSideBearing 190 points 190 1493 on 1310 1493 on 1310 0 on 1126 0 on 1126 1309 on 942 1309 on 942 0 on 756 0 on 756 654 on 190 654 on, end 374 1309 on 374 838 on 756 838 on 756 1309 on, end end points end glyph glyph periodcentered -- MIDDLE DOT character 0x00b7 postname periodcentered category base advanceWidth 464 leftSideBearing 190 points 190 652 on 374 652 on 374 468 on 190 468 on, end end points end glyph glyph onesuperior -- SUPERSCRIPT 1 character 0x00b9 postname onesuperior category base -- Raised 614 component use one xy 0 614 round unscaled_offset end component advanceWidth 1400 leftSideBearing 428 xMin 428 xMax 1012 yMin 614 yMax 2107 -- = 1493 + 614 end glyph glyph multiply -- MULTIPLICATION SIGN character 0x00d7 postname multiply category base advanceWidth 1212 leftSideBearing 190 xMin 190 xMax 1124 yMin 0 yMax 1120 component use x xy 0 0 round use_my_metrics unscaled_offset end component end glyph glyph ntilde -- LATIN n_tilde character 0x00f1 postname ntilde category base -- Design is ntilde_3 advanceWidth 1212 leftSideBearing 190 points 190 1120 on 1124 1120 on 1124 0 on 940 0 on 940 936 on 374 936 on 374 0 on 190 0 on, end 190 1504 on 190 1872 on 749 1872 on 749 1504 on 936 1504 on 936 1688 on 1120 1688 on 1120 1320 on 565 1320 on 565 1688 on 374 1688 on 374 1504 on, end end points end glyph glyph Amacron -- LATIN A_MACRON character 0x0100 postname Amacron category base component use uni0304 xy 1306 373 round unscaled_offset end component advanceWidth 1400 leftSideBearing 190 xMin 190 xMax 1310 yMin 0 yMax 1877 component use A byte_xy 0 0 round use_my_metrics unscaled_offset end component end glyph glyph amacron -- LATIN a_macron character 0x0101 postname amacron category base component use uni0304 xy 1212 0 round unscaled_offset end component advanceWidth 1212 leftSideBearing 190 xMin 190 xMax 1124 yMin 0 yMax 1504 component use a byte_xy 0 0 round use_my_metrics unscaled_offset end component end glyph glyph Emacron -- LATIN E_MACRON character 0x0112 postname Emacron category base component use uni0304 xy 1306 373 round unscaled_offset end component advanceWidth 1400 leftSideBearing 190 xMin 190 xMax 1310 yMin 0 yMax 1877 component use E byte_xy 0 0 round use_my_metrics unscaled_offset end component end glyph glyph emacron -- LATIN e_macron character 0x0113 postname emacron category base component use uni0304 xy 1212 0 round unscaled_offset end component advanceWidth 1212 leftSideBearing 190 xMin 190 xMax 1124 yMin 0 yMax 1504 component use e byte_xy 0 0 round use_my_metrics unscaled_offset end component end glyph glyph Imacron -- LATIN I_MACRON character 0x012a postname Imacron category base component use uni0304 xy 1306 373 round unscaled_offset end component advanceWidth 1400 leftSideBearing 190 xMin 190 xMax 1310 yMin 0 yMax 1877 component use I byte_xy 0 0 round use_my_metrics unscaled_offset end component end glyph glyph imacron -- LATIN i_macron character 0x012b postname imacron category base component use uni0304 xy 838 0 round unscaled_offset end component advanceWidth 464 leftSideBearing 0 xMin 0 xMax 562 yMin 0 yMax 1504 component use dotlessi byte_xy 0 0 round use_my_metrics unscaled_offset end component end glyph glyph dotlessi -- LATIN i DOTLESS character 0x0131 postname dotlessi category base advanceWidth 464 leftSideBearing 190 points -- extracted from SERI glyph i on the fly. 190 1120 on 374 1120 on 374 0 on 190 0 on, end end points end glyph glyph eng -- LATIN eng character 0x014b postname eng category base advanceWidth 1212 leftSideBearing 190 points 190 1120 on 1124 1120 on 1124 -776 on 190 -776 on 190 -552 on 940 -552 on 940 0 on 940 936 on 374 936 on 374 0 on 190 0 on, end end points end glyph glyph Omacron -- LATIN O_MACRON character 0x014c postname Omacron category base component use uni0304 xy 1306 373 round unscaled_offset end component advanceWidth 1400 leftSideBearing 190 xMin 190 xMax 1310 yMin 0 yMax 1877 component use O byte_xy 0 0 round use_my_metrics unscaled_offset end component end glyph glyph omacron -- LATIN o_macron character 0x014d postname omacron category base component use uni0304 xy 1212 0 round unscaled_offset end component advanceWidth 1212 leftSideBearing 190 xMin 190 xMax 1124 yMin 0 yMax 1504 component use o byte_xy 0 0 round use_my_metrics unscaled_offset end component end glyph glyph Umacron -- LATIN U_MACRON character 0x016a postname Umacron category base component use uni0304 xy 1306 373 round unscaled_offset end component advanceWidth 1400 leftSideBearing 190 xMin 190 xMax 1310 yMin 0 yMax 1877 component use U byte_xy 0 0 round use_my_metrics unscaled_offset end component end glyph glyph umacron -- LATIN u_macron character 0x016b postname umacron category base component use uni0304 xy 1212 0 round unscaled_offset end component advanceWidth 1212 leftSideBearing 190 xMin 190 xMax 1124 yMin 0 yMax 1504 component use u byte_xy 0 0 round use_my_metrics unscaled_offset end component end glyph glyph uni0232 -- LATIN Y_MACRON character 0x0232 postname uni0232 category base component use uni0304 xy 1306 373 round unscaled_offset end component advanceWidth 1400 leftSideBearing 190 xMin 190 xMax 1310 yMin 0 yMax 1877 component use Y byte_xy 0 0 round use_my_metrics unscaled_offset end component end glyph glyph uni0233 -- LATIN y_macron character 0x0233 postname uni0233 component use y xy 0 0 round unscaled_offset end component component use uni0304 xy 1212 0 round unscaled_offset end component advanceWidth 1212 leftSideBearing 190 xMin 190 xMax 1124 yMin -776 yMax 1504 end glyph glyph dotlessj -- LATIN j DOTLESS character 0x0237 postname dotlessj category base advanceWidth 1212 leftSideBearing 0 points -- Taken from glyph j. 190 1120 on 374 1120 on 374 -368 on 0 -368 on 0 -184 on 190 -184 on, end end points end glyph glyph uni0253 -- LATIN b_hook character 0x0253 postname uni0253 category base advanceWidth 1212 leftSideBearing 190 points 190 1556 on -- 1493 = caps height, try 1556 for debowling 749 1556 on 749 1188 on 565 1188 on 565 1372 on 374 1372 on 374 936 on -- Drop bowl one line thickness 1124 936 on 1124 0 on 190 0 on, end 374 752 on -- Drop bowel one line thickness 374 184 on 940 184 on 940 752 on, end end points end glyph glyph uni0254 -- LATIN OPEN o character 0x0254 postname uni0254 category base advanceWidth 1212 leftSideBearing 190 points 1124 0 on 190 0 on 190 184 on 940 184 on 940 936 on 190 936 on 190 1120 on 1124 1120 on, end end points end glyph glyph uni025B -- LATIN OPEN e character 0x025b postname uni025B category base advanceWidth 1212 leftSideBearing 190 points -- Design 2 749 1120 on 1124 1120 on 1124 936 on 749 936 on -- A 409 794 on -- Where AB meets CD 749 652 on -- D 1124 652 on 1124 468 on 749 468 on -- F 409 326 on 749 184 on 1124 184 on 1124 0 on 749 0 on 190 234 on 190 418 on -- E 529 560 on -- Where DE meets BF 190 702 on -- B 190 886 on, end -- C end points end glyph glyph uni0263 -- LATIN gamma character 0x0263 postname uni0263 category base advanceWidth 1212 leftSideBearing 190 points 940 1120 on 1124 1120 on 749 250 on -- (1124+190)/2 = 657; 657+92=749 1124 -640 on 190 -640 on 565 250 on 190 1120 on 374 1120 on 657 456 on, end -- Here (374,1120)(1124,-640) meets (940,1120)(190,-640) 657 24 on -- Where (190,1120)(940,-640) meets (1124,1120)(374,-640) 452 -456 on -- Where y=184-640 meets (1124,1120)(374,-640) 862 -456 on, end -- Where (190,1120)(940,-640) meets y=-456 end points end glyph glyph uni026F -- LATIN TURNED m character 0x026f postname uni026F category base advanceWidth 1212 leftSideBearing 190 points 190 0 on 190 1120 on 374 1120 on 374 184 on 558 184 on 558 1120 on 742 1120 on 742 184 on 926 184 on 926 1120 on 1110 1120 on 1110 0 on, end end points end glyph glyph uni0294 -- LATIN glottal_stop character 0x0294 postname uni0294 category base advanceWidth 1212 leftSideBearing 190 points 190 1554 on 1124 1554 off 1124 1166 on 1124 869 off -- y = 777 - 92 + 184 374 869 on -- y = 777 - 92 + 184 374 0 on 190 0 on 190 1053 on 940 1053 off 940 1166 on 940 1370 off 190 1370 on, end end points end glyph glyph uni02B0 -- MODIFIER h character 0x02b0 postname uni02B0 category base advanceWidth 1212 leftSideBearing 190 component -- Something of a bodge use h xy 0 614 -- Raised 614 round unscaled_offset end component xMin 190 xMax 1124 yMin 614 yMax 2170 -- =1556+614 end glyph glyph uni0304 -- COMBINING MACRON character 0x0304 postname uni0304 category mark above advanceWidth 0 leftSideBearing -838 points -838 1320 on -- x = 374 - 1212 -838 1504 on -276 1504 on -- x = 936 - 1212 -276 1320 on, end end points end glyph glyph CGJ -- COMBINING GRAPHEME JOINER character 0x034f postname uni034F category mark invisible -- CGJ gets rendered by MS Edge! advanceWidth 0 leftSideBearing 0 end glyph glyph uni0361 -- COMBINING DOUBLE INVBREVE character 0x0361 postname uni0361 category defaultmark advanceWidth 0 leftSideBearing -838 points -- For base, mid point is x=-555 -838 1320 on -- x = 374 - 1212 -838 1504 on -338 1872 off -- x = 874 - 1212 49 1872 on -- x = 655 - 606 436 1872 off 936 1504 on 936 1320 on 436 1688 off 49 1688 on -338 1688 off, end end points end glyph glyph anoteleia -- GREEK ANO TELEIA character 0x0387 postname anoteleia category base advanceWidth 464 leftSideBearing 190 xMin 190 xMax 374 yMin 468 yMax 652 component use periodcentered xy 0 0 round use_my_metrics unscaled_offset end component end glyph glyph uni0E3F -- THAI CURRENCY SYMBOL BAHT character 0x0e3f postname uni0E3F category base advanceWidth 1400 leftSideBearing 190 points 190 0 on 190 1493 on 374 1493 on 1310 1120 on -- y = 0.75 * 1493 1310 940 on -- y = 1120 - 180 651 746 on -- (x - 374) / (746-656) = (1310 - 374) / (940 - 636) 1310 553 on -- y = 0.25 * 1493 + 180 1310 373 on 374 0 on, end 374 1313 on 374 836 on 1100 1030 on, end -- Should calculate this value 374 656 on 374 180 on 1100 463 on, end 566 1780 on 750 1780 on 750 -300 on 566 -300 on, end end points end glyph glyph mai_tri -- THAI CHARACTER MAI TRI character 0x0e4a postname uni0E4A category mark above advanceWidth 0 leftSideBearing -1015 points -- mid x at -555 -1015 1300 on -1015 1852 on -95 1852 on -95 1670 on -- Heads towards next two, commented out points: -- 905 3670 on -- 905 3300 on -- But trim at y=2000, yielding 170 2000 on -- Calculated 355 2000 on -- Calculated -95 1300 on -279 1300 on -279 1668 on -463 1668 on -463 1484 on -647 1484 on -647 1668 on -831 1668 on -831 1300 on, end end points end glyph glyph fongman -- FONGMAN -- Tai Tham style character 0x0e4f postname uni0E4F category base advanceWidth 1294 leftSideBearing 190 points 190 0 off 190 1120 off 1206 1120 off 1206 0 off, end 374 184 off 1022 184 off 1022 936 off 374 936 off, end 558 368 off 558 752 off 838 752 off 838 368 off, end end points end glyph glyph khomut --THAI CHARACTER KHOMUT character 0x0e5b postname uni0E5B category base advanceWidth 4544 leftSideBearing 190 points 1874 840 on -- From upper bound - tweaked ---- 1870 840 on -- From upper bound - exact 1174 140 on -- Part of circle - exact 1170 140 on -- Part of circle - exact 1030 0 off ---- 1310 560 on -- Part of circle ---- 1310 0 off -- Part of circle 750 0 on -- Part of circle 190 0 off 190 1120 off 750 1120 on -- End of outer circle 750 936 on -- Start of inner circle 374 936 off 374 184 off 750 184 on 938 184 off ---- 1032 278 on -- End of inner circle - exact 1028 278 on -- End of inner circle - tweaked ---- 1126 184 off -- Part of circle ---- 1126 560 on -- Part of circle -- Up at 45 degrees to y = 840. 1594 840 on -- To upper bound - exact 1590 840 on -- To upper bound - tweaked , end 1590 840 on 1874 840 on 2434 280 on 2150 280 on, end 2434 280 on 2150 280 on 2710 840 on 2994 840 on, end 2710 840 on 2994 840 on 3544 280 on 3270 280 on, end 3270 280 on 3270 464 on -- 3970 464 on -- if rounded 4270 464 on -- off to round -- 4270 764 on -- if rounded 4270 840 on 4454 840 on -- 4454 580 on -- if rounded 4454 280 on, end -- off to round -- 4154 280 on -- if rounded end points end glyph glyph uni1E20 -- LATIN G_MACRON character 0x1e20 postname uni1E20 category base component use uni0304 xy 1306 373 round unscaled_offset end component advanceWidth 1400 leftSideBearing 190 xMin 190 xMax 1310 yMin 0 yMax 1877 component use G byte_xy 0 0 round use_my_metrics unscaled_offset end component end glyph glyph uni1E21 -- LATIN g_macron character 0x1e21 postname uni1E21 category base component use uni0304 xy 1212 0 round unscaled_offset end component advanceWidth 1212 leftSideBearing 190 xMin 190 xMax 1124 yMin -776 yMax 1504 component use g byte_xy 0 0 round use_my_metrics unscaled_offset end component end glyph glyph uni2007 -- FIGURE SPACE character 0x2007 postname uni2007 category base advanceWidth 1400 leftSideBearing 0 end glyph glyph uni2008 -- PUNCTUATION SPACE character 0x2008 postname uni2008 category base advanceWidth 651 leftSideBearing 0 end glyph glyph uni2009 -- THIN SPACE character 0x2009 postname uni2009 category base advanceWidth 409 leftSideBearing 0 end glyph glyph uni200A -- HAIR SPACE character 0x200a postname uni200A category base advanceWidth 204 leftSideBearing 0 end glyph glyph uni200B -- ZERO WIDTH SPACE character 0x200b postname uni200B category base advanceWidth 0 leftSideBearing 0 end glyph glyph uni200C, zwnj -- ZERO WIDTH NON-JOINER character 0x200c postname uni200C category base advanceWidth 0 leftSideBearing 0 end glyph glyph uni200D -- ZERO WIDTH JOINER character 0x200d postname uni200D category base advanceWidth 0 leftSideBearing 0 end glyph glyph uni200E -- LEFT-TO-RIGHT MARK character 0x200e postname uni200E category base advanceWidth 0 leftSideBearing 0 end glyph glyph uni200F -- RIGHT-TO-LEFT MARK character 0x200f postname uni200F category base advanceWidth 0 leftSideBearing 0 end glyph glyph endash -- EN DASH character 0x2013 postname endash category base advanceWidth 1024 leftSideBearing 190 points 190 744 on 934 744 on 934 560 on 190 560 on, end end points end glyph glyph emdash -- EM DASH character 0x2014 postname emdash category base advanceWidth 2048 leftSideBearing 190 points 190 744 on 1958 744 on 1958 560 on 190 560 on, end end points end glyph glyph uni2016 -- DOUBLE VERTICAL LINE -- possibly useful character 0x2016 postname uni2016 category base advanceWidth 648 -- = 184 +464 leftSideBearing 190 xMin 190 xMax 558 -- = 184 + 374 yMin -270 yMax 1554 component use bar byte_xy 0 0 round unscaled_offset end component component use bar xy 184 0 round unscaled_offset end component end glyph glyph bullet -- BULLET character 0x2022 postname bullet category base advanceWidth 880 leftSideBearing 190 points 190 860 off 790 860 off 790 260 off 190 260 off, end end points end glyph glyph uni202A -- LEFT-TO-RIGHT EMBEDDING character 0x202a postname uni202A category base advanceWidth 0 leftSideBearing 0 end glyph glyph uni202B -- RIGHT-TO-LEFT EMBEDDING character 0x202b postname uni202B category base advanceWidth 0 leftSideBearing 0 end glyph glyph uni202C -- POP DIRECTIONAL FORMATTING character 0x202c postname uni202C category base advanceWidth 0 leftSideBearing 0 end glyph glyph uni202D -- LEFT-TO-RIGHT OVERRIDE character 0x202d postname uni202D category base advanceWidth 0 leftSideBearing 0 end glyph glyph uni202E -- RIGHT-TO-LEFT OVERRIDE character 0x202e postname uni202E category base advanceWidth 0 leftSideBearing 0 end glyph glyph uni202F -- NARROW NO-BREAK SPACE character 0x202f postname uni202F category base advanceWidth 409 leftSideBearing 0 end glyph glyph uni205F -- MEDIUM MATHEMATICAL SPACE character 0x205f postname uni205F category base advanceWidth 455 leftSideBearing 0 end glyph glyph uni2060 -- WORD JOINER character 0x2060 postname uni2060 category base advanceWidth 0 leftSideBearing 0 end glyph glyph uni206A -- INHIBIT SYMMETRIC SWAPPING character 0x206a postname uni206A category base advanceWidth 0 leftSideBearing 0 end glyph glyph uni206B -- ACTIVATE SYMMETRIC SWAPPING character 0x206b postname uni206B category base advanceWidth 0 leftSideBearing 0 end glyph glyph uni206C -- INHIBIT ARABIC FORM SHAPING character 0x206c postname uni206C category base advanceWidth 0 leftSideBearing 0 end glyph glyph uni206D -- ACTIVATE ARABIC FORM SHAPING character 0x206d postname uni206D category base advanceWidth 0 leftSideBearing 0 end glyph glyph uni206E -- NATIONAL SHAPES character 0x206e postname uni206E category base advanceWidth 0 leftSideBearing 0 end glyph glyph uni206F -- NOMINAL SHAPES character 0x206f postname uni206F category base advanceWidth 0 leftSideBearing 0 end glyph glyph uni2070 -- SUPERSCRIPT 0 character 0x2070 postname uni2070 category base -- Raised 614 component use zero xy 0 614 round unscaled_offset end component advanceWidth 1400 leftSideBearing 190 xMin 190 xMax 1310 yMin 614 yMax 2107 -- = 1493 + 614 end glyph glyph uni2074 -- SUPERSCRIPT 4 character 0x2074 postname uni2074 category base -- Raised 614 component use four xy 0 614 round unscaled_offset end component advanceWidth 1400 leftSideBearing 190 xMin 190 xMax 1310 yMin 614 yMax 2107 -- = 1493 + 614 end glyph glyph uni2075 -- SUPERSCRIPT 5 character 0x2075 postname uni2075 category base -- Raised 614 component use five xy 0 614 round unscaled_offset end component advanceWidth 1400 leftSideBearing 190 xMin 190 xMax 1310 yMin 614 yMax 2107 -- = 1493 + 614 end glyph glyph uni2215 -- DIVISION SLASH character 0x2215 postname uni2215 category base advanceWidth 1212 leftSideBearing 190 xMin 190 xMax 1124 yMin 0 yMax 1493 component use slash byte_xy 0 0 round unscaled_offset end component end glyph glyph uni2219 -- BULLET OPERATOR character 0x2219 postname uni2219 category base advanceWidth 680 leftSideBearing 190 points 190 760 off 590 760 off 590 360 off 190 360 off, end end points end glyph glyph uni25CC -- DOTTED CIRCLE character 0x25cc postname uni25CC category base advanceWidth 1212 leftSideBearing 190 xMin 190 -- = 0 + 190 xMax 1124 -- = 750 + 374 yMin 143 -- = 143 + 0 yMax 977 -- = 793 + 184 component use period xy 750 468 round unscaled_offset end component component use period xy 563 793 round unscaled_offset end component component use period xy 188 793 round unscaled_offset end component component use period xy 0 468 round unscaled_offset end component component use period xy 187 143 round unscaled_offset end component component use period xy 563 143 round unscaled_offset end component end glyph glyph grammar -- character 0x25cc postname uni25CC.gn category base advanceWidth 1584 leftSideBearing 190 points 190 560 on 842 1212 on 934 1120 on -- Squaring-off point -- 842 1028 on -- Redundant, used for calculating other dimensions. 374 560 on 842 92 on 1310 560 on 1122 748 on -- Inner delta = 468 / 2 - 46 = 188 822 448 on -- 300 unit indent, to taste 730 540 on -- Other part of indent. -- 1030 840 on -- Redundant, shape checking point 1122 932 on 1494 560 on 842 -92 on, end end points end glyph glyph uni25FB -- WHITE MEDIUM SQUARE character 0x25fb postname uni25FB category base advanceWidth 1032 leftSideBearing 190 points 190 936 on 942 936 on 942 184 on 190 184 on, end 374 752 on 374 368 on 758 368 on 758 752 on, end end points end glyph glyph uni25FC -- BLACK MEDIUM SQUARE character 0x25fc postname uni25FC category base advanceWidth 1032 leftSideBearing 190 points 190 936 on 942 936 on 942 184 on 190 184 on, end end points end glyph glyph uni25FD -- WHITE MEDIUM SMALL SQUARE character 0x25fd postname uni25FD category base advanceWidth 840 leftSideBearing 190 points 190 840 on 750 840 on 750 280 on 190 280 on, end 374 656 on 374 464 on 566 464 on 566 656 on, end end points end glyph glyph uni25FE -- BLACK MEDIUM SMALL SQUARE character 0x25fe postname uni25FE category base advanceWidth 840 leftSideBearing 190 points 190 840 on 750 840 on 750 280 on 190 280 on, end end points end glyph glyph uniFE00 -- VARIATION SELECTOR-1 character 0xfe00 postname uniFE00 category base advanceWidth 0 leftSideBearing 0 end glyph glyph uniFE01 -- VARIATION SELECTOR-2 character 0xfe01 postname uniFE01 category base advanceWidth 0 leftSideBearing 0 end glyph glyph uniFE02 -- VARIATION SELECTOR-3 character 0xfe02 postname uniFE02 category base advanceWidth 0 leftSideBearing 0 end glyph glyph uniFE03 -- VARIATION SELECTOR-4 character 0xfe03 postname uniFE03 category base advanceWidth 0 leftSideBearing 0 end glyph glyph uniFE04 -- VARIATION SELECTOR-5 character 0xfe04 postname uniFE04 category base advanceWidth 0 leftSideBearing 0 end glyph glyph uniFE05 -- VARIATION SELECTOR-6 character 0xfe05 postname uniFE05 category base advanceWidth 0 leftSideBearing 0 end glyph glyph uniFE06 -- VARIATION SELECTOR-7 character 0xfe06 postname uniFE06 category base advanceWidth 0 leftSideBearing 0 end glyph glyph uniFE07 -- VARIATION SELECTOR-8 character 0xfe07 postname uniFE07 category base advanceWidth 0 leftSideBearing 0 end glyph glyph uniFE08 -- VARIATION SELECTOR-9 character 0xfe08 postname uniFE08 category base advanceWidth 0 leftSideBearing 0 end glyph glyph uniFE09 -- VARIATION SELECTOR-10 character 0xfe09 postname uniFE09 category base advanceWidth 0 leftSideBearing 0 end glyph glyph uniFE0A -- VARIATION SELECTOR-11 character 0xfe0a postname uniFE0A category base advanceWidth 0 leftSideBearing 0 end glyph glyph uniFE0B -- VARIATION SELECTOR-12 character 0xfe0b postname uniFE0B category base advanceWidth 0 leftSideBearing 0 end glyph glyph uniFE0C -- VARIATION SELECTOR-13 character 0xfe0c postname uniFE0C category base advanceWidth 0 leftSideBearing 0 end glyph glyph uniFE0D -- VARIATION SELECTOR-14 character 0xfe0d postname uniFE0D category base advanceWidth 0 leftSideBearing 0 end glyph glyph uniFE0E -- VARIATION SELECTOR-15 character 0xfe0e postname uniFE0E category base advanceWidth 0 leftSideBearing 0 end glyph glyph uniFE0F -- VARIATION SELECTOR-16 character 0xfe0f postname uniFE0F category base advanceWidth 0 leftSideBearing 0 end glyph glyph uniFEFF -- ZERO WIDTH NO-BREAK SPACE character 0xfeff postname uniFEFF category base advanceWidth 0 leftSideBearing 0 end glyph glyph uniFFF9 -- INTERLINEAR ANNOTATION ANCHOR character 0xfff9 postname uniFFF9 category base advanceWidth 0 leftSideBearing 0 end glyph glyph uniFFFA -- INTERLINEAR ANNOTATION SEPARATOR character 0xfffa postname uniFFFA category base advanceWidth 0 leftSideBearing 0 end glyph glyph uniFFFB -- INTERLINEAR ANNOTATION TERMINATOR character 0xfffb postname uniFFFB category base advanceWidth 0 leftSideBearing 0 end glyph glyph uniFFFC -- OBJECT REPLACEMENT CHARACTER character 0xfffc postname uniFFFC category base advanceWidth 0 leftSideBearing 0 end glyph glyph high_ka character 0x1A20 -- TAI THAM LETTER HIGH KA postname uni1A20 category base advanceWidth 1910 leftSideBearing 190 points 190 1120 on 1820 1120 on 1820 0 on 1636 0 on 1636 936 on 1097 936 on 1097 0 on 913 0 on 913 936 on 374 936 on 374 0 on 190 0 on, end end points end glyph -- glyph high_ka_rev - reversed point order - presumed wrong! -- postname uni1A20 -- category base -- advanceWidth 1910 -- points -- 190 0 on -- 374 0 on -- 374 936 on -- 913 936 on -- 913 0 on -- 1097 0 on -- 1097 936 on -- 1636 936 on -- 1636 0 on -- 1820 0 on -- 1820 1120 on -- 190 1120 on, end -- end points -- end glyph glyph high_kha character 0x1A21 -- TAI THAM LETTER HIGH KHA postname uni1A21 category base leftSideBearing 190 advanceWidth 1212 points 190 1120 on 1124 1120 on 1124 0 on 750 0 on 750 -200 on 1124 -200 on 1124 -384 on 566 -384 on 566 0 on 190 0 on 190 600 on 750 600 on 750 184 on 940 184 on 940 936 on 190 936 on, end 374 184 on 566 184 on 566 416 on 374 416 on, end end points end glyph glyph high_kxa character 0x1A22 -- TAI THAM LETTER HIGH KXA postname uni1A22 category base leftSideBearing 190 -- By components: component use high_tail byte_xy 0 0 round unscaled_offset end component component use uni1A21 byte_xy 0 0 round use_my_metrics unscaled_offset end component xMin 190 xMax 1124 yMin -384 yMax 2140 advanceWidth 1212 end glyph glyph low_ka character 0x1A23 -- TAI THAM LETTER LOW KA postname uni1A23 category base leftSideBearing 190 advanceWidth 1212 points 190 0 on 190 1120 on 1124 1120 on 1124 0 on 940 0 on 940 936 on 374 936 on 374 0 on, end end points end glyph glyph low_kxa character 0x1A24 -- TAI THAM LETTER LOW KXA postname uni1A24 category base leftSideBearing 190 advanceWidth 1212 points 190 0 on 190 2140 on 1124 2140 on 1124 1956 on 374 1956 on 374 1120 on 1124 1120 on 1124 0 on 940 0 on 940 936 on 374 936 on 374 0 on, end end points end glyph glyph low_kha -- TAI THAM LETTER LOW KHA character 0x1A25 postname uni1A25 category base leftSideBearing 190 points 190 1120 on 924 1120 on 924 568 on 924 384 off 740 384 on 374 384 on 374 184 on 1189 184 on 1189 1120 on 1373 1120 on 1373 184 on 1636 184 on 1636 1120 on 1820 1120 on 1820 0 on 190 0 on 190 568 on 740 568 on 740 936 on 190 936 on, end end points advanceWidth 1912 end glyph glyph nga character 0x1A26 -- TAI THAM LETTER NGA postname uni1A26 category base leftSideBearing 190 points 190 0 on 190 1120 on 1124 1120 on 1124 0 on 940 0 on 940 936 on 374 936 on 374 559 on -- 1120 / 2 + 92 = 560 + 92 = 652 is too high - make square 749 559 on -- (1124+190)/2 + 92 = 1314/2 + 92 = 657 + 92 = 749 749 0 on 565 0 on 565 375 on 374 375 on 374 0 on, end end points advanceWidth 1212 end glyph glyph high_ca character 0x1A27 -- TAI THAM LETTER HIGH CA postname uni1A27 category base leftSideBearing 190 points 190 0 on 190 1120 on 1124 1120 on 1124 0 on, end 374 184 on 940 184 on 940 936 on 374 936 on 374 652 on 657 652 on 657 468 on 374 468 on, end end points advanceWidth 1212 end glyph glyph high_cha character 0x1A28 -- TAI THAM LETTER HIGH CHA postname uni1A28 category base leftSideBearing 190 points 190 1120 on 1124 1120 on 1124 0 on 190 0 on 190 184 on 566 184 on 566 416 on 190 416 on 190 600 on 750 600 on 750 184 on 940 184 on 940 936 on 190 936 on, end end points advanceWidth 1212 end glyph glyph low_ca character 0x1A29 -- TAI THAM LETTER LOW CA postname uni1A29 category base leftSideBearing 190 points 190 1120 on 1124 1120 on 1124 736 on 940 736 on 940 936 on 374 936 on 374 184 on 657 184 on 657 0 on 190 0 on, end 940 375 on 657 375 on 657 559 on 1124 559 on 1124 0 on 940 0 on, end end points advanceWidth 1212 end glyph glyph high_tail -- used for high kxa, low kxa, low sa, low fa, i.v. uu. postname high_tail leftSideBearing 190 points 190 1120 on -- 190 1901 on -- 1124 1901 on -- 1124 1717 on -- 374 1717 on 190 2140 on 1124 2140 on 1124 1956 on 374 1956 on 374 1120 on, end end points advanceWidth 1212 end glyph glyph low_sa character 0x1A2A -- TAI THAM LETTER LOW SA postname uni1A2A category base leftSideBearing 190 component use high_tail byte_xy 0 0 round unscaled_offset end component component use uni1A29 byte_xy 0 0 round use_my_metrics unscaled_offset end component xMin 190 xMax 1124 yMin 0 yMax 2140 advanceWidth 1212 end glyph glyph low_cha -- TAI THAM LETTER LOW CHA character 0x1A2B postname uni1A2B category base leftSideBearing 190 points 190 0 on 190 1120 on 1124 1120 on 1124 0 on 749 0 on 749 -568 on 1402 -568 on 1402 1120 on 1586 1120 on 1586 -752 on 565 -752 on 565 0 on, end 374 184 on 940 184 on 940 936 on 374 936 on 374 652 on 657 652 on 657 468 on 374 468 on, end end points advanceWidth 1676 end glyph glyph nya_shallow, nya3 -- for TAI THAM LETTER NYA -- character 0x1A2C postname uni1A2C.shallow category base leftSideBearing 190 -- glyph_nya3 = glyph_nya2 with nyadj = 184 points 190 1120 on 1097 1120 on 1097 184 on 1636 184 on 1636 936 on 1281 936 on 1281 1120 on 1820 1120 on 1820 0 on 374 0 on 374 -936 on 1820 -936 on 1820 -1120 on 190 -1120 on 190 184 on 936 184 on 936 936 on 190 936 on, end end points advanceWidth 1910 end glyph glyph nya, nya4, nya_deep -- TAI THAM LETTER NYA character 0x1A2C postname uni1A2C.deep category base leftSideBearing 190 -- glyph_nya4 - as nya_shallow with deeper tail points 190 1120 on 1097 1120 on 1097 184 on 1636 184 on 1636 936 on 1281 936 on 1281 1120 on 1820 1120 on 1820 0 on 374 0 on 374 -1320 on 1820 -1320 on 1820 -1504 on 190 -1504 on 190 184 on 936 184 on 936 936 on 190 936 on, end end points advanceWidth 1910 end glyph glyph nya_nya -- related to glyphnya4 postname u1A2C_u1A60_u1A2C category base leftSideBearing 190 points 190 552 on 1097 552 on 1097 184 on 1636 184 on 1636 936 on 1281 936 on 1281 1120 on 1820 1120 on 1820 0 on 374 0 on 374 -1320 on 1820 -1320 on 1820 -1504 on 190 -1504 on 190 184 on 936 184 on 936 368 on 190 368 on, end 190 1120 on 579 1120 on 579 829 on 708 829 on 708 1120 on 1097 1120 on 1097 700 on 967 700 on 967 991 on 838 991 on 838 700 on 449 700 on 449 991 on 320 991 on 320 700 on 190 700 on, end end points advanceWidth 1910 end glyph glyph rata character 0x1A2D -- TAI THAM LETTER RATA postname uni1A2D category base leftSideBearing 190 points 190 1120 on -- 657+/184 473 1120 on 473 936 on 374 936 on 374 184 on 565 184 on 565 376 on -- Was 560 749 376 on 749 184 on 940 184 on 940 936 on 841 936 on 841 1120 on 1124 1120 on 1124 0 on 190 0 on, end end points advanceWidth 1212 end glyph glyph high_rattha postname uni1A2D1A5B category base leftSideBearing 190 points 190 0 on 190 1120 on 473 1120 on 473 936 on 374 936 on 374 184 on 565 184 on 565 376 on 749 376 on 749 184 on 940 184 on 940 936 on 841 936 on 841 1120 on 1124 1120 on 1124 -1120 on 190 -1120 on 190 -376 on 940 -376 on 940 0 on, end 374 -560 on 374 -936 on 940 -936 on 940 -560 on, end end points advanceWidth 1212 end glyph glyph high_ratha_host -- TAI THAM LETTER HIGH RATHA -- Accommodates marks at baseline postname uni1A2E.host category base advanceWidth 1212 leftSideBearing 190 xMin 190 xMax 1124 yMin -1504 yMax 1120 component use high_tha xy 0 0 unscaled_offset end component component use sign_high_ratha_host xy 1212 0 unscaled_offset end component end glyph glyph high_ratha, high_ratha_nohost -- TAI THAM LETTER HIGH RATHA -- Does not accommodate marks at baseline character 0x1A2E postname uni1A2E.nohost category base advanceWidth 1212 leftSideBearing 190 points 190 0 on 190 1120 on 1124 1120 on 1124 936 on 374 936 on 374 184 on 565 184 on 565 376 on 749 376 on 749 184 on 940 184 on 940 560 on -- 560 - 92 = 468, but add 92 565 560 on 565 744 on -- 560 + 92 = 652, but add 92 to 744 1124 744 on 1124 -1120 on 190 -1120 on 190 -376 on 940 -376 on 940 0 on, end 374 -560 on 374 -936 on 940 -936 on 940 -560 on, end end points end glyph glyph kl_high_ratha, kl_high_ratha_nohost postname uni1A2E.kl_nohost category base leftSideBearing 190 points 190 0 on 190 1120 on 473 1120 on 473 936 on 374 936 on 374 184 on 940 184 on 940 936 on 841 936 on 841 1120 on 1124 1120 on 1124 -1120 on 190 -1120 on 190 -376 on 940 -376 on 940 0 on, end 374 -560 on 374 -936 on 940 -936 on 940 -560 on, end end points advanceWidth 1212 end glyph glyph da character 0x1A2F -- TAI THAM LETTER DA postname uni1A2F category base leftSideBearing 190 points 190 1120 on 1124 1120 on 1124 0 on 374 0 on 374 -200 on 1124 -200 on 1124 -384 on 190 -384 on 190 184 on 940 184 on 940 936 on 190 936 on, end end points advanceWidth 1212 end glyph glyph low_ratha -- TAI THAM LETTER LOW RATHA character 0x1A30 postname uni1A30 category base leftSideBearing 190 points 190 1120 on 924 1120 on 924 568 on 924 384 off 740 384 on 374 384 on 374 184 on 974 184 on 974 384 on 1158 384 on 1158 184 on 1344 184 on 1344 1120 on 1524 1120 on 1524 0 on 190 0 on 190 568 on 740 568 on 740 936 on 190 936 on, end end points advanceWidth 1612 end glyph glyph rana character 0x1A31 -- TAI THAM LETTER RANA postname uni1A31 category base leftSideBearing 190 points 190 1120 on 913 1120 on 913 184 on 1097 184 on 1097 1120 on 1820 1120 on 1820 0 on 1636 0 on 1636 936 on 1281 936 on 1281 0 on 729 0 on 729 936 on 374 936 on 374 0 on 190 0 on, end end points advanceWidth 1910 end glyph glyph high_rantha, high_rantha_nohost postname uni1A311A5B category base leftSideBearing 190 points 1636 0 on 1636 936 on 1281 936 on 1281 0 on 729 0 on 729 936 on 374 936 on 374 0 on 190 0 on 190 1120 on 913 1120 on 913 184 on 1097 184 on 1097 1120 on 1820 1120 on 1820 -1120 on 190 -1120 on 190 -376 on 1636 -376 on, end 374 -560 on 374 -936 on 1636 -936 on 1636 -560 on, end end points advanceWidth 1910 end glyph glyph high_ta character 0x1A32 -- TAI THAM LETTER HIGH TA postname uni1A32 category base leftSideBearing 190 points 190 1120 on 1820 1120 on 1820 0 on 1636 0 on 1636 936 on 1097 936 on 1097 0 on 190 0 on, end 374 936 on 374 184 on 913 184 on 913 936 on, end end points advanceWidth 1910 end glyph glyph lao_high_ttha, lao_high_ttha_nohost postname uni1A321A5B category base leftSideBearing 190 points 1636 936 on 1097 936 on 1097 0 on 190 0 on 190 1120 on 1820 1120 on 1820 -1120 on 190 -1120 on 190 -376 on 1636 -376 on, end 374 936 on 374 184 on 913 184 on 913 936 on, end 374 -560 on 374 -936 on 1636 -936 on 1636 -560 on, end end points advanceWidth 1910 end glyph glyph high_tha character 0x1A33 -- TAI THAM LETTER HIGH THA postname uni1A33 category base leftSideBearing 190 points 190 1120 on 1124 1120 on 1124 936 on 374 936 on 374 184 on 565 184 on 565 376 on 749 376 on 749 184 on 940 184 on 940 560 on -- 560 - 92 = 468, but add 92 565 560 on 565 744 on -- 560 + 92 = 652, but add 92 to 744 1124 744 on 1124 0 on 190 0 on, end end points advanceWidth 1212 end glyph glyph low_ta character 0x1A34 -- TAI THAM LETTER LOW TA postname uni1A34 category base leftSideBearing 190 points 190 1120 on 374 1120 on 374 184 on 940 184 on 940 568 on 657 568 on 657 752 on 940 752 on 940 936 on 657 936 on 657 1120 on 1124 1120 on 1124 0 on 190 0 on, end end points advanceWidth 1212 end glyph glyph low_tha character 0x1A35 -- TAI THAM LETTER LOW THA postname uni1A35 category base leftSideBearing 190 points 190 1120 on 1124 1120 on 1124 0 on 940 0 on 657 400 on 374 0 on 190 0 on, end 374 936 on 374 290 on 657 690 on 940 290 on 940 936 on, end end points advanceWidth 1212 end glyph glyph na character 0x1A36 -- TAI THAM LETTER NA postname uni1A36 category base leftSideBearing 190 points 190 1120 on 1124 1120 on 1124 756 on 940 756 on 940 940 on 374 940 on 374 184 on 1124 184 on 1124 -300 on 940 -300 on 940 0 on 190 0 on, end end points advanceWidth 1212 end glyph glyph naa -- U+1A36 U+1A63 postname uni1A361A63 -- Category as ligature causes mark positioning problem for m17n -- category ligature category base leftSideBearing 190 points 190 1120 on 1124 1120 on 1124 400 on -- or y = 368? 940 400 on 940 940 on 749 940 on 749 756 on 565 756 on 565 940 on 374 940 on 374 184 on 1124 184 on 1124 -300 on 940 -300 on 940 0 on 190 0 on, end end points advanceWidth 1212 end glyph glyph ba character 0x1A37 -- TAI THAM LETTER BA postname uni1A37 category base leftSideBearing 190 points 190 1120 on 374 1120 on 374 184 on 940 184 on 940 1120 on 1124 1120 on 1124 0 on 190 0 on, end end points advanceWidth 1212 end glyph glyph high_pa character 0x1A38 -- TAI THAM LETTER HIGH PA postname uni1A38 category base leftSideBearing 190 points 190 1120 on 374 1120 on 374 184 on 940 184 on 940 1901 on 1124 1901 on 1124 0 on 190 0 on, end end points advanceWidth 1212 end glyph glyph high_pha character 0x1A39 -- TAI THAM LETTER HIGH PHA postname uni1A39 category base leftSideBearing 190 -- Glyph is related to glyph for rata points 190 1120 on 400 1120 on -- 473, not 400, for h_rata 400 936 on 374 936 on 374 184 on 565 184 on 565 376 on 749 376 on 749 184 on 940 184 on 940 568 on 572 568 on 572 1120 on 1124 1120 on 1124 752 on 1400 752 on 1400 568 on 1124 568 on 1124 0 on 190 0 on, end 756 936 on 756 752 on 940 752 on 940 936 on, end end points advanceWidth 1500 end glyph glyph high_fa character 0x1A3A -- TAI THAM LETTER HIGH FA postname uni1A3A category base leftSideBearing 190 points -- candidate glyph_h_fa4. Body is dropped -368, i.e. -400 + 32 -- relative to HIGH PHA 190 752 on 473 752 on -- 473, not 400, as for h_rata 473 568 on 374 568 on 374 184 on 565 184 on 565 376 on 749 376 on 749 184 on 940 184 on 940 936 on 190 936 on 190 2140 on -- Raised to same position as high_tail 1124 2140 on 1124 1956 on 374 1956 on 374 1117 on 1124 1117 on 1124 0 on 190 0 on, end end points advanceWidth 1212 end glyph glyph low_pa character 0x1A3B -- TAI THAM LETTER LOW PA postname uni1A3B category base leftSideBearing 190 points 190 1120 on 1820 1120 on 1820 0 on 1636 0 on 1636 936 on 1097 936 on 1097 500 on -- 560 planned, but 500 looks better 913 500 on 913 936 on 374 936 on 374 0 on 190 0 on, end end points advanceWidth 1910 end glyph glyph low_fa character 0x1A3C -- TAI THAM LETTER LOW FA postname uni1A3C category base advanceWidth 1910 leftSideBearing 190 xMin 190 xMax 1820 yMin 0 yMax 2140 component use high_tail byte_xy 0 0 round unscaled_offset end component component use low_pa byte_xy 0 0 round use_my_metrics unscaled_offset end component end glyph glyph low_ppa, low_ppa_nohost postname uni1A3B1A5B category base leftSideBearing 190 points 1636 936 on 1097 936 on 1097 500 on 913 500 on 913 936 on 374 936 on 374 0 on 190 0 on 190 1120 on 1820 1120 on 1820 -1120 on 190 -1120 on 190 -376 on 1636 -376 on, end 374 -560 on 374 -936 on 1636 -936 on 1636 -560 on, end end points advanceWidth 1910 end glyph glyph lao_low_ppa, lao_low_ppa_nohost postname uni1A3B1A5B.lao category base leftSideBearing 190 points 1636 936 on 1097 936 on 1097 500 on 913 500 on 913 936 on 374 936 on 374 0 on 190 0 on 190 1120 on 1820 1120 on 1820 -1120 on 190 -1120 on 190 -376 on 1005 -376 on 1005 -560 on 374 -560 on 374 -936 on 1636 -936 on, end end points advanceWidth 1910 end glyph glyph low_pha character 0x1A3D -- TAI THAM LETTER LOW PHA postname uni1A3D category base leftSideBearing 190 points 190 1120 on 1820 1120 on 1820 0 on 1189 0 on 1189 184 on 1636 184 on 1636 936 on 913 936 on 913 0 on 190 0 on 190 184 on 729 184 on 729 936 on 190 936 on, end end points advanceWidth 1910 end glyph glyph ma1 -- character 0x1A3E -- TAI THAM LETTER MA postname uni1A3E.v1 category base leftSideBearing 190 points 190 1120 on 374 1120 on 374 184 on 940 184 on 940 384 on 567 384 on 567 568 on 940 568 on 940 1120 on 1124 1120 on 1124 0 on 190 0 on, end end points advanceWidth 1212 end glyph glyph ma2, uni1A3E -- TAI THAM LETTER MA character 0x1A3E postname uni1A3E.v2 category base leftSideBearing 190 points 190 1120 on 374 1120 on 374 184 on 940 184 on 940 384 on 567 384 on 567 568 on 940 568 on 940 1120 on 1124 1120 on 1124 568 on 1400 568 on 1400 384 on 1124 384 on 1124 0 on 190 0 on, end end points advanceWidth 1500 end glyph glyph low_mpa, low_mpa_nohost -- Design name glyph_l_mpa2_art_nohost postname uni1A3E1A5B category base leftSideBearing 190 points 1078 384 on 1032 0 on 190 0 on 190 1120 on 374 1120 on 374 184 on 848 184 on 894 384 on 567 384 on 567 568 on 940 568 on 1040 1120 on 1224 1120 on 1124 568 on 1400 568 on 1300 -376 on 1200 -1120 on 190 -1120 on 190 -376 on 1116 -376 on 1216 384 on, end 374 -560 on 374 -936 on 1056 -936 on 1116 -560 on, end end points advanceWidth 1500 end glyph glyph lao_low_mpa, lao_low_mpa_nohost -- Design name glyph_lao_l_mpa2_art_nohost postname uni1A3E1A5B.lao category base leftSideBearing 190 points 1078 384 on 1032 0 on 190 0 on 190 1120 on 374 1120 on 374 184 on 848 184 on 894 384 on 567 384 on 567 568 on 940 568 on 1040 1120 on 1224 1120 on 1124 568 on 1400 568 on 1200 -1120 on 190 -1120 on 190 -376 on 750 -376 on 750 -560 on 374 -560 on 374 -936 on 1056 -936 on 1216 384 on, end end points advanceWidth 1500 end glyph glyph low_ya character 0x1A3F -- TAI THAM LETTER LOW YA postname uni1A3F category base leftSideBearing 190 points 190 1120 on 374 1120 on 374 184 on 913 184 on 913 1120 on 1097 1120 on 1097 184 on 1636 184 on 1636 1120 on 1820 1120 on 1820 0 on 190 0 on, end end points advanceWidth 1910 end glyph glyph high_ya character 0x1A40 -- TAI THAM LETTER HIGH YA postname uni1A40 category base leftSideBearing 190 points 190 1120 on 657 1120 on 657 936 on 374 936 on 374 752 on 657 752 on 657 568 on 374 568 on 374 184 on 940 184 on 940 1901 on 1124 1901 on 1124 0 on 190 0 on, end end points advanceWidth 1212 end glyph glyph ra character 0x1A41 -- TAI THAM LETTER RA postname uni1A41 category base leftSideBearing 190 points 190 0 on 190 184 on 740 184 on 740 320 on 190 320 on 190 1120 on 374 1120 on 1124 795 on -- 1124 - 374 = 650, / 2 = 325 drop 1124 589 on -- 184 * sqrt(1.25) = 206 374 914 on 374 504 on 924 504 on 924 0 on, end end points advanceWidth 1212 end glyph glyph lao_low_ha character 0xeae6 -- For external citation. postname uni1A4C.lao category base leftSideBearing 190 points 190 0 on 190 184 on 740 184 on 740 320 on 190 320 on 190 1120 on 374 1120 on 924 882 on 1124 969 on 1124 763 on 924 676 on 374 914 on 374 504 on 924 504 on 924 0 on, end end points advanceWidth 1212 end glyph glyph rue character 0x1A42 -- TAI THAM LETTER RUE postname uni1A42 category base leftSideBearing 190 points 190 560 on 190 1120 on 1124 1120 on 1124 -568 on 1304 -752 on 1304 -936 on 1124 -752 on 1124 -1120 on 190 -1120 on 190 -200 on 940 -200 on 940 936 on 374 936 on 374 560 on, end 374 -384 on 374 -936 on 940 -936 on 940 -752 on 558 -752 on 558 -568 on 940 -568 on 940 -384 on, end end points advanceWidth 1212 end glyph glyph la character 0x1A43 -- TAI THAM LETTER LA postname uni1A43 category base leftSideBearing 190 points 190 1120 on 1097 1120 on 1097 184 on 1636 184 on 1636 1120 on 1820 1120 on 1820 0 on 913 0 on 913 936 on 374 936 on 374 0 on 190 0 on, end end points advanceWidth 1910 end glyph glyph lue character 0x1A44 -- TAI THAM LETTER LUE postname uni1A44 category base leftSideBearing 190 points 190 1120 on 1124 1120 on 1124 392 on 374 392 on 374 184 on 1124 184 on -- Finishes of strokes: 1124 -200 on -- Stroke 1 1304 -384 on 1304 -568 on 1124 -384 on 1124 -568 on -- Stroke 2 1304 -752 on 1304 -936 on 1124 -752 on -- Bottom: 1124 -1120 on 190 -1120 on 190 -200 on 374 -200 on 374 -936 on 940 -936 on -- Starts of strokes: 940 -752 on -- Stroke 2 558 -752 on 558 -568 on 940 -568 on 940 -384 on -- stroke 1 558 -384 on 558 -200 on 940 -200 on -- Left of top: 940 0 on 190 0 on 190 562 on 940 562 on 940 936 on 190 936 on, end end points advanceWidth 1212 end glyph glyph wa character 0x1A45 -- TAI THAM LETTER WA postname uni1A45 category base leftSideBearing 190 points 190 0 off 190 1120 off 1124 1120 off 1124 0 off, end 374 184 off 940 184 off 940 936 off 374 936 off, end end points advanceWidth 1212 end glyph glyph high_sha character 0x1A46 -- TAI THAM LETTER HIGH SHA postname uni1A46 category base leftSideBearing 190 points 190 0 on 190 1120 on 1124 1120 on 1124 744 on 1304 744 on 1304 560 on 1124 560 on 1124 0 on 940 0 on 940 560 on 666 560 on 666 744 on 940 744 on 940 936 on 374 936 on 374 0 on, end end points advanceWidth 1394 end glyph glyph high_ssa character 0x1A47 -- TAI THAM LETTER HIGH SSA postname uni1A47 category base leftSideBearing 190 points -- based on glyph_h_sa.n 190 184 on 473 184 on 473 936 on 190 936 on 190 1120 on 657 1120 on 657 184 on 940 184 on 940 473 on 841 473 on 841 657 on 940 657 on 940 936 on 841 936 on 841 1120 on 1124 1120 on 1124 657 on 1304 657 on -- x=1400 looks unbalanced 1304 473 on 1124 473 on 1124 0 on 190 0 on, end end points advanceWidth 1394 end glyph glyph high_sa character 0x1A48 -- TAI THAM LETTER HIGH SA postname uni1A48 category base leftSideBearing 190 points -- variant glyph_h_sa.n 190 184 on 473 184 on -- Was 381 473 936 on 190 936 on 190 1120 on 657 1120 on -- Was 565 657 184 on 940 184 on 940 936 on 841 936 on 841 1120 on 1124 1120 on 1124 0 on 190 0 on, end end points advanceWidth 1212 end glyph glyph high_ha character 0x1A49 -- TAI THAM LETTER HIGH HA postname uni1A49 category base leftSideBearing 190 points 190 1120 on 374 1120 on 374 184 on 913 184 on 913 1120 on 1820 1120 on 1820 0 on 1636 0 on 1636 936 on 1097 936 on 1097 0 on 190 0 on, end end points advanceWidth 1910 end glyph glyph lla character 0x1A4A -- TAI THAM LETTER LLA postname uni1A4A category base leftSideBearing 190 points 190 1120 on 1124 1120 on 1124 0 on 940 0 on 940 936 on 374 936 on 374 559 on -- 1120 / 2 + 92 = 560 + 92 = 652 is too high - make square 749 559 on -- (1124+190)/2 + 92 = 1314/2 + 92 = 657 + 92 = 749 749 0 on 565 0 on 565 375 on 374 375 on 374 -376 on 1124 -376 on 1124 -1120 on 190 -1120 on, end 940 -560 on 374 -560 on 374 -936 on 940 -936 on, end end points advanceWidth 1212 end glyph glyph letter_a character 0x1A4B -- TAI THAM LETTER A postname uni1A4B category base leftSideBearing 190 points -- glyph_qa.3 190 1120 on 557 1120 on 557 936 on 374 936 on 374 652 on 557 652 on 557 468 on 374 468 on 374 184 on 557 184 on 557 0 on 190 0 on, end 757 184 on 940 184 on 940 468 on 757 468 on 757 652 on 940 652 on 940 936 on 757 936 on 757 1120 on 1124 1120 on 1124 0 on 757 0 on, end end points advanceWidth 1212 end glyph glyph u_body postname u_body category component leftSideBearing 190 points -- glyph_qu_body 190 1120 on 1124 1120 on 1124 0 on 190 0 on 190 184 on 940 184 on 940 936 on 190 936 on, end end points advanceWidth 1212 end glyph glyph left_low_tail postname left_low_tail category component leftSideBearing 190 points 374 0 on 374 0 on -- 374 -597 on -- 1124 -597 on -- 1124 -781 on -- 190 -781 on 374 -836 on 1124 -836 on 1124 -1020 on 190 -1020 on 190 0 on, end end points advanceWidth 1212 end glyph glyph low_ha character 0x1A4C -- TAI THAM LETTER LOW HA postname uni1A4C category base leftSideBearing 190 points 1636 936 on 1097 936 on 1097 0 on 190 0 on 190 1120 on 374 1120 on 374 184 on 913 184 on 913 1120 on 1820 1120 on 1820 -1120 on 190 -1120 on 190 -376 on 1636 -376 on 1636 0 on 1436 0 on 1436 184 on 1636 184 on, end 374 -560 on 374 -936 on 1636 -936 on 1636 -560 on, end end points advanceWidth 1910 end glyph glyph letter_i character 0x1A4D -- TAI THAM LETTER I postname uni1A4D category base leftSideBearing 190 points 190 936 on 190 1120 on 1820 1120 on 1820 936 on 1465 0 on 1465 -1120 on 1281 -1120 on 1281 -184 on 729 -184 on 729 -560 on 1097 -560 on 1097 -1120 on 913 -1120 on 913 -744 on 729 -744 on 729 -1120 on 545 -1120 on 545 0 on, end 729 0 on 1281 0 on 1636 936 on 1097 936 on 1097 500 on -- 560 planned, but 500 looks better 913 500 on 913 936 on 374 936 on, end end points advanceWidth 1910 end glyph glyph letter_ii character 0x1A4E -- TAI THAM LETTER II postname uni1A4E category base leftSideBearing 190 xMin 190 xMax 2284 -- 1910 + 374 yMin -1120 yMax 1120 component use letter_i xy 0 0 unscaled_offset end component component use sakot_low_ya xy 1910 0 unscaled_offset end component advanceWidth 2374 -- 1910 + 464 end glyph glyph letter_u character 0x1A4F -- TAI THAM LETTER U postname uni1A4F category base leftSideBearing 190 xMin 190 xMax 1124 yMin -1020 yMax 1120 advanceWidth 1212 component use left_low_tail byte_xy 0 0 round unscaled_offset end component component use u_body byte_xy 0 0 round use_my_metrics unscaled_offset end component end glyph glyph letter_uu character 0x1A50 -- TAI THAM LETTER UU postname uni1A50 category base leftSideBearing 190 advanceWidth 1212 xMin 190 xMax 1124 yMin -1020 yMax 2140 component use u_body byte_xy 0 0 round use_my_metrics unscaled_offset end component component use high_tail byte_xy 0 0 round unscaled_offset end component component use left_low_tail byte_xy 0 0 round unscaled_offset end component end glyph glyph letter_ee character 0x1A51 -- TAI THAM LETTER EE postname uni1A51 category base leftSideBearing 190 points 190 1120 on 557 1120 on 557 936 on 374 936 on 374 552 on 557 552 on 557 368 on 374 368 on 374 -200 on 1124 -200 on 1124 -384 on 190 -384 on, end end points advanceWidth 645 end glyph glyph letter_oo character 0x1A52 -- TAI THAM LETTER OO postname uni1A52 category base leftSideBearing 190 xMin 190 xMax 1684 -- From medial_ra yMin -304 yMax 2140 component use medial_ra xy 0 0 unscaled_offset end component component use letter_a xy 464 0 unscaled_offset end component advanceWidth 1676 -- 464 + 1212 end glyph glyph lae -- TAI THAM LETTER LAE character 0x1A53 postname uni1A53 category base leftSideBearing 190 points 190 752 on 1097 752 on 1097 184 on 1636 184 on 1636 936 on 190 936 on 190 2140 on 1820 2140 on 1820 1956 on 374 1956 on 374 1120 on 1820 1120 on 1820 0 on 913 0 on 913 568 on 374 568 on 374 0 on 190 0 on, end end points advanceWidth 1910 end glyph glyph great_sa -- TAI THAM LETTER GREAT SA character 0x1A54 postname uni1A54 category base leftSideBearing 190 points 190 184 on 473 184 on 473 936 on 190 936 on 190 1120 on 657 1120 on 657 184 on 1054 184 on 1054 936 on 841 936 on 841 1120 on 1236 1120 on 1236 184 on 1636 184 on 1636 936 on 1422 936 on 1422 1120 on 1820 1120 on 1820 0 on 190 0 on, end end points advanceWidth 1910 end glyph glyph medial_ra -- TAI THAM CONSONANT SIGN MEDIAL RA category base character 0x1A55 postname uni1A55 leftSideBearing 190 points 190 2140 on 1684 2140 on 1684 1956 on 374 1956 on 374 0 on 556 -184 on 426 -304 on 190 -68 on, end end points advanceWidth 464 end glyph glyph medial_la -- For narrow base-- TAI THAM CONSONANT SIGN MEDIAL LA character 0x1A56 postname uni1A56 category mark below leftSideBearing -1022 points -- mid point is -555 -1022 -200 on -463 -200 on -463 -936 on -272 -936 on -272 -200 on -88 -200 on -88 -1120 on -647 -1120 on -647 -384 on -838 -384 on -838 -1120 on -1022 -1120 on, end end points advanceWidth 0 end glyph glyph medial_la_wide -- Wide for wide base postname uni1A56.wide category mark below leftSideBearing -1574 points -- mid point is -905 -1574 -200 on -813 -200 on -813 -936 on -420 -936 on -420 -200 on -236 -200 on -236 -1120 on -997 -1120 on -997 -384 on -1390 -384 on -1390 -1120 on -1574 -1120 on, end end points advanceWidth 0 end glyph glyph medial_la_uncramped -- Wide for narrow base postname uni1A56.uncramped category mark below leftSideBearing -1224 points -- mid point is -555 -1224 -200 on -463 -200 on -463 -936 on -70 -936 on -70 -200 on +114 -200 on +114 -1120 on -647 -1120 on -647 -384 on -1040 -384 on -1040 -1120 on -1224 -1120 on, end end points advanceWidth 0 end glyph glyph la_tang_lai -- TAI THAM CONSONANT SIGN LA TANG LAI character 0x1A57 postname uni1A57 -- category mark below -- Spacing! category base leftSideBearing -964 points -964 -200 on -203 -200 on -203 -936 on 190 -936 on 190 -568 on -13 -568 on -13 -384 on 190 -384 on 190 1120 on 374 1120 on 374 -384 on 624 -684 on 624 -971 on -- drop = 184 * sqrt(1+(300/250)^2) 374 -671 on 374 -1120 on -387 -1120 on -387 -384 on -780 -384 on -780 -1120 on -964 -1120 on, end end points advanceWidth 464 end glyph glyph compact_mai_kang_lai -- considered for TAI THAM SIGN MAI KANG LAI -- character 0x1A58 postname uni1A58.compact category mark above leftSideBearing -831 points -- x center at -555 -831 1300 on -831 1484 on -463 1484 on -463 1668 on -610 1668 on -- edge rounder -831 1668 off -831 1889 on -- edge rounder -831 2073 on -- edge rounder -831 2220 off -610 2220 on -- edge rounder -500 2220 on -- edge rounder -279 2220 off -279 1999 on -- edge rounder -279 1852 on -40 1852 on -40 1668 on -279 1668 on -279 1521 on -- edge rounder -279 1300 off -500 1300 on, end -- edge rounder -647 1852 on -463 1852 on -463 2036 on -647 2036 on, end end points advanceWidth 0 end glyph glyph mai_kang_lai -- TAI THAM SIGN MAI KANG LAI character 0x1A58 postname uni1A58 category mark above leftSideBearing -831 -- Glyph design is dubbed mai_kang_lai_3 points -- x center at -555 -831 1300 on -831 1484 on -563 1484 on -563 1889 on -- edge rounder -563 2073 on -- edge rounder -563 2220 off -342 2220 on -- edge rounder -232 2220 on -- edge rounder -11 2220 off -11 1999 on -- edge rounder -11 1852 on 328 1852 on 328 1668 on -379 1668 on -379 1300 on, end -379 1852 on -195 1852 on -195 2036 on -379 2036 on, end end points advanceWidth 0 end glyph glyph sign_nga character 0x1A59 -- TAI THAM CONSONANT SIGN FINAL NGA postname uni1A59 category mark above advanceWidth 0 leftSideBearing -1015 xMin -1015 xMax -95 yMin 1300 -- = -1120 + 2420 yMax 2220 -- = -200 + 2420 component use sakot_nga xy 0 2420 round unscaled_offset end component end glyph glyph sign_low_pa -- TAI THAM CONSONANT SIGN LOW PA character 0x1A5A postname uni1A5A category mark above advanceWidth 0 leftSideBearing -1574 xMin -1574 xMax -236 yMin 1300 -- = -1120 + 2420 yMax 2220 -- = -200 + 2420 component use sakot_low_pa_wide xy 0 2420 round unscaled_offset end component end glyph glyph sign_high_ratha_host -- For narrow bases -- Accomodates marks below the base -- character 0x1A5B -- TAI THAM CONSONANT SIGN HIGH RATHA OR LOW PA postname uni1A5B.ratha_host category mark below leftSideBearing -1022 points -272 0 on -88 0 on -88 -1504 on -1022 -1504 on -1022 -952 on -272 -952 on, end -838 -1136 on -838 -1320 on -272 -1320 on -272 -1136 on, end end points advanceWidth 0 end glyph glyph sign_high_ratha, sign_high_ratha_nohost -- For narrow bases -- Does not accomodate marks below the base character 0x1A5B -- TAI THAM CONSONANT SIGN HIGH RATHA OR LOW PA postname uni1A5B.ratha_nohost category mark below leftSideBearing -1022 points -272 0 on -88 0 on -88 -1120 on -1022 -1120 on -1022 -376 on -272 -376 on, end -838 -560 on -838 -936 on -272 -936 on -272 -560 on, end end points advanceWidth 0 end glyph glyph sign_narrow_low_pa_below -- Lao style for narrow bases -- Does not accomodate marks below the base postname uni1A5B.narrow_lao_pa category mark below leftSideBearing -1022 points -- Mid point is -555 -272 0 on -88 0 on -88 -1120 on -1022 -1120 on -1022 -376 on -555 -376 on -555 -560 on -838 -560 on -838 -936 on -272 -936 on, end end points advanceWidth 0 end glyph glyph sign_low_pa_below_host -- For wide bases -- Accomodates marks below the base postname uni1A5B.pa_host category mark below leftSideBearing -1718 points -272 0 on -88 0 on -88 -1504 on -1718 -1504 on -1718 -952 on -272 -952 on, end -1534 -1136 on -1534 -1320 on -272 -1320 on -272 -1136 on, end end points advanceWidth 0 end glyph glyph sign_low_pa_below, sign_low_pa_below_nohost -- For wide bases -- Does not accomodate marks below the base postname uni1A5B.pa_nohost category mark below leftSideBearing -1718 points -272 0 on -88 0 on -88 -1120 on -1718 -1120 on -1718 -376 on -272 -376 on, end -1534 -560 on -1534 -936 on -272 -936 on -272 -560 on, end end points advanceWidth 0 end glyph glyph sign_lao_low_pa, sign_lao_low_pa_nohost -- Does not accomodate marks between it and the base postname uni1A5B.wide_lao_pa category mark below leftSideBearing -1718 points -272 0 on -88 0 on -88 -1120 on -1718 -1120 on -1718 -376 on -903 -376 on -903 -560 on -1534 -560 on -1534 -936 on -272 -936 on, end end points advanceWidth 0 end glyph glyph sign_ma -- TAI THAM CONSONANT SIGN MA character 0x1A5C postname uni1A5C category mark below leftSideBearing -939 points -- Should they be adjusted for glyph ma2? -- mid point is -555 -939 -200 on -755 -200 on -755 -936 on -355 -936 on -355 -752 on -571 -752 on -571 -568 on -355 -568 on -355 -200 on -171 -200 on -171 -1120 on -939 -1120 on, end end points advanceWidth 0 end glyph glyph sign_ba -- TAI THAM CONSONANT SIGN BA character 0x1A5D postname uni1A5D category mark below leftSideBearing -939 points -- mid point is -555 -939 -200 on -755 -200 on -755 -936 on -355 -936 on -355 -200 on -171 -200 on -171 -1120 on -939 -1120 on, end end points advanceWidth 0 end glyph glyph sign_sa -- TAI THAM CONSONANT SIGN SA character 0x1A5E postname uni1A5E category mark below leftSideBearing -939 points -- mid point is -555 -939 -936 on -756 -936 on -756 -384 on -939 -384 on -939 -200 on -572 -200 on -572 -936 on -356 -936 on -356 -384 on -451 -384 on -451 -200 on -172 -200 on -172 -1120 on -939 -1120 on, end end points advanceWidth 0 end glyph glyph sakot -- TAI THAM SIGN SAKOT character 0x1A60 postname uni1A60 category mark below leftSideBearing -1015 points -647 -200 on -463 -200 on -463 -568 on -95 -568 on -95 -752 on -463 -752 on -463 -1120 on -647 -1120 on -647 -752 on -1015 -752 on -1015 -568 on -647 -568 on, end -- mid point is -555 end points advanceWidth 0 end glyph glyph mai_ka character 0x1A61 -- TAI THAM VOWEL SIGN A postname uni1A61 category base leftSideBearing 190 points 190 928 on 1124 938 on 1124 744 on 190 744 on, end 190 376 on 1124 376 on 1124 192 on 190 192 on, end end points advanceWidth 1212 end glyph glyph mai_sat character 0x1A62 -- TAI THAM VOWEL SIGN MAI SAT postname uni1A62 category mark above leftSideBearing -939 points -939 1484 on -171 1852 on -171 1668 on -939 1300 on,end end points advanceWidth 0 end glyph glyph mai_sat_ek postname uni1A621A75 category mark above leftSideBearing -939 points -- Mid point is -555 -939 2036 on -755 2036 on -755 1572 on -171 1852 on -171 1668 on -939 1300 on, end end points advanceWidth 0 end glyph glyph mai_sat_ek_tho postname uni1A621A751A76 category mark above leftSideBearing -939 points -- *Nominal* mid point is -555 -939 2036 on -755 2036 on -755 1572 on -171 1852 on -171 1668 on -939 1300 on, end -571 2300 on -387 2300 on -387 2116 on 197 2396 on 197 2212 on -571 1844 on, end end points advanceWidth 0 end glyph glyph mai_sat_2lem postname uni1A621A76 category mark above leftSideBearing -939 points -- Mid point is -555 -939 1484 on -171 1852 on -171 1668 on -939 1300 on, end -939 2124 on -755 2124 on -755 1940 on -171 2220 on -171 2036 on -939 1668 on, end end points advanceWidth 0 end glyph glyph mai_sat_3lem postname uni1A621A621A76 category mark above leftSideBearing -939 points -- Mid point is -555 -939 1484 on -171 1852 on -171 1668 on -939 1300 on, end -939 1852 on -171 2220 on -171 2036 on -939 1668 on, end -939 2492 on -755 2492 on -755 2308 on -171 2588 on -171 2404 on -939 2036 on, end end points advanceWidth 0 end glyph glyph mai_kaa character 0x1A63 -- TAI THAM VOWEL SIGN AA postname uni1A63 category base leftSideBearing 190 points 190 1120 on 657 1120 on -- extra 1124 1120 off 1124 0 off 657 0 on -- extra 190 0 on 190 184 on 657 184 on -- extra 940 184 off 940 936 off 657 936 on -- extra 190 936 on, end end points advanceWidth 1212 end glyph glyph mai_kam -- Temporary glyph postname uni1A631A74 category base leftSideBearing 190 advanceWidth 1212 component use mai_kaa xy 0 0 end component component use mai_kang xy 1212 0 end component xMin 190 xMax 1124 yMin 0 yMax 1852 end glyph glyph mai_kaa_luang character 0x1A64 -- TAI THAM VOWEL SIGN TALL AA postname uni1A64 category base leftSideBearing -560 points -560 2048 on -93 2048 on 374 2048 off 374 1488 on 374 0 on 190 0 on 190 1488 on 190 1864 off -93 1864 on -560 1864 on, end end points advanceWidth 464 end glyph glyph mai_kam_luang -- Temporary glyph postname uni1A641A74 category base leftSideBearing -560 advanceWidth 464 component use mai_kaa_luang xy 0 0 end component component use mai_kang xy 464 0 end component xMin -560 xMax 374 yMin 0 yMax 2048 end glyph glyph mai_ki -- TAI THAM VOWEL SIGN I character 0x1A65 postname uni1A65 category mark above leftSideBearing -1011 points -1011 1300 on -1011 1852 on -99 1852 on -99 1300 on -283 1300 on -283 1668 on -827 1668 on -827 1484 on -555 1484 on -555 1300 on, end end points advanceWidth 0 end glyph glyph mai_kii -- TAI THAM VOWEL SIGN II character 0x1A66 postname uni1A66 category mark above leftSideBearing -1011 points -1011 1300 on -1011 1852 on -344 1852 on -344 1300 on -467 1300 on -467 1668 on -827 1668 on -827 1484 on -643 1484 on -643 1300 on, end -221 1300 on -221 1852 on -99 1852 on -99 1300 on, end end points advanceWidth 0 end glyph glyph mai_kue -- TAI THAM VOWEL SIGN UE character 0x1A67 postname uni1A67 category mark above leftSideBearing -1011 points -1011 1300 on -1011 1852 on -99 1852 on -99 1300 on -467 1300 on -467 1484 on -283 1484 on -283 1668 on -827 1668 on -827 1484 on -643 1484 on -643 1300 on, end end points advanceWidth 0 end glyph glyph mai_kuue -- TAI THAM VOWEL SIGN UUE character 0x1A68 postname uni1A68 category mark above leftSideBearing -1011 points -1011 1300 on -1011 1852 on -375 1852 on -- -283 2036 on -- -99 2036 on -191 2220 on -7 2220 on -191 1852 on -99 1852 on -99 1300 on -467 1300 on -467 1484 on -283 1484 on -283 1668 on -559 1484 on -- Jaggy below -467 1668 on -827 1668 on -827 1484 on -643 1484 on -643 1300 on, end end points advanceWidth 0 end glyph glyph mai_ku -- TAI THAM VOWEL SIGN U character 0x1A69 postname uni1A69 category mark below leftSideBearing -739 points -- Nominal midpoint -555 -555 -200 on -555 -568 on -155 -568 on -155 -752 on -739 -752 on -739 -200 on, end end points advanceWidth 0 end glyph glyph mai_kuu -- TAI THAM VOWEL SIGN UU character 0x1A6A postname uni1A6A category mark below leftSideBearing -847 points -- Nominal midpoint -555 -295 -200 on -295 -568 on +73 -568 on +73 -752 on -479 -752 on -479 -200 on, end -847 -200 on -663 -200 on -663 -752 on -847 -752 on, end end points advanceWidth 0 end glyph glyph mai_kong character 0x1A6B -- TAI THAM VOWEL SIGN O postname uni1A6B category mark above leftSideBearing -831 points -831 1852 on -279 1852 on -279 1300 on -463 1300 on -463 1668 on -831 1668 on, end end points advanceWidth 0 end glyph glyph mai_koa_below -- TAI THAM VOWEL SIGN OA BELOW character 0x1A6C postname uni1A6C category mark below leftSideBearing -1022 points -- Nominal midpoint -555 -1022 -200 on -838 -200 on -838 -568 on -654 -568 on -654 -292 on -470 -292 on -470 -568 on +100 -292 on -- If as wide, x=316. x=-92 gives nice vertical chop. +100 -476 on -470 -752 on -1022 -752 on, end end points advanceWidth 0 end glyph glyph mai_koa_below_wide -- TAI THAM VOWEL SIGN OA BELOW postname uni1A6C.wide category mark below leftSideBearing -1574 points -- Nominal midpoint -905 -1574 -200 on -1390 -200 on -1390 -568 on -1206 -568 on -1206 -292 on -1022 -292 on -1022 -568 on -236 -292 on -236 -476 on -1022 -752 on -1574 -752 on, end end points advanceWidth 0 end glyph glyph mai_koi character 0x1A6D -- TAI THAM VOWEL SIGN OY postname uni1A6D category base leftSideBearing -647 points -647 -200 on -95 -200 on -- x= -279 rejected -95 -384 on -463 -384 on -463 -568 on -95 -568 on -95 -752 on -463 -752 on -463 -936 on 190 -936 on 190 2048 on 558 2048 on 558 1864 on 374 1864 on 374 -1120 on -647 -1120 on, end end points advanceWidth 464 end glyph glyph mai_ke character 0x1A6E -- TAI THAM VOWEL SIGN E postname uni1A6E leftSideBearing 190 category base points 190 0 off 190 1120 off 657 1120 on -- extra 1124 1120 on 1124 936 on 657 936 on -- extra 374 936 off 374 184 off 657 184 on -- extra 1124 184 on 1124 0 on 657 0 on, end -- extra end points advanceWidth 1212 end glyph glyph mai_kae character 0x1A6F -- TAI THAM VOWEL SIGN AE postname uni1A6F leftSideBearing 190 points 190 0 off 190 1120 off 657 1120 on -- extra 1124 1120 on 1124 936 on 657 936 on -- extra 374 936 off 374 184 off 657 184 on -- extra 1124 184 on 1124 0 on 657 0 on, end -- extra 1212 0 off -- +1032 1212 1120 off 1684 1120 on -- extra 2156 1120 on 2156 936 on 1684 936 on -- extra 1406 936 off 1406 184 off 1684 184 on -- extra 2156 184 on 2156 0 on 1684 0 on, end -- extra end points advanceWidth 2244 end glyph glyph mai_koo character 0x1A70 -- TAI THAM VOWEL SIGN OO postname uni1A70 category base leftSideBearing 190 points 190 0 off 190 560 on 190 893 off 355 1028 on 355 1028 on 190 1163 off 190 1496 on 190 2056 off 1124 2056 off 1124 1496 on 940 1496 on 940 1872 off 374 1872 off 374 1120 off 657 1120 on 824 1120 on 824 936 on 657 936 on 374 936 off 374 184 off 657 184 on 1124 184 on 1124 0 on 657 0 on, end end points advanceWidth 1212 end glyph glyph mai_kai character 0x1A71 -- TAI THAM VOWEL SIGN AI postname uni1A71 category base leftSideBearing 190 points -- design glyph_mai_kai1 190 0 off 190 1120 off 657 1120 on 940 1120 on 940 1864 on 190 1864 on 190 2048 on 1124 2048 on 1124 936 on 657 936 on 374 936 off 374 184 off 657 184 on 1124 184 on 1124 0 on 657 0 on, end end points advanceWidth 1212 end glyph glyph mai_kaue character 0x1A72 -- TAI THAM VOWEL SIGN THAM AI postname uni1A72 category base leftSideBearing 190 points -- design glyph_mai_kai3 190 0 off 190 1120 off 657 1120 on 940 1120 on 940 1864 on 384 1864 on 384 1584 on 756 1584 on 756 1400 on 190 1400 on 190 2048 on 1124 2048 on 1124 936 on 657 936 on 374 936 off 374 184 off 657 184 on 1124 184 on 1124 0 on 657 0 on, end end points advanceWidth 1212 end glyph glyph mai_kao character 0x1A73 -- TAI THAM VOWEL SIGN OA ABOVE postname uni1A73 category mark above leftSideBearing -1015 -- mid at -555 points -1015 1484 on -831 1484 on -831 2036 on -279 2036 on -279 1484 on -95 1484 on -95 1300 on -463 1300 on -463 1484 on -647 1484 on -647 1300 on -1015 1300 on, end -647 1852 on -647 1668 on -463 1668 on -463 1852 on, end end points advanceWidth 0 end glyph glyph mai_kang -- TAI THAM SIGN MAI KANG character 0x1A74 postname uni1A74 category mark above leftSideBearing -829 -- mid x at -555 points -829 1576 on -829 1852 off -555 1852 on -279 1852 off -279 1576 on -279 1300 off -555 1300 on -829 1300 off, end -647 1484 on -555 1484 on -463 1484 on -463 1576 on -463 1668 on -555 1668 on -647 1668 on -647 1576 on, end end points advanceWidth 0 end glyph glyph phantom_ke -- Cut down from glyph_mai_ke. postname phantom_ke category mark invisible leftSideBearing 190 points 190 0 off 190 1120 off 657 1120 on 657 936 on 374 936 off 374 184 off 657 184 on 657 0 on, end end points -- advanceWidth 747 -- ideal, but restore via dist. However, while this works -- for the Lanna script in HarfBuzz, it does not work for -- the Latin script and does not work for MS Edge at all! advanceWidth 0 end glyph -- Keep these five glyphs contiguous! glyph ghost_ke leftSideBearing 0 advanceWidth 0 category mark invisible end glyph glyph ghost_kae leftSideBearing 0 advanceWidth 0 category mark invisible end glyph glyph ghost_koo leftSideBearing 0 advanceWidth 0 category mark invisible end glyph glyph ghost_kai leftSideBearing 0 advanceWidth 0 category mark invisible end glyph glyph ghost_kaue leftSideBearing 0 advanceWidth 0 category mark invisible end glyph glyph ghost_ra leftSideBearing 0 advanceWidth 0 category mark invisible end glyph glyph spawning_mai_ek postname uni1A741A75 category mark above leftSideBearing -647 component use mai_ek xy 0 0 end component xMin -647 xMax -463 yMin 1300 yMax 1852 advanceWidth 0 end glyph glyph spawning_mai_tho postname uni1A741A76 category mark above leftSideBearing -939 component use mai_tho xy 0 0 end component xMin -939 xMax -171 yMin 1300 yMax 1852 advanceWidth 0 end glyph glyph temp1 leftSideBearing 0 advanceWidth 0 end glyph glyph temp2 leftSideBearing 0 advanceWidth 0 end glyph glyph temp3 leftSideBearing 0 advanceWidth 0 end glyph glyph temp4 leftSideBearing 0 advanceWidth 0 end glyph glyph temp5 leftSideBearing 0 advanceWidth 0 end glyph glyph temp6 leftSideBearing 0 advanceWidth 0 end glyph glyph temp7 leftSideBearing 0 advanceWidth 0 end glyph glyph temp8 leftSideBearing 0 advanceWidth 0 end glyph glyph temp9 leftSideBearing 0 advanceWidth 0 end glyph glyph temp10 leftSideBearing 0 advanceWidth 0 end glyph glyph oope leftSideBearing 0 advanceWidth 0 end glyph glyph oopae leftSideBearing 0 advanceWidth 0 end glyph glyph oopoo leftSideBearing 0 advanceWidth 0 end glyph glyph oopaue leftSideBearing 0 advanceWidth 0 end glyph glyph oopai leftSideBearing 0 advanceWidth 0 end glyph glyph oopra leftSideBearing 0 advanceWidth 0 end glyph glyph mai_ek -- TAI THAM SIGN TONE-1 character 0x1A75 postname uni1A75 category mark above leftSideBearing -647 points -- mid x at -555 -647 1300 on -647 1852 on -463 1852 on -463 1300 on, end end points advanceWidth 0 end glyph glyph mai_tho character 0x1A76 -- TAI THAM SIGN TONE-2 postname uni1A76 category mark above leftSideBearing -939 points -939 1756 on -755 1756 on -755 1572 on -- 1572 = 1484 +184*(1852-1484)/(-171+939) -171 1852 on -171 1668 on -939 1300 on, end end points advanceWidth 0 end glyph glyph mai_kang_lai_ghost category mark above advanceWidth 0 leftSideBearing 0 end glyph glyph condemned -- For multistep deletion postname condemned category base yMin 0 yMax 1493 advanceWidth 1400 leftSideBearing 190 xMin 190 xMax 1310 component use X byte_xy 0 0 round use_my_metrics unscaled_offset end component end glyph glyph mai_ko_nuea -- ᨾᩱ᩶ᨠ᩷ᩉ᩠ᨶᩮᩬᩦ -- Input altGr-f character 0x1A77 -- TAI THAM SIGN KHUEN TONE-3 postname uni1A77 category mark above advanceWidth 0 leftSideBearing -1015 xMin -1015 xMax -95 yMin 1300 yMax 2036 component use mai_kao byte_xy 0 0 round unscaled_offset end component end glyph glyph mai_kha_pe -- ᨾᩱ᩶ᨡᩣᨸᩮ -- Input altGr-n character 0x1A78 -- TAI THAM SIGN KHUEN TONE-4 character 0x0E4B -- THAI CHARACTER MAI CHATTAWA postname uni1A78 category mark above advanceWidth 0 points -647 1300 on -647 1484 on -831 1484 on -831 1668 on -647 1668 on -647 1852 on -463 1852 on -463 1668 on -279 1668 on -279 1484 on -463 1484 on -463 1300 on, end end points leftSideBearing -831 end glyph glyph mai_sam_khit -- ᨾᩱ᩶ᩈᩣ᩠ᨾᨡᩦ᩠ᨯ -- Input altGr-m character 0x1A79 -- TAI THAM SIGN KHUEN TONE-5 postname uni1A79 category mark above advanceWidth 0 points -831 2036 on -279 1944 off -279 1760 off -581 1576 on -279 1484 on -279 1300 on -831 1392 on -831 1576 on -529 1760 on -831 1852 on, end end points leftSideBearing -831 end glyph glyph ra_haam -- TAI THAM SIGN RA HAAM character 0x1A7A postname uni1A7A category mark above leftSideBearing -812 points -- mid point (nominal) -555 -812 1300 on -812 1484 on -482 1484 on -482 1668 on -682 1668 on -812 1668 off -812 1868 on -812 2220 on -444 2220 off -284 2109 on -45 1946 on -45 1762 on -444 2036 on -628 2036 on -628 1852 on -498 1852 on -298 1852 off -298 1652 on -298 1500 on -298 1300 off -498 1300 on, end end points advanceWidth 0 end glyph glyph mai_sam -- Design is glyph_mai_sam_small character 0x1A7B -- TAI THAM SIGN MAI SAM postname uni1A7B category mark above leftSideBearing -831 points -831 1852 on -279 1852 on -279 1668 on -647 1668 on -647 1300 on -831 1300 on, end end points advanceWidth 0 end glyph glyph karan -- TAI THAM SIGN KHUEN-LUE KARAN character 0x1A7C postname uni1A7C category mark above leftSideBearing -812 points -- mid point -555 -812 1300 on -812 1484 on -482 1484 on -482 1668 on -682 1668 on -812 1668 off -812 1868 on -812 2220 on -444 2220 off -284 2109 on -199 2051 on -134 2439 on -- x = -229 for vertical 50 2439 on -- x = -45 for vertical -- -45 1946 on -45 1762 on -444 2036 on -628 2036 on -628 1852 on -498 1852 on -298 1852 off -298 1652 on -298 1500 on -298 1300 off -498 1300 on, end end points advanceWidth 0 end glyph glyph cryptodot character 0x1A7F -- TAI THAM COMBINING CRYPTOGRAMMIC DOT postname uni1A7F category mark below leftSideBearing -647 points -647 -200 on -463 -200 on -463 -384 on -647 -384 on, end end points advanceWidth 0 end glyph glyph hora_0 character 0x1A80 -- TAI THAM HORA DIGIT ZERO postname uni1A80 category base advanceWidth 1212 leftSideBearing 190 xMin 190 xMax 1124 yMin 0 yMax 1120 component use wa byte_xy 0 0 round use_my_metrics unscaled_offset end component end glyph glyph hora_1 character 0x1A81 -- TAI THAM HORA DIGIT ONE postname uni1A81 category base advanceWidth 1212 leftSideBearing 190 xMin 190 xMax 1124 yMin 0 yMax 1120 component use mai_kaa byte_xy 0 0 round use_my_metrics unscaled_offset end component end glyph glyph hora_2 character 0x1A82 -- TAI THAM HORA DIGIT TWO postname uni1A82 category base leftSideBearing 190 points 1124 1120 on 1124 -1120 on 190 -1120 on 190 -936 on 940 -936 on 940 1120 on, end end points -- Midpoint 657 advanceWidth 1212 end glyph glyph hora_3 character 0x1A83 -- TAI THAM HORA DIGIT THREE postname uni1A83 category base leftSideBearing 190 points 190 1120 on 1124 1120 on 1124 0 on 374 0 on 841 -1120 on 657 -1120 on 190 0 on 190 184 on 940 184 on 940 936 on 190 936 on, end end points -- Midpoint 657 advanceWidth 1212 end glyph glyph hora_4 character 0x1A84 -- TAI THAM HORA DIGIT FOUR postname uni1A84 category base leftSideBearing 190 points 190 1120 on 1124 1120 on 1124 936 on 374 936 on 374 184 on 1124 184 on 1124 0 on 657 -1120 on 473 -1120 on 940 0 on 190 0 on, end end points -- Midpoint is 657 advanceWidth 1212 end glyph glyph hora_5 character 0x1A85 -- TAI THAM HORA DIGIT FIVE postname uni1A85 category base leftSideBearing 190 points 190 373 on 190 1120 on 1124 1120 on 1124 -1120 on 190 -1120 on 190 -936 on 940 -936 on 940 936 on 374 936 on 374 373 on, end end points -- Midpoint is 657 advanceWidth 1212 end glyph glyph hora_6 character 0x1A86 -- TAI THAM HORA DIGIT SIX postname uni1A86 category base leftSideBearing 190 points 190 2140 on 1124 2140 on 1124 1956 on 374 1956 on 374 184 on 940 184 on 940 936 on 756 936 on 756 1120 on 1124 1120 on 1124 0 on 190 0 on, end end points -- Midpoint 657 advanceWidth 1212 end glyph glyph hora_7 character 0x1A87 postname uni1A87 category base leftSideBearing 190 points 190 373 on 190 1120 on 1124 1120 on 1124 936 on 940 -936 on 1124 -936 on 1124 -1120 on 756 -1120 on 756 -936 on 940 936 on 374 936 on 374 373 on, end end points -- Midpoint 657 advanceWidth 1212 end glyph glyph hora_8 character 0x1A88 -- TAI THAM HORA DIGIT EIGHT postname uni1A88 category base advanceWidth 1212 leftSideBearing 190 xMin 190 xMax 1124 yMin 0 yMax 1120 component use low_ka byte_xy 0 0 round use_my_metrics unscaled_offset end component end glyph glyph hora_9 character 0x1A89 -- TAI THAM HORA DIGIT NINE postname uni1A89 category base leftSideBearing 190 points 190 1120 on 1124 1120 on 1124 373 on 940 373 on 940 936 on 374 936 on 374 -936 on 1124 -936 on 1124 -1120 on 190 -1120 on, end end points -- Mid point is 657 advanceWidth 1212 end glyph glyph tham_0 character 0x1A90 -- TAI THAM THAM DIGIT ZERO postname uni1A90 category base advanceWidth 1212 leftSideBearing 190 xMin 190 xMax 1124 yMin 0 yMax 1120 component use wa byte_xy 0 0 round use_my_metrics unscaled_offset end component end glyph glyph tham_1 -- TAI THAM THAM DIGIT ONE character 0x1A91 postname uni1A91 category base -- Design tham_1_2 advanceWidth 1212 leftSideBearing 190 -- Mid point is x = 657 points 190 0 on 190 1120 on 1124 1120 on 1124 0 on 1424 -300 on 1240 -300 on 940 0 on 576 0 on 576 552 on 940 552 on 940 936 on 374 936 on 374 0 on , end 760 368 on 760 184 on 940 184 on 940 368 on , end end points end glyph glyph tham_2 -- TAI THAM THAM DIGIT TWO character 0x1A92 postname uni1A92 category base advanceWidth 1212 leftSideBearing 190 -- Mid point is 657 points 190 2140 on 1124 2140 on 1124 1956 on 374 1956 on 374 0 on 190 0 on , end end points end glyph glyph tham_3 -- TAI THAM THAM DIGIT THREE character 0x1A93 postname uni1A93 category base advanceWidth 1212 leftSideBearing 190 points 190 184 on 473 184 on -- Was 381 473 936 on 190 936 on 190 1120 on 657 1120 on -- Was 565 657 184 on 940 184 on 940 1384 on 473 1384 on 473 1936 on 1124 1936 on 1124 1752 on 657 1752 on 657 1568 on 1124 1568 on 1124 0 on 190 0 on, end end points end glyph glyph tham_4 -- TAI THAM THAM DIGIT FOUR character 0x1A94 postname uni1A94 category base -- Mid-point is x = 657 advanceWidth 1212 leftSideBearing 190 points 190 1120 on 742 1120 on 742 184 on 940 184 on 940 1120 on 1124 1120 on 1124 0 on 558 0 on 558 936 on 374 936 on 374 -400 on 1124 -400 on 1124 -584 on 190 -584 on, end end points end glyph glyph tham_5 -- TAI THAM THAM DIGIT FIVE character 0x1A95 postname uni1A95 category base advanceWidth 1212 leftSideBearing 190 -- mid point is x = 657 points 190 1120 on 940 1936 on 1124 1936 on 374 1120 on 742 1120 on 742 184 on 940 184 on 940 1120 on 1124 1120 on 1124 0 on 558 0 on 558 936 on 374 936 on 374 -400 on 1124 -400 on 1124 -584 on 190 -584 on , end end points end glyph glyph tham_6 -- TAI THAM THAM DIGIT SIX character 0x1A96 postname uni1A96 category base advanceWidth 1212 leftSideBearing 99 points 190 1120 on 473 1120 on 473 936 on 374 936 on 374 184 on 565 184 on 565 376 on -- Was 560 749 376 on 749 184 on 940 184 on 940 1384 on 473 1384 on 473 1936 on 1124 1936 on 1124 1752 on 657 1752 on 657 1568 on 1124 1568 on 1124 0 on 190 0 on , end end points end glyph glyph tham_7 -- TAI THAM THAM DIGIT SEVEN character 0x1A97 postname uni1A97 category base advanceWidth 1212 leftSideBearing 190 xMin 190 xMax 1124 yMin 0 yMax 1120 component use rata byte_xy 0 0 round use_my_metrics unscaled_offset end component end glyph glyph tham_8 -- TAI THAM THAM DIGIT EIGHT character 0x1A98 postname uni1A98 category base -- Design tham_8_2 advanceWidth 1212 leftSideBearing 190 points 190 1120 on 749 1120 on -- x = 657 + 92 749 652 on 940 652 on 940 1384 on 473 1384 on 473 1936 on 1124 1936 on 1124 1752 on 657 1752 on 657 1568 on 1124 1568 on 1124 468 on 749 468 on 749 0 on 190 0 on 190 652 on 565 652 on 565 936 on 190 936 on, end 374 468 on 374 184 on 565 184 on 565 468 on, end end points end glyph glyph tham_9 -- TAI THAM THAM DIGIT NINE character 0x1A99 postname uni1A99 advanceWidth 1910 leftSideBearing 190 xMin 190 xMax 1820 yMin 0 yMax 1120 component use la xy 0 0 round use_my_metrics unscaled_offset end component end glyph glyph wiang character 0x1AA0 -- TAI THAM SIGN WIANG postname uni1AA0 category base leftSideBearing 190 points 190 1120 off 1310 1120 off 1310 0 off 190 0 off, end 1120 652 on 1083 893 off 842 930 on 842 652 on, end 842 468 on 842 190 on 1083 227 off 1120 468 on, end 380 468 on 417 227 off 658 190 on 658 468 on, end 380 652 on 658 652 on 658 930 on 417 893 off, end end points advanceWidth 1400 end glyph glyph wiangwaak character 0x1AA1 -- TAI THAM SIGN WIANGWAAK postname uni1AA1 category base leftSideBearing 190 points 190 1120 off 750 1120 on 842 1120 on 842 652 on 1310 652 on 1310 560 on 1310 0 off 190 0 off, end 842 468 on 842 190 on 1083 227 off 1120 468 on, end 380 468 on 417 227 off 658 190 on 658 468 on, end 380 652 on 658 652 on 658 930 on 417 893 off, end end points advanceWidth 1400 end glyph glyph sawan character 0x1AA2 -- TAI THAM SIGN SAWAN postname uni1AA2 category base advanceWidth 1212 leftSideBearing 190 points -- Based on glyph_h_sa.n 190 184 on 473 184 on 473 936 on 190 936 on 190 1120 on 657 1120 on 657 184 on 940 184 on 1006 936 on --stretched out 841 936 on 841 1488 on 1209 1488 on 1209 1856 on 1761 1858 on 1761 1672 on 1577 1672 on 1393 1672 on 1393 1304 on 1025 1304 on 1025 1120 on 1205 1120 on -- stretched out 1124 0 on 190 0 on, end end points end glyph glyph keow character 0x1AA3 -- TAI THAM SIGN KEOW postname uni1AA3 category base advanceWidth 1550 leftSideBearing 190 points 190 710 off 490 710 off 490 410 off 190 410 off, end --+485 675 710 off 975 710 off 975 410 off 675 410 off, end -- +970 1160 710 off 1460 710 off 1460 410 off 1160 410 off, end 675 225 off 975 225 off 975 -75 off 675 -75 off, end 675 1195 off 975 1195 off 975 895 off 675 895 off, end -- Key points are: -- (340, 652), (340, 468), (733, 1045), (917,1045), -- (1310, 652), (1310, 468), (733, 75), (917, 75) 340 652 on 733 1045 on 917 1045 on 340 468 on, end 917 1045 on 1310 652 on 1310 468 on 733 1045 on, end 1310 468 on 917 75 on 733 75 on 1310 652 on, end 340 652 on 917 75 on 733 75 on 340 468 on, end end points end glyph glyph hoy -- TAI THAM SIGN HOY character 0x1AA4 postname uni1AA4 category base advanceWidth 1858 leftSideBearing 190 points -- Inner 1026 605 on 1158 559 off 1250 835 off 790 927 off 698 283 off 1526 191 off 1618 1203 off 422 1295 off 330 -85 off 1112 -131 on -- off-spiral 1566 -131 on 1566 -315 on -- Outer 1112 -315 on 190 -271 off 190 527 on -- Min x must be at a point 190 565 off 192 605 on 236 1435 off 943 1435 on -- Max y must be at a point 980 1435 off 1020 1433 on 1768 1389 off 1768 756 on -- Max x must be at a point 1768 727 off 1766 697 on -- Adding 651 1780 -13 off 514 99 off 606 1111 off 1434 1019 off 1342 375 off 1112 421 on, end end points end glyph glyph dokmai -- Design dokmai_b character 0x1AA5 -- TAI THAM SIGN DOKMAI postname uni1AA5 category base advanceWidth 2280 leftSideBearing 190 points -- Centre: (390, 1120) 190 1320 off 590 1320 off 590 920 off 190 920 off, end -- 2 points are (790,1520)+/-(132,132), i.e. (912,1652) and (658,1388) 1012 1552 on 758 1288 on 358 1688 on 612 1952 on, end ---- -- Centre (1190, 1120) of centres 990 1320 off 1390 1320 off 1390 920 off 990 920 off, end ---- -- Centre (1190, 320) 990 520 off 1390 520 off 1390 120 off 990 120 off, end -- 2 points are (790, 720)+/-(132,-132), i.e. (658,852) and (922,588) 758 952 on 1022 688 on 622 288 on 358 552 on, end ---- -- Centre (1990, 1120) 1790 1320 off 2190 1320 off 2190 920 off 1790 920 off, end -- 2 points are (1590, 720)+/-(132,132), i.e. (1458,588) and (1722,852) 1358 688 on 1622 952 on 2022 552 on 1758 288 on, end ---- -- Centre (1190, 1920) of centres 990 2120 off 1390 2120 off 1390 1720 off 990 1720 off, end -- 2 points are (1590, 1520)-/+(132,-132), i.e. (1712,1388) and (1458,1652) 1612 1288 on 1358 1552 on 1758 1952 on 2012 1688 on, end end points end glyph glyph rev_rot_rana character 0x1AA6 -- TAI THAM SIGN REVERSED ROTATED RANA postname uni1AA6 category base leftSideBearing 190 points 810 1022 on 810 612 on 374 612 on 374 498 on 810 498 on 810 88 on 190 88 on 190 272 on 626 272 on 626 385 on 190 385 on 190 725 on 626 725 on 626 838 on 190 838 on 190 1022 on, end end points advanceWidth 1000 end glyph glyph yamok character 0x1AA7 -- TAI THAM SIGN MAI YAMOK postname uni1AA7 category base leftSideBearing 190 points 190 1120 on 1124 1120 on 1124 0 on 374 -1120 on 190 -1120 on 940 0 on 940 936 on 749 936 on 749 690 on 565 690 on 565 936 on 374 936 on 374 400 on 190 400 on, end end points advanceWidth 1212 end glyph glyph kaan character 0x1AA8 -- TAI THAM SIGN KAAN postname uni1AA8 category base leftSideBearing 190 points 190 184 on 190 936 on 374 936 on 374 184 on, end end points advanceWidth 564 end glyph glyph kaankuu character 0x1AA9 -- TAI THAM SIGN KAANKUU postname uni1AA9 category base leftSideBearing 190 points 190 184 on 190 936 on 374 936 on 374 184 on, end 564 184 on 564 936 on 748 936 on 748 184 on, end end points advanceWidth 938 end glyph glyph satkaan character 0x1AAA -- TAI THAM SIGN SATKAAN postname uni1AAA category base leftSideBearing 190 points 190 560 on 564 936 on 748 936 on 748 184 on 564 184 on 564 752 on 374 560 on, end end points advanceWidth 938 end glyph glyph satkaankuu character 0x1AAB -- TAI THAM SIGN SATKAANKUU postname uni1AAB category base leftSideBearing 190 points 190 560 on 564 936 on 748 936 on 748 184 on 564 184 on 564 752 on 374 560 on, end 932 184 on 932 936 on 1116 936 on 1116 184 on, end end points advanceWidth 1306 end glyph glyph haang -- Glyph style haang_7 character 0x1AAC -- TAI THAM SIGN HANG postname uni1AAC category base advanceWidth 1660 leftSideBearing 190 points --Upper bottom loop 190 300 on 190 600 off 490 600 on 746 600 off -- Upper stem 784 381 on 990 536 on -- Middle loop 990 559 on 1106 559 off 1106 791 off 874 791 off 874 675 on 690 675 on 690 975 off 990 975 on 1246 975 off -- Upper stem 1284 756 on 1325 787 on -- Top loop 1406 803 off 1406 900 on 1406 1016 off 1290 1016 on 1290 1200 on 1590 1200 off 1590 900 on 1590 668 off -- Lower stem 1411 615 on 749 119 on 679 0 off -- Lower bottom loop 490 0 on 340 0 off 265 75 on 403 213 on 432 184 off 490 184 on 606 184 off 606 416 off 374 416 off 374 300 on, end end points end glyph glyph caang character 0x1AAD -- TAI THAM SIGN CAANG postname uni1AAD category base leftSideBearing 190 points 1124 1120 on 1124 0 on 572 0 on 572 752 on 756 752 on 756 184 on 940 184 on 940 936 on 374 936 on 374 -600 on 856 -600 on 856 -784 on 190 -784 on 190 1120 on, end end points advanceWidth 1212 end glyph glyph antler postname antler category mark above leftSideBearing 190 points 190 1320 on 190 2140 on 1124 2140 on 1124 1956 on 374 1956 on 374 1320 on, end end points advanceWidth 0 end glyph glyph raw_antler -- Should never need to be rendered! postname raw_antler category base leftSideBearing 190 xMin 190 xMax 1310 advanceWidth 1400 yMin 0 yMax 2140 component use X byte_xy 0 0 round unscaled_offset end component component use antler byte_xy 0 0 round unscaled_offset end component end glyph glyph sakot_high_ka -- Narrow postname uni1A601A20 category mark below leftSideBearing -1022 points -1022 -200 on -88 -200 on -88 -1120 on -272 -1120 on -272 -384 on -463 -384 on -463 -1120 on -647 -1120 on -647 -384 on -838 -384 on -838 -1120 on -1022 -1120 on, end end points -- mid point is -555 advanceWidth 0 end glyph glyph sakot_high_ka_wide -- Wide for wide base postname uni1A601A20.wide category mark below leftSideBearing -1574 points -1574 -200 on -236 -200 on -236 -1120 on -420 -1120 on -420 -384 on -813 -384 on -813 -1120 on -997 -1120 on -997 -384 on -1390 -384 on -1390 -1120 on -1574 -1120 on, end end points -- mid point is -905 advanceWidth 0 end glyph glyph sakot_high_ka_uncramped -- Wide for narrow base postname uni1A601A20.uncramped category mark below leftSideBearing -1224 points -1224 -200 on +114 -200 on +114 -1120 on -70 -1120 on -70 -384 on -463 -384 on -463 -1120 on -647 -1120 on -647 -384 on -1040 -384 on -1040 -1120 on -1224 -1120 on, end end points -- mid point is -555 advanceWidth 0 end glyph glyph sakot_high_kha postname uni1A601A21 category mark below leftSideBearing -938 points -938 -200 on -171 -200 on -171 -1120 on -479 -1120 on -- Formula gives 438 - stretched to 457 -479 -1304 on -171 -1304 on -171 -1488 on -665 -1488 on -- Formula gives 292 - stretched to 273 -665 -1120 on -938 -1120 on -938 -568 on -500 -568 on -488 -936 on -- Stretched from 438 to 450 -354 -936 on -354 -384 on -938 -384 on, end -792 -936 on -646 -936 on -646 -752 on -792 -752 on, end end points -- mid point is -555 advanceWidth 0 end glyph glyph sakot_high_kxa postname uni1A601A22 category mark below leftSideBearing -938 xMin -938 xMax -171 yMin -1488 yMax -200 component use sakot_high_kha xy 0 0 round unscaled_offset use_my_metrics end component advanceWidth 0 end glyph glyph sakot_low_ka postname uni1A601A23 category mark below leftSideBearing -939 points -939 -1120 on -939 -200 on -172 -200 on -172 -1120 on -356 -1120 on -356 -384 on -755 -384 on -755 -1120 on, end -- mid point is -555 end points advanceWidth 0 end glyph glyph sakot_low_kxa postname uni1A601A24 category mark below leftSideBearing -939 xMin -939 xMax -172 yMin -1120 yMax -200 component use sakot_low_ka xy 0 0 round unscaled_offset use_my_metrics end component advanceWidth 0 end glyph glyph sakot_low_kha postname uni1A601A25 -- category mark below -- Spacing! category base leftSideBearing -965 points -965 -200 on -381 -200 on -381 -568 on -381 -752 off -565 -752 on -781 -752 on -781 -936 on -187 -936 on -187 -200 on -2 -200 on -2 -936 on 190 -936 on -- Start of tail 190 1120 on 374 1120 on 374 -1120 on -965 -1120 on -965 -568 on -565 -568 on -565 -384 on -965 -384 on, end end points advanceWidth 464 end glyph glyph sakot_nga postname uni1A601A26 category mark below leftSideBearing -1015 points -1015 -1120 on -1015 -200 on -95 -200 on -95 -1120 on -279 -1120 on -279 -384 on -831 -384 on -831 -660 on -463 -660 on -463 -1120 on -647 -1120 on -647 -844 on -831 -844 on -831 -1120 on, end -- mid point is -555 end points advanceWidth 0 end glyph glyph sakot_high_ca postname uni1A601A27 category mark below leftSideBearing -899 points -- mid point is -555 -899 -1120 on -899 -200 on -132 -200 on -132 -1120 on, end -715 -936 on -316 -936 on -316 -384 on -715 -384 on -715 -568 on -515 -568 on -516 -752 on -715 -752 on, end end points advanceWidth 0 end glyph glyph sakot_high_cha postname uni1A601A28 category mark below leftSideBearing -899 points -- mid point is -555 -899 -200 on -132 -200 on -132 -1120 on -899 -1120 on -899 -936 on -684 -936 on -684 -752 on -899 -752 on -899 -568 on -500 -568 on -500 -936 on -316 -936 on -316 -384 on -899 -384 on, end end points advanceWidth 0 end glyph glyph sakot_low_ca postname uni1A601A29 category mark below leftSideBearing -899 points -- mid point is -555 -899 -200 on -132 -200 on -132 -568 on -316 -568 on -316 -384 on -715 -384 on -715 -936 on -515 -936 on -515 -1120 on -899 -1120 on, end -316 -936 on -515 -800 on -- Mechanical conversion gave y = -936 -515 -568 on -- Mechanical conversion gave y = -752 -132 -752 on -132 -1120 on -316 -1120 on, end end points advanceWidth 0 end glyph glyph sakot_low_sa postname uni1A601A2A category mark below leftSideBearing -938 xMin -899 xMax -132 yMin -1120 yMax -200 component use sakot_low_ca xy 0 0 round unscaled_offset use_my_metrics end component advanceWidth 0 end glyph glyph sakot_low_cha postname uni1A601A2B -- category mark below -- Spacing! category base leftSideBearing -899 points -899 -1120 on -899 -200 on -132 -200 on -132 -568 on 190 -568 on 190 1120 on 374 1120 on 374 -752 on -132 -752 on -132 -1120 on, end -715 -936 on -316 -936 on -316 -384 on -715 -384 on -715 -568 on -515 -568 on -516 -752 on -715 -752 on, end end points advanceWidth 464 end glyph glyph sakot_nya -- Based on nya4 for depth postname uni1A601A2C -- category mark below -- spacing! category base leftSideBearing -899 points -- mid point is TBD -899 -200 on -132 -200 on -132 -568 on 190 -568 on 190 1120 on 374 1120 on 374 -752 on -715 -752 on -715 -1320 on 374 -1320 on 374 -1504 on -899 -1504 on -899 -568 on -316 -568 on -316 -384 on -899 -384 on, end end points advanceWidth 464 end glyph glyph sakot_rata postname uni1A601A2D category mark below leftSideBearing -899 points -- mid point is -555 -899 -200 on -616 -200 on -616 -384 on -715 -384 on -715 -936 on -608 -936 on -608 -752 on -424 -752 on -424 -936 on -316 -936 on -316 -384 on -415 -384 on -415 -200 on -132 -200 on -132 -1120 on -899 -1120 on, end end points advanceWidth 0 end glyph glyph sakot_rata_ratha -- Design 2 postname uni1A601A2D1A5B category mark below leftSideBearing -1022 points -- mid point is -555 -1022 -200 on -647 -200 on -647 -384 off -838 -348 on -838 -568 on -647 -568 on -647 -384 off -555 -384 on -463 -384 off -463 -568 on -272 -568 on -272 -384 on -- 560 - 92 = 468, but add 92 -463 -384 off -463 -200 on -- 560 + 92 = 652, but add 92 to 744 -88 -200 on -88 -1120 on -1022 -1120 on -1022 -936 on -272 -936 on -272 -752 on -1022 -752 on, end end points advanceWidth 0 end glyph glyph sakot_high_ratha postname uni1A601A2E category mark below leftSideBearing -1022 points -- mid point is -555 -1022 -200 on -88 -200 on -88 -384 on -838 -384 on -838 -936 on -647 -936 on -647 -752 on -555 -752 on -463 -752 off -463 -936 on -272 -936 on -272 -752 on -- 560 - 92 = 468, but add 92 -463 -752 off -463 -568 on -- 560 + 92 = 652, but add 92 to 744 -88 -568 on -88 -1486 on -1022 -1486 on -1022 -1304 on -272 -1304 on -272 -1120 on -1022 -1120 on, end end points advanceWidth 0 end glyph glyph sakot_kl_high_ratha -- Design 2 postname uni1A601A2E.kl category mark below leftSideBearing -1022 points -- mid point is -555 -1022 -200 on -647 -200 on -647 -384 on -838 -348 on -838 -568 on -272 -568 on -272 -384 on -- 560 - 92 = 468, but add 92 -463 -384 on -463 -200 on -- 560 + 92 = 652, but add 92 to 744 -88 -200 on -88 -1120 on -1022 -1120 on -1022 -936 on -272 -936 on -272 -752 on -1022 -752 on, end end points advanceWidth 0 end glyph glyph sakot_da postname uni1A601A2F category mark below leftSideBearing -899 points -- mid point is -555 -899 -200 on -132 -200 on -132 -1120 on -715 -1120 on -715 -1320 on -132 -1320 on -132 -1504 on -899 -1504 on -899 -936 on -316 -936 on -316 -384 on -899 -384 on, end end points advanceWidth 0 end glyph glyph sakot_low_ratha -- Compact form postname uni1A601A30 category mark below leftSideBearing -1103 points -- mid point is -555 -1103 -200 on -371 -200 on -371 -568 on -371 -752 off -555 -752 on -919 -752 on -919 -936 on -187 -936 on -187 -200 on -7 -200 on -7 -1120 on -1103 -1120 on -1103 -568 on -555 -568 on -555 -384 on -1103 -384 on, end end points advanceWidth 0 end glyph glyph sakot_rana -- Narrow form postname uni1A601A31.narrow category mark below leftSideBearing -1022 points -- mid point is -555 -1022 -200 on -612 -200 on -612 -936 on -498 -936 on -498 -200 on -88 -200 on -88 -1120 on -272 -1120 on -272 -384 on -385 -384 on -385 -1120 on -- OK -725 -1120 on -- OK -725 -384 on -838 -384 on -838 -1120 on -1022 -1120 on, end end points advanceWidth 0 end glyph glyph sakot_rana_wide -- Wide for wide base postname uni1A601A31.wide category mark below leftSideBearing -1574 points -- mid point is -905 -1574 -200 on -997 -200 on -997 -936 on -813 -936 on -813 -200 on -236 -200 on -236 -1120 on -420 -1120 on -420 -384 on -629 -384 on -629 -1120 on -- OK -1181 -1120 on -- OK -1181 -384 on -1390 -384 on -1390 -1120 on -1574 -1120 on, end end points advanceWidth 0 end glyph glyph sakot_rana_uncramped postname uni1A601A31.uncramped -- Wide for narrow base category mark below leftSideBearing -1224 points -- mid point is -555 -1224 -200 on -647 -200 on -647 -936 on -463 -936 on -463 -200 on 114 -200 on 114 -1120 on -70 -1120 on -70 -384 on -279 -384 on -279 -1120 on -- OK -831 -1120 on -- OK -831 -384 on -1040 -384 on -1040 -1120 on -1224 -1120 on, end end points advanceWidth 0 end glyph glyph sakot_high_ta -- Narrow postname uni1A601A32 category mark below leftSideBearing -1022 points -- mid point is -555 -1022 -200 on -88 -200 on -88 -1120 on -272 -1120 on -272 -384 on -463 -384 on -463 -1120 on -1022 -1120 on, end -838 -384 on -838 -936 on -647 -936 on -647 -384 on, end end points advanceWidth 0 end glyph glyph sakot_high_ta_wide postname uni1A601A32.wide -- Wide for wide base category mark below leftSideBearing -1574 points -- mid point is -905 -1574 -200 on -236 -200 on -236 -1120 on -420 -1120 on -420 -384 on -813 -384 on -813 -1120 on -1574 -1120 on, end -1390 -384 on -1390 -936 on -997 -936 on -997 -384 on, end end points advanceWidth 0 end glyph glyph sakot_high_ta_uncramped -- Wide for narrow base postname uni1A601A32.uncramped category mark below leftSideBearing -1224 points -- mid point is -555 -1224 -200 on 114 -200 on 114 -1120 on -70 -1120 on -70 -384 on -463 -384 on -463 -1120 on -1224 -1120 on, end -1040 -384 on -1040 -936 on -647 -936 on -647 -384 on, end end points advanceWidth 0 end glyph glyph sakot_high_tha postname uni1A601A33 category mark below leftSideBearing -1022 points -- mid point is -555 -1022 -200 on -88 -200 on -88 -384 on -838 -384 on -838 -936 on -647 -936 on -647 -752 on -555 -752 on -463 -752 off -463 -936 on -272 -936 on -272 -752 on -463 -752 off -463 -568 on -88 -568 on -88 -1120 on -1022 -1120 on, end end points advanceWidth 0 end glyph glyph sakot_low_ta postname uni1A601A34 category mark below leftSideBearing -939 points -- mid point is -555 -939 -200 on -755 -200 on -755 -936 on -355 -936 on -355 -752 on -555 -752 on -555 -568 on -355 -568 on -355 -384 on -555 -384 on -555 -200 on -171 -200 on -171 -1120 on -939 -1120 on, end end points advanceWidth 0 end glyph glyph sakot_low_tha postname uni1A601A35 category mark below leftSideBearing -939 points -- mid point is -555 -939 -200 on -171 -200 on -171 -1120 on -355 -1120 on -555 -837 on -- Gradient 400/283 -755 -1120 on -939 -1120 on, end -755 -384 on -755 -830 on -555 -547 on -- 290 above outer point -355 -830 on -355 -384 on, end end points advanceWidth 0 end glyph glyph sakot_na postname uni1A601A36 category mark below leftSideBearing -1104 points -- nominal mid point is -555 -180 -200 on +4 -200 on +4 -752 on -1104 -752 on -1104 -568 on -180 -568 on, end end points advanceWidth 0 end glyph glyph sakot_ba postname uni1A601A37 -- Also for U+1A60, U+1A38 -- category mark below -- Spacing! category base leftSideBearing -939 points -- mid point is -282 -939 -200 on -755 -200 on -755 -568 on -355 -568 on -355 -200 on -171 -200 on -171 -568 on 190 -568 on 190 1120 on 374 1120 on 374 -752 on -939 -752 on, end end points advanceWidth 464 end glyph glyph sakot_high_pa -- Temporary glyph for fighting the USE and then -- transliterating postname uni1A601A38 category base component use sakot_ba xy 0 0 round unscaled_offset use_my_metrics end component leftSideBearing -939 advanceWidth 464 xMin -939 xMax 374 yMin -752 yMax 1120 end glyph glyph sakot_high_pha postname uni1A601A39 -- category mark below -- Spacing! category base leftSideBearing -939 points -- mid point is -144 not counting loop. -- mid point is -6 counting loop. -939 -200 on -755 -200 on -755 -568 on -236 -568 on -236 -200 on -52 -200 on -52 -568 on 468 -568 on 468 568 on 100 568 on 100 1120 on 652 1120 on 652 752 on 928 752 on 928 568 on 652 568 on 652 -752 on -939 -752 on, end 284 936 on 284 752 on 468 752 on 468 936 on, end end points advanceWidth 928 end glyph glyph sakot_high_fa postname uni1A601A3A category base leftSideBearing -939 points -- mid point is -282 -939 -200 on -755 -200 on -755 -568 on -355 -568 on -355 -200 on -171 -200 on -171 -568 on 190 -568 on 190 1956 on -939 1956 on -939 2140 on 374 2140 on 374 -752 on -939 -752 on, end end points advanceWidth 464 end glyph glyph sakot_low_pa postname uni1A601A3B category mark below leftSideBearing -1022 points -- mid point is -555 -1022 -200 on -88 -200 on -88 -1120 on -272 -1120 on -272 -384 on -463 -384 on -463 -700 on -- Tweaked -647 -700 on -- Tweaked -647 -384 on -838 -384 on -838 -1120 on -1022 -1120 on, end end points advanceWidth 0 end glyph glyph sakot_low_pa_wide -- For wide bases, and SIGN LOW PA postname uni1A601A3B.wide category mark below leftSideBearing -1574 points -- mid point is -905 -1574 -200 on -236 -200 on -236 -1120 on -420 -1120 on -420 -384 on -813 -384 on -813 -700 on -- Tweaked -997 -700 on -- Tweaked -997 -384 on -1390 -384 on -1390 -1120 on -1574 -1120 on, end end points advanceWidth 0 end glyph glyph sakot_low_pa_uncramped postname uni1A601A3B.uncramped category mark below leftSideBearing -1224 points -- mid point is -555 -1224 -200 on +114 -200 on +114 -1120 on -70 -1120 on -70 -384 on -463 -384 on -463 -700 on -- Tweaked -647 -700 on -- Tweaked -647 -384 on -1040 -384 on -1040 -1120 on -1224 -1120 on, end end points advanceWidth 0 end glyph glyph sakot_low_fa -- Clone of sakot_low_pa postname uni1A601A3C -- apart from postname! Note that it has no antler - category mark below -- that is a separate glyph. leftSideBearing -1022 xMin -1022 xMax -88 yMin -1120 yMax -200 advanceWidth 0 component use sakot_low_pa xy 0 0 round unscaled_offset use_my_metrics end component end glyph glyph sakot_low_fa_wide -- Clone of sakot_low_pa_wide postname uni1A601A3C.wide -- apart from postname! Note it has no antler - category mark below -- that is a separate glyph. leftSideBearing -1574 xMin -1574 xMax -236 yMin -1120 yMax -200 advanceWidth 0 component use sakot_low_pa_wide xy 0 0 round unscaled_offset use_my_metrics end component end glyph glyph sakot_low_pha postname uni1A601A3D category mark below leftSideBearing -1022 points -- mid point is -555 -1022 -200 on -88 -200 on -88 -1120 on -463 -1120 on -463 -936 on -272 -936 on -272 -384 on -647 -384 on -647 -1120 on -1022 -1120 on -1022 -936 on -831 -936 on -831 -384 on -1022 -384 on, end end points advanceWidth 0 end glyph glyph sakot_low_pha_wide -- For wide bases postname uni1A601A3D.wide category mark below leftSideBearing -1574 points -- mid point is -905 -1574 -200 on -236 -200 on -236 -1120 on -754 -1120 on -754 -936 on -420 -936 on -420 -384 on -948 -384 on -948 -1120 on -1574 -1120 on -1574 -936 on -1132 -936 on -1132 -384 on -1574 -384 on, end end points advanceWidth 0 end glyph glyph sakot_low_pha_uncramped -- Wide, for narrow bases postname uni1A601A3D.uncramped category mark below leftSideBearing -1224 points -- mid point is -555 -1224 -200 on 114 -200 on 114 -1120 on -404 -1120 on -404 -936 on -70 -936 on -70 -384 on -598 -384 on -598 -1120 on -1224 -1120 on -1224 -936 on -782 -936 on -782 -384 on -1224 -384 on, end end points advanceWidth 0 end glyph glyph sakot_ma postname uni1A601A3E category mark below leftSideBearing -1104 points -- nominal mid point is -555 -1104 -200 on -- if straight -- -920 -200 on -- elseif hooked -720 -200 on -720 -384 on -920 -384 on -- endif -920 -568 on +4 -568 on +4 -752 on -1104 -752 on, end end points advanceWidth 0 end glyph glyph sakot_low_ya postname uni1A601A3F -- category mark below -- spacing! category base leftSideBearing -647 points -- mid point is -136 -647 -200 on -463 -200 on -463 -568 on 190 -568 on 190 1120 on 374 1120 on 374 -752 on -647 -752 on, end end points advanceWidth 464 end glyph glyph sakot_high_ya postname uni1A601A40 category base leftSideBearing -647 points -- mid point is -136 -647 -200 on -463 -200 on -463 -568 on 190 -568 on 190 1956 on -647 1956 on -647 2140 on 374 2140 on 374 -752 on -647 -752 on, end end points advanceWidth 464 end glyph glyph sakot_ra postname uni1A601A41 category mark below leftSideBearing -899 points -- mid point is -555 -899 -1120 on -899 -936 on -569 -936 on -569 -752 on -769 -752 on -899 -752 off -899 -552 on -899 -200 on -531 -200 off -371 -311 on -- Dodgy position -132 -474 on -- 1124 - 374 = 650, / 2 = 325 drop -132 -658 on -- 184 * sqrt(1.25) = 206 -531 -384 on -715 -384 on -715 -568 on -585 -568 on -385 -568 off -385 -768 on -385 -920 on -385 -1120 off -585 -1120 on, end end points advanceWidth 0 end glyph glyph sakot_lao_low_ha postname uni1A601A4C.lao category mark below leftSideBearing -899 points -- mid point is -555 -899 -1120 on -899 -936 on -569 -936 on -569 -752 on -769 -752 on -899 -752 off -899 -552 on -899 -200 on -531 -200 off -371 -311 on -- Dodgy position -331 -337 on -132 -200 on -132 -384 on -331 -521 on -531 -384 on -715 -384 on -715 -568 on -585 -568 on -385 -568 off -385 -768 on -385 -920 on -385 -1120 off -585 -1120 on, end end points advanceWidth 0 end glyph glyph sakot_la postname uni1A601A43 -- category mark below -- Spacing! category base leftSideBearing -964 points -964 -200 on -203 -200 on -203 -936 on 190 -936 on 190 1120 on 374 1120 on 374 -1120 on -387 -1120 on -387 -384 on -780 -384 on -780 -1120 on -964 -1120 on, end end points advanceWidth 464 end glyph glyph sakot_la_thin postname uni1A601A43.thin -- category mark below -- Spacing! category base leftSideBearing -964 points -964 -200 on -203 -200 on -203 -568 on 190 -568 on 190 1120 on 374 1120 on 374 -752 on -387 -752 on -387 -384 on -780 -384 on -780 -752 on -964 -752 on, end end points advanceWidth 464 end glyph glyph sakot_wa postname uni1A601A45 category mark below leftSideBearing -1015 points -- mid point is -555 -1015 -200 off -555 -200 on -95 -200 off -95 -660 on -95 -1120 off -555 -1120 on -1015 -1120 off -1015 -660 on, end -831 -384 off -831 -660 on -831 -936 off -555 -936 on -279 -936 off -279 -660 on -279 -384 off -555 -384 on, end end points advanceWidth 0 end glyph glyph sakot_wa_small postname uni1A601A45.small category mark below -- mid point is -555 component use mai_kang -- Below medial_la -- xy 0 -3152 -- May need to review this! -- Below medial_la_thin xy 0 -2768 -- May need to review this! round unscaled_offset end component leftSideBearing -829 xMin -829 xMax -279 -- yMin 1300 -- of Component 1 -- yMax 1852 -- of Component 1 -- Below medial_la -- yMin -1852 -- yMax -1300 -- Below medial_la_thin yMin -1468 yMax -916 advanceWidth 0 end glyph glyph sakot_high_sha postname uni1A601A46 category mark below leftSideBearing -939 points -- mid point is -555 -939 -1120 on -939 -200 on -172 -200 on -172 -568 on 8 -568 on -- Juts out 180 8 -752 on -172 -752 on -172 -1120 on -356 -1120 on -356 -752 on -632 -752 on -- Juts in 276 -632 -568 on -356 -568 on -356 -384 on -755 -384 on -755 -1120 on, end end points advanceWidth 0 end glyph glyph sakot_high_ssa postname uni1A601A47 category base leftSideBearing -560 points -- mid point is -93 -560 -936 on -277 -936 on -277 -384 on -560 -384 on -560 -200 on -93 -200 on -93 -936 on 190 -936 on 190 -752 on -- y = -660-92 = -752 91 -752 on 91 -568 on -- y = -660+92 = -568 190 -568 on 190 1120 on 374 1120 on 374 -568 on 554 -568 on 554 -752 on 374 -752 on 374 -1120 on -560 -1120 on, end end points advanceWidth 464 end glyph glyph sakot_high_sa postname uni1A601A48 -- category mark below -- But spacing! category base leftSideBearing -560 points -- mid point is -93 -560 -936 on -277 -936 on -277 -384 on -560 -384 on -560 -200 on -93 -200 on -93 -936 on 190 -936 on 190 1120 on 374 1120 on 374 -1120 on -560 -1120 on, end end points advanceWidth 464 end glyph glyph sakot_high_ha -- Narrow for narrow base postname uni1A601A49 category mark below leftSideBearing -1022 points -- mid point is -555 -1022 -1120 on -1022 -200 on -838 -200 on -838 -936 on -647 -936 on -647 -200 on -88 -200 on -88 -1120 on -272 -1120 on -272 -384 on -463 -384 on -463 -1120 on, end end points advanceWidth 0 end glyph glyph sakot_high_ha_wide -- Wide for wide base postname uni1A601A49.wide category mark below leftSideBearing -1574 points -- mid point is -905 -1574 -1120 on -1574 -200 on -1390 -200 on -1390 -936 on -997 -936 on -997 -200 on -236 -200 on -236 -1120 on -420 -1120 on -420 -384 on -813 -384 on -813 -1120 on, end end points advanceWidth 0 end glyph glyph sakot_high_ha_uncramped -- Wide for narrow base postname uni1A601A49.uncramped category mark below leftSideBearing -1224 points -- mid point is -555 -1224 -1120 on -1224 -200 on -1040 -200 on -1040 -936 on -647 -936 on -647 -200 on +114 -200 on +114 -1120 on -70 -1120 on -70 -384 on -463 -384 on -463 -1120 on, end end points advanceWidth 0 end glyph glyph sakot_lla postname uni1A601A4A category mark below leftSideBearing -939 points -- mid point is -555 -939 -200 on -171 -200 on -171 -752 on -355 -752 on -355 -384 on -755 -384 on -755 -568 on -539 -568 on -539 -752 on -755 -752 on -755 -936 on -171 -936 on -171 -1120 on -939 -1120 on,end end points advanceWidth 0 end glyph glyph sakot_letter_a postname uni1A601A4B category mark below leftSideBearing -1015 points -- mid point is -555 -1015 -1120 on -1015 -200 on -647 -200 on -647 -384 on -831 -384 on -831 -568 on -647 -568 on -647 -752 on -831 -752 on -831 -936 on -647 -936 on -647 -1120 on, end -95 -200 on -95 -1120 on -463 -1120 on -463 -936 on -279 -936 on -279 -752 on -463 -752 on -463 -568 on -279 -568 on -279 -384 on -463 -384 on -463 -200 on, end end points advanceWidth 0 end glyph glyph sakot_low_ha -- Narrow for narrow base postname uni1A601A4C category mark below leftSideBearing -1022 points -- mid point is -555 -1022 -752 on -1022 -200 on -838 -200 on -838 -568 on -647 -568 on -647 -200 on -88 -200 on -88 -1120 on -1022 -1120 on -1022 -936 on -272 -936 on -272 -384 on -463 -384 on -463 -752 on, end end points advanceWidth 0 end glyph glyph sakot_low_ha_wide -- Wide for wide base postname uni1A601A4C.wide category mark below leftSideBearing -1574 points -- mid point is -905 -1574 -752 on -1574 -200 on -1390 -200 on -1390 -568 on -997 -568 on -997 -200 on -236 -200 on -236 -1120 on -1574 -1120 on -1574 -936 on -420 -936 on -420 -754 on -604 -754 on -604 -568 on -420 -568 on -420 -384 on -813 -384 on -813 -752 on, end end points advanceWidth 0 end glyph glyph sakot_low_ha_uncramped -- Wide for narrow base postname uni1A601A4C.uncramped category mark below leftSideBearing -1224 points -- Mid point is -555 -1224 -752 on -1224 -200 on -1040 -200 on -1040 -568 on -647 -568 on -647 -200 on +114 -200 on +114 -1120 on -1224 -1120 on -1224 -936 on -70 -936 on -70 -754 on -254 -754 on -254 -568 on -70 -568 on -70 -384 on -463 -384 on -463 -752 on, end end points advanceWidth 0 end glyph glyph sakot_letter_i postname uni1A601A4D category mark below leftSideBearing -1015 points -- Mid point is -555 -1015 -200 on -95 -200 on -95 -1304 on -279 -1304 on -279 -936 on -831 -936 on -831 -1120 on -463 -1120 on -463 -1304 on -1015 -1304 on, end -831 -384 on -831 -752 on -279 -752 on -279 -384 on -463 -384 on -463 -586 on -647 -586 on -647 -384 on, end end points end glyph glyph sakot_letter_ii postname uni1A601A4E category base leftSideBearing -914 points -- Midpoint is -270 -914 -200 on 6 -200 on 6 -844 on -- Raised 92 190 -844 on 190 1120 on 374 1120 on 374 -1028 on -- Raised 92 6 -1028 on 6 -1304 on -178 -1304 on -178 -936 on -730 -936 on -730 -1120 on -362 -1120 on -362 -1304 on -914 -1304 on, end -730 -384 on -730 -752 on -178 -752 on -178 -384 on -362 -384 on -362 -586 on -546 -586 on -546 -384 on, end end points advanceWidth 464 end glyph glyph sakot_letter_u postname uni1A601A4F category mark below leftSideBearing -939 -- Must disambiguate from sakot_da! points -- Mid point is -555 -939 -200 on -172 -200 on -172 -752 on -755 -752 on -755 -936 on -440 -936 on -- Shorten bottom loop - calculation said -540 -440 -1120 on -939 -1120 on -939 -568 on -356 -568 on -356 -384 on -939 -384 on, end end points advanceWidth 0 end glyph glyph sakot_letter_uu postname uni1A601A50 category mark below leftSideBearing -939 xMin -939 xMax -172 yMin -1120 yMax -200 component use sakot_letter_u xy 0 0 round unscaled_offset use_my_metrics end component advanceWidth 0 end glyph glyph sakot_letter_ee postname uni1A601A51 category mark below leftSideBearing -939 points -- Mid point is -555 -939 -200 on -571 -200 on -571 -384 on -755 -384 on -755 -568 on -571 -568 on -571 -752 on -755 -752 on -755 -936 on -172 -936 on -172 -1120 on -939 -1120 on, end end points end glyph glyph sakot_letter_oo postname uni1A601A52 category mark below leftSideBearing -1199 points -- Mid point is -555 -1015 -16 on -831 -16 on -1015 -200 on -1015 -1120 on -831 -1304 on -1015 -1304 on -1199 -1120 on -1199 -200 on, end -831 -1120 on -831 -200 on -463 -200 on -463 -384 on -647 -384 on -647 -568 on -463 -568 on -463 -752 on -647 -752 on -647 -936 on -463 -936 on -463 -1120 on, end +89 -200 on +89 -1120 on -279 -1120 on -279 -936 on -95 -936 on -95 -752 on -279 -752 on -279 -568 on -95 -568 on -95 -384 on -279 -384 on -279 -200 on, end end points advanceWidth 0 end glyph glyph sakot_lae postname uni1A601A53 -- category mark below -- spacing! category base leftSideBearing -964 points -- mid point is -295 -964 -200 on -203 -200 on -203 -936 on 190 -936 on 190 1956 on -964 1956 on -964 2140 on 374 2140 on 374 -1120 on -387 -1120 on -387 -384 on -780 -384 on -780 -1120 on -964 -1120 on, end end points advanceWidth 464 end glyph glyph sakot_great_sa_narrow -- Narrow for narrow base postname uni1A601A54.narrow category mark below leftSideBearing -1023 points -- mid point is -555 -1023 -200 on -711 -468 off -711 -936 on -555 -936 on -555 -652 off -711 -384 on -711 -200 on -399 -468 off -399 -936 on -243 -936 on -243 -652 off -399 -384 on -399 -200 on -87 -468 off -87 -936 on -87 -1120 on -1023 -1120 on -1023 -936 on -867 -936 on -867 -652 off -1023 -384 on, end end points advanceWidth 0 end glyph glyph sakot_great_sa_wide -- Wide for wide base postname uni1A601A54.wide category mark below leftSideBearing -1574 points -- mid point is -905 -1574 -200 on -1250 -200 on -1190 -660 on -1250 -936 on -927 -936 on -867 -660 on -927 -384 on -1066 -384 on -1066 -200 on -743 -200 on -683 -660 on -743 -936 on -480 -936 on -- x = -420 for square -420 -660 on -420 -384 on -559 -384 on -559 -200 on -236 -200 on -236 -660 on -320 -1120 off -- x = -236 for square -420 -1120 on -1574 -1120 on -1574 -936 on -1434 -936 on -1374 -660 on -1434 -384 on -1574 -384 on, end end points advanceWidth 0 end glyph glyph sakot_great_sa_uncramped, sakot_great_sa -- Wide for narrow base postname uni1A601A54.uncramped category mark below leftSideBearing -1224 points -- mid point is -555 -1224 -200 on -900 -200 on -840 -660 on -900 -936 on -577 -936 on -517 -660 on -577 -384 on -716 -384 on -716 -200 on -393 -200 on -333 -660 on -393 -936 on -130 -936 on -- x = -420 for square -70 -660 on -70 -384 on -209 -384 on -209 -200 on +114 -200 on +114 -660 on +30 -1120 off -- x = -236 for square -70 -1120 on -1224 -1120 on -1224 -936 on -1084 -936 on -1024 -660 on -1084 -384 on -1224 -384 on, end end points advanceWidth 0 end glyph glyph rue.xl postname uni1A42.xl category base points 190 1120 on 374 1120 on 374 936 on 1124 936 on 1124 752 on 374 752 on 374 0 on 190 0 on, end 190 -200 on 374 -200 on 374 -650 on 190 -650 on, end end points leftSideBearing 190 advanceWidth 1212 end glyph glyph lue.xl postname uni1A44.xl category base points 190 1493 on 374 1493 on 374 184 on 558 184 on 558 0 on 190 0 on, end 190 -200 on 374 -200 on 374 -650 on 190 -650 on, end end points leftSideBearing 190 advanceWidth 1212 end glyph glyph medial_ra.xl category base postname uni1A55.xl component use r xy 0 -614 -- Lowered 614 round unscaled_offset end component xMin 190 xMax 1124 yMin -614 yMax 506 -- == 1120 - 614 leftSideBearing 186 advanceWidth 1212 -- Or should it be made narrower? end glyph glyph medial_la.xl postname uni1A56.xl category base component use l xy 0 -614 -- Lowered 614 round unscaled_offset end component leftSideBearing 190 xMin 190 xMax 558 yMin -614 yMax 879 -- = 1493 - 614 advanceWidth 558 -- Aesthetic consideration required! end glyph glyph la_tang_lai.xl postname uni1A57.xl category base component use V xy 0 -614 -- Lowered 614 round unscaled_offset end component leftSideBearing 190 xMin 190 xMax 1310 yMin -614 yMax 879 -- = 1493 - 614 advanceWidth 1400 end glyph glyph mai_kang_lai.xl postname uni1A58.xl category base component use eng -- aw = 1298 xmin = 186 xmax = 1124 ymin = -426 ymax = 1147 xy 0 614 -- Raised 614 round unscaled_offset end component xMin 190 xMax 1124 yMin -162 -- = -776 + 614 yMax 1734 -- = 1120 + 614 leftSideBearing 190 advanceWidth 1212 end glyph glyph sign_nga.xl postname uni1A59.xl category base component use eng -- aw = 1298 xmin = 186 xmax = 1124 ymin = -426 ymax = 1147 xy 0 614 -- Raised 614 round unscaled_offset end component component use T -- aw = 1251 xmax = 1257 ymin = 0 ymax = 1493 xy -94 614 -- Raised 614 and left-right centred in eng round unscaled_offset end component advanceWidth 1212 -- As eng leftSideBearing 96 xMin 96 -- = 190 - 94 xMax 1216 -- = 1310 - 94 yMin -162 -- = -776 + 614 yMax 2107 -- = 1493 + 614 end glyph glyph sign_low_pa.xl postname uni1A5A.xl category base component use b xy 0 +614 -- Raised 614 round unscaled_offset end component xMin 190 xMax 1124 yMin 614 -- = 0 + 614 yMax 2170 -- = 1556 + 614 advanceWidth 1300 leftSideBearing 190 end glyph glyph superscript_T postname T.superscript category base component use T -- aw=1251 , xmin=-6, ymin=0, ymax=1493 xy 0 +614 -- Raised 614 round unscaled_offset end component yMin +614 yMax 2107 -- = 1493 + 614 xMin 190 xMax 1310 advanceWidth 1400 leftSideBearing 190 end glyph glyph superscript_P postname P.superscript category base component use P -- aw=1235 , xmin=201, ymin=0, ymax=1493 xy 0 +614 -- Raised 614 round unscaled_offset end component yMin +614 yMax 2107 -- = 1493 + 614 xMin 190 xMax 1310 advanceWidth 1400 leftSideBearing 190 end glyph glyph sign_high_ratha.xl postname uni1A5B.coronal category base component use T -- aw=1400, xmin=190, ymin=0, ymax=1493 xy 0 -614 -- Lowered 614 round unscaled_offset end component component use h -- aw=1212 , xmax=1124, ymax=1556 xy 1400 -614 round unscaled_offset end component xMin 190 xMax 2524 yMin -614 yMax 942 -- = 1556 - 614 advanceWidth 2612 leftSideBearing 190 end glyph glyph subscript_low_pa postname uni1A5B.labial category base component use b xy 0 -614 -- Lowered 614 round unscaled_offset end component xMin 190 xMax 1124 yMin -614 -- = 0 - 614 yMax 942 -- = 1556 - 614 advanceWidth 1212 leftSideBearing 190 end glyph glyph sign_ma.xl -- TAI THAM CONSONANT SIGN MA postname uni1A5C.xl category base component use m xy 0 -614 -- Lowered 614 round unscaled_offset end component leftSideBearing 190 xMin 190 xMax 1110 yMin -614 yMax 506 -- = 1120 - 614 advanceWidth 1212 end glyph glyph sign_ba.xl -- TAI THAM CONSONANT SIGN BA postname uni1A5D.xl category base component use uni0253 xy 0 -614 -- Lowered 614 round unscaled_offset end component leftSideBearing 190 xMin 190 xMax 1124 yMin -614 -- = 0 - 614 yMax 942 -- = 1556 - 614 advanceWidth 1212 end glyph glyph sign_sa.xl -- TAI THAM CONSONANT SIGN SA postname uni1A5E.xl category base component use s xy 0 -614 -- Lowered 614 round unscaled_offset end component leftSideBearing 190 advanceWidth 1212 xMin 190 xMax 1124 yMin -614 -- = 0 - 614 yMax 506 -- = 1120 - 614 end glyph glyph raised_glottal -- Transliterates TAI THAM VOWEL SIGN A postname uni1A61.xl category base component use uni0294 xy 0 369 -- Raised 369 round unscaled_offset end component leftSideBearing 190 advanceWidth 1212 xMin 190 xMax 1124 yMin 369 yMax 1923 -- = 1554 + 369 end glyph glyph mai_kao.xl postname uni1A73.xl category base component use uni0254 xy 0 614 -- Raised 614 round unscaled_offset end component leftSideBearing 190 advanceWidth 1212 xMin 190 xMax 1124 yMin 614 -- == 0 + 614 yMax 1734 -- == 1120 + 614 end glyph glyph ra_haam.xl postname uni1A7A.xl category base component use r xy 0 614 -- Raised 614 round unscaled_offset end component leftSideBearing 190 advanceWidth 1212 xMin 190 xMax 1124 yMin 614 yMax 1734 -- = 1120 + 614 end glyph glyph karan.xl -- TAI THAM SIGN KHUEN-LUE KARAN , last_tham postname uni1A7C.xl category base component use multiply xy 0 614 -- Raised 614 round unscaled_offset end component advanceWidth 1212 leftSideBearing 190 xMin 190 xMax 1124 yMin 614 yMax 1734 -- = 1120 + 614 end glyph -- glyph sakot_yyy -- postname uni1A601Axx -- category mark below -- leftSideBearing ?? -- points -- -- mid point is -??? -- end points -- advanceWidth 0 -- end glyph -- Features to detect: ccmp, liga, clig, blwf, abvs, blws, psts, rlig glyph on postname on category base advanceWidth 2424 leftSideBearing 190 xMin 190 xMax 2336 -- 1212 + 1124 yMin 0 yMax 1120 component use o xy 0 0 round unscaled_offset end component component use n xy 1212 0 round unscaled_offset end component end glyph glyph puet postname puet category base advanceWidth 1212 leftSideBearing -51 xMin -51 xMax 1124 yMin -1504 yMax 2220 component use high_pa xy 0 0 round unscaled_offset use_my_metrics end component component use mai_kuue xy 960 0 round unscaled_offset end component component use sakot_da xy 1212 0 round unscaled_offset end component end glyph glyph version_number, last_glyph character 0xeae7 postname uniEAE7 category base -- advanceWidth 7276 -- = 6064 + 1212 advanceWidth 6064 -- = 4664 + 1400 leftSideBearing 190 xMin 190 -- xMax 7184 -- = 6064 + 1120 xMax 5974 -- = 4664 + 1310 yMin 0 yMax 1493 component use zero xy 0 0 round unscaled_offset -- aw 1400 end component component use period xy 1400 0 round unscaled_offset -- aw 464 end component component use zero xy 1864 0 round unscaled_offset -- aw 1400 end component component use one xy 3264 0 round unscaled_offset -- aw 1400 end component component use three xy 4664 0 round unscaled_offset -- aw 1400, xmax 1310 end component -- component -- use g xy 6064 0 round unscaled_offset -- aw 1212, xmax 1120 -- end component end glyph -- The USE script processing sequence is (October 2016): -- 1) Tag the characters with their roles within syllables, breaking them -- up into syllables. -- -- 2) Convert characters to glyphs in accordance with the cmap. -- -- 3) Apply the GSUB locl, ccmp, nukt and akhn features. -- -- 4) Apply the GSUB rphf feature. -- -- 5) Apply the GSUB pref feature. -- -- 6) Apply the GSUB rkrf, abvf, blwf, half, pstf, vatu and cjct features. -- -- 7) Apply 'Indic rearrangement', using USE rules. -- -- 8) Apply the GSUB isol, init, medi and fina features - not applicable to -- Tai Tham. -- -- 9) Forget the division into syllables -- -- 10) Apply other 'required' GSUB features - pres, abvs, blws, psts; -- calt, clig, haln, liga, pres, rclt, rlig, vert, vrt2. -- -- 11) Apply other GSUB features. -- -- 12) Apply GPOS features GSUB -- GSUB defines the substitutions down to the level of a list of subtables -- of lookups. -- At one level, a 'feature' is just a set of lookups. However, when -- included for a language, they are the lookups for the OpenType feature -- designated by the first four characters of the lookup's name. -- Some fonts define two sets of lookups for the same OpenType feature for -- the same language, but in 2015 it was noticed that HarfBuzz would only -- take notice of one of them. -- Features, lookups and subtables thereof have their own global name spaces, -- three in total. In principle, subtables could be shared between lookups, but -- this not been implemented yet. Lookups are shared between features. -- Test additions feature ccmp_test ccmp_test good_circle end feature feature liga_test liga_test end feature feature clig_test clig_test end feature feature blwf_test blwf_test end feature feature abvs_test abvs_test end feature feature blws_test blws_test end feature feature psts_test psts_test end feature feature rlig_test rlig_test end feature feature ss01_test ss01_test end feature -- Back to standard definitions script DFLT language default ccmp_3 -- Test addition - comment out for final product! liga_test clig_test blwf_test abvs_test blws_test psts_test rlig_test ss01_test end language end script script latn language default ccmp_5 liga_17 ss01_rustic ss02_fake_lanna ss03_lana ss17_khuen ss18_lue ss19_lao ss97_khuen -- Backward compatibility ss98_lue -- do. ss99_lao -- do. cv01 cv02 cv03 -- Test additions - comment out for final product! clig_test rlig_test end language language LAO ccmp_5 liga_17 ss02_fake_lao ss03_lana -- Test addition - comment out for final product! clig_test rlig_test ss01_test cv01 cv02 cv03 end language language XBD ccmp_5 liga_17 ss02_fake_lue ss03_lana cv01 cv02 cv03 -- Test addition - comment out for final product! clig_test rlig_test ss01_test end language language SHN ccmp_5 liga_17 ss02_fake_khuen ss03_lana cv01 cv02 cv03 -- Test addition - comment out for final product! clig_test rlig_test ss01_test end language end script feature ccmp_3 good_circle ccmp_test -- Test feature only end feature feature ccmp_5 good_circle ccmp_test -- Test feature only end feature feature liga_17 liga_test -- Test feature only end feature feature ss02_fake_lanna ss02_fake_lanna_1 ss02_fake_lanna_2 ss02_naa remember_preposed end feature feature lanna_reordering -- Lookups to move preposed vowels and medial ra. tag_preposed_pt1 move_preposed_pt1 cleanup_preposed_pt1 tag_preposed_pt3 move_preposed_pt2 cleanup_preposed_pt2 end feature feature ss02_fake_lanna includes lanna_reordering -- The lookups of a feature can be added to another feature en masse, as -- above. These inclusions are executed as encountered. -- The order of lookups is defined by the order of their definitions within -- GSUB, GPOS, or ultimately, JSTF. The order of the definitions of their -- subtables affects only the layout of the GSUB/GPOS/JSTF table. -- Do back-transliteration before Latin ligatures. lookup ss02_fake_lanna_2 -- ss02 type ligature subtable ss02_fake_lanna_2 end lookup lookup ss02_fake_lanna_1 -- ss02 type single subtable ss02_fake_lanna_1 end lookup lookup slkp32 -- Invoked by slkp2 type extension single subtable slkp32_0 end lookup lookup good_circle -- ccmp type single subtable good_circle end lookup script lana language default ccmp_lana pref_lana psts_lana blwf_lana abvs_lana blws_lana -- rphf_lana -- Just for testing -- Test addition - comment out for final product! liga_test clig_test rlig_test -- blwf_test is included in blwf_lana -- abvs_test is included in abvs_lana -- blws_test is included in blws_lana -- psts_test is included in psts_lana ss01_rustic ss03_lana ss04_lana ss17_khuen ss18_lue ss19_lao ss97_khuen -- Backward compatibility ss98_lue -- do. ss99_lao -- do. cv01 cv02 cv03 end language language LAO locl_lao ccmp_lana pref_lana -- psts_lao = psts_lana + psts_rustic, so why don't they have the same effect? -- Seems HarfBuzz only uses one feature entry per feature! psts_lao blwf_lana abvs_lao blws_lao ss03_lana ss04_lana cv01 cv02 cv03 end language language XBD -- Tai Lü locl_lue ccmp_lana pref_lana psts_lao -- Same as for Lao! blwf_lana abvs_lana blws_lue ss03_lana ss04_lana cv01 cv02 cv03 end language language SHN -- Tai Khün locl_khuen ccmp_lana pref_lana psts_lao -- Same as for Lao! blwf_lana abvs_khuen blws_khuen ss03_lana ss04_lana cv01 cv02 cv03 end language language URD -- Kludge to select different subscript forms ccmp_lana pref_lana psts_lana blwf_lana abvs_lana blws_lana ss03_lana ss04_lana cv01 cv02 cv03 end language end script -- Back to normal feature ccmp_lana includes ccmp_test feature ccmp_lana remember_preposed end feature feature rphf_lana rphf_trigger end feature feature locl_lao make_lao end feature feature ss02_fake_lao includes locl_lao feature locl_lue make_lue make_lue2 end feature feature ss02_fake_lue includes locl_lue feature locl_khuen make_khuen end feature feature ss02_fake_khuen includes locl_khuen lookup make_lao -- locl, ss19 type single subtable make_lao end lookup lookup make_lue -- locl, ss18 type single subtable make_lue end lookup lookup make_lue2 -- locl, ss18 type context skipexcept below subtable make_lue2_trigger end lookup lookup make_lue2_action -- Invoked by make_lue2 type single subtable make_lue2_action end lookup lookup make_khuen -- locl, ss17 type single subtable make_khuen end lookup lookup rphf_trigger -- rphf type chained subtable rphf_trigger end lookup lookup rphf_action -- Invoked by rphf_trigger type single subtable rphf_action end lookup feature pref_lana declare_pre end feature lookup declare_pre -- pref type single subtable declare_pre end lookup feature blwf_lana tag_coeng complete_sakot_deletion blwf_test -- Just for testing end feature feature blws_lana grow_antlers position_antlers_pt1 position_antlers_pt2 position_2_antlers_pt1 position_2_antlers_pt2 cleanup_antlers conjuncts lower_u -- Alternative to tham_mark_u shift_mkl_pt2 widen blws_test -- Test feature only end feature -- Copy to other script and language-specific features. feature blws_lao includes blws_lana feature blws_lue includes blws_lana feature blws_khuen includes blws_lana feature blws_urdu includes blws_lana feature blws_lao -- Extras lao_conjuncts make_lao_pa end feature feature ss02_fake_lao includes blws_lao feature blws_lue -- Extras lao_conjuncts make_lao_pa end feature feature ss02_fake_lue includes blws_lue -- feature blws_khuen has no extras yet! feature ss02_fake_khuen includes blws_khuen feature blws_urdu swap_subjoined end feature lookup basic_coeng -- blwf -- bleeds lanna_c_lig type ligature subtable basic_coeng end lookup lookup tag_coeng -- blws (fix) or blwf (ideal) type context subtable tag_coeng end lookup lookup make_coeng -- invoked by tag_coeng and USE_allow_sakot_MS_pt1 type single subtable make_coeng end lookup lookup sakot_naa -- invoked by tag_coeng type multiple subtable sakot_naa end lookup lookup complete_sakot_deletion -- blws (fix) or blwf (ideal) type ligature subtable complete_sakot_deletion end lookup lookup translit_ctxt_trigger -- ss04 type extension context subtable translit_c_1 end lookup lookup translit_ctxt_action -- Triggered by translit_ctxt_trigger type extension single subtable translit_a_1 end lookup lookup translit_1 -- ss04 type extension single subtable translit_1 end lookup lookup translit_m -- ss04 type extension multiple subtable translit_m end lookup lookup notranslit type extension single subtable notranslit end lookup lookup swap_subjoined -- blws <-- The difference from blws_lana type single subtable swap_subjoined end lookup lookup remember_preposed -- ss02, ccmp type extension multiple subtable remember_preposed end lookup -- Inserting ghost_ke before another vowel causes clean-up problems with dotted -- circles. However, they cannot be suppressed in ccmp, for ccmp can only -- operate within what the renderer deems to be a syllable! -- Lookups to move preposed vowels and medial ra. -- -- Possibly the next step should be to tag stray preposed vowels not labelled -- as such. However, there don't seem to be any. -- -- It seems that Windows requires that a multiple substitution not be followed -- by any other invoked substitution! lookup tag_preposed_pt1 -- ss02 & blws type extension context skip mark subtable tag_preposed_pt1 end lookup lookup tag_preposed_pt2 -- invoked by tag_preposed_pt1 & tag_preposed_pt3 type extension single subtable tag_preposed_pt2 end lookup lookup move_preposed_pt1 -- ss02 & blws type extension context skip mark subtable move_preposed_pt1 end lookup lookup cleanup_preposed_pt1 -- ss02 & blws type extension ligature subtable cleanup_preposed_pt1 end lookup lookup tag_preposed_pt3 -- ss02 & blws type extension context skip mark subtable tag_preposed_pt3 end lookup lookup move_preposed_pt2 -- ss02 & blws type extension context skip mark subtable move_preposed_pt2 end lookup lookup spawn_ra -- invoked by move_preposed_pt2 type extension multiple subtable spawn_ra end lookup lookup spawn_ke -- invoked by move_preposed_pt1 type extension multiple subtable spawn_ke end lookup lookup spawn_kae -- invoked by move_preposed_pt1 type extension multiple subtable spawn_kae end lookup lookup spawn_ko -- invoked by move_preposed_pt1 type extension multiple subtable spawn_ko end lookup lookup spawn_kai -- invoked by move_preposed_pt1 type extension multiple subtable spawn_kai end lookup lookup spawn_kaue -- invoked by move_preposed_pt1 type extension multiple subtable spawn_kaue end lookup lookup cleanup_preposed_pt2 -- ss02 & blws type extension ligature subtable cleanup_preposed_pt2 end lookup -- End of lookups to move preposed vowels. lookup syllable_test -- orphaned type ligature subtable syllable_test end lookup lookup grow_antlers -- blws type multiple subtable grow_antlers end lookup lookup position_2_antlers_pt1 -- blws type context skip mark subtable position_2_antlers_pt1 end lookup lookup position_2_antlers_pt2 -- blws type context skip mark subtable position_2_antlers_pt2 end lookup lookup position_antlers_pt1 -- blws type context skip mark subtable position_antlers_pt1 end lookup lookup position_antlers_pt2 -- blws type context skip mark subtable position_antlers_pt2 end lookup lookup spawn_antler -- invoked by position_2_antlers_pt1 & type multiple -- position_2_antlers_pt1 subtable spawn_antler end lookup lookup cleanup_antlers -- blws type ligature subtable cleanup_antlers end lookup lookup lao_conjuncts -- blws type ligature subtable lao_conjuncts end lookup lookup conjuncts -- blws type ligature subtable conjuncts -- Does mark skipping need to be considered? end lookup lookup lower_u -- blws type extension chained skipexcept below subtable lower_u1 subtable lower_u2 subtable lower_u3 end lookup feature psts_lana form_mai_kam -- na_mai_kam lanna_c_lig psts_test -- Just for testing end feature feature psts_rustic -- Not a real feature, just an aggregation of lookups. undo_mai_kam -- For non-Bangkok styles end feature feature psts_lao includes psts_lana feature psts_lao includes psts_rustic feature ss01_rustic includes psts_rustic feature ss01_rustic includes ss01_test feature ss02_fake_lao includes psts_lao feature ss02_fake_lue includes psts_lao -- Lao, Lü and Khün are all 'rustic' feature ss02_fake_khuen includes psts_lao feature ss03_lana unwiden end feature feature ss04_lana translit_ctxt_trigger translit_1 translit_m end feature lookup form_mai_kam -- psts type ligature subtable form_mai_kam end lookup lookup ss01_test type extension ligature subtable ss01_test end lookup -- This scheme looked attractive, but it doesn't work. -- lookup na_mai_kam -- psts -- type chained -- skip mark -- subtable na_mai_kam_1 -- end lookup -- lookup na_mai_kam_2 -- invoked by na_mai_kam -- type multiple -- subtable na_mai_kam_2 -- end lookup lookup undo_mai_kam -- psts_rustic type context skip mark subtable undo_mai_kam_condition end lookup lookup undo_mai_kam_action -- invoked by lookup undo_mai_kam type multiple subtable undo_mai_kam_action end lookup lookup nugatory -- invoked by lookup undo_mai_kam & shift_mkl_impede type single subtable nugatory end lookup feature abvs_lana_general kang_before_tone_C2 mai_kam_shift -- XXX shift_mkl_pt2 -- Clean up. Currently invoked by feature blws mai_sat_ligatures shift_mai_sam abvs_test -- Just for testing end feature feature abvs_lana includes abvs_lana_general feature abvs_lao includes abvs_lana_general feature abvs_khuen includes abvs_lana_general feature abvs_lana shift_mkl_pt1 unfreeze_mkl end feature feature abvs_lao shift_mkl_all end feature feature cv01 freeze_mkl_1 unfreeze_mkl end feature feature cv02 shift_mkl_all end feature feature cv03 shift_mkl_pt1 freeze_mkl_2 unfreeze_mkl end feature feature ss02_fake_lanna includes psts_lana feature ss02_fake_lanna includes blwf_lana feature ss02_fake_lanna includes blws_lana feature ss02_fake_lao includes ss02_fake_lanna feature ss02_fake_lue includes ss02_fake_lanna feature ss02_fake_khuen includes ss02_fake_lanna feature ss02_fake_lao includes abvs_lao feature ss02_fake_lue includes abvs_lana feature ss02_fake_khuen includes abvs_khuen feature ss02_fake_lanna includes abvs_lana feature ss17_khuen includes locl_khuen feature ss17_khuen includes blws_khuen feature ss17_khuen includes psts_lao -- Same as for Lao. feature ss18_lue includes locl_lue feature ss18_lue includes blws_lue feature ss18_lue includes psts_lao -- Same as for Lao. feature ss19_lao includes locl_lao feature ss19_lao includes blws_lao feature ss19_lao includes psts_lao -- Erroneous feature names, preserved for compatibility. feature ss97_khuen includes ss17_khuen feature ss98_lue includes ss18_lue feature ss99_lao includes ss19_lao -- The arrangment of the lookups for moving (or not) mai kang lai are as -- follows: -- Lookup Default Lao Khuen Never Always Sometimes -- (cv01) (cv02) (cv03) -- freeze_mkl_1 - - - X - - -- shift_mkl_pt1 X - - - - X -- freeze_mkl_2 - - - - - X -- shift_mkl_all - X - - X - -- unfreeze_mkl X - - X - X lookup freeze_mkl_1 -- cv01 type single subtable freeze_mkl_1 end lookup lookup shift_mkl_pt1 -- abvs_lana, cv03 type chained -- context or reverse would be neater -- The relative order of shift_mkl_impede and shift_mkl_pt1 matters! -- This might not be robust! subtable shift_mkl_impede subtable shift_mkl_pt1 end lookup lookup freeze_mkl_2 -- cv03 type single subtable freeze_mkl_2 end lookup lookup shift_mkl_all type context subtable shift_mkl_all end lookup lookup unfreeze_mkl -- cv01, cv03, abvs_lana type single subtable unfreeze_mkl end lookup lookup mkl_append -- invoked by shift_mkl_pt1 type multiple subtable mkl_append end lookup lookup mkl2_append -- invoked by shift_mkl_all type multiple subtable mkl2_append end lookup lookup mkl_vanish_1 -- invoked by shift_mkl_pt1 type ligature subtable mkl_vanish_1 end lookup lookup condemn -- invoked by tag_coeng & shift_mkl_pt1 type single subtable condemn end lookup lookup spawn_u -- invoked by lower_u type extension multiple subtable spawn_u end lookup lookup spawn_uu -- invoked by lower_u type extension multiple subtable spawn_uu end lookup lookup mai_kam_shift -- abvs type extension context skipexcept above subtable mai_kam_shift end lookup lookup mai_kam_split -- invoked by mai_kam_shift type extension multiple subtable mai_kam_split end lookup lookup mai_kam_action -- invoked by mai_kam_shift type extension single subtable mai_kam_action end lookup lookup kang_before_tone_C2 -- abvs type extension multiple subtable kang_before_tone_C2 end lookup lookup make_spawning_tone -- invoked by mai_kam_shift type extension single subtable make_spawning_tone end lookup lookup ss02_naa -- ss02 type context skip mark subtable ss02_naa_condition end lookup lookup ss02_naa_action -- invoked by ss02_naa type single subtable ss02_naa_action end lookup lookup lanna_c_lig -- psts -- bled by basic coeng type ligature skip mark subtable lanna_c_lig end lookup lookup make_kang -- invoked by kang_before_tone type extension multiple subtable make_kang end lookup lookup mai_sat_ligatures -- abvs type extension ligature skipexcept above subtable mai_sat_ligatures end lookup lookup shift_mai_sam -- abvs type extension context skipexcept above subtable shift_mai_sam end lookup lookup mai_sam_spawn -- Invoked by shift_mai_sam type extension multiple skipexcept above subtable mai_sam_spawn end lookup lookup mai_sam_absorb -- Invoked by shift_mai_sam type extension ligature skipexcept above subtable mai_sam_absorb end lookup lookup shift_mkl_pt2 -- blws -- Clean up after deleters. Keep to end. type ligature subtable mkl_vanish_2 subtable mkl_vanish_3 end lookup lookup make_lao_pa -- blws type extension context subtable make_lao_pa end lookup lookup make_lao_pa_wide -- Invoked by make_lao_pa type extension single subtable make_lao_pa_wide end lookup lookup make_lao_pa_narrow -- Invoked by make_lao_pa type extension single subtable make_lao_pa_narrow end lookup lookup widen -- blws type extension chained skipexcept below subtable widen end lookup lookup widen_glyph -- Invoked by widen type extension single subtable widen_glyph end lookup lookup unwiden -- ss03 type extension context skipexcept below subtable unwiden end lookup lookup unwiden_glyph -- Invoked by unwiden type extension single subtable unwiden_glyph end lookup -- Simple debugging tests -- lookup make_W -- type single -- subtable make_W -- end lookup -- Test additions -- any old order! lookup ccmp_test type extension ligature subtable ccmp_test end lookup lookup liga_test type extension ligature subtable liga_test end lookup lookup clig_test type extension ligature subtable clig_test end lookup lookup blwf_test type extension ligature subtable blwf_test end lookup lookup abvs_test type extension ligature subtable abvs_test end lookup lookup blws_test type extension ligature subtable blws_test end lookup lookup psts_test type extension ligature subtable psts_test end lookup lookup rlig_test type extension ligature subtable rlig_test end lookup end GSUB -- Stuff not in DejaVuSans store pointer ss01_test store pointer ccmp_test store pointer liga_test store pointer clig_test store pointer blwf_test store pointer abvs_test store pointer blws_test store pointer psts_test store pointer rlig_test store pointer remember_preposed store pointer tag_preposed_pt1 store pointer tag_preposed_pt2 store pointer tag_preposed_pt3 store pointer cleanup_preposed_pt1 store pointer cleanup_preposed_pt2 store pointer move_preposed_pt1 store pointer move_preposed_pt2 store pointer spawn_ke store pointer spawn_kae store pointer spawn_ko store pointer spawn_kai store pointer spawn_kaue store pointer spawn_ra store pointer lower_u1 store pointer lower_u2 store pointer lower_u3 store pointer spawn_u store pointer spawn_uu store pointer mai_kam_action store pointer mai_kam_split store pointer kang_before_tone_C2 store pointer mai_sat_ligatures store pointer shift_mai_sam store pointer mai_sam_spawn store pointer mai_sam_absorb store pointer make_spawning_tone store pointer make_kang store pointer mai_kam_shift store pointer make_lao_pa store pointer make_lao_pa_narrow store pointer make_lao_pa_wide store pointer widen store pointer widen_glyph store pointer unwiden store pointer unwiden_glyph store pointer translit_1 store pointer translit_m store pointer notranslit store pointer translit_c_1 store pointer translit_a_1 lookup good_circle grammar > uni25CC end lookup lookup ss02_fake_lanna_1 k > high_ka g > low_ka G > nga c > high_ca j > low_ca J > nya T > rata D > da N > rana t > high_ta d > low_ta n > na B > ba -- Perhaps not so simple! p > high_pa F > high_fa b > low_pa f > low_fa m > ma2 y > low_ya Y > high_ya -- y by mistake terminates parse! r > ra R > rue l > la w > wa z > high_sha S > high_ssa s > high_sa h > high_ha L > lla q > letter_a H > mai_ka a > mai_sat A > mai_kaa M > mai_kang o > mai_kong i > mai_ki I > mai_kii u > mai_ku U > mai_kuu e > oope E > oopae O > oopoo slash > sakot one > mai_ek two > mai_tho three > mai_ko_nuea four > mai_kha_pe five > mai_sam_khit X > karan quotedbl > mai_sam end lookup lookup ss02_fake_lanna_2 k h > high_kha k x > high_kxa g x > low_kxa g h > low_kha c h > high_cha j x > low_sa j h > low_cha n y > nya T h > high_ratha D h > low_ratha t h > high_tha d h > low_tha p h > high_pha b h > low_pha q y > high_ya l R > lue s h > high_sha r h > low_ha q q i > letter_i q q I > letter_ii q q u > letter_u q q U > letter_uu q q e > letter_ee q q O > letter_oo l E > lae s s > great_sa V r > oopra V l plus > la_tang_lai V l > medial_la greater G > mai_kang_lai asciicircum G > sign_nga asciicircum b > sign_low_pa V b > sign_high_ratha V T h > sign_high_ratha V m > sign_ma V B > sign_ba V s > sign_sa asciicircum A > mai_kaa_luang u e > mai_kue U E > mai_kuue V O > mai_koa_below o i > mai_koi asciicircum O > mai_kao a i > oopai a u e > oopaue asciicircum r > ra_haam asciicircum two > mai_sam V period > cryptodot zero T > tham_0 one T > tham_1 two T > tham_2 three T > tham_3 four T > tham_4 five T > tham_5 six T > tham_6 seven T > tham_7 eight T > tham_8 nine T > tham_9 zero P > hora_0 one P > hora_1 two P > hora_2 three P > hora_3 four P > hora_4 five P > hora_5 six P > hora_6 seven P > hora_7 eight P > hora_8 nine P > hora_9 three K > mai_tri four K > mai_kha_pe hyphen T > rata hyphen f > low_fa hyphen h > high_ha hyphen l > la hyphen y > low_ya hyphen r > ra hyphen R > rue hyphen q > letter_a hyphen s > high_sa hyphen e > oope hyphen E > oopae hyphen i > mai_ki hyphen u e > mai_kue hyphen plus > plus hyphen G > nga hyphen b > low_pa hyphen T > rata -- IE 11 seems to break strings at every hyphen! underscore T > rata underscore f > low_fa underscore h > high_ha underscore l > la underscore y > low_ya underscore r > ra underscore R > rue underscore q > letter_a underscore s > high_sa underscore e > oope underscore E > oopae underscore i > mai_ki underscore u e > mai_kue underscore plus > plus underscore G > nga underscore b > low_pa underscore T > rata end lookup lookup make_lao -- locl, ss19 low_ha > lao_low_ha sakot_low_ha > sakot_lao_low_ha -- Irrelevant for locl. end lookup lookup make_lue -- locl, ss18 high_ratha > kl_high_ratha sakot_high_ratha > sakot_kl_high_ratha -- Not needed for locl. end lookup lookup make_lue2_trigger -- locl, ss18 mai_kuu medial_ra 1 make_lue2_action end lookup lookup make_lue2_action medial_ra > raw_antler end lookup lookup make_khuen -- locl, ss17 high_ratha > kl_high_ratha sakot_high_ratha > sakot_kl_high_ratha -- Not needed for locl. end lookup lookup declare_pre medial_ra > medial_ra end lookup lookup basic_coeng sakot high_ka > sakot_high_ka sakot high_kha > sakot_high_kha sakot high_kxa > sakot_high_kxa sakot low_ka > sakot_low_ka sakot low_kxa > sakot_low_kxa sakot low_kha > sakot_low_kha sakot nga > sakot_nga sakot high_ca > sakot_high_ca sakot high_cha > sakot_high_cha sakot low_ca > sakot_low_ca sakot low_sa > sakot_low_sa sakot low_cha > sakot_low_cha sakot nya > sakot_nya sakot rata > sakot_rata sakot high_ratha_host > sakot_high_ratha sakot high_ratha_nohost > sakot_high_ratha sakot kl_high_ratha_nohost > sakot_kl_high_ratha sakot da > sakot_da sakot low_ratha > sakot_low_ratha sakot rana > sakot_rana sakot high_ta > sakot_high_ta sakot high_tha > sakot_high_tha sakot low_ta > sakot_low_ta sakot low_tha > sakot_low_tha sakot na > sakot_na sakot ba > sakot_ba sakot high_pa > sakot_high_pa sakot high_pha > sakot_high_pha sakot high_fa > sakot_high_fa sakot low_pa > sakot_low_pa sakot low_fa > sakot_low_fa sakot low_pha > sakot_low_pha sakot ma1 > sakot_ma sakot ma2 > sakot_ma sakot low_ya > sakot_low_ya sakot high_ya > sakot_high_ya sakot ra > sakot_ra sakot lao_low_ha > sakot_lao_low_ha sakot la > sakot_la sakot wa > sakot_wa sakot high_sha > sakot_high_sha sakot high_ssa > sakot_high_ssa sakot high_sa > sakot_high_sa sakot high_ha > sakot_high_ha sakot lla > sakot_lla sakot letter_a > sakot_letter_a sakot low_ha > sakot_low_ha sakot letter_i > sakot_letter_i sakot letter_ii > sakot_letter_ii sakot letter_u > sakot_letter_u sakot letter_uu > sakot_letter_uu sakot letter_ee > sakot_letter_ee sakot letter_oo > sakot_letter_oo sakot lae > sakot_lae sakot great_sa > sakot_great_sa end lookup -- Lookup subtables to handle unnatural orderings of SAKOT. lookup make_coeng high_ka > sakot_high_ka high_kha > sakot_high_kha high_kxa > sakot_high_kxa low_ka > sakot_low_ka low_kxa > sakot_low_kxa low_kha > sakot_low_kha nga > sakot_nga high_ca > sakot_high_ca high_cha > sakot_high_cha low_ca > sakot_low_ca low_sa > sakot_low_sa low_cha > sakot_low_cha nya > sakot_nya rata > sakot_rata high_ratha_host > sakot_high_ratha high_ratha_nohost > sakot_high_ratha kl_high_ratha_nohost > sakot_kl_high_ratha da > sakot_da low_ratha > sakot_low_ratha rana > sakot_rana high_ta > sakot_high_ta high_tha > sakot_high_tha low_ta > sakot_low_ta low_tha > sakot_low_tha na > sakot_na ba > sakot_ba high_pa > sakot_high_pa high_pha > sakot_high_pha high_fa > sakot_high_fa low_pa > sakot_low_pa low_fa > sakot_low_fa low_pha > sakot_low_pha ma1 > sakot_ma ma2 > sakot_ma low_ya > sakot_low_ya high_ya > sakot_high_ya ra > sakot_ra lao_low_ha > sakot_lao_low_ha la > sakot_la wa > sakot_wa high_sha > sakot_high_sha high_ssa > sakot_high_ssa high_sa > sakot_high_sa high_ha > sakot_high_ha lla > sakot_lla letter_a > sakot_letter_a letter_i > sakot_letter_i letter_ii > sakot_letter_ii letter_u > sakot_letter_u letter_uu > sakot_letter_uu letter_ee > sakot_letter_ee letter_oo > sakot_letter_oo low_ha > sakot_low_ha lae > sakot_lae great_sa > sakot_great_sa end lookup lookup swap_subjoined -- sakot_low_kha -- sakot_high_cha -- sakot_low_ratha -- sakot_high_sha sakot_high_ssa > sakot_high_ssa -- sakot_great_sa -- No alternative glyph created: -- sakot_nya -- sakot_high_pha -- sakot_high_fa end lookup -- 'Coverage' is the OpenType term for a set of glyphs. It's prototypical -- usage is as the domain of a lookup. I allow glyph names to serve to -- specify the corresponding singleton. coverage compact_cons_sign is sign_high_ratha_host coverage compact_cons_sign also sign_high_ratha_nohost coverage compact_cons_sign also sign_narrow_low_pa_below coverage compact_cons_sign also sign_low_pa_below_host coverage compact_cons_sign also sign_low_pa_below_nohost coverage compact_cons_sign also sign_lao_low_pa coverage compact_cons_sign also sign_ma to sign_sa -- The classes of a classification, other than class 0, can also be used as -- a set. The classes of a classification may not overlap when the definition -- comes to be saved. classification tham_glyphs empty tg_0 class tg_circle uni25CC class tg_circle grammar class tg_condemned condemned class tg_letter high_ka to great_sa class tg_vowel_before mai_ke to mai_kaue class tg_vowel_above mai_sat to mai_sat_3lem class tg_vowel_after mai_ka class tg_vowel_after mai_kaa class tg_vowel_after mai_kaa_luang class tg_vowel_above mai_ki to mai_kuue class tg_vowel_below mai_ku to mai_kuu class tg_vowel_above mai_kong class tg_vowel_below mai_koa_below to mai_koa_below_wide class tg_vowel_after mai_koi class tg_vowel_above mai_kao class tg_vowel_above mai_kang class tg_vowel_below cryptodot class tg_tone mai_ek to mai_tho class tg_tone mai_ko_nuea to mai_sam_khit class tg_tone mai_tri class tg_sign_ra medial_ra class tg_compact_sign_subscript medial_la class tg_compact_sign_subscript medial_la_wide class tg_compact_sign_subscript medial_la_uncramped class tg_compact_sign_subscript compact_cons_sign class tg_rising_sign_subscript la_tang_lai class tg_cons_above mai_kang_lai class tg_cons_above compact_mai_kang_lai class tg_cons_above sign_nga class tg_cons_above sign_low_pa class tg_sakot sakot class tg_others ra_haam -- Not sure how to handle! class tg_others mai_sam class tg_others karan class tg_others antler class tg_compact_subscript sakot_high_ka to sakot_low_kxa class tg_rising_subscript sakot_low_kha class tg_compact_subscript sakot_nga to sakot_low_sa class tg_rising_subscript sakot_low_cha class tg_rising_subscript sakot_nya class tg_compact_subscript sakot_rata to sakot_na class tg_sakot_ba sakot_ba class tg_sakot_ba sakot_high_pa class tg_rising_subscript sakot_high_pha class tg_rising_subscript sakot_high_fa class tg_compact_subscript sakot_low_pa to sakot_ma class tg_sakot_low_ya sakot_low_ya class tg_rising_subscript sakot_high_ya class tg_compact_subscript sakot_ra class tg_compact_subscript sakot_lao_low_ha class tg_rising_subscript sakot_la class tg_rising_subscript sakot_la_thin class tg_compact_subscript sakot_wa to sakot_high_sha class tg_rising_subscript sakot_high_ssa to sakot_high_sa class tg_compact_subscript sakot_high_ha to sakot_letter_i class tg_rising_subscript sakot_letter_ii class tg_compact_subscript sakot_letter_u to sakot_letter_oo class tg_rising_subscript sakot_lae class tg_compact_subscript sakot_great_sa_narrow to sakot_great_sa_uncramped class tg_digit hora_0 to hora_9 class tg_digit tham_0 to tham_9 class tg_punctuation uni1AA0 to uni1AAD class tg_raw_antler raw_antler class tg_ghost_ke ghost_ke to ghost_kaue -- Universal Shaping Engine 'BASE_OTHER' - except for grammar error marks. class tg_other_base hyphen class tg_other_base space_nb class tg_other_base multiply -- class tg_other_base uni2012 -- FIGURE DASH, currently not in font. class tg_other_base endash class tg_other_base emdash -- class tg_other_base uni2015 -- HORIZONTAL BAR class tg_other_base bullet class tg_other_base uni25FB class tg_other_base uni25FC class tg_other_base uni25FD class tg_other_base uni25FE end classification coverage unsakottable is rue coverage unsakottable also lue classification coengisation empty ci_others class tone tg_tone class tone ra_haam class tone mai_sam class tone karan class tone cryptodot class ci_sakot sakot class ci_sakottable tg_letter remove naa -- from any class (other than 0) to which remove unsakottable -- they may have been added. class ci_circle uni25CC class ci_circle grammar class ci_naa naa end classification lookup tag_coeng ci_sakot tone tone ci_sakottable 0 condemn 3 make_coeng ci_sakot tone ci_sakottable 0 condemn 2 make_coeng ci_sakot ci_sakottable 0 basic_coeng -- Doesn't produce condemned glyph. end lookup lookup sakot_naa -- Not perfect, but best achievable naa > sakot_na mai_kaa end lookup lookup syllable_test mai_ek na > rana end lookup lookup complete_sakot_deletion delete-before condemned tone end lookup -- End of lookup subtables to handle unnatural orderings of SAKOT. coverage any is missing to last_glyph -- Lookups to move preposed vowels and medial ra in hack mode are located just -- before the top-level GPOS declaration. lookup grow_antlers sakot_high_kxa > raw_antler sakot_high_kxa sakot_low_kxa > raw_antler sakot_low_kxa sakot_low_sa > raw_antler sakot_low_sa sakot_low_fa > raw_antler sakot_low_fa sakot_letter_uu > raw_antler sakot_letter_uu -- mai_tho > spawning_mai_tho -- Just to demonstrate positioning bug! end lookup classification velvet empty av_0 class av_raw_antler raw_antler class av_base tg_letter class av_base tg_rising_subscript class av_base tg_rising_sign_subscript class av_base tg_vowel_after end classification lookup position_2_antlers_pt1 av_base av_raw_antler av_raw_antler, defer 0 spawn_antler end lookup lookup position_2_antlers_pt2 av_base av_raw_antler av_raw_antler, defer 2 condemn end lookup lookup position_antlers_pt1 av_base av_raw_antler, defer 0 spawn_antler end lookup lookup position_antlers_pt2 av_base av_raw_antler, defer 1 condemn end lookup lookup spawn_antler insert_after av_base antler end lookup lookup cleanup_antlers condemned sakot_high_kxa > sakot_high_kxa condemned sakot_low_kxa > sakot_low_kxa condemned sakot_low_sa > sakot_low_sa condemned sakot_low_fa > sakot_low_fa condemned sakot_letter_uu > sakot_letter_uu raw_antler > antler end lookup store classification velvet lookup lao_conjuncts low_pa sign_high_ratha > lao_low_ppa ma1 sign_high_ratha > lao_low_mpa ma2 sign_high_ratha > lao_low_mpa end lookup lookup conjuncts nya sakot_nya > nya_nya low_pa sign_high_ratha > low_ppa rana sign_high_ratha > high_rantha high_ta sign_high_ratha > lao_high_ttha rata sign_high_ratha > high_rattha ma2 sign_high_ratha > low_mpa sakot_rata sign_high_ratha > sakot_rata_ratha end lookup lookup form_mai_kam mai_kaa mai_kang > mai_kam mai_kaa_luang mai_kang > mai_kam_luang end lookup -- lookup na_mai_kam_1 -- | na mai_kam | -- 0 na_mai_kam_2 -- 2 na_mai_kam_2 -- end lookup -- lookup na_mai_kam_2 -- na > naa mai_kang -- mai_kam > condemned -- end lookup lookup undo_mai_kam_condition -- Not Bangkok style! na mai_kam -- do nothing - unless we want it to work on Emacs! 1 nugatory low_ha mai_kam 1 undo_mai_kam_action mai_kam 0 undo_mai_kam_action end lookup lookup undo_mai_kam_action mai_kam > mai_kaa mai_kang -- mai_kaa > W end lookup lookup nugatory mai_kam > mai_kam mai_kang_lai > mai_kang_lai mai_ke > mai_ke end lookup -- Simply ligating na and mai_kaa fails if there is a mark glyph between them, -- apparently because it was once a base glyph. In IE 11 under Windows 7, the -- whole string simply vanishes. lookup ss02_naa_condition na mai_kaa 0 ss02_naa_action 1 ss02_naa_action end lookup lookup ss02_naa_action na > naa mai_kaa > condemned end lookup lookup lanna_c_lig -- seven nine > ae -- Proof of principle na mai_kaa > naa end lookup classification mkl empty mkl_0 class mkl_impede above remove mai_kang_lai class mkl_mkl mai_kang_lai class mkl_cons tg_letter class mkl_pre tg_vowel_before end classification lookup rphf_trigger | mkl_mkl | mkl_cons, defer 0 rphf_action end lookup lookup rphf_action mai_kang_lai > mai_kang_lai end lookup -- MFL behaviour lookup shift_mkl_impede | mkl_mkl,defer mkl_cons | mkl_impede 0 nugatory | mkl_mkl mkl_pre mkl_cons | mkl_impede 0 nugatory | mkl_mkl mkl_pre mkl_pre mkl_cons | mkl_impede 0 nugatory end lookup lookup shift_mkl_pt1 | mkl_mkl,defer mkl_cons | 0 condemn -- HarfBuzz requires that sequence indices be 1 mkl_append -- strictly increasing | mkl_mkl mkl_pre mkl_cons | 0 condemn 2 mkl_append end lookup classification mkl2 empty mkl2_0 class mkl2_mkl mai_kang_lai class mkl2_cons tg_letter class mkl2_pre tg_vowel_before class mkl2_pre medial_ra end classification lookup shift_mkl_all mkl2_mkl mkl2_cons 0 condemn -- HarfBuzz requires that sequence indices be 1 mkl2_append -- strictly increasing mkl2_mkl mkl2_pre mkl2_cons 0 condemn 2 mkl2_append mkl2_mkl mkl2_pre mkl2_pre mkl2_cons 0 condemn 3 mkl2_append end lookup lookup freeze_mkl_1 mai_kang_lai > compact_mai_kang_lai end lookup lookup freeze_mkl_2 mai_kang_lai > compact_mai_kang_lai end lookup lookup unfreeze_mkl compact_mai_kang_lai > mai_kang_lai end lookup lookup condemn mai_kang_lai > condemned sakot > condemned mai_ku > condemned mai_kuu > condemned raw_antler > condemned mai_sam > condemned end lookup lookup mkl_append insert_after tg_letter compact_mai_kang_lai end lookup lookup mkl2_append insert_after tg_letter mai_kang_lai end lookup lookup mkl_vanish_1 mai_kang_lai uni1A55 > uni1A55 -- Preposed consonant mark delete-before mai_kang_lai tg_letter delete-before mai_kang_lai tg_vowel_before end lookup lookup mkl_vanish_2 delete-before condemned any delete-after any condemned end lookup lookup mkl_vanish_3 delete-after any condemned end lookup store classification mkl classification width empty width_0 class wide_base high_ka class wide_base low_kha class wide_base sakot_low_kha class wide_base low_ratha class wide_base rana class wide_base high_rantha class wide_base high_ta class wide_base sakot_ba class wide_base sakot_high_pa -- Needed? class wide_base low_pa class wide_base low_ppa class wide_base lao_low_ppa class wide_base low_fa class wide_base low_pha class wide_base low_ya class wide_base la class wide_base high_ha class wide_base low_ha class wide_base great_sa -- narrow_sub is narrow subscripts with a wide counterpart class wide_sub medial_la_wide class narrow_sub medial_la class wide_sub sign_low_pa_below class narrow_sub sign_high_ratha class wide_sub sakot_high_ka_wide class narrow_sub sakot_high_ka class wide_sub sakot_rana_wide class narrow_sub sakot_rana class wide_sub sakot_high_ta_wide class narrow_sub sakot_high_ta class wide_sub sakot_low_pa_wide class narrow_sub sakot_low_pa class wide_sub sakot_low_fa_wide class narrow_sub sakot_low_fa class wide_sub sakot_low_pha_wide class narrow_sub sakot_low_pha class wide_sub sakot_high_ha_wide class narrow_sub sakot_high_ha class wide_sub sakot_low_ha_wide class narrow_sub sakot_low_ha class wide_sub sakot_great_sa_wide class narrow_sub sakot_great_sa class wide_sub mai_koa_below_wide class narrow_sub mai_koa_below end classification classification width2 empty width2_0 class wide2_base wide_base class other_sub below remove wide_sub class wide2_sub wide_sub end classification lookup make_lao_pa ma1 sign_high_ratha 1 make_lao_pa_narrow ma2 sign_high_ratha 1 make_lao_pa_narrow low_pa sign_high_ratha 1 make_lao_pa_wide end lookup lookup make_lao_pa_narrow sign_high_ratha > sign_narrow_low_pa_below end lookup lookup make_lao_pa_wide sign_high_ratha > sign_lao_low_pa end lookup lookup widen wide_base | narrow_sub | 0 widen_glyph wide_sub | narrow_sub | 0 widen_glyph end lookup lookup widen_glyph medial_la > medial_la_wide sakot_high_ka > sakot_high_ka_wide sakot_rana > sakot_rana_wide sakot_high_ta > sakot_high_ta_wide sakot_low_pa > sakot_low_pa_wide sakot_low_fa > sakot_low_fa_wide sakot_low_pha > sakot_low_pha_wide sakot_high_ha > sakot_high_ha_wide sakot_low_ha > sakot_low_ha_wide sakot_great_sa > sakot_great_sa_wide -- Currently no effect mai_koa_below > mai_koa_below_wide -- The next is significantly bled for Lao! sign_high_ratha > sign_low_pa_below end lookup -- Optionally undo the widening before another subscript. lookup unwiden -- ss03 wide2_base wide2_sub wide2_sub wide2_sub 1 unwiden_glyph 2 unwiden_glyph 3 unwiden_glyph wide2_base wide2_sub wide2_sub 1 unwiden_glyph 2 unwiden_glyph wide2_base wide2_sub other_sub 1 unwiden_glyph end lookup lookup unwiden_glyph -- invoked by unwiden. medial_la_wide > medial_la sakot_high_ka_wide > sakot_high_ka sakot_rana_wide > sakot_rana sakot_high_ta_wide > sakot_high_ta sakot_low_pa_wide > sakot_low_pa sakot_low_fa_wide > sakot_low_fa sakot_low_pha_wide > sakot_low_pha sakot_high_ha_wide > sakot_high_ha sakot_low_ha_wide > sakot_low_ha sakot_great_sa_wide > sakot_great_sa -- Currently no effect mai_koa_below_wide > mai_koa_below -- The next is significantly bled for Lao! sign_low_pa_below > sign_high_ratha end lookup -- Despite all the effort here, ᨶ᩶᩵ᩣᩴᨷ still isn't working! lookup make_spawning_tone mai_ek > spawning_mai_ek mai_tho > spawning_mai_tho mai_ko_nuea > temp3 mai_kha_pe > temp4 mai_sam_khit > temp5 end lookup lookup make_kang insert_before mai_kang tg_tone -- insert_before mai_ki tg_tone -- for debugging end lookup classification am_classes empty am_void class am_tone tg_tone class am_kam mai_kam class am_kam mai_kam_luang class am_letter tg_letter class am_letter tg_rising_subscript class am_letter tg_rising_sign_subscript end classification lookup mai_kam_shift am_tone am_tone am_kam 0 make_spawning_tone 2 mai_kam_action am_tone am_kam 0 make_spawning_tone 1 mai_kam_action am_letter am_kam 0 mai_kam_split -- #if FIXIOS -- 1 mai_kam_action -- Wrong, but works for Safari on iOS 10.3.2. -- #endif -- Fails by iOS 12.4.6. -- 2 mai_kam_action -- Fix for Safari of iOS 12.4.6: 2 mai_kam_action end lookup lookup mai_kam_action mai_kam > mai_kaa mai_kam_luang > mai_kaa_luang end lookup lookup kang_before_tone_C2 spawning_mai_ek > mai_kang mai_ek spawning_mai_tho > mai_kang mai_tho temp3 > mai_kang mai_ko_nuea temp4 > mai_kang mai_kha_pe temp5 > mai_kang mai_sam_khit end lookup lookup mai_sat_ligatures -- consider adding black then red ligtautes mai_sat mai_sat mai_tho > mai_sat_3lem mai_sat mai_tho > mai_sat_2lem mai_sat mai_ek mai_tho > mai_sat_ek_tho mai_sat mai_ek > mai_sat_ek end lookup -- There's not a lot of evidence for consistent placement of mai sam, -- but it looks nicer. classification ms_classes empty ms_0 class ms_above tg_vowel_above class ms_above tg_tone class ms_above tg_cons_above class ms_above tg_others remove mai_sam class ms_mai_sam mai_sam end classification lookup shift_mai_sam ms_mai_sam ms_above ms_above ms_above ms_above 0 mai_sam_absorb 3 mai_sam_spawn ms_mai_sam ms_above ms_above ms_above 0 mai_sam_absorb 2 mai_sam_spawn ms_mai_sam ms_above ms_above 0 mai_sam_absorb 1 mai_sam_spawn ms_mai_sam ms_above 0 condemn 1 mai_sam_spawn end lookup lookup mai_sam_spawn insert_after ms_above mai_sam end lookup lookup mai_sam_absorb delete-before mai_sam ms_above end lookup coverage non_ba_ya_sub_cons is tg_compact_subscript coverage non_ba_ya_sub_cons also tg_compact_sign_subscript coverage non_ba_ya_sub_cons also tg_rising_sign_subscript coverage mai_ku_cvge is mai_ku coverage mai_kuu_cvge is mai_kuu lookup lower_u1 | mai_ku sakot_ba | 0 condemn 1 spawn_u | mai_kuu sakot_ba | 0 condemn 1 spawn_uu end lookup lookup lower_u2 | mai_ku_cvge non_ba_ya_sub_cons,defer | 0 condemn 1 spawn_u end lookup lookup lower_u3 | mai_kuu_cvge non_ba_ya_sub_cons,defer | 0 condemn 1 spawn_uu end lookup lookup spawn_u insert_after sakot_ba mai_ku insert_after sakot_low_ya mai_ku insert_after non_ba_ya_sub_cons mai_ku end lookup lookup spawn_uu insert_after sakot_ba mai_kuu insert_after sakot_low_ya mai_kuu insert_after non_ba_ya_sub_cons mai_kuu end lookup store coverage non_ba_ya_sub_cons -- Ligatures for detecting features lookup ccmp_test o f f one > on high_pa mai_ki sakot da tham_1 > puet high_pa mai_ki uni25CC sakot da tham_1 > puet high_pa mai_ki sakot_da tham_1 > puet high_pa mai_ki uni25CC sakot_da tham_1 > puet high_kha mai_ek mai_kaa sakot da > puet high_kha mai_ek mai_kaa sakot_da > puet -- medial_ra > medial_ra end lookup lookup liga_test o f f two > on high_pa mai_ki sakot da tham_2 > puet high_pa mai_ki uni25CC sakot da tham_2 > puet high_pa mai_ki sakot_da tham_2 > puet high_pa mai_ki uni25CC sakot_da tham_2 > puet high_kha mai_tho mai_kaa sakot da > puet high_kha mai_tho mai_kaa sakot_da > puet end lookup lookup clig_test o f f three > on high_pa mai_ki sakot da tham_3 > puet high_pa mai_ki uni25CC sakot da tham_3 > puet high_pa mai_ki sakot_da tham_3 > puet high_pa mai_ki uni25CC sakot_da tham_3 > puet high_kha mai_ko_nuea mai_ek mai_kaa sakot da > puet high_kha mai_ko_nuea mai_ek mai_kaa sakot_da > puet end lookup lookup blwf_test o f f four > on high_pa mai_ki sakot da tham_4 > puet high_pa mai_ki uni25CC sakot da tham_4 > puet high_pa mai_ki sakot_da tham_4 > puet high_pa mai_ki uni25CC sakot_da tham_4 > puet high_kha mai_kha_pe mai_kaa sakot da > puet high_kha mai_kha_pe mai_kaa sakot_da > puet end lookup lookup abvs_test o f f five > on high_pa mai_ki sakot da tham_5 > puet high_pa mai_ki uni25CC sakot da tham_5 > puet high_pa mai_ki sakot_da tham_5 > puet high_pa mai_ki uni25CC sakot_da tham_5 > puet high_kha mai_sam_khit mai_kaa sakot da > puet high_kha mai_sam_khit mai_kaa sakot_da > puet end lookup lookup blws_test o f f six > on high_pa mai_ki sakot da tham_6 > puet high_pa mai_ki uni25CC sakot da tham_6 > puet high_pa mai_ki sakot_da tham_6 > puet high_pa mai_ki uni25CC sakot_da tham_6 > puet high_kha mai_sam_khit mai_ek mai_kaa sakot da > puet high_kha mai_sam_khit mai_ek mai_kaa sakot_da > puet end lookup lookup psts_test -- Indic sequence will fail if not within syllable! o f f seven > on high_pa mai_ki sakot da tham_7 > puet high_pa mai_ki uni25CC sakot da tham_7 > puet high_pa mai_ki sakot_da tham_7 > puet high_pa mai_ki uni25CC sakot_da tham_7 > puet high_kha mai_sam_khit mai_tho mai_kaa sakot da > puet high_kha mai_sam_khit mai_tho mai_kaa sakot_da > puet end lookup lookup rlig_test o f f eight > on high_pa mai_ki sakot da tham_8 > puet high_pa mai_ki uni25CC sakot da tham_8 > puet high_pa mai_ki sakot_da tham_8 > puet high_pa mai_ki uni25CC sakot_da tham_8 > puet high_kha mai_sam_khit mai_ko_nuea mai_kaa sakot da > puet high_kha mai_sam_khit mai_ko_nuea mai_kaa sakot_da > puet end lookup lookup ss01_test o f f nine > on high_pa mai_ki sakot da tham_9 > puet high_pa mai_ki uni25CC sakot da tham_9 > puet high_pa mai_ki sakot_da tham_9 > puet high_pa mai_ki uni25CC sakot_da tham_9 > puet high_kha mai_sam_khit mai_kha_pe mai_kaa sakot da > puet high_kha mai_sam_khit mai_kha_pe mai_kaa sakot_da > puet end lookup lookup translit_c_1 low_pa sign_high_ratha 1 translit_ctxt_action ma1 sign_high_ratha 1 translit_ctxt_action ma2 sign_high_ratha 1 translit_ctxt_action end lookup lookup translit_a_1 sign_high_ratha > subscript_low_pa end lookup lookup translit_1 -- ss04 high_ka > k high_kxa > x low_ka > g low_kxa > uni0263 nga > eng high_ca > c low_ca > j low_sa > z nya > ntilde rata > T da > D rana > N high_ta > t low_ta > d na > n ba > uni0253 high_pa > p high_fa > f low_pa > b low_fa > v ma1 > m ma2 > m low_ya > y high_ya > uni0233 ra > r rue > rue.xl la > l lue > lue.xl wa > w high_ssa > S high_sa > s high_ha > h lla > L letter_a > uni0294 low_ha > H lao_low_ha > H letter_i > I letter_u > U letter_ee > E letter_oo > O sakot > slash mai_ka > raised_glottal mai_sat > a mai_ki > i mai_kue > uni026F mai_ku > u mai_kong > o mai_kang > uni2070 mai_ek > onesuperior mai_tho > twosuperior ra_haam > ra_haam.xl mai_sam > quotedbl karan > karan.xl cryptodot > period mai_kaa_luang > A mai_koa_below > uni0254 mai_sam_khit > uni2075 mai_ko_nuea > threesuperior mai_kha_pe > uni2074 oopra > ghost_ra medial_ra > ghost_ra ghost_ra > medial_ra.xl medial_la > medial_la.xl la_tang_lai > la_tang_lai.xl mai_kang_lai > mai_kang_lai.xl sign_nga > sign_nga.xl sign_low_pa > sign_low_pa.xl sign_high_ratha > sign_high_ratha.xl sign_ma > sign_ma.xl sign_ba > sign_ba.xl sign_sa > sign_sa.xl mai_kao > mai_kao.xl oope > ghost_ke mai_ke > ghost_ke ghost_ke > e oopae > ghost_ke mai_kae > ghost_ke ghost_kae > uni025B oopoo > ghost_ke mai_koo > ghost_ke oopai > ghost_ke mai_kai > ghost_ke oopaue > ghost_ke mai_kaue > ghost_ke end lookup lookup translit_m -- ss04 high_kha > k uni02B0 low_kha > g uni02B0 high_cha > c uni02B0 low_cha > j uni02B0 high_ratha > T uni02B0 kl_high_ratha > T uni02B0 low_ratha > D uni02B0 high_tha > t uni02B0 low_tha > d uni02B0 high_pha > p uni02B0 low_pha > b uni02B0 -- rue > r uni0329 -- lue > l uni0329 high_sha > s mai_sat lae > l E letter_ii > I uni0304 letter_uu > U uni0304 great_sa > s uni0361 s -- or germandbls mai_kaa > a uni0304 mai_kii > dotlessi uni0304 mai_kuu > u uni0304 mai_kuue > uni026F uni0304 mai_koi > uni0254 uni0361 dotlessi ghost_kai > a uni0361 dotlessi ghost_kaue > a uni0361 uni026F ghost_koo > o uni0304 hora_0 > zero superscript_P hora_1 > one superscript_P hora_2 > two superscript_P hora_3 > three superscript_P hora_4 > four superscript_P hora_5 > five superscript_P hora_6 > six superscript_P hora_7 > seven superscript_P hora_8 > eight superscript_P hora_9 > nine superscript_P tham_0 > zero superscript_T tham_1 > one superscript_T tham_2 > two superscript_T tham_3 > three superscript_T tham_4 > four superscript_T tham_5 > five superscript_T tham_6 > six superscript_T tham_7 > seven superscript_T tham_8 > eight superscript_T tham_9 > nine superscript_T sakot_high_ka > slash k sakot_high_kha > slash k uni02B0 sakot_high_kxa > slash x sakot_low_ka > slash g sakot_low_kxa > slash uni0263 sakot_low_kha > slash g uni02B0 sakot_nga > slash eng sakot_high_ca > slash c sakot_high_cha > slash c uni02B0 sakot_low_ca > slash j sakot_low_sa > slash z sakot_low_cha > slash j uni02B0 sakot_nya > slash ntilde sakot_rata > slash T sakot_high_ratha > slash T uni02B0 sakot_kl_high_ratha > slash T uni02B0 sakot_da > slash D sakot_low_ratha > slash D uni02B0 sakot_rana > slash N sakot_high_ta > slash t sakot_high_tha > slash t uni02B0 sakot_low_ta > slash d sakot_low_tha > slash d uni02B0 sakot_na > slash n sakot_ba > slash uni0253 sakot_high_pa > slash p sakot_high_pha > slash p uni02B0 sakot_high_fa > slash f sakot_low_pa > slash b sakot_low_pha > slash b uni02B0 sakot_low_fa > slash v sakot_ma > slash m sakot_low_ya > slash y sakot_high_ya > slash uni0233 sakot_ra > slash r sakot_la > slash l sakot_wa > slash w sakot_high_sha > slash s mai_sat sakot_high_ssa > slash S sakot_high_sa > slash s sakot_high_ha > slash h sakot_lla > slash L sakot_letter_a > slash uni0294 sakot_low_ha > slash H sakot_lao_low_ha > slash H sakot_letter_i > slash I sakot_letter_ii > slash I uni0304 sakot_letter_u > slash U sakot_letter_uu > slash U uni0304 sakot_letter_ee > slash E sakot_letter_oo > slash O sakot_lae > slash l E sakot_great_sa > slash s uni0361 s -- or slash germandbls end lookup lookup notranslit sakot_high_pa > sakot_ba end lookup lookup slkp32_0 -- Original uses format 2. i > dotlessi j > dotlessj end lookup -- Lookups to move preposed vowels and medial ra. -- It seems that Windows requires that a multiple substitution not be followed -- by any other invoked substitution! classification movepre empty movepre_0 class movepre_ke temp1 class movepre_kae temp2 class movepre_ko temp3 class movepre_kai temp4 class movepre_kaue temp5 class movepre_letter tg_letter class movepre_letter tg_other_base -- What of glyph grammar? class movepre_letter uni25CC class movepre_riser tg_rising_sign_subscript class movepre_riser tg_rising_subscript class movepre_inpra medial_ra -- Needed? class movepre_riser oopra class movepre_riser sakot_low_ya class movepre_riser sakot_ba class movepre_riser sakot_high_pa class movepre_vpre oope class movepre_vpre oopae class movepre_vpre oopoo class movepre_vpre oopai class movepre_vpre oopaue end classification lookup remember_preposed -- insert_after tg_vowel_before ghost_ke -- insert_after movepre_vpre ghost_ke insert_after mai_ke ghost_ke insert_after mai_kae ghost_kae insert_after mai_koo ghost_koo insert_after mai_kai ghost_kai insert_after mai_kaue ghost_kaue insert_after oope ghost_ke insert_after oopae ghost_kae insert_after oopoo ghost_koo insert_after oopai ghost_kai insert_after oopaue ghost_kaue insert_after medial_ra ghost_ra end lookup lookup tag_preposed_pt1 movepre_letter movepre_vpre, defer 1 tag_preposed_pt2 movepre_letter movepre_riser movepre_vpre 2 tag_preposed_pt2 movepre_letter movepre_riser movepre_riser movepre_vpre 3 tag_preposed_pt2 movepre_letter movepre_riser movepre_riser movepre_riser movepre_vpre 4 tag_preposed_pt2 end lookup lookup tag_preposed_pt2 oope > temp1 oopae > temp2 oopoo > temp3 oopai > temp4 oopaue > temp5 oopra > temp6 end lookup lookup move_preposed_pt1 movepre_letter movepre_ke 0 spawn_ke movepre_letter movepre_kae 0 spawn_kae movepre_letter movepre_ko 0 spawn_ko movepre_letter movepre_kai 0 spawn_kai movepre_letter movepre_kaue 0 spawn_kaue movepre_letter movepre_riser movepre_ke 0 spawn_ke movepre_letter movepre_riser movepre_kae 0 spawn_kae movepre_letter movepre_riser movepre_ko 0 spawn_ko movepre_letter movepre_riser movepre_kai 0 spawn_kai movepre_letter movepre_riser movepre_kaue 0 spawn_kaue movepre_letter movepre_riser movepre_riser movepre_ke 0 spawn_ke movepre_letter movepre_riser movepre_riser movepre_kae 0 spawn_kae movepre_letter movepre_riser movepre_riser movepre_ko 0 spawn_ko movepre_letter movepre_riser movepre_riser movepre_kai 0 spawn_kai movepre_letter movepre_riser movepre_riser movepre_kaue 0 spawn_kaue movepre_letter movepre_riser movepre_riser movepre_riser movepre_ke 0 spawn_ke movepre_letter movepre_riser movepre_riser movepre_riser movepre_kae 0 spawn_kae movepre_letter movepre_riser movepre_riser movepre_riser movepre_ko 0 spawn_ko movepre_letter movepre_riser movepre_riser movepre_riser movepre_kai 0 spawn_kai movepre_letter movepre_riser movepre_riser movepre_riser movepre_kaue 0 spawn_kaue -- movepre_inpra movepre_letter movepre_ke 0 spawn_ke movepre_inpra movepre_letter movepre_kae 0 spawn_kae movepre_inpra movepre_letter movepre_ko 0 spawn_ko movepre_inpra movepre_letter movepre_kai 0 spawn_kai movepre_inpra movepre_letter movepre_kaue 0 spawn_kaue movepre_inpra movepre_letter movepre_riser movepre_ke 0 spawn_ke movepre_inpra movepre_letter movepre_riser movepre_kae 0 spawn_kae movepre_inpra movepre_letter movepre_riser movepre_ko 0 spawn_ko movepre_inpra movepre_letter movepre_riser movepre_kai 0 spawn_kai movepre_inpra movepre_letter movepre_riser movepre_kaue 0 spawn_kaue movepre_inpra movepre_letter movepre_riser movepre_riser movepre_ke 0 spawn_ke movepre_inpra movepre_letter movepre_riser movepre_riser movepre_kae 0 spawn_kae movepre_inpra movepre_letter movepre_riser movepre_riser movepre_ko 0 spawn_ko movepre_inpra movepre_letter movepre_riser movepre_riser movepre_kai 0 spawn_kai movepre_inpra movepre_letter movepre_riser movepre_riser movepre_kaue 0 spawn_kaue movepre_inpra movepre_letter movepre_riser movepre_riser movepre_riser movepre_ke 0 spawn_ke movepre_inpra movepre_letter movepre_riser movepre_riser movepre_riser movepre_kae 0 spawn_kae movepre_inpra movepre_letter movepre_riser movepre_riser movepre_riser movepre_ko 0 spawn_ko movepre_inpra movepre_letter movepre_riser movepre_riser movepre_riser movepre_kai 0 spawn_kai movepre_inpra movepre_letter movepre_riser movepre_riser movepre_riser movepre_kaue 0 spawn_kaue end lookup classification movera empty movera_0 class movera_ra temp6 class movera_letter tg_letter class movera_letter tg_other_base -- What of glyph grammar? class movera_letter uni25CC class movera_riser tg_rising_sign_subscript class movera_riser tg_rising_subscript class movera_riser sakot_low_ya class movera_riser sakot_ba class movera_riser sakot_high_pa class movera_sign_ra oopra end classification lookup tag_preposed_pt3 movera_letter movera_sign_ra, defer 1 tag_preposed_pt2 movera_letter movera_riser movera_sign_ra 2 tag_preposed_pt2 movera_letter movera_riser movera_riser movera_sign_ra 3 tag_preposed_pt2 movera_letter movera_riser movera_riser movera_riser movera_sign_ra 4 tag_preposed_pt2 end lookup lookup move_preposed_pt2 movera_letter movera_ra 0 spawn_ra movera_letter movera_riser movera_ra 0 spawn_ra movera_letter movera_riser movera_riser movera_ra 0 spawn_ra movera_letter movera_riser movera_riser movera_riser movera_ra 0 spawn_ra end lookup lookup spawn_ra insert_before medial_ra movera_letter end lookup lookup spawn_ke insert_before mai_ke movepre_letter insert_before mai_ke movepre_inpra end lookup lookup spawn_kae insert_before mai_kae movepre_letter insert_before mai_kae movepre_inpra end lookup lookup spawn_ko insert_before mai_koo movepre_letter insert_before mai_koo movepre_inpra end lookup lookup spawn_kai insert_before mai_kai movepre_letter insert_before mai_kai movepre_inpra end lookup lookup spawn_kaue insert_before mai_kaue movepre_letter insert_before mai_kaue movepre_inpra end lookup lookup mai_kam_split insert_after am_letter mai_kang end lookup lookup cleanup_preposed_pt1 delete-after any temp1 delete-after any temp2 delete-after any temp3 delete-after any temp4 delete-after any temp5 oope > mai_ke oopae > mai_kae oopoo > mai_koo oopai > mai_kai oopaue > mai_kaue end lookup lookup cleanup_preposed_pt2 delete-after any temp6 oopra > medial_ra end lookup -- End of lookups to move preposed vowels. classification stacked_sakot empty skt_0 class skt_vocoid tg_ghost_ke class skt_vocoid tg_vowel_above class skt_vocoid tg_vowel_after -- Review! class skt_vocoid tg_vowel_below class skt_vocoid tg_tone -- class skt_vocoid high_ha -- WRONG! Merely a way to extend testing. class skt_sub tg_compact_sign_subscript class skt_sub tg_rising_sign_subscript class skt_sub tg_sakot class skt_sub tg_compact_subscript class skt_sub tg_rising_subscript class skt_sub tg_sakot_ba class skt_sub tg_sakot_low_ya end classification GPOS script DFLT language default -- New features: mark_all mkmk_lana end language end script script latn language default -- DejaVuSans features mark_3 -- mkmk_7 -- lookup transferred to mkmk_lana mkmk_lana -- Supporting fake Lanna options ss03_lana end language end script feature mark_3 serimark end feature lookup serimark type mark2base subtable serimark_1 end lookup -- Entirely new bits script lana language default mark_all mkmk_lana ss03_lana ss04_posn end language end script feature mark_all -- Remember to copy to mark_3! tham_mark -- tham_mark_2 -- Experimental lookups to determined the effect of -- tham_mark_3 -- the ordering of mark2base lookups. -- tham_mark_u -- up and uup 'ligatures' by GPOS. Alt to lower_u. -- tham_mark_4 -- For ligatures - presently experimental. -- Disabled for m17n. tham_mark_uy -- for uy and uuy. end feature feature ss04_posn serimark end feature feature mark_3 includes mark_all feature mkmk_lana tham_mkmk_above tham_mkmk_below tham_mkmk_special_above end feature feature ss03_lana start_left_trigger side_by_side_below end feature lookup tham_mark_2 type mark2base subtable tham_mark_2 end lookup lookup tham_mark type mark2base subtable tham_mark_1 end lookup lookup tham_mark_3 type mark2base subtable tham_mark_3 end lookup lookup tham_mark_4 type mark2ligature subtable tham_mark_4 end lookup lookup tham_mark_u type chained skipexcept below subtable tham_mark_u_pt1 end lookup lookup tham_mark_u_pt2 type mark2base subtable tham_mark_u_pt2 end lookup lookup tham_mark_u_pt3 type mark2ligature subtable tham_mark_u_pt3 end lookup lookup start_left_trigger -- mark type context skipexcept below subtable start_left_trigger end lookup lookup start_left_action -- invoked by start_left_trigger type mark2base skipexcept below subtable start_left_action end lookup lookup tham_mark_uy type chained -- context not yet supported! skipexcept below subtable tham_mark_uy_trigger end lookup lookup tham_mark_uy_action type mark2base subtable tham_mark_uy_action end lookup lookup tham_mkmk_above type mark2mark skipexcept above subtable tham_mkmk_tone_above subtable tham_mkmk_tone_beside subtable tham_mkmk_base_below subtable tham_mkmk_sidebyside end lookup lookup tham_mkmk_below type mark2mark skipexcept below subtable tham_mkmk_below end lookup lookup tham_mkmk_special_above type mark2mark skipexcept above subtable tham_mkmk_special_above end lookup lookup side_by_side_below -- ss03 type mark2mark skipexcept below subtable side_by_side_below end lookup end GPOS --aw=204: uni200A --aw=409: uni2009 --aw=651: space, space_nb, uni2008 --aw=464: exclam, apostrophe, colon, semicolon, bar --aw=648: quotedbl, parenleft, parenright, bracketleft, bracketright, l, -- braceleft, braceright, uni2016 --aw=1400: dollar --aw=747: hyphen --aw=880: bullet --aw=1696: at --aw=1400: uni2007 --aw=664: grave --aw=1212,ymax=1556: b, d, h, uni0253 --aw=1212,ymax=1554: question, uni0294 --aw=1212, ymax=1493: f, k, uni2215 --aw=1212, ymax=1504: uni0233 --aw=1212, ymax=1872: ntilde --aw=1012, ymax=1493: t --aw=1032: uni25FB, uni25FC --aw=840: uni25FD, uni25FE --aw=1332: w --aw=880: degree --aw=1024: endash --aw=2048: emdash --aw=1584: grammar --Deferred: onesuperior, twosuperior, threesuperior, uni2074, uni2075 -- uni02B0 -- ZWNJ, ZWJ, LTRM, RTLM coverage u_shape is u coverage u_shape also numbersign coverage u_shape also percent coverage u_shape also asterisk.seri coverage u_shape also plus coverage u_shape also slash coverage u_shape also less coverage u_shape also equals coverage u_shape also greater coverage u_shape also backslash coverage u_shape also asciicircum coverage u_shape also underscore coverage u_shape also a coverage u_shape also c coverage u_shape also e coverage u_shape also g coverage u_shape also m coverage u_shape also n coverage u_shape also o coverage u_shape also p coverage u_shape also q coverage u_shape also r coverage u_shape also s coverage u_shape also v coverage u_shape also x coverage u_shape also y coverage u_shape also z coverage u_shape also asciitilde coverage u_shape also currency coverage u_shape also logicalnot coverage u_shape also multiply coverage u_shape also eng coverage u_shape also uni0254 coverage u_shape also uni025B coverage u_shape also uni0263 coverage u_shape also uni026F coverage u_shape also uni25CC coverage T_shape is T -- aw=1400,ymax=1493 coverage T_shape also A coverage T_shape also B coverage T_shape also C coverage T_shape also D coverage T_shape also E coverage T_shape also F coverage T_shape also G coverage T_shape also H coverage T_shape also I coverage T_shape also J coverage T_shape also K coverage T_shape also L coverage T_shape also M coverage T_shape also N coverage T_shape also O coverage T_shape also P coverage T_shape also Q coverage T_shape also R coverage T_shape also S coverage T_shape also U coverage T_shape also V coverage T_shape also W coverage T_shape also X coverage T_shape also Y coverage T_shape also Z coverage T_shape also ampersand coverage T_shape also zero coverage T_shape also one coverage T_shape also two coverage T_shape also three coverage T_shape also four coverage T_shape also five coverage T_shape also six coverage T_shape also seven coverage T_shape also eight coverage T_shape also nine coverage T_shape also section coverage T_shape also paragraph coverage i_shape is i coverage i_shape also j coverage i_shape also dotlessi coverage i_shape also dotlessj coverage i_shape also comma coverage i_shape also period coverage i_shape also periodcentered lookup serimark_1 mark on_top uni0304 x -555 y 1320 base u_shape attach on_top x 657 y 1320 base T_shape attach on_top x 750 y 1600 base i_shape attach on_top x 282 y 1320 end lookup -- Experimental/new GPOS lookup subtables -- Lookups tham_mark_2 and tham_mark_3 demonstrate that the last -- look up applying base to mark wins, at least in Harfbuzz as in -- LibreOffice 4.3.3.2. lookup tham_mark_2 mark tham_below mai_ku x -555 y -200 -- Nom. mid x, bottom y base high_ka attach tham_below x 300 y -200 -- low x, bottom y - 200 end lookup lookup tham_mark_3 mark tham_below mai_kuu x -555 y -200 base high_ka attach tham_below x 300 y -200 -- low x, bottom y - 200 end lookup coverage high_ka_shaped is high_ka coverage high_ka_shaped also low_kha coverage high_ka_shaped also nya_shallow coverage high_ka_shaped also nya_deep coverage high_ka_shaped also nya_nya coverage high_ka_shaped also rana coverage high_ka_shaped also high_ta coverage high_ka_shaped also low_pa coverage high_ka_shaped also low_pha coverage high_ka_shaped also low_ya coverage high_ka_shaped also la coverage high_ka_shaped also high_ha coverage high_ka_shaped also lae coverage high_ka_shaped also great_sa coverage low_ka_shaped is low_ka coverage low_ka_shaped also nga coverage low_ka_shaped also high_ca coverage low_ka_shaped also high_cha coverage low_ka_shaped also low_ca coverage low_ka_shaped also rata coverage low_ka_shaped also high_tha coverage low_ka_shaped also low_ta coverage low_ka_shaped also low_tha coverage low_ka_shaped also na coverage low_ka_shaped also naa coverage low_ka_shaped also ba coverage low_ka_shaped also high_pha coverage low_ka_shaped also ma1 coverage low_ka_shaped also ma2 coverage low_ka_shaped also ra coverage low_ka_shaped also wa coverage low_ka_shaped also high_sha coverage low_ka_shaped also high_ssa coverage low_ka_shaped also high_sa coverage low_ka_shaped also letter_a coverage low_ka_shaped also mai_ka coverage low_ka_shaped also mai_kaa coverage low_ka_shaped also multiply coverage low_ka_shaped also s coverage mai_koi_shaped is mai_koi coverage sakot_low_cha_shaped is sakot_low_cha coverage sakot_nya_shaped is sakot_nya coverage sakot_high_pha_shaped is sakot_high_pha coverage sakot_la_thin_shaped is sakot_la_thin coverage sakot_letter_ii_shaped is sakot_letter_ii coverage sakot_lae_shaped is sakot_lae coverage sakot_la_shaped is sakot_low_kha coverage sakot_la_shaped also la_tang_lai coverage sakot_la_shaped also sakot_la coverage sakot_ba_shaped is sakot_ba coverage sakot_ba_shaped also sakot_high_fa coverage sakot_ya_shaped is sakot_low_ya coverage sakot_ya_shaped also sakot_high_ya coverage sakot_high_sa_shaped is sakot_high_ssa coverage sakot_high_sa_shaped also sakot_high_sa lookup tham_mark_1 mark tham_above mai_sat x -555 y 1300 -- Mid x, bottom y mark tham_above mai_sat_ek x -555 y 1300 mark tham_above mai_sat_ek_tho x -555 y 1300 mark tham_above mai_sat_2lem x -555 y 1300 mark tham_above mai_sat_3lem x -555 y 1300 mark tham_above mai_kong x -555 y 1300 mark tham_above mai_ki x -555 y 1300 mark tham_above mai_kii x -555 y 1300 mark tham_above mai_kue x -555 y 1300 mark tham_above mai_kuue x -555 y 1300 mark tham_above mai_ek x -555 y 1300 mark tham_above mai_tho x -555 y 1300 mark tham_above mai_ko_nuea x -555 y 1300 mark tham_above mai_kha_pe x -555 y 1300 mark tham_above mai_sam_khit x -555 y 1300 mark tham_above mai_tri x -555 y 1300 mark tham_above mai_kao x -555 y 1300 mark tham_above mai_kang x -555 y 1300 mark tham_above compact_mai_kang_lai x -555 y 1300 mark tham_above mai_kang_lai x -555 y 1300 mark tham_above ra_haam x -555 y 1300 mark tham_above mai_sam x -555 y 1300 mark tham_above karan x -555 y 1300 mark tham_above sign_nga x -555 y 1300 mark tham_above sign_low_pa x -905 y 1300 -- Calculated positions. It seems that rounding error stops these joining -- properly. mark tham_clip sign_high_ratha_host x -88 y 0 -- top right mark tham_clip sign_high_ratha_nohost x -88 y 0 -- top right mark tham_clip sign_narrow_low_pa_below x -88 y 0 -- top right mark tham_clip sign_low_pa_below_host x -88 y 0 -- top right mark tham_clip sign_low_pa_below_nohost x -88 y 0 -- top right mark tham_clip sign_lao_low_pa x -88 y 0 -- top right mark tham_below cryptodot x -555 y -200 mark tham_below mai_ku x -555 y -200 -- Nom. mid x, bottom y mark tham_below mai_kuu x -555 y -200 mark tham_below mai_koa_below x -555 y -200 mark tham_below medial_la x -555 y -200 -- Mid x, bottom y mark tham_below medial_la_uncramped x -555 y -200 mark tham_below sign_ma x -555 y -200 mark tham_below sign_ba x -555 y -200 mark tham_below sign_sa x -555 y -200 mark tham_below sakot x -555 y -200 mark tham_below sakot_high_ka x -555 y -200 mark tham_below sakot_high_ka_uncramped x -555 y -200 mark tham_below sakot_high_kha x -555 y -200 mark tham_below sakot_high_kxa x -555 y -200 mark tham_below sakot_low_ka x -555 y -200 mark tham_below sakot_low_kxa x -555 y -200 mark tham_below sakot_nga x -555 y -200 mark tham_below sakot_high_ca x -555 y -200 mark tham_below sakot_high_cha x -555 y -200 mark tham_below sakot_low_ca x -555 y -200 mark tham_below sakot_low_sa x -555 y -200 mark tham_below sakot_rata x -555 y -200 mark tham_below sakot_rata_ratha x -555 y -200 mark tham_below sakot_high_ratha x -555 y -200 mark tham_below sakot_kl_high_ratha x -555 y -200 mark tham_below sakot_da x -555 y -200 mark tham_below sakot_low_ratha x -555 y -200 mark tham_below sakot_rana x -555 y -200 mark tham_below sakot_rana_uncramped x -555 y -200 mark tham_below sakot_high_ta x -555 y -200 mark tham_below sakot_high_ta_uncramped x -555 y -200 mark tham_below sakot_high_tha x -555 y -200 mark tham_below sakot_low_ta x -555 y -200 mark tham_below sakot_low_tha x -555 y -200 mark tham_below sakot_na x -555 y -200 mark tham_below sakot_low_pa x -555 y -200 mark tham_below sakot_low_pa_uncramped x -555 y -200 mark tham_below sakot_low_fa x -555 y -200 mark tham_below sakot_low_pha x -555 y -200 mark tham_below sakot_low_pha_uncramped x -555 y -200 mark tham_below sakot_ma x -555 y -200 mark tham_below sakot_ra x -555 y -200 mark tham_below sakot_lao_low_ha x -555 y -200 mark tham_below sakot_wa x -555 y -200 mark tham_below sakot_wa_small x -555 y -916 mark tham_below sakot_high_sha x -555 y -200 mark tham_below sakot_high_ha x -555 y -200 mark tham_below sakot_high_ha_uncramped x -555 y -200 mark tham_below sakot_lla x -555 y -200 mark tham_below sakot_letter_a x -555 y -200 mark tham_below sakot_low_ha x -555 y -200 mark tham_below sakot_low_ha_uncramped x -555 y -200 mark tham_below sakot_letter_i x -555 y -200 mark tham_below sakot_letter_u x -555 y -200 mark tham_below sakot_letter_uu x -555 y -200 mark tham_below sakot_letter_ee x -555 y -200 mark tham_below sakot_letter_oo x -555 y -200 mark tham_below sakot_great_sa_narrow x -555 y -200 mark tham_below sakot_great_sa_uncramped x -555 y -200 mark tham_below mai_koa_below_wide x -905 y -200 mark tham_below medial_la_wide x -905 y -200 mark tham_below sakot_high_ka_wide x -905 y -200 mark tham_below sakot_rana_wide x -905 y -200 mark tham_below sakot_high_ta_wide x -905 y -200 mark tham_below sakot_low_pa_wide x -905 y -200 mark tham_below sakot_low_fa_wide x -905 y -200 mark tham_below sakot_low_pha_wide x -905 y -200 mark tham_below sakot_high_ha_wide x -905 y -200 mark tham_below sakot_low_ha_wide x -905 y -200 mark tham_below sakot_great_sa_wide x -905 y -200 mark tham_horn antler x 190 y 1300 mark tham_above mai_kang_lai_ghost x 0 y 0 -- Just a demonstrator base high_ka_shaped attach tham_above x 1005 y 1300 -- Mid x, top y + 180 attach tham_below x 1005 y -200 -- Mid x, bottom y - 200 attach tham_clip x 1820 y 0 -- bottom right attach tham_horn x 190 y 1300 -- Left x, top y + 180 base high_kha attach tham_above x 657 y 1300 -- Mid x, top y (less tail) + 180 attach tham_below x 657 y -400 -- Mid x, bottom y - 400 attach tham_clip x 1124 y 0 -- bottom right attach tham_horn x 190 y 1300 -- Left x, top y + 180 base high_kxa attach tham_above x 957 y 1300 -- Mid x + 300, top y (less tail) + 180 attach tham_below x 657 y -400 -- Mid x, bottom y - 400 attach tham_clip x 1124 y 0 -- bottom right attach tham_horn x 558 y 1300 -- Left x + 368, top y + 180 base low_ka_shaped attach tham_above x 657 y 1300 -- Mid x, top y + 180 attach tham_below x 657 y -200 -- Mid x, bottom y - 200 attach tham_clip x 1124 y 0 -- bottom right attach tham_horn x 190 y 1300 -- Left x, top y + 180 base low_kxa attach tham_above x 957 y 1300 -- Mid x + 300, top y (less tail) + 180 attach tham_below x 657 y -200 -- Mid x, bottom y - 200 attach tham_clip x 1124 y 0 -- bottom right attach tham_horn x 558 y 1300 -- Left x + 368, top y + 180 -- base low_kha -- attach tham_above x 1005 y 1300 -- Mid x, top y + 180 -- attach tham_below x 1005 y -200 -- Mid x, bottom y - 200 -- attach tham_clip x 1820 y 0 -- bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base nga -- attach tham_above x 657 y 1300 -- Mid x, top y + 180 -- attach tham_below x 657 y -200 -- Mid x, bottom y - 200 -- attach tham_clip x 1124 y 0 -- bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base high_ca -- attach tham_above x 657 y 1300 -- Mid x, top y + 180 -- attach tham_below x 657 y -200 -- Mid x, bottom y - 200 -- attach tham_clip x 1124 y 0 -- bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base high_cha -- attach tham_above x 657 y 1300 -- Mid x, top y + 180 -- attach tham_below x 657 y -200 -- Mid x, bottom y - 200 -- attach tham_clip x 1124 y 0 -- bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base low_ca -- attach tham_above x 657 y 1300 -- Mid x, top y + 180 -- attach tham_below x 657 y -200 -- Mid x, bottom y - 200 -- attach tham_clip x 1124 y 0 -- bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 base low_sa attach tham_above x 957 y 1300 -- Mid x + 300, top y + 180 attach tham_below x 657 y -200 -- Mid x, bottom y - 200 attach tham_clip x 1124 y 0 -- bottom right attach tham_horn x 558 y 1300 -- Left x + 368, top y + 180 base low_cha attach tham_above x 988 y 1300 -- Mid x, top y + 180 attach tham_below x 988 y -952 -- Mid x, bottom y - 200 attach tham_clip x 1586 y 0 -- bottom right attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base nya_shallow -- attach tham_above x 1005 y 1300 -- Mid x, top y + 180 -- attach tham_below x 1005 y -200 -- Mid x, core bottom y - 200 -- attach tham_clip x 1820 y 0 -- bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base nya_deep -- attach tham_above x 1005 y 1300 -- Mid x, top y + 180 -- attach tham_below x 1005 y -200 -- Mid x, core bottom y - 200 -- attach tham_clip x 1820 y 0 -- bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base nya_nya -- attach tham_above x 1005 y 1300 -- Mid x, top y + 180 -- attach tham_below x 1005 y -200 -- Mid x, core bottom y - 200 -- attach tham_clip x 1820 y 0 -- bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base rata -- attach tham_above x 657 y 1300 -- Mid x, top y + 180 -- attach tham_below x 657 y -200 -- Mid x, bottom y - 200 -- attach tham_clip x 1124 y 0 -- bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 base high_rattha attach tham_above x 657 y 1300 -- Mid x, top y + 180 attach tham_below x 657 y -1320 -- Mid x, bottom y - 200 attach tham_clip x 1124 y -1120 -- Bottom right attach tham_horn x 190 y 1300 -- Left x, top y + 180 base high_ratha_host attach tham_above x 657 y 1300 -- Mid x, top y + 180 attach tham_below x 657 y -1704 -- Mid x, bottom y - 200 attach tham_clip x 1124 y -1504 -- bottom right attach tham_horn x 190 y 1300 -- Left x, top y + 180 base high_ratha_nohost attach tham_above x 657 y 1300 -- Mid x, top y + 180 attach tham_below x 657 y -1320 -- Mid x, bottom y - 200 attach tham_clip x 1124 y -1120 -- Bottom right attach tham_horn x 190 y 1300 -- Left x, top y + 180 base kl_high_ratha_nohost attach tham_above x 657 y 1300 -- Mid x, top y + 180 attach tham_below x 657 y -1320 -- Mid x, bottom y - 200 attach tham_clip x 1124 y -1120 -- Bottom right attach tham_horn x 190 y 1300 -- Left x, top y + 180 base da attach tham_above x 657 y 1300 -- Mid x, top y + 180 attach tham_below x 657 y -584 -- Mid x, bottom y - 200 attach tham_clip x 1124 y 0 -- Bottom right attach tham_horn x 190 y 1300 -- Left x, top y + 180 base low_ratha attach tham_above x 857 y 1300 -- Mid x, top y + 180 attach tham_below x 857 y -200 -- Mid x, bottom y - 200 attach tham_clip x 1524 y 0 -- Bottom right attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base rana -- attach tham_above x 1005 y 1300 -- Mid x, top y + 180 -- attach tham_below x 1005 y -200 -- Mid x, core bottom y - 200 -- attach tham_clip x 1820 y 0 -- Bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base high_ta -- attach tham_above x 1005 y 1300 -- Mid x, top y + 180 -- attach tham_below x 1005 y -200 -- Mid x, core bottom y - 200 -- attach tham_clip x 1820 y 0 -- Bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 base lao_high_ttha_nohost attach tham_above x 657 y 1300 -- Mid x, top y + 180 attach tham_below x 657 y -1704 -- Mid x, bottom y - 200 attach tham_clip x 1124 y -1504 -- bottom right attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base high_tha -- attach tham_above x 657 y 1300 -- Mid x, top y + 180 -- attach tham_below x 657 y -200 -- Mid x, bottom y - 200 -- attach tham_clip x 1124 y 0 -- Bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base low_ta -- attach tham_above x 657 y 1300 -- Mid x, top y + 180 -- attach tham_below x 657 y -200 -- Mid x, bottom y - 200 -- attach tham_clip x 1124 y 0 -- Bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base low_tha -- attach tham_above x 657 y 1300 -- Mid x, top y + 180 -- attach tham_below x 657 y -200 -- Mid x, bottom y - 200 -- attach tham_clip x 1124 y 0 -- Bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base na -- attach tham_above x 657 y 1300 -- Mid x, top y + 180 -- attach tham_below x 657 y -200 -- Mid x, bottom y - 200 -- attach tham_clip x 1124 y 0 -- Bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base naa -- attach tham_above x 657 y 1300 -- Mid x, top y + 180 -- attach tham_below x 657 y -200 -- Mid x, bottom y - 200 -- attach tham_clip x 1124 y 0 -- Bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base ba -- attach tham_above x 657 y 1300 -- Mid x, top y + 180 -- attach tham_below x 657 y -200 -- Mid x, bottom y - 200 -- attach tham_clip x 1124 y 0 -- Bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 base high_pa attach tham_above x 482 y 1300 -- Mid x - 175, top y + 180 attach tham_below x 657 y -200 -- Mid x, bottom y - 200 attach tham_clip x 1124 y 0 -- Bottom right attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base high_pha -- attach tham_above x 657 y 1300 -- Mid x, top y + 180 -- attach tham_below x 657 y -200 -- Mid x, bottom y - 200 -- attach tham_clip x 1124 y 0 -- Bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 base high_fa attach tham_above x 957 y 1300 -- Mid x + 300, top body y + 100 attach tham_below x 657 y -200 -- Mid x, bottom y - 200 attach tham_clip x 1124 y 0 -- Bottom right attach tham_horn x 558 y 1300 -- Left x + 368, top y + 180 -- base low_pa -- attach tham_above x 1005 y 1300 -- Mid x, top y + 180 -- attach tham_below x 1005 y -200 -- Mid x, core bottom y - 200 -- attach tham_clip x 1820 y 0 -- Bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 base low_ppa attach tham_above x 1005 y 1300 -- Mid x, top y + 180 attach tham_below x 1005 y -1320 -- Mid x, core bottom y - 200 attach tham_clip x 1820 y -1120 -- Bottom right attach tham_horn x 190 y 1300 -- Left x, top y + 180 base lao_low_ppa attach tham_above x 1005 y 1300 -- Mid x, top y + 180 attach tham_below x 1005 y -1320 -- Mid x, core bottom y - 200 attach tham_clip x 1820 y -1120 -- Bottom right attach tham_horn x 190 y 1300 -- Left x, top y + 180 base low_fa attach tham_above x 1205 y 1300 -- Mid x + 200, top y + 180 attach tham_below x 1005 y -200 -- Mid x, core bottom y - 200 attach tham_clip x 1820 y 0 -- Bottom right attach tham_horn x 558 y 1300 -- Left x + 368, top y + 180 -- base low_pha -- attach tham_above x 1005 y 1300 -- Mid x, top y + 180 -- attach tham_below x 1005 y -200 -- Mid x, core bottom y - 200 -- attach tham_clip x 1820 y 0 -- Bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base ma1 -- attach tham_above x 657 y 1300 -- Mid x, top y + 180 -- attach tham_below x 657 y -200 -- Mid x, bottom y - 200 -- attach tham_clip x 1124 y 0 -- Bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base ma2 -- attach tham_above x 657 y 1300 -- Mid x, top y + 180 -- attach tham_below x 657 y -200 -- Mid x, bottom y - 200 -- attach tham_clip x 1124 y 0 -- Bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 base low_mpa_nohost attach tham_above x 707 y 1300 -- Mid x, top y + 180 attach tham_below x 695 y -200 -- Mid x, bottom y - 200 attach tham_clip x 1200 y -1120 -- Bottom right attach tham_horn x 190 y 1300 -- Left x, top y + 180 base lao_low_mpa_nohost attach tham_above x 707 y 1300 -- Mid x, top y + 180 attach tham_below x 695 y -200 -- Mid x, bottom y - 200 attach tham_clip x 1200 y -1120 -- Bottom right attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base low_ya -- attach tham_above x 1005 y 1300 -- Mid x, top y + 180 -- attach tham_below x 1005 y -200 -- Mid x, core bottom y - 200 -- attach tham_clip x 1820 y 0 -- Bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 base high_ya attach tham_above x 482 y 1300 -- Mid x - 175, top y + 180 attach tham_below x 657 y -200 -- Mid x, bottom y - 200 attach tham_clip x 1124 y 0 -- Bottom right attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base ra -- attach tham_above x 657 y 1300 -- Mid x, top y + 180 -- attach tham_below x 657 y -200 -- Mid x, bottom y - 200 -- attach tham_clip x 1124 y 0 -- Bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 base lao_low_ha attach tham_above x 657 y 1300 -- Mid x, top y + 180 attach tham_below x 657 y -200 -- Mid x, bottom y - 200 attach tham_clip x 1124 y 0 -- Bottom right attach tham_horn x 190 y 1300 -- Left x, top y + 180 base rue attach tham_above x 657 y 1300 -- Mid x, top y + 180 attach tham_below x 657 y -1320 -- Mid x, core bottom y - 200 attach tham_clip x 1124 y -1120 -- Bottom right attach tham_horn x 190 y 1300 -- Left x, top y + 180 base lue attach tham_above x 657 y 1300 -- Mid x, top y + 180 attach tham_below x 657 y -1320 -- Mid x, core bottom y - 200 attach tham_clip x 1124 y -1120 -- Bottom right attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base la -- attach tham_above x 1005 y 1300 -- Mid x, top y + 180 -- attach tham_below x 1005 y -200 -- Mid x, core bottom y - 200 -- attach tham_clip x 1820 y 0 -- Bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base wa -- attach tham_above x 657 y 1300 -- Mid x, top y + 180 -- attach tham_below x 657 y -200 -- Mid x, bottom y - 200 -- attach tham_clip x 1124 y 0 -- Bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base high_sha -- attach tham_above x 657 y 1300 -- Mid x, top y + 180 -- attach tham_below x 657 y -200 -- Mid x, bottom y - 200 -- attach tham_clip x 1124 y 0 -- Bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base high_ssa -- attach tham_above x 657 y 1300 -- Mid x, top y + 180 -- attach tham_below x 657 y -200 -- Mid x, bottom y - 200 -- attach tham_clip x 1124 y 0 -- Bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base high_sa -- attach tham_above x 657 y 1300 -- Mid x, top y + 180 -- attach tham_below x 657 y -200 -- Mid x, bottom y - 200 -- attach tham_clip x 1124 y 0 -- Bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base high_ha -- attach tham_above x 1005 y 1300 -- Mid x, top y + 180 -- attach tham_below x 1005 y -200 -- Mid x, core bottom y - 200 -- attach tham_clip x 1820 y 0 -- Bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 base lla attach tham_above x 657 y 1300 -- Mid x, top y + 180 attach tham_below x 657 y -1320 -- Mid x, core bottom y - 200 attach tham_clip x 1124 y -1120 -- Bottom right attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base letter_a -- attach tham_above x 657 y 1300 -- Mid x, top y + 180 -- attach tham_below x 657 y -200 -- Mid x, bottom y - 200 -- attach tham_clip x 1124 y 0 -- Bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 base low_ha attach tham_above x 1005 y 1300 -- Mid x, top y + 180 attach tham_below x 1005 y -1320 -- Mid x, bottom y - 200 attach tham_clip x 1820 y -1120 -- Bottom right attach tham_horn x 190 y 1300 -- Left x, top y + 180 base letter_i attach tham_above x 1005 y 1300 -- Mid body x, top y + 180 attach tham_below x 1005 y -1320 -- Mid x, bottom y - 200 attach tham_clip x 1465 y -1120 -- Bottom right - bad! attach tham_horn x 190 y 1300 -- Left x, top y + 180 base letter_ii attach tham_above x 1005 y 1300 -- Copy letter_i attach tham_below x 1005 y -1320 attach tham_clip x 1465 y -1120 -- Bottom right attach tham_horn x 190 y 1300 -- Left x, top y + 180 base letter_u attach tham_above x 657 y 1300 -- Mid x, top y + 180 attach tham_below x 957 y -200 -- Mid x + 300, bottom y - 200 attach tham_clip x 1124 y -1020 -- Bottom right attach tham_horn x 190 y 1300 -- Left x, top y + 180 base letter_uu attach tham_above x 957 y 1300 -- Mid x + 300, top y + 180 attach tham_below x 957 y -200 -- Mid x + 300, bottom y - 200 attach tham_clip x 1124 y -1020 -- Bottom right attach tham_horn x 558 y 1300 -- Left x + 368, top y + 180 base letter_ee attach tham_above x 374 y 1300 -- Mid x, top y + 180 attach tham_below x 657 y -200 -- Mid x, bottom y - 200 attach tham_clip x 1124 y -200 -- Bottom right, but overlap -- to shorten drop attach tham_horn x 190 y 1300 -- Left x, top y + 180 base letter_oo attach tham_above x 1121 y 1300 -- Mid body x, top y + 180 attach tham_below x 889 y -200 -- Mid x, bottom y - 200 attach tham_clip x 1588 y 0 -- Bottom right attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base lae -- attach tham_above x 1005 y 1300 -- Mid x, top y + 180 -- attach tham_below x 1005 y -200 -- Mid x, core bottom y - 200 -- attach tham_clip x 1820 y 0 -- Bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base great_sa -- attach tham_above x 1005 y 1300 -- Mid x, top y + 180 -- attach tham_below x 1005 y -200 -- Mid x, core bottom y - 200 -- attach tham_clip x 1820 y 0 -- Bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base mai_ka -- attach tham_above x 657 y 1300 -- Mid x, top y + 180 -- attach tham_below x 657 y -200 -- Mid x, bottom y - 200 -- attach tham_clip x 1124 y 0 -- Bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 -- base mai_kaa -- attach tham_above x 657 y 1300 -- Mid x, top y + 180 -- attach tham_below x 657 y -200 -- Mid x, bottom y - 200 -- attach tham_clip x 1124 y 0 -- Bottom right -- attach tham_horn x 190 y 1300 -- Left x, top y + 180 base mai_kaa_luang -- Need a lot more work! attach tham_above x 0 y 1700 attach tham_below x 0 y -200 attach tham_clip x 374 y 0 -- Bottom right attach tham_horn x 190 y 1300 -- Left x, top y + 180 base mai_koi_shaped attach tham_above x 0 y 1700 -- Shouldn't be any! attach tham_below x -137 y -1320 -- Mid x, bottom y - 200 attach tham_clip x 375 y -1120 -- Bottom right attach tham_horn x 0 y 1700 -- Shouldn't be any! -- base sakot_low_kha -- attach tham_above x -82 y 1300 -- Right x - 456, top y + 180 -- attach tham_below x -296 y -1320 -- Mid x, bottom y - 200 -- attach tham_clip x 374 y -1120 -- Bottom right -- attach tham_horn x -560 y 1300 -- Right x - 934, top y + 180 base sakot_low_cha_shaped attach tham_above x -82 y 1300 -- Right x - 456, top y + 180 attach tham_below x -262 y -1320 -- Mid x, bottom y - 200 attach tham_clip x -132 y -1120 -- Bottom right attach tham_horn x -560 y 1300 -- Right x - 934, top y + 180 base sakot_nya_shaped attach tham_above x -82 y 1300 -- Right x - 456, top y + 180 attach tham_below x -262 y -1320 -- Mid x, bottom y - 200 attach tham_clip x 374 y -1504 -- Bottom right attach tham_horn x -560 y 1300 -- Right x - 934, top y + 180 base sakot_ba_shaped attach tham_above x -82 y 1300 -- Right x - 456, top y + 180 attach tham_below x -282 y -952 -- Mid x, bottom y - 200 attach tham_clip x 374 y -752 -- Bottom right attach tham_horn x -560 y 1300 -- Right x - 934, top y + 180 base sakot_high_pha_shaped attach tham_above x -82 y 1300 -- Right x - 456, top y + 180 attach tham_below x -144 y -952 -- Mid x, bottom y - 200 attach tham_clip x 374 y -752 -- Bottom right attach tham_horn x -560 y 1300 -- Right x - 934, top y + 180 -- base sakot_high_fa -- attach tham_above x -82 y 1300 -- Right x - 456, top y + 180 -- attach tham_below x -282 y -952 -- Mid x, bottom y - 200 -- attach tham_clip x 374 y -752 -- Bottom right -- attach tham_horn x -560 y 1300 -- Right x - 934, top y + 180 base sakot_ya_shaped attach tham_above x -82 y 1300 -- Right x - 456, top y + 180 attach tham_below x -136 y -952 -- Mid x, bottom y - 200 attach tham_clip x 374 y -752 -- Bottom right attach tham_horn x -560 y 1300 -- Right x - 934, top y + 180 -- base sakot_high_ya -- attach tham_above x -82 y 1300 -- Right x - 456, top y + 180 -- attach tham_below x -136 y -952 -- Mid x, bottom y - 200 -- attach tham_clip x 374 y -752 -- Bottom right -- attach tham_horn x -560 y 1300 -- Right x - 934, top y + 180 -- base la_tang_lai -- attach tham_above x -82 y 1300 -- Right x - 456, top y + 180 -- attach tham_below x -295 y -1320 -- Mid x, bottom y - 200 -- attach tham_clip x 374 y -1120 -- Bottom right -- attach tham_horn x -560 y 1300 -- Right x - 934, top y + 180 base sakot_la_shaped attach tham_above x -82 y 1300 -- Right x - 456, top y + 180 attach tham_below x -295 y -1320 -- Mid x, bottom y - 200 attach tham_clip x 374 y -1120 -- Bottom right attach tham_horn x -560 y 1300 -- Right x - 934, top y + 180 base sakot_la_thin_shaped attach tham_above x -82 y 1300 -- Right x - 456, top y + 180 attach tham_below x -295 y -952 -- Mid x, bottom y - 200 attach tham_clip x 374 y -752 -- Bottom right attach tham_horn x -560 y 1300 -- Right x - 934, top y + 180 -- base sakot_high_ssa -- attach tham_above x -82 y 1300 -- Right x - 456, top y + 180 -- attach tham_below x -93 y -1320 -- Mid x, bottom y - 200 -- attach tham_clip x 374 y -1120 -- Bottom right -- attach tham_horn x -560 y 1300 -- Right x - 934, top y + 180 base sakot_high_sa_shaped attach tham_above x -82 y 1300 -- Right x - 456, top y + 180 attach tham_below x -93 y -1320 -- Mid x, bottom y - 200 attach tham_clip x 374 y -1120 -- Bottom right attach tham_horn x -560 y 1300 -- Right x - 934, top y + 180 base sakot_letter_ii_shaped attach tham_above x -82 y 1300 -- Right x - 456, top y + 180 attach tham_below x -270 y -952 -- Mid x, bottom y - 200 attach tham_clip x 374 y -752 -- Bottom right attach tham_horn x -560 y 1300 -- Right x - 934, top y + 180 base sakot_lae_shaped attach tham_above x -456 y 1300 -- Right x - 456 - 374, usual y attach tham_below x -295 y -1320 -- Mid x, bottom y - 200 attach tham_clip x 374 y -1120 -- Bottom right attach tham_horn x -560 y 1300 -- Right x - 934, top y + 180 -- Vertical of mark positioning as for low_ka base space_nb attach tham_above x 275 y 1300 -- Mid x, y as for low_ka attach tham_below x 275 y -200 -- Mid x, y as for low_ka attach tham_clip x 561 y 0 -- bottom right attach tham_horn x 190 y 1300 -- Left x, y as for low_ka base hyphen attach tham_above x 423 y 1300 -- Mid x, y as for low_ka attach tham_below x 423 y -200 -- Mid x, y as for low_ka attach tham_clip x 657 y 0 -- bottom right attach tham_horn x 190 y 1300 -- Left x, y as for low_ka -- base multiply -- attach tham_above x 657 y 1300 -- Mid x, y as for low_ka -- attach tham_below x 657 y -200 -- Mid x, y as for low_ka -- attach tham_clip x 1124 y 0 -- bottom right -- attach tham_horn x 190 y 1300 -- Left x, y as for low_ka base endash attach tham_above x 562 y 1300 -- Mid x, y as for low_ka attach tham_below x 562 y -200 -- Mid x, y as for low_ka attach tham_clip x 934 y 0 -- bottom right attach tham_horn x 190 y 1300 -- Left x, y as for low_ka base emdash attach tham_above x 1074 y 1300 -- Mid x, y as for low_ka attach tham_below x 1074 y -200 -- Mid x, y as for low_ka attach tham_clip x 1958 y 0 -- bottom right attach tham_horn x 190 y 1300 -- Left x, y as for low_ka base bullet attach tham_above x 490 y 1300 -- Mid x, y as for low_ka attach tham_below x 490 y -200 -- Mid x, y as for low_ka attach tham_clip x 790 y 0 -- bottom right attach tham_horn x 190 y 1300 -- Left x, y as for low_ka base uni25FB attach tham_above x 566 y 1300 -- Mid x, y as for low_ka attach tham_below x 566 y -200 -- Mid x, y as for low_ka attach tham_clip x 942 y 0 -- bottom right attach tham_horn x 190 y 1300 -- Left x, y as for low_ka base uni25FC attach tham_above x 566 y 1300 -- Mid x, y as for low_ka attach tham_below x 566 y -200 -- Mid x, y as for low_ka attach tham_clip x 942 y 0 -- bottom right attach tham_horn x 190 y 1300 -- Left x, y as for low_ka base uni25FD attach tham_above x 470 y 1300 -- Mid x, y as for low_ka attach tham_below x 470 y -200 -- Mid x, y as for low_ka attach tham_clip x 750 y 0 -- bottom right attach tham_horn x 190 y 1300 -- Left x, y as for low_ka base uni25FE attach tham_above x 470 y 1300 -- Mid x, y as for low_ka attach tham_below x 470 y -200 -- Mid x, y as for low_ka attach tham_clip x 750 y 0 -- bottom right attach tham_horn x 190 y 1300 -- Left x, y as for low_ka end lookup lookup tham_mark_4 mark tham_above mai_sat x -555 y 1300 -- Mid x, bottom y mark tham_above mai_sat_ek x -555 y 1300 mark tham_above mai_sat_ek_tho x -555 y 1300 mark tham_above mai_sat_2lem x -555 y 1300 mark tham_above mai_sat_3lem x -555 y 1300 mark tham_above mai_kong x -555 y 1300 mark tham_above mai_ki x -555 y 1300 mark tham_above mai_kii x -555 y 1300 mark tham_above mai_kue x -555 y 1300 mark tham_above mai_kuue x -555 y 1300 mark tham_above mai_ek x -555 y 1300 mark tham_above mai_tho x -555 y 1300 mark tham_above mai_ko_nuea x -555 y 1300 mark tham_above mai_kha_pe x -555 y 1300 mark tham_above mai_sam_khit x -555 y 1300 mark tham_above mai_tri x -555 y 1300 mark tham_above mai_kao x -555 y 1300 mark tham_above mai_kang x -555 y 1300 mark tham_above compact_mai_kang_lai x -555 y 1300 mark tham_above mai_kang_lai x -555 y 1300 mark tham_above ra_haam x -555 y 1300 mark tham_above mai_sam x -555 y 1300 mark tham_above karan x -555 y 1300 mark tham_above sign_nga x -555 y 1300 mark tham_above sign_low_pa x -905 y 1300 mark tham_clip sign_high_ratha_host x -88 y 0 -- top right mark tham_clip sign_high_ratha_nohost x -88 y 0 -- top right mark tham_clip sign_narrow_low_pa_below x -88 y 0 -- top right mark tham_clip sign_low_pa_below_host x -88 y 0 -- top right mark tham_clip sign_low_pa_below_nohost x -88 y 0 -- top right mark tham_clip sign_lao_low_pa x -88 y 0 -- top right mark tham_below cryptodot x -555 y -200 mark tham_below mai_ku x -555 y -200 -- Nom. mid x, bottom y mark tham_below mai_kuu x -555 y -200 mark tham_below mai_koa_below x -555 y -200 mark tham_below medial_la x -555 y -200 -- Mid x, bottom y mark tham_below medial_la_wide x -905 y -200 mark tham_below medial_la_uncramped x -555 y -200 mark tham_below sign_ma x -555 y -200 mark tham_below sign_ba x -555 y -200 mark tham_below sign_sa x -555 y -200 mark tham_below sakot x -555 y -200 mark tham_below sakot_high_ka x -555 y -200 mark tham_below sakot_high_ka_uncramped x -555 y -200 mark tham_below sakot_high_kha x -555 y -200 mark tham_below sakot_high_kxa x -555 y -200 mark tham_below sakot_low_ka x -555 y -200 mark tham_below sakot_low_kxa x -555 y -200 mark tham_below sakot_nga x -555 y -200 mark tham_below sakot_high_ca x -555 y -200 mark tham_below sakot_high_cha x -555 y -200 mark tham_below sakot_low_ca x -555 y -200 mark tham_below sakot_low_sa x -555 y -200 mark tham_below sakot_rata x -555 y -200 mark tham_below sakot_rata_ratha x -555 y -200 mark tham_below sakot_high_ratha x -555 y -200 mark tham_below sakot_kl_high_ratha x -555 y -200 mark tham_below sakot_da x -555 y -200 mark tham_below sakot_low_ratha x -555 y -200 mark tham_below sakot_rana x -555 y -200 mark tham_below sakot_rana_uncramped x -555 y -200 mark tham_below sakot_high_ta x -555 y -200 mark tham_below sakot_high_ta_uncramped x -555 y -200 mark tham_below sakot_high_tha x -555 y -200 mark tham_below sakot_low_ta x -555 y -200 mark tham_below sakot_low_tha x -555 y -200 mark tham_below sakot_na x -555 y -200 mark tham_below sakot_low_pa x -555 y -200 mark tham_below sakot_low_pa_uncramped x -555 y -200 mark tham_below sakot_low_fa x -555 y -200 mark tham_below sakot_low_pha x -555 y -200 mark tham_below sakot_low_pha_uncramped x -555 y -200 mark tham_below sakot_ma x -555 y -200 mark tham_below sakot_ra x -555 y -200 mark tham_below sakot_lao_low_ha x -555 y -200 mark tham_below sakot_wa x -555 y -200 mark tham_below sakot_wa_small x -555 y -916 mark tham_below sakot_high_sha x -555 y -200 mark tham_below sakot_high_ha x -555 y -200 mark tham_below sakot_high_ha_uncramped x -555 y -200 mark tham_below sakot_lla x -555 y -200 mark tham_below sakot_letter_a x -555 y -200 mark tham_below sakot_low_ha x -555 y -200 mark tham_below sakot_low_ha_uncramped x -555 y -200 mark tham_below sakot_letter_i x -555 y -200 mark tham_below sakot_letter_u x -555 y -200 mark tham_below sakot_letter_uu x -555 y -200 mark tham_below sakot_letter_ee x -555 y -200 mark tham_below sakot_letter_oo x -555 y -200 mark tham_below sakot_great_sa_narrow x -555 y -200 mark tham_below sakot_great_sa_uncramped x -555 y -200 mark tham_below mai_koa_below_wide x -905 y -200 mark tham_below sakot_high_ka_wide x -905 y -200 mark tham_below sakot_rana_wide x -905 y -200 mark tham_below sakot_high_ta_wide x -905 y -200 mark tham_below sakot_low_pa_wide x -905 y -200 mark tham_below sakot_low_fa_wide x -905 y -200 mark tham_below sakot_low_pha_wide x -905 y -200 mark tham_below sakot_high_ha_wide x -905 y -200 mark tham_below sakot_low_ha_wide x -905 y -200 mark tham_below sakot_great_sa_wide x -905 y -200 mark tham_horn antler x 190 y 1300 mark tham_above mai_kang_lai_ghost x 0 y 0 -- Just a demonstrator base naa component 0 -- attach tham_above x 657 y 0 -- Y is test attach tham_above x 657 y 1300 -- Mid x, top y + 180 attach tham_clip x 1124 y 0 -- Bottom right attach tham_below x 657 y -200 -- Mid x, bottom y - 200 attach tham_horn x 190 y 1300 -- Left x, top y + 180 base naa component 1 -- attach tham_above x 1657 y -1000 -- Y is test -- Cater for tone mark on kaa or kam. It's wrong, but likely. attach tham_above x 1657 y 2032 -- Mid x, y as for on mai kang -- attach tham_above x 657 y 2032 -- Mid x, y as for on mai kang -- Added 1500 to x and dropped y to assist debugging! -- attach tham_above x 2157 y 1300 -- Mid x, y as for on mai kang attach tham_below x 657 y -200 -- Mid x, bottom y - 200 attach tham_clip x 1124 y 0 -- Bottom right attach tham_horn x 190 y 1300 -- Left x, top y + 180 end lookup classification base_by_aw empty bbaw_0 class bbaw_1910 high_ka class bbaw_1212 high_kha class bbaw_1212 high_kxa class bbaw_1212 low_ka class bbaw_1212 low_kxa class bbaw_1910 low_kha -- Strictly, 1912 class bbaw_1212 nga class bbaw_1212 high_ca class bbaw_1212 high_cha class bbaw_1212 low_ca class bbaw_1212 low_sa class bbaw_1676 low_cha class bbaw_1910 nya3 class bbaw_1910 nya4 class bbaw_1910 nya_nya class bbaw_1212 rata class bbaw_1212 high_rattha class bbaw_1212 high_ratha_host class bbaw_1212 high_ratha_nohost class bbaw_1212 kl_high_ratha_nohost class bbaw_1212 da class bbaw_1612 low_ratha class bbaw_1910 rana class bbaw_1910 high_ta class bbaw_1212 high_tha class bbaw_1212 low_ta class bbaw_1212 low_tha class bbaw_1212 na class bbaw_1212 naa class bbaw_1212 ba class bbaw_1212 high_pa class bbaw_1500 high_pha class bbaw_1212 high_fa class bbaw_1910 low_pa class bbaw_1910 low_ppa class bbaw_1910 lao_low_ppa class bbaw_1910 low_fa class bbaw_1910 low_pha class bbaw_1212 ma1 class bbaw_1500 ma2 class bbaw_1910 low_ya class bbaw_1212 high_ya class bbaw_1212 ra class bbaw_1212 lao_low_ha class bbaw_1212 rue class bbaw_1910 la class bbaw_1212 lue class bbaw_1212 wa class bbaw_1394 high_sha class bbaw_1394 high_ssa class bbaw_1212 high_sa class bbaw_1910 high_ha class bbaw_1212 lla class bbaw_1212 letter_a class bbaw_645 letter_ee class bbaw_1910 letter_i class bbaw_2374 letter_ii class bbaw_1676 letter_oo class bbaw_1910 low_ha class bbaw_1212 letter_u class bbaw_1212 letter_uu class bbaw_1910 lae class bbaw_1910 great_sa class bbaw_1212 mai_ka class bbaw_1212 mai_kaa class bbaw_464 mai_kaa_luang class bbaw_1212 hora_0 to hora_9 class bbaw_1212 tham_0 to tham_9 end classification classification vowel_below empty vb_0 class vb_u mai_ku class vb_u mai_kuu end classification classification depcons empty dc_0 class dcb_m282 sakot_ba -- base with anchor at -282 end classification lookup tham_mark_u_pt1 bbaw_645 | vb_u, defer | dcb_m282 0 tham_mark_u_pt2 bbaw_1212 | vb_u | dcb_m282 0 tham_mark_u_pt2 0 tham_mark_u_pt3 bbaw_1394 | vb_u | dcb_m282 0 tham_mark_u_pt2 bbaw_1500 | vb_u | dcb_m282 0 tham_mark_u_pt2 bbaw_1612 | vb_u | dcb_m282 0 tham_mark_u_pt2 bbaw_1676 | vb_u | dcb_m282 0 tham_mark_u_pt2 bbaw_1910 | vb_u | dcb_m282 0 tham_mark_u_pt2 bbaw_2374 | vb_u | dcb_m282 0 tham_mark_u_pt2 end lookup -- For A uu B with B a base, x = aw(A) + anch(B,uu), y = anch(B) lookup tham_mark_u_pt2 mark tham_below mai_ku x -555 y -200 mark tham_below mai_kuu x -555 y -200 base bbaw_464 -- aw=464 attach tham_below x 182 y -952 -- 464 -282 base bbaw_645 -- aw=645 attach tham_below x 363 y -952 -- 645 -282 base bbaw_1212 -- aw=1212 attach tham_below x 930 y -952 -- 1212 -282 base bbaw_1394 -- aw=1394 attach tham_below x 1112 y -952 -- 1394 -282 base bbaw_1500 -- aw=1500 attach tham_below x 1218 y -952 -- 1500 -282 base bbaw_1612 -- aw=1612 attach tham_below x 1330 y -952 -- 1612 -282 base bbaw_1676 -- aw=1676 attach tham_below x 1394 y -952 -- 1676 -282 base bbaw_1910 -- aw=1910 attach tham_below x 1628 y -952 -- 1910 -282 base bbaw_2374 -- aw=1910 attach tham_below x 2092 y -952 -- 1910 -282 end lookup lookup tham_mark_u_pt3 mark tham_below mai_ku x -555 y -200 mark tham_below mai_kuu x -555 y -200 base bbaw_1212 component 0 -- aw=1212 attach tham_below x 930 y -952 -- 1212 -282 end lookup classification uy_letter empty uy_0 class uy_letter tg_letter -- Remove bases where normal position avoids interference remove low_cha remove high_ratha_host remove high_ratha_nohost remove kl_high_ratha_nohost remove rue remove lue remove lla remove low_ha remove letter_i remove letter_ii remove lao_low_ppa remove lao_low_mpa remove low_ppa remove high_rantha remove lao_high_ttha remove high_rattha remove low_mpa -- Next five should be reviewed - though the decision is unlikely to be used -- for real text! remove letter_u remove letter_uu remove letter_ee remove letter_oo remove mai_kaa_luang -- Back to valid removals remove mai_koi class uy_sakot_low_ya sakot_low_ya end classification lookup tham_mark_uy_trigger uy_letter | vb_u, defer | uy_sakot_low_ya, defer 0 tham_mark_uy_action end lookup lookup tham_mark_uy_action mark ku mai_ku x -739 y -200 mark kuu mai_kuu x -847 y -200 base high_ka attach ku x 384 y -600 attach kuu x 384 y -600 base high_kha attach ku x 190 y -600 attach kuu x 190 y -700 base high_kxa attach ku x 190 y -600 attach kuu x 190 y -700 base low_ka attach ku x 190 y -600 attach kuu x 190 y -700 base low_kxa attach ku x 190 y -600 attach kuu x 190 y -700 base low_kha attach ku x 384 y -600 attach kuu x 384 y -600 base nga attach ku x 190 y -600 attach kuu x 190 y -700 base high_ca attach ku x 190 y -600 attach kuu x 190 y -700 base high_cha attach ku x 190 y -600 attach kuu x 190 y -700 base low_ca attach ku x 190 y -600 attach kuu x 190 y -700 base low_sa attach ku x 190 y -600 attach kuu x 190 y -700 base nya_shallow attach ku x 384 y -600 attach kuu x 384 y -600 base nya_deep attach ku x 384 y -600 attach kuu x 384 y -600 base nya_nya attach ku x 384 y -600 attach kuu x 384 y -600 base rata attach ku x 190 y -600 attach kuu x 190 y -700 base da attach ku x 190 y -700 attach kuu x 190 y -800 base low_ratha attach ku x 190 y -600 attach kuu x 190 y -700 base rana attach ku x 384 y -600 attach kuu x 384 y -600 base high_ta attach ku x 384 y -600 attach kuu x 384 y -600 base high_tha attach ku x 190 y -600 attach kuu x 190 y -700 base low_ta attach ku x 190 y -600 attach kuu x 190 y -700 base low_tha attach ku x 190 y -600 attach kuu x 190 y -700 base na attach ku x 190 y -600 attach kuu x 190 y -700 base naa attach ku x 190 y -600 attach kuu x 190 y -700 base ba attach ku x 190 y -600 attach kuu x 190 y -700 base high_pa attach ku x 190 y -600 attach kuu x 190 y -700 base high_pha attach ku x 190 y -600 attach kuu x 190 y -700 base high_fa attach ku x 190 y -600 attach kuu x 190 y -700 base low_pa attach ku x 384 y -600 attach kuu x 384 y -600 base low_fa attach ku x 384 y -600 attach kuu x 384 y -600 base low_pha attach ku x 384 y -600 attach kuu x 384 y -600 base ma1 attach ku x 190 y -600 attach kuu x 190 y -700 base ma2 attach ku x 190 y -600 attach kuu x 190 y -700 base low_ya attach ku x 384 y -600 attach kuu x 384 y -600 base high_ya attach ku x 190 y -600 attach kuu x 190 y -700 base ra attach ku x 190 y -600 attach kuu x 190 y -700 base lao_low_ha attach ku x 190 y -600 attach kuu x 190 y -700 base la attach ku x 384 y -600 attach kuu x 384 y -600 base wa attach ku x 190 y -600 attach kuu x 190 y -700 base high_sha attach ku x 190 y -600 attach kuu x 190 y -700 base high_ssa attach ku x 190 y -600 attach kuu x 190 y -700 base high_sa attach ku x 190 y -600 attach kuu x 190 y -700 base high_ha attach ku x 384 y -600 attach kuu x 384 y -600 base letter_a attach ku x 190 y -600 attach kuu x 190 y -700 base lae attach ku x 384 y -600 attach kuu x 384 y -600 base great_sa attach ku x 384 y -600 attach kuu x 384 y -600 base mai_ka attach ku x 190 y -600 attach kuu x 190 y -700 base mai_kaa attach ku x 190 y -600 attach kuu x 190 y -700 end lookup -- Mark above list: -- mark compact_mai_kang_lai done as 1st -- mark mai_kang_lai done as 1st -- mark sign_nga done as 1st -- mark sign_low_pa done as 1st -- mark mai_sat done as 1st, 2nd -- mark mai_sat_ek -- mark mai_sat_ek_tho -- mark mai_sat_2lem -- mark mai_sat_3lem -- mark mai_ki -- mark mai_kii -- mark mai_kue -- mark mai_kuue -- mark mai_kong -- mark mai_kao -- mark mai_kang -- mark tham_above mai_ek done as 2nd -- mark tham_above mai_tho done as 2nd -- mark tham_above mai_ko_nuea done as 2nd -- mark tham_above mai_kha_pe done as 2nd -- mark tham_above mai_sam_khit done as 2nd -- mark ra_haam done as 2nd -- mark karan done as 2nd -- mark mai_sam done as 2nd -- mark antler done as 1st lookup tham_mkmk_tone_above mark tham_above mai_ek x -555 y 1300 mark tham_above mai_tho x -555 y 1300 mark tham_above mai_ko_nuea x -555 y 1300 mark tham_above mai_kha_pe x -555 y 1300 mark tham_above mai_sam_khit x -555 y 1300 mark tham_above mai_tri x -555 y 1300 mark tham_above mai_sat x -555 y 1300 mark tham_above ra_haam x -555 y 1300 mark tham_above karan x -555 y 1300 base compact_mai_kang_lai attach tham_above x -555 y 2400 base mai_kang_lai attach tham_above x -555 y 2400 base sign_nga attach tham_above x -555 y 2400 base sign_low_pa attach tham_above x -905 y 2400 base mai_ki attach tham_above x -555 y 2032 -- Mid x, top body y + 180 base mai_kii attach tham_above x -555 y 2032 -- Mid x, top body y + 180 base mai_kue attach tham_above x -555 y 2032 -- Mid x, top body y + 180 base mai_kuue attach tham_above x -555 y 2032 -- Mid x, top body y + 180 base mai_kong attach tham_above x -555 y 2032 -- Mid x, top body y + 180 base mai_kao attach tham_above x -555 y 2216 -- Mid x, top body y + 180 base mai_kang attach tham_above x -555 y 2032 -- Mid x, top body y + 180 end lookup lookup tham_mkmk_tone_beside mark beside mai_ek x -647 y 1300 -- Bottom left mark beside mai_tho x -939 y 1300 mark beside mai_ko_nuea x -1015 y 1300 mark beside mai_kha_pe x -831 y 1300 mark beside mai_sam_khit x -831 y 1300 mark beside mai_tri x -1015 y 1300 mark beside mai_sat x -939 y 1300 mark beside ra_haam x -812 y 1300 mark beside karan x -812 y 1300 base mai_sat_ek attach beside x +19 y 1300 -- Bottom right, x + 190 base mai_sat_ek_tho attach beside x +19 y 1300 base mai_sat_2lem attach beside x +19 y 1300 base mai_sat_3lem attach beside x +19 y 1300 base mai_ek attach beside x -273 y 1300 -- Bottom right, x + 190 base mai_tho attach beside x +19 y 1300 base mai_ko_nuea attach beside x +95 y 1300 base mai_kha_pe attach beside x -89 y 1300 base mai_sam_khit attach beside x -89 y 1300 base mai_tri attach beside x -89 y 1300 base mai_sam attach beside x -89 y 1300 -- The next two are just guesswork base ra_haam attach beside x +145 y 1300 base karan attach beside x +145 y 1300 -- The next base strongly attaches to the consonant frame base antler attach beside x 564 y 1300 -- Bottom right of ascender, x + 190 end lookup lookup tham_mkmk_base_below mark tham_above mai_sat x -555 y 1300 -- Mid x, bottom y mark tham_above mai_kong x -555 y 1300 mark tham_above mai_ki x -555 y 1300 mark tham_above mai_kii x -555 y 1300 mark tham_above mai_kue x -555 y 1300 mark tham_above mai_kuue x -555 y 1300 mark tham_above mai_ek x -555 y 1300 mark tham_above mai_tho x -555 y 1300 mark tham_above mai_ko_nuea x -555 y 1300 mark tham_above mai_kha_pe x -555 y 1300 mark tham_above mai_sam_khit x -555 y 1300 mark tham_above mai_tri x -555 y 1300 mark tham_above mai_kao x -555 y 1300 mark tham_above mai_kang x -555 y 1300 mark tham_above compact_mai_kang_lai x -555 y 1300 mark tham_above mai_kang_lai x -555 y 1300 mark tham_above ra_haam x -555 y 1300 mark tham_above karan x -555 y 1300 mark tham_above sign_nga x -555 y 1300 mark tham_above sign_low_pa x -905 y 1300 mark tham_beside mai_sam x -831 y 1300 -- Bottom left mark tham_beside antler x 190 y 1300 mark tham_beside mai_sat_ek x -939 y 1300 mark tham_beside mai_sat_ek_tho x -939 y 1300 mark tham_beside mai_sat_2lem x -939 y 1300 mark tham_beside mai_sat_3lem x -939 y 1300 base compact_mai_kang_lai attach tham_above x -555 y 2400 attach tham_beside x 518 y 1300 -- Bot right + 190 base mai_kang_lai attach tham_above x -555 y 2400 attach tham_beside x 518 y 1300 base sign_nga attach tham_above x -555 y 2400 attach tham_beside x +95 y 1300 base sign_low_pa attach tham_above x -905 y 2400 attach tham_beside x -46 y 1300 base mai_sat attach tham_above x -555 y 2032 attach tham_beside x +19 y 1300 end lookup lookup tham_mkmk_sidebyside -- MARKS: Bottom left mark tham_beside compact_mai_kang_lai x -831 y 1300 mark tham_beside mai_kang_lai x -831 y 1300 mark tham_beside sign_nga x -1015 y 1300 mark tham_beside sign_low_pa x -1574 y 1300 mark tham_beside mai_sam x -831 y 1300 mark tham_beside antler x 190 y 1300 mark tham_beside mai_ki x -1011 y 1300 mark tham_beside mai_kii x -1011 y 1300 mark tham_beside mai_kue x -1011 y 1300 mark tham_beside mai_kuue x -1011 y 1300 mark tham_beside mai_kong x -831 y 1300 mark tham_beside mai_kao x -1015 y 1300 mark tham_beside mai_kang x -829 y 1300 mark tham_beside mai_sat_ek x -939 y 1300 mark tham_beside mai_sat_ek_tho x -939 y 1300 mark tham_beside mai_sat_2lem x -939 y 1300 mark tham_beside mai_sat_3lem x -939 y 1300 -- BASES: Bottom right + 190 base mai_sat_ek attach tham_beside x +19 y 1300 base mai_sat_ek_tho attach tham_beside x +19 y 1300 base mai_sat_2lem attach tham_beside x +19 y 1300 base mai_sat_3lem attach tham_beside x +19 y 1300 base mai_ki attach tham_beside x +91 y 1300 base mai_kii attach tham_beside x +91 y 1300 base mai_kue attach tham_beside x +91 y 1300 base mai_kuue attach tham_beside x +91 y 1300 base mai_kong attach tham_beside x -89 y 1300 base mai_kao attach tham_beside x +95 y 1300 base mai_kang attach tham_beside x -89 y 1300 base mai_ek attach tham_beside x -273 y 1300 base mai_tho attach tham_beside x +19 y 1300 base mai_ko_nuea attach tham_beside x +95 y 1300 base mai_kha_pe attach tham_beside x -89 y 1300 base mai_sam_khit attach tham_beside x -89 y 1300 base mai_tri attach tham_beside x -89 y 1300 base ra_haam attach tham_beside x 145 y 1300 base karan attach tham_beside x 145 y 1300 base mai_sam attach tham_beside x -89 y 1300 base antler attach tham_beside x 600 y 1300 -- Bottom right of -- ascender, + a bit. -- Calculation => 564 end lookup lookup tham_mkmk_special_above -- Special glyphs might be better! mark beside ra_haam x -812 y 1300 -- Bottom left mark beside karan x -812 y 1300 mark beside sign_nga x -1015 y 1300 mark beside sign_low_pa x -1574 y 1300 base antler attach beside x 1300 y 1300 -- Right + 176 end lookup coverage mai_ku_shape is mai_ku coverage mai_kuu_shape is mai_kuu coverage mai_koa_below_shape is mai_koa_below coverage mai_koa_below_wide_shape is mai_koa_below_wide coverage sakot_high_ka_wide_shape is sakot_high_ka_wide coverage sakot_high_ratha_shape is sakot_high_ratha coverage sakot_da_shape is sakot_da coverage sakot_low_ratha_shape is sakot_low_ratha coverage sakot_letter_oo_shape is sakot_letter_oo coverage sign_high_ratha_host_shape is sign_high_ratha_host coverage sign_low_pa_below_host_shape is sign_low_pa_below_host coverage sakot_high_ka_shape is sakot_high_ka coverage sakot_high_ka_shape also medial_la coverage sakot_high_ka_shape also sakot_rata_ratha coverage sakot_high_ka_shape also sakot_kl_high_ratha coverage sakot_high_ka_shape also sakot_rana coverage sakot_high_ka_shape also sakot_high_ta coverage sakot_high_ka_shape also sakot_high_tha coverage sakot_high_ka_shape also sakot_low_pa coverage sakot_high_ka_shape also sakot_low_fa coverage sakot_high_ka_shape also sakot_low_pha coverage sakot_high_ka_shape also sakot_high_ha coverage sakot_high_ka_shape also sakot_low_ha coverage sakot_high_ka_shape also sakot_great_sa_narrow coverage sakot_high_ka_shape also sign_high_ratha_nohost coverage sakot_high_ka_shape also sign_narrow_low_pa_below coverage sakot_high_ha_wide_shape is medial_la_wide coverage sakot_high_ha_wide_shape also sakot_high_ha_wide coverage sakot_high_ha_wide_shape also sakot_rana_wide coverage sakot_high_ha_wide_shape also sakot_high_ta_wide coverage sakot_high_ha_wide_shape also sakot_low_pa_wide coverage sakot_high_ha_wide_shape also sakot_low_fa_wide coverage sakot_high_ha_wide_shape also sakot_low_pha_wide coverage sakot_high_ha_wide_shape also sakot_low_ha_wide coverage sakot_high_ha_wide_shape also sakot_great_sa_wide coverage sakot_low_ka_shape is sign_ma coverage sakot_low_ka_shape also sign_ba coverage sakot_low_ka_shape also sign_sa coverage sakot_low_ka_shape also sakot_low_ka coverage sakot_low_ka_shape also sakot_low_kxa coverage sakot_low_ka_shape also sakot_low_ta coverage sakot_low_ka_shape also sakot_low_tha coverage sakot_low_ka_shape also sakot_wa coverage sakot_low_ka_shape also sakot_high_sha coverage sakot_low_ka_shape also sakot_lla coverage sakot_low_ka_shape also sakot_letter_u coverage sakot_low_ka_shape also sakot_letter_uu coverage sakot_low_ka_shape also sakot_letter_ee coverage sakot_nga_shape is sakot coverage sakot_nga_shape also sakot_nga coverage sakot_nga_shape also sakot_letter_a coverage sakot_nga_shape also sakot_letter_i coverage sakot_high_kha_shape is sakot_high_kha coverage sakot_high_kha_shape also sakot_high_kxa coverage sakot_high_kha_shape also sakot_wa_small coverage sakot_high_ca_shape is sakot_high_ca coverage sakot_high_ca_shape also sakot_high_cha coverage sakot_high_ca_shape also sakot_low_ca coverage sakot_high_ca_shape also sakot_low_sa coverage sakot_high_ca_shape also sakot_rata coverage sakot_high_ca_shape also sakot_ra coverage sakot_high_ca_shape also sakot_lao_low_ha coverage sakot_na_shape is sakot_na coverage sakot_na_shape also sakot_ma coverage sign_low_pa_below_nohost_shape is sign_low_pa_below_nohost coverage sign_low_pa_below_nohost_shape also sign_lao_low_pa lookup tham_mkmk_below -- These are attached bottom right: mark tham_clip sign_high_ratha_host x -88 y 0 -- top right mark tham_clip sign_high_ratha_nohost x -88 y 0 -- top right mark tham_clip sign_narrow_low_pa_below x -88 y 0 -- top right mark tham_clip sign_low_pa_below_host x -88 y 0 -- top right mark tham_clip sign_low_pa_below_nohost x -88 y 0 -- top right mark tham_clip sign_lao_low_pa x -88 y 0 -- top right -- These are centred below: mark tham_below cryptodot x -555 y -200 mark tham_below mai_ku x -555 y -200 -- Nom. mid x, bottom y mark tham_below mai_kuu x -555 y -200 mark tham_below mai_koa_below x -555 y -200 mark tham_below mai_koa_below_wide x -905 y -200 mark tham_below medial_la x -555 y -200 -- Mid x, bottom y mark tham_below medial_la_wide x -905 y -200 mark tham_below medial_la_uncramped x -555 y -200 mark tham_below sign_ma x -555 y -200 mark tham_below sign_ba x -555 y -200 mark tham_below sign_sa x -555 y -200 mark tham_below sakot x -555 y -200 mark tham_below sakot_high_ka x -555 y -200 mark tham_below sakot_high_ka_wide x -905 y -200 mark tham_below sakot_high_ka_uncramped x -555 y -200 mark tham_below sakot_high_kha x -555 y -200 mark tham_below sakot_high_kxa x -555 y -200 mark tham_below sakot_low_ka x -555 y -200 mark tham_below sakot_low_kxa x -555 y -200 mark tham_below sakot_nga x -555 y -200 mark tham_below sakot_high_ca x -555 y -200 mark tham_below sakot_high_cha x -555 y -200 mark tham_below sakot_low_ca x -555 y -200 mark tham_below sakot_low_sa x -555 y -200 mark tham_below sakot_rata x -555 y -200 mark tham_below sakot_rata_ratha x -555 y -200 mark tham_below sakot_high_ratha x -555 y -200 mark tham_below sakot_kl_high_ratha x -555 y -200 mark tham_below sakot_da x -555 y -200 mark tham_below sakot_low_ratha x -555 y -200 mark tham_below sakot_rana x -555 y -200 mark tham_below sakot_rana_wide x -905 y -200 mark tham_below sakot_rana_uncramped x -555 y -200 mark tham_below sakot_high_ta x -555 y -200 mark tham_below sakot_high_ta_wide x -905 y -200 mark tham_below sakot_high_ta_uncramped x -555 y -200 mark tham_below sakot_high_tha x -555 y -200 mark tham_below sakot_low_ta x -555 y -200 mark tham_below sakot_low_tha x -555 y -200 mark tham_below sakot_na x -555 y -200 mark tham_below sakot_low_pa x -555 y -200 mark tham_below sakot_low_pa_wide x -905 y -200 mark tham_below sakot_low_pa_uncramped x -555 y -200 mark tham_below sakot_low_fa x -555 y -200 mark tham_below sakot_low_fa_wide x -905 y -200 mark tham_below sakot_low_pha x -555 y -200 mark tham_below sakot_low_pha_wide x -905 y -200 mark tham_below sakot_low_pha_uncramped x -555 y -200 mark tham_below sakot_ma x -555 y -200 mark tham_below sakot_ra x -555 y -200 mark tham_below sakot_lao_low_ha x -555 y -200 mark tham_below sakot_wa x -555 y -200 mark tham_below sakot_wa_small x -555 y -916 mark tham_below sakot_high_sha x -555 y -200 mark tham_below sakot_high_ha x -555 y -200 mark tham_below sakot_high_ha_wide x -905 y -200 mark tham_below sakot_high_ha_uncramped x -555 y -200 mark tham_below sakot_lla x -555 y -200 mark tham_below sakot_letter_a x -555 y -200 mark tham_below sakot_low_ha x -555 y -200 mark tham_below sakot_low_ha_wide x -905 y -200 mark tham_below sakot_low_ha_uncramped x -555 y -200 mark tham_below sakot_letter_i x -555 y -200 mark tham_below sakot_letter_u x -555 y -200 mark tham_below sakot_letter_uu x -555 y -200 mark tham_below sakot_letter_ee x -555 y -200 mark tham_below sakot_letter_oo x -555 y -200 mark tham_below sakot_great_sa_narrow x -555 y -200 mark tham_below sakot_great_sa_wide x -905 y -200 mark tham_below sakot_great_sa_uncramped x -555 y -200 base cryptodot attach tham_below x -555 y -584 attach tham_clip x -171 y -384 base mai_ku_shape attach tham_below x -555 y -952 attach tham_clip x -155 y -752 base mai_kuu_shape attach tham_below x -555 y -952 attach tham_clip x 73 y -752 base mai_koa_below_shape attach tham_below x -555 y -952 attach tham_clip x 100 y -752 base mai_koa_below_wide_shape attach tham_below x -905 y -952 attach tham_clip x -236 y -752 -- base medial_la attach tham_below x -555 y -1320 -- attach tham_clip x -88 y -1120 -- base medial_la_wide attach tham_below x -905 y -1320 -- attach tham_clip x -236 y -1120 base medial_la_uncramped attach tham_below x -555 y -1320 attach tham_clip x -70 y -1120 -- base sign_ma attach tham_below x -555 y -1320 -- attach tham_clip x -171 y -1120 -- base sign_ba attach tham_below x -555 y -1320 -- attach tham_clip x -171 y -1120 -- base sign_sa attach tham_below x -555 y -1320 -- attach tham_clip x -172 y -1120 -- base sakot attach tham_below x -555 y -1320 -- attach tham_clip x -95 y -1120 base sakot_high_ka_shape attach tham_below x -555 y -1320 attach tham_clip x -88 y -1120 base sakot_high_ka_wide_shape attach tham_below x -905 y -1320 attach tham_clip x -88 y -1120 base sakot_high_ka_uncramped attach tham_below x -555 y -1320 attach tham_clip x -70 y -1120 base sakot_high_kha_shape attach tham_below x -555 y -1688 attach tham_clip x -171 y -1488 -- base sakot_high_kxa attach tham_below x -555 y -1688 -- attach tham_clip x -171 y -1488 base sakot_low_ka_shape attach tham_below x -555 y -1320 attach tham_clip x -172 y -1120 -- base sakot_low_kxa attach tham_below x -555 y -1320 -- attach tham_clip x -172 y -1120 base sakot_nga_shape attach tham_below x -555 y -1320 attach tham_clip x -95 y -1120 base sakot_high_ca_shape attach tham_below x -555 y -1320 attach tham_clip x -132 y -1120 -- base sakot_high_cha attach tham_below x -555 y -1320 -- attach tham_clip x -132 y -1120 -- base sakot_low_ca attach tham_below x -555 y -1320 -- attach tham_clip x -132 y -1120 -- base sakot_low_sa attach tham_below x -555 y -1320 -- attach tham_clip x -132 y -1120 -- base sakot_rata attach tham_below x -555 y -1320 -- attach tham_clip x -132 y -1120 -- base sakot_rata_ratha attach tham_below x -555 y -1320 -- attach tham_clip x -88 y -1120 base sakot_high_ratha_shape attach tham_below x -555 y -1686 attach tham_clip x -88 y -1486 -- base sakot_kl_high_ratha attach tham_below x -555 y -1320 -- attach tham_clip x -88 y -1120 base sakot_da_shape attach tham_below x -555 y -1704 attach tham_clip x -132 y -1504 base sakot_low_ratha_shape attach tham_below x -555 y -1320 attach tham_clip x -7 y -1120 -- base sakot_rana attach tham_below x -555 y -1320 -- attach tham_clip x -88 y -1120 -- base sakot_rana_wide attach tham_below x -905 y -1320 -- attach tham_clip x -236 y -1120 base sakot_rana_uncramped attach tham_below x -555 y -1320 attach tham_clip x 114 y -1120 -- base sakot_high_ta attach tham_below x -555 y -1320 -- attach tham_clip x -88 y -1120 -- base sakot_high_ta_wide attach tham_below x -905 y -1320 -- attach tham_clip x -236 y -1120 base sakot_high_ta_uncramped attach tham_below x -555 y -1320 attach tham_clip x 114 y -1120 -- base sakot_high_tha attach tham_below x -555 y -1320 -- attach tham_clip x -88 y -1120 -- base sakot_low_ta attach tham_below x -555 y -1320 -- attach tham_clip x -171 y -1120 -- base sakot_low_tha attach tham_below x -555 y -1320 -- attach tham_clip x -171 y -1120 base sakot_na_shape attach tham_below x -555 y -952 attach tham_clip x 4 y -752 -- base sakot_low_pa attach tham_below x -555 y -1320 -- attach tham_clip x -88 y -1120 -- base sakot_low_pa_wide attach tham_below x -905 y -1320 -- attach tham_clip x -236 y -1120 base sakot_low_pa_uncramped attach tham_below x -555 y -1320 attach tham_clip x 114 y -1120 -- base sakot_low_fa attach tham_below x -555 y -1320 -- attach tham_clip x -88 y -1120 -- base sakot_low_fa_wide attach tham_below x -905 y -1320 -- attach tham_clip x -236 y -1120 -- base sakot_low_pha attach tham_below x -555 y -1320 -- attach tham_clip x -88 y -1120 -- base sakot_low_pha_wide attach tham_below x -905 y -1320 -- attach tham_clip x -236 y -1120 base sakot_low_pha_uncramped attach tham_below x -555 y -1320 attach tham_clip x 114 y -1120 -- base sakot_ma attach tham_below x -555 y -952 -- attach tham_clip x 4 y -752 -- base sakot_ra attach tham_below x -555 y -1320 -- attach tham_clip x -132 y -1120 -- base sakot_lao_low_ha attach tham_below x -555 y -1320 -- attach tham_clip x -132 y -1120 -- base sakot_wa attach tham_below x -555 y -1320 -- attach tham_clip x -171 y -1120 -- base sakot_wa_small attach tham_below x -555 y -1668 -- -2052+384 -- attach tham_clip x -171 y -1468 -- base sakot_high_sha attach tham_below x -555 y -1320 -- attach tham_clip x -172 y -1120 -- base sakot_high_ha attach tham_below x -555 y -1320 -- attach tham_clip x -88 y -1120 base sakot_high_ha_wide_shape attach tham_below x -905 y -1320 attach tham_clip x -236 y -1120 base sakot_high_ha_uncramped attach tham_below x -555 y -1320 attach tham_clip x 114 y -1120 -- base sakot_lla attach tham_below x -555 y -1320 -- attach tham_clip x -171 y -1120 -- base sakot_letter_a attach tham_below x -555 y -1320 -- attach tham_clip x -95 y -1120 -- base sakot_low_ha attach tham_below x -555 y -1320 -- attach tham_clip x -88 y -1120 -- base sakot_low_ha_wide attach tham_below x -905 y -1320 -- attach tham_clip x -236 y -1120 base sakot_low_ha_uncramped attach tham_below x -555 y -1320 attach tham_clip x 114 y -1120 -- base sakot_letter_i attach tham_below x -555 y -1320 -- attach tham_clip x -95 y -1120 -- base sakot_letter_u attach tham_below x -555 y -1320 -- attach tham_clip x -172 y -1120 -- TODO? The clip attachment point above is ugly, but the combination feels -- unreal. If fixed, propagate to the clone below. -- base sakot_letter_uu attach tham_below x -555 y -1320 -- attach tham_clip x -172 y -1120 -- base sakot_letter_ee attach tham_below x -555 y -1320 -- attach tham_clip x -172 y -1120 base sakot_letter_oo_shape attach tham_below x -555 y -1320 attach tham_clip x +89 y -1120 -- base sakot_great_sa_narrow attach tham_below x -555 y -1320 -- attach tham_clip x -87 y -1120 -- base sakot_great_sa_wide attach tham_below x -905 y -1320 -- attach tham_clip x -236 y -1120 base sakot_great_sa_uncramped attach tham_below x -555 y -1320 attach tham_clip x 114 y -1120 base sign_high_ratha_host_shape attach tham_below x -555 y -1704 attach tham_clip x -88 y -1504 -- base sign_high_ratha_nohost attach tham_below x -555 y -1320 -- attach tham_clip x -88 y -1120 -- base sign_narrow_low_pa_below attach tham_below x -555 y -1320 -- attach tham_clip x -88 y -1120 base sign_low_pa_below_host_shape attach tham_below x -903 y -1704 attach tham_clip x -88 y -1504 base sign_low_pa_below_nohost_shape attach tham_below x -903 y -1320 attach tham_clip x -88 y -1120 -- base sign_lao_low_pa attach tham_below x -903 y -1320 -- attach tham_clip x -88 y -1120 end lookup coverage deep_letter is high_ratha_nohost coverage deep_letter also kl_high_ratha_nohost coverage deep_letter also rue coverage deep_letter also lue coverage deep_letter also low_ha coverage deep_letter also lao_low_ppa coverage deep_letter also lao_low_mpa coverage deep_letter also low_ppa coverage deep_letter also high_rantha coverage deep_letter also lao_high_ttha coverage deep_letter also high_rattha coverage deep_letter also low_mpa classification sl_classes empty sl_0 class sl_base tg_letter -- needs trimming! remove deep_letter remove da class sl_da da class sl_below below class sl_deep deep_letter class sl_deep tg_rising_subscript class sl_deep tg_rising_sign_subscript end classification lookup start_left_trigger sl_base sl_below sl_below 1 start_left_action -- Note location is that of the mark. sl_da sl_below sl_below -- Ugly way of simplifying the tables. 1 start_left_action sl_deep sl_below -- Lazy way of sharing mark positions! 1 start_left_action end lookup lookup start_left_action mark tham_below cryptodot x -647 y -200 -- Left x, top y mark tham_below mai_ku x -739 y -200 -- Left x, top y mark tham_below mai_kuu x -847 y -200 -- Left x, top y mark tham_below mai_koa_below x -1022 y -200 mark tham_below medial_la x -1022 y -200 -- Mid x, top y mark tham_below medial_la_uncramped x -1224 y -200 mark tham_below sign_ma x -939 y -200 mark tham_below sign_ba x -939 y -200 mark tham_below sign_sa x -939 y -200 mark tham_below sakot x -1015 y -200 mark tham_below sakot_high_ka x -1022 y -200 mark tham_below sakot_high_ka_uncramped x -1224 y -200 mark tham_below sakot_high_kha x -938 y -200 mark tham_below sakot_high_kxa x -938 y -200 mark tham_below sakot_low_ka x -939 y -200 mark tham_below sakot_low_kxa x -939 y -200 mark tham_below sakot_nga x -1015 y -200 mark tham_below sakot_high_ca x -899 y -200 mark tham_below sakot_high_cha x -899 y -200 mark tham_below sakot_low_ca x -899 y -200 mark tham_below sakot_low_sa x -899 y -200 mark tham_below sakot_rata x -899 y -200 mark tham_below sakot_rata_ratha x -1022 y -200 mark tham_below sakot_high_ratha x -1022 y -200 mark tham_below sakot_kl_high_ratha x -1022 y -200 mark tham_below sakot_da x -899 y -200 mark tham_below sakot_low_ratha x -1103 y -200 mark tham_below sakot_rana x -1022 y -200 mark tham_below sakot_rana_uncramped x -1224 y -200 mark tham_below sakot_high_ta x -1022 y -200 mark tham_below sakot_high_ta_uncramped x -1224 y -200 mark tham_below sakot_high_tha x -1022 y -200 mark tham_below sakot_low_ta x -939 y -200 mark tham_below sakot_low_tha x -939 y -200 mark tham_below sakot_na x -1104 y -200 mark tham_below sakot_low_pa x -1022 y -200 mark tham_below sakot_low_pa_uncramped x -1224 y -200 mark tham_below sakot_low_fa x -1022 y -200 mark tham_below sakot_low_pha x -1022 y -200 mark tham_below sakot_low_pha_uncramped x -1224 y -200 mark tham_below sakot_ma x -1104 y -200 mark tham_below sakot_ra x -899 y -200 mark tham_below sakot_lao_low_ha x -899 y -200 mark tham_below sakot_wa x -1015 y -200 mark tham_below sakot_wa_small x -829 y -916 mark tham_below sakot_high_sha x -939 y -200 mark tham_below sakot_high_ha x -1022 y -200 mark tham_below sakot_high_ha_uncramped x -1224 y -200 mark tham_below sakot_lla x -939 y -200 mark tham_below sakot_letter_a x -1015 y -200 mark tham_below sakot_low_ha x -1022 y -200 mark tham_below sakot_low_ha_uncramped x -1224 y -200 mark tham_below sakot_letter_i x -1015 y -200 mark tham_below sakot_letter_u x -939 y -200 mark tham_below sakot_letter_uu x -939 y -200 mark tham_below sakot_letter_ee x -939 y -200 mark tham_below sakot_letter_oo x -939 y -200 mark tham_below sakot_great_sa_narrow x -1023 y -200 mark tham_below sakot_great_sa_uncramped x -1224 y -200 mark tham_below mai_koa_below_wide x -1574 y -200 mark tham_below medial_la_wide x -1574 y -200 mark tham_below sakot_high_ka_wide x -1574 y -200 mark tham_below sakot_rana_wide x -1574 y -200 mark tham_below sakot_high_ta_wide x -1574 y -200 mark tham_below sakot_low_pa_wide x -1574 y -200 mark tham_below sakot_low_fa_wide x -1574 y -200 mark tham_below sakot_low_pha_wide x -1574 y -200 mark tham_below sakot_high_ha_wide x -1574 y -200 mark tham_below sakot_low_ha_wide x -1574 y -200 mark tham_below sakot_great_sa_wide x -1574 y -200 -- Normal bases: base sl_base attach tham_below x 190 y -200 -- left x bottom y - 200 base da attach tham_below x 190 y -584 -- left x bottom y - 200 -- Deep bases: base high_ratha_nohost attach tham_below x 1212 y -200 -- aw x, -200 base kl_high_ratha_nohost attach tham_below x 1212 y -200 base rue attach tham_below x 1212 y -200 base lue attach tham_below x 1212 y -200 base low_ha attach tham_below x 1910 y -200 base lao_low_ppa attach tham_below x 1910 y -200 base lao_low_mpa attach tham_below x 1500 y -200 base low_ppa attach tham_below x 1910 y -200 base high_rantha attach tham_below x 1910 y -200 base lao_high_ttha attach tham_below x 1910 y -200 base high_rattha attach tham_below x 1212 y -200 base low_mpa attach tham_below x 1500 y -200 base sakot_la_shaped attach tham_below x 464 y -200 base sakot_low_cha_shaped attach tham_below x 464 y -200 base sakot_nya_shaped attach tham_below x 464 y -200 base sakot_high_pha_shaped attach tham_below x 464 y -200 -- or 928? base sakot_ba_shaped attach tham_below x 464 y -200 base sakot_ya_shaped attach tham_below x 464 y -200 base sakot_la_thin_shaped attach tham_below x 464 y -200 base sakot_high_sa_shaped attach tham_below x 464 y -200 base sakot_letter_ii_shaped attach tham_below x 464 y -200 base sakot_lae_shaped attach tham_below x 464 y -200 end lookup lookup side_by_side_below -- Second mark positions as start_left_action mark tham_below cryptodot x -647 y -200 -- Left x, top y mark tham_below mai_ku x -739 y -200 -- Left x, top y mark tham_below mai_kuu x -847 y -200 -- Left x, top y mark tham_below mai_koa_below x -1022 y -200 mark tham_below medial_la x -1022 y -200 -- Mid x, top y mark tham_below medial_la_uncramped x -1224 y -200 mark tham_below sign_ma x -939 y -200 mark tham_below sign_ba x -939 y -200 mark tham_below sign_sa x -939 y -200 mark tham_below sakot x -1015 y -200 mark tham_below sakot_high_ka x -1022 y -200 mark tham_below sakot_high_ka_uncramped x -1224 y -200 mark tham_below sakot_high_kha x -938 y -200 mark tham_below sakot_high_kxa x -938 y -200 mark tham_below sakot_low_ka x -939 y -200 mark tham_below sakot_low_kxa x -939 y -200 mark tham_below sakot_nga x -1015 y -200 mark tham_below sakot_high_ca x -899 y -200 mark tham_below sakot_high_cha x -899 y -200 mark tham_below sakot_low_ca x -899 y -200 mark tham_below sakot_low_sa x -899 y -200 mark tham_below sakot_rata x -899 y -200 mark tham_below sakot_rata_ratha x -1022 y -200 mark tham_below sakot_high_ratha x -1022 y -200 mark tham_below sakot_kl_high_ratha x -1022 y -200 mark tham_below sakot_da x -899 y -200 mark tham_below sakot_low_ratha x -1103 y -200 mark tham_below sakot_rana x -1022 y -200 mark tham_below sakot_rana_uncramped x -1224 y -200 mark tham_below sakot_high_ta x -1022 y -200 mark tham_below sakot_high_ta_uncramped x -1224 y -200 mark tham_below sakot_high_tha x -1022 y -200 mark tham_below sakot_low_ta x -939 y -200 mark tham_below sakot_low_tha x -939 y -200 mark tham_below sakot_na x -1104 y -200 mark tham_below sakot_low_pa x -1022 y -200 mark tham_below sakot_low_pa_uncramped x -1224 y -200 mark tham_below sakot_low_fa x -1022 y -200 mark tham_below sakot_low_pha x -1022 y -200 mark tham_below sakot_low_pha_uncramped x -1224 y -200 mark tham_below sakot_ma x -1104 y -200 mark tham_below sakot_ra x -899 y -200 mark tham_below sakot_lao_low_ha x -899 y -200 mark tham_below sakot_wa x -1015 y -200 mark tham_below sakot_wa_small x -829 y -916 mark tham_below sakot_high_sha x -939 y -200 mark tham_below sakot_high_ha x -1022 y -200 mark tham_below sakot_high_ha_uncramped x -1224 y -200 mark tham_below sakot_lla x -939 y -200 mark tham_below sakot_letter_a x -1015 y -200 mark tham_below sakot_low_ha x -1022 y -200 mark tham_below sakot_low_ha_uncramped x -1224 y -200 mark tham_below sakot_letter_i x -1015 y -200 mark tham_below sakot_letter_u x -939 y -200 mark tham_below sakot_letter_uu x -939 y -200 mark tham_below sakot_letter_ee x -939 y -200 mark tham_below sakot_letter_oo x -939 y -200 mark tham_below sakot_great_sa_narrow x -1023 y -200 mark tham_below sakot_great_sa_uncramped x -1224 y -200 mark tham_below mai_koa_below_wide x -1574 y -200 mark tham_below medial_la_wide x -1574 y -200 mark tham_below sakot_high_ka_wide x -1574 y -200 mark tham_below sakot_rana_wide x -1574 y -200 mark tham_below sakot_high_ta_wide x -1574 y -200 mark tham_below sakot_low_pa_wide x -1574 y -200 mark tham_below sakot_low_fa_wide x -1574 y -200 mark tham_below sakot_low_pha_wide x -1574 y -200 mark tham_below sakot_high_ha_wide x -1574 y -200 mark tham_below sakot_low_ha_wide x -1574 y -200 mark tham_below sakot_great_sa_wide x -1574 y -200 base cryptodot attach tham_below x -19 y -200 -- right x + 190, top y base mai_ku_shape attach tham_below x +35 y -200 -- right x + 190, top y base mai_kuu_shape attach tham_below x 263 y -200 base mai_koa_below_shape attach tham_below x 290 y -200 base mai_koa_below_wide_shape attach tham_below x -46 y -200 base medial_la_uncramped attach tham_below x 120 y -200 base sakot_high_ka_shape attach tham_below x 102 y -200 base sakot_high_ka_wide_shape attach tham_below x 102 y -200 base sakot_high_ka_uncramped attach tham_below x 120 y -200 base sakot_high_kha_shape attach tham_below x 19 y -200 base sakot_low_ka_shape attach tham_below x 18 y -200 base sakot_nga_shape attach tham_below x 95 y -200 base sakot_high_ca_shape attach tham_below x 58 y -200 base sakot_high_ratha_shape attach tham_below x 102 y -200 base sakot_da_shape attach tham_below x 58 y -200 base sakot_low_ratha_shape attach tham_below x 183 y -200 base sakot_rana_uncramped attach tham_below x 304 y -200 base sakot_high_ta_uncramped attach tham_below x 304 y -200 base sakot_na_shape attach tham_below x 194 y -200 base sakot_low_pa_uncramped attach tham_below x 304 y -200 base sakot_low_pha_uncramped attach tham_below x 304 y -200 base sakot_high_ha_wide_shape attach tham_below x -46 y -200 base sakot_high_ha_uncramped attach tham_below x 304 y -200 base sakot_low_ha_uncramped attach tham_below x 304 y -200 base sakot_letter_oo_shape attach tham_below x 279 y -200 base sakot_great_sa_uncramped attach tham_below x 304 y -200 base sign_high_ratha_host_shape attach tham_below x 102 y -200 base sign_low_pa_below_host_shape attach tham_below x 102 y -200 base sign_low_pa_below_nohost_shape attach tham_below x 102 y -200 end lookup italicAngle 0.0 underlinePosition -130 underlineThickness 90