blob: 0efc2f0c31bcd0cca915ce48e561e32b0db3bc9c [file] [log] [blame]
# LibLouis Table for Greek Braille - Common Rules
# ελληνικό σύστημα μπράιγ [Greek Braille System]
# κέντρο εκπαίδευσης και αποκατάστασης τυφλών [Center for Education and Rehabilitation for the Blind]
# Copyright (C) 2017 Dave Mielke: <dave@mielke.cc>, [http://mielke.cc/]
#
# This file is part of LibLouis.
#
# LibLouis is free software. You may redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation - either version 2.1 of the
# License or, at your option, any later version.
#
# LibLouis is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with LibLouis. If not, see: http://www.gnu.org/licenses/
#
# Created and maintained by Dave Mielke: <dave@mielke.cc>, [http://mielke.cc/]
##########
# Spaces #
##########
space \s 0 space
space \x00A0 0 non-trivial blank
space \t 0 HT, CTRL-I
space \v 0 VT, CTRL-V
space \f 0 FF, CTRL-L
space \r 0 CR, CTRL-M
##################
# Greek Alphabet #
##################
uplow \x0391\x03B1 1 # Αα Alpha
uplow \x0392\x03B2 12 # Ββ Beta
uplow \x0393\x03B3 1245 # Γγ Gamma
uplow \x0394\x03B4 145 # Δδ Delta
uplow \x0395\x03B5 15 # Εε Epsilon
uplow \x0396\x03B6 1356 # Ζζ Zeta
uplow \x0397\x03B7 345 # Ηη Eta
uplow \x0398\x03B8 1456 # Θθ Theta
uplow \x0399\x03B9 24 # Ιι Iota
uplow \x039A\x03BA 13 # Κκ Kappa
uplow \x039B\x03BB 123 # Λλ Lambda
uplow \x039C\x03BC 134 # Μμ Mu
uplow \x039D\x03BD 1345 # Νν Nu
uplow \x039E\x03BE 1346 # Ξξ Xi
uplow \x039F\x03BF 135 # Οο Omicron
uplow \x03A0\x03C0 1234 # Ππ Pi
uplow \x03A1\x03C1 1235 # Ρρ Rho
uplow \x03A3\x03C3 234 # Σσ Sigma
uplow \x03A4\x03C4 2345 # Ττ Tau
uplow \x03A5\x03C5 13456 # Υυ Upsilon
uplow \x03A6\x03C6 124 # Φφ Phi
uplow \x03A7\x03C7 125 # Χχ Chi
uplow \x03A8\x03C8 12346 # Ψψ Psi
uplow \x03A9\x03C9 245 # Ωω Omega
# ς Final Sigma
lowercase \x03C2 234
endword \x03C2 234
#################
# Greek Accents #
#################
sign \x1FEF 4 # ` Grave Accent (Varia)
sign \x0384 5 # ΄ Acute Accent (Tonos)
sign \x1FFD 5 # ´ Acute Accent (Oxia)
sign \x1FC0 6 # ῀ Circumflex Accent (Perispomeni)
sign \x1FCD 23456 # ῍ Smooth and Grave Accent (Psili and Varia)
sign \x1FCE 356 # ῎ Smooth and Acute Accent (Psili and Oxia)
sign \x1FCF 256 # ῏ Smooth and Circumflex Accent (Psili and Perispomeni)
sign \x1FFE 1236 # ῾ Rough Breathing Accent (Dasia)
sign \x1FDD 12356 # ῝ Rough and Grave Accent (Dasia and Varia)
sign \x1FDE 26 # ῞ Rough and Acute Accent (Dasia and Oxia)
sign \x1FDF 235 # ῟ Rough and Circumflex Accent (Dasia and Perispomeni)
##########################
# Greek Accented Letters #
##########################
uplow \x0386\x03AC 5-1 # Άά Alpha with Tonos
uplow \x1FBB\x1F71 5-1 # Άά Alpha with Oxia
uplow \x1FBA\x1F70 4-1 # Ὰὰ Alpha with Varia
uplow \x1FB9\x1FB1 1 # Ᾱᾱ Alpha with Macron
uplow \x1FB8\x1FB0 1 # Ᾰᾰ Alpha with Vrachy
uplow \x1F08\x1F00 1 # Ἀἀ Alpha with Psili
uplow \x1F0C\x1F04 356-1 # Ἄἄ Alpha with Psili and Oxia
uplow \x1F0A\x1F02 23456-1 # Ἂἂ Alpha with Psili and Varia
uplow \x1F0E\x1F06 256-1 # Ἆἆ Alpha with Psili and Perispomeni
uplow \x1F09\x1F01 1236-1 # Ἁἁ Alpha with Dasia
uplow \x1F0D\x1F05 26-1 # Ἅἅ Alpha with Dasia and Oxia
uplow \x1F0B\x1F03 12356-1 # Ἃἃ Alpha with Dasia and Varia
uplow \x1F0F\x1F07 235-1 # Ἇἇ Alpha with Dasia and Perispomeni
uplow \x0388\x03AD 5-15 # Έέ Epsilon with Tonos
uplow \x1FC9\x1F73 5-15 # Έέ Epsilon with Oxia
uplow \x1FC8\x1F72 4-15 # Ὲὲ Epsilon with Varia
uplow \x1F18\x1F10 15 # Ἐἐ Epsilon with Psili
uplow \x1F1C\x1F14 356-15 # Ἔἔ Epsilon with Psili and Oxia
uplow \x1F1A\x1F12 23456-15 # Ἒἒ Epsilon with Psili and Varia
uplow \x1F19\x1F11 1236-15 # Ἑἑ Epsilon with Dasia
uplow \x1F1D\x1F15 26-15 # Ἕἕ Epsilon with Dasia and Oxia
uplow \x1F1B\x1F13 12356-15 # Ἓἓ Epsilon with Dasia and Varia
uplow \x0389\x03AE 5-345 # Ήή Eta with Tonos
uplow \x1FCB\x1F75 5-345 # Ήή Eta with Oxia
uplow \x1FCA\x1F74 4-345 # Ὴὴ Eta with Varia
uplow \x1F28\x1F20 345 # Ἠἠ Eta with Psili
uplow \x1F2C\x1F24 356-345 # Ἤἤ Eta with Psili and Oxia
uplow \x1F2A\x1F22 23456-345 # Ἢἢ Eta with Psili and Varia
uplow \x1F2E\x1F26 256-345 # Ἦἦ Eta with Psili and Perispomeni
uplow \x1F29\x1F21 1236-345 # Ἡἡ Eta with Dasia
uplow \x1F2D\x1F25 26-345 # Ἥἥ Eta with Dasia and Oxia
uplow \x1F2B\x1F23 12356-345 # Ἣἣ Eta with Dasia and Varia
uplow \x1F2F\x1F27 235-345 # Ἧἧ Eta with Dasia and Perispomeni
uplow \x03AA\x03CA 24 # Ϊϊ Iota with Dialytika
uplow \x038A\x03AF 5-24 # Ίί Iota with Tonos
uplow \x1FDB\x1F77 5-24 # Ίί Iota with Oxia
uplow \x1FDA\x1F76 4-24 # Ὶὶ Iota with Varia
uplow \x1FD9\x1FD1 24 # Ῑῑ Iota with Macron
uplow \x1FD8\x1FD0 24 # Ῐῐ Iota with Vrachy
uplow \x1F38\x1F30 24 # Ἰἰ Iota with Psili
uplow \x1F3C\x1F34 356-24 # Ἴἴ Iota with Psili and Oxia
uplow \x1F3A\x1F32 23456-24 # Ἲἲ Iota with Psili and Varia
uplow \x1F3E\x1F36 256-24 # Ἶἶ Iota with Psili and Perispomeni
uplow \x1F39\x1F31 1236-24 # Ἱἱ Iota with Dasia
uplow \x1F3D\x1F35 26-24 # Ἵἵ Iota with Dasia and Oxia
uplow \x1F3B\x1F33 12356-24 # Ἳἳ Iota with Dasia and Varia
uplow \x1F3F\x1F37 235-24 # Ἷἷ Iota with Dasia and Perispomeni
uplow \x038C\x03CC 5-135 # Όό Omicron with Tonos
uplow \x1FF9\x1F79 5-135 # Όό Omicron with Oxia
uplow \x1FF8\x1F78 4-135 # Ὸὸ Omicron with Varia
uplow \x1F48\x1F40 135 # Ὀὀ Omicron with Psili
uplow \x1F4C\x1F44 356-135 # Ὄὄ Omicron with Psili and Oxia
uplow \x1F4A\x1F42 23456-135 # Ὂὂ Omicron with Psili and Varia
uplow \x1F49\x1F41 1236-135 # Ὁὁ Omicron with Dasia
uplow \x1F4D\x1F45 26-135 # Ὅὅ Omicron with Dasia and Oxia
uplow \x1F4B\x1F43 12356-135 # Ὃὃ Omicron with Dasia and Varia
uplow \x1FEC\x1FE5 1236-1235 # Ῥῥ Rho with Dasia
uplow \x03AB\x03CB 13456 # Ϋϋ Upsilon with Dialytika
uplow \x038E\x03CD 5-13456 # Ύύ Upsilon with Tonos
uplow \x1FEB\x1F7B 5-13456 # Ύύ Upsilon with Oxia
uplow \x1FEA\x1F7A 4-13456 # Ὺὺ Upsilon with Varia
uplow \x1FE9\x1FE1 13456 # Ῡῡ Upsilon with Macron
uplow \x1FE8\x1FE0 13456 # Ῠῠ Upsilon with Vrachy
uplow \x1F59\x1F51 1236-13456 # Ὑὑ Upsilon with Dasia
uplow \x1F5D\x1F55 26-13456 # Ὕὕ Upsilon with Dasia and Oxia
uplow \x1F5B\x1F53 12356-13456 # Ὓὓ Upsilon with Dasia and Varia
uplow \x1F5F\x1F57 235-13456 # Ὗὗ Upsilon with Dasia and Perispomeni
uplow \x038F\x03CE 5-245 # Ώώ Omega with Tonos
uplow \x1FFB\x1F7D 5-245 # Ώώ Omega with Oxia
uplow \x1FFA\x1F7C 4-245 # Ὼὼ Omega with Varia
uplow \x1F68\x1F60 245 # Ὠὠ Omega with Psili
uplow \x1F6C\x1F64 356-245 # Ὤὤ Omega with Psili and Oxia
uplow \x1F6A\x1F62 23456-245 # Ὢὢ Omega with Psili and Varia
uplow \x1F6E\x1F66 256-245 # Ὦὦ Omega with Psili and Perispomeni
uplow \x1F69\x1F61 1236-245 # Ὡὡ Omega with Dasia
uplow \x1F6D\x1F65 26-245 # Ὥὥ Omega with Dasia and Oxia
uplow \x1F6B\x1F63 12356-245 # Ὣὣ Omega with Dasia and Varia
uplow \x1F6F\x1F67 235-245 # Ὧὧ Omega with Dasia and Perispomeni
uppercase \x1FBC 35 # ᾼ Capital Alpha with Prosgegrammeni
uppercase \x1F88 35 # ᾈ Capital Alpha with Psili and Prosgegrammeni
uppercase \x1F8C 356-35 # ᾌ Capital Alpha with Psili and Oxia and Prosgegrammeni
uppercase \x1F8A 23456-35 # ᾊ Capital Alpha with Psili and Varia and Prosgegrammeni
uppercase \x1F8E 256-35 # ᾎ Capital Alpha with Psili and Perispomeni and Prosgegrammeni
uppercase \x1F89 1236-35 # ᾉ Capital Alpha with Dasia and Prosgegrammeni
uppercase \x1F8D 26-35 # ᾍ Capital Alpha with Dasia and Oxia and Prosgegrammeni
uppercase \x1F8B 12356-35 # ᾋ Capital Alpha with Dasia and Varia and Prosgegrammeni
uppercase \x1F8F 235-35 # ᾏ Capital Alpha with Dasia and Perispomeni and Prosgegrammeni
uppercase \x1FCC 3456 # ῌ Capital Eta with Prosgegrammeni
uppercase \x1F98 3456 # ᾘ Capital Eta with Psili and Prosgegrammeni
uppercase \x1F9C 356-3456 # ᾜ Capital Eta with Psili and Oxia and Prosgegrammeni
uppercase \x1F9A 23456-3456 # ᾚ Capital Eta with Psili and Varia and Prosgegrammeni
uppercase \x1F9E 256-3456 # ᾞ Capital Eta with Psili and Perispomeni and Prosgegrammeni
uppercase \x1F99 1236-3456 # ᾙ Capital Eta with Dasia and Prosgegrammeni
uppercase \x1F9D 26-3456 # ᾝ Capital Eta with Dasia and Oxia and Prosgegrammeni
uppercase \x1F9B 12356-3456 # ᾛ Capital Eta with Dasia and Varia and Prosgegrammeni
uppercase \x1F9F 235-3456 # ᾟ Capital Eta with Dasia and Perispomeni and Prosgegrammeni
uppercase \x1FFC 2456 # ῼ Capital Omega with Prosgegrammeni
uppercase \x1FA8 2456 # ᾨ Capital Omega with Psili and Prosgegrammeni
uppercase \x1FAC 356-2456 # ᾬ Capital Omega with Psili and Oxia and Prosgegrammeni
uppercase \x1FAA 23456-2456 # ᾪ Capital Omega with Psili and Varia and Prosgegrammeni
uppercase \x1FAE 256-2456 # ᾮ Capital Omega with Psili and Perispomeni and Prosgegrammeni
uppercase \x1FA9 1236-2456 # ᾩ Capital Omega with Dasia and Prosgegrammeni
uppercase \x1FAD 26-2456 # ᾭ Capital Omega with Dasia and Oxia and Prosgegrammeni
uppercase \x1FAB 12356-2456 # ᾫ Capital Omega with Dasia and Varia and Prosgegrammeni
uppercase \x1FAF 235-2456 # ᾯ Capital Omega with Dasia and Perispomeni and Prosgegrammeni
lowercase \x1FB6 6-1 # ᾶ Small Alpha with Perispomeni
lowercase \x1FB3 35 # ᾳ Small Alpha with Ypogegrammeni
lowercase \x1FB4 5-35 # ᾴ Small Alpha with Oxia and Ypogegrammeni
lowercase \x1FB2 4-35 # ᾲ Small Alpha with Varia and Ypogegrammeni
lowercase \x1FB7 6-35 # ᾷ Small Alpha with Perispomeni and Ypogegrammeni
lowercase \x1F80 35 # ᾀ Small Alpha with Psili and Ypogegrammeni
lowercase \x1F84 356-35 # ᾄ Small Alpha with Psili and Oxia and Ypogegrammeni
lowercase \x1F82 23456-35 # ᾂ Small Alpha with Psili and Varia and Ypogegrammeni
lowercase \x1F86 256-35 # ᾆ Small Alpha with Psili and Perispomeni and Ypogegrammeni
lowercase \x1F81 1236-35 # ᾁ Small Alpha with Dasia and Ypogegrammeni
lowercase \x1F85 26-35 # ᾅ Small Alpha with Dasia and Oxia and Ypogegrammeni
lowercase \x1F83 12356-35 # ᾃ Small Alpha with Dasia and Varia and Ypogegrammeni
lowercase \x1F87 235-35 # ᾇ Small Alpha with Dasia and Perispomeni and Ypogegrammeni
lowercase \x1FC6 6-345 # ῆ Small Eta with Perispomeni
lowercase \x1FC3 3456 # ῃ Small Eta with Ypogegrammeni
lowercase \x1FC4 5-3456 # ῄ Small Eta with Oxia and Ypogegrammeni
lowercase \x1FC2 4-3456 # ῂ Small Eta with Varia and Ypogegrammeni
lowercase \x1FC7 6-3456 # ῇ Small Eta with Perispomeni and Ypogegrammeni
lowercase \x1F90 3456 # ᾐ Small Eta with Psili and Ypogegrammeni
lowercase \x1F94 356-3456 # ᾔ Small Eta with Psili and Oxia and Ypogegrammeni
lowercase \x1F92 23456-3456 # ᾒ Small Eta with Psili and Varia and Ypogegrammeni
lowercase \x1F96 256-3456 # ᾖ Small Eta with Psili and Perispomeni and Ypogegrammeni
lowercase \x1F91 1236-3456 # ᾑ Small Eta with Dasia and Ypogegrammeni
lowercase \x1F95 26-3456 # ᾕ Small Eta with Dasia and Oxia and Ypogegrammeni
lowercase \x1F93 12356-3456 # ᾓ Small Eta with Dasia and Varia and Ypogegrammeni
lowercase \x1F97 235-3456 # ᾗ Small Eta with Dasia and Perispomeni and Ypogegrammeni
lowercase \x0390 5-24 # ΐ Small Iota with Dialytika and Tonos
lowercase \x1FD3 5-24 # ΐ Small Iota with Dialytika and Oxia
lowercase \x1FD2 4-24 # ῒ Small Iota with Dialytika and Varia
lowercase \x1FD6 6-24 # ῖ Small Iota with Perispomeni
lowercase \x1FD7 6-24 # ῗ Small Iota with Dialytika and Perispomeni
lowercase \x1FE4 1235 # ῤ Small Rho with Psili
lowercase \x03B0 5-13456 # ΰ Small Upsilon with Dialytika and Tonos
lowercase \x1FE3 5-13456 # ΰ Small Upsilon with Dialytika and Oxia
lowercase \x1FE2 4-13456 # ῢ Small Upsilon with Dialytika and Varia
lowercase \x1FE6 6-13456 # ῦ Small Upsilon with Perispomeni
lowercase \x1FE7 6-13456 # ῧ Small Upsilon with Dialytika and Perispomeni
lowercase \x1F50 13456 # ὐ Small Upsilon with Psili
lowercase \x1F54 356-13456 # ὔ Small Upsilon with Psili and Oxia
lowercase \x1F52 23456-13456 # ὒ Small Upsilon with Psili and Varia
lowercase \x1F56 256-13456 # ὖ Small Upsilon with Psili and Perispomeni
lowercase \x1FF6 6-245 # ῶ Small Omega with Perispomeni
lowercase \x1FF3 2456 # ῳ Small Omega with Ypogegrammeni
lowercase \x1FF4 5-2456 # ῴ Small Omega with Oxia and Ypogegrammeni
lowercase \x1FF2 4-2456 # ῲ Small Omega with Varia and Ypogegrammeni
lowercase \x1FF7 6-2456 # ῷ Small Omega with Perispomeni and Ypogegrammeni
lowercase \x1FA0 2456 # ᾠ Small Omega with Psili and Ypogegrammeni
lowercase \x1FA4 356-2456 # ᾤ Small Omega with Psili and Oxia and Ypogegrammeni
lowercase \x1FA2 23456-2456 # ᾢ Small Omega with Psili and Varia and Ypogegrammeni
lowercase \x1FA6 256-2456 # ᾦ Small Omega with Psili and Perispomeni and Ypogegrammeni
lowercase \x1FA1 1236-2456 # ᾡ Small Omega with Dasia and Ypogegrammeni
lowercase \x1FA5 26-2456 # ᾥ Small Omega with Dasia and Oxia and Ypogegrammeni
lowercase \x1FA3 12356-2456 # ᾣ Small Omega with Dasia and Varia and Ypogegrammeni
lowercase \x1FA7 235-2456 # ᾧ Small Omega with Dasia and Perispomeni and Ypogegrammeni
#######################
# General Punctuation #
#######################
# Hyphen
sign - 36
hyphen - 36
punctuation ' 3 # ’ Apostrophe
always '\x03C2 3-234
always \x03C3' 234-3
punctuation , 2 # , Comma
midnum , 2 # Decimal Point
punctuation : 25 # : Colon
punctuation \x0387 23 # · Greek Semicolon
punctuation \x2015 6-36 # ― Dialog (Horizontal) Bar
punctuation \x2026 3-3-3 # … Horizontal Ellipsis
#########
# Signs #
#########
sign * 35-35 # Asterisk
sign / 34 # Slash
sign _ 456 # Underline
sign @ 4-1 # At Sign
sign % 4-356 # Percent Sign
sign € 4-15 # Euro Sign
sign $ 4-234 # Dollar Sign
################
# Math Symbols #
################
math + 346 # Addition
math \x2212 36 # Subtraction
endnum - 36 # Subtraction
math \x00D7 46-16 # Multiplication
endnum * 46-16 # Multiplication
math \x00F7 46-34 # Division
endnum / 46-34 # Division
math = 46-13 # Equals
math < 5-13 # Less Than
math > 46-2 # Greater Than
#################
# Braille Cells #
#################
include braille-patterns.cti
##########################
# Positional Punctuation #
##########################
# . Period
punctuation . 256
midnum . 46 # Digit Grouping
postpunc . 256
# « Greek Opening Quotation Mark (Left-Pointing Double Angle Quotation Mark)
punctuation \x00AB 23678
prepunc \x00AB 236
# » Greek Closing Quotation Mark (Right-Pointing Double Angle Quotation Mark)
punctuation \x00BB 35678
postpunc \x00BB 356
# "" English Quotation Marks
punctuation " 235678
prepunc " 6-236
postpunc " 356-3
# ( Opening Parenthesis
punctuation ( 23678
prepunc ( 2356
# ) Closing Parenthesis
punctuation ) 35678
postpunc ) 2356
# [ Opening Bracket
punctuation [ 1235678
prepunc [ 12356
# ] Closing Bracket
punctuation ] 2345678
postpunc ] 23456
# { Opening Brace
punctuation { 1234678
prepunc { 12346
# } Closing Brace
punctuation } 1345678
postpunc } 13456
# ? English Question Mark
punctuation ? 236
postpunc ? 236
# ! Exclamation Mark
punctuation ! 235
postpunc ! 235
# ; Greek Question Mark
punctuation \x037E 26
postpunc \x037E 26
###########
# Numbers #
###########
include digits6Dots.uti
####################
# Greek Diphthongs #
####################
always \x03B1\x03B9 126 # αι Alpha Iota
always \x03B1\x03C5 16 # αυ Alpha Upsilon
always \x03B5\x03B9 146 # ει Epsilon Iota
always \x03B5\x03C5 156 # ευ Epsilon Upsilon
always \x03B7\x03C5 1256 # ηυ Eta Upsilon
always \x03BF\x03B9 246 # οι Omicron Iota
always \X03BF\x03C5 136 # ου Omicron Upsilon
always \x03C5\x03B9 12456 # υι Upsilon Iota
# The Tonos accent, if present, is always on the second letter.
always \x03B1\x03AF 5-126 # αί Alpha Iota
always \x03B1\x03CD 5-16 # αύ Alpha Upsilon
always \x03B5\x03AF 5-146 # εί Epsilon Iota
always \x03B5\x03CD 5-156 # εύ Epsilon Upsilon
always \x03B7\x03CD 5-1256 # ηύ Eta Upsilon
always \x03BF\x03AF 5-246 # οί Omicron Iota
always \X03BF\x03CD 5-136 # ού Omicron Upsilon
always \x03C5\x03AF 5-12456 # υί Upsilon Iota
# The Oxia accent, if present, is always on the second letter.
always \x03B1\x1F77 5-126 # αί Alpha Iota
always \x03B1\x1F7B 5-16 # αύ Alpha Upsilon
always \x03B5\x1F77 5-146 # εί Epsilon Iota
always \x03B5\x1F7B 5-156 # εύ Epsilon Upsilon
always \x03B7\x1F7B 5-1256 # ηύ Eta Upsilon
always \x03BF\x1F77 5-246 # οί Omicron Iota
always \X03BF\x1F7B 5-136 # ού Omicron Upsilon
always \x03C5\x1F77 5-12456 # υί Upsilon Iota
##############
# Indicators #
##############
capsletter 46
begcapsword 46-46
numsign 3456
####################
# English Alphabet #
####################
# Define all of them as just letters in order to avoid Greek capital signs.
# Add virtual dot E to the uppercase letters, and virtual dot F to the
# lowercase letters, so that they have unique braille representations that
# don't overlap with those used for Greek characters.
# The uppercase English letters.
letter A 1E
letter B 12E
letter C 14E
letter D 145E
letter E 15E
letter F 124E
letter G 1245E
letter H 125E
letter I 24E
letter J 245E
letter K 13E
letter L 123E
letter M 134E
letter N 1345E
letter O 135E
letter P 1234E
letter Q 12345E
letter R 1235E
letter S 234E
letter T 2345E
letter U 136E
letter V 1236E
letter W 2456E
letter X 1346E
letter Y 13456E
letter Z 1356E
# The lowercase English letters.
letter a 1F
letter b 12F
letter c 14F
letter d 145F
letter e 15F
letter f 124F
letter g 1245F
letter h 125F
letter i 24F
letter j 245F
letter k 13F
letter l 123F
letter m 134F
letter n 1345F
letter o 135F
letter p 1234F
letter q 12345F
letter r 1235F
letter s 234F
letter t 2345F
letter u 136F
letter v 1236F
letter w 2456F
letter x 1346F
letter y 13456F
letter z 1356F
##########################################
# Forward Translation of English Letters #
##########################################
# Prepend the English letter sign to each block of English letters.
class englishLetter abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
noback pass2 %englishLetter. @56*
# Prepend the English capital sign to each uppercase English letter.
class englishUpper ABCDEFGHIJKLMNOPQRSTUVWXYZ
noback pass3 %englishUpper @6*
# Remove virtual dot F from the lowercase English letters.
noback pass4 [@1F] @1 # a
noback pass4 [@12F] @12 # b
noback pass4 [@14F] @14 # c
noback pass4 [@145F] @145 # d
noback pass4 [@15F] @15 # e
noback pass4 [@124F] @124 # f
noback pass4 [@1245F] @1245 # g
noback pass4 [@125F] @125 # h
noback pass4 [@24F] @24 # i
noback pass4 [@245F] @245 # j
noback pass4 [@13F] @13 # k
noback pass4 [@123F] @123 # l
noback pass4 [@134F] @134 # m
noback pass4 [@1345F] @1345 # n
noback pass4 [@135F] @135 # o
noback pass4 [@1234F] @1234 # p
noback pass4 [@12345F] @12345 # q
noback pass4 [@1235F] @1235 # r
noback pass4 [@234F] @234 # s
noback pass4 [@2345F] @2345 # t
noback pass4 [@136F] @136 # u
noback pass4 [@1236F] @1236 # v
noback pass4 [@2456F] @2456 # w
noback pass4 [@1346F] @1346 # x
noback pass4 [@13456F] @13456 # y
noback pass4 [@1356F] @1356 # z
# Remove virtual dot E from the uppercase English letters.
noback pass4 [@1E] @1 # A
noback pass4 [@12E] @12 # B
noback pass4 [@14E] @14 # C
noback pass4 [@145E] @145 # D
noback pass4 [@15E] @15 # E
noback pass4 [@124E] @124 # F
noback pass4 [@1245E] @1245 # G
noback pass4 [@125E] @125 # H
noback pass4 [@24E] @24 # I
noback pass4 [@245E] @245 # J
noback pass4 [@13E] @13 # K
noback pass4 [@123E] @123 # L
noback pass4 [@134E] @134 # M
noback pass4 [@1345E] @1345 # N
noback pass4 [@135E] @135 # O
noback pass4 [@1234E] @1234 # P
noback pass4 [@12345E] @12345 # Q
noback pass4 [@1235E] @1235 # R
noback pass4 [@234E] @234 # S
noback pass4 [@2345E] @2345 # T
noback pass4 [@136E] @136 # U
noback pass4 [@1236E] @1236 # V
noback pass4 [@2456E] @2456 # W
noback pass4 [@1346E] @1346 # X
noback pass4 [@13456E] @13456 # Y
noback pass4 [@1356E] @1356 # Z
###########################################
# Backward Translation of English Letters #
###########################################
nofor pass2 @56 ?#1=1
nofor pass2 #1=1@6 ?#1=2
nofor pass2 [$a] *#1=0
# Add virtual dot F to indicate a lowercase English letter.
nofor pass2 #1=1@1 @1F # a
nofor pass2 #1=1@12 @12F # b
nofor pass2 #1=1@14 @14F # c
nofor pass2 #1=1@145 @145F # d
nofor pass2 #1=1@15 @15F # e
nofor pass2 #1=1@124 @124F # f
nofor pass2 #1=1@1245 @1245F # g
nofor pass2 #1=1@125 @125F # h
nofor pass2 #1=1@24 @24F # i
nofor pass2 #1=1@245 @245F # j
nofor pass2 #1=1@13 @13F # k
nofor pass2 #1=1@123 @123F # l
nofor pass2 #1=1@134 @134F # m
nofor pass2 #1=1@1345 @1345F # n
nofor pass2 #1=1@135 @135F # o
nofor pass2 #1=1@1234 @1234F # p
nofor pass2 #1=1@12345 @12345F # q
nofor pass2 #1=1@1235 @1235F # r
nofor pass2 #1=1@234 @234F # s
nofor pass2 #1=1@2345 @2345F # t
nofor pass2 #1=1@136 @136F # u
nofor pass2 #1=1@1236 @1236F # v
nofor pass2 #1=1@2456 @2456F # w
nofor pass2 #1=1@1346 @1346F # x
nofor pass2 #1=1@13456 @13456F # y
nofor pass2 #1=1@1356 @1356F # z
# Add virtual dot E to indicate an uppercase English letter.
nofor pass2 #1=2@1 @1E#1=1 # A
nofor pass2 #1=2@12 @12E#1=1 # B
nofor pass2 #1=2@14 @14E#1=1 # C
nofor pass2 #1=2@145 @145E#1=1 # D
nofor pass2 #1=2@15 @15E#1=1 # E
nofor pass2 #1=2@124 @124E#1=1 # F
nofor pass2 #1=2@1245 @1245E#1=1 # G
nofor pass2 #1=2@125 @125E#1=1 # H
nofor pass2 #1=2@24 @24E#1=1 # I
nofor pass2 #1=2@245 @245E#1=1 # J
nofor pass2 #1=2@13 @13E#1=1 # K
nofor pass2 #1=2@123 @123E#1=1 # L
nofor pass2 #1=2@134 @134E#1=1 # M
nofor pass2 #1=2@1345 @1345E#1=1 # N
nofor pass2 #1=2@135 @135E#1=1 # O
nofor pass2 #1=2@1234 @1234E#1=1 # P
nofor pass2 #1=2@12345 @12345E#1=1 # Q
nofor pass2 #1=2@1235 @1235E#1=1 # R
nofor pass2 #1=2@234 @234E#1=1 # S
nofor pass2 #1=2@2345 @2345E#1=1 # T
nofor pass2 #1=2@136 @136E#1=1 # U
nofor pass2 #1=2@1236 @1236E#1=1 # V
nofor pass2 #1=2@2456 @2456E#1=1 # W
nofor pass2 #1=2@1346 @1346E#1=1 # X
nofor pass2 #1=2@13456 @13456E#1=1 # Y
nofor pass2 #1=2@1356 @1356E#1=1 # Z