# liblouis: Unified English Braille Grade 2 Table
#
#  Copyright (C) 2004-2008 ViewPlus Technologies, Inc. www.viewplus.com
#
#  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/>.

# Created by Tom Johnston <tom.johnston@accessibilityconsulting.co.uk>. 

include UEBC-g1.utb

punctuation ( 12356
punctuation ) 23456

# the letter a
largesign a 1
always about 1-12
contraction ab
always above 1-12-1236
contraction abv
always according 1-14
contraction ac
always across 1-14-1235
contraction acr
always aed =
#always aer = Rosenlaer
begword aforem 1-123456-15-134 aforementioned 
word aforesaid 1-123456-15-234-145
always after 1-124
contraction af
sufword afternoon 1-124-1345 afternoons
contraction afn
always afterward 1-124-2456
contraction afw
word again 1-1245
contraction ag
word against 1-1245-34
word agst =
#endword gery = orangery
word almost 1-123-134
contraction alm
word already 1-123-1235
contraction alr
word also 1-123
contraction al
word although 1-123-1456
word alth =
word altogether 1-123-2345
contraction alt
word always 1-123-2456
contraction alw
midendword ance 46-15
largesign and 12346
midword angh = Shanghai
begword aqued = aqueduct
always ar 345
word aright 1-5-1235
word as 1356
contraction as
midendword aunder 1-136-1345-145-12456 saunders
begword auto = autofocus

# the letter b
lowword be 23
begword be 23
begword bea 12-15-1
always bear 12-15-345
begword beatif 23-1-2345-24-124
begword beatit 23-1-2345-24-2345
begword beatr 12-15-1-2345-1235 Beatrice
always beck 12-15-14-13
always bed 12-1246
begword beda 23-145-1 bedazzle
begword bede 23-145-15 bedevil
word bede 12-1246-15 bede (a name)
begword bedi 23-145-24 bedizzened
word bee 12-15-15
begword bee 12-15-15
always been 12-15-26
always beer 12-15-12456
word beg =
begword begg 12-15-1245-1245
word begs =
begword bei = beijing
sufword being 23-346
sufword belch 12-15-123-16
begword beld = Beldon
begword belf = belfry, belfast
begword belg = Belgium
begword belk = Belkin
always bell =
begword belm = Belmont
always belt =
begword belw = belwether
always ben 12-26
begword beni 12-26-24
begword benif 23-1345-24-124 benificient
sufword benign 23-1345-24-1245-1345 benignity
begword benov 23-1345-135-1236 benovolent
begword benu 23-1345-136 benumbed
begword ber 12-12456
begword bera 23-1235-1 berating
begword bere 23-1235-15 bereft
begword berea 23-1235-2 bereaved
begword beri 23-1235-24 beribboned
always best 12-15-34
sufword bestow 23-34-246
always beth 12-15-1456 Bethany
always bethe 12-15-2346 Bethel (Hans) Bethe
always bets =
always bett =
sufword bev = bevies
begword bever 12-5-15 Beverly beverage
always bio =
midendword bious 12-24-1256-234 dubious
always because 23-14
word bec =
always before 23-124
word bef =
always behind 23-125
word behring 12-15-125-1235-346
word beh =
word bel =
begword beln = Belnick
always below 23-123
always beneath 23-1345
always beside 23-234
word bes =
sufword bess = Bessie
always between 23-2345
word bet =
always beyond 23-13456
word bey =
always bless 12-46-234 joblessness
always blind 12-123
contraction bl
always blinded 12-123-35-145-1246
sufword blinder 12-123-35-145-12456
word blinding 12-123-35-145-346
always braille 12-1235-123
contraction brl
word but 12

# the letter c
midword cch 14-16
always chloro 16-123-135-1235-135
begword cofac = cofactor
always cofound 14-135-124-46-145
sufword common 14-135-134-134-135-1345 commonest
begword con 25
sufword conceive 25-14-1236
word concv =
word concvd =
word concvr =
word concvs =
word concvst =
word concvth =
sufword conceiving 25-14-1236-1245
word concvg =
always cone 14-5-135
word cons 14-135-1345-234
sufword conundrum = 
always could 14-145
contraction cd
sufword coworker 14-135-5-2456-12456
word can 14
always cannot 456-14
word ch =
always ch 16
always character 5-16
always chemo 16-15-134-135
word child 16
always children 16-1345
word chn =
sufword clever 14-123-5-15 cleverest

