diff -r de70efb478c4 -r c2908c7fc648 CharacterEncoderImplementations__MS_EastEuropean.st --- 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 $' ! !