br Julian Griffin OSL
|
: |
c ╔═════════════════════════════════════════════════════════════════╗
c ║ The Phonic Alphabet (TPA) Keyboard. ║
c ╚═════════════════════════════════════════════════════════════════╝
c ╒══════════════════════════════════════════════════════════════════
c │ This keyboard provides a complete set of TPA markups and graphemes.
c │ Simple markups are entered by pressing these keys twice after Latin Letter:
c │ ) For a Arch. NB Press twice after a double letter grapheme.
c │ _ For a Bar. NB Press twice after a single vowel or double letter grapheme.
c │ * For a Silent 'x'. NB Press twice after a Latin letter.
c │ _ For a Grapheme input Mode. NB Use at the start of a Page, Line, or Cell.
c │ = For a Superscript Overlay. NB Press twice after a Latin letter to strick it out.
c │ . . . . . . . . . . . . . . . Press Once between two Latin letters to Strickout and add phonic clue.
c │ ` For a Shwa '`'. NB Press twice after a single or double letter vowel.
c │ ^ For a low pointer. NB Not part of TPA, but can be useful to identify a letter.
c │
c │ The TPA Keyboard is designed to work seamlessly with the TPA fonts.
c │ Fonts without the Unicode TPA Private Use Area will function but will be unable to access the TPA graphemes.
c │
c │ Contact ThePhonicAlphabet.uk for the latest imformation.
c ╘══════════════════════════════════════════════════════════════════
c Documentation Builder DRAFT.
c Default mode is MuM. These are the symbols that are valid in this mode.
c . All Letter, Punctuation, symbol, or Number is valid in this mode.
c . a, e, i, o, oo, sh, th, u + __ ↔ A_, E_, I_, O_, oo_, sh_, th_ U_
c . ar, ch, er, ir, ng, oo, or, ow, oy, sh, th, ur, + )) ↔ ar, ch, er, ir, ng, oo, or, ow, oy, sh, th, ur
c . Any Latin letter + ** ↔ Cross 'x' above Latin letter for Silent letters.
c . Any Latin letter + == ↔ Latin letter struckout.
c . Any Latin letter + '=' + TPA Grapheme ↔ Latin letter struckout + Superscript TPA phonic clue above.
c . Any Latin vowel or 2 Latin vowels + `` ↔ Latin vowel(s) + Shwa '`'
c . Any Latin letter + ^^ ↔ Latin letter with an upwards arrow below the letter.
c .
c . GiM: '_' at the beginning of a: Page, Line, Cell, will start Grapheme input Mode (GiM).
c . In this mode the only valid keys are 'a' to 'z', '-', & Space.
c . However, if selecting graphemes from a menu, numbers upto and including the options can be used.
c . NB Numbers do not for any part of a TPA Construction!
c . When GiM is active and no Graphemes entered, a second '_', Esc, or Enter; will close GiM.
c . When GiM is active and Graphemes are entered:
c . a second '_', Tab, or Enter; will keep TPA construction & close GiM.
c . a Space ' ' will be added to the TPA construction. Only one if valid.
c . a Hyphen '-' will be added to the TPA construction. Only one if valid.
c . If Space or Hypen is entered after one another, they will switch from ' ' ↔ '-'.
c .
c . When GiM is active and Graphemes are entered:
c . Del will delete the entire TPA Construction; upto 31 graphemes long. A second Del is an error.
c . Esc will delete the entire TPA Construction; upto 31 graphemes long. A second Esc will close GiM.
c .
c . Menus display a list of opptions for grapheme selection. They only accept numbers upto the number of options.
c . And no other keys are valid.
c .
c ▐▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▌
c ▐ There are a number of blocks in the keyboard definition like this one. ▌
c ▐ They hold issues that require resolution before TPA Keyboard can be published. ▌
c ▐▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▌
c ╒══════════════════════════════════════════════════════════════════
c │ The TPA keyboard definition consists of Six main sections:
c │ 1. Header – Global settings and configuration.
c │ 2. Flag definitions - Used in the keyboard definition.
c │ 3. Menu Handler – Looks after all menu functionality.
c │ 4. Grapheme input Mode (GiM) – Controls TPA construction input.
c │ 5. MarkUp Mode (MuM) – Enables TPA markup of standard Latin text.
c │ 6. Constants definition – Holds all the stored constants used in the keyboard definition.
c │
c │ Processing train is: Menu Handler -> GiM -> MuM.
c ╘══════════════════════════════════════════════════════════════════
c ╒══════════════════════════════════════════════════════════════════
c │ TPA Keyboard Header Settings
Store(&VERSION) '9.0'
Store(&Name) 'TPA Keyboard'
Store(©RIGHT) '©The Phonic Alphabet 2016'
Store(&KEYBOARDVERSION) '3.001'
store(&LANGUAGE) 'x0809'
store(&WINDOWSLANGUAGES) 'x0809'
Store(ÐNOLOGUECODE) 'Eng'
Store(&MESSAGE) 'This keyboard is freely redistributable.'
store(&BITMAP) 'TPA 2.000.ico'
Store(&MnemonicLayout) '1' c Make keyboard independent of user's keyboard layout.
c ╘══════════════════════════════════════════════════════════════════
c ╔═════════════════════════════════════════════════════════════════╗
c ║ All the Flags the keybpoard definition uses. ║
c ╚═════════════════════════════════════════════════════════════════╝
c ╒══════════════════════════════════════════════════════════════════
c │ The 'GiMFlag' indicates if the Grapheme input Mode (GiM) is active.
c │ If 'OFF' (Default) Normal Latin Text and TPA Markup is in active.
c │ If 'On' TPA GiM is in use, so only a very limited set of keys are valid.
c └──────────────────────────────────────────────────────────────────
Store(GiMFlag) 'Off' c Normal Latin Text - Recommended.
c ╒══════════════════════════════════════════════════════════════════
c │ The 'ManuFlag' indicates if menus are used for grapheme selcetion.
c │ If 'Yes' (Default) Menus & modifiers are used to enter graphemes.
c │ If 'No' Only modifiers are used to enter graphemes, for skilled users.
c └──────────────────────────────────────────────────────────────────
c ▐▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▌
c ▐ THIS IS A BODGE UNTIL CONFIGUATION CODE CAN ADDED. ▌
Store(MenuFlag) 'No' c 'Yes' or 'No'; Yes is the default. ▌
c ▐▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▌
c ╔═════════════════════════════════════════════════════════════════╗
Begin Unicode > Use(MenuHandler) c ║
c ╚═════════════════════════════════════════════════════════════════╝
Group(MenuHandler) c Context Only
c ╒══════════════════════════════════════════════════════════════════
c │ Check if one of the menus active.
c │ If so, jump to the appropriate Menu Handler Group.
c │ If not, pass processing to (GiM).
c ├──────────────────────────────────────────────────────────────────
c │ This Group is only called by the UStoUK Group.
c └──────────────────────────────────────────────────────────────────
Outs(a_Menu) > Use(a_Menu)
Outs(c_Menu) > Use(c_Menu)
Outs(e_Menu) > Use(e_Menu)
Outs(i_Menu) > Use(i_Menu)
Outs(n_Menu) > Use(n_Menu)
Outs(o_Menu) > Use(o_Menu)
Outs(s_Menu) > Use(s_Menu)
Outs(t_Menu) > Use(t_Menu)
Outs(u_Menu) > Use(u_Menu)
c ┌──────────────────────────────────────────────────────────────────
c │ If no menu is in the Context, pass processing to the GiM group.
Nomatch > Use(GiM)
c │ End of MenuHandler
c └─────────────────────────────────────────────────────────────────┘
c ╒══════════════════════════════════════════════════════════════════
c │ All the Groups below, a_Menu ... to ... u_Menu, are the menu handlers
c │ For each Latin letter that has a menu: a, c, e, i, n, o, s, t, & u.
c │ These Groups list the options for the user to select the appropriate grapheme.
c ├──────────────────────────────────────────────────────────────────
c │ Each Group performs the same set of actiones for each menu but for a different Latin letter.
c │ 1 If GiMFlag is Off: Output the grapheme,
c │ then call the Collapse Group, to collapse the text and create the TPA clue (superscript) markup.
c │ 1.1 If [K_BKSP] or [K_ESC] is pressed, the menu is cancelled.
c │ The 'nul' absorbs the Backspace key to stop it deleting the character to the left of the menu.
c │
c │ 2 If GiMFlag is On: Output the grapheme, the TPAglue, and the TPAcursor symbol.
c │ 2.1 If [K_BKSP] or [K_ESC] is pressed, the menu is cancelled and TPA cursor is replaced.
c │
c │ 3 If an invalid choice is made, call Group(MenuErrHandler).
c ├──────────────────────────────────────────────────────────────────
c │ These Groups are only called from the MenuHandler Group.
c └──────────────────────────────────────────────────────────────────
Group(a_Menu) using keys
If(GiMFlag = 'Off') + Any(Choices3) > Index(a_Char, 2) Use(Collapse)
If(GiMFlag = 'On' ) + Any(Choices3) > Index(a_Char, 2) $TPAglue $TPAcursor
If(GiMFlag = 'Off') + Any(MenuCancel) > nul
If(GiMFlag = 'On' ) + Any(MenuCancel) > $TPAcursor
+ Any(TextEffectors) > dk(a_err) Use(MenuErrHandler)
+ Any(CursorKeys) > dk(a_err) Use(MenuErrHandler)
Nomatch > dk(a_err) Use(MenuErrHandler)
c ├─────────────────────────────────────────────────────────────────┤
Group(c_Menu) using keys
If(GiMFlag = 'Off') + Any(Choices3) > Index(c_Char, 2) Use(Collapse)
If(GiMFlag = 'On' ) + Any(Choices3) > Index(c_Char, 2) $TPAglue $TPAcursor
If(GiMFlag = 'Off') + Any(MenuCancel) > nul
If(GiMFlag = 'On' ) + Any(MenuCancel) > $TPAcursor
+ Any(TextEffectors) > dk(c_err) Use(MenuErrHandler)
+ Any(CursorKeys) > dk(c_err) Use(MenuErrHandler)
Nomatch > dk(c_err) Use(MenuErrHandler)
c ├─────────────────────────────────────────────────────────────────┤
Group(e_Menu) using keys
If(GiMFlag = 'Off') + Any(Choices3) > Index(e_Char, 2) Use(Collapse)
If(GiMFlag = 'On' ) + Any(Choices3) > Index(e_Char, 2) $TPAglue $TPAcursor
If(GiMFlag = 'Off') + Any(MenuCancel) > nul
If(GiMFlag = 'On' ) + Any(MenuCancel) > $TPAcursor
+ Any(TextEffectors) > dk(e_err) Use(MenuErrHandler)
+ Any(CursorKeys) > dk(e_err) Use(MenuErrHandler)
Nomatch > dk(e_err) Use(MenuErrHandler)
c ├─────────────────────────────────────────────────────────────────┤
Group(i_Menu) using keys
If(GiMFlag = 'Off') + Any(Choices3) > Index(i_Char, 2) Use(Collapse)
If(GiMFlag = 'On' ) + Any(Choices3) > Index(i_Char, 2) $TPAglue $TPAcursor
If(GiMFlag = 'Off') + Any(MenuCancel) > nul
If(GiMFlag = 'On' ) + Any(MenuCancel) > $TPAcursor
+ Any(TextEffectors) > dk(i_err) Use(MenuErrHandler)
+ Any(CursorKeys) > dk(i_err) Use(MenuErrHandler)
Nomatch > dk(i_err) Use(MenuErrHandler)
c ├─────────────────────────────────────────────────────────────────┤
Group(n_Menu) using keys
If(GiMFlag = 'Off') + Any(Choices2) > Index(n_Char, 2) Use(Collapse)
If(GiMFlag = 'On' ) + Any(Choices2) > Index(n_Char, 2) $TPAglue $TPAcursor
If(GiMFlag = 'Off') + Any(MenuCancel) > nul
If(GiMFlag = 'On' ) + Any(MenuCancel) > $TPAcursor
+ Any(TextEffectors) > dk(n_err) Use(MenuErrHandler)
+ Any(CursorKeys) > dk(n_err) Use(MenuErrHandler)
Nomatch > dk(n_err) Use(MenuErrHandler)
c ├─────────────────────────────────────────────────────────────────┤
Group(o_Menu) using keys
If(GiMFlag = 'Off') + Any(Choices7) > Index(o_Char, 2) Use(Collapse)
If(GiMFlag = 'On' ) + Any(Choices7) > Index(o_Char, 2) $TPAglue $TPAcursor
If(GiMFlag = 'Off') + Any(MenuCancel) > nul
If(GiMFlag = 'On' ) + Any(MenuCancel) > $TPAcursor
+ Any(TextEffectors) > dk(o_err) Use(MenuErrHandler)
+ Any(CursorKeys) > dk(o_err) Use(MenuErrHandler)
Nomatch > dk(o_err) Use(MenuErrHandler)
c ├─────────────────────────────────────────────────────────────────┤
Group(s_Menu) using keys
If(GiMFlag = 'Off') + Any(Choices3) > Index(s_Char, 2) Use(Collapse)
If(GiMFlag = 'On' ) + Any(Choices3) > Index(s_Char, 2) $TPAglue $TPAcursor
If(GiMFlag = 'Off') + Any(MenuCancel) > nul
If(GiMFlag = 'On' ) + Any(MenuCancel) > $TPAcursor
+ Any(TextEffectors) > dk(s_err) Use(MenuErrHandler)
+ Any(CursorKeys) > dk(s_err) Use(MenuErrHandler)
Nomatch > dk(s_err) Use(MenuErrHandler)
c ├─────────────────────────────────────────────────────────────────┤
Group(t_Menu) using keys
If(GiMFlag = 'Off') + Any(Choices3) > Index(t_Char, 2) Use(Collapse)
If(GiMFlag = 'On' ) + Any(Choices3) > Index(t_Char, 2) $TPAglue $TPAcursor
If(GiMFlag = 'Off') + Any(MenuCancel) > nul
If(GiMFlag = 'On' ) + Any(MenuCancel) > $TPAcursor
+ Any(TextEffectors) > dk(t_err) Use(MenuErrHandler)
+ Any(CursorKeys) > dk(t_err) Use(MenuErrHandler)
Nomatch > dk(t_err) Use(MenuErrHandler)
c ├─────────────────────────────────────────────────────────────────┤
Group(u_Menu) using keys
If(GiMFlag = 'Off') + Any(Choices3) > Index(u_Char, 2) Use(Collapse)
If(GiMFlag = 'On' ) + Any(Choices3) > Index(u_Char, 2) $TPAglue $TPAcursor
If(GiMFlag = 'Off') + Any(MenuCancel) > nul
If(GiMFlag = 'On' ) + Any(MenuCancel) > $TPAcursor
+ Any(TextEffectors) > dk(u_err) Use(MenuErrHandler)
+ Any(CursorKeys) > dk(u_err) Use(MenuErrHandler)
Nomatch > dk(u_err) Use(MenuErrHandler)
c │ End of the menu handler Groups
c └─────────────────────────────────────────────────────────────────┘
Group(Collapse) c Context Only
c ╒══════════════════════════════════════════════════════════════════
c │ Convert the Latin text (eg a=b) to the Latin letter that has the
c │ TPA strickout & TPA superscript clue graphemes coprrectly positioned.
c ├──────────────────────────────────────────────────────────────────
c │ This Group is only called from the menu handler Groups; a_Menu ... to ... u_Menu.
c └──────────────────────────────────────────────────────────────────
c _ a, a_, ar, b, ch, d
Any(LatinLetter) $StrickoutKey U+F001 > Context(1) Index(Strickout,1) Index(Sup_a,1) c │ a
Any(LatinLetter) $StrickoutKey U+F002 > Context(1) Index(Strickout,1) Index(Sup_A_,1) c │ A_
Any(LatinLetter) $StrickoutKey U+F003 > Context(1) Index(Strickout,1) Index(Sup_ar,1) c │ ar
Any(LatinLetter) $StrickoutKey U+F004 > Context(1) Index(Strickout,1) Index(Sup_b,1) c │ b
Any(LatinLetter) $StrickoutKey U+F006 > Context(1) Index(Strickout,1) Index(Sup_ch,1) c │ ch
Any(LatinLetter) $StrickoutKey U+F007 > Context(1) Index(Strickout,1) Index(Sup_d,1) c │ d
c _ e, e_, er, f, g, h
Any(LatinLetter) $StrickoutKey U+F008 > Context(1) Index(Strickout,1) Index(Sup_e,1) c │ e
Any(LatinLetter) $StrickoutKey U+F009 > Context(1) Index(Strickout,1) Index(Sup_E_,1) c │ E_
Any(LatinLetter) $StrickoutKey U+F010 > Context(1) Index(Strickout,1) Index(Sup_er,1) c │ er
Any(LatinLetter) $StrickoutKey U+F011 > Context(1) Index(Strickout,1) Index(Sup_f,1) c │ f
Any(LatinLetter) $StrickoutKey U+F012 > Context(1) Index(Strickout,1) Index(Sup_g,1) c │ g
Any(LatinLetter) $StrickoutKey U+F013 > Context(1) Index(Strickout,1) Index(Sup_h,1) c │ h
c _ i, i_, ir, j, k, l, m, n, ng
Any(LatinLetter) $StrickoutKey U+F014 > Context(1) Index(Strickout,1) Index(Sup_i,1) c │ i
Any(LatinLetter) $StrickoutKey U+F015 > Context(1) Index(Strickout,1) Index(Sup_I_,1) c │ I_
Any(LatinLetter) $StrickoutKey U+F016 > Context(1) Index(Strickout,1) Index(Sup_ir,1) c │ ir
Any(LatinLetter) $StrickoutKey U+F017 > Context(1) Index(Strickout,1) Index(Sup_j,1) c │ j
Any(LatinLetter) $StrickoutKey U+F018 > Context(1) Index(Strickout,1) Index(Sup_k,1) c │ k
Any(LatinLetter) $StrickoutKey U+F019 > Context(1) Index(Strickout,1) Index(Sup_l,1) c │ l
Any(LatinLetter) $StrickoutKey U+F020 > Context(1) Index(Strickout,1) Index(Sup_m,1) c │ m
Any(LatinLetter) $StrickoutKey U+F021 > Context(1) Index(Strickout,1) Index(Sup_n,1) c │ n
Any(LatinLetter) $StrickoutKey U+F022 > Context(1) Index(Strickout,1) Index(Sup_ng,1) c │ ng
c _ o, o_, oo, oo_, or, ow, oy
Any(LatinLetter) $StrickoutKey U+F023 > Context(1) Index(Strickout,1) Index(Sup_o,1) c │ o
Any(LatinLetter) $StrickoutKey U+F024 > Context(1) Index(Strickout,1) Index(Sup_O_,1) c │ O_
Any(LatinLetter) $StrickoutKey U+F025 > Context(1) Index(Strickout,1) Index(Sup_oo,1) c │ oo
Any(LatinLetter) $StrickoutKey U+F026 > Context(1) Index(Strickout,1) Index(Sup_oo_,1) c │ oo_
Any(LatinLetter) $StrickoutKey U+F027 > Context(1) Index(Strickout,1) Index(Sup_or,1) c │ or
Any(LatinLetter) $StrickoutKey U+F028 > Context(1) Index(Strickout,1) Index(Sup_ow,1) c │ ow
Any(LatinLetter) $StrickoutKey U+F029 > Context(1) Index(Strickout,1) Index(Sup_oy,1) c │ oy
c _ p, q, r, s, sh, sh_, t th, th_
Any(LatinLetter) $StrickoutKey U+F030 > Context(1) Index(Strickout,1) Index(Sup_p,1) c │ p
Any(LatinLetter) $StrickoutKey U+F031 > Context(1) Index(Strickout,1) Index(Sup_q,1) c │ q
Any(LatinLetter) $StrickoutKey U+F032 > Context(1) Index(Strickout,1) Index(Sup_r,1) c │ r
Any(LatinLetter) $StrickoutKey U+F033 > Context(1) Index(Strickout,1) Index(Sup_s,1) c │ s
Any(LatinLetter) $StrickoutKey U+F034 > Context(1) Index(Strickout,1) Index(Sup_sh,1) c │ sh
Any(LatinLetter) $StrickoutKey U+F035 > Context(1) Index(Strickout,1) Index(Sup_sh_,1) c │ sh_
Any(LatinLetter) $StrickoutKey U+F036 > Context(1) Index(Strickout,1) Index(Sup_t,1) c │ t
Any(LatinLetter) $StrickoutKey U+F037 > Context(1) Index(Strickout,1) Index(Sup_th,1) c │ th
Any(LatinLetter) $StrickoutKey U+F038 > Context(1) Index(Strickout,1) Index(Sup_th_,1) c │ th_
c _ u, u_, ur, v, w, x, y, z
Any(LatinLetter) $StrickoutKey U+F039 > Context(1) Index(Strickout,1) Index(Sup_u,1) c │ u
Any(LatinLetter) $StrickoutKey U+F040 > Context(1) Index(Strickout,1) Index(Sup_U_,1) c │ u_
Any(LatinLetter) $StrickoutKey U+F041 > Context(1) Index(Strickout,1) Index(Sup_ur,1) c │ ur
Any(LatinLetter) $StrickoutKey U+F042 > Context(1) Index(Strickout,1) Index(Sup_v,1) c │ v
Any(LatinLetter) $StrickoutKey U+F043 > Context(1) Index(Strickout,1) Index(Sup_w,1) c │ w
Any(LatinLetter) $StrickoutKey U+F044 > Context(1) Index(Strickout,1) Index(Sup_x,1) c │ x
Any(LatinLetter) $StrickoutKey U+F045 > Context(1) Index(Strickout,1) Index(Sup_y,1) c │ y
Any(LatinLetter) $StrickoutKey U+F046 > Context(1) Index(Strickout,1) Index(Sup_z,1) c │ z
c │ End of Collapse
c └─────────────────────────────────────────────────────────────────┘
Group(MenuErrHandler) c Context Only
c ╒══════════════════════════════════════════════════════════════════
c │ MenuErrHandler matches error markers to redisplay the appropriate
c │ menu and Beep to signal an error.
c ├──────────────────────────────────────────────────────────────────
c │ This Group is only called from the menu handler Groups; a_Menu ... to ... u_Menu.
c └──────────────────────────────────────────────────────────────────
dk(a_err) > Outs(a_Menu) Beep
dk(c_err) > Outs(c_Menu) Beep
dk(e_err) > Outs(e_Menu) Beep
dk(i_err) > Outs(i_Menu) Beep
dk(n_err) > Outs(n_Menu) Beep
dk(o_err) > Outs(o_Menu) Beep
dk(s_err) > Outs(s_Menu) Beep
dk(t_err) > Outs(t_Menu) Beep
dk(u_err) > Outs(u_Menu) Beep
c │ End of MenuErrHandler
c └─────────────────────────────────────────────────────────────────┘
c Processing complete, return to listening for a key press.
c □■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□
Group(GiM) Using Keys
c ╒══════════════════════════════════════════════════════════════════
c │ If user wishe to enter a TPA Construction, Grapheme input Mode (GiM) needs to be started.
c │ If Grapheme Key pressed at the start of Page, Line, or Cell, Set GiMFlag flag to 'Yes'.
c │
c │ If GiMFlag is active, Process all keys in relation to GiM requirements.
c │ If GiMFlag is not active, Pass processing to the MuM Group.
c ├──────────────────────────────────────────────────────────────────
c │ This Group is called from the MenuHandler Group.
c └──────────────────────────────────────────────────────────────────
c ╒══════════════════════════════════════════════════════════════════
c │ Initiate TPA Grapheme input Mode (GiM).
nul + $GrahemeKey > $TPAcursor Set(GiMFlag = 'On')
c ▐▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▌
c ▐ The 'nul' in the Rule above does not fire at the start of a ▌
c ▐ line. It does fire at the start of a Page or Cell in Word 2007. ▌
c ▐▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▌
c ╒══════════════════════════════════════════════════════════════════
c │ If GiM is not active pass processing to MuM.
If(GiMFlag = 'Off') + Any(AllGlyphs) > Use(MuM)
c ┌──────────────────────────────────────────────────────────────────
c │ NB The following Rules are only used when the GiMFlag flag is 'Yes'
c │ Although the GiMFlag could be tested in each Rule. This would be essentially
c │ superfluous as the: TPA Graphemes, Glue, Space, & Hypen only ever
c │ appear to the left of the text cursor when in Grapheme input Mode (GiM).
c │ To test both the flag and these symbols would be a tautology;
c │ and having these keys in the context allows them to be easily deleted as needed.
c └──────────────────────────────────────────────────────────────────
c ▐▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▌
c ▐ However, Esc does not work as expected. ▌
c ▐ If(GiMFlag = 'On') + nul $TPAcursor + [K_ESC] > Set(GiMFlag = 'Off') ▌
c ▐ But the line below does work. ▌
c ▐ If(GiMFlag = 'On') + nul $TPAcursor + [K_ENTER] > Set(GiMFlag = 'Off') ▌
c ▐▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▌
c ┌──────────────────────────────────────────────────────────────────
c │ Close GiM; if no graphemes entered; remove TPA Cursor and set GiMFlag 'Off'.
nul $TPAcursor + $GrahemeKey > Set(GiMFlag = 'Off')
nul $TPAcursor + [K_ESC] > Set(GiMFlag = 'Off')
nul $TPAcursor + [K_ENTER] > Set(GiMFlag = 'Off')
c ┌──────────────────────────────────────────────────────────────────
c │ Close GiM; keep TPA Construction, Clean out Glue & Cursor, and set GiMFlag 'Off'.
Any(TPApunctuation) $TPAcursor + $GrahemeKey > Set(GiMFlag = 'Off')
Any(TPApunctuation) $TPAcursor + [K_TAB] > Set(GiMFlag = 'Off')
Any(TPApunctuation) $TPAcursor + [K_ENTER] > Set(GiMFlag = 'Off')
c ┌──────────────────────────────────────────────────────────────────
c │ TPA Space.
$TPAglue $TPAcursor + ' ' > $TPAspace $TPAcursor c Add a TPA Space to the GiM string.
$TPAspace $TPAcursor + ' ' > $TPAspace $TPAcursor Beep c Only one TPA Space is valid so replace contexct.
'-' $TPAcursor + ' ' > $TPAspace $TPAcursor c Swap Hypen for TPA Space.
nul $TPAcursor + ' ' > $TPAcursor Beep c TPA Space is not valid at the start of a construction.
c ┌──────────────────────────────────────────────────────────────────
c │ Hyphen. [TPA uses the standard Latin hypen.]
$TPAglue $TPAcursor + '-' > '-' $TPAcursor c Add a Hypen to the GiM string.
'-' $TPAcursor + '-' > '-' $TPAcursor Beep c Only one Hyphen is valid.
$TPAspace $TPAcursor + '-' > '-' $TPAcursor c Swap TPAspace for Hypen.
nul $TPAcursor + '-' > $TPAcursor Beep c Hypen is not valid at the start of a construction.
c ┌──────────────────────────────────────────────────────────────────
c │ Backspace allows a TPA construction to be edited by stepping backwards through it.
c │ Delete the Glue, Space, or Hypen and the Grapheme, then replace TPA Cursor.
$TPAglue $TPAcursor + [K_BKSP] > Use(GiMcloseEdit) $TPAcursor
$TPAspace $TPAcursor + [K_BKSP] > $TPAglue $TPAcursor c Replace TPA Space with TPA glue.
'-' $TPAcursor + [K_BKSP] > $TPAglue $TPAcursor c Replace Hypen with TPA glue.
nul $TPAcursor + [K_BKSP] > nul $TPAcursor Beep c Backspace is not valid at the start of a construction.
c ▐▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▌
c ▐ NB The line 4 above gives the warnings below. ▌
c ▐ Warning 209E: A rule with use() statements in the ▌
c ▐ output should not have other content following the use() statements ▌
c ▐ ▌
c ▐ But I can see no other way to achieve what this line does. ▌
c ▐▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▌
c ┌──────────────────────────────────────────────────────────────────
c │ The DEL or ESC key removes the entire TPA construction, upto 31 graphemes in length.
c │ [32 or 64 appears to be the upper limit of the Windows/Keyman keyboard buffer.]
c │ Each next Rule removes one extra Grapheme & Punctuation set.
c ▐▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▌
c ▐ There must be a better way to do this! ▌
c ▐ I tried to recursively calling a Group, ▌
c ▐ but I could not get it to work. ▌
c ▐ Perhaps a new command would be useful: ▌
c ▐ Multi(Any(List1) Any(List2), #) ▌
c ▐▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▌
$TPAcursor + Any(Redo) > $TPAcursor Beep c Del at the start of a Page, Line, or Cell is not valid.
Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) Any(TPAgrapheme) Any(TPApunctuation) $TPAcursor + Any(Redo) > $TPAcursor
c ┌──────────────────────────────────────────────────────────────────
c │ Menu Grapheme selection in GiM.
c │ If MenuFlag is 'Yes', these Rules display menus for grapheme selection.
c │ Only lowercase Latin letters are used to display menus.
c │ This allows the modifier key entry (below) to still function.
If(MenuFlag = 'Yes') $TPAcursor + ['A'] > Outs(a_Menu) c a A_ ar
If(MenuFlag = 'Yes') $TPAcursor + Any(cC) > Outs(c_Menu) c ch k s
If(MenuFlag = 'Yes') $TPAcursor + ['E'] > Outs(e_Menu) c e E_ er
If(MenuFlag = 'Yes') $TPAcursor + ['I'] > Outs(i_Menu) c i I_ ir
If(MenuFlag = 'Yes') $TPAcursor + Any(nN) > Outs(n_Menu) c n ng
If(MenuFlag = 'Yes') $TPAcursor + ['O'] > Outs(o_Menu) c o O_ oo oo_ or ow oy
If(MenuFlag = 'Yes') $TPAcursor + Any(sS) > Outs(s_Menu) c s sh sh_
If(MenuFlag = 'Yes') $TPAcursor + Any(tT) > Outs(t_Menu) c t th th_
If(MenuFlag = 'Yes') $TPAcursor + ['U'] > Outs(u_Menu) c u U_ ur
c ┌──────────────────────────────────────────────────────────────────
c │ Modifier-key for grapheme selection in GiM.
c │ If MenuFlag is 'No' Use modifier keys to enter graphemes.
c │ NB Commented out lines below show what was used before the MenuFlag code was added.
If(MenuFlag != 'Yes') $TPAcursor + ['A'] > U+F001 $TPAglue $TPAcursor c a
If(MenuFlag != 'Yes') $TPAcursor + ['E'] > U+F008 $TPAglue $TPAcursor c e
If(MenuFlag != 'Yes') $TPAcursor + ['I'] > U+F014 $TPAglue $TPAcursor c i
If(MenuFlag != 'Yes') $TPAcursor + ['O'] > U+F023 $TPAglue $TPAcursor c o
If(MenuFlag != 'Yes') $TPAcursor + ['U'] > U+F039 $TPAglue $TPAcursor c u
c ┌──────────────────────────────────────────────────────────────────
c │ These Rules emit all the graphemes in TPA by use of modifier keys.
c │ The Modifier Keys function whether or not the GiMFlag is 'Yes' or 'No'
c │ NB Only 'oo', 'sh', & 'th' need the modifiers [RALT] & [RCTRL RALT].
c │ For consistancy 'ar', 'ch', 'er', 'ir', 'ng', 'or', 'ow', 'oy', & 'ur' have been given a
c │ [RCTRL RALT]; which is the same as the [RALT] Rule for that letter.
c │ NB Starred '*' Rules are duplicates of one another, eg [RALT 'A'] & [RCTRL RALT 'A'] emit the same grapheme.
c _ $TPAcursor + [ 'A'] > U+F001 $TPAglue $TPAcursor c a
$TPAcursor + [SHIFT 'A'] > U+F002 $TPAglue $TPAcursor c A_
$TPAcursor + [ LCTRL LALT 'A'] > U+F003 $TPAglue $TPAcursor c ar *
$TPAcursor + [ RCTRL LALT 'A'] > U+F003 $TPAglue $TPAcursor c ar *
$TPAcursor + [ LCTRL RALT 'A'] > U+F003 $TPAglue $TPAcursor c ar *
$TPAcursor + [ RCTRL RALT 'A'] > U+F003 $TPAglue $TPAcursor c ar *
$TPAcursor + Any(bB) > U+F004 $TPAglue $TPAcursor c b
$TPAcursor + Any(cC) > U+F006 $TPAglue $TPAcursor c ch *
$TPAcursor + [ LCTRL LALT 'C'] > U+F006 $TPAglue $TPAcursor c ch *
$TPAcursor + [ RCTRL LALT 'C'] > U+F006 $TPAglue $TPAcursor c ch *
$TPAcursor + [ LCTRL RALT 'C'] > U+F006 $TPAglue $TPAcursor c ch *
$TPAcursor + [ RCTRL RALT 'C'] > U+F006 $TPAglue $TPAcursor c ch *
$TPAcursor + Any(dD) > U+F007 $TPAglue $TPAcursor c d
c _ $TPAcursor + [ 'E'] > U+F008 $TPAglue $TPAcursor c e
$TPAcursor + [SHIFT 'E'] > U+F009 $TPAglue $TPAcursor c E_
$TPAcursor + [ LCTRL LALT 'E'] > U+F010 $TPAglue $TPAcursor c er *
$TPAcursor + [ RCTRL LALT 'E'] > U+F010 $TPAglue $TPAcursor c er *
$TPAcursor + [ LCTRL RALT 'E'] > U+F010 $TPAglue $TPAcursor c er *
$TPAcursor + [ RCTRL RALT 'E'] > U+F010 $TPAglue $TPAcursor c er *
$TPAcursor + Any(fF) > U+F011 $TPAglue $TPAcursor c f
$TPAcursor + Any(Gg) > U+F012 $TPAglue $TPAcursor c g
$TPAcursor + Any(Hh) > U+F013 $TPAglue $TPAcursor c h
c _ $TPAcursor + [ 'I'] > U+F014 $TPAglue $TPAcursor c i
$TPAcursor + [SHIFT 'I'] > U+F015 $TPAglue $TPAcursor c I_
$TPAcursor + [ LCTRL LALT 'I'] > U+F016 $TPAglue $TPAcursor c ir *
$TPAcursor + [ RCTRL LALT 'I'] > U+F016 $TPAglue $TPAcursor c ir *
$TPAcursor + [ LCTRL RALT 'I'] > U+F016 $TPAglue $TPAcursor c ir *
$TPAcursor + [ RCTRL RALT 'I'] > U+F016 $TPAglue $TPAcursor c ir *
$TPAcursor + Any(jJ) > U+F017 $TPAglue $TPAcursor c j
$TPAcursor + Any(kK) > U+F018 $TPAglue $TPAcursor c k
$TPAcursor + Any(lL) > U+F019 $TPAglue $TPAcursor c l
$TPAcursor + Any(mM) > U+F020 $TPAglue $TPAcursor c m
$TPAcursor + Any(nN) > U+F021 $TPAglue $TPAcursor c n
$TPAcursor + [ LCTRL LALT 'N'] > U+F022 $TPAglue $TPAcursor c ng *
$TPAcursor + [ RCTRL LALT 'N'] > U+F022 $TPAglue $TPAcursor c ng *
$TPAcursor + [ LCTRL RALT 'N'] > U+F022 $TPAglue $TPAcursor c ng *
$TPAcursor + [ RCTRL RALT 'N'] > U+F022 $TPAglue $TPAcursor c ng *
c _ $TPAcursor + [ 'O'] > U+F023 $TPAglue $TPAcursor c o
$TPAcursor + [SHIFT 'O'] > U+F024 $TPAglue $TPAcursor c O_
$TPAcursor + [ LCTRL LALT 'O'] > U+F025 $TPAglue $TPAcursor c oo *
$TPAcursor + [ RCTRL LALT 'O'] > U+F025 $TPAglue $TPAcursor c oo *
$TPAcursor + [ LCTRL RALT 'O'] > U+F026 $TPAglue $TPAcursor c OO_ *
$TPAcursor + [ RCTRL RALT 'O'] > U+F026 $TPAglue $TPAcursor c OO_ *
$TPAcursor + [ LCTRL LALT 'R'] > U+F027 $TPAglue $TPAcursor c or *
$TPAcursor + [ RCTRL LALT 'R'] > U+F027 $TPAglue $TPAcursor c or *
$TPAcursor + [ LCTRL RALT 'R'] > U+F027 $TPAglue $TPAcursor c or *
$TPAcursor + [ RCTRL RALT 'R'] > U+F027 $TPAglue $TPAcursor c or *
$TPAcursor + [ LCTRL LALT 'W'] > U+F028 $TPAglue $TPAcursor c ow *
$TPAcursor + [ RCTRL LALT 'W'] > U+F028 $TPAglue $TPAcursor c ow *
$TPAcursor + [ LCTRL RALT 'W'] > U+F028 $TPAglue $TPAcursor c ow *
$TPAcursor + [ RCTRL RALT 'W'] > U+F028 $TPAglue $TPAcursor c ow *
$TPAcursor + [ LCTRL LALT 'Y'] > U+F029 $TPAglue $TPAcursor c oy *
$TPAcursor + [ RCTRL LALT 'Y'] > U+F029 $TPAglue $TPAcursor c oy *
$TPAcursor + [ LCTRL RALT 'Y'] > U+F029 $TPAglue $TPAcursor c oy *
$TPAcursor + [ RCTRL RALT 'Y'] > U+F029 $TPAglue $TPAcursor c oy *
$TPAcursor + Any(pP) > U+F030 $TPAglue $TPAcursor c p
$TPAcursor + Any(qQ) > U+F031 $TPAglue $TPAcursor c q
$TPAcursor + Any(rR) > U+F032 $TPAglue $TPAcursor c r
$TPAcursor + Any(sS) > U+F033 $TPAglue $TPAcursor c s
$TPAcursor + [ LCTRL LALT 'S'] > U+F034 $TPAglue $TPAcursor c sh *
$TPAcursor + [ RCTRL LALT 'S'] > U+F034 $TPAglue $TPAcursor c sh *
$TPAcursor + [ LCTRL RALT 'S'] > U+F035 $TPAglue $TPAcursor c sh_ *
$TPAcursor + [ RCTRL RALT 'S'] > U+F035 $TPAglue $TPAcursor c sh_ *
$TPAcursor + Any(tT) > U+F036 $TPAglue $TPAcursor c t
$TPAcursor + [ LCTRL LALT 'T'] > U+F037 $TPAglue $TPAcursor c th *
$TPAcursor + [ RCTRL LALT 'T'] > U+F037 $TPAglue $TPAcursor c th *
$TPAcursor + [ LCTRL RALT 'T'] > U+F038 $TPAglue $TPAcursor c th_ *
$TPAcursor + [ RCTRL RALT 'T'] > U+F038 $TPAglue $TPAcursor c th_ *
c _ $TPAcursor + [ 'U'] > U+F039 $TPAglue $TPAcursor c u
$TPAcursor + [SHIFT 'U'] > U+F040 $TPAglue $TPAcursor c U_
$TPAcursor + [ LCTRL LALT 'U'] > U+F041 $TPAglue $TPAcursor c ur *
$TPAcursor + [ RCTRL LALT 'U'] > U+F041 $TPAglue $TPAcursor c ur *
$TPAcursor + [ LCTRL RALT 'U'] > U+F041 $TPAglue $TPAcursor c ur *
$TPAcursor + [ RCTRL RALT 'U'] > U+F041 $TPAglue $TPAcursor c ur *
$TPAcursor + Any(vV) > U+F042 $TPAglue $TPAcursor c v
$TPAcursor + Any(wW) > U+F043 $TPAglue $TPAcursor c w
$TPAcursor + Any(xX) > U+F044 $TPAglue $TPAcursor c x
$TPAcursor + Any(yY) > U+F045 $TPAglue $TPAcursor c y
$TPAcursor + Any(zZ) > U+F046 $TPAglue $TPAcursor c z
c │ NB Stared '*' Rules are dublicates of one another, eg [RALT 'U'] & [RCTRL RALT 'U'] emit the same graphgeme.
c ┌──────────────────────────────────────────────────────────────────
c │ Through away all other displayable symbols.
c │ None of the modifier keys are used in these Stores.
$TPAcursor + Any(LatinLetter) > $TPAcursor Beep
$TPAcursor + Any(Number) > $TPAcursor Beep
$TPAcursor + Any(Symbol) > $TPAcursor Beep
$TPAcursor + Any(AltGr) > $TPAcursor Beep
$TPAcursor + Any(CursorKeys) > $TPAcursor Beep
$TPAcursor + Any(TextEffectors) > $TPAcursor Beep
c ┌──────────────────────────────────────────────────────────────────
c │ TPA Grapeme input Mode not requested nor running, pass processing to the MuM group.
Nomatch > Use(MuM)
c ▐▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▌
c ▐ At the start of this Group is the line below: ▌
c ▐ If(GiMFlag = 'Off') + Any(AllGlyphs) > Use(MuM) ▌
c ▐ ▌
c ▐ The line above: ▌
c ▐ Nomatch > Use(MuM) ▌
c ▐ ▌
c ▐ My question is; Which is the best way to ensure ▌
c ▐ that the Group MuM to always be called? ▌
c ▐ ▌
c ▐ Or Do these lines do the same thing? (I suspect not) ▌
c ▐▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▌
c │ End of GiM
c └─────────────────────────────────────────────────────────────────┘
Group(GiMcloseEdit) Using Keys
c ╔═════════════════════════════════════════════════════════════════╗
c ║ An empty 'Using Keys' group as final group ensures original ║
c ║ keystroke is emitted. ║
c ╟─────────────────────────────────────────────────────────────────╢
c ║ This Group is only called from a Backspace Rule in GiM. ║
c ╚═════════════════════════════════════════════════════════════════╝
c ▐▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▌
c ▐ This GiMcloseEdit group is only called once, the BKSP Rules in ▌
c ▐ the editing part of GiM. This works in the Test Keyboard window ▌
c ▐ in TIKE, but not when the keyboard is installed. ▌
c ▐▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▌
c │ End of GiMcloseEdit
c └─────────────────────────────────────────────────────────────────┘
c Processing complete, return to listening for a key press.
c □■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□
Group(MuM) using keys
c ╒══════════════════════════════════════════════════════════════════
c │ Markup Mode (MuM).
c │ Handles Latin Text and TPA markups of that text.
c │ This is the most common way to use TPA keyboard.
c ├──────────────────────────────────────────────────────────────────
c │ This Group is called from the GiM Group.
c └──────────────────────────────────────────────────────────────────
c ▐▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▌
c ▐ These two Rules are needed so the 102 key will emit the symbols. ▌
+ '\' > '\' c ▌
+ '|' > '|' c ▌
c ▐▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▌
c ┌──────────────────────────────────────────────────────────────────
c │ The Rule below adds TPA Glue to the output.
c │ TPA Glue is only ever used with TPA building blocks (Contructions).
c │ To reduce the risk that it be used with standard Latin letters,
c │ it has been commented out of TPA keyboard definition.
c │
c │ *** $GrahemeKey $GrahemeKey + $GrahemeKey > $TPAglue ***
c └──────────────────────────────────────────────────────────────────
c ┌──────────────────────────────────────────────────────────────────
c │ Add an 'x' above silent Latin Letters.
Any(LatinLetter) $SilentKey + $SilentKey > Context(1) Index(SilentLetterMarkup, 1)
c ┌──────────────────────────────────────────────────────────────────
c │ Strickout a Latin Letter WITHOUT a TPA superscript Clue
c │ (used with multi letter phonemes).
Any(LatinLetter) $StrickoutKey + $StrickoutKey > Context(1) Index(StrickOut,1)
c ┌──────────────────────────────────────────────────────────────────
c │ TPA Space,
c │ a low tilda.
' ' $GrahemeKey + $GrahemeKey > $TPAspace
c ┌──────────────────────────────────────────────────────────────────
c │ Hypen.
c │ NB TPA uses the standard Latin hypen, so there is no need for a specific Rule for the Hypen.
c ┌──────────────────────────────────────────────────────────────────
c │ Add an arrow below a Latin Letters.
c │ NB not strictly speaking part of TPA, it is included just because it can be useful.
Any(LatinLetter) $PointerKey + $PointerKey > Context(1) Index(Pointer,1)
c ┌──────────────────────────────────────────────────────────────────
c │ Single letter Vowel markups.
c │ NB all single letter vowels use only the overline bar.
Any(Vowel) $BarKey + $BarKey > Context(1) Index(TPAbar, 1) c a, e, i, o, u
c ┌──────────────────────────────────────────────────────────────────
c │ Double letter vowel markups.
c │ NB The oo graphemes use a different Arch & Tie unicode codepoints.
c │ This is to ensure that when sorting TPA constructions they come in the right place.
Any(aA) Any(rR) $ArchKey + $ArchKey > Context(1) $Arch_ Context(2) c ar
Any(eE) Any(rR) $ArchKey + $ArchKey > Context(1) $Arch_ Context(2) c er
Any(iI) Any(rR) $ArchKey + $ArchKey > Context(1) $Arch_ Context(2) c ir
Any(oO) Any(oO) $ArchKey + $ArchKey > Context(1) $ArchO Context(2) c oo This grapheme has an Aarch & a Tie.
Any(oO) Any(oO) $BarKey + $BarKey > Context(1) $TieO Context(2) c oo_ This grapheme has an Aarch & a Tie.
Any(oO) Any(rR) $ArchKey + $ArchKey > Context(1) $Arch_ Context(2) c or
Any(oO) Any(wW) $ArchKey + $ArchKey > Context(1) $Arch_ Context(2) c ow
Any(oO) Any(yY) $ArchKey + $ArchKey > Context(1) $Arch_ Context(2) c oy
Any(uU) Any(rR) $ArchKey + $ArchKey > Context(1) $Arch_ Context(2) c ur
c ┌──────────────────────────────────────────────────────────────────
c │ Two letter consonants. NB 'sh' & 'th' have both an Arch and a Tie.
Any(cC) Any(hH) $ArchKey + $ArchKey > Context(1) $Arch_ Context(2) c ch
Any(nN) Any(gG) $ArchKey + $ArchKey > Context(1) $Arch_ Context(2) c ng
Any(sS) Any(hH) $ArchKey + $ArchKey > Context(1) $Arch_ Context(2) c sh This grapheme has an Aarch & a Tie.
Any(sS) Any(hH) $BarKey + $BarKey > Context(1) $Tie_ Context(2) c sh_ This grapheme has an Aarch & a Tie.
Any(tT) Any(hH) $ArchKey + $ArchKey > Context(1) $Arch_ Context(2) c th This grapheme has an Aarch & a Tie.
Any(tT) Any(hH) $BarKey + $BarKey > Context(1) $Tie_ Context(2) c th_ This grapheme has an Aarch & a Tie.
c ┌──────────────────────────────────────────────────────────────────
c │ Menu Grapheme selection in MuM.
c │ If MenuFlag is 'Yes', these Rules display menus for grapheme selection.
c │ Only lowercase Latin letters are used to display menus.
c │ This allows the modifier key entry (below) to still function.
If(MenuFlag = 'Yes') Any(LatinLetter) $StrickoutKey + ['A'] > Context Outs(a_Menu) c │ a A_ ar
If(MenuFlag = 'Yes') Any(LatinLetter) $StrickoutKey + Any(cC) > Context Outs(c_Menu) c │ ch k s
If(MenuFlag = 'Yes') Any(LatinLetter) $StrickoutKey + ['E'] > Context Outs(e_Menu) c │ e E_ er
If(MenuFlag = 'Yes') Any(LatinLetter) $StrickoutKey + ['I'] > Context Outs(i_Menu) c │ i I_ ir
If(MenuFlag = 'Yes') Any(LatinLetter) $StrickoutKey + Any(nN) > Context Outs(n_Menu) c │ n ng
If(MenuFlag = 'Yes') Any(LatinLetter) $StrickoutKey + ['O'] > Context Outs(o_Menu) c │ o O_ oo oo_ or ow oy
If(MenuFlag = 'Yes') Any(LatinLetter) $StrickoutKey + Any(sS) > Context Outs(s_Menu) c │ s sh sh_
If(MenuFlag = 'Yes') Any(LatinLetter) $StrickoutKey + Any(tT) > Context Outs(t_Menu) c │ t th th_
If(MenuFlag = 'Yes') Any(LatinLetter) $StrickoutKey + ['U'] > Context Outs(u_Menu) c │ u U_ ur
c ┌──────────────────────────────────────────────────────────────────
c │ Modifier-key for grapheme selection in MuM.
c │ If MenuFlag is 'No' Use modifier keys to enter graphemes.
If(MenuFlag != 'Yes') Any(LatinLetter) $StrickoutKey + ['A'] > Context(1) Index(Strickout,2) Index(Sup_a,2) c │ a
If(MenuFlag != 'Yes') Any(LatinLetter) $StrickoutKey + ['E'] > Context(1) Index(Strickout,2) Index(Sup_e,2) c │ e
If(MenuFlag != 'Yes') Any(LatinLetter) $StrickoutKey + ['I'] > Context(1) Index(Strickout,2) Index(Sup_i,2) c │ i
If(MenuFlag != 'Yes') Any(LatinLetter) $StrickoutKey + ['O'] > Context(1) Index(Strickout,2) Index(Sup_o,2) c │ o
If(MenuFlag != 'Yes') Any(LatinLetter) $StrickoutKey + ['U'] > Context(1) Index(Strickout,2) Index(Sup_u,2) c │ u
c ┌──────────────────────────────────────────────────────────────────
c │ These Rules emit all the graphemes in TPA by use of modifier keys.
c │ NB Only 'oo', 'sh', & 'th' need the modifiers [RALT] & [RCTRL RALT].
c │ For consistancy 'ar', 'ch', 'er', 'ir', 'ng', 'or', 'ow', 'oy', & 'ur' have been given a
c │ [RCTRL RALT]; which is the same as the [RALT] Rule for that letter.
c │ NB Starred '*' Rules are duplicates of one another, eg [RALT 'A'] & [RCTRL RALT 'A'] emit the same grapheme.
c │ NB Commented out lines below show what was used before the MenuFlag code was added.
c _ Any(LatinLetter) $StrickoutKey + [ 'A'] > Context(1) Index(Strickout,1) Index(Sup_a,1) c │ a
Any(LatinLetter) $StrickoutKey + [SHIFT 'A'] > Context(1) Index(Strickout,1) Index(Sup_A_,1) c │ A_
Any(LatinLetter) $StrickoutKey + [ LCTRL LALT 'A'] > Context(1) Index(Strickout,1) Index(Sup_ar,1) c │ ar *
Any(LatinLetter) $StrickoutKey + [ RCTRL LALT 'A'] > Context(1) Index(Strickout,1) Index(Sup_ar,1) c │ ar *
Any(LatinLetter) $StrickoutKey + [ LCTRL RALT 'A'] > Context(1) Index(Strickout,1) Index(Sup_ar,1) c │ ar *
Any(LatinLetter) $StrickoutKey + [ RCTRL RALT 'A'] > Context(1) Index(Strickout,1) Index(Sup_ar,1) c │ ar *
Any(LatinLetter) $StrickoutKey + Any(bB) > Context(1) Index(Strickout,1) Index(Sup_b,1) c │ b
Any(LatinLetter) $StrickoutKey + Any(cC) > Context(1) Index(Strickout,1) Index(Sup_ch,1) c │ ch *
Any(LatinLetter) $StrickoutKey + [ LCTRL LALT 'C'] > Context(1) Index(Strickout,1) Index(Sup_ch,1) c │ ch *
Any(LatinLetter) $StrickoutKey + [ RCTRL LALT 'C'] > Context(1) Index(Strickout,1) Index(Sup_ch,1) c │ ch *
Any(LatinLetter) $StrickoutKey + [ LCTRL RALT 'C'] > Context(1) Index(Strickout,1) Index(Sup_ch,1) c │ ch *
Any(LatinLetter) $StrickoutKey + [ RCTRL RALT 'C'] > Context(1) Index(Strickout,1) Index(Sup_ch,1) c │ ch *
Any(LatinLetter) $StrickoutKey + Any(dD) > Context(1) Index(Strickout,1) Index(Sup_d,1) c │ d
c _ Any(LatinLetter) $StrickoutKey + [ 'E'] > Context(1) Index(Strickout,1) Index(Sup_e,1) c │ e
Any(LatinLetter) $StrickoutKey + [SHIFT 'E'] > Context(1) Index(Strickout,1) Index(Sup_E_,1) c │ E_
Any(LatinLetter) $StrickoutKey + [ LCTRL LALT 'E'] > Context(1) Index(Strickout,1) Index(Sup_er,1) c │ er *
Any(LatinLetter) $StrickoutKey + [ RCTRL LALT 'E'] > Context(1) Index(Strickout,1) Index(Sup_er,1) c │ er *
Any(LatinLetter) $StrickoutKey + [ LCTRL RALT 'E'] > Context(1) Index(Strickout,1) Index(Sup_er,1) c │ er *
Any(LatinLetter) $StrickoutKey + [ RCTRL RALT 'E'] > Context(1) Index(Strickout,1) Index(Sup_er,1) c │ er *
Any(LatinLetter) $StrickoutKey + Any(fF) > Context(1) Index(Strickout,1) Index(Sup_f,1) c │ f
Any(LatinLetter) $StrickoutKey + Any(gG) > Context(1) Index(Strickout,1) Index(Sup_g,1) c │ g
Any(LatinLetter) $StrickoutKey + Any(hH) > Context(1) Index(Strickout,1) Index(Sup_h,1) c │ h
c _ Any(LatinLetter) $StrickoutKey + [ 'I'] > Context(1) Index(Strickout,1) Index(Sup_i,1) c │ i
Any(LatinLetter) $StrickoutKey + [SHIFT 'I'] > Context(1) Index(Strickout,1) Index(Sup_I_,1) c │ I_
Any(LatinLetter) $StrickoutKey + [ LCTRL LALT 'I'] > Context(1) Index(Strickout,1) Index(Sup_ir,1) c │ ir *
Any(LatinLetter) $StrickoutKey + [ RCTRL LALT 'I'] > Context(1) Index(Strickout,1) Index(Sup_ir,1) c │ ir *
Any(LatinLetter) $StrickoutKey + [ LCTRL RALT 'I'] > Context(1) Index(Strickout,1) Index(Sup_ir,1) c │ ir *
Any(LatinLetter) $StrickoutKey + [ RCTRL RALT 'I'] > Context(1) Index(Strickout,1) Index(Sup_ir,1) c │ ir *
Any(LatinLetter) $StrickoutKey + Any(jJ) > Context(1) Index(Strickout,1) Index(Sup_j,1) c │ j
Any(LatinLetter) $StrickoutKey + Any(kK) > Context(1) Index(Strickout,1) Index(Sup_k,1) c │ k
Any(LatinLetter) $StrickoutKey + Any(lL) > Context(1) Index(Strickout,1) Index(Sup_l,1) c │ l
Any(LatinLetter) $StrickoutKey + Any(mM) > Context(1) Index(Strickout,1) Index(Sup_m,1) c │ m
Any(LatinLetter) $StrickoutKey + Any(nN) > Context(1) Index(Strickout,1) Index(Sup_n,1) c │ n
Any(LatinLetter) $StrickoutKey + [ LCTRL LALT 'N'] > Context(1) Index(Strickout,1) Index(Sup_ng,1) c │ ng *
Any(LatinLetter) $StrickoutKey + [ RCTRL LALT 'N'] > Context(1) Index(Strickout,1) Index(Sup_ng,1) c │ ng *
Any(LatinLetter) $StrickoutKey + [ LCTRL RALT 'N'] > Context(1) Index(Strickout,1) Index(Sup_ng,1) c │ ng *
Any(LatinLetter) $StrickoutKey + [ RCTRL RALT 'N'] > Context(1) Index(Strickout,1) Index(Sup_ng,1) c │ ng *
c _ Any(LatinLetter) $StrickoutKey + [ 'O'] > Context(1) Index(Strickout,1) Index(Sup_o,1) c │ o
Any(LatinLetter) $StrickoutKey + [SHIFT 'O'] > Context(1) Index(Strickout,1) Index(Sup_O_,1) c │ O_
Any(LatinLetter) $StrickoutKey + [ LCTRL LALT 'O'] > Context(1) Index(Strickout,1) Index(Sup_oo,1) c │ oo *
Any(LatinLetter) $StrickoutKey + [ RCTRL LALT 'O'] > Context(1) Index(Strickout,1) Index(Sup_oo,1) c │ oo *
Any(LatinLetter) $StrickoutKey + [ LCTRL RALT 'O'] > Context(1) Index(Strickout,1) Index(Sup_oo_,1) c │ OO_ *
Any(LatinLetter) $StrickoutKey + [ RCTRL RALT 'O'] > Context(1) Index(Strickout,1) Index(Sup_oo_,1) c │ OO_ *
Any(LatinLetter) $StrickoutKey + [ LCTRL LALT 'R'] > Context(1) Index(Strickout,1) Index(Sup_or,1) c │ or *
Any(LatinLetter) $StrickoutKey + [ RCTRL LALT 'R'] > Context(1) Index(Strickout,1) Index(Sup_or,1) c │ or *
Any(LatinLetter) $StrickoutKey + [ LCTRL RALT 'R'] > Context(1) Index(Strickout,1) Index(Sup_or,1) c │ or *
Any(LatinLetter) $StrickoutKey + [ RCTRL RALT 'R'] > Context(1) Index(Strickout,1) Index(Sup_or,1) c │ or *
Any(LatinLetter) $StrickoutKey + [ LCTRL LALT 'W'] > Context(1) Index(Strickout,1) Index(Sup_ow,1) c │ ow *
Any(LatinLetter) $StrickoutKey + [ RCTRL LALT 'W'] > Context(1) Index(Strickout,1) Index(Sup_ow,1) c │ ow *
Any(LatinLetter) $StrickoutKey + [ LCTRL RALT 'W'] > Context(1) Index(Strickout,1) Index(Sup_ow,1) c │ ow *
Any(LatinLetter) $StrickoutKey + [ RCTRL RALT 'W'] > Context(1) Index(Strickout,1) Index(Sup_ow,1) c │ ow *
Any(LatinLetter) $StrickoutKey + [ LCTRL LALT 'Y'] > Context(1) Index(Strickout,1) Index(Sup_oy,1) c │ oy *
Any(LatinLetter) $StrickoutKey + [ RCTRL LALT 'Y'] > Context(1) Index(Strickout,1) Index(Sup_oy,1) c │ oy *
Any(LatinLetter) $StrickoutKey + [ LCTRL RALT 'Y'] > Context(1) Index(Strickout,1) Index(Sup_oy,1) c │ oy *
Any(LatinLetter) $StrickoutKey + [ RCTRL RALT 'Y'] > Context(1) Index(Strickout,1) Index(Sup_oy,1) c │ oy *
Any(LatinLetter) $StrickoutKey + Any(pP) > Context(1) Index(Strickout,1) Index(Sup_p,1) c │ p
Any(LatinLetter) $StrickoutKey + Any(qQ) > Context(1) Index(Strickout,1) Index(Sup_q,1) c │ q
Any(LatinLetter) $StrickoutKey + Any(rR) > Context(1) Index(Strickout,1) Index(Sup_r,1) c │ r
Any(LatinLetter) $StrickoutKey + Any(sS) > Context(1) Index(Strickout,1) Index(Sup_s,1) c │ s
Any(LatinLetter) $StrickoutKey + [ LCTRL LALT 'S'] > Context(1) Index(Strickout,1) Index(Sup_sh,1) c │ sh *
Any(LatinLetter) $StrickoutKey + [ RCTRL LALT 'S'] > Context(1) Index(Strickout,1) Index(Sup_sh,1) c │ sh *
Any(LatinLetter) $StrickoutKey + [ LCTRL RALT 'S'] > Context(1) Index(Strickout,1) Index(Sup_sh_,1) c │ sh_ *
Any(LatinLetter) $StrickoutKey + [ RCTRL RALT 'S'] > Context(1) Index(Strickout,1) Index(Sup_sh_,1) c │ sh_ *
Any(LatinLetter) $StrickoutKey + Any(tT) > Context(1) Index(Strickout,1) Index(Sup_t,1) c │ t
Any(LatinLetter) $StrickoutKey + [ LCTRL LALT 'T'] > Context(1) Index(Strickout,1) Index(Sup_th,1) c │ th *
Any(LatinLetter) $StrickoutKey + [ RCTRL LALT 'T'] > Context(1) Index(Strickout,1) Index(Sup_th,1) c │ th *
Any(LatinLetter) $StrickoutKey + [ LCTRL RALT 'T'] > Context(1) Index(Strickout,1) Index(Sup_th_,1) c │ th_ *
Any(LatinLetter) $StrickoutKey + [ RCTRL RALT 'T'] > Context(1) Index(Strickout,1) Index(Sup_th_,1) c │ th_ *
c _ Any(LatinLetter) $StrickoutKey + [ 'U'] > Context(1) Index(Strickout,1) Index(Sup_u,1) c │ u
Any(LatinLetter) $StrickoutKey + [SHIFT 'U'] > Context(1) Index(Strickout,1) Index(Sup_U_,1) c │ U_
Any(LatinLetter) $StrickoutKey + [ LCTRL LALT 'U'] > Context(1) Index(Strickout,1) Index(Sup_ur,1) c │ ur *
Any(LatinLetter) $StrickoutKey + [ RCTRL LALT 'U'] > Context(1) Index(Strickout,1) Index(Sup_ur,1) c │ ur *
Any(LatinLetter) $StrickoutKey + [ LCTRL RALT 'U'] > Context(1) Index(Strickout,1) Index(Sup_ur,1) c │ ur *
Any(LatinLetter) $StrickoutKey + [ RCTRL RALT 'U'] > Context(1) Index(Strickout,1) Index(Sup_ur,1) c │ ur *
Any(LatinLetter) $StrickoutKey + Any(vV) > Context(1) Index(Strickout,1) Index(Sup_v,1) c │ v
Any(LatinLetter) $StrickoutKey + Any(wW) > Context(1) Index(Strickout,1) Index(Sup_w,1) c │ w
Any(LatinLetter) $StrickoutKey + Any(xX) > Context(1) Index(Strickout,1) Index(Sup_x,1) c │ x
Any(LatinLetter) $StrickoutKey + Any(yY) > Context(1) Index(Strickout,1) Index(Sup_y,1) c │ y
Any(LatinLetter) $StrickoutKey + Any(zZ) > Context(1) Index(Strickout,1) Index(Sup_z,1) c │ z
c │ NB Stared '*' Rules are dublicates of one another, eg [RALT 'U'] & [RCTRL RALT 'U'] emit the same graphgeme.
c ╒==================================================================
c │ Shwa for single letter vowels.
Any(Vowel) $ShwaKey + $ShwaKey > Context(1) Index(TPAshwa,1)
c ┌──────────────────────────────────────────────────────────────────
c │ Shwa for double letter vowels.
c │ NB Lowercase letters use a lower shwa.
Any(VowelL) 'r' $ShwaKey + $ShwaKey > Context(1) $Shwa2L Context(2)
'o' 'o' $ShwaKey + $ShwaKey > Context(1) $Shwa2L Context(2)
'o' 'w' $ShwaKey + $ShwaKey > Context(1) $Shwa2L Context(2)
'o' 'y' $ShwaKey + $ShwaKey > Context(1) $Shwa2L Context(2)
c ┌──────────────────────────────────────────────────────────────────
c │ NB All other possible combinations of case use the higher shwa.
Any(Vowel) Any(rR) $ShwaKey + $ShwaKey > Context(1) $Shwa2U Context(2)
Any(oO) Any(oO) $ShwaKey + $ShwaKey > Context(1) $Shwa2U Context(2)
Any(oO) Any(wW) $ShwaKey + $ShwaKey > Context(1) $Shwa2U Context(2)
Any(oO) Any(yY) $ShwaKey + $ShwaKey > Context(1) $Shwa2U Context(2)
c ╒══════════════════════════════════════════════════════════════════
c │ Additional Rules for useful symbols.
c └──────────────────────────────────────────────────────────────────
c ┌──────────────────────────────────────────────────────────────────
c │ Chevrons
"<" + "<" > U+226A
">" + ">" > U+226B
U+226A + "<" > U+22D8
U+226B + ">" > U+22D9
c ┌──────────────────────────────────────────────────────────────────
c │ Continuations
'..' + '.' > '…' c Ellipsis
'::' + ':' > U+22EE c Ellipsis Vertical
',,' + ',' > U+22EF c Ellipsis Centre
c ┌──────────────────────────────────────────────────────────────────
c │ Legal
'{' Any(cC) + '}' > '©' c Copyright
'{' Any(rR) + '}' > '®' c Registered
'{' Any(tT) Any(mM) + '}' > '™' c Trade Mark
'{P' + '}' > U+2117 c Sound Recording Copyright
c ┌──────────────────────────────────────────────────────────────────
c │ Maths
'{' Any(xX) + '}' > '×' c Multiply
'{*' + '}' > '×' c Times
'{-' + '}' > '÷' c Divide
'{/' + '}' > '÷' c Divide
'{+-' + '}' > '±' c Plus Minus
'{-+' + '}' > U+2213 c Minus Plus
'{p' + '}' > U+221D c Proportional
'{~' + '}' > '≈' c Almost Equal
'{+' + '}' > U+224D c Equivalent NB '+' is Shift '='
'{!+' + '}' > U+226D c Not Equivalent
'{!=' + '}' > '≠' c Not Equal
'{<>' + '}' > '≠' c Not Equal
'{==' + '}' > '≡' c Identical
'{!==' + '}' > U+2262 c Identical
'{<=' + '}' > '≤' c Lest Than or Equal
'{>=' + '}' > '≥' c Greater Than or Equal
'{I' + '}' > '∞' c Infinity
'{N' + '}' > '№' c Numero
c ┌──────────────────────────────────────────────────────────────────
c │ Fractions
'{1/4' + '}' > '¼' c Quarter
'{1/2' + '}' > '½' c Half
'{3/4' + '}' > '¾' c Three Quarters
'{1/7' + '}' > '⅐' c One Seventh
'{1/9' + '}' > '⅑' c One Ninth
'{1/10' + '}' > '⅒' c One Tenth
'{1/3' + '}' > '⅓' c One Third
'{2/3' + '}' > '⅔' c Two Thirds
'{1/5' + '}' > '⅕' c One Fifth
'{2/5' + '}' > '⅖' c Two Fifths
'{3/5' + '}' > '⅗' c Three Fifths
'{4/5' + '}' > '⅘' c Four Fifths
'{1/6' + '}' > '⅙' c One Sixth
'{5/6' + '}' > '⅚' c Two Sixths
'{1/8' + '}' > '⅛' c One eighth
'{3/8' + '}' > '⅜' c Three eighths
'{5/8' + '}' > '⅝' c Five eighths
'{7/8' + '}' > '⅞' c Seven eighths
'{1/' + '}' > '⅟' c Unitary Fraction
c ┌──────────────────────────────────────────────────────────────────
c │ Greek
'{a' + '}' > 'α' c Lowercase Alpha
'{A' + '}' > U+0391 c Uppercase Alpha
'{b' + '}' > 'β' c Lowercase Beta
'{o' + '}' > 'ω' c Lowercase Omega
'{O' + '}' > 'Ω' c Uppercase Omega
'{ohm' + '}' > 'Ω' c Ohm
'{p' Any(iI) + '}' > 'π' c Lowercase Pi
'{P' Any(iI) + '}' > 'Π' c Uppercase Pi
'{S' + '}' > 'Σ' c Sigma / Sum
'{u' + '}' > 'μ' c Lowercase Mu
'{z' + '}' > 'ω' c Lowercase Omega
'{Z' + '}' > 'Ω' c Uppercase Omega
c ┌──────────────────────────────────────────────────────────────────
c │ Symbols
'{B' + '}' > '∵' c Because
'{T' + '}' > '∴' c Therefore
'{i' + '}' > U+2139 c Information
'{d' + '}' > '†' c Dagger
'{D' + '}' > '‡' c Double Dagger
'{l' + '}' > U+2301 c Lightning
'{' Any(fF) + '}' > 'ƒ' c Long f
c ┌──────────────────────────────────────────────────────────────────
c │ Faces
'{:' + '}' > U+E6A0 c Minimal
'{))' + '}' > U+E6A1 c Very Happy
'{)' + '}' > U+E6A2 c Happy
'{|' + '}' > U+E6A3 c Neutral
'{(' + '}' > U+E6A4 c Unhappy
'{((' + '}' > U+E6A5 c Very Unhappy
'{>' + '}' > U+E6A6 c Angry
'{>>' + '}' > U+E6A7 c Very Angry
'{<' + '}' > U+E6A8 c Sad
'{<<' + '}' > U+E6A9 c Very Sad
'{;' + '}' > U+E6AA c Winking
'{{' + '}' > U+E6AB c Frowning
'{/' + '}' > U+E6AC c Confused
'{!' + '}' > U+E6AD c Supprised
'{z' + '}' > U+E6AE c Asleep
'{c' + '}' > U+E6AF c Cool
c ┌──────────────────────────────────────────────────────────────────
c │ Counters (Thermometer)
'{t0' + '}' > U+E720
'{t1' + '}' > U+E721
'{t2' + '}' > U+E722
'{t3' + '}' > U+E723
'{t4' + '}' > U+E724
'{t5' + '}' > U+E725
'{t6' + '}' > U+E726
'{t7' + '}' > U+E727
'{t8' + '}' > U+E728
'{t9' + '}' > U+E729
c ┌──────────────────────────────────────────────────────────────────
c │ Counters (Counter)
'{c0' + '}' > U+E750
'{c1' + '}' > U+E751
'{c2' + '}' > U+E752
'{c3' + '}' > U+E753
'{c4' + '}' > U+E754
'{c5' + '}' > U+E755
'{c6' + '}' > U+E756
'{c7' + '}' > U+E757
'{c8' + '}' > U+E758
'{c9' + '}' > U+E759
c ┌──────────────────────────────────────────────────────────────────
c │ Counters (Dominos)
'{d0' + '}' > U+E760
'{d1' + '}' > U+E761
'{d2' + '}' > U+E762
'{d3' + '}' > U+E763
'{d4' + '}' > U+E764
'{d5' + '}' > U+E765
'{d6' + '}' > U+E766
'{d7' + '}' > U+E767
'{d8' + '}' > U+E768
'{d9' + '}' > U+E769
c ┌──────────────────────────────────────────────────────────────────
c │ Counters (Square)
'{s0' + '}' > U+E770
'{s1' + '}' > U+E771
'{s2' + '}' > U+E772
'{s3' + '}' > U+E773
'{s4' + '}' > U+E774
'{s5' + '}' > U+E775
'{s6' + '}' > U+E776
'{s7' + '}' > U+E777
'{s8' + '}' > U+E778
'{s9' + '}' > U+E779
c ┌──────────────────────────────────────────────────────────────────
c │ Counters (Circle)
'{o0' + '}' > U+E780
'{o1' + '}' > U+E781
'{o2' + '}' > U+E782
'{o3' + '}' > U+E783
'{o4' + '}' > U+E784
'{o5' + '}' > U+E785
'{o6' + '}' > U+E786
'{o7' + '}' > U+E787
'{o8' + '}' > U+E788
'{o9' + '}' > U+E789
c ┌──────────────────────────────────────────────────────────────────
c │ Counters (Seven Segment)
'{70' + '}' > U+E790
'{71' + '}' > U+E791
'{72' + '}' > U+E792
'{73' + '}' > U+E793
'{74' + '}' > U+E794
'{75' + '}' > U+E795
'{76' + '}' > U+E796
'{77' + '}' > U+E797
'{78' + '}' > U+E798
'{79' + '}' > U+E799
c ┌──────────────────────────────────────────────────────────────────
c │ The Phonbic Alphabet (TPA) logo
'{TPA' + '}' > U+E000 c TPA Icon
c │ End of MuM
c └─────────────────────────────────────────────────────────────────┘
c Processing complete, return to listening for a key press.
c □■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
c Build constant Stores for Latin letters, TPA Graphemes, and Menus.
c □■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
c ╔═════════════════════════════════════════════════════════════════╗
c ║ Special key combinations. ║
c ╚═════════════════════════════════════════════════════════════════╝
c ┌──────────────────────────────────────────────────────────────────
c │ c Used in the menu Groups to through an error.
Store(TextEffectors) [K_TAB] [K_?05] [K_BKSP] [K_ENTER] [K_NPENTER] c [K_DEL]
Store(CursorKeys) [K_KP5] c [K_UP] [K_END] [K_LEFT] [K_DOWN] [K_HOME] [K_PGUP] [K_PGDN] [K_RIGHT]
c ▐▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▌
c ▐ The [K_<cursor keys>] has been commented out because, currently,▌
c ▐ if they are in the string 'CursorKeys' they no longer functions ▌
c ▐ when the TPA Keyboard is active. ▌
c ▐▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▌
c ▐▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▌
c ▐ The [K_KP5] is in the string so the string is not empty. ▌
c ▐ It must be deleted when this issue is resolved. ▌
c ▐▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▌
c ┌──────────────────────────────────────────────────────────────────
c │ Used in the menu Groups to close a menu.
Store(MenuCancel) [K_ESC] [K_BKSP]
c ┌──────────────────────────────────────────────────────────────────
c │ Used in GiM to remove the entire TPA Constructions.
Store(Redo) [K_ESC] c [K_DEL]
c ▐▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▌
c ▐ The [K_DEL] above has been commented out because, currently, ▌
c ▐ if it's in the string 'Redo' the DEL key no longer functions ▌
c ▐ when the TPA Keyboard is active. ▌
c ▐▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▌
c ╔═════════════════════════════════════════════════════════════════╗
c ║ Latin constants. ║
c ╚═════════════════════════════════════════════════════════════════╝
c ┌──────────────────────────────────────────────────────────────────
c │ Latin vowels.
Store(vowelL) 'aeiou'
Store(vowelU) 'AEIOU'
Store(vowel) Outs(vowelL) Outs(vowelU)
c ┌──────────────────────────────────────────────────────────────────
c │ English Keyboard symbols
Store(Number) '0123456789'
Store(Symbol) [K_oE2] '"' '" .,;:`!?&()[]{} \/=+-~_<>#*%^£€$|¦¬@'
Store(AltGr) 'áéíóúÁÉÍÓÚ€¦'
c ▐▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▌
c ▐ The '[K_oE2]' virtual key in a Mnemonic Layout is ▌
c ▐ the only way I can find to access the 102 key. ▌
c ▐ But it produces a Warning. ▌
c ▐▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▌
c ┌──────────────────────────────────────────────────────────────────
c │ Latin letters.
Store(LatinLetterLC) 'abcdefghijklmnopqrstuvwxyz'
Store(LatinLetterUC) 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
Store(LatinLetter) Outs(LatinLetterLC) Outs(LatinLetterUC)
c ┌──────────────────────────────────────────────────────────────────
c │ All displayable Letters, Numbers, & Symbols.
Store(AllGlyphs) Outs(LatinLetter) Outs(Number) Outs(Symbol) Outs(AltGr)
c ╒══════════════════════════════════════════════════════════════════
c │ Lowercase / Capitals Stores so Any() commands can ignore the case of the Context.
Store(aA) 'aA'
Store(bB) 'bB'
Store(cC) 'cC'
Store(dD) 'dD'
Store(eE) 'eE'
Store(fF) 'fF'
Store(gG) 'gG'
Store(hH) 'hH'
Store(iI) 'iI'
Store(jJ) 'jJ'
Store(kK) 'kK'
Store(lL) 'lL'
Store(mM) 'mM'
Store(nN) 'nN'
Store(oO) 'oO'
Store(pP) 'pP'
Store(qQ) 'qQ'
Store(rR) 'rR'
Store(sS) 'sS'
Store(tT) 'tT'
Store(uU) 'uU'
Store(vV) 'vV'
Store(wW) 'wW'
Store(xX) 'xX'
Store(yY) 'yY'
Store(zZ) 'zZ'
c □■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□
c ╔═════════════════════════════════════════════════════════════════╗
c ║ TPA constants. ║
c ╚═════════════════════════════════════════════════════════════════╝
c ┌──────────────────────────────────────────────────────────────────
c │ TPA markup keys.
Store(BarKey) "_"
Store(ArchKey) ")"
Store(SilentKey) "*"
Store(StrickoutKey) "="
Store(GrahemeKey) "_"
Store(ShwaKey) "`"
Store(PointerKey) "^"
Store(TPAglue) U+E010
Store(TPAspace) U+E020
Store(TPAcursor) U+E030
c ┌──────────────────────────────────────────────────────────────────
c │ TPAGraphemes.
Store(TPA_a) U+F001
Store(TPA_A_) U+F002
Store(TPA_ar) U+F003
Store(TPA_b) U+F004
Store(TPA_c) U+F005
Store(TPA_ch) U+F006
Store(TPA_d) U+F007
Store(TPA_e) U+F008
Store(TPA_E_) U+F009
Store(TPA_er) U+F010
Store(TPA_f) U+F011
Store(TPA_g) U+F012
Store(TPA_h) U+F013
Store(TPA_i) U+F014
Store(TPA_I_) U+F015
Store(TPA_ir) U+F016
Store(TPA_j) U+F017
Store(TPA_k) U+F018
Store(TPA_l) U+F019
Store(TPA_m) U+F020
Store(TPA_n) U+F021
Store(TPA_ng) U+F022
Store(TPA_o) U+F023
Store(TPA_O_) U+F024
Store(TPA_oo) U+F025
Store(TPA_oo_) U+F026
Store(TPA_or) U+F027
Store(TPA_ow) U+F028
Store(TPA_oy) U+F029
Store(TPA_p) U+F030
Store(TPA_q) U+F031
Store(TPA_r) U+F032
Store(TPA_s) U+F033
Store(TPA_sh) U+F034
Store(TPA_sh_) U+F035
Store(TPA_t) U+F036
Store(TPA_th) U+F037
Store(TPA_th_) U+F038
Store(TPA_u) U+F039
Store(TPA_U_) U+F040
Store(TPA_ur) U+F041
Store(TPA_v) U+F042
Store(TPA_w) U+F043
Store(TPA_x) U+F044
Store(TPA_y) U+F045
Store(TPA_z) U+F046
c ┌──────────────────────────────────────────────────────────────────
c │ All valid TPA graphemes
Store(TPAgrapheme) $TPA_a $TPA_A_ $TPA_ar $TPA_b $TPA_ch $TPA_d \
$TPA_e $TPA_E_ $TPA_er $TPA_f $TPA_g $TPA_h \
$TPA_i $TPA_I_ $TPA_ir $TPA_j $TPA_k $TPA_l $TPA_m $TPA_n $TPA_ng \
$TPA_o $TPA_O_ $TPA_oo $TPA_oo_ $TPA_or $TPA_ow $TPA_oy \
$TPA_p $TPA_q $TPA_r $TPA_s $TPA_sh $TPA_sh_ $TPA_t $TPA_th $TPA_th_ \
$TPA_u $TPA_U_ $TPA_ur $TPA_v $TPA_w $TPA_x $TPA_y $TPA_z
c ┌──────────────────────────────────────────────────────────────────
c │ TPA Punctuations
Store(TPApunctuation) $TPAglue $TPAspace '-' c Used in GiM to remove TPA Constructions.
c ╒══════════════════════════════════════════════════════════════════
c │ TPA Markup Unicode codepoints.
Store(BarL) U+E011 c For a, e, o, u
Store(BarIi) U+E012 c For i, I
Store(BarU) U+E013 c For A, E, O, U
Store(ArchO) U+E014 c For double "o" graphemes only.
Store(TieO) U+E015 c For double "o" graphemes only.
Store(Arch_) U+E016 c For all other double letter graphemes with an Arch.
Store(Tie_) U+E017 c For all other double letter graphemes with a Tie.
Store(ShwaL) U+E018 c For a, e, o, u
Store(ShwaIi) U+E019 c For i, I
Store(ShwaU) U+E01A c For A, E, O, U
Store(Shwa2L) U+E01B c For all Lowercase double letter vowels.
Store(Shwa2U) U+E01C c For all Uppercase double letter vowels.
c ┌──────────────────────────────────────────────────────────────────
c │ TPAbar. The high Bar sysmbol for 'aeiou \ AEIOU'. NB "i" & "I" use a different Bar.
Store(TPAbar) $BarL $BarL $BarIi $BarL $BarL \
$BarU $BarU $BarIi $BarU $BarU
c ┌------------------------------------------------------------------
c │ TPAshwa. The Shwa sysmbol for 'aeiou \ AEIOU'. NB "i" & "I" use a different Shwa.
Store(TPAshwa) $ShwaL $ShwaL $ShwaIi $ShwaL $ShwaL \
$ShwaU $ShwaU $ShwaIi $ShwaU $ShwaU
c ╒══════════════════════════════════════════════════════════════════
c │ TPA strickout. The TPA Strickout sysmbol '='. Different for each Latin Letter.
c │ a b c d
c │ e f g h
c │ i j k l m n
c │ o p q r s t
c │ u v w x y z
c │ Then the same but for capital letters.
Store(StrickOut) U+E061 U+E062 U+E063 U+E064 \
U+E065 U+E066 U+E067 U+E068 \
U+E069 U+E06A U+E06B U+E06C U+E06D U+E06E \
U+E06F U+E070 U+E071 U+E072 U+E073 U+E074 \
U+E075 U+E076 U+E077 U+E078 U+E079 U+E07A \
U+E041 U+E042 U+E043 U+E044 \
U+E045 U+E046 U+E047 U+E048 \
U+E049 U+E04A U+E04B U+E04C U+E04D U+E04E \
U+E04F U+E050 U+E051 U+E052 U+E053 U+E054 \
U+E055 U+E056 U+E057 U+E058 U+E059 U+E05A
c ╒══════════════════════════════════════════════════════════════════
c │ TPA phonic clue superscripts table.
c │ a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Store(Sup_a) U+F401 U+F401 U+F301 U+F401 U+F401 U+F101 U+F501 U+F501 U+F201 U+F101 U+F301 U+F201 U+F801 U+F501 U+F401 U+F401 U+F401 U+F201 U+F301 U+F301 U+F401 U+F301 U+F501 U+F301 U+F301 U+F301 U+F601 U+F601 U+F501 U+F701 U+F401 U+F401 U+F601 U+F701 U+F201 U+F201 U+F601 U+F401 U+F801 U+F701 U+F701 U+F501 U+F701 U+F601 U+F401 U+F401 U+F701 U+F601 U+F801 U+F501 U+F501 U+F501 c a
Store(Sup_A_) U+F402 U+F402 U+F302 U+F402 U+F402 U+F102 U+F502 U+F502 U+F202 U+F102 U+F302 U+F202 U+F802 U+F502 U+F402 U+F402 U+F402 U+F202 U+F302 U+F302 U+F402 U+F302 U+F502 U+F302 U+F302 U+F302 U+F602 U+F602 U+F502 U+F702 U+F402 U+F402 U+F602 U+F702 U+F202 U+F202 U+F602 U+F402 U+F802 U+F702 U+F702 U+F502 U+F702 U+F602 U+F402 U+F402 U+F702 U+F602 U+F802 U+F502 U+F502 U+F502 c a_
Store(Sup_ar) U+F403 U+F403 U+F303 U+F403 U+F403 U+F103 U+F503 U+F503 U+F203 U+F103 U+F303 U+F203 U+F803 U+F503 U+F403 U+F403 U+F403 U+F203 U+F303 U+F303 U+F403 U+F303 U+F503 U+F303 U+F303 U+F303 U+F603 U+F603 U+F503 U+F703 U+F403 U+F403 U+F603 U+F703 U+F203 U+F203 U+F603 U+F403 U+F803 U+F703 U+F703 U+F503 U+F703 U+F603 U+F403 U+F403 U+F703 U+F603 U+F803 U+F503 U+F503 U+F503 c ar
Store(Sup_b) U+F404 U+F404 U+F304 U+F404 U+F404 U+F104 U+F504 U+F504 U+F204 U+F104 U+F304 U+F204 U+F804 U+F504 U+F404 U+F404 U+F404 U+F204 U+F304 U+F304 U+F404 U+F304 U+F504 U+F304 U+F304 U+F304 U+F604 U+F604 U+F504 U+F704 U+F404 U+F404 U+F604 U+F704 U+F204 U+F204 U+F604 U+F404 U+F804 U+F704 U+F704 U+F504 U+F704 U+F604 U+F404 U+F404 U+F704 U+F604 U+F804 U+F504 U+F504 U+F504 c b
Store(Sup_c) U+F405 U+F405 U+F305 U+F405 U+F405 U+F105 U+F505 U+F505 U+F205 U+F105 U+F305 U+F205 U+F805 U+F505 U+F405 U+F405 U+F405 U+F205 U+F305 U+F305 U+F405 U+F305 U+F505 U+F305 U+F305 U+F305 U+F604 U+F604 U+F504 U+F704 U+F404 U+F404 U+F604 U+F704 U+F204 U+F204 U+F604 U+F404 U+F804 U+F704 U+F704 U+F504 U+F704 U+F604 U+F404 U+F404 U+F704 U+F604 U+F804 U+F504 U+F504 U+F504 c ch
Store(Sup_ch) U+F406 U+F406 U+F306 U+F406 U+F406 U+F106 U+F506 U+F506 U+F206 U+F106 U+F306 U+F206 U+F806 U+F506 U+F406 U+F406 U+F406 U+F206 U+F306 U+F306 U+F406 U+F306 U+F506 U+F306 U+F306 U+F306 U+F606 U+F606 U+F506 U+F706 U+F406 U+F406 U+F606 U+F706 U+F206 U+F206 U+F606 U+F406 U+F806 U+F706 U+F706 U+F506 U+F706 U+F606 U+F406 U+F406 U+F706 U+F606 U+F806 U+F506 U+F506 U+F506 c ch
Store(Sup_d) U+F407 U+F407 U+F307 U+F407 U+F407 U+F107 U+F507 U+F507 U+F207 U+F107 U+F307 U+F207 U+F807 U+F507 U+F407 U+F407 U+F407 U+F207 U+F307 U+F307 U+F407 U+F307 U+F507 U+F307 U+F307 U+F307 U+F607 U+F607 U+F507 U+F707 U+F407 U+F407 U+F607 U+F707 U+F207 U+F207 U+F607 U+F407 U+F807 U+F707 U+F707 U+F507 U+F707 U+F607 U+F407 U+F407 U+F707 U+F607 U+F807 U+F507 U+F507 U+F507 c d
c │ a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Store(Sup_e) U+F408 U+F408 U+F308 U+F408 U+F408 U+F108 U+F508 U+F508 U+F208 U+F108 U+F308 U+F208 U+F808 U+F508 U+F408 U+F408 U+F408 U+F208 U+F308 U+F308 U+F408 U+F308 U+F508 U+F308 U+F308 U+F308 U+F608 U+F608 U+F508 U+F708 U+F408 U+F408 U+F608 U+F708 U+F208 U+F208 U+F608 U+F408 U+F808 U+F708 U+F708 U+F508 U+F708 U+F608 U+F408 U+F408 U+F708 U+F608 U+F808 U+F508 U+F508 U+F508 c e
Store(Sup_E_) U+F409 U+F409 U+F309 U+F409 U+F409 U+F109 U+F509 U+F509 U+F209 U+F109 U+F309 U+F209 U+F809 U+F509 U+F409 U+F409 U+F409 U+F209 U+F309 U+F309 U+F409 U+F309 U+F509 U+F309 U+F309 U+F309 U+F609 U+F609 U+F509 U+F709 U+F409 U+F409 U+F609 U+F709 U+F209 U+F209 U+F609 U+F409 U+F809 U+F709 U+F709 U+F509 U+F709 U+F609 U+F409 U+F409 U+F709 U+F609 U+F809 U+F509 U+F509 U+F509 c E_
Store(Sup_er) U+F410 U+F410 U+F310 U+F410 U+F410 U+F110 U+F510 U+F510 U+F210 U+F110 U+F310 U+F210 U+F810 U+F510 U+F410 U+F410 U+F410 U+F210 U+F310 U+F310 U+F410 U+F310 U+F510 U+F310 U+F310 U+F310 U+F610 U+F610 U+F510 U+F710 U+F410 U+F410 U+F610 U+F710 U+F210 U+F210 U+F610 U+F410 U+F810 U+F710 U+F710 U+F510 U+F710 U+F610 U+F410 U+F410 U+F710 U+F610 U+F810 U+F510 U+F510 U+F510 c er
Store(Sup_f) U+F411 U+F411 U+F311 U+F411 U+F411 U+F111 U+F511 U+F511 U+F211 U+F111 U+F311 U+F211 U+F811 U+F511 U+F411 U+F411 U+F411 U+F211 U+F311 U+F311 U+F411 U+F311 U+F511 U+F311 U+F311 U+F311 U+F611 U+F611 U+F511 U+F711 U+F411 U+F411 U+F611 U+F711 U+F211 U+F211 U+F611 U+F411 U+F811 U+F711 U+F711 U+F511 U+F711 U+F611 U+F411 U+F411 U+F711 U+F611 U+F811 U+F511 U+F511 U+F511 c f
Store(Sup_g) U+F412 U+F412 U+F312 U+F412 U+F412 U+F112 U+F512 U+F512 U+F212 U+F112 U+F312 U+F212 U+F812 U+F512 U+F412 U+F412 U+F412 U+F212 U+F312 U+F312 U+F412 U+F312 U+F512 U+F312 U+F312 U+F312 U+F612 U+F612 U+F512 U+F712 U+F412 U+F412 U+F612 U+F712 U+F212 U+F212 U+F612 U+F412 U+F812 U+F712 U+F712 U+F512 U+F712 U+F612 U+F412 U+F412 U+F712 U+F612 U+F812 U+F512 U+F512 U+F512 c g
Store(Sup_h) U+F413 U+F413 U+F313 U+F413 U+F413 U+F113 U+F513 U+F513 U+F213 U+F113 U+F313 U+F213 U+F813 U+F513 U+F413 U+F413 U+F413 U+F213 U+F313 U+F313 U+F413 U+F313 U+F513 U+F313 U+F313 U+F313 U+F613 U+F613 U+F513 U+F713 U+F413 U+F413 U+F613 U+F713 U+F213 U+F213 U+F613 U+F413 U+F813 U+F713 U+F713 U+F513 U+F713 U+F613 U+F413 U+F413 U+F713 U+F613 U+F813 U+F513 U+F513 U+F513 c h
c │ a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Store(Sup_i) U+F414 U+F414 U+F314 U+F414 U+F414 U+F114 U+F514 U+F514 U+F214 U+F114 U+F314 U+F214 U+F814 U+F514 U+F414 U+F414 U+F414 U+F214 U+F314 U+F314 U+F414 U+F314 U+F514 U+F314 U+F314 U+F314 U+F614 U+F614 U+F514 U+F714 U+F414 U+F414 U+F614 U+F714 U+F214 U+F214 U+F614 U+F414 U+F814 U+F714 U+F714 U+F514 U+F714 U+F614 U+F414 U+F414 U+F714 U+F614 U+F814 U+F514 U+F514 U+F514 c i
Store(Sup_I_) U+F415 U+F415 U+F315 U+F415 U+F415 U+F115 U+F515 U+F515 U+F215 U+F115 U+F315 U+F215 U+F815 U+F515 U+F415 U+F415 U+F415 U+F215 U+F315 U+F315 U+F415 U+F315 U+F515 U+F315 U+F315 U+F315 U+F615 U+F615 U+F515 U+F715 U+F415 U+F415 U+F615 U+F715 U+F215 U+F215 U+F615 U+F415 U+F815 U+F715 U+F715 U+F515 U+F715 U+F615 U+F415 U+F415 U+F715 U+F615 U+F815 U+F515 U+F515 U+F515 c I_
Store(Sup_ir) U+F416 U+F416 U+F316 U+F416 U+F416 U+F116 U+F516 U+F516 U+F216 U+F116 U+F316 U+F216 U+F816 U+F516 U+F416 U+F416 U+F416 U+F216 U+F316 U+F316 U+F416 U+F316 U+F516 U+F316 U+F316 U+F316 U+F616 U+F616 U+F516 U+F716 U+F416 U+F416 U+F616 U+F716 U+F216 U+F216 U+F616 U+F416 U+F816 U+F716 U+F716 U+F516 U+F716 U+F616 U+F416 U+F416 U+F716 U+F616 U+F816 U+F516 U+F516 U+F516 c ir
Store(Sup_j) U+F417 U+F417 U+F317 U+F417 U+F417 U+F117 U+F517 U+F517 U+F217 U+F117 U+F317 U+F217 U+F817 U+F517 U+F417 U+F417 U+F417 U+F217 U+F317 U+F317 U+F417 U+F317 U+F517 U+F317 U+F317 U+F317 U+F617 U+F617 U+F517 U+F717 U+F417 U+F417 U+F617 U+F717 U+F217 U+F217 U+F617 U+F417 U+F817 U+F717 U+F717 U+F517 U+F717 U+F617 U+F417 U+F417 U+F717 U+F617 U+F817 U+F517 U+F517 U+F517 c j
Store(Sup_k) U+F418 U+F418 U+F318 U+F418 U+F418 U+F118 U+F518 U+F518 U+F218 U+F118 U+F318 U+F218 U+F818 U+F518 U+F418 U+F418 U+F418 U+F218 U+F318 U+F318 U+F418 U+F318 U+F518 U+F318 U+F318 U+F318 U+F618 U+F618 U+F518 U+F718 U+F418 U+F418 U+F618 U+F718 U+F218 U+F218 U+F618 U+F418 U+F818 U+F718 U+F718 U+F518 U+F718 U+F618 U+F418 U+F418 U+F718 U+F618 U+F818 U+F518 U+F518 U+F518 c k
Store(Sup_l) U+F419 U+F419 U+F319 U+F419 U+F419 U+F119 U+F519 U+F519 U+F219 U+F119 U+F319 U+F219 U+F819 U+F519 U+F419 U+F419 U+F419 U+F219 U+F319 U+F319 U+F419 U+F319 U+F519 U+F319 U+F319 U+F319 U+F619 U+F619 U+F519 U+F719 U+F419 U+F419 U+F619 U+F719 U+F219 U+F219 U+F619 U+F419 U+F819 U+F719 U+F719 U+F519 U+F719 U+F619 U+F419 U+F419 U+F719 U+F619 U+F819 U+F519 U+F519 U+F519 c l
Store(Sup_m) U+F420 U+F420 U+F320 U+F420 U+F420 U+F120 U+F520 U+F520 U+F220 U+F120 U+F320 U+F220 U+F820 U+F520 U+F420 U+F420 U+F420 U+F220 U+F320 U+F320 U+F420 U+F320 U+F520 U+F320 U+F320 U+F320 U+F620 U+F620 U+F520 U+F720 U+F420 U+F420 U+F620 U+F720 U+F220 U+F220 U+F620 U+F420 U+F820 U+F720 U+F720 U+F520 U+F720 U+F620 U+F420 U+F420 U+F720 U+F620 U+F820 U+F520 U+F520 U+F520 c m
Store(Sup_n) U+F421 U+F421 U+F321 U+F421 U+F421 U+F121 U+F521 U+F521 U+F221 U+F121 U+F321 U+F221 U+F821 U+F521 U+F421 U+F421 U+F421 U+F221 U+F321 U+F321 U+F421 U+F321 U+F521 U+F321 U+F321 U+F321 U+F621 U+F621 U+F521 U+F721 U+F421 U+F421 U+F621 U+F721 U+F221 U+F221 U+F621 U+F421 U+F821 U+F721 U+F721 U+F521 U+F721 U+F621 U+F421 U+F421 U+F721 U+F621 U+F821 U+F521 U+F521 U+F521 c n
Store(Sup_ng) U+F422 U+F422 U+F322 U+F422 U+F422 U+F122 U+F522 U+F522 U+F222 U+F122 U+F322 U+F222 U+F822 U+F522 U+F422 U+F422 U+F422 U+F222 U+F322 U+F322 U+F422 U+F322 U+F522 U+F322 U+F322 U+F322 U+F622 U+F622 U+F522 U+F722 U+F422 U+F422 U+F622 U+F722 U+F222 U+F222 U+F622 U+F422 U+F822 U+F722 U+F722 U+F522 U+F722 U+F622 U+F422 U+F422 U+F722 U+F622 U+F822 U+F522 U+F522 U+F522 c ng
c │ a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Store(Sup_o) U+F423 U+F423 U+F323 U+F423 U+F423 U+F123 U+F523 U+F523 U+F223 U+F123 U+F323 U+F223 U+F823 U+F523 U+F423 U+F423 U+F423 U+F223 U+F323 U+F323 U+F423 U+F323 U+F523 U+F323 U+F323 U+F323 U+F623 U+F623 U+F523 U+F723 U+F423 U+F423 U+F623 U+F723 U+F223 U+F223 U+F623 U+F423 U+F823 U+F723 U+F723 U+F523 U+F723 U+F623 U+F423 U+F423 U+F723 U+F623 U+F823 U+F523 U+F523 U+F523 c o
Store(Sup_O_) U+F424 U+F424 U+F324 U+F424 U+F424 U+F124 U+F524 U+F524 U+F224 U+F124 U+F324 U+F224 U+F824 U+F524 U+F424 U+F424 U+F424 U+F224 U+F324 U+F324 U+F424 U+F324 U+F524 U+F324 U+F324 U+F324 U+F624 U+F624 U+F524 U+F724 U+F424 U+F424 U+F624 U+F724 U+F224 U+F224 U+F624 U+F424 U+F824 U+F724 U+F724 U+F524 U+F724 U+F624 U+F424 U+F424 U+F724 U+F624 U+F824 U+F524 U+F524 U+F524 c O_
Store(Sup_oo) U+F425 U+F425 U+F325 U+F425 U+F425 U+F125 U+F525 U+F525 U+F225 U+F125 U+F325 U+F225 U+F825 U+F525 U+F425 U+F425 U+F425 U+F225 U+F325 U+F325 U+F425 U+F325 U+F525 U+F325 U+F325 U+F325 U+F625 U+F625 U+F525 U+F725 U+F425 U+F425 U+F625 U+F725 U+F225 U+F225 U+F625 U+F425 U+F825 U+F725 U+F725 U+F525 U+F725 U+F625 U+F425 U+F425 U+F725 U+F625 U+F825 U+F525 U+F525 U+F525 c oo
Store(Sup_OO_) U+F426 U+F426 U+F326 U+F426 U+F426 U+F126 U+F526 U+F526 U+F226 U+F126 U+F326 U+F226 U+F826 U+F526 U+F426 U+F426 U+F426 U+F226 U+F326 U+F326 U+F426 U+F326 U+F526 U+F326 U+F326 U+F326 U+F626 U+F626 U+F526 U+F726 U+F426 U+F426 U+F626 U+F726 U+F226 U+F226 U+F626 U+F426 U+F826 U+F726 U+F726 U+F526 U+F726 U+F626 U+F426 U+F426 U+F726 U+F626 U+F826 U+F526 U+F526 U+F526 c oo_
Store(Sup_or) U+F427 U+F427 U+F327 U+F427 U+F427 U+F127 U+F527 U+F527 U+F227 U+F127 U+F327 U+F227 U+F827 U+F527 U+F427 U+F427 U+F427 U+F227 U+F327 U+F327 U+F427 U+F327 U+F527 U+F327 U+F327 U+F327 U+F627 U+F627 U+F527 U+F727 U+F427 U+F427 U+F627 U+F727 U+F227 U+F227 U+F627 U+F427 U+F827 U+F727 U+F727 U+F527 U+F727 U+F627 U+F427 U+F427 U+F727 U+F627 U+F827 U+F527 U+F527 U+F527 c or
Store(Sup_ow) U+F428 U+F428 U+F328 U+F428 U+F428 U+F128 U+F528 U+F528 U+F228 U+F128 U+F328 U+F228 U+F828 U+F528 U+F428 U+F428 U+F428 U+F228 U+F328 U+F328 U+F428 U+F328 U+F528 U+F328 U+F328 U+F328 U+F628 U+F628 U+F528 U+F728 U+F428 U+F428 U+F628 U+F728 U+F228 U+F228 U+F628 U+F428 U+F828 U+F728 U+F728 U+F528 U+F728 U+F628 U+F428 U+F428 U+F728 U+F628 U+F828 U+F528 U+F528 U+F528 c ow
Store(Sup_oy) U+F429 U+F429 U+F329 U+F429 U+F429 U+F129 U+F529 U+F529 U+F229 U+F129 U+F329 U+F229 U+F829 U+F529 U+F429 U+F429 U+F429 U+F229 U+F329 U+F329 U+F429 U+F329 U+F529 U+F329 U+F329 U+F329 U+F629 U+F629 U+F529 U+F729 U+F429 U+F429 U+F629 U+F729 U+F229 U+F229 U+F629 U+F429 U+F829 U+F729 U+F729 U+F529 U+F729 U+F629 U+F429 U+F429 U+F729 U+F629 U+F829 U+F529 U+F529 U+F529 c oy
c │ a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Store(Sup_p) U+F430 U+F430 U+F330 U+F430 U+F430 U+F130 U+F530 U+F530 U+F230 U+F130 U+F330 U+F230 U+F830 U+F530 U+F430 U+F430 U+F430 U+F230 U+F330 U+F330 U+F430 U+F330 U+F530 U+F330 U+F330 U+F330 U+F630 U+F630 U+F530 U+F730 U+F430 U+F430 U+F630 U+F730 U+F230 U+F230 U+F630 U+F430 U+F830 U+F730 U+F730 U+F530 U+F730 U+F630 U+F430 U+F430 U+F730 U+F630 U+F830 U+F530 U+F530 U+F530 c p
Store(Sup_q) U+F431 U+F431 U+F331 U+F431 U+F431 U+F131 U+F531 U+F531 U+F231 U+F131 U+F331 U+F231 U+F831 U+F531 U+F431 U+F431 U+F431 U+F231 U+F331 U+F331 U+F431 U+F331 U+F531 U+F331 U+F331 U+F331 U+F631 U+F631 U+F531 U+F731 U+F431 U+F431 U+F631 U+F731 U+F231 U+F231 U+F631 U+F431 U+F831 U+F731 U+F731 U+F531 U+F731 U+F631 U+F431 U+F431 U+F731 U+F631 U+F831 U+F531 U+F531 U+F531 c q
Store(Sup_r) U+F432 U+F432 U+F332 U+F432 U+F432 U+F132 U+F532 U+F532 U+F232 U+F132 U+F332 U+F232 U+F832 U+F532 U+F432 U+F432 U+F432 U+F232 U+F332 U+F332 U+F432 U+F332 U+F532 U+F332 U+F332 U+F332 U+F632 U+F632 U+F532 U+F732 U+F432 U+F432 U+F632 U+F732 U+F232 U+F232 U+F632 U+F432 U+F832 U+F732 U+F732 U+F532 U+F732 U+F632 U+F432 U+F432 U+F732 U+F632 U+F832 U+F532 U+F532 U+F532 c r
Store(Sup_s) U+F433 U+F433 U+F333 U+F433 U+F433 U+F133 U+F533 U+F533 U+F233 U+F133 U+F333 U+F233 U+F833 U+F533 U+F433 U+F433 U+F433 U+F233 U+F333 U+F333 U+F433 U+F333 U+F533 U+F333 U+F333 U+F333 U+F633 U+F633 U+F533 U+F733 U+F433 U+F433 U+F633 U+F733 U+F233 U+F233 U+F633 U+F433 U+F833 U+F733 U+F733 U+F533 U+F733 U+F633 U+F433 U+F433 U+F733 U+F633 U+F833 U+F533 U+F533 U+F533 c s
Store(Sup_sh) U+F434 U+F434 U+F334 U+F434 U+F434 U+F134 U+F534 U+F534 U+F234 U+F134 U+F334 U+F234 U+F834 U+F534 U+F434 U+F434 U+F434 U+F234 U+F334 U+F334 U+F434 U+F334 U+F534 U+F334 U+F334 U+F334 U+F634 U+F634 U+F534 U+F734 U+F434 U+F434 U+F634 U+F734 U+F234 U+F234 U+F634 U+F434 U+F834 U+F734 U+F734 U+F534 U+F734 U+F634 U+F434 U+F434 U+F734 U+F634 U+F834 U+F534 U+F534 U+F534 c sh
Store(Sup_sh_) U+F435 U+F435 U+F335 U+F435 U+F435 U+F135 U+F535 U+F535 U+F235 U+F135 U+F335 U+F235 U+F835 U+F535 U+F435 U+F435 U+F435 U+F235 U+F335 U+F335 U+F435 U+F335 U+F535 U+F335 U+F335 U+F335 U+F635 U+F635 U+F535 U+F735 U+F435 U+F435 U+F635 U+F735 U+F235 U+F235 U+F635 U+F435 U+F835 U+F735 U+F735 U+F535 U+F735 U+F635 U+F435 U+F435 U+F735 U+F635 U+F835 U+F535 U+F535 U+F535 c sh_
Store(Sup_t) U+F436 U+F436 U+F336 U+F436 U+F436 U+F136 U+F536 U+F536 U+F236 U+F136 U+F336 U+F236 U+F836 U+F536 U+F436 U+F436 U+F436 U+F236 U+F336 U+F336 U+F436 U+F336 U+F536 U+F336 U+F336 U+F336 U+F636 U+F636 U+F536 U+F736 U+F436 U+F436 U+F636 U+F736 U+F236 U+F236 U+F636 U+F436 U+F836 U+F736 U+F736 U+F536 U+F736 U+F636 U+F436 U+F436 U+F736 U+F636 U+F836 U+F536 U+F536 U+F536 c t
Store(Sup_th) U+F437 U+F437 U+F337 U+F437 U+F437 U+F137 U+F537 U+F537 U+F237 U+F137 U+F337 U+F237 U+F837 U+F537 U+F437 U+F437 U+F437 U+F237 U+F337 U+F337 U+F437 U+F337 U+F537 U+F337 U+F337 U+F337 U+F637 U+F637 U+F537 U+F737 U+F437 U+F437 U+F637 U+F737 U+F237 U+F237 U+F637 U+F437 U+F837 U+F737 U+F737 U+F537 U+F737 U+F637 U+F437 U+F437 U+F737 U+F637 U+F837 U+F537 U+F537 U+F537 c th
Store(Sup_th_) U+F438 U+F438 U+F338 U+F438 U+F438 U+F138 U+F538 U+F538 U+F238 U+F138 U+F338 U+F238 U+F838 U+F538 U+F438 U+F438 U+F438 U+F238 U+F338 U+F338 U+F438 U+F338 U+F538 U+F338 U+F338 U+F338 U+F638 U+F638 U+F538 U+F738 U+F438 U+F438 U+F638 U+F738 U+F238 U+F238 U+F638 U+F438 U+F838 U+F738 U+F738 U+F538 U+F738 U+F638 U+F438 U+F438 U+F738 U+F638 U+F838 U+F538 U+F538 U+F538 c th_
c │ a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Store(Sup_u) U+F439 U+F439 U+F339 U+F439 U+F439 U+F139 U+F539 U+F539 U+F239 U+F139 U+F339 U+F239 U+F839 U+F539 U+F439 U+F439 U+F439 U+F239 U+F339 U+F339 U+F439 U+F339 U+F539 U+F339 U+F339 U+F339 U+F639 U+F639 U+F539 U+F739 U+F439 U+F439 U+F639 U+F739 U+F239 U+F239 U+F639 U+F439 U+F839 U+F739 U+F739 U+F539 U+F739 U+F639 U+F439 U+F439 U+F739 U+F639 U+F839 U+F539 U+F539 U+F539 c u
Store(Sup_U_) U+F440 U+F440 U+F340 U+F440 U+F440 U+F140 U+F540 U+F540 U+F240 U+F140 U+F340 U+F240 U+F840 U+F540 U+F440 U+F440 U+F440 U+F240 U+F340 U+F340 U+F440 U+F340 U+F540 U+F340 U+F340 U+F340 U+F640 U+F640 U+F540 U+F740 U+F440 U+F440 U+F640 U+F740 U+F240 U+F240 U+F640 U+F440 U+F840 U+F740 U+F740 U+F540 U+F740 U+F640 U+F440 U+F440 U+F740 U+F640 U+F840 U+F540 U+F540 U+F540 c U_
Store(Sup_ur) U+F441 U+F441 U+F341 U+F441 U+F441 U+F141 U+F541 U+F541 U+F241 U+F141 U+F341 U+F241 U+F841 U+F541 U+F441 U+F441 U+F441 U+F241 U+F341 U+F341 U+F441 U+F341 U+F541 U+F341 U+F341 U+F341 U+F641 U+F641 U+F541 U+F741 U+F441 U+F441 U+F641 U+F741 U+F241 U+F241 U+F641 U+F441 U+F841 U+F741 U+F741 U+F541 U+F741 U+F641 U+F441 U+F441 U+F741 U+F641 U+F841 U+F541 U+F541 U+F541 c ur
Store(Sup_v) U+F442 U+F442 U+F342 U+F442 U+F442 U+F142 U+F542 U+F542 U+F242 U+F142 U+F342 U+F242 U+F842 U+F542 U+F442 U+F442 U+F442 U+F242 U+F342 U+F342 U+F442 U+F342 U+F542 U+F342 U+F342 U+F342 U+F642 U+F642 U+F542 U+F742 U+F442 U+F442 U+F642 U+F742 U+F242 U+F242 U+F642 U+F442 U+F842 U+F742 U+F742 U+F542 U+F742 U+F642 U+F442 U+F442 U+F742 U+F642 U+F842 U+F542 U+F542 U+F542 c v
Store(Sup_w) U+F443 U+F443 U+F343 U+F443 U+F443 U+F143 U+F543 U+F543 U+F243 U+F143 U+F343 U+F243 U+F843 U+F543 U+F443 U+F443 U+F443 U+F243 U+F343 U+F343 U+F443 U+F343 U+F543 U+F343 U+F343 U+F343 U+F643 U+F643 U+F543 U+F743 U+F443 U+F443 U+F643 U+F743 U+F243 U+F243 U+F643 U+F443 U+F843 U+F743 U+F743 U+F543 U+F743 U+F643 U+F443 U+F443 U+F743 U+F643 U+F843 U+F543 U+F543 U+F543 c w
Store(Sup_x) U+F444 U+F444 U+F344 U+F444 U+F444 U+F144 U+F544 U+F544 U+F244 U+F144 U+F344 U+F244 U+F844 U+F544 U+F444 U+F444 U+F444 U+F244 U+F344 U+F344 U+F444 U+F344 U+F544 U+F344 U+F344 U+F344 U+F644 U+F644 U+F544 U+F744 U+F444 U+F444 U+F644 U+F744 U+F244 U+F244 U+F644 U+F444 U+F844 U+F744 U+F744 U+F544 U+F744 U+F644 U+F444 U+F444 U+F744 U+F644 U+F844 U+F544 U+F544 U+F544 c x
Store(Sup_y) U+F445 U+F445 U+F345 U+F445 U+F445 U+F145 U+F545 U+F545 U+F245 U+F145 U+F345 U+F245 U+F845 U+F545 U+F445 U+F445 U+F445 U+F245 U+F345 U+F345 U+F445 U+F345 U+F545 U+F345 U+F345 U+F345 U+F645 U+F645 U+F545 U+F745 U+F445 U+F445 U+F645 U+F745 U+F245 U+F245 U+F645 U+F445 U+F845 U+F745 U+F745 U+F545 U+F745 U+F645 U+F445 U+F445 U+F745 U+F645 U+F845 U+F545 U+F545 U+F545 c y
Store(Sup_z) U+F446 U+F446 U+F346 U+F446 U+F446 U+F146 U+F546 U+F546 U+F246 U+F146 U+F346 U+F246 U+F846 U+F546 U+F446 U+F446 U+F446 U+F246 U+F346 U+F346 U+F446 U+F346 U+F546 U+F346 U+F346 U+F346 U+F646 U+F646 U+F546 U+F746 U+F446 U+F446 U+F646 U+F746 U+F246 U+F246 U+F646 U+F446 U+F846 U+F746 U+F746 U+F546 U+F746 U+F646 U+F446 U+F446 U+F746 U+F646 U+F846 U+F546 U+F546 U+F546 c z
c │ a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
c ╒══════════════════════════════════════════════════════════════════
c │ TPA Silent Letters. The TPA Silent Letter sysmbol 'x'. Different for each Latin Letter.
c │ a b c d
c │ e f g h
c │ i j k l m n
c │ o p q r s t
c │ u v w x y z
c │ Then the same but for capital letters.
Store(SilentLetterMarkup) U+E114 U+E104 U+E113 U+E104 \
U+E114 U+E101 U+E115 U+E105 \
U+E102 U+E101 U+E103 U+E102 U+E118 U+E115 \
U+E114 U+E114 U+E114 U+E112 U+E113 U+E103 \
U+E114 U+E113 U+E115 U+E113 U+E113 U+E113 \
U+E106 U+E106 U+E105 U+E107 \
U+E104 U+E104 U+E106 U+E107 \
U+E102 U+E102 U+E106 U+E104 U+E108 U+E107 \
U+E107 U+E105 U+E107 U+E106 U+E104 U+E104 \
U+E107 U+E106 U+E108 U+E105 U+E105 U+E105
c ╒══════════════════════════════════════════════════════════════════
c │ Pointer. A pointer sysmbol '^'. Different for each Latin Letter. NOT part of TPA.
c │ a b c d
c │ e f g h
c │ i j k l m n
c │ o p q r s t
c │ u v w x y z
c │ Then the same but for capital letters.
Store(Pointer) U+E214 U+E214 U+E213 U+E214 \
U+E214 U+E211 U+E215 U+E215 \
U+E212 U+E211 U+E213 U+E212 U+E218 U+E215 \
U+E214 U+E214 U+E214 U+E212 U+E213 U+E213 \
U+E214 U+E213 U+E215 U+E213 U+E213 U+E213 \
U+E216 U+E216 U+E215 U+E217 \
U+E214 U+E214 U+E216 U+E217 \
U+E212 U+E212 U+E216 U+E214 U+E218 U+E217 \
U+E217 U+E215 U+E217 U+E216 U+E214 U+E214 \
U+E217 U+E216 U+E218 U+E215 U+E215 U+E215
c □■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□■■□
c ╔═════════════════════════════════════════════════════════════════╗
c ║ Menu constants. ║
c ╚═════════════════════════════════════════════════════════════════╝
c ┌──────────────────────────────────────────────────────────────────
c │ Options for menus.
Store(Choices2) '12'
Store(Choices3) '123'
Store(Choices4) '1234'
Store(Choices5) '12345'
Store(Choices6) '123456'
Store(Choices7) '1234567'
Store(Choices8) '12345678'
Store(Choices9) '123456789'
c ┌──────────────────────────────────────────────────────────────────
c │ Menu elements.
Store(LeftMenu) U+276A c (
Store(RightMenu) U+276B c )
Store(HalfSpace) U+202F
Store(NonBreakSpace) U+00A0
c ┌──────────────────────────────────────────────────────────────────
c │ Menu options 1-9 (subscript numbers).
Store(Opn1) U+2081
Store(Opn2) U+2082
Store(Opn3) U+2083
Store(Opn4) U+2084
Store(Opn5) U+2085
Store(Opn6) U+2086
Store(Opn7) U+2087
Store(Opn8) U+2088
Store(Opn9) U+2089
c ┌──────────────────────────────────────────────────────────────────
c │ Menus strings
c │ eg [ x1 x2 x3 ]
Store(a_Menu) $LeftMenu $HalfSpace $TPA_a $Opn1 $NonBreakSpace $TPA_A_ $Opn2 $NonBreakSpace $TPA_ar $Opn3 $HalfSpace $RightMenu
Store(c_Menu) $LeftMenu $HalfSpace $TPA_ch $Opn1 $NonBreakSpace $TPA_k $Opn2 $NonBreakSpace $TPA_s $Opn3 $HalfSpace $RightMenu
Store(e_Menu) $LeftMenu $HalfSpace $TPA_e $Opn1 $NonBreakSpace $TPA_E_ $Opn2 $NonBreakSpace $TPA_er $Opn3 $HalfSpace $RightMenu
Store(i_Menu) $LeftMenu $HalfSpace $TPA_i $Opn1 $NonBreakSpace $TPA_I_ $Opn2 $NonBreakSpace $TPA_ir $Opn3 $HalfSpace $RightMenu
Store(n_Menu) $LeftMenu $HalfSpace $TPA_n $Opn1 $NonBreakSpace $TPA_ng $Opn2 $HalfSpace $RightMenu
Store(o_Menu) $LeftMenu $HalfSpace $TPA_o $Opn1 $NonBreakSpace $TPA_O_ $Opn2 $NonBreakSpace $TPA_oo $Opn3 \
$NonBreakSpace $TPA_oo_ $Opn4 $NonBreakSpace $TPA_or $Opn5 \
$NonBreakSpace $TPA_ow $Opn6 $NonBreakSpace $TPA_oy $Opn7 $HalfSpace $RightMenu
Store(s_Menu) $LeftMenu $HalfSpace $TPA_s $Opn1 $NonBreakSpace $TPA_sh $Opn2 $NonBreakSpace $TPA_sh_ $Opn3 $HalfSpace $RightMenu
Store(t_Menu) $LeftMenu $HalfSpace $TPA_t $Opn1 $NonBreakSpace $TPA_th $Opn2 $NonBreakSpace $TPA_th_ $Opn3 $HalfSpace $RightMenu
Store(u_Menu) $LeftMenu $HalfSpace $TPA_u $Opn1 $NonBreakSpace $TPA_U_ $Opn2 $NonBreakSpace $TPA_ur $Opn3 $HalfSpace $RightMenu
c ┌──────────────────────────────────────────────────────────────────
c │ TPA Graphemes, the output from the menu selection.
Store(a_Char) $TPA_a $TPA_A_ $TPA_ar
Store(c_Char) $TPA_ch $TPA_k $TPA_s
Store(e_Char) $TPA_e $TPA_E_ $TPA_er
Store(i_Char) $TPA_i $TPA_I_ $TPA_ir
Store(n_Char) $TPA_n $TPA_ng
Store(o_Char) $TPA_o $TPA_O_ $TPA_oo $TPA_oo_ $TPA_or $TPA_ow $TPA_oy
Store(s_Char) $TPA_s $TPA_sh $TPA_sh_
Store(t_Char) $TPA_t $TPA_th $TPA_th_
Store(u_Char) $TPA_u $TPA_U_ $TPA_ur
c □■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
c End of file
c □■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
|
|