# the letter d
always day 5-145
begword deact = deactivation
begword deall = deallocate
begword decarb 145-15-14-345-12
always deceive 145-14-1236
contraction dcv
contraction dcvd
contraction dcvr
contraction dcvs
word dcvst =
word dcvth =
always deceiving 145-14-1236-1245
contraction dcvg
always declare 145-14-123
contraction dcl
contraction dcld
contraction dclr
contraction dcls
word dclst =
word dclth =
always declaring 145-14-123-1245
contraction dclg
begword deref = dereferencing
begword dereg = deregulation
midendword dday 145-5-145 midday
begword dedic 145-1246-24-14 dedicated
begword dis 256
#sufword disc = discount disconsolate
always dish 145-24-146
begword disha 256-125-1 dishabile
begword dishear 256-125-15-345 disheartened
begword disho 256-125-135 dishonor
begword dishone 256-125-5-135 dishonest
sufword disk =
sufword dispirit 145-24-456-234 dispirited
begword disul = disulfide
word do 145

# the letter e
midword eabil = interchangeability
endword eably = noticeably
midendword eage = mileage
midendword eager 15-1-1245-12456 meager
#always eally 15-6-13456
midendword eance 15-46-15 vengeance
midendword eand 15-12346 meander
#always eation 15-6-1345
always ear 15-345
always ed 1246
#always edic = edict Benedict
sufword edict =
#sufword edition 15-145-24-56-1345 editions
#midword edo 15-145-135
always edraw =
word either 15-24
contraction ei
word en =
always en 26
always ename 15-5-1345
sufword enamel 26-1-134-15-123 enameled
midendword ence 56-15
always eneck = bottleneck
midendword eness 15-56-234 closeness
endword enesse 15-56-234-15
#begword enor = enormous
#begword enou 15-1345-1256
lowword enough 26
word enough 26-1256-126
#begword enu 15-1345-136
always er 12456
#begword era =
#word eras 12456-1-234
#begword erec = erect 
#begword ero 15-1235-135
midendword eroom = storeroom
#begword eru = erupt
always ever 5-15
midendword evere 15-1236-12456-15 Everest
always evered 15-1236-12456-1246
word every 15

# the letter f
always father 5-124
always fein 124-15-35 Feingold
always first 124-34
word fst =
#always fever 124-15-1236-12456
always ffor 124-123456
largesign for 123456
always fore 123456-15
begword forens 123456-26-234 forensic
always forever 123456-5-15 forevermore
always foot =
word from 124
always friend 124-1235
contraction fr
midendword ful 56-123
always funder 124-136-1345-145-12456

# the letter g
begword geo = geoengineering
sufword geoff 1245-15-12356-124 Geoffrey
always gh 126
endword gham = Langham
always ghead 1245-125-15-1-145
always gheart 1245-125-15-345-2345
midendword ghill = dunghill
midendword ghorn = bighorn
always ghouse 1245-125-1256-234-15
always ghz = (gigahertz)
begword givea = giveaway
sufword gnome = gnomedb
word go 1245
always good 1245-145
contraction gd
begword gos = goshawk
word goshen 1245-135-146-26
always great 1245-1235-2345
contraction grt

# the letter h
always had 456-125
begword hadd 125-1-256 haddock
sufword hade = hadean 
word have 125
always here 5-125
always hered 125-12456-1246
always heren 125-12456-26
midendword herence 125-12456-56-15 adherence
always herer 125-12456-12456
always heres 125-12456-15-234
always heret 125-12456-15-2345
word heretofore 5-125-2345-135-123456-15
word herself 125-12456-124
word herf =
word him 125-134
word hm 125-3-134
sufword hmm =
word himself 125-134-124
contraction hmf
lowword his 236
sufword horse = horseradish
always hydro =

