# This file is obsolete. Do not use!

# liblouis: Se-Se.dis
#
# Original copyright (C) 1995-2004 by The BRLTTY Team. All rights reserved.
#
# liblouis copyright 2004 by 
# ViewPlus Technologies, inc.,  www.viewplustech.com .
# and
# Computers to Help People, Inc., www.chpi.org  
# All rights reserved.
#
# liblouis  comes with ABSOLUTELY NO WARRANTY.
#
# This is free software, placed under the terms of the
# GNU General Public License, as published by the Free Software
# Foundation.  Please see the file COPYING for details.
#
# Maintained by John J. Boyer, director@chpi.org, www.chpi.org

# This is to used with Swedish translation tables.


        #Hex   Dots				Dec		Char Description
display \X0020 0					#32					space
display \X0021  235				#33		!			exclamation mark
display \X0022    56			#34		"			quotation mark
display \X0023  3456			#35		#			number sign
display \X0024 1246				#36		$			dollar sign
display \X0025 146				#37		%			percent sign
# display \X0026 12346			#38		&			ampersand
display \X0026 346				#38		&			ampersand
display \X0027  5					#39		'			apostrophe
display \X0028	236		#40	(			left parenthesis
display \X0029  356		#41	)			right parenthesis
display \X002A  35		#42	*			asterisk
display \X002B	256		#43	+			plus sign
display \X002C      2		#44 ,			comma
display \X002D	36		#45	-			hyphen-minus
display \X002E	3			#46 .			full stop
display \X002F	34		#47	/			solidus

display \X0030	356		#480			digit zero
display \X0031  2	 		#491			digit one
display \X0032	126		#502			digit two
display \X0033	146		#513			digit three
display \X0034  1456	#524			digit four
display \X0035  156		#535			digit five
display \X0036  1246	#546			digit six
display \X0037  12456 #557			digit seven
display \X0038  236		#568			digit eight
display \X0039	35		#579			digit nine
display \X003A	25		#58 :			colon
display \X003B  23		#59 ;			semicolon
display \X003C  56			#60  <	less-than sign
# display \X003D 156		#61  =	equals sign
display \X003D 2356		#61  =	equals sign
# display \X003E 45			#62  >	greater-than sign
display \X003F  26		#63 ?			question mark

# display \X0040   4				#64  @	commercial at
display \X0040 123567			#64  @	commercial at

        #Hex   Dots		Dec	Char Description
display \X0041 17				#65	A Latin capital letter a
display \X0042 127			#66	B Latin capital letter b
display \X0043 147			#67	C Latin capital letter c
display \X0044 1457			#68	D Latin capital letter d
display \X0045 157			#69	E Latin capital letter e
display \X0046 1247			#70	F Latin capital letter f
display \X0047 12457		#71	G Latin capital letter g
display \X0048 1257			#72	H Latin capital letter h
display \X0049 247			#73	I Latin capital letter i
display \X004A 2457			#74	J Latin capital letter j
display \X004B 137			#75	K Latin capital letter k
display \X004C 1237			#76	L Latin capital letter l
display \X004D 1347			#77	M Latin capital letter m
display \X004E 13457		#78	N Latin capital letter n
display \X004F 1357			#79	O Latin capital letter o
display \X0050 12347		#80	P Latin capital letter p
display \X0051 123457		#81	Q Latin capital letter q
display \X0052 12357		#82	R Latin capital letter r
display \X0053 2347			#83	S Latin capital letter s
display \X0054 23457		#84	T Latin capital letter t
display \X0055 1367			#85	U Latin capital letter u
display \X0056 12367		#86	V Latin capital letter v
display \X0057 24567		#87	W Latin capital letter w
display \X0058 13467		#88	X Latin capital letter x
display \X0059 134567		#89	Y Latin capital letter y
display \X005A 13567		#90	Z Latin capital letter z

