--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/CharacterEncoderImplementations__EBCDIC.st Mon Sep 20 17:26:46 2010 +0200
@@ -0,0 +1,627 @@
+"
+ COPYRIGHT (c) 2010 by eXept Software AG
+ All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice. This software may not
+ be provided or otherwise made available to, or used by, any
+ other person. No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:libbasic' }"
+
+"{ NameSpace: CharacterEncoderImplementations }"
+
+SingleByteEncoder subclass:#EBCDIC
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'Collections-Text-Encodings'
+!
+
+!EBCDIC class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2010 by eXept Software AG
+ All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice. This software may not
+ be provided or otherwise made available to, or used by, any
+ other person. No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
+documentation
+"
+ EBCDIC
+
+ [see with:]
+ CharacterEncoderImplementations::EBCDIC showCharacterSet
+
+ [author:]
+ Claus Gittinger
+"
+! !
+
+!EBCDIC methodsFor:'encoding & decoding'!
+
+decode:codeArg
+ "Automagically generated by generateCode - do not modify.
+ Decode from my encoding into unicode."
+
+ |code "{ Class: SmallInteger }"|
+
+ code := codeArg.
+ code > 16rFF ifTrue:[
+ ^ self decodingError.
+ ].
+ ^ #(
+ "16r0000" 16r0000
+ "16r0001" 16r0001
+ "16r0002" 16r0002
+ "16r0003" 16r0003
+ "16r0004" nil
+ "16r0005" 16r0009 "HT"
+ "16r0006" nil
+ "16r0007" 16r007F "DEL"
+ "16r0008" nil
+ "16r0009" nil
+ "16r000A" nil
+ "16r000B" 16r000B "VT"
+ "16r000C" 16r000C
+ "16r000D" 16r000D
+ "16r000E" 16r000E
+ "16r000F" 16r000F
+
+ "16r0010" 16r0010
+ "16r0011" 16r0011
+ "16r0012" 16r0012
+ "16r0013" 16r0013
+ "16r0014" nil
+ "16r0015" 16r0085
+ "16r0016" 16r0008
+ "16r0017" nil
+ "16r0018" 16r0018
+ "16r0019" 16r0019
+ "16r001A" nil
+ "16r001B" nil
+ "16r001C" 16r001C
+ "16r001D" 16r001D
+ "16r001E" 16r001E
+ "16r001F" 16r001F
+
+ "16r0020" nil "DS"
+ "16r0021" nil "SOS"
+ "16r0022" nil
+ "16r0023" nil
+ "16r0024" nil
+ "16r0025" 16r000A "LF"
+ "16r0026" 16r0017 "ETB"
+ "16r0027" 16r001B "ESC"
+ "16r0028" nil
+ "16r0029" nil
+ "16r002A" nil
+ "16r002B" nil
+ "16r002C" nil
+ "16r002D" 16r0005 "ENQ"
+ "16r002E" 16r0006 "ACK"
+ "16r002F" 16r0007 "BEL"
+
+ "16r0030" nil
+ "16r0031" nil
+ "16r0032" nil
+ "16r0033" nil
+ "16r0034" nil
+ "16r0035" nil
+ "16r0036" nil
+ "16r0037" 16r0004 "EOT"
+ "16r0038" nil
+ "16r0039" nil
+ "16r003A" nil
+ "16r003B" nil
+ "16r003C" 16r0014 "DC4"
+ "16r003D" 16r0015 "NAK"
+ "16r003E" nil
+ "16r003F" 16r001A "SUB"
+
+ "16r0040" 16r0020 "BLANK"
+ "16r0041" 16r00A0
+ "16r0042" 16r00E2 "a circumflex"
+ "16r0043" 16r00E4
+ "16r0044" 16r00E0
+ "16r0045" 16r00E1
+ "16r0046" 16r00E3
+ "16r0047" 16r00E5
+ "16r0048" 16r00E7
+ "16r0049" 16r00F1
+ "16r004A" 16r005B
+ "16r004B" 16r002E
+ "16r004C" 16r003C
+ "16r004D" 16r0028
+ "16r004E" 16r002B
+ "16r004F" 16r0021
+
+ "16r0050" 16r0026
+ "16r0051" 16r00E9
+ "16r0052" 16r00EA
+ "16r0053" 16r00EB
+ "16r0054" 16r00E8
+ "16r0055" 16r00ED
+ "16r0056" 16r00EE
+ "16r0057" 16r00EF
+ "16r0058" 16r00EC
+ "16r0059" 16r00DF
+ "16r005A" 16r005D
+ "16r005B" 16r0024
+ "16r005C" 16r002A
+ "16r005D" 16r0029
+ "16r005E" 16r003B
+ "16r005F" 16r005E
+
+ "16r0060" 16r002D
+ "16r0061" 16r002F
+ "16r0062" 16r00C2
+ "16r0063" 16r00C4
+ "16r0064" 16r00C0
+ "16r0065" 16r00C1
+ "16r0066" 16r00C3
+ "16r0067" 16r00C5
+ "16r0068" 16r00C7
+ "16r0069" 16r00D1
+ "16r006A" 16r00A6
+ "16r006B" 16r002C
+ "16r006C" 16r0025
+ "16r006D" 16r005F
+ "16r006E" 16r003E
+ "16r006F" 16r003F
+
+ "16r0070" 16r00F8
+ "16r0071" 16r00C9
+ "16r0072" 16r00CA
+ "16r0073" 16r00CB
+ "16r0074" 16r00C8
+ "16r0075" 16r00CD
+ "16r0076" 16r00CE
+ "16r0077" 16r00CF
+ "16r0078" 16r00CC
+ "16r0079" 16r0060
+ "16r007A" 16r003A
+ "16r007B" 16r0023
+ "16r007C" 16r0040
+ "16r007D" 16r0027
+ "16r007E" 16r003D
+ "16r007F" 16r0022
+
+ "16r0080" 16r00D8
+ "16r0081" 16r0061
+ "16r0082" 16r0062
+ "16r0083" 16r0063
+ "16r0084" 16r0064
+ "16r0085" 16r0065
+ "16r0086" 16r0066
+ "16r0087" 16r0067
+ "16r0088" 16r0068
+ "16r0089" 16r0069
+ "16r008A" 16r00AB
+ "16r008B" 16r00BB
+ "16r008C" 16r00F0
+ "16r008D" 16r00FD
+ "16r008E" 16r00FE
+ "16r008F" 16r00B1
+
+ "16r0090" 16r00B0
+ "16r0091" 16r006A
+ "16r0092" 16r006B
+ "16r0093" 16r006C
+ "16r0094" 16r006D
+ "16r0095" 16r006E
+ "16r0096" 16r006F
+ "16r0097" 16r0070
+ "16r0098" 16r0071
+ "16r0099" 16r0072
+ "16r009A" 16r00AA
+ "16r009B" 16r00BA
+ "16r009C" 16r00E6
+ "16r009D" 16r00B8
+ "16r009E" 16r00C6
+ "16r009F" 16r00A4
+
+ "16r00A0" 16r00B5 "Mu"
+ "16r00A1" 16r007E
+ "16r00A2" 16r0073
+ "16r00A3" 16r0074
+ "16r00A4" 16r0075
+ "16r00A5" 16r0076
+ "16r00A6" 16r0077
+ "16r00A7" 16r0078
+ "16r00A8" 16r0079
+ "16r00A9" 16r007A
+ "16r00AA" 16r00A1
+ "16r00AB" 16r00BF
+ "16r00AC" 16r00D0
+ "16r00AD" 16r00DD
+ "16r00AE" 16r00DE
+ "16r00AF" 16r00AE
+
+ "16r00B0" 16r00A2
+ "16r00B1" 16r00A3
+ "16r00B2" 16r00A5
+ "16r00B3" 16r00B7
+ "16r00B4" 16r00A9
+ "16r00B5" 16r00A7
+ "16r00B6" 16r00B6
+ "16r00B7" 16r00BC
+ "16r00B8" 16r00BD
+ "16r00B9" 16r00BE
+ "16r00BA" 16r00AC
+ "16r00BB" 16r007C
+ "16r00BC" 16r00AF
+ "16r00BD" 16r00A8
+ "16r00BE" 16r00B4
+ "16r00BF" 16r00D7
+
+ "16r00C0" 16r007B
+ "16r00C1" 16r0041
+ "16r00C2" 16r0042
+ "16r00C3" 16r0043
+ "16r00C4" 16r0044
+ "16r00C5" 16r0045
+ "16r00C6" 16r0046
+ "16r00C7" 16r0047
+ "16r00C8" 16r0048
+ "16r00C9" 16r0049
+ "16r00CA" 16r00AD
+ "16r00CB" 16r00F4
+ "16r00CC" 16r00F6
+ "16r00CD" 16r00F2
+ "16r00CE" 16r00F3
+ "16r00CF" 16r00F5
+
+ "16r00D0" 16r007D
+ "16r00D1" 16r004A
+ "16r00D2" 16r004B
+ "16r00D3" 16r004C
+ "16r00D4" 16r004D
+ "16r00D5" 16r004E
+ "16r00D6" 16r004F
+ "16r00D7" 16r0050
+ "16r00D8" 16r0051
+ "16r00D9" 16r0052
+ "16r00DA" 16r00B9
+ "16r00DB" 16r00FB
+ "16r00DC" 16r00FC
+ "16r00DD" 16r00F9
+ "16r00DE" 16r00FA
+ "16r00DF" 16r00FF
+
+ "16r00E0" 16r005C
+ "16r00E1" 16r00F7
+ "16r00E2" 16r0053
+ "16r00E3" 16r0054
+ "16r00E4" 16r0055
+ "16r00E5" 16r0056
+ "16r00E6" 16r0057
+ "16r00E7" 16r0058
+ "16r00E8" 16r0059
+ "16r00E9" 16r005A
+ "16r00EA" 16r00B2
+ "16r00EB" 16r00D4
+ "16r00EC" 16r00D6
+ "16r00ED" 16r00D2
+ "16r00EE" 16r00D3
+ "16r00EF" 16r00D5
+
+ "16r00F0" 16r0030
+ "16r00F1" 16r0031
+ "16r00F2" 16r0032
+ "16r00F3" 16r0033
+ "16r00F4" 16r0034
+ "16r00F5" 16r0035
+ "16r00F6" 16r0036
+ "16r00F7" 16r0037
+ "16r00F8" 16r0038
+ "16r00F9" 16r0039
+ "16r00FA" 16r00B3
+ "16r00FB" 16r00DB
+ "16r00FC" 16r00DC
+ "16r00FD" 16r00D9
+ "16r00FE" 16r00DA
+ "16r00FF" nil
+ ) at:(code + 1).
+!
+
+encode:codeArg
+ "Automagically generated by generateCode - do not modify.
+ Encode from unicode into my encoding."
+
+ |code "{ Class: SmallInteger }"|
+
+ code := codeArg.
+ code > 16rFF ifTrue:[
+ ^ self decodingError.
+ ].
+ ^ #(
+ "16r0000" 16r0000
+ "16r0001" 16r0001
+ "16r0002" 16r0002
+ "16r0003" 16r0003
+ "16r0004" 16r0037
+ "16r0005" 16r002D
+ "16r0006" 16r002E
+ "16r0007" 16r002F
+ "16r0008" 16r0016
+ "16r0009" 16r0005
+ "16r000A" 16r0025
+ "16r000B" 16r000B
+ "16r000C" 16r000C
+ "16r000D" 16r000D
+ "16r000E" 16r000E
+ "16r000F" 16r000F
+
+ "16r0010" 16r0010
+ "16r0011" 16r0011
+ "16r0012" 16r0012
+ "16r0013" 16r0013
+ "16r0014" 16r003C
+ "16r0015" 16r003D
+ "16r0016" nil
+ "16r0017" 16r0026
+ "16r0018" 16r0018
+ "16r0019" 16r0019
+ "16r001A" 16r003F
+ "16r001B" 16r0027
+ "16r001C" 16r001C
+ "16r001D" 16r001D
+ "16r001E" 16r001E
+ "16r001F" 16r001F
+
+ "16r0020" 16r0040
+ "16r0021" 16r004F
+ "16r0022" 16r007F
+ "16r0023" 16r007B
+ "16r0024" 16r005B
+ "16r0025" 16r006C
+ "16r0026" 16r0050
+ "16r0027" 16r007D
+ "16r0028" 16r004D
+ "16r0029" 16r005D
+ "16r002A" 16r005C
+ "16r002B" 16r004E
+ "16r002C" 16r006B
+ "16r002D" 16r0060
+ "16r002E" 16r004B
+ "16r002F" 16r0061
+
+ "16r0030" 16r00F0
+ "16r0031" 16r00F1
+ "16r0032" 16r00F2
+ "16r0033" 16r00F3
+ "16r0034" 16r00F4
+ "16r0035" 16r00F5
+ "16r0036" 16r00F6
+ "16r0037" 16r00F7
+ "16r0038" 16r00F8
+ "16r0039" 16r00F9
+ "16r003A" 16r007A
+ "16r003B" 16r005E
+ "16r003C" 16r004C
+ "16r003D" 16r007E
+ "16r003E" 16r006E
+ "16r003F" 16r006F
+
+ "16r0040" 16r007C
+ "16r0041" 16r00C1
+ "16r0042" 16r00C2
+ "16r0043" 16r00C3
+ "16r0044" 16r00C4
+ "16r0045" 16r00C5
+ "16r0046" 16r00C6
+ "16r0047" 16r00C7
+ "16r0048" 16r00C8
+ "16r0049" 16r00C9
+ "16r004A" 16r00D1
+ "16r004B" 16r00D2
+ "16r004C" 16r00D3
+ "16r004D" 16r00D4
+ "16r004E" 16r00D5
+ "16r004F" 16r00D6
+
+ "16r0050" 16r00D7
+ "16r0051" 16r00D8
+ "16r0052" 16r00D9
+ "16r0053" 16r00E2
+ "16r0054" 16r00E3
+ "16r0055" 16r00E4
+ "16r0056" 16r00E5
+ "16r0057" 16r00E6
+ "16r0058" 16r00E7
+ "16r0059" 16r00E8
+ "16r005A" 16r00E9
+ "16r005B" 16r004A
+ "16r005C" 16r00E0
+ "16r005D" 16r005A
+ "16r005E" 16r005F
+ "16r005F" 16r006D
+
+ "16r0060" 16r0079
+ "16r0061" 16r0081
+ "16r0062" 16r0082
+ "16r0063" 16r0083
+ "16r0064" 16r0084
+ "16r0065" 16r0085
+ "16r0066" 16r0086
+ "16r0067" 16r0087
+ "16r0068" 16r0088
+ "16r0069" 16r0089
+ "16r006A" 16r0091
+ "16r006B" 16r0092
+ "16r006C" 16r0093
+ "16r006D" 16r0094
+ "16r006E" 16r0095
+ "16r006F" 16r0096
+
+ "16r0070" 16r0097
+ "16r0071" 16r0098
+ "16r0072" 16r0099
+ "16r0073" 16r00A2
+ "16r0074" 16r00A3
+ "16r0075" 16r00A4
+ "16r0076" 16r00A5
+ "16r0077" 16r00A6
+ "16r0078" 16r00A7
+ "16r0079" 16r00A8
+ "16r007A" 16r00A9
+ "16r007B" 16r00C0
+ "16r007C" 16r00BB
+ "16r007D" 16r00D0
+ "16r007E" 16r00A1
+ "16r007F" 16r0007
+
+ "16r0080" nil
+ "16r0081" nil
+ "16r0082" nil
+ "16r0083" nil
+ "16r0084" nil
+ "16r0085" 16r0015
+ "16r0086" nil
+ "16r0087" nil
+ "16r0088" nil
+ "16r0089" nil
+ "16r008A" nil
+ "16r008B" nil
+ "16r008C" nil
+ "16r008D" nil
+ "16r008E" nil
+ "16r008F" nil
+
+ "16r0090" nil
+ "16r0091" nil
+ "16r0092" nil
+ "16r0093" nil
+ "16r0094" nil
+ "16r0095" nil
+ "16r0096" nil
+ "16r0097" nil
+ "16r0098" nil
+ "16r0099" nil
+ "16r009A" nil
+ "16r009B" nil
+ "16r009C" nil
+ "16r009D" nil
+ "16r009E" nil
+ "16r009F" nil
+
+ "16r00A0" 16r0041
+ "16r00A1" 16r00AA
+ "16r00A2" 16r00B0
+ "16r00A3" 16r00B1
+ "16r00A4" 16r009F
+ "16r00A5" 16r00B2
+ "16r00A6" 16r006A
+ "16r00A7" 16r00B5
+ "16r00A8" 16r00BD
+ "16r00A9" 16r00B4
+ "16r00AA" 16r009A
+ "16r00AB" 16r008A
+ "16r00AC" 16r00BA
+ "16r00AD" 16r00CA
+ "16r00AE" 16r00AF
+ "16r00AF" 16r00BC
+
+ "16r00B0" 16r0090
+ "16r00B1" 16r008F
+ "16r00B2" 16r00EA
+ "16r00B3" 16r00FA
+ "16r00B4" 16r00BE
+ "16r00B5" 16r00A0
+ "16r00B6" 16r00B6
+ "16r00B7" 16r00B3
+ "16r00B8" 16r009D
+ "16r00B9" 16r00DA
+ "16r00BA" 16r009B
+ "16r00BB" 16r008B
+ "16r00BC" 16r00B7
+ "16r00BD" 16r00B8
+ "16r00BE" 16r00B9
+ "16r00BF" 16r00AB
+
+ "16r00C0" 16r0064
+ "16r00C1" 16r0065
+ "16r00C2" 16r0062
+ "16r00C3" 16r0066
+ "16r00C4" 16r0063
+ "16r00C5" 16r0067
+ "16r00C6" 16r009E
+ "16r00C7" 16r0068
+ "16r00C8" 16r0074
+ "16r00C9" 16r0071
+ "16r00CA" 16r0072
+ "16r00CB" 16r0073
+ "16r00CC" 16r0078
+ "16r00CD" 16r0075
+ "16r00CE" 16r0076
+ "16r00CF" 16r0077
+
+ "16r00D0" 16r00AC
+ "16r00D1" 16r0069
+ "16r00D2" 16r00ED
+ "16r00D3" 16r00EE
+ "16r00D4" 16r00EB
+ "16r00D5" 16r00EF
+ "16r00D6" 16r00EC
+ "16r00D7" 16r00BF
+ "16r00D8" 16r0080
+ "16r00D9" 16r00FD
+ "16r00DA" 16r00FE
+ "16r00DB" 16r00FB
+ "16r00DC" 16r00FC
+ "16r00DD" 16r00AD
+ "16r00DE" 16r00AE
+ "16r00DF" 16r0059
+
+ "16r00E0" 16r0044
+ "16r00E1" 16r0045
+ "16r00E2" 16r0042
+ "16r00E3" 16r0046
+ "16r00E4" 16r0043
+ "16r00E5" 16r0047
+ "16r00E6" 16r009C
+ "16r00E7" 16r0048
+ "16r00E8" 16r0054
+ "16r00E9" 16r0051
+ "16r00EA" 16r0052
+ "16r00EB" 16r0053
+ "16r00EC" 16r0058
+ "16r00ED" 16r0055
+ "16r00EE" 16r0056
+ "16r00EF" 16r0057
+
+ "16r00F0" 16r008C
+ "16r00F1" 16r0049
+ "16r00F2" 16r00CD
+ "16r00F3" 16r00CE
+ "16r00F4" 16r00CB
+ "16r00F5" 16r00CF
+ "16r00F6" 16r00CC
+ "16r00F7" 16r00E1
+ "16r00F8" 16r0070
+ "16r00F9" 16r00DD
+ "16r00FA" 16r00DE
+ "16r00FB" 16r00DB
+ "16r00FC" 16r00DC
+ "16r00FD" 16r008D
+ "16r00FE" 16r008E
+ "16r00FF" 16r00DF
+ ) at:code+1.
+! !
+
+!EBCDIC class methodsFor:'documentation'!
+
+version_CVS
+ ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__EBCDIC.st,v 1.1 2010-09-20 15:26:46 cg Exp $'
+! !