# the letter i
word i 24
midendword iever 24-15-1236-12456
always immediate 24-134-134
contraction imm
begword immuno = immunofluorescence
lowword in 35
word in =
always in 35
begword incon 35-14-135-1345 incongruous
always iness 24-56-234
endword inesse 24-56-234-15
midendword ing 346
#midword inga 35-1245-1 nightingale
always ingar 35-1245-345 Weingarten
#midword ingen 35-1245-26 palingenesis (new birth)
#midword ingi 35-1245-24 meningitis
midendword inging 346-346 bringing
always isomer 24-234-135-134-12456
word it 1346
word its 1346-234
contraction xs
word itself 1346-124
contraction xf
midendword ity 56-13456

# the letter j
word just 245

# the letter k
always know 5-13
word knowledge 13

# the letter l
midendword less 46-234
always letter 123-1235
contraction lr
word like 123
always little 123-123
contraction ll
sufword lone 123-5-135 lonely
always lord 5-123

# the letter m
always many 456-134
begword mc =
always medic 134-1246-24-14 medicare
midendword ment 56-2345
midword menth 134-26-1456 Blumenthal
always mideast 134-24-145-15-1-34
word milling 134-24-123-123-346
begword mishand 134-24-234-125-12346 mishandled
always mishap =
sufword mishear 134-24-234-125-15-345 misheard
begword missh 134-24-234-146 misshapen
word mistook =
begword mistran = mistranslation
sufword mistreat 134-24-234-2345-1235-15-1-2345
begword mistru = mistrust
begword misty = mistyped
word monetary 134-5-135-2345-345-13456
word more 134
always mother 5-134
always much 134-16
word mch =
word must 134-34
word mst =
word mustn 134-34-1345
begword myo = myofibroblasts
word myself 134-13456-124
contraction myf

# the letter n
always name 5-1345
always nament 1345-1-56-2345 tournament
always namese =
endnum nd 1345-145
always necessary 1345-15-14
contraction nec
word neither 1345-15-24
contraction nei
midendword ness 56-234
begword noness = nonessential
word nonetheless 1345-5-135-2346-46-234
always nonex =
begword nong = nongraphical
word noone 1345-135-5-135
sufword nose = nosedive
word not 1345
word noways =
word nowhere 1345-135-5-156

# the letter o
word O 135
always O 135
#midword oed = Schroeder
#always oen = Phoenix
midendword oence 135-26-14-15 electroencephalogram
largesign of 12356
midendword ofar 135-124-345 insofar
always ofold = twofold
midword ofor 135-123456
always onesi =
midendword oness 135-56-234
midendword onesse 135-56-234-15 
midendword oneer 135-1345-15-12456
midendword oned 135-1345-1246
always one 5-135
midendword onel = salmonella colonel
always onem = phoneme
midendword onement 5-135-56-2345 atonement
always onent 135-1345-26-2345
midendword oneous 135-1345-15-1256-234 erroneous
always oner 135-1345-12456
midendword onese = Cantonese,
word oneself 5-135-124
word onef =
midendword oness 135-56-234 Deaconess
midendword onet = phonetics bayonet
endword onez = Ordonez
midendword ong 56-1245
always oon = sooner
always osome =
word ou =
always ou 1256
midendword ound 46-145
midendword ount 46-2345
always ourselves 1256-1235-1236-234
word ourvs =
word out 1256
always ought 5-1256
always ow 246


# the letter p
always paid 1234-145
contraction pd
always part 5-1234
begword parta 1234-345-2345-1 partake
begword parto 1234-345-2345-135
word people 1234
always perceive 1234-12456-14-1236
word percv =
word percvd =
word percvr =
word percvs =
word percvst =
word percvth =
always perceiving 1234-12456-14-1236-1245
word percvg =
always perhaps 1234-12456-125
word perh =
always pher 1234-125-12456 cyphered
begword potho = pothole pothook
begword pre =
always preach 1234-1235-15-1-16
sufword predator 1234-1235-1246-1-2345-135-1235
always prof = 
always profes 1234-1235-12356-15-234 unprofessional
sufword profile 1234-1235-12356-24-123-15
begword proff 1234-1235-12356-124 proffer
always profit 1234-1235-12356-24-2345

