table:
- tables/en-ueb-g2.ctb
tests:
# 3.1.1 page 21

- - Marks & Spencer
  - ',m>ks `& ,sp;er'
- - AT&T
  - ',,at`&,t'
- - B&B
  - ',b`&,b'
- - '&c (etc)'
  - '`&c "<etc">'

# 3.2.1 page 21

- - Road signs of → and ← mark detours.
  - ',road signs ( ;|o & ;|{ m>k det|rs4'
- - Put a ↑ on the map to indicate north.
  - ',put a ;|+ on ! map to 9dicate nor?4'
- - The ENTER key is the one with ↵ on it.
  - ',! ,,5t} key is ! "o ) ;|4% on x4'

# 3.3.1 page 21

- - M*A*S*H
  - ',m"9,a"9,s"9,h'
- - Spelling words marked with an * have a silent letter.
  - ',spell+ ~ws m>k$ ) an "9 h a sil5t lr4'
- - To access your voicemail, strike *98 on your telephone.
  - ',to a3ess yr voicemail1 /rike "9#ih on yr teleph"o4'
- - Speed * time = distance.
  - ',spe$ "9 "t "7 4t.e4'
- - showing *emphasis* in email messages
  - '%{+ "9emphasis"9 9 email messages'
- - Irene V***
  - ',ir5e ,v"9"9"9'
- - foul language such as *#*$!* or with omitted letters as in D***
  - f|l language s* z "9_?"9`s6"9 or ) omitt$ lrs z 9 ,d"9"9"9
- - New World Hotel ****
  - ',new ,_w ,hotel "9"9"9"9'
- - brothers Jed* and Ben** Chan *born in Hong Kong **born in Canada
  - bro!rs ,j$"9 & ,b5"9"9 ,*an "9born 9 ,h;g ,k;g "9"9born 9 ,canada
- - 'Authors: Roy Brown,† Shirley Jones, Walter Smith,† Douglas White'
  - ',au?ors3 ,roy ,br{n1`,? ,%irley ,j"os1 ,walt} ,smi?1`,? ,d|glas ,:ite'
- - The painter included daisies,* white roses† and ivy‡ in the portrait. *symbolizing innocence †symbolizing virtue ‡symbolizing fidelity
  - ',! pa9t} 9clud$ daisies1"9 :ite roses`,? & ivy`,} 9 ! portrait4 "9symboliz+ 9noc;e
    `,?symboliz+ virtue `,}symboliz+ fidel;y'
- - –dash*–or parentheses (round brackets†)
  - ',-da%"9,-or p>5!ses "<r.d brackets`,?">'
- - Rev. Robert Lowin†
  - ',rev4 ,rob}t ,l{9`,?'
- - '* * *'
  - '"9 "9 "9'

# 3.4.1 page 23

- - 'Nutritional considerations include: • carbohydrates • protein • fat • cholesterol • fiber • sodium'
  - ',nutri;nal 3sid}a;ns 9clude3 _4 c>bohydrates _4 prote9 _4 fat _4 *ole/}ol _4 fib} _4 sodium'

# 3.6.1 page 24

- - My favourite pets are my dog^ my cat ^ my hamster. My job ^ to feed them.
  - '`7,my fav|rite pets >e my dog`5 my cat `5 my ham/}4 ,my job `5 to fe$ !m4`'''
  - {typeform: {script: "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"}}

# 3.7.1 page 25

- - FLASH@lightning.net
  - ',,fla%`ali<tn+4net'
- - Sell the candies @ 10¢ each.
  - ',sell ! c&ies `a #aj`c ea*4'

# 3.8.1 page 25

- - Copyright © 2009
  - ',copy"r ~c #bjji'
- - ©2009
  - ~c#bjji
- - QuickTax™ from Intuit® Canada Limited
  - ',quick,tax~t f ,9tuit~r ,canada ,limit$'

# 3.9.1 page 25

- - With love, XXOO
  - ',) love1 ,,xxoo'
- - Sealed with a X
  - ',s1l$ ) a ;,x'
- - Illiterate people usually signed their name with an X.
  - ',illit}ate p usually sign$ _! "n ) an ;,x4'
