# This file is obsolete. Do not use!

# liblouis: de-de.dis
#
# Copyright (C) 1995-2004 by The BRLTTY Team. All rights reserved.
# 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

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

# This is to be used with German translation tables.


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

display \X0030	346		#480			digit zero
display \X0031	16		#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  1256	#568			digit eight
display \X0039	246		#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 345				#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 2346		# 94 ^	circumflex accent
display \X005F 456		# 95 _	low line
display \X0060 345		# 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 34					# 124 |		vertical line
display \X007D 23456			#	125 }		right curly bracket
display \X007E   2356     #	126 ~   tilde
display \X007F 4568				# 127	^		?delete

#Hex Dots Dec Char Description
display \X0080 48 # 128~@<control>
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 357		# 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	16			# 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	16		# 226		â		Latin small letter a with circumflex
display \X00E3 58 # 227ã Latin small letter a with tilde
display \X00E4 123468 # 228ä Latin small letter a with diaeresis
display \X00E5 3458 # 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 1268 # 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  23468 # 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  234568 # 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