# the letter q
always quick 12345-13
contraction qk
word quite 12345
always question 5-12345

# the letter r
sufword rafter 1235-1-124-2345-12456
word rather 1235
sufword raw = rawhide
endnum rd 1235-145
begword reab = reabsorbed
always reac =
always reach 1235-15-1-16
begword readj = readjust
begword readm = readmit
begword reaff 1235-15-1-235
always reagent 1235-15-1-1245-26-2345
begword reagg 1235-15-1-1245-1245 reaggregated
begword realig = realign
begword rean = reanalyze, reanimate
begword reapp = reappear
begword reass 1235-15-1-234-234
begword reatt = reattach
begword reau = reauthorization
begword reaw = reawaken
#begword rede =
#begword redi =
word redo =
#word redone 1235-15-145-5-135
#begword redou 1235-15-145-1256 redouble redoubt 
#always redu =
always receive 1235-14-1236
contraction rcv
contraction rcvd
contraction rcvr
contraction rcvs
word rcvst =
word rcvth =
always receiving 1235-14-1236-1245
contraction rcvg
#begword redis = redistribute
#begword redr = redress
begword reduc 1235-1246-136-14 reduce
begword redun 1235-1246-136-1345 redundant
always rejoice 1235-245-14
contraction rjc
contraction rjcd
contraction rjcr
contraction rjcs
word rjcst =
word rjcth =
always rejoicing 1235-245-14-1245
contraction rjcg
sufword renaming 1235-26-1-134-346 renamings
#begword rene =
sufword renegade 1235-26-15-1245-1-145-15
#begword renom = renominate
#begword renou 1235-15-1345-1256 renounce
#sufword renown 1235-15-1345-246-1345 renowned
#begword renu = renunciation
sufword reread 1235-15-1235-2-145
sufword rerun = reruns
#always rever 1235-15-1236-12456
always reveren 1235-5-15-26 irreverent
always reverence 1235-5-15-56-15 irreverence
sufword reverie 1235-5-15-24-15
always right 5-1235

# the letter s
endnum s = 40s (no letter sign)
always s 234
always S 234
word said 234-145
contraction sd
sufword saw = sawhorse
sufword screw = screwhole
#always sedu =
always sent 234-26-2345 sentimental
always sever 234-15-1236-12456 perseverance 
always several 234-5-15-1-123 severally
word shall 146
word sh =
always sh 146
always shaus = In German names
always should 146-145
word shd =
always shoulder 146-1256-123-145-12456
word singapore 234-346-1-1234-135-1235-15 
midendword sion 46-1345
#midword stak 234-2345-1-13
midendword stion 234-56-1345
word so 234
always some 5-234
midendword somed 234-135-134-1246 ransomed
always somer 234-135-134-12456 somersault 
always spirit 456-234
midendword ssword 234-234-45-2456 crossword 
endnum st 34
word st =
always st 34
always sth 234-1456
always sthe 234-2346
midendword sthead 34-125-15-1-145 masthead
always sthood 34-125-135-135-145 priesthood
word still 34
always stime 234-5-2345
midendword stown 234-2345-246-1345 Pickstown
#begword stringen 34-1235-35-1245-26 stringent stringency
begword styro 34-13456-1235-135 styrofoam
always shead 234-125-15-1-145
always sheart 124-125-15-345-2345
always shouse 234-125-1256-234-15
always ssh =
always shood =
word such 234-16
word sch =
always sword =