display \X005B 12356	#	91  [	left square bracket
display \X005C 347		#	92	\	reverse solidus
display \X005D 23456	# 93  ]	right square bracket
display \X005E 4		# 94 ^	circumflex accent
display \X005F 6		# 95 _	low line
display \X0060 46		# 96 `	grave accent

display \X0061 1			#97  a  Latin small letter a
display \X0062 12			#98  b Latin small letter b
display \X0063 14			#99  c Latin small letter c
display \X0064 145		#100 d Latin small letter d
display \X0065 15			#101 e Latin small letter e
display \X0066 124		#102 f Latin small letter f
display \X0067 1245		#103 g Latin small letter g
display \X0068 125		#104 h Latin small letter h
display \X0069  24		#105 i Latin small letter i
display \X006A  245		#106 j Latin small letter j
display \X006B 13			#107 k Latin small letter k
display \X006C 123		#108 l Latin small letter l
display \X006D 134		#109 m Latin small letter m
display \X006E 1345		#110 n Latin small letter n
display \X006F 135		#111 o Latin small letter o
display \X0070 1234		#112 p Latin small letter p
display \X0071 12345	#113 q Latin small letter q
display \X0072 1235		#114 r Latin small letter r
display \X0073 234		#115 s Latin small letter s
display \X0074  2345	#116 t Latin small letter t
display \X0075 136		#117 u Latin small letter u
display \X0076 1236		#118 v Latin small letter v
display \X0077  2456	#119 w Latin small letter w
display \X0078 1346		#120 x Latin small letter x
display \X0079 13456	#121 y Latin small letter y
display \X007A 1356		#122 z Latin small letter z

display \X007B  12356			# 123 {		left curly bracket
display \X007C 456					# 124 |		vertical line
display \X007D 23456			#	125 }		right curly bracket
# display \X007E   2356     #	126 ~   tilde
display \X007E  45				#	126 ~   tilde
display \X007F 4					# 127	^		?delete

#Hex Dots Dec Char Description
display \X0080 48					# Eurosign
display \X0081 18 # 129~A<control>
display \X0082 128 # 130~Bbreak permitted here
display \X0083 148 # 131~Cno break here
display \X0084 1458 # 132~D<control>
display \X0085 158 # 133~Enext line
display \X0086 1248 # 134~Fstart of selected area
display \X0087 12458 # 135~Gend of selected area
display \X0088 1258 # 136~Hcharacter tabulation set
display \X0089  248 # 137~Icharacter tabulation with justification
display \X008A  2458 # 138~Jline tabulation set
display \X008B 138 # 139~Kpartial line down
display \X008C 1238 # 140~Lpartial line up
display \X008D 1348 # 141~Mreverse line feed
display \X008E 13458 # 142~Nsingle shift two
display \X008F 1358 # 143~Osingle shift three
display \X0090 12348 # 144~Pdevice control string
display \X0091 123458 # 145~Qprivate use one
display \X0092 12358 # 146~Rprivate use two
display \X0093 2348 # 147~Sset transmit state
display \X0094  23458 # 148~Tcancel character
display \X0095 1368 # 149~Umessage waiting
display \X0096 12368 # 150~Vstart of guarded area
display \X0097  24568 # 151~Wend of guarded area
display \X0098 13468 # 152~Xstart of string
display \X0099 134568 # 153~Y<control>
display \X009A 13568 # 154~Zsingle character introducer
display \X009B  2468 # 155~[control sequence introducer
display \X009C 12568 # 156~\string terminator
display \X009D 124568 # 157~]operating system command
display \X009E 458 # 158~^privacy message
display \X009F 4568		# 159				~_application program command
display \X00A0 0			#160			no-break space

