# liblouis: U.S. English Grade 1 table
#
# Based on the braille contraction modules in BRLTTY
#
# Copyright (C) 1995-2004 by The BRLTTY Team.
# Copyright (C) 2004 ViewPlus Technologies, Inc., www.viewplustech.com
# Copyright (C) 2004 Computers to Help People, Inc., www.chpi.org

# This file 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.

# This file 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 this file; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
# liblouis  comes with ABSOLUTELY NO WARRANTY.

# Maintained by John J. Boyer, director@chpi.org, www.chpi.org

include en-chardefs.cti All character definition opcodes
include nemethdefs.cti

# Braille indicators
numsign 3456  number sign, just a dots operand
multind 56-6 letsign capsletter
letsign 56
capsletter 6
begcapsword 6-6
endcapsword 6-3
emphclass italic
emphclass underline
emphclass bold
begemph italic 46
endemph italic 46-46
begemph bold 456
endemph bold 456-456
begcomp 456-346
endcomp 456-156

# Letters are defined in en-chardefs
# punctuation
prepunc " 236
endnum " 456-356
postpunc " 356
prepunc ' 6-236
endnum ' 456-356-3
postpunc ' 356-3
word 'em = 
word 'tis =
word 'twas =
begnum # 4 print number sign before number
endnum , 456-2
postpunc , 2
decpoint . 46
midnum - 36
hyphen - 36
endnum . 456-256
postpunc . 256
noback always . 256
endnum ; 456-23
postpunc ; 23
endnum : 456-25
postpunc : 25
endnum ! 12346
postpunc ! 235
midnum / 34
always / 456-34
always < 0-5-13-0
always = 0-46-13-0
always > 0-46-2-0
endnum ? 456-236
postpunc ? 236
endnum % 4-356
midnum ^ 45
always ^ 456-126
always ~ 4-156
always & 456-12346
always [ 456-12356
always ] 456-23456
always { 46-12356
always } 46-23456
prepunc ` 6-236
always @ 4-1
always \\ 456-16
always | 456-1256
always \s-\s 36-36
always ... 3-3-3
always .\s.\s. 3-3-3 . . .
begnum $ 256
always $ 256-3456

# special character sequences
compbrl :// URLs
compbrl www.
compbrl .com
compbrl .edu
compbrl .gov
compbrl .mil
compbrl .net
compbrl .org
# include countries.cti
compbrl .doc
compbrl .htm
compbrl .html
compbrl .tex
compbrl .txt
compbrl .gif
compbrl .jpg
compbrl .png
compbrl .wav
compbrl .tar
compbrl .zip

# the letter a
largesign a 1
largesign A 1
word about 1-12
word thereabouts 5-2346-1-12-234
word runabout 1235-136-1345-1-12
contraction ab
sufword above 1-12-1236
contraction abv
word according 1-14
contraction ac
word accordingly 1-14-123-13456
contraction acly
word 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
sufword after 1-124
contraction af
sufword afternoon 1-124-1345 afternoons
contraction afn
sufword afterward 1-124-2456
contraction afw
word again 1-1245
contraction ag
word against 1-1245-34
endword gery = orangery
midendword ally 6-13456
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 altogether 1-123-2345
contraction alt
word always 1-123-2456
contraction alw
midendword ance 46-15
largesign and 12346
always (and =
always and) =
always andar 12346-345 staodard
always anda 12346-1 panda
midword angh = Shanghai
begword aqued = aqueduct
always ar 345
word aright 1-5-1235
word as 1356
contraction as
midendword ation 6-1345
midendword aunder 1-136-1345-145-12456 saunders
begword auto = autofocus

# the letter b
midword bb 23
midendword bble 12-3456
lowword be 23
begword be 23
begword bea 12-2
always bear 12-15-345
begword beatif 23-1-2345-24-124
begword beatit 23-1-2345-24-2345
begword beatr 23-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-2356
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
joinword by 356
word because 23-14
word bec =
always before 23-124
word behind 23-125
word behring 12-15-125-1235-346
word bel =
begword beln = Belnick
word below 23-123
word beneath 23-1345
sufword beside 23-234
sufword bess = Bessie
word between 23-2345
word bet =
word beyond 23-13456
word bey =
midendword ble 3456
midendword bleau 12-123-2-136 tableau
always bless 12-46-234 joblessness
word blind 12-123
contraction bl
begword blindf 12-123-124 blindfold
word blindly 12-123-123-13456
word blindness 12-123-56-234
sufword blinds 12-123-234 blindsided
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
begword com 36
sufword common 36-134-135-1345 commonest
begword con 25
sufword conceive 25-14-1236
sufword conceiving 25-14-1236-1245
always cone 14-5-135
word cons 14-135-1345-234
sufword conundrum = 
sufword could 14-145
contraction cd
sufword coworker 14-135-5-2456-12456
midword cc 25
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
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
always deceiving 145-14-1236-1245
contraction dcvg
always declare 145-14-123
contraction dcl
contraction dcld
contraction dclr
contraction dcls
word declaring 145-14-123-1245
contraction dclg
begword deref = dereferencing
begword dereg = deregulation
midword dd 256
midendword dday 145-5-145 midday
begword dedic 145-1246-24-14 dedicated
always dedu = nondeductible
begword deno = denote
always denom =
begword denou 145-15-1345-1256 denounce
begword denu = denunciation
begword dera = derail
begword deri 145-15-1235-24
begword dero = derogatory
begword dinu 145-24-1345-136
begword dis 256
word disc =
word discs =
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 ea 2
midword eabil = interchangeability
always eable 15-1-3456
endword eably = noticeably
midendword eage = mileage
midendword eager 2-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 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
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
midword ff 235
always father 5-124
always fein 124-15-35 Feingold
always first 124-34
always fever 124-15-1236-12456
always ffor 124-123456
largesign for 123456
always (for =
always for) =
always fora 123456-1 foramen
always fore 123456-15
begword forens 123456-26-234 forensic
always forever 123456-5-15 forevermore
always foot =
word from 124
word friend 124-1235
contraction fr
sufword friendl 124-1235-123
word friends 124-1235-234
midendword ful 56-123
always funder 124-136-1345-145-12456

# the letter g
begword geo = geoengineering
sufword geoff 1245-15-12356-124 Geoffrey
midword gg 2356
always gh 126
endword gham = Langham
always ghead 1245-125-2-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
sufword good 1245-145
contraction gd
begword gos = goshawk
word goshen 1245-135-146-26
sufword 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 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
word immediate 24-134-134
contraction imm
word immediately 24-134-134-123-13456
contraction immly
begword immuno = immunofluorescence
lowword in 35
word in =
always in 35
begword incon 35-14-135-1345 incongruous
midendword iness 24-56-234
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
joinword into 35-235
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
sufword letter 123-1235
contraction lr
sufword newsletter 1345-15-2456-234-123-1235
word unlettered 136-1345-123-1235-1246
word like 123
sufword 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-2-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 must 134-34
word mustn 134-34-1345
begword myo = myofibroblasts
word myself 134-13456-124
contraction myf

# the letter n
always name 5-1345
midendword nament 1345-1-56-2345 tournament
always namese =
endnum nd 1345-145
word 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
midword oed = Schroeder
always oen = Phoenix
midendword oence 135-26-14-15 electroencephalogram
largesign of 12356
always (of =
always of) =
midendword ofar 135-124-345 insofar
always ofold = twofold
midword ofor 135-123456
always onesi =
midendword oness 135-56-234
midendword oneer 135-1345-15-12456
midendword oned 135-1345-1246
always one 5-135
always oneless 5-135-46-234
midendword onel = salmonella colonel
always onem = phoneme
midendword onement 5-135-56-2345 atonement
midendword onent 135-1345-26-2345
midendword oneous 135-1345-15-1256-234 erroneous
always oner 135-1345-12456
sufword loner 123-135-1345-12456
midendword onese = Cantonese,
word oneself 5-135-124
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 out 1256
always ought 5-1256
always ow 246
word o'clock 135-3-14

# the letter p
always paid 1234-145
contraction pd
always part 5-1234
begword parta 1234-345-2345-1 partake
always parthe 1234-345-2346 Parthenon
always parth 5-1234-1456
begword parto 1234-345-2345-135
word people 1234
always perceive 1234-12456-14-1236
always perceiving 1234-12456-14-1236-1245
always perhaps 1234-12456-125
always pher 1234-125-12456 cyphered
begword potho = pothole pothook
begword pre =
always preach 1234-1235-2-16
sufword predator 1234-1235-1246-1-2345-135-1235
always prof =
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-2-16
begword readj = readjust
begword readm = readmit
begword reaff 1235-15-1-235
sufword reagent 1235-15-1-1245-26-2345
begword reagg 1235-15-1-2356 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
always receiving 1235-14-1236-1245
contraction rcvg
begword redis = redistribute
begword redr = redress
always rejoice 1235-245-14
contraction rjc
contraction rjcd
contraction rjcr
contraction rjcs
always rejoicing 1235-245-14-1245
contraction rjcg
sufword renaming 1235-15-1345-1-134-346 renamings
begword rene =
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)
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
sufword should 146-145
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-2-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 styro 34-13456-1235-135 styrofoam
always shead 234-125-2-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
midendword thill = anthill
word this 1456
word thyself 1456-13456-124
always tnam =
joinword to 235
word today 2345-145
contraction td
sufword tomorrow 2345-134
contraction tm
word tonight 2345-1345
contraction tn
always thead 2345-125-2-145
always theast 1456-15-1-34
always theart 2345-125-15-345-2345
always thouse 2345-125-1256-234-15
largesign the 2346
always (the =
always the) =
always thea 2346-1 theater
word themselves 2346-134-1236-234
always their 456-2346
always thence 1456-56-15
always there 5-2346
midendword thereal 2346-1235-2-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
word 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 (with =
always with) =
always word 45-2456
word whose 45-156
always work 5-2456
sufword 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

endword 'd 3-145
word 'em = 
endword 'll 3-123-123
endword 'm 3-134
endword 're 3-1235-15
endword 's 3-234
endword 't 3-2345
endword 've 3-1236-15
always -com =
endword -to = pointed-to resource
include corrections.cti

