CharacterEncoderImplementations__KOI8_U.st
changeset 8081 b468050174a9
child 8114 05274a80fcc4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/CharacterEncoderImplementations__KOI8_U.st	Fri Mar 05 18:28:27 2004 +0100
@@ -0,0 +1,400 @@
+"{ Encoding: utf8 }"
+
+"{ Package: 'stx:libbasic' }"
+
+"{ NameSpace: CharacterEncoderImplementations }"
+
+KOI8_R subclass:#KOI8_U
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Collections-Text-Encodings'
+!
+
+
+!KOI8_U class methodsFor:'mapping'!
+
+mapFileURL2_relativePathName
+    ^ 'KOI8-U'
+!
+
+mapping
+"
+# From: http://std.dkuug.dk/i18n/charmaps/KOI8-U
+
+<code_set_name> KOI8-U
+<comment_char> %
+<escape_char> /
+% version: 1.0
+% repertoiremap: mnemonic,ds
+%  source: RFC 2319
+
+%  Mibenum: 2088
+
+%  source: http://www.net.ua/KOI8-U/
+
+CHARMAP
+<NU>                   /x00   <U0000> NULL (NUL)
+<SH>                   /x01   <U0001> START OF HEADING (SOH)
+<SX>                   /x02   <U0002> START OF TEXT (STX)
+<EX>                   /x03   <U0003> END OF TEXT (ETX)
+<ET>                   /x04   <U0004> END OF TRANSMISSION (EOT)
+<EQ>                   /x05   <U0005> ENQUIRY (ENQ)
+<AK>                   /x06   <U0006> ACKNOWLEDGE (ACK)
+<BL>                   /x07   <U0007> BELL (BEL)
+<BS>                   /x08   <U0008> BACKSPACE (BS)
+<HT>                   /x09   <U0009> CHARACTER TABULATION (HT)
+<LF>                   /x0A   <U000A> LINE FEED (LF)
+<VT>                   /x0B   <U000B> LINE TABULATION (VT)
+<FF>                   /x0C   <U000C> FORM FEED (FF)
+<CR>                   /x0D   <U000D> CARRIAGE RETURN (CR)
+<SO>                   /x0E   <U000E> SHIFT OUT (SO)
+<SI>                   /x0F   <U000F> SHIFT IN (SI)
+<DL>                   /x10   <U0010> DATALINK ESCAPE (DLE)
+<D1>                   /x11   <U0011> DEVICE CONTROL ONE (DC1)
+<D2>                   /x12   <U0012> DEVICE CONTROL TWO (DC2)
+<D3>                   /x13   <U0013> DEVICE CONTROL THREE (DC3)
+<D4>                   /x14   <U0014> DEVICE CONTROL FOUR (DC4)
+<NK>                   /x15   <U0015> NEGATIVE ACKNOWLEDGE (NAK)
+<SY>                   /x16   <U0016> SYNCHRONOUS IDLE (SYN)
+<EB>                   /x17   <U0017> END OF TRANSMISSION BLOCK (ETB)
+<CN>                   /x18   <U0018> CANCEL (CAN)
+<EM>                   /x19   <U0019> END OF MEDIUM (EM)
+<SB>                   /x1A   <U001A> SUBSTITUTE (SUB)
+<EC>                   /x1B   <U001B> ESCAPE (ESC)
+<FS>                   /x1C   <U001C> FILE SEPARATOR (IS4)
+<GS>                   /x1D   <U001D> GROUP SEPARATOR (IS3)
+<RS>                   /x1E   <U001E> RECORD SEPARATOR (IS2)
+<US>                   /x1F   <U001F> UNIT SEPARATOR (IS1)
+<SP>                   /x20   <U0020> SPACE
+<!!>                    /x21   <U0021> EXCLAMATION MARK
+<'>                    /x22   <U0022> QUOTATION MARK
+<Nb>                   /x23   <U0023> NUMBER SIGN
+<DO>                   /x24   <U0024> DOLLAR SIGN
+<%>                    /x25   <U0025> PERCENT SIGN
+<&>                    /x26   <U0026> AMPERSAND
+<'>                    /x27   <U0027> APOSTROPHE
+<(>                    /x28   <U0028> LEFT PARENTHESIS
+<)>                    /x29   <U0029> RIGHT PARENTHESIS
+<*>                    /x2A   <U002A> ASTERISK
+<+>                    /x2B   <U002B> PLUS SIGN
+<,>                    /x2C   <U002C> COMMA
+<->                    /x2D   <U002D> HYPHEN-MINUS
+<.>                    /x2E   <U002E> FULL STOP
+<//>                   /x2F   <U002F> SOLIDUS
+<0>                    /x30   <U0030> DIGIT ZERO
+<1>                    /x31   <U0031> DIGIT ONE
+<2>                    /x32   <U0032> DIGIT TWO
+<3>                    /x33   <U0033> DIGIT THREE
+<4>                    /x34   <U0034> DIGIT FOUR
+<5>                    /x35   <U0035> DIGIT FIVE
+<6>                    /x36   <U0036> DIGIT SIX
+<7>                    /x37   <U0037> DIGIT SEVEN
+<8>                    /x38   <U0038> DIGIT EIGHT
+<9>                    /x39   <U0039> DIGIT NINE
+<:>                    /x3A   <U003A> COLON
+<;>                    /x3B   <U003B> SEMICOLON
+<<>                    /x3C   <U003C> LESS-THAN SIGN
+<=>                    /x3D   <U003D> EQUALS SIGN
+</>>                   /x3E   <U003E> GREATER-THAN SIGN
+<?>                    /x3F   <U003F> QUESTION MARK
+<At>                   /x40   <U0040> COMMERCIAL AT
+<A>                    /x41   <U0041> LATIN CAPITAL LETTER A
+<B>                    /x42   <U0042> LATIN CAPITAL LETTER B
+<C>                    /x43   <U0043> LATIN CAPITAL LETTER C
+<D>                    /x44   <U0044> LATIN CAPITAL LETTER D
+<E>                    /x45   <U0045> LATIN CAPITAL LETTER E
+<F>                    /x46   <U0046> LATIN CAPITAL LETTER F
+<G>                    /x47   <U0047> LATIN CAPITAL LETTER G
+<H>                    /x48   <U0048> LATIN CAPITAL LETTER H
+<I>                    /x49   <U0049> LATIN CAPITAL LETTER I
+<J>                    /x4A   <U004A> LATIN CAPITAL LETTER J
+<K>                    /x4B   <U004B> LATIN CAPITAL LETTER K
+<L>                    /x4C   <U004C> LATIN CAPITAL LETTER L
+<M>                    /x4D   <U004D> LATIN CAPITAL LETTER M
+<N>                    /x4E   <U004E> LATIN CAPITAL LETTER N
+<O>                    /x4F   <U004F> LATIN CAPITAL LETTER O
+<P>                    /x50   <U0050> LATIN CAPITAL LETTER P
+<Q>                    /x51   <U0051> LATIN CAPITAL LETTER Q
+<R>                    /x52   <U0052> LATIN CAPITAL LETTER R
+<S>                    /x53   <U0053> LATIN CAPITAL LETTER S
+<T>                    /x54   <U0054> LATIN CAPITAL LETTER T
+<U>                    /x55   <U0055> LATIN CAPITAL LETTER U
+<V>                    /x56   <U0056> LATIN CAPITAL LETTER V
+<W>                    /x57   <U0057> LATIN CAPITAL LETTER W
+<X>                    /x58   <U0058> LATIN CAPITAL LETTER X
+<Y>                    /x59   <U0059> LATIN CAPITAL LETTER Y
+<Z>                    /x5A   <U005A> LATIN CAPITAL LETTER Z
+<<(>                   /x5B   <U005B> LEFT SQUARE BRACKET
+<////>                 /x5C   <U005C> REVERSE SOLIDUS
+<)/>>                  /x5D   <U005D> RIGHT SQUARE BRACKET
+<'/>>                  /x5E   <U005E> CIRCUMFLEX ACCENT
+<_>                    /x5F   <U005F> LOW LINE
+<'!!>                   /x60   <U0060> GRAVE ACCENT
+<a>                    /x61   <U0061> LATIN SMALL LETTER A
+<b>                    /x62   <U0062> LATIN SMALL LETTER B
+<c>                    /x63   <U0063> LATIN SMALL LETTER C
+<d>                    /x64   <U0064> LATIN SMALL LETTER D
+<e>                    /x65   <U0065> LATIN SMALL LETTER E
+<f>                    /x66   <U0066> LATIN SMALL LETTER F
+<g>                    /x67   <U0067> LATIN SMALL LETTER G
+<h>                    /x68   <U0068> LATIN SMALL LETTER H
+<i>                    /x69   <U0069> LATIN SMALL LETTER I
+<j>                    /x6A   <U006A> LATIN SMALL LETTER J
+<k>                    /x6B   <U006B> LATIN SMALL LETTER K
+<l>                    /x6C   <U006C> LATIN SMALL LETTER L
+<m>                    /x6D   <U006D> LATIN SMALL LETTER M
+<n>                    /x6E   <U006E> LATIN SMALL LETTER N
+<o>                    /x6F   <U006F> LATIN SMALL LETTER O
+<p>                    /x70   <U0070> LATIN SMALL LETTER P
+<q>                    /x71   <U0071> LATIN SMALL LETTER Q
+<r>                    /x72   <U0072> LATIN SMALL LETTER R
+<s>                    /x73   <U0073> LATIN SMALL LETTER S
+<t>                    /x74   <U0074> LATIN SMALL LETTER T
+<u>                    /x75   <U0075> LATIN SMALL LETTER U
+<v>                    /x76   <U0076> LATIN SMALL LETTER V
+<w>                    /x77   <U0077> LATIN SMALL LETTER W
+<x>                    /x78   <U0078> LATIN SMALL LETTER X
+<y>                    /x79   <U0079> LATIN SMALL LETTER Y
+<z>                    /x7A   <U007A> LATIN SMALL LETTER Z
+<(!!>                   /x7B   <U007B> LEFT CURLY BRACKET
+<!!!!>                   /x7C   <U007C> VERTICAL LINE
+<!!)>                   /x7D   <U007D> RIGHT CURLY BRACKET
+<'?>                   /x7E   <U007E> TILDE
+<DT>                   /x7F   <U007F> DELETE (DEL)
+<hh>                   /x80   <U2500> BOX DRAWINGS LIGHT HORIZONTAL
+<vv>                   /x81   <U2502> BOX DRAWINGS LIGHT VERTICAL
+<dr>                   /x82   <U250C> BOX DRAWINGS LIGHT DOWN AND RIGHT
+<dl>                   /x83   <U2510> BOX DRAWINGS LIGHT DOWN AND LEFT
+<ur>                   /x84   <U2514> BOX DRAWINGS LIGHT UP AND RIGHT
+<ul>                   /x85   <U2518> BOX DRAWINGS LIGHT UP AND LEFT
+<vr>                   /x86   <U251C> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+<vl>                   /x87   <U2524> BOX DRAWINGS LIGHT VERTICAL AND LEFT
+<dh>                   /x88   <U252C> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+<uh>                   /x89   <U2534> BOX DRAWINGS LIGHT UP AND HORIZONTAL
+<vh>                   /x8A   <U253C> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+<TB>                   /x8B   <U2580> UPPER HALF BLOCK
+<LB>                   /x8C   <U2584> LOWER HALF BLOCK
+<FB>                   /x8D   <U2588> FULL BLOCK
+<lB>                   /x8E   <U258C> LEFT HALF BLOCK
+<RB>                   /x8F   <U2590> RIGHT HALF BLOCK
+<.S>                   /x90   <U2591> LIGHT SHADE
+<:S>                   /x91   <U2592> MEDIUM SHADE
+<?S>                   /x92   <U2593> DARK SHADE
+<Iu>                   /x93   <U2320> TOP HALF INTEGRAL
+<fS>                   /x94   <U25A0> BLACK SQUARE
+<Sb>                   /x95   <U2219> BULLET OPERATOR
+<RT>                   /x96   <U221A> SQUARE ROOT
+<?2>                   /x97   <U2248> ALMOST EQUAL TO
+<=<>                   /x98   <U2264> LESS-THAN OR EQUAL TO
+</>=>                  /x99   <U2265> GREATER-THAN OR EQUAL TO
+<NS>                   /x9A   <U00A0> NO-BREAK SPACE
+<Il>                   /x9B   <U2321> BOTTOM HALF INTEGRAL
+<DG>                   /x9C   <U00B0> DEGREE SIGN
+<2S>                   /x9D   <U00B2> SUPERSCRIPT TWO
+<.M>                   /x9E   <U00B7> MIDDLE DOT
+<-:>                   /x9F   <U00F7> DIVISION SIGN
+<HH>                   /xA0   <U2550> BOX DRAWINGS DOUBLE HORIZONTAL
+<VV>                   /xA1   <U2551> BOX DRAWINGS DOUBLE VERTICAL
+<dR>                   /xA2   <U2552> BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+<io>                   /xA3   <U0451> CYRILLIC SMALL LETTER IO
+<ie>                   /xA4   <U0454> CYRILLIC SMALL LETTER UKRAINIAN IE
+<DR>                   /xA5   <U2554> BOX DRAWINGS DOUBLE DOWN AND RIGHT
+<ii>                   /xA6   <U0456> CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+<yi>                   /xA7   <U0457> CYRILLIC SMALL LETTER YI (Ukrainian)
+<LD>                   /xA8   <U2557> BOX DRAWINGS DOUBLE DOWN AND LEFT
+<uR>                   /xA9   <U2558> BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+<Ur>                   /xAA   <U2559> BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+<UR>                   /xAB   <U255A> BOX DRAWINGS DOUBLE UP AND RIGHT
+<uL>                   /xAC   <U255B> BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+<g3>                   /xAD   <U0491> CYRILLIC SMALL LETTER GHE WITH UPTURN
+<UL>                   /xAE   <U255D> BOX DRAWINGS DOUBLE UP AND LEFT
+<vR>                   /xAF   <U255E> BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+<Vr>                   /xB0   <U255F> BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+<VR>                   /xB1   <U2560> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+<vL>                   /xB2   <U2561> BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+<IO>                   /xB3   <U0401> CYRILLIC CAPITAL LETTER IO
+<IE>                   /xB4   <U0404> CYRILLIC CAPITAL LETTER UKRAINIAN IE
+<VL>                   /xB5   <U2563> BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+<II>                   /xB6   <U0406> CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+<YI>                   /xB7   <U0407> CYRILLIC CAPITAL LETTER YI (Ukrainian)
+<DH>                   /xB8   <U2566> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+<uH>                   /xB9   <U2567> BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+<Uh>                   /xBA   <U2568> BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+<UH>                   /xBB   <U2569> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+<vH>                   /xBC   <U256A> BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+<G3>                   /xBD   <U0490> CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+<VH>                   /xBE   <U256C> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+<Co>                   /xBF   <U00A9> COPYRIGHT SIGN
+<ju>                   /xC0   <U044E> CYRILLIC SMALL LETTER YU
+<a=>                   /xC1   <U0430> CYRILLIC SMALL LETTER A
+<b=>                   /xC2   <U0431> CYRILLIC SMALL LETTER BE
+<c=>                   /xC3   <U0446> CYRILLIC SMALL LETTER TSE
+<d=>                   /xC4   <U0434> CYRILLIC SMALL LETTER DE
+<e=>                   /xC5   <U0435> CYRILLIC SMALL LETTER IE
+<f=>                   /xC6   <U0444> CYRILLIC SMALL LETTER EF
+<g=>                   /xC7   <U0433> CYRILLIC SMALL LETTER GHE
+<h=>                   /xC8   <U0445> CYRILLIC SMALL LETTER HA
+<i=>                   /xC9   <U0438> CYRILLIC SMALL LETTER I
+<j=>                   /xCA   <U0439> CYRILLIC SMALL LETTER SHORT I
+<k=>                   /xCB   <U043A> CYRILLIC SMALL LETTER KA
+<l=>                   /xCC   <U043B> CYRILLIC SMALL LETTER EL
+<m=>                   /xCD   <U043C> CYRILLIC SMALL LETTER EM
+<n=>                   /xCE   <U043D> CYRILLIC SMALL LETTER EN
+<o=>                   /xCF   <U043E> CYRILLIC SMALL LETTER O
+<p=>                   /xD0   <U043F> CYRILLIC SMALL LETTER PE
+<ja>                   /xD1   <U044F> CYRILLIC SMALL LETTER YA
+<r=>                   /xD2   <U0440> CYRILLIC SMALL LETTER ER
+<s=>                   /xD3   <U0441> CYRILLIC SMALL LETTER ES
+<t=>                   /xD4   <U0442> CYRILLIC SMALL LETTER TE
+<u=>                   /xD5   <U0443> CYRILLIC SMALL LETTER U
+<z%>                   /xD6   <U0436> CYRILLIC SMALL LETTER ZHE
+<v=>                   /xD7   <U0432> CYRILLIC SMALL LETTER VE
+<%'>                   /xD8   <U044C> CYRILLIC SMALL LETTER SOFT SIGN
+<y=>                   /xD9   <U044B> CYRILLIC SMALL LETTER YERU
+<z=>                   /xDA   <U0437> CYRILLIC SMALL LETTER ZE
+<s%>                   /xDB   <U0448> CYRILLIC SMALL LETTER SHA
+<je>                   /xDC   <U044D> CYRILLIC SMALL LETTER E
+<sc>                   /xDD   <U0449> CYRILLIC SMALL LETTER SHCHA
+<c%>                   /xDE   <U0447> CYRILLIC SMALL LETTER CHE
+<='>                   /xDF   <U044A> CYRILLIC SMALL LETTER HARD SIGN
+<JU>                   /xE0   <U042E> CYRILLIC CAPITAL LETTER YU
+<A=>                   /xE1   <U0410> CYRILLIC CAPITAL LETTER A
+<B=>                   /xE2   <U0411> CYRILLIC CAPITAL LETTER BE
+<C=>                   /xE3   <U0426> CYRILLIC CAPITAL LETTER TSE
+<D=>                   /xE4   <U0414> CYRILLIC CAPITAL LETTER DE
+<E=>                   /xE5   <U0415> CYRILLIC CAPITAL LETTER IE
+<F=>                   /xE6   <U0424> CYRILLIC CAPITAL LETTER EF
+<G=>                   /xE7   <U0413> CYRILLIC CAPITAL LETTER GHE
+<H=>                   /xE8   <U0425> CYRILLIC CAPITAL LETTER HA
+<I=>                   /xE9   <U0418> CYRILLIC CAPITAL LETTER I
+<J=>                   /xEA   <U0419> CYRILLIC CAPITAL LETTER SHORT I
+<K=>                   /xEB   <U041A> CYRILLIC CAPITAL LETTER KA
+<L=>                   /xEC   <U041B> CYRILLIC CAPITAL LETTER EL
+<M=>                   /xED   <U041C> CYRILLIC CAPITAL LETTER EM
+<N=>                   /xEE   <U041D> CYRILLIC CAPITAL LETTER EN
+<O=>                   /xEF   <U041E> CYRILLIC CAPITAL LETTER O
+<P=>                   /xF0   <U041F> CYRILLIC CAPITAL LETTER PE
+<JA>                   /xF1   <U042F> CYRILLIC CAPITAL LETTER YA
+<R=>                   /xF2   <U0420> CYRILLIC CAPITAL LETTER ER
+<S=>                   /xF3   <U0421> CYRILLIC CAPITAL LETTER ES
+<T=>                   /xF4   <U0422> CYRILLIC CAPITAL LETTER TE
+<U=>                   /xF5   <U0423> CYRILLIC CAPITAL LETTER U
+<Z%>                   /xF6   <U0416> CYRILLIC CAPITAL LETTER ZHE
+<V=>                   /xF7   <U0412> CYRILLIC CAPITAL LETTER VE
+<%'>                   /xF8   <U042C> CYRILLIC CAPITAL LETTER SOFT SIGN
+<Y=>                   /xF9   <U042B> CYRILLIC CAPITAL LETTER YERU
+<Z=>                   /xFA   <U0417> CYRILLIC CAPITAL LETTER ZE
+<S%>                   /xFB   <U0428> CYRILLIC CAPITAL LETTER SHA
+<JE>                   /xFC   <U042D> CYRILLIC CAPITAL LETTER E
+<Sc>                   /xFD   <U0429> CYRILLIC CAPITAL LETTER SHCHA
+<C%>                   /xFE   <U0427> CYRILLIC CAPITAL LETTER CHE
+<='>                   /xFF   <U042A> CYRILLIC CAPITAL LETTER HARD SIGN
+END CHARMAP
+
+"
+! !
+
+!KOI8_U class methodsFor:'queries'!
+
+namesOfEncoding
+    ^ #( #'koi8-u' )
+!
+
+userFriendlyNameOfEncoding
+    ^ 'Cyrillic (Ukraine)'
+! !
+
+!KOI8_U methodsFor:'encoding & decoding'!
+
+decode:codeArg
+    "Automagically generated by generateCode - do not modify.
+     Decode from my encoding into unicode."
+
+    |code "{ Class: SmallInteger }"|
+
+    code := codeArg.
+    code > 16rA3 ifTrue:[
+        code <= 16rBD ifTrue:[
+            code == 16rA4 ifTrue:[
+                ^  "16r00A4" 16r0454 " CYRILLIC SMALL LETTER UKRAINIAN IE " 
+            ].
+            code == 16rA6 ifTrue:[
+                ^  "16r00A6" 16r0456 " CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I " 
+            ].
+            code == 16rA7 ifTrue:[
+                ^  "16r00A7" 16r0457 " CYRILLIC SMALL LETTER YI (Ukrainian) " 
+            ].
+            code == 16rAD ifTrue:[
+                ^  "16r00AD" 16r0491 " CYRILLIC SMALL LETTER GHE WITH UPTURN " 
+            ].
+            code == 16rB4 ifTrue:[
+                ^  "16r00B4" 16r0404 " CYRILLIC CAPITAL LETTER UKRAINIAN IE " 
+            ].
+            code == 16rB6 ifTrue:[
+                ^  "16r00B6" 16r0406 " CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I " 
+            ].
+            code == 16rB7 ifTrue:[
+                ^  "16r00B7" 16r0407 " CYRILLIC CAPITAL LETTER YI (Ukrainian) " 
+            ].
+            code == 16rBD ifTrue:[
+                ^  "16r00BD" 16r0490 " CYRILLIC CAPITAL LETTER GHE WITH UPTURN " 
+            ].
+        ].
+    ].
+    ^ super decode:code
+!
+
+encode:unicodeArg
+    "Automagically generated by generateCode - do not modify.
+     Encode from unicode into my encoding."
+
+    |unicode "{ Class: SmallInteger }"|
+
+    unicode := unicodeArg.
+    unicode > 16r403 ifTrue:[
+        unicode <= 16r256B ifTrue:[
+            ((unicode == 16r2553)
+             or:[(unicode == 16r255C)
+             or:[(unicode == 16r2564)
+             or:[(unicode == 16r2565)
+             or:[(unicode == 16r2555)
+             or:[(unicode == 16r2556)
+             or:[(unicode == 16r2562)
+             or:[(unicode == 16r256B)]]]]]]]) ifTrue:[
+                ^ self decodingError.
+            ].
+            unicode == 16r404 ifTrue:[
+                ^  "16r0404" 16r00B4 " CYRILLIC CAPITAL LETTER UKRAINIAN IE " 
+            ].
+            unicode == 16r406 ifTrue:[
+                ^  "16r0406" 16r00B6 " CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I " 
+            ].
+            unicode == 16r407 ifTrue:[
+                ^  "16r0407" 16r00B7 " CYRILLIC CAPITAL LETTER YI (Ukrainian) " 
+            ].
+            unicode == 16r454 ifTrue:[
+                ^  "16r0454" 16r00A4 " CYRILLIC SMALL LETTER UKRAINIAN IE " 
+            ].
+            unicode == 16r456 ifTrue:[
+                ^  "16r0456" 16r00A6 " CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I " 
+            ].
+            unicode == 16r457 ifTrue:[
+                ^  "16r0457" 16r00A7 " CYRILLIC SMALL LETTER YI (Ukrainian) " 
+            ].
+            unicode == 16r490 ifTrue:[
+                ^  "16r0490" 16r00BD " CYRILLIC CAPITAL LETTER GHE WITH UPTURN " 
+            ].
+            unicode == 16r491 ifTrue:[
+                ^  "16r0491" 16r00AD " CYRILLIC SMALL LETTER GHE WITH UPTURN " 
+            ].
+        ].
+    ].
+    ^ super encode:unicode
+! !
+
+!KOI8_U class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__KOI8_U.st,v 1.1 2004-03-05 17:26:24 cg Exp $'
+! !