#Hex Dots Dec Char Description
display \X0000 478 #0^@null
display \X0001 178 #1^Astart of heading
display \X0002 1278 #2^Bstart of text
display \X0003 1478 #3^Cend of text
display \X0004 14578 #4^Dend of transmission
display \X0005 1578 #5^Eenquiry
display \X0006 12478 #6^Facknowledge
display \X0007 124578 #7^Gbell
display \X0008 12578 #8^Hbackspace
display \X0009  2478 #9^Ihorizontal tabulation
display \X000A  24578 #10^Jline feed
display \X000B 1378 #11^Kvertical tabulation
display \X000C 12378 #12^Lform feed
display \X000D 13478 #13^Mcarriage return
display \X000E 134578 #14^Nshift out
display \X000F 13578 #15^Oshift in
display \X0010 123478 #16^Pdata link escape
display \X0011 1234578 #17^Qdevice control one
display \X0012 123578 #18^Rdevice control two
display \X0013 23478 #19^Sdevice control three
display \X0014  234578 #20^Tdevice control four
display \X0015 13678 #21^Unegative acknowledge
display \X0016 123678 #22^Vsynchronous idle
display \X0017  245678 #23^Wend of transmission block
#display \X0018 134678 #24^Xcancel
display \X0019 1345678 #25^Yend of medium
display \X001A 135678 #26^Zsubstitute
display \X001B  24678 #27^[escape
display \X001C 125678 #28^\file separator
display \X001D 1245678 #29^]group separator
display \X001E 4578 #30^^record separator
display \X001F 45678 #31^_unit separator

				#Hex	 Dots			Dec	Char	Description
display \X00A1 23467  #	161 ¡			inverted exclamation mark
display \X00A2 58			#162	¢			cent sign 
display \X00A3 34567  # 163	£			pound sign
display \X00A4 1467		# 164	¤			currency sign
display \X00A5 123467 # 165	¥			yen sign
display \X00A6 1567		# 166	¦			broken bar
display \X00A7 346		# 167	§			section sign
display \X00A8  57		# 168	¨			diaeresis
display \X00A9  23567 # 169	©			copyright sign
display \X00AA 8			# 170	ª			feminine ordinal indicator
display \X00AB 1267		# 171	«			left-pointing double angle quotation mark
display \X00AC  2567  # 172	¬			not sign
display \X00AD 367		# 173	­			soft hyphen
display \X00AE  2367  # 174	®			registered sign
display \X00AF  267		# 175	¯			macron
display \X00B0 3567		# 176	°			degree sign

