# liblouis: English (Unified) character definitions table
#
#  Based on the Linux screenreader BRLTTY
#
#  Copyright (C) 1999-2006 by The BRLTTY Team
#  Copyright (C) 2004-2006 ViewPlus Technologies, Inc. www.viewplus.com
#  Copyright (C) 2004-2006 JJB Software, Inc. www.jjb-software.com
#  Copyright (C) 2016 American Printing House for the Blind, Inc. www.aph.org
#  Copyright (C) 2020 RNIB, www.rnib.org.uk
#
#  This file is part of liblouis.
#
#  liblouis is free software: you can 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/>.

#-maintainer: James Bowden <james.bowden@rnib.org.uk>

space \t 9 tab
space \x001b 1b escape character for html back-translation
space \x00A0 a NO-BREAK SPACE <noBreak> 0020 NON-BREAKING SPACE

noback correct "\x200b" "\s"
include spaces.uti

include latinLetterDef6Dots.uti
include latinUppercaseComp6.uti


#   Numeric Symbols

display 0 356
display 1 2
display 2 23
display 3 25
display 4 256
display 5 26
display 6 235
display 7 2356
display 8 236
display 9 35

digit 0 245
digit 1 1
digit 2 12
digit 3 14
digit 4 145
digit 5 15
digit 6 124
digit 7 1245
digit 8 125
digit 9 24

# this is a bad work-around for doing numeric mode backwards
litdigit 0 245
litdigit 1 1
litdigit 2 12
litdigit 3 14
litdigit 4 145
litdigit 5 15
litdigit 6 124
litdigit 7 1245
litdigit 8 125
litdigit 9 24


#   Modifiers

# acute accent
sign \x00b4 45-34 ´
sign \x0301 45-34 ́ 
noback correct [$l]"́" "́"*

# circumflex/carot
display \x005e 457 ^
sign \x005e 4-26 ^
sign \x0302 45-146 ̂ 
noback correct [$l]"̂" "̂"*

# grave accent
sign \x0060 46-16 `
noback punctuation ` 4
sign \x0300 45-16 ̀̀ 
noback correct [$l]"̀" "̀"*

# tilde
display \x007e 45 ~
math \x007e 4-35 ~
sign \x0303 45-12456 ̃ 
noback correct [$l]"̃" "̃"*
noback pass2 @45-12456-6 @6-45-12456  move after capital sign

# macron
sign \x00af 4-36 ¯
sign \x0304 45-4-36 ̄ 
noback correct [$l]"̄" "̄"*

# cedilla
sign \x00b8 45-12346 ¸
sign \x0327 45-12346 ̧ 
noback correct [$l]"̧" "̧"*

# diaeresis/umlat
sign \x00a8 45-25 ¨
sign \x0308 45-25 ̈  
noback correct [$l]"̈" "̈"*

# caron
sign \x02c7 45-345 ˇ
sign \x030c 45-346 ̌ 
noback correct [$l]"̌" "̌"*

# breve
sign \x02d8 4-346 ˘
sign \x0306 4-346 ̆ 
noback correct [$l]"̆" "̆"*

# ring/circle
sign \x02da 45-1246 ˚
sign \x030a 45-1246 ̊  
noback correct [$l]"̊" "̊"*


#####   Start of Unicode


#   Unicode:  Basic Latin

display ! 2346
punctuation ! 235
nofor postpunc ! 235
match %a ! %a 56-235