- - a 4x4 vehicle
  - 'a #dx#d vehicle'
- - a 2×4 board
  - 'a #b"8#d bo>d'
- - 15×15×20 cm
  - '#ae"8#ae"8#bj cm'
- - The room is 12 ft. × 16 ft.
  - ',! room is #ab ft4 "8 #af ft4'
- - a 10× lens
  - 'a #aj"8 l5s'
- - Labrador × Poodle
  - ',labrador "8 ,poodle'

# 3.10.1 page 26

- - 10¢
  - '#aj`c'
- - 99c
  - '#ii;c'
- - DM8
  - ',,dm#h'
- - $6
  - '`s#f'
- - A$40
  - ',a`s#dj'
- - $19.95
  - '`s#ai4ie'
- - $23,783,200
  - '`s#bc1ghc1bjj'
- - $2bn (2 billion dollars)
  - '`s#b;bn "<#b billion doll>s">'
- - US$
  - ',,us`s'
- - $X
  - '`s,x'
- - The $ rose.
  - ',! `s rose4'
- - $hop for $aving$
  - '`shop = `sav+`s'
- - 20$00 (20 escudos)
  - '#bj`s#jj "<#bj escudos">'
- - €75
  - '`e#ge'
- - 30,00€
  - '#cj1jj`e'
- - € and £ accepted
  - '`e & `l a3ept$'
- - 6€50
  - '#f`e#ej'
- - ₣1
  - '`f#a'
- - 1 € = 6.55957₣
  - '#a `e "7 #f4eeieg`f'
- - 5F coin
  - '#e,f co9'
- - ₦0.20 = 20 kobo
  - '`n#j4bj "7 #bj kobo'
- - £24
  - '`l#bd'
- - Ir£
  - ',ir`l'
- - £3m (3 million pounds)
  - '`l#cm "<#c million p.ds">'
- - the £ rose
  - '! `l rose'
- - £7 8s 9d
  - '`l#g #hs #i;d'
  - xfail: true
- - £7/8/9
  - '`l#g_/#h_/#i'
- - £7-8-9
  - '`l#g-#h-#i'
- - 2p coin
  - '#bp co9'
- - R25
  - ',r#be'
- - R5,70
  - ',r#e1gj'
- - ¥360
  - '`y#cfj'

# 3.11.1 page 27

- - 60 °
  - '#fj ~j'
- - 21°C
  - '#ba~j,c'
- - 70° F
  - '#gj~j ;,f'
- - °C
  - ~j,c
- - X°
  - ',x~j'
- - 250°, 350°, or 450°?
  - '#bej~j1 #cej~j1 or #dej~j8'
- - 33°51′35.9″S
  - '#cc~j#ea7#ce4i77,s'
- - 151° 12' 40" E
  - '#aea~j #ab'' #dj,7 ;,e'

# 3.12.1 page 28

- - 'living room: pioneer blue'
  - liv+ room3 pione} blue
- - 'dining room: 〃 〃'
  - d9+ room3 "1 "1
- - 'kitchen: 〃 yellow'
  - kit*53 "1 yell{
- - Mon 10-12 study 2-4 Eng pt1
  - ',mon #aj-#ab /udy #b-#d ,5g pt#a'
- - Tues 〃 〃 〃 〃 pt2
  - ',tues "1 "1 "1 "1 pt#b'
- - Wed 〃 Science 〃 Art
  - ',w$ "1 ,sci;e "1 ,>t'
- - Anne – village girl
  - ',anne ,- village girl'
- - Joan – 〃 〃
  - ',joan ,- "1 "1'


# 3.22.1 page 34

- - '• Vice-President Client Services'
  - _4 ,vice-,presid5t ,cli5t ,s}vices
- - '□ Director Library Services'
  - ;$#d ,director ,libr>y ,s}vices
- - '○ Manager Braille Production'
  - ;$= ,manag} ,brl ,produc;n
- - '○ Manager Audio Production'
  - ;$= ,manag} ,audio ,produc;n
- - '□ Director Rehabilitation Services'
  - ;$#d ,director ,rehabilita;n ,s}vices