display \X00C0  23578		# 192		À		Latin capital letter a with grave
display \X00C1	1678		# 193		Á		Latin capital letter a with acute
display \X00C2	1678		# 194		Â		Latin capital letter a with circumflex
display \X00C3	578 # 195Ã Latin capital letter a with tilde
display \X00C4	1234678 # 196Ä Latin capital letter a with diaeresis
display \X00C5	34578 # 197Å Latin capital letter a with ring above
display \X00C6	378 # 198Æ Latin capital letter ae
display \X00C7	34678 # 199Ç Latin capital letter c with cedilla
display \X00C8  23567		#	200		È		Latin capital letter e with grave
display \X00C9	12678		# 201É Latin capital letter e with acute
display \X00CA  2378	# 202		Ê		Latin capital letter e with circumflex
display \X00CB 12345678 # 203Ë Latin capital letter e with diaeresis
display \X00CC  23678 # 204Ì Latin capital letter i with grave
display \X00CD 14678 # 205Í Latin capital letter i with acute
display \X00CE  2578	# 206		Î		Latin capital letter i with circumflex
display \X00CF 1235678 # 207Ï Latin capital letter i with diaeresis
display \X00D0 678 # 208Ð Latin capital letter eth
display \X00D1 4678 # 209Ñ Latin capital letter n with tilde
display \X00D2 3578 # 210Ò Latin capital letter o with grave
display \X00D3 145678 # 211Ó Latin capital letter o with acute
display \X00D4  25678 # 212		Ô		Latin capital letter o with circumflex
display \X00D5  5678 # 213Õ Latin capital letter o with tilde
display \X00D6  234678 # 214Ö Latin capital letter o with diaeresis
display \X00D7 167  # 215×multiplication sign
display \X00D8 3478 # 216Ø Latin capital letter o with stroke
display \X00D9 35678 # 217Ù Latin capital letter u with grave
display \X00DA 15678 # 218Ú Latin capital letter u with acute
display \X00DB  2678	# 219		Û		Latin capital letter u with circumflex
display \X00DC  2345678 # 220Ü Latin capital letter u with diaeresis
display \X00DD 124678 # 221Ý Latin capital letter y with acute
display \X00DE 3678 # 222Þ Latin capital letter thorn
display \X00DF 345678 # 223ß Latin small letter sharp s
display \X00E0  2358 # 224à Latin small letter a with grave
display \X00E1 168 # 225á Latin small letter a with acute
display \X00E2	168		# 226		â		Latin small letter a with circumflex
display \X00E3 58 # 227ã Latin small letter a with tilde
display \X00E4 345 # 228ä Latin small letter a with diaeresis
display \X00E5 16						# 229å Latin small letter a with ring above
display \X00E6 38 # 230æ Latin small letter ae
display \X00E7 3468 # 231ç Latin small letter c with cedilla
display \X00E8  23568 # 232è Latin small letter e with grave
display \X00E9 123456					# 233é Latin small letter e with acute
display \X00EA  238		# 234		ê		Latin small letter e with circumflex
display \X00EB 1234568 # 235ë Latin small letter e with diaeresis
display \X00EC  2368 # 236ì Latin small letter i with grave
display \X00ED 1468 # 237í Latin small letter i with acute
display \X00EE  258		# 238		î		Latin small letter i with circumflex
display \X00EF 123568 # 239ï Latin small letter i with diaeresis
display \X00F0 68 # 240ð Latin small letter eth
display \X00F1 468 # 241ñ Latin small letter n with tilde
display \X00F2 358 # 242ò Latin small letter o with grave
display \X00F3 14568 # 243ó Latin small letter o with acute
display \X00F4  2568	# 244		ô		Latin small letter o with circumflex
display \X00F5  568 # 245õ Latin small letter o with tilde
display \X00F6  246 # 246ö Latin small letter o with diaeresis
display \X00F7 347  # 247÷division sign
display \X00F8 348 # 248ø Latin small letter o with stroke
display \X00F9 3568 # 249ù Latin small letter u with grave
display \X00FA 1568 # 250ú Latin small letter u with acute
display \X00FB  268		# 251		û		Latin small letter u with circumflex
display \X00FC 1256				# 252 ü Latin small letter u with diaeresis
display \X00FD 12468 # 253ý Latin small letter y with acute
display \X00FE 368 # 254þ Latin small letter thorn
display \X00FF 34568 # 255ÿ Latin small letter y with diaeresis


display \X00BB 3457  # 187»right-pointing double angle quotation mark
display \X00B9  27  # 185¹superscript one
display \X00B2 237  # 178²superscript two
display \X00B3 257  # 179³superscript three
display \X00B1 3467  # 177±plus-minus sign
display \X00D7 167  # 215×multiplication sign

display \X00B7 467  # 183·middle dot

display \X00BF 14567  # 191¿inverted question mark


display \X00B6  2357  # 182¶pilcrow sign


#Hex Dots Dec Char Description
display \X00BC 123567  # 188¼vulgar fraction one quarter
display \X00BD 1234567  # 189½vulgar fraction one half
display \X00BE  234567  # 190¾vulgar fraction three quarters

# Each of the three extended accent characters is the same as its conventional
# compose character but with dot7 added:

#Hex Dots Dec Char Description
display \X00B4 37  # 180´acute accent
display \X00B8 67  # 184¸cedilla


# The two gender symbols are:

#Hex Dots Dec Char Description
display \X00BA 7  # 186ºmasculine ordinal indicator


# The three remaining characters are:

#Hex Dots Dec Char Description

display \X00B5  567  # 181µmicro sign


# The nonbreaking space is dots 7 and 8 because this presents a sequence of
# nonbreaking spaces as a smooth low line segment.

#Hex Dots Dec Char Description