# the letter t
endnum th 1456
word th =
always th 1456
always thand 2345-125-12346 shorthand
word that 2345
word this 1456
word thyself 1456-13456-124
word thyf =
always tnam =
word today 2345-145
contraction td
word tomorrow 2345-134
contraction tm
word tonight 2345-1345
contraction tn
always thead 2345-125-15-1-145
always theast 1456-15-1-34
always theart 2345-125-15-345-2345
always thouse 2345-125-1256-234-15
largesign the 2346
word themselves 2346-134-1236-234
word themvs 1456-15-134-1236-234
always their 456-2346
always thence 1456-56-15
always there 5-2346
midendword thereal 2346-1235-15-1-123 ethereal
word thereupon 5-2346-45-136
always thered 2346-1235-1246
always therer 2346-1235-12456
always theres 2346-1235-15-234 theresa therese 
always thood =
midendword tion 56-1345
always time 5-2345
midendword timed 1245-24-134-1246
midendword timer 2345-24-134-12456
midendword timet = altimeter
word these 45-2346
always through 5-1456
always together 2345-1245-1235
contraction tgr
word those 45-1456
begword trans = transtype

# the letter u
begword un = unameliorated
begword unble = unblemished
#begword undis = undisturbed
begword uneas = unease
begword uneat = uneaten
sufword unful = unfulfilled
begword unmen 136-1345-134-26 unmentioned
word upon 45-136 Dupont
word us 136
always under 5-136
word unsaid 136-1345-234-145

# the letter v
begword vaing 1236-1-35-1245 vainglory
word very 1236
begword vice = viceroy

# the letter w
lowword was 356
word wh =
always wh 156
midendword whart 2456-125-345-2345 Newhart
word which 156
midendword whouse 2456-125-1256-234-15 Newhouse
word will 2456
lowword were 2356
always where 5-156
word whereupon 5-156-45-136
word wherever 156-12456-5-15
largesign with 23456
always word 45-2456
word whose 45-156
always work 5-2456
always would 2456-145
contraction wd
always world 456-2456

# the letter x

# the letter y
word you 13456
always young 5-13456
word your 13456-1235
contraction yr
word yours 13456-1235-234
contraction yrs
word yourself 13456-1235-124
contraction yrf
word yourselves 13456-1235-1236-234
contraction yrvs

# the letter z

# Système International Prefixes
begword yotta 13456-135-2345-2345-1 10^24
begword zetta 1356-15-2345-2345-1 10^21
# begword exa 15-1346-1 10^18
begword peta 1234-15-2345-1 10^15
begword tera 2345-12456-1 10^12
begword giga 1245-24-1245-1 10^9
begword mega 134-15-1245-1 10^6
begword kilo 13-24-123-135 10^3
begword hecto 125-15-14-2345-135 10^2
begword deca 145-15-14-1 10^1
begword deci 145-15-14-24 10^-1
begword centi 14-26-2345-24 10^-2
begword milli 134-24-123-123-24 10^-3
begword micro 134-24-14-1235-135 10^-6
begword nano 1345-1-1345-135 10^-9
begword pico 1234-24-14-135 10^-12
begword femto 124-15-134-2345-135 10^-15
begword atto 1-2345-2345-135 10^-18
begword zepto 1356-15-1234-2345-135 10^-21
begword yocto 13456-135-14-2345-135 10^-24

begword anti =
# begword endo 26-145-135 endow
begword epi =
begword extra =
begword hyper 125-13456-1234-12456
begword hypo =
begword infra 35-124-1235-1
begword inter 35-2345-12456
begword intra 35-2345-1235-1
begword iso =
begword macro =
begword meta =
begword micro =
begword mono =
begword multi =
begword patho 1234-1-1456-135
begword peri 1234-12456-24
begword poly =
begword post 1234-135-34
begword pre =
begword pseudo =
begword retro =
# begword semi = seminar
begword sub =
begword super 234-136-1234-12456
begword tetra =
begword trans =
begword ultra =
# begword uni =

# other prefixes
begword electro =
begword neuro =
begword psycho 1234-234-13456-16-135

# special character sequences
nocont :// URLs
nocont www.

nocont .com
nocont .edu
nocont .gov
nocont .mil
nocont .net
nocont .org
include countries.cti

nocont .doc
nocont .htm
nocont .html
nocont .tex
nocont .txt

nocont .gif
nocont .jpg
nocont .png
nocont .wav

nocont .tar
nocont .zip