display " 5
punctuation " 6-2356
# The "?" symbol is mostly handled below,
# but the pattern needs to be defined before prepunc and postpunc can be used.
display ? 1456
nofor punctuation ? 236
nofor punctuation " 356
nofor prepunc " 236
nofor postpunc " 356
match %[^_~]%<* " %[_.$]*%[a#] 236
match %[a#]%[_.$]* " %>*%[^_~] 356

display # 3456
sign # 456-1456
display $ 1246
sign $ 4-234
display % 146
sign % 46-356
display & 12346
sign & 4-12346
display ' 3
punctuation ' 3
display ( 12356
punctuation ( 5-126
display ) 23456
punctuation ) 5-345
display * 16
sign * 5-35
display + 346
math + 5-235
display , 6
punctuation , 2
match %a , %a 56-2
display - 36
punctuation - 36
hyphen - 36
display . 46
punctuation . 256
display / 34
math / 456-34
# 0-9   see Numeric Symbols
display : 156
punctuation : 25
postpunc : 25
match %a : %a 56-25
#TODO:  this is unnecessarily necessary
display ; 56
punctuation ; 23
noback punctuation ; 56
match %a ; %a 56-23
display < 126
math < 4-126
display = 123456
math = 5-2356
display > 345
punctuation > 4-345
# requires grade one indicator when by itself
punctuation ? 56-236
postpunc ? 236
display @ 47
sign @ 4-1
# A-Z   see latinLetterDef8Dots.uti
display [ 2467
punctuation [ 46-126
display \\ 12567
sign \\ 456-16
display ] 124567
punctuation ] 46-345
# \x005e ^   see Modifiers
display _ 456
sign _ 46-36
# /x0060 `   see Modifiers
# a-z   see latinLetterDef8Dots.uti
display { 246
punctuation { 456-126
display | 1256
sign | 456-1256 
display } 12456
punctuation } 456-345
# \x007e ~   see Modifiers


#   Unicode:  Latin-1 Supplement

#punctuation \x0093 236
#punctuation \x0094 356
#punctuation \x0096 36
space \x00a0 a   non-breaking space
sign \x00a1 45-56-235 ¡
punctuation \x00a1 235 ¡
sign \x00a2 4-14 ¢ cent
sign \x00a3 4-123 £ pound
sign \x00a4 1246 ¤ curency
sign \x00a5 4-13456 ¥ yen
sign \x00a6 46-1256 ¦ broken bar
punctuation \x00a6 456-1256 ¦ broken bar
sign \x00a7 45-234 § section
# \x00a8 ¨   see Modifiers
sign \x00a9 45-14 © copyright
#sign \x00aa ª
punctuation \x00ab 456-236 «
sign \x00ac 4-1456 ¬
punctuation \x00ad 36 - soft hyphen
sign \x00ae 45-1235 ® registered
# \x00af ¯   see Modifiers
sign \x00b0 45-245 °
math \x00b1 456-235 ±

# fake grade 1 and superscript indicator
math \x00b2 56-35-3456-12 ²
math \x00b3 56-35-3456-14 ³

# \x00b4 ´   see Modifiers
sign \x00b5 46-134 µ
math \x00b7 4-16 ·

# fake numeric indicator
math \x00bc 3456-1-34-145 ¼
math \x00bd 3456-1-34-12 ½
math \x00be 3456-14-34-145 ¾

#sign \x00ba 0 º
sign \x00b6 45-1234 ¶ pilcrow
# \x00b8 ¸   see Modifiers
punctuation \x00bb 456-356 »
punctuation \x00bf 45-56-236 ¿
lowercase \x00df 46-2346 ß
lowercase \x00e0 45-16-1 à
lowercase \x00e1 45-34-1 á
lowercase \x00e2 45-146-1 â
lowercase \x00e3 45-12456-1 ã
lowercase \x00e4 45-25-1 ä
lowercase \x00e5 45-1246-1 å
lowercase \x00e6 1-6-45-235-15 æ        if needed the dot 6 is removed in pass2 (see below)
lowercase \x00e7 45-12346-14 ç
lowercase \x00e8 45-16-15 è
lowercase \x00e9 45-34-15 é
lowercase \x00ea 45-146-15 ê
lowercase \x00eb 45-25-15 ë
lowercase \x00ec 45-16-24 ì
lowercase \x00ed 45-34-24 í
lowercase \x00ee 45-146-24 î
lowercase \x00ef 45-25-24 ï
lowercase \x00f0 3456-1246 ð
lowercase \x00f1 45-12456-1345 ñ
lowercase \x00f2 45-16-135 ò
lowercase \x00f3 45-34-135 ó
lowercase \x00f4 45-146-135 ô
lowercase \x00f5 45-12456-135 õ
lowercase \x00f6 45-25-135 ö
math \x00d7 5-236 ×
lowercase \x00f8 4-16-135 Øø
lowercase \x00f9 45-16-136 ù
lowercase \x00fa 45-34-136 ú
lowercase \x00fb 45-146-136 û
lowercase \x00fc 45-25-136 ü
lowercase \x00fd 45-34-13456 ý
lowercase \x00fe 3456-2346 þ
math \x00f7 5-34 ÷


#   Unicode:  Latin Extended-A

lowercase \x0101 4-36-1 ā
lowercase \x0103 4-346-1 ă
lowercase \x0107 45-34-14 ć
lowercase \x0109 45-146-14 ĉ
lowercase \x010d 45-346-14 č
lowercase \x010f 45-346-145 ď
lowercase \x0111 4-25-145 đ
lowercase \x0113 4-36-15 ē
lowercase \x0115 4-346-15 ĕ
lowercase \x011b 45-346-15 ě
lowercase \x011d 45-146-1245 ĝ
lowercase \x011f 4-346-1245 ğ
lowercase \x0123 45-12346-1245 ģ
lowercase \x0125 45-146-125 ĥ
lowercase \x0127 4-25-125 ħ
lowercase \x0129 45-12456-24 ĩ
lowercase \x012b 4-36-24 ī
lowercase \x012d 4-346-24 ĭ
lowercase \x0133 24-6-45-235-245 IJij         if needed the dot 6 is removed in pass2 (see below)
lowercase \x0135 45-146-245 ĵ
lowercase \x0137 45-12346-13 ķ
lowercase \x013a 45-34-123 ĺ
lowercase \x013c 45-12346-123 ļ
lowercase \x013e 45-346-123 ľ
lowercase \x0142 4-16-123 ł
lowercase \x0144 45-34-1345 ń
lowercase \x0146 45-12346-1345 ņ
lowercase \x0148 45-346-1345 ň
lowercase \x014b 45-1345 ŋ
lowercase \x014d 4-36-135 ō
lowercase \x014f 4-346-135 ŏ
lowercase \x0153 135-6-45-235-15 œ         if needed the dot 6 is removed in pass2 (see below)
lowercase \x0155 45-34-1235 ŕ
lowercase \x0157 45-12346-1235 ŗ
lowercase \x0159 45-346-1235 ř
lowercase \x015b 45-34-234 ś
lowercase \x015d 45-146-234 ŝ
lowercase \x015f 45-12346-234 ş
lowercase \x0161 45-346-234 š
lowercase \x0163 45-12346-2345 ţ
lowercase \x0165 45-346-2345 ť
lowercase \x0167 4-25-2345 ŧ
lowercase \x0169 45-12456-136 ũ
lowercase \x016b 4-36-136 ū
lowercase \x016d 4-346-136 ŭ
lowercase \x016f 45-1246-136 ů
lowercase \x0175 45-146-2456 ŵ
lowercase \x0177 45-146-13456 ŷ
lowercase \x00ff 45-25-13456 ÿ
lowercase \x017a 45-34-1356 ź
lowercase \x017e 45-346-1356 ž


#   Unicode:  Latin Extended-B

lowercase \x0259 456-26 ə        schwa e must be before \x018e and \x04d8
lowercase \x01dd 456-26 ǝ        turned e
lowercase \x0268 4-25-24 ɨ
lowercase \x01b6 4-25-1356 ƶ
lowercase \x01ce 45-346-1 ǎ
lowercase \x01d0 45-346-24 ǐ
lowercase \x01d2 45-346-135 ǒ
lowercase \x01d4 45-346-136 ǔ
lowercase \x01e5 4-25-1245 ǥ
lowercase \x01e7 45-346-1245 ǧ
lowercase \x01e9 45-346-13 ǩ
lowercase \x01f5 45-34-1245 ǵ
lowercase \x01f0 45-346-245 ǰ
lowercase \x01bf 3456-2456 ƿ       wynn
lowercase \x01f9 45-16-1345 ǹ

lowercase \x021d 3456-13456 ȝ       yogh
lowercase \x021f 45-346-125 ȟ
lowercase \x0229 45-12346-15 ȩ
lowercase \x0233 4-36-13456 ȳ
lowercase \x2c65 4-16-1 ⱥ
lowercase \x023c 4-16-14 ȼ
lowercase \x2c66 4-16-2345 ⱦ
lowercase \x0180 4-25-12 ƀ
lowercase \x0247 4-16-15 ɇ
lowercase \x0249 4-25-245 Ɉ
lowercase \x024d 4-25-1235 ɍ
lowercase \x024f 4-25-13456 ɏ


#   Unicode:  IPA Extensions

# \x0259 ə   see \x018f


#   Unicode:  Spacing Modifier Letters

sign \x02e6 45-46-14 ˦   high tone
sign \x02e7 45-46-25 ˧   mid tone
sign \x02e8 45-46-36 ˨   low tone


#   Unicode:  Greek and Coptic

lowercase \x03b1 46-1 α Alpha
lowercase \x03b2 46-12 β Beta
lowercase \x03b3 46-1245 γ Gamma
lowercase \x03b4 46-145 δ Delta
lowercase \x03b5 46-15 ε Epsilon
lowercase \x03b6 46-1356 ζ Zeta
lowercase \x03b7 46-156 η Eta
lowercase \x03b8 46-1456 θ Theta
lowercase \x03b9 46-24 ι Iota
lowercase \x03ba 46-13 κ Kappa
lowercase \x03bb 46-123 λ Lamda
lowercase \x03bc 46-134 μ Mu
lowercase \x03bd 46-1345 ν Nu
lowercase \x03be 46-1346 ξ Xi
lowercase \x03bf 46-135 ο Omicron
lowercase \x03c0 46-1234 π Pi
lowercase \x03c1 46-1235 ρ Rho
lowercase \x03c3 46-234 σ Sigma
lowercase \x03c4 46-2345 τ Tau
lowercase \x03c5 46-136 υ Upsilon
lowercase \x03c6 46-124 φ Phi
lowercase \x03c7 46-12346 χ Chi
lowercase \x03c8 46-13456 ψ Psi
lowercase \x03c9 46-2456 ω Omega
noback lowercase \x03c2 46-234 ς Small Letter Sigma


#   Unicode:  Cyrillic
# similar cyrillic characters must be after latin characters
# to ensure proper backward translation


#   Unicode:  Latin Extended Additional

lowercase \x1e11 45-12346-145 ḑ
lowercase \x1e21 4-36-1245 ḡ
lowercase \x1e27 45-25-125 ḧ
lowercase \x1e29 45-12346-125 ḩ
lowercase \x1e31 45-34-13 ḱ
lowercase \x1e3f 45-34-134 ḿ
lowercase \x1e55 45-34-1234 ṕ
lowercase \x1e7d 45-12456-1236 ṽ
lowercase \x1e81 45-16-2456 ẁ
lowercase \x1e83 45-34-2456 ẃ
lowercase \x1e85 45-25-2456 ẅ
lowercase \x1e8d 45-25-1346 ẍ
lowercase \x1e91 45-146-1356 ẑ
lowercase \x1e97 45-25-2345 ẗ
lowercase \x1e98 45-1246-2456 ẘ   http://archives.miloush.net/michkap/archive/2012/04/17/10294366.html
lowercase \x1e99 45-1246-13456 ẙ
lowercase \x1ebd 45-12456-15 ẽ
lowercase \x1ef3 45-16-13456 ỳ
lowercase \x1ef9 45-12456-13456 ỹ


#   Unicode:  General Punctuation

space \x2000 0
space \x2001 0
space \x2002 0
space \x2003 0
space \x2004 0
space \x2005 0
space \x2006 0
space \x2007 0
space \x2008 0
space \x2009 0
space \x200a 0
space \x200b 0
punctuation \x2010 36 ‐
punctuation \x2011 36 ‑
noback punctuation \x2013 6-36 – backtranslate as \x2014
punctuation \x2014 6-36 —   Rules of UEB, App.3
punctuation \x2015 5-6-36 ―
noback punctuation \x2018 6-236 ‘
noback punctuation \x2019 6-356 ’
match %a \x2019 %a 3 # single quote between letters is really  apostrophe
punctuation \x201c 236 “
punctuation \x201d 356 ”
sign \x2020 4-6-1456 †   dagger
sign \x2021 4-6-12456 ‡   double dagger
sign \x2022 456-256 •   bullet
punctuation \x2026 256-256-256 …   ellipsis
space \x202f 0   narrow no-break space
sign \x2032 2356 ′   prime (derivative)
sign \x2033 2356-2356 ″   double prime (second derivative)


#   Unicode:  Superscripts and Subscripts

# fake indicators and numeric indicator
#math \x2070 35-3456-245 ⁰


#   Unicode:  Currency Symbols

sign \x20a3 4-124 ₣ franc
sign \x20a6 4-1345 ₦ naira
sign \x20ac 4-15 € euro


#   Unicode:  Letterlike Symbols

sign \x2122 45-2345 ™
noback sign \x2126 6-46-2456 Ω Ohm sign, same as capital Omega
noback sign \x212b 6-45-1246-1 Å Angstrom same as capital A with ring

#   Unicode:  Number Forms

# fake numerical indicator for simple fractions
math \x2150 3456-1-34-1245 ⅐
math \x2151 3456-1-34-24 ⅑
math \x2152 3456-1-34-1-245 ⅒
math \x2153 3456-1-34-14 ⅓
math \x2154 3456-12-34-14 ⅔
math \x2155 3456-1-34-15 ⅕
math \x2156 3456-12-34-15 ⅖
math \x2157 3456-14-34-15 ⅗
math \x2158 3456-145-34-15 ⅘
math \x2159 3456-1-34-124 ⅙
math \x215a 3456-15-34-124 ⅚
math \x215b 3456-1-34-125 ⅛
math \x215c 3456-14-34-125 ⅜
math \x215d 3456-15-34-125 ⅝
math \x215e 3456-1245-34-125 ⅞
math \x2189 3456-245-34-14 ↉


#   Unicode:  Arrows

sign \x2190 56-1256-246 ←
sign \x2191 56-1256-346 ↑
sign \x2192 56-1256-135 →
sign \x2193 56-1256-146 ↓
sign \x2196 56-1256-156 ↖
sign \x2197 56-1256-234 ↗
sign \x2198 56-1256-126 ↘
sign \x2199 56-1256-345 ↙
sign \x21a6 56-1256-1256 ↦
sign \x21b2 56-1256-256 ↲
sign \x21b3 56-1256-356 ↳
sign \x21b5 56-1256-256-146 ↵   Rules of UEB, page 21
sign \x21c0 56-1256-4-1235 ⇀
sign \x21c1 56-1256-6-1235 ⇁
sign \x21cc 45-456-2356 ⇌   equilibrium arrow (harpoons)
sign \x21d2 56-1256-2356-2356 ⇒


#   Unicode:  Mathematical Operators

sign \x2200 45-1 ∀   for all
sign \x2202 4-145 ∂   partial derivative
sign \x2203 45-26 ∃   there exists
sign \x2204 45-26-4-156 ∄   there does not exist
sign \x2205 4-245 ∅   empty set
noback sign \x2206 6-46-145 ∆ Increment same as capital Delta
sign \x2207 45-145 ∇   nabla
sign \x2208 45-15 ∈   element of
sign \x2209 45-15-4-156 ∉ not an element of
sign \x220b 4-45-15 ∋   contains (such that)
sign \x220c 4-45-15-4-156 ∌ does not contain as member
sign \x220f 6-46-1234 ∏   product (capital pi)
sign \x2211 6-46-234 ∑   sum (capitol sigma)
sign \x2212 5-36 −   minus sign (not hyphen)
sign \x2213 456-36 ∓   minus or plus
noback sign \x2216 456-16 ∖  set minus
noback sign \x2217 5-35 ∗   asterisk operator
sign \x2218 5-356 ∘   hollow dot (ring operator)
sign \x221a 5-146 √   square root
sign \x221d 456-5-2356   ∝ proportional to
sign \x221e 3456-123456   ∞ infinity
sign \x2220 456-246   ∠ angle
sign \x2221 46-456-246   ∡ measured angle
noback sign \x2223 456-1256 ∣   divides
sign \x2224 456-1256-4-156 ∤   does not divide
sign \x2225 3456-123   ∥ parallel to
sign \x2226 3456-123-4-156 ∦   not parallel to
sign \x2227 4-236 ∧   logical and
sign \x2228 4-235 ∨   logical or
sign \x2229 46-236 ∩   set intersection
sign \x222a 46-235 ∪   set union
sign \x222b 2346 ∫   integral
sign \x222e 4-2346   contour integral
noback sign \x2234 6-16 ∴   therefore   # using noback to avoid conflict with Child
sign \x2235 4-34 ∵   because
noback sign \x2236 25 ∶   ratio   # using noback to avoid conflict with :
sign \x2237 25-25 ∷   proportion
noback sign \x223c 4-35 ∼   tilde operator
sign \x2241 4-35-4-156 ≁   not tilde
sign \x2243 456-35 ≃   asymptotically equal to
sign \x2244 456-35-4-156 ≄  not asymptotically equal
sign \x2245 5-456-35 ≅   approximately equal to
sign \x2247 5-456-35-4-156 ≇  neither approximately nor actually equal
sign \x2248 45-35 ≈   almost equal to
sign \x2249 45-35-4-156 ≉  not almost equal
sign \x224f 45-5-2356 ≏   difference between
sign \x2251 46-5-2356 ≑   geometrically equal
sign \x2260 5-2356-4-156 ≠   not equal
sign \x2261 456-123456 ≡   identical (equivalent) to
sign \x2262 456-123456-4-156 ≢   not identical to
sign \x2264 456-4-126 ≤   less than or equal to
sign \x2265 456-4-345 ≥   greater than or equal to
sign \x226a 46-4-126 ≪   much less than
sign \x226b 46-4-345 ≫   much greater than
sign \x226e 4-126-4-156 ≮   not less than
sign \x226f 4-345-4-156 ≯   not greater than
sign \x2270 456-4-126-4-156 ≰  neither less than nor equal to
sign \x2271 456-4-345-4-156 ≱   neither greather than nor equal to
sign \x2282 45-126 ⊂   subset of
sign \x2283 45-345 ⊃   superset of
sign \x2284 45-126-4-156 ⊄ not subset of
sign \x2285 45-345-4-156 ⊅ not superset of
sign \x2286 456-45-126 ⊆   subset or equal to
sign \x2287 456-45-345 ⊇   superset or equal to
sign \x2288 456-45-126-4-156 ⊈   neither a subset nor equal
sign \x2289 456-45-345-4-156 ⊉  neither a superset nor equal 
sign \x228a 46-45-126 ⊊   proper subset
sign \x228b 46-45-345 ⊋   proper superset
noback sign \x22a2 456-25 ⊢  right tack
sign \x22a3 4-456-25 ⊣   left tack
sign \x22a5 3456-36 ⊥   up tack
sign \x22a6 456-25 ⊦   assertion
sign \x22a8 45-456-25 ⊨   valid
sign \x22ac 456-25-4-156 ⊬  does not prove
sign \x22ad 45-456-25-4-156 ⊭   not true
sign \x22b2 4-456-126 ⊲   normal subgroup
sign \x22b3 4-456-345 ⊳   contains as normal subgroup
sign \x22b4 456-456-126 ⊴   normal subgroup or equal
sign \x22b5 456-456-345 ⊵   contains as normal subgroup or equal
sign \x22be 3456-456-246 ⊾   right angle with arc
sign \x22c5 5-256 ⋅   dot operator
sign \x22ea 4-456-126-4-156 ⋪ not normal subgroup
sign \x22eb 4-456-345-4-156 ⋫ does not contain as normal subgroup
sign \x22ec 456-456-126-4-156 ⋬ not normal subgroup nor equal
sign \x22ed 456-456-345-4-156 ⋭ does not contain as normal subgroup nor equal

#   Unicode:  Miscellaneous Technical

math \x2329 4-126 〈
math \x232A 4-345 〉


#   Unicode:  Box Drawing

noback sign \x2502 456 │   tally mark - vertical single solid line segment
noback sign \x250a 45 ┊   first variant vertical line segment
noback sign \x2551 6-456 ║   second variant vertical line segment
noback sign \x2571 345 ╱   right-leaning single solid diagonal line segment   # using noback to avoid conflict with "ar" contraction
noback sign \x2572 126 ╲   left-leaning single solid diagonal line segment   # using noback to avoid conflict with "gh" contraction


#   Unicode:  Geometric Shapes

sign \x25a0 456-1246-3456-145 ■   filled (solid) square
sign \x25a1 1246-3456-145 □   square
sign \x25a7 46-1246-3456-145 ▧   shaded square (upper left to lower right)
sign \x25b2 456-1246-3456-14 ▲   filled (solid) (equilateral) triangle
sign \x25b3 1246-3456-14 △   regular (equilateral) triangle
sign \x25cb 1246-123456 ○   circle
sign \x25cd 46-1246-123456 ◍   shaded circle
sign \x25aa 456-256 ▪
noback sign \x25cf 5-35 ●   black circle   # not representing filled circle shape as it is mostly used in password fields to represent hidden characters


#   Unicode:  Miscellaneous Symbols

sign \x2640 45-1346 ♀
sign \x2642 45-13456 ♂
sign \x266D 3456-126 ♭
sign \x266E 3456-16 ♮
sign \x266F 3456-146 ♯


#   Unicode:  Dingbats

sign \x2713 4-146 ✓ check mark
noback sign \x2714 4-146 ✔ check mark


#   Unicode:  Miscellaneous Mathematical Symbols-A

noback sign \x27c2 3456-36 ⟂  perpendicular


#   Unicode:  Miscellaneous Mathematical Symbols-B

sign \x2980 3456-456-123 ⦀ triple vertical bar delimiter
sign \x29b5 46-245 ⦵   'normal' (superscript circle crossed by horizontal line)


#   Unicode:  Supplemental Mathematical Operators

sign \x2a23 45-146-5-235 ⨣
sign \x2a24 45-12456-5-235 ⨤
sign \x2ae4 46-456-25 ⫤   reverse 'is valid' sign
noback sign \x2af4 3456-456-123 ⫴ triple vertical bar binary relation
noback sign \x2afc 3456-456-123 ⫼ large triple vertical bar operator


#   Unicode:  Latin Extended-C

lowercase \x1d7d 4-25-1234 ᵽ


#   Unicode:  CJK Symbols and Punctuation

sign \x3003 5-2 〃   ditto mark
math \x3008 4-126 〈
math \x3009 4-345 〉


#   Unicode:  Latin Extended-D

lowercase \xa741 4-25-13 ꝁ
lowercase \xa743 4-16-13 ꝃ
lowercase \xa751 4-25-1234 ꝑ
lowercase \xa757 4-25-12345 ꝗ
lowercase \xa759 4-16-12345 ꝙ
lowercase \xa75f 4-16-1236 ꝟ
lowercase \xa799 4-25-124 ꞙ


#   Unicode:  Latin Extended-D

lowercase \xfb00 124-45-235-124 ff
lowercase \xfb01 124-45-235-24 fi
#\xfb02 ffi
#\xfb03 ffl
lowercase \xfb05 124-45-235-2345 ſt
lowercase \xfb06 234-45-235-2345 st


#   Unicode:  Cyrillic
# see above as to why these are here

lowercase \x0450 45-16-15 ѐ
lowercase \x0451 45-25-15 ё
lowercase \x0457 45-25-24 ї
lowercase \x045c 45-34-13 ќ
lowercase \x04e5 45-346-13456 ў
lowercase \x04ab 45-12346-14 ҫ
lowercase \x04b1 4-25-13456 ұ
lowercase \x04d1 4-346-1 ӑ
lowercase \x04d3 45-25-1 ӓ
uppercase \x04d4 1-6-45-235-15 Ӕ
lowercase \x04d5 1-45-235-15 ӕ
lowercase \x04d7 45-346-15 ӗ
lowercase \x04d9 456-26 ә
lowercase \x04ef 4-36-13456 ӯ
lowercase \x04f1 45-25-13456 ӱ


#####   End of Unicode

# Uppercase letters

base uppercase \x00c0 \x00e0 Àà
base uppercase \x00c1 \x00e1 Áá
base uppercase \x00c2 \x00e2 Ââ
base uppercase \x00c3 \x00e3 Ãã
base uppercase \x00c4 \x00e4 Ää
base uppercase \x00c5 \x00e5 Åå
base uppercase \x00c6 \x00e6 Ææ
base uppercase \x00c7 \x00e7 Çç
base uppercase \x00c8 \x00e8 Èè
base uppercase \x00c9 \x00e9 Éé
base uppercase \x00ca \x00ea Êê
base uppercase \x00cb \x00eb Ëë
base uppercase \x00cc \x00ec Ìì
base uppercase \x00cd \x00ed Íí
base uppercase \x00ce \x00ee Îî
base uppercase \x00cf \x00ef Ïï
base uppercase \x00d0 \x00f0 Ðð
base uppercase \x00d1 \x00f1 Ññ
base uppercase \x00d2 \x00f2 Òò
base uppercase \x00d3 \x00f3 Óó
base uppercase \x00d4 \x00f4 Ôô
base uppercase \x00d5 \x00f5 Õõ
base uppercase \x00d6 \x00f6 Öö
base uppercase \x00d8 \x00f8 Øø
base uppercase \x00d9 \x00f9 Ùù
base uppercase \x00da \x00fa Úú
base uppercase \x00db \x00fb Ûû
base uppercase \x00dc \x00fc Üü
base uppercase \x00dd \x00fd Ýý
base uppercase \x00de \x00fe Þþ
base uppercase \x0100 \x0101 Āā
base uppercase \x0102 \x0103 Ăă
base uppercase \x0106 \x0107 Ćć
base uppercase \x0108 \x0109 Ĉĉ
base uppercase \x010c \x010d Čč
base uppercase \x010e \x010f Ďď
base uppercase \x0110 \x0111 Đđ
base uppercase \x0112 \x0113 Ēē
base uppercase \x0114 \x0115 Ĕĕ
base uppercase \x011a \x011b Ěě
base uppercase \x011c \x011d Ĝĝ
base uppercase \x011e \x011f Ğğ
base uppercase \x0122 \x0123 Ģģ
base uppercase \x0124 \x0125 Ĥĥ
base uppercase \x0126 \x0127 Ħħ
base uppercase \x0128 \x0129 Ĩĩ
base uppercase \x012a \x012b Īī
base uppercase \x012c \x012d Ĭĭ
base uppercase \x0132 \x0133 IJ ij
base uppercase \x0134 \x0135 Ĵĵ
base uppercase \x0136 \x0137 Ķķ
base uppercase \x0139 \x013a Ĺĺ
base uppercase \x013b \x013c Ļļ
base uppercase \x013d \x013e Ľľ
base uppercase \x0141 \x0142 Łł
base uppercase \x0143 \x0144 Ńń
base uppercase \x0145 \x0146 Ņņ
base uppercase \x0147 \x0148 Ňň
base uppercase \x014a \x014b Ŋŋ
base uppercase \x014c \x014d Ōō
base uppercase \x014e \x014f Ŏŏ
base uppercase \x0152 \x0153 Œœ
base uppercase \x0154 \x0155 Ŕŕ
base uppercase \x0156 \x0157 Ŗŗ
base uppercase \x0158 \x0159 Řř
base uppercase \x015a \x015b Śś
base uppercase \x015c \x015d Ŝŝ
base uppercase \x015e \x015f Şş
base uppercase \x0160 \x0161 Šš
base uppercase \x0162 \x0163 Ţţ
base uppercase \x0164 \x0165 Ťť
base uppercase \x0166 \x0167 Ŧŧ
base uppercase \x0168 \x0169 Ũũ
base uppercase \x016a \x016b Ūū
base uppercase \x016c \x016d Ŭŭ
base uppercase \x016e \x016f Ůů
base uppercase \x0174 \x0175 Ŵŵ
base uppercase \x0176 \x0177 Ŷŷ
base uppercase \x0178 \x00ff Ÿÿ
base uppercase \x0179 \x017a Źź
base uppercase \x017d \x017e Žž
base uppercase \x018f \x0259 Əə
base uppercase \x018e \x01dd Ǝǝ
base uppercase \x0197 \x0268 Ɨɨ
base uppercase \x01b5 \x01b6 Ƶƶ
base uppercase \x01cd \x01ce Ǎǎ
base uppercase \x01cf \x01d0 Ǐǐ
base uppercase \x01d1 \x01d2 Ǒǒ
base uppercase \x01d3 \x01d4 Ǔǔ
base uppercase \x01e4 \x01e5 Ǥǥ
base uppercase \x01e6 \x01e7 Ǧǧ
base uppercase \x01e8 \x01e9 Ǩǩ
base uppercase \x01f4 \x01f5 Ǵǵ
base uppercase \x01f7 \x01bf Ƿƿ
base uppercase \x01f8 \x01f9 Ǹǹ
base uppercase \x021c \x021d Ȝȝ
base uppercase \x021e \x021f Ȟȟ
base uppercase \x0228 \x0229 Ȩȩ
base uppercase \x0232 \x0233 Ȳȳ
base uppercase \x023a \x2c65 Ⱥⱥ
base uppercase \x023b \x023c Ȼȼ
base uppercase \x023e \x2c66 Ⱦⱦ
base uppercase \x0243 \x0180 Ƀƀ
base uppercase \x0246 \x0247 Ɇɇ
base uppercase \x0248 \x0249 Ɉɉ
base uppercase \x024c \x024d Ɍɍ
base uppercase \x024e \x024f Ɏɏ
base uppercase \x0391 \x03b1 Αα Alpha
base uppercase \x0392 \x03b2 Ββ Beta
base uppercase \x0393 \x03b3 Γγ Gamma
base uppercase \x0394 \x03b4 Δδ Delta
base uppercase \x0395 \x03b5 Εε Epsilon
base uppercase \x0396 \x03b6 Ζζ Zeta
base uppercase \x0397 \x03b7 Ηη Eta
base uppercase \x0398 \x03b8 Θθ Theta
base uppercase \x0399 \x03b9 Ιι Iota
base uppercase \x039a \x03ba Κκ Kappa
base uppercase \x039b \x03bb Λλ Lamda
base uppercase \x039c \x03bc Μμ Mu
base uppercase \x039d \x03bd Νν Nu
base uppercase \x039e \x03be Ξξ Xi
base uppercase \x039f \x03bf Οο Omicron
base uppercase \x03a0 \x03c0 Ππ Pi
base uppercase \x03a1 \x03c1 Ρρ Rho
base uppercase \x03a3 \x03c3 Σσ Sigma
base uppercase \x03a4 \x03c4 Ττ Tau
base uppercase \x03a5 \x03c5 Υυ Upsilon
base uppercase \x03a6 \x03c6 Φφ Phi
base uppercase \x03a7 \x03c7 Χχ Chi
base uppercase \x03a8 \x03c8 Ψψ Psi
base uppercase \x03a9 \x03c9 Ωω Omega
base uppercase \x1e10 \x1e11 Ḑḑ
base uppercase \x1e20 \x1e21 Ḡḡ
base uppercase \x1e26 \x1e27 Ḧḧ
base uppercase \x1e28 \x1e29 Ḩḩ
base uppercase \x1e30 \x1e31 Ḱḱ
base uppercase \x1e3e \x1e3f Ḿḿ
base uppercase \x1e54 \x1e55 Ṕṕ
base uppercase \x1e7c \x1e7d Ṽṽ
base uppercase \x1e80 \x1e81 Ẁẁ
base uppercase \x1e82 \x1e83 Ẃẃ
base uppercase \x1e84 \x1e85 Ẅẅ
base uppercase \x1e8c \x1e8d Ẍẍ
base uppercase \x1e90 \x1e91 Ẑẑ
base uppercase \x1e9e \x00df ẞß
base uppercase \x1ebc \x1ebd Ẽẽ
base uppercase \x1ef2 \x1ef3 Ỳỳ
base uppercase \x1ef8 \x1ef9 Ỹỹ
base uppercase \x2c63 \x1d7d Ᵽᵽ
base uppercase \xa740 \xa741 Ꝁꝁ
base uppercase \xa742 \xa743 Ꝃꝃ
base uppercase \xa750 \xa751 Ꝑꝑ
base uppercase \xa756 \xa757 Ꝗꝗ
base uppercase \xa758 \xa759 Ꝙꝙ
base uppercase \xa75e \xa75f Ꝟꝟ
base uppercase \xa798 \xa799 Ꞙꞙ
base uppercase \x0400 \x0450 Ѐѐ
base uppercase \x0401 \x0451 Ёё
base uppercase \x0407 \x0457 Її
base uppercase \x040c \x045c Ќќ
base uppercase \x040e \x04e5 Ўў
base uppercase \x04aa \x04ab Ҫҫ
base uppercase \x04b0 \x04b1 Ұұ
base uppercase \x04d0 \x04d1 Ӑӑ
base uppercase \x04d2 \x04d3 Ӓӓ
base uppercase \x04d6 \x04d7 Ӗӗ
base uppercase \x04d8 \x04d9 Әә
base uppercase \x04ee \x04ef Ӯӯ
base uppercase \x04f0 \x04f1 Ӱӱ

# Unicode prefers \x2019 for apostrophe instead of \x0027

endword \x2019d 3-145
endword \x2019m 3-134
endword \x2019re 3-1235-15
endword \x2019ve 3-1236-15
endword \x2019ll 3-123-123
endword \x2019s 3-234
endword s\x2019 234-3
endword \x2019t 3-2345


# Remove dot 6 from ligatures (æ, œ and ij) when they are lowercase or part of an uppercase word

noback pass2 @6-6-1-6-45-235-15 @6-6-1-45-235-15
noback pass2 @6-1-6-45-235-15 *
noback pass2 @1-6-45-235-15 @1-45-235-15

noback pass2 @6-6-135-6-45-235-15 @6-6-135-45-235-15
noback pass2 @6-135-6-45-235-15 *
noback pass2 @135-6-45-235-15 @135-45-235-15

noback pass2 @6-6-24-6-45-235-245 @6-6-24-45-235-245
noback pass2 @6-24-6-45-235-245 *
noback pass2 @24-6-45-235-245 @24-45-235-245