--- a/CharacterEncoderImplementations__MS_EastEuropean.st Thu Mar 31 20:21:44 2005 +0200
+++ b/CharacterEncoderImplementations__MS_EastEuropean.st Thu Mar 31 20:49:01 2005 +0200
@@ -35,12 +35,28 @@
other person. No title to or ownership of the software is
hereby transferred.
"
+!
+
+documentation
+"
+ CP1250 / Microsoft EastEuropean
+
+ [see with:]
+ CharacterEncoderImplementations::MS_EastEuropean showCharacterSet
+
+ [author:]
+ Claus Gittinger
+"
! !
!MS_EastEuropean class methodsFor:'mapping'!
mapFileURL2_relativePathName
^ 'CP1250'
+
+ "
+ self generateCode
+ "
!
mapping
@@ -311,8 +327,491 @@
"
! !
+!MS_EastEuropean methodsFor:'encoding & decoding'!
+
+decode:codeArg
+ "Automagically generated by generateCode - do not modify.
+ Decode from my encoding into unicode."
+
+ |code "{ Class: SmallInteger }"|
+
+ code := codeArg.
+ code <= 16r7F ifTrue:[ ^ code ].
+ code > 16rFF ifTrue:[
+ ^ self decodingError.
+ ].
+ [
+ |t|
+ t := #(
+ "16r0080" 16r0000 " invalid "
+ "16r0081" 16r0000 " invalid "
+ "16r0082" 16r201A " SINGLE LOW-9 QUOTATION MARK "
+ "16r0083" 16r0000 " invalid "
+ "16r0084" 16r201E " DOUBLE LOW-9 QUOTATION MARK "
+ "16r0085" 16r2026 " HORIZONTAL ELLIPSIS "
+ "16r0086" 16r2020 " DAGGER "
+ "16r0087" 16r2021 " DOUBLE DAGGER "
+ "16r0088" 16r0000 " invalid "
+ "16r0089" 16r2030 " PER MILLE SIGN "
+ "16r008A" 16r0160 " LATIN CAPITAL LETTER S WITH CARON "
+ "16r008B" 16r2039 " SINGLE LEFT-POINTING ANGLE QUOTATION MARK "
+ "16r008C" 16r015A " LATIN CAPITAL LETTER S WITH ACUTE "
+ "16r008D" 16r0164 " LATIN CAPITAL LETTER T WITH CARON "
+ "16r008E" 16r017D " LATIN CAPITAL LETTER Z WITH CARON "
+ "16r008F" 16r0179 " LATIN CAPITAL LETTER Z WITH ACUTE "
+ "16r0090" 16r0000 " invalid "
+ "16r0091" 16r2018 " LEFT SINGLE QUOTATION MARK "
+ "16r0092" 16r2019 " RIGHT SINGLE QUOTATION MARK "
+ "16r0093" 16r201C " LEFT DOUBLE QUOTATION MARK "
+ "16r0094" 16r201D " RIGHT DOUBLE QUOTATION MARK "
+ "16r0095" 16r2022 " BULLET "
+ "16r0096" 16r2013 " EN DASH "
+ "16r0097" 16r2014 " EM DASH "
+ "16r0098" 16r0000 " invalid "
+ "16r0099" 16r2122 " TRADE MARK SIGN "
+ "16r009A" 16r0161 " LATIN SMALL LETTER S WITH CARON "
+ "16r009B" 16r203A " SINGLE RIGHT-POINTING ANGLE QUOTATION MARK "
+ "16r009C" 16r015B " LATIN SMALL LETTER S WITH ACUTE "
+ "16r009D" 16r0165 " LATIN SMALL LETTER T WITH CARON "
+ "16r009E" 16r017E " LATIN SMALL LETTER Z WITH CARON "
+ "16r009F" 16r017A " LATIN SMALL LETTER Z WITH ACUTE "
+ "16r00A0" 16r00A0 " NO-BREAK SPACE "
+ "16r00A1" 16r02C7 " CARON (Mandarin Chinese third tone) "
+ "16r00A2" 16r02D8 " BREVE "
+ "16r00A3" 16r0141 " LATIN CAPITAL LETTER L WITH STROKE "
+ "16r00A4" 16r00A4 " CURRENCY SIGN "
+ "16r00A5" 16r0104 " LATIN CAPITAL LETTER A WITH OGONEK "
+ "16r00A6" 16r00A6 " BROKEN BAR "
+ "16r00A7" 16r00A7 " SECTION SIGN "
+ "16r00A8" 16r00A8 " DIAERESIS "
+ "16r00A9" 16r00A9 " COPYRIGHT SIGN "
+ "16r00AA" 16r015E " LATIN CAPITAL LETTER S WITH CEDILLA "
+ "16r00AB" 16r00AB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00AC" 16r00AC " NOT SIGN "
+ "16r00AD" 16r00AD " SOFT HYPHEN "
+ "16r00AE" 16r00AE " REGISTERED SIGN "
+ "16r00AF" 16r017B " LATIN CAPITAL LETTER Z WITH DOT ABOVE "
+ "16r00B0" 16r00B0 " DEGREE SIGN "
+ "16r00B1" 16r00B1 " PLUS-MINUS SIGN "
+ "16r00B2" 16r02DB " OGONEK "
+ "16r00B3" 16r0142 " LATIN SMALL LETTER L WITH STROKE "
+ "16r00B4" 16r00B4 " ACUTE ACCENT "
+ "16r00B5" 16r00B5 " MICRO SIGN "
+ "16r00B6" 16r00B6 " PILCROW SIGN "
+ "16r00B7" 16r00B7 " MIDDLE DOT "
+ "16r00B8" 16r00B8 " CEDILLA "
+ "16r00B9" 16r0105 " LATIN SMALL LETTER A WITH OGONEK "
+ "16r00BA" 16r015F " LATIN SMALL LETTER S WITH CEDILLA "
+ "16r00BB" 16r00BB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00BC" 16r013D " LATIN CAPITAL LETTER L WITH CARON "
+ "16r00BD" 16r02DD " DOUBLE ACUTE ACCENT "
+ "16r00BE" 16r013E " LATIN SMALL LETTER L WITH CARON "
+ "16r00BF" 16r017C " LATIN SMALL LETTER Z WITH DOT ABOVE "
+ "16r00C0" 16r0154 " LATIN CAPITAL LETTER R WITH ACUTE "
+ "16r00C1" 16r00C1 " LATIN CAPITAL LETTER A WITH ACUTE "
+ "16r00C2" 16r00C2 " LATIN CAPITAL LETTER A WITH CIRCUMFLEX "
+ "16r00C3" 16r0102 " LATIN CAPITAL LETTER A WITH BREVE "
+ "16r00C4" 16r00C4 " LATIN CAPITAL LETTER A WITH DIAERESIS "
+ "16r00C5" 16r0139 " LATIN CAPITAL LETTER L WITH ACUTE "
+ "16r00C6" 16r0106 " LATIN CAPITAL LETTER C WITH ACUTE "
+ "16r00C7" 16r00C7 " LATIN CAPITAL LETTER C WITH CEDILLA "
+ "16r00C8" 16r010C " LATIN CAPITAL LETTER C WITH CARON "
+ "16r00C9" 16r00C9 " LATIN CAPITAL LETTER E WITH ACUTE "
+ "16r00CA" 16r0118 " LATIN CAPITAL LETTER E WITH OGONEK "
+ "16r00CB" 16r00CB " LATIN CAPITAL LETTER E WITH DIAERESIS "
+ "16r00CC" 16r011A " LATIN CAPITAL LETTER E WITH CARON "
+ "16r00CD" 16r00CD " LATIN CAPITAL LETTER I WITH ACUTE "
+ "16r00CE" 16r00CE " LATIN CAPITAL LETTER I WITH CIRCUMFLEX "
+ "16r00CF" 16r010E " LATIN CAPITAL LETTER D WITH CARON "
+ "16r00D0" 16r0110 " LATIN CAPITAL LETTER D WITH STROKE "
+ "16r00D1" 16r0143 " LATIN CAPITAL LETTER N WITH ACUTE "
+ "16r00D2" 16r0147 " LATIN CAPITAL LETTER N WITH CARON "
+ "16r00D3" 16r00D3 " LATIN CAPITAL LETTER O WITH ACUTE "
+ "16r00D4" 16r00D4 " LATIN CAPITAL LETTER O WITH CIRCUMFLEX "
+ "16r00D5" 16r0150 " LATIN CAPITAL LETTER O WITH DOUBLE ACUTE "
+ "16r00D6" 16r00D6 " LATIN CAPITAL LETTER O WITH DIAERESIS "
+ "16r00D7" 16r00D7 " MULTIPLICATION SIGN "
+ "16r00D8" 16r0158 " LATIN CAPITAL LETTER R WITH CARON "
+ "16r00D9" 16r016E " LATIN CAPITAL LETTER U WITH RING ABOVE "
+ "16r00DA" 16r00DA " LATIN CAPITAL LETTER U WITH ACUTE "
+ "16r00DB" 16r0170 " LATIN CAPITAL LETTER U WITH DOUBLE ACUTE "
+ "16r00DC" 16r00DC " LATIN CAPITAL LETTER U WITH DIAERESIS "
+ "16r00DD" 16r00DD " LATIN CAPITAL LETTER Y WITH ACUTE "
+ "16r00DE" 16r0162 " LATIN CAPITAL LETTER T WITH CEDILLA "
+ "16r00DF" 16r00DF " LATIN SMALL LETTER SHARP S (German) "
+ "16r00E0" 16r0155 " LATIN SMALL LETTER R WITH ACUTE "
+ "16r00E1" 16r00E1 " LATIN SMALL LETTER A WITH ACUTE "
+ "16r00E2" 16r00E2 " LATIN SMALL LETTER A WITH CIRCUMFLEX "
+ "16r00E3" 16r0103 " LATIN SMALL LETTER A WITH BREVE "
+ "16r00E4" 16r00E4 " LATIN SMALL LETTER A WITH DIAERESIS "
+ "16r00E5" 16r013A " LATIN SMALL LETTER L WITH ACUTE "
+ "16r00E6" 16r0107 " LATIN SMALL LETTER C WITH ACUTE "
+ "16r00E7" 16r00E7 " LATIN SMALL LETTER C WITH CEDILLA "
+ "16r00E8" 16r010D " LATIN SMALL LETTER C WITH CARON "
+ "16r00E9" 16r00E9 " LATIN SMALL LETTER E WITH ACUTE "
+ "16r00EA" 16r0119 " LATIN SMALL LETTER E WITH OGONEK "
+ "16r00EB" 16r00EB " LATIN SMALL LETTER E WITH DIAERESIS "
+ "16r00EC" 16r011B " LATIN SMALL LETTER E WITH CARON "
+ "16r00ED" 16r00ED " LATIN SMALL LETTER I WITH ACUTE "
+ "16r00EE" 16r00EE " LATIN SMALL LETTER I WITH CIRCUMFLEX "
+ "16r00EF" 16r010F " LATIN SMALL LETTER D WITH CARON "
+ "16r00F0" 16r0111 " LATIN SMALL LETTER D WITH STROKE "
+ "16r00F1" 16r0144 " LATIN SMALL LETTER N WITH ACUTE "
+ "16r00F2" 16r0148 " LATIN SMALL LETTER N WITH CARON "
+ "16r00F3" 16r00F3 " LATIN SMALL LETTER O WITH ACUTE "
+ "16r00F4" 16r00F4 " LATIN SMALL LETTER O WITH CIRCUMFLEX "
+ "16r00F5" 16r0151 " LATIN SMALL LETTER O WITH DOUBLE ACUTE "
+ "16r00F6" 16r00F6 " LATIN SMALL LETTER O WITH DIAERESIS "
+ "16r00F7" 16r00F7 " DIVISION SIGN "
+ "16r00F8" 16r0159 " LATIN SMALL LETTER R WITH CARON "
+ "16r00F9" 16r016F " LATIN SMALL LETTER U WITH RING ABOVE "
+ "16r00FA" 16r00FA " LATIN SMALL LETTER U WITH ACUTE "
+ "16r00FB" 16r0171 " LATIN SMALL LETTER U WITH DOUBLE ACUTE "
+ "16r00FC" 16r00FC " LATIN SMALL LETTER U WITH DIAERESIS "
+ "16r00FD" 16r00FD " LATIN SMALL LETTER Y WITH ACUTE "
+ "16r00FE" 16r0163 " LATIN SMALL LETTER T WITH CEDILLA "
+ "16r00FF" 16r02D9 " DOT ABOVE (Mandarin Chinese light tone) "
+ ) at:(code - 16r7F).
+ t == 0 ifFalse:[^ t].
+ ^ self decodingError.
+ ] value.
+!
+
+encode:unicodeArg
+ "Automagically generated by generateCode - do not modify.
+ Encode from unicode into my encoding."
+
+ |unicode "{ Class: SmallInteger }"|
+
+ unicode := unicodeArg.
+ unicode <= 16r7F ifTrue:[ ^ unicode ].
+ unicode > 16r2122 ifTrue:[
+ ^ self encodingError.
+ ].
+ unicode <= 16r9F ifTrue:[
+ ^ self encodingError
+ ].
+ unicode <= 16r2DD ifTrue:[
+ unicode <= 16r17E ifTrue:[
+ unicode <= 16r101 ifTrue:[
+ (#[
+ "16r00A0" 1 " NO-BREAK SPACE "
+ "16r00A1" 0 " invalid "
+ "16r00A2" 0 " invalid "
+ "16r00A3" 0 " invalid "
+ "16r00A4" 1 " CURRENCY SIGN "
+ "16r00A5" 0 " invalid "
+ "16r00A6" 1 " BROKEN BAR "
+ "16r00A7" 1 " SECTION SIGN "
+ "16r00A8" 1 " DIAERESIS "
+ "16r00A9" 1 " COPYRIGHT SIGN "
+ "16r00AA" 0 " invalid "
+ "16r00AB" 1 " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00AC" 1 " NOT SIGN "
+ "16r00AD" 1 " SOFT HYPHEN "
+ "16r00AE" 1 " REGISTERED SIGN "
+ "16r00AF" 0 " invalid "
+ "16r00B0" 1 " DEGREE SIGN "
+ "16r00B1" 1 " PLUS-MINUS SIGN "
+ "16r00B2" 0 " invalid "
+ "16r00B3" 0 " invalid "
+ "16r00B4" 1 " ACUTE ACCENT "
+ "16r00B5" 1 " MICRO SIGN "
+ "16r00B6" 1 " PILCROW SIGN "
+ "16r00B7" 1 " MIDDLE DOT "
+ "16r00B8" 1 " CEDILLA "
+ "16r00B9" 0 " invalid "
+ "16r00BA" 0 " invalid "
+ "16r00BB" 1 " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00BC" 0 " invalid "
+ "16r00BD" 0 " invalid "
+ "16r00BE" 0 " invalid "
+ "16r00BF" 0 " invalid "
+ "16r00C0" 0 " invalid "
+ "16r00C1" 1 " LATIN CAPITAL LETTER A WITH ACUTE "
+ "16r00C2" 1 " LATIN CAPITAL LETTER A WITH CIRCUMFLEX "
+ "16r00C3" 0 " invalid "
+ "16r00C4" 1 " LATIN CAPITAL LETTER A WITH DIAERESIS "
+ "16r00C5" 0 " invalid "
+ "16r00C6" 0 " invalid "
+ "16r00C7" 1 " LATIN CAPITAL LETTER C WITH CEDILLA "
+ "16r00C8" 0 " invalid "
+ "16r00C9" 1 " LATIN CAPITAL LETTER E WITH ACUTE "
+ "16r00CA" 0 " invalid "
+ "16r00CB" 1 " LATIN CAPITAL LETTER E WITH DIAERESIS "
+ "16r00CC" 0 " invalid "
+ "16r00CD" 1 " LATIN CAPITAL LETTER I WITH ACUTE "
+ "16r00CE" 1 " LATIN CAPITAL LETTER I WITH CIRCUMFLEX "
+ "16r00CF" 0 " invalid "
+ "16r00D0" 0 " invalid "
+ "16r00D1" 0 " invalid "
+ "16r00D2" 0 " invalid "
+ "16r00D3" 1 " LATIN CAPITAL LETTER O WITH ACUTE "
+ "16r00D4" 1 " LATIN CAPITAL LETTER O WITH CIRCUMFLEX "
+ "16r00D5" 0 " invalid "
+ "16r00D6" 1 " LATIN CAPITAL LETTER O WITH DIAERESIS "
+ "16r00D7" 1 " MULTIPLICATION SIGN "
+ "16r00D8" 0 " invalid "
+ "16r00D9" 0 " invalid "
+ "16r00DA" 1 " LATIN CAPITAL LETTER U WITH ACUTE "
+ "16r00DB" 0 " invalid "
+ "16r00DC" 1 " LATIN CAPITAL LETTER U WITH DIAERESIS "
+ "16r00DD" 1 " LATIN CAPITAL LETTER Y WITH ACUTE "
+ "16r00DE" 0 " invalid "
+ "16r00DF" 1 " LATIN SMALL LETTER SHARP S (German) "
+ "16r00E0" 0 " invalid "
+ "16r00E1" 1 " LATIN SMALL LETTER A WITH ACUTE "
+ "16r00E2" 1 " LATIN SMALL LETTER A WITH CIRCUMFLEX "
+ "16r00E3" 0 " invalid "
+ "16r00E4" 1 " LATIN SMALL LETTER A WITH DIAERESIS "
+ "16r00E5" 0 " invalid "
+ "16r00E6" 0 " invalid "
+ "16r00E7" 1 " LATIN SMALL LETTER C WITH CEDILLA "
+ "16r00E8" 0 " invalid "
+ "16r00E9" 1 " LATIN SMALL LETTER E WITH ACUTE "
+ "16r00EA" 0 " invalid "
+ "16r00EB" 1 " LATIN SMALL LETTER E WITH DIAERESIS "
+ "16r00EC" 0 " invalid "
+ "16r00ED" 1 " LATIN SMALL LETTER I WITH ACUTE "
+ "16r00EE" 1 " LATIN SMALL LETTER I WITH CIRCUMFLEX "
+ "16r00EF" 0 " invalid "
+ "16r00F0" 0 " invalid "
+ "16r00F1" 0 " invalid "
+ "16r00F2" 0 " invalid "
+ "16r00F3" 1 " LATIN SMALL LETTER O WITH ACUTE "
+ "16r00F4" 1 " LATIN SMALL LETTER O WITH CIRCUMFLEX "
+ "16r00F5" 0 " invalid "
+ "16r00F6" 1 " LATIN SMALL LETTER O WITH DIAERESIS "
+ "16r00F7" 1 " DIVISION SIGN "
+ "16r00F8" 0 " invalid "
+ "16r00F9" 0 " invalid "
+ "16r00FA" 1 " LATIN SMALL LETTER U WITH ACUTE "
+ "16r00FB" 0 " invalid "
+ "16r00FC" 1 " LATIN SMALL LETTER U WITH DIAERESIS "
+ "16r00FD" 1 " LATIN SMALL LETTER Y WITH ACUTE "
+ "16r00FE" 0 " invalid "
+ "16r00FF" 0 " invalid "
+ "16r0100" 0 " invalid "
+ "16r0101" 0 " invalid "
+ ] at:(unicode - 159)) ~~ 0 ifTrue:[^ unicode].
+ ^ self encodingError
+ ].
+ [
+ |t|
+ t := #[
+ "16r0102" 16rC3 " LATIN CAPITAL LETTER A WITH BREVE "
+ "16r0103" 16rE3 " LATIN SMALL LETTER A WITH BREVE "
+ "16r0104" 16rA5 " LATIN CAPITAL LETTER A WITH OGONEK "
+ "16r0105" 16rB9 " LATIN SMALL LETTER A WITH OGONEK "
+ "16r0106" 16rC6 " LATIN CAPITAL LETTER C WITH ACUTE "
+ "16r0107" 16rE6 " LATIN SMALL LETTER C WITH ACUTE "
+ "16r0108" 16r00 " invalid "
+ "16r0109" 16r00 " invalid "
+ "16r010A" 16r00 " invalid "
+ "16r010B" 16r00 " invalid "
+ "16r010C" 16rC8 " LATIN CAPITAL LETTER C WITH CARON "
+ "16r010D" 16rE8 " LATIN SMALL LETTER C WITH CARON "
+ "16r010E" 16rCF " LATIN CAPITAL LETTER D WITH CARON "
+ "16r010F" 16rEF " LATIN SMALL LETTER D WITH CARON "
+ "16r0110" 16rD0 " LATIN CAPITAL LETTER D WITH STROKE "
+ "16r0111" 16rF0 " LATIN SMALL LETTER D WITH STROKE "
+ "16r0112" 16r00 " invalid "
+ "16r0113" 16r00 " invalid "
+ "16r0114" 16r00 " invalid "
+ "16r0115" 16r00 " invalid "
+ "16r0116" 16r00 " invalid "
+ "16r0117" 16r00 " invalid "
+ "16r0118" 16rCA " LATIN CAPITAL LETTER E WITH OGONEK "
+ "16r0119" 16rEA " LATIN SMALL LETTER E WITH OGONEK "
+ "16r011A" 16rCC " LATIN CAPITAL LETTER E WITH CARON "
+ "16r011B" 16rEC " LATIN SMALL LETTER E WITH CARON "
+ "16r011C" 16r00 " invalid "
+ "16r011D" 16r00 " invalid "
+ "16r011E" 16r00 " invalid "
+ "16r011F" 16r00 " invalid "
+ "16r0120" 16r00 " invalid "
+ "16r0121" 16r00 " invalid "
+ "16r0122" 16r00 " invalid "
+ "16r0123" 16r00 " invalid "
+ "16r0124" 16r00 " invalid "
+ "16r0125" 16r00 " invalid "
+ "16r0126" 16r00 " invalid "
+ "16r0127" 16r00 " invalid "
+ "16r0128" 16r00 " invalid "
+ "16r0129" 16r00 " invalid "
+ "16r012A" 16r00 " invalid "
+ "16r012B" 16r00 " invalid "
+ "16r012C" 16r00 " invalid "
+ "16r012D" 16r00 " invalid "
+ "16r012E" 16r00 " invalid "
+ "16r012F" 16r00 " invalid "
+ "16r0130" 16r00 " invalid "
+ "16r0131" 16r00 " invalid "
+ "16r0132" 16r00 " invalid "
+ "16r0133" 16r00 " invalid "
+ "16r0134" 16r00 " invalid "
+ "16r0135" 16r00 " invalid "
+ "16r0136" 16r00 " invalid "
+ "16r0137" 16r00 " invalid "
+ "16r0138" 16r00 " invalid "
+ "16r0139" 16rC5 " LATIN CAPITAL LETTER L WITH ACUTE "
+ "16r013A" 16rE5 " LATIN SMALL LETTER L WITH ACUTE "
+ "16r013B" 16r00 " invalid "
+ "16r013C" 16r00 " invalid "
+ "16r013D" 16rBC " LATIN CAPITAL LETTER L WITH CARON "
+ "16r013E" 16rBE " LATIN SMALL LETTER L WITH CARON "
+ "16r013F" 16r00 " invalid "
+ "16r0140" 16r00 " invalid "
+ "16r0141" 16rA3 " LATIN CAPITAL LETTER L WITH STROKE "
+ "16r0142" 16rB3 " LATIN SMALL LETTER L WITH STROKE "
+ "16r0143" 16rD1 " LATIN CAPITAL LETTER N WITH ACUTE "
+ "16r0144" 16rF1 " LATIN SMALL LETTER N WITH ACUTE "
+ "16r0145" 16r00 " invalid "
+ "16r0146" 16r00 " invalid "
+ "16r0147" 16rD2 " LATIN CAPITAL LETTER N WITH CARON "
+ "16r0148" 16rF2 " LATIN SMALL LETTER N WITH CARON "
+ "16r0149" 16r00 " invalid "
+ "16r014A" 16r00 " invalid "
+ "16r014B" 16r00 " invalid "
+ "16r014C" 16r00 " invalid "
+ "16r014D" 16r00 " invalid "
+ "16r014E" 16r00 " invalid "
+ "16r014F" 16r00 " invalid "
+ "16r0150" 16rD5 " LATIN CAPITAL LETTER O WITH DOUBLE ACUTE "
+ "16r0151" 16rF5 " LATIN SMALL LETTER O WITH DOUBLE ACUTE "
+ "16r0152" 16r00 " invalid "
+ "16r0153" 16r00 " invalid "
+ "16r0154" 16rC0 " LATIN CAPITAL LETTER R WITH ACUTE "
+ "16r0155" 16rE0 " LATIN SMALL LETTER R WITH ACUTE "
+ "16r0156" 16r00 " invalid "
+ "16r0157" 16r00 " invalid "
+ "16r0158" 16rD8 " LATIN CAPITAL LETTER R WITH CARON "
+ "16r0159" 16rF8 " LATIN SMALL LETTER R WITH CARON "
+ "16r015A" 16r8C " LATIN CAPITAL LETTER S WITH ACUTE "
+ "16r015B" 16r9C " LATIN SMALL LETTER S WITH ACUTE "
+ "16r015C" 16r00 " invalid "
+ "16r015D" 16r00 " invalid "
+ "16r015E" 16rAA " LATIN CAPITAL LETTER S WITH CEDILLA "
+ "16r015F" 16rBA " LATIN SMALL LETTER S WITH CEDILLA "
+ "16r0160" 16r8A " LATIN CAPITAL LETTER S WITH CARON "
+ "16r0161" 16r9A " LATIN SMALL LETTER S WITH CARON "
+ "16r0162" 16rDE " LATIN CAPITAL LETTER T WITH CEDILLA "
+ "16r0163" 16rFE " LATIN SMALL LETTER T WITH CEDILLA "
+ "16r0164" 16r8D " LATIN CAPITAL LETTER T WITH CARON "
+ "16r0165" 16r9D " LATIN SMALL LETTER T WITH CARON "
+ "16r0166" 16r00 " invalid "
+ "16r0167" 16r00 " invalid "
+ "16r0168" 16r00 " invalid "
+ "16r0169" 16r00 " invalid "
+ "16r016A" 16r00 " invalid "
+ "16r016B" 16r00 " invalid "
+ "16r016C" 16r00 " invalid "
+ "16r016D" 16r00 " invalid "
+ "16r016E" 16rD9 " LATIN CAPITAL LETTER U WITH RING ABOVE "
+ "16r016F" 16rF9 " LATIN SMALL LETTER U WITH RING ABOVE "
+ "16r0170" 16rDB " LATIN CAPITAL LETTER U WITH DOUBLE ACUTE "
+ "16r0171" 16rFB " LATIN SMALL LETTER U WITH DOUBLE ACUTE "
+ "16r0172" 16r00 " invalid "
+ "16r0173" 16r00 " invalid "
+ "16r0174" 16r00 " invalid "
+ "16r0175" 16r00 " invalid "
+ "16r0176" 16r00 " invalid "
+ "16r0177" 16r00 " invalid "
+ "16r0178" 16r00 " invalid "
+ "16r0179" 16r8F " LATIN CAPITAL LETTER Z WITH ACUTE "
+ "16r017A" 16r9F " LATIN SMALL LETTER Z WITH ACUTE "
+ "16r017B" 16rAF " LATIN CAPITAL LETTER Z WITH DOT ABOVE "
+ "16r017C" 16rBF " LATIN SMALL LETTER Z WITH DOT ABOVE "
+ "16r017D" 16r8E " LATIN CAPITAL LETTER Z WITH CARON "
+ "16r017E" 16r9E " LATIN SMALL LETTER Z WITH CARON "
+ ] at:(unicode - 16r101).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 16r2C6 ifTrue:[
+ ^ self encodingError
+ ].
+ unicode == 16r2C7 ifTrue:[
+ ^ "16r02C7" 16r00A1 " CARON (Mandarin Chinese third tone) "
+ ].
+ unicode <= 16r2D7 ifTrue:[
+ ^ self encodingError
+ ].
+ [
+ |t|
+ t := #[
+ "16r02D8" 16rA2 " BREVE "
+ "16r02D9" 16rFF " DOT ABOVE (Mandarin Chinese light tone) "
+ "16r02DA" 16r00 " invalid "
+ "16r02DB" 16rB2 " OGONEK "
+ "16r02DC" 16r00 " invalid "
+ "16r02DD" 16rBD " DOUBLE ACUTE ACCENT "
+ ] at:(unicode - 16r2D7).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 16r2012 ifTrue:[
+ ^ self encodingError
+ ].
+ unicode <= 16r203A ifTrue:[
+ [
+ |t|
+ t := #[
+ "16r2013" 16r96 " EN DASH "
+ "16r2014" 16r97 " EM DASH "
+ "16r2015" 16r00 " invalid "
+ "16r2016" 16r00 " invalid "
+ "16r2017" 16r00 " invalid "
+ "16r2018" 16r91 " LEFT SINGLE QUOTATION MARK "
+ "16r2019" 16r92 " RIGHT SINGLE QUOTATION MARK "
+ "16r201A" 16r82 " SINGLE LOW-9 QUOTATION MARK "
+ "16r201B" 16r00 " invalid "
+ "16r201C" 16r93 " LEFT DOUBLE QUOTATION MARK "
+ "16r201D" 16r94 " RIGHT DOUBLE QUOTATION MARK "
+ "16r201E" 16r84 " DOUBLE LOW-9 QUOTATION MARK "
+ "16r201F" 16r00 " invalid "
+ "16r2020" 16r86 " DAGGER "
+ "16r2021" 16r87 " DOUBLE DAGGER "
+ "16r2022" 16r95 " BULLET "
+ "16r2023" 16r00 " invalid "
+ "16r2024" 16r00 " invalid "
+ "16r2025" 16r00 " invalid "
+ "16r2026" 16r85 " HORIZONTAL ELLIPSIS "
+ "16r2027" 16r00 " invalid "
+ "16r2028" 16r00 " invalid "
+ "16r2029" 16r00 " invalid "
+ "16r202A" 16r00 " invalid "
+ "16r202B" 16r00 " invalid "
+ "16r202C" 16r00 " invalid "
+ "16r202D" 16r00 " invalid "
+ "16r202E" 16r00 " invalid "
+ "16r202F" 16r00 " invalid "
+ "16r2030" 16r89 " PER MILLE SIGN "
+ "16r2031" 16r00 " invalid "
+ "16r2032" 16r00 " invalid "
+ "16r2033" 16r00 " invalid "
+ "16r2034" 16r00 " invalid "
+ "16r2035" 16r00 " invalid "
+ "16r2036" 16r00 " invalid "
+ "16r2037" 16r00 " invalid "
+ "16r2038" 16r00 " invalid "
+ "16r2039" 16r8B " SINGLE LEFT-POINTING ANGLE QUOTATION MARK "
+ "16r203A" 16r9B " SINGLE RIGHT-POINTING ANGLE QUOTATION MARK "
+ ] at:(unicode - 16r2012).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 16r2121 ifTrue:[
+ ^ self encodingError
+ ].
+ ^ "16r2122" 16r0099 " TRADE MARK SIGN "
+! !
+
!MS_EastEuropean class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__MS_EastEuropean.st,v 1.3 2004-03-09 21:57:23 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__MS_EastEuropean.st,v 1.4 2005-03-31 18:48:47 cg Exp $'
! !