--- a/CharacterEncoderImplementations__MS_Ansi.st Thu Mar 31 20:21:44 2005 +0200
+++ b/CharacterEncoderImplementations__MS_Ansi.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
+"
+ Microsoft ANSI
+
+ [see with:]
+ CharacterEncoderImplementations::MS_Ansi showCharacterSet
+
+ [author:]
+ Claus Gittinger
+"
! !
!MS_Ansi class methodsFor:'mapping'!
mapFileURL2_relativePathName
^ 'CP1252'
+
+ "
+ self generateCode
+ "
!
mapping
@@ -576,5 +592,5 @@
!MS_Ansi class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__MS_Ansi.st,v 1.4 2004-03-09 21:58:08 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__MS_Ansi.st,v 1.5 2005-03-31 18:48:41 cg Exp $'
! !
--- a/CharacterEncoderImplementations__MS_Arabic.st Thu Mar 31 20:21:44 2005 +0200
+++ b/CharacterEncoderImplementations__MS_Arabic.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
+"
+ CP1256 / Microsoft Arabic
+
+ [see with:]
+ CharacterEncoderImplementations::MS_Arabic showCharacterSet
+
+ [author:]
+ Claus Gittinger
+"
! !
!MS_Arabic class methodsFor:'mapping'!
mapFileURL2_relativePathName
^ 'CP1256'
+
+ "
+ self generateCode
+ "
!
mapping
@@ -823,5 +839,5 @@
!MS_Arabic class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__MS_Arabic.st,v 1.3 2004-03-09 22:01:11 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__MS_Arabic.st,v 1.4 2005-03-31 18:48:44 cg Exp $'
! !
--- a/CharacterEncoderImplementations__MS_Baltic.st Thu Mar 31 20:21:44 2005 +0200
+++ b/CharacterEncoderImplementations__MS_Baltic.st Thu Mar 31 20:49:01 2005 +0200
@@ -35,16 +35,822 @@
other person. No title to or ownership of the software is
hereby transferred.
"
+!
+
+documentation
+"
+ CP1257 / Microsoft Baltic
+
+ [see with:]
+ CharacterEncoderImplementations::MS_Baltic showCharacterSet
+
+ [author:]
+ Claus Gittinger
+"
! !
!MS_Baltic class methodsFor:'mapping'!
mapFileURL2_relativePathName
^ 'CP1257'
+
+ "
+ self generateCode
+ "
+!
+
+mapping
+"
+# From: http://std.dkuug.dk/i18n/charmaps/CP1257
+
+<code_set_name> CP1257
+<comment_char> %
+<escape_char> /
+% version: 1.0
+% repertoiremap: mnemonic,ds
+% source: CEN/TC304 N283
+
+% alias WINBALTRIM
+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)
+<.9> /x82 <U201A> SINGLE LOW-9 QUOTATION MARK
+<:9> /x84 <U201E> DOUBLE LOW-9 QUOTATION MARK
+<.3> /x85 <U2026> HORIZONTAL ELLIPSIS
+<//-> /x86 <U2020> DAGGER
+<//=> /x87 <U2021> DOUBLE DAGGER
+<%0> /x89 <U2030> PER MILLE SIGN
+<<1> /x8B <U2039> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+<'6> /x91 <U2018> LEFT SINGLE QUOTATION MARK
+<'9> /x92 <U2019> RIGHT SINGLE QUOTATION MARK
+<'6> /x93 <U201C> LEFT DOUBLE QUOTATION MARK
+<'9> /x94 <U201D> RIGHT DOUBLE QUOTATION MARK
+<sb> /x95 <U2022> BULLET
+<-N> /x96 <U2013> EN DASH
+<-M> /x97 <U2014> EM DASH
+<TM> /x99 <U2122> TRADE MARK SIGN
+</>1> /x9B <U203A> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+<NS> /xA0 <U00A0> NO-BREAK SPACE
+<Ct> /xA2 <U00A2> CENT SIGN
+<Pd> /xA3 <U00A3> POUND SIGN
+<Cu> /xA4 <U00A4> CURRENCY SIGN
+<BB> /xA6 <U00A6> BROKEN BAR
+<SE> /xA7 <U00A7> SECTION SIGN
+<O//> /xA8 <U00D8> LATIN CAPITAL LETTER O WITH STROKE
+<Co> /xA9 <U00A9> COPYRIGHT SIGN
+<R,> /xAA <U0156> LATIN CAPITAL LETTER R WITH CEDILLA
+<<<> /xAB <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+<NO> /xAC <U00AC> NOT SIGN
+<--> /xAD <U00AD> SOFT HYPHEN
+<Rg> /xAE <U00AE> REGISTERED SIGN
+<AE> /xAF <U00C6> LATIN CAPITAL LETTER AE
+<DG> /xB0 <U00B0> DEGREE SIGN
+<+-> /xB1 <U00B1> PLUS-MINUS SIGN
+<2S> /xB2 <U00B2> SUPERSCRIPT TWO
+<3S> /xB3 <U00B3> SUPERSCRIPT THREE
+<My> /xB5 <U00B5> MICRO SIGN
+<PI> /xB6 <U00B6> PILCROW SIGN
+<.M> /xB7 <U00B7> MIDDLE DOT
+<o//> /xB8 <U00F8> LATIN SMALL LETTER O WITH STROKE
+<1S> /xB9 <U00B9> SUPERSCRIPT ONE
+<r,> /xBA <U0157> LATIN SMALL LETTER R WITH CEDILLA
+</>/>> /xBB <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+<14> /xBC <U00BC> VULGAR FRACTION ONE QUARTER
+<12> /xBD <U00BD> VULGAR FRACTION ONE HALF
+<34> /xBE <U00BE> VULGAR FRACTION THREE QUARTERS
+<ae> /xBF <U00E6> LATIN SMALL LETTER AE
+<A;> /xC0 <U0104> LATIN CAPITAL LETTER A WITH OGONEK
+<I;> /xC1 <U012E> LATIN CAPITAL LETTER I WITH OGONEK
+<A-> /xC2 <U0100> LATIN CAPITAL LETTER A WITH MACRON
+<C'> /xC3 <U0106> LATIN CAPITAL LETTER C WITH ACUTE
+<A:> /xC4 <U00C4> LATIN CAPITAL LETTER A WITH DIAERESIS
+<AA> /xC5 <U00C5> LATIN CAPITAL LETTER A WITH RING ABOVE
+<E;> /xC6 <U0118> LATIN CAPITAL LETTER E WITH OGONEK
+<E-> /xC7 <U0112> LATIN CAPITAL LETTER E WITH MACRON
+<C<> /xC8 <U010C> LATIN CAPITAL LETTER C WITH CARON
+<E'> /xC9 <U00C9> LATIN CAPITAL LETTER E WITH ACUTE
+<Z'> /xCA <U0179> LATIN CAPITAL LETTER Z WITH ACUTE
+<E.> /xCB <U0116> LATIN CAPITAL LETTER E WITH DOT ABOVE
+<G,> /xCC <U0122> LATIN CAPITAL LETTER G WITH CEDILLA
+<K,> /xCD <U0136> LATIN CAPITAL LETTER K WITH CEDILLA
+<I-> /xCE <U012A> LATIN CAPITAL LETTER I WITH MACRON
+<L,> /xCF <U013B> LATIN CAPITAL LETTER L WITH CEDILLA
+<S<> /xD0 <U0160> LATIN CAPITAL LETTER S WITH CARON
+<N'> /xD1 <U0143> LATIN CAPITAL LETTER N WITH ACUTE
+<N,> /xD2 <U0145> LATIN CAPITAL LETTER N WITH CEDILLA
+<O'> /xD3 <U00D3> LATIN CAPITAL LETTER O WITH ACUTE
+<O-> /xD4 <U014C> LATIN CAPITAL LETTER O WITH MACRON
+<O?> /xD5 <U00D5> LATIN CAPITAL LETTER O WITH TILDE
+<O:> /xD6 <U00D6> LATIN CAPITAL LETTER O WITH DIAERESIS
+<*X> /xD7 <U00D7> MULTIPLICATION SIGN
+<U;> /xD8 <U0172> LATIN CAPITAL LETTER U WITH OGONEK
+<L//> /xD9 <U0141> LATIN CAPITAL LETTER L WITH STROKE
+<S'> /xDA <U015A> LATIN CAPITAL LETTER S WITH ACUTE
+<U-> /xDB <U016A> LATIN CAPITAL LETTER U WITH MACRON
+<U:> /xDC <U00DC> LATIN CAPITAL LETTER U WITH DIAERESIS
+<Z.> /xDD <U017B> LATIN CAPITAL LETTER Z WITH DOT ABOVE
+<Z<> /xDE <U017D> LATIN CAPITAL LETTER Z WITH CARON
+<ss> /xDF <U00DF> LATIN SMALL LETTER SHARP S (German)
+<a;> /xE0 <U0105> LATIN SMALL LETTER A WITH OGONEK
+<i;> /xE1 <U012F> LATIN SMALL LETTER I WITH OGONEK
+<a-> /xE2 <U0101> LATIN SMALL LETTER A WITH MACRON
+<c'> /xE3 <U0107> LATIN SMALL LETTER C WITH ACUTE
+<a:> /xE4 <U00E4> LATIN SMALL LETTER A WITH DIAERESIS
+<aa> /xE5 <U00E5> LATIN SMALL LETTER A WITH RING ABOVE
+<e;> /xE6 <U0119> LATIN SMALL LETTER E WITH OGONEK
+<e-> /xE7 <U0113> LATIN SMALL LETTER E WITH MACRON
+<c<> /xE8 <U010D> LATIN SMALL LETTER C WITH CARON
+<e'> /xE9 <U00E9> LATIN SMALL LETTER E WITH ACUTE
+<z'> /xEA <U017A> LATIN SMALL LETTER Z WITH ACUTE
+<e.> /xEB <U0117> LATIN SMALL LETTER E WITH DOT ABOVE
+<g,> /xEC <U0123> LATIN SMALL LETTER G WITH CEDILLA
+<k,> /xED <U0137> LATIN SMALL LETTER K WITH CEDILLA
+<i-> /xEE <U012B> LATIN SMALL LETTER I WITH MACRON
+<l,> /xEF <U013C> LATIN SMALL LETTER L WITH CEDILLA
+<s<> /xF0 <U0161> LATIN SMALL LETTER S WITH CARON
+<n'> /xF1 <U0144> LATIN SMALL LETTER N WITH ACUTE
+<n,> /xF2 <U0146> LATIN SMALL LETTER N WITH CEDILLA
+<o'> /xF3 <U00F3> LATIN SMALL LETTER O WITH ACUTE
+<o-> /xF4 <U014D> LATIN SMALL LETTER O WITH MACRON
+<o?> /xF5 <U00F5> LATIN SMALL LETTER O WITH TILDE
+<o:> /xF6 <U00F6> LATIN SMALL LETTER O WITH DIAERESIS
+<-:> /xF7 <U00F7> DIVISION SIGN
+<u;> /xF8 <U0173> LATIN SMALL LETTER U WITH OGONEK
+<l//> /xF9 <U0142> LATIN SMALL LETTER L WITH STROKE
+<s'> /xFA <U015B> LATIN SMALL LETTER S WITH ACUTE
+<u-> /xFB <U016B> LATIN SMALL LETTER U WITH MACRON
+<u:> /xFC <U00FC> LATIN SMALL LETTER U WITH DIAERESIS
+<z.> /xFD <U017C> LATIN SMALL LETTER Z WITH DOT ABOVE
+<z<> /xFE <U017E> LATIN SMALL LETTER Z WITH CARON
+<NUL> /x00 <U0000> NUL
+<SOH> /x01 <U0001> START OF HEADING (SOH)
+<STX> /x02 <U0002> START OF TEXT (STX)
+<ETX> /x03 <U0003> END OF TEXT (ETX)
+<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
+<ENQ> /x05 <U0005> ENQUIRY (ENQ)
+<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
+<alert> /x07 <U0007> BELL (BEL)
+<BEL> /x07 <U0007> BELL (BEL)
+<backspace> /x08 <U0008> BACKSPACE (BS)
+<tab> /x09 <U0009> CHARACTER TABULATION (HT)
+<newline> /x0A <U000A> LINE FEED (LF)
+<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
+<form-feed> /x0C <U000C> FORM FEED (FF)
+<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
+<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
+<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
+<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
+<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
+<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
+<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
+<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
+<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
+<CAN> /x18 <U0018> CANCEL (CAN)
+<SUB> /x1A <U001A> SUBSTITUTE (SUB)
+<ESC> /x1B <U001B> ESCAPE (ESC)
+<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
+<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
+<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
+<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
+<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
+<DEL> /x7F <U007F> DELETE (DEL)
+<space> /x20 <U0020> SPACE
+<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
+<quotation-mark> /x22 <U0022> QUOTATION MARK
+<number-sign> /x23 <U0023> NUMBER SIGN
+<dollar-sign> /x24 <U0024> DOLLAR SIGN
+<percent-sign> /x25 <U0025> PERCENT SIGN
+<ampersand> /x26 <U0026> AMPERSAND
+<apostrophe> /x27 <U0027> APOSTROPHE
+<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
+<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
+<asterisk> /x2A <U002A> ASTERISK
+<plus-sign> /x2B <U002B> PLUS SIGN
+<comma> /x2C <U002C> COMMA
+<hyphen> /x2D <U002D> HYPHEN-MINUS
+<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
+<period> /x2E <U002E> FULL STOP
+<full-stop> /x2E <U002E> FULL STOP
+<slash> /x2F <U002F> SOLIDUS
+<solidus> /x2F <U002F> SOLIDUS
+<zero> /x30 <U0030> DIGIT ZERO
+<one> /x31 <U0031> DIGIT ONE
+<two> /x32 <U0032> DIGIT TWO
+<three> /x33 <U0033> DIGIT THREE
+<four> /x34 <U0034> DIGIT FOUR
+<five> /x35 <U0035> DIGIT FIVE
+<six> /x36 <U0036> DIGIT SIX
+<seven> /x37 <U0037> DIGIT SEVEN
+<eight> /x38 <U0038> DIGIT EIGHT
+<nine> /x39 <U0039> DIGIT NINE
+<colon> /x3A <U003A> COLON
+<semicolon> /x3B <U003B> SEMICOLON
+<less-than-sign> /x3C <U003C> LESS-THAN SIGN
+<equals-sign> /x3D <U003D> EQUALS SIGN
+<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
+<question-mark> /x3F <U003F> QUESTION MARK
+<commercial-at> /x40 <U0040> COMMERCIAL AT
+<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
+<backslash> /x5C <U005C> REVERSE SOLIDUS
+<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
+<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
+<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
+<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
+<underscore> /x5F <U005F> LOW LINE
+<low-line> /x5F <U005F> LOW LINE
+<grave-accent> /x60 <U0060> GRAVE ACCENT
+<left-brace> /x7B <U007B> LEFT CURLY BRACKET
+<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
+<vertical-line> /x7C <U007C> VERTICAL LINE
+<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
+<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
+<tilde> /x7E <U007E> TILDE
+END CHARMAP
+
+"
+! !
+
+!MS_Baltic 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 > 16rFE 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" 16r0000 " invalid "
+ "16r008B" 16r2039 " SINGLE LEFT-POINTING ANGLE QUOTATION MARK "
+ "16r008C" 16r0000 " invalid "
+ "16r008D" 16r0000 " invalid "
+ "16r008E" 16r0000 " invalid "
+ "16r008F" 16r0000 " invalid "
+ "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" 16r0000 " invalid "
+ "16r009B" 16r203A " SINGLE RIGHT-POINTING ANGLE QUOTATION MARK "
+ "16r009C" 16r0000 " invalid "
+ "16r009D" 16r0000 " invalid "
+ "16r009E" 16r0000 " invalid "
+ "16r009F" 16r0000 " invalid "
+ "16r00A0" 16r00A0 " NO-BREAK SPACE "
+ "16r00A1" 16r0000 " invalid "
+ "16r00A2" 16r00A2 " CENT SIGN "
+ "16r00A3" 16r00A3 " POUND SIGN "
+ "16r00A4" 16r00A4 " CURRENCY SIGN "
+ "16r00A5" 16r0000 " invalid "
+ "16r00A6" 16r00A6 " BROKEN BAR "
+ "16r00A7" 16r00A7 " SECTION SIGN "
+ "16r00A8" 16r00D8 " LATIN CAPITAL LETTER O WITH STROKE "
+ "16r00A9" 16r00A9 " COPYRIGHT SIGN "
+ "16r00AA" 16r0156 " LATIN CAPITAL LETTER R WITH CEDILLA "
+ "16r00AB" 16r00AB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00AC" 16r00AC " NOT SIGN "
+ "16r00AD" 16r00AD " SOFT HYPHEN "
+ "16r00AE" 16r00AE " REGISTERED SIGN "
+ "16r00AF" 16r00C6 " LATIN CAPITAL LETTER AE "
+ "16r00B0" 16r00B0 " DEGREE SIGN "
+ "16r00B1" 16r00B1 " PLUS-MINUS SIGN "
+ "16r00B2" 16r00B2 " SUPERSCRIPT TWO "
+ "16r00B3" 16r00B3 " SUPERSCRIPT THREE "
+ "16r00B4" 16r0000 " invalid "
+ "16r00B5" 16r00B5 " MICRO SIGN "
+ "16r00B6" 16r00B6 " PILCROW SIGN "
+ "16r00B7" 16r00B7 " MIDDLE DOT "
+ "16r00B8" 16r00F8 " LATIN SMALL LETTER O WITH STROKE "
+ "16r00B9" 16r00B9 " SUPERSCRIPT ONE "
+ "16r00BA" 16r0157 " LATIN SMALL LETTER R WITH CEDILLA "
+ "16r00BB" 16r00BB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00BC" 16r00BC " VULGAR FRACTION ONE QUARTER "
+ "16r00BD" 16r00BD " VULGAR FRACTION ONE HALF "
+ "16r00BE" 16r00BE " VULGAR FRACTION THREE QUARTERS "
+ "16r00BF" 16r00E6 " LATIN SMALL LETTER AE "
+ "16r00C0" 16r0104 " LATIN CAPITAL LETTER A WITH OGONEK "
+ "16r00C1" 16r012E " LATIN CAPITAL LETTER I WITH OGONEK "
+ "16r00C2" 16r0100 " LATIN CAPITAL LETTER A WITH MACRON "
+ "16r00C3" 16r0106 " LATIN CAPITAL LETTER C WITH ACUTE "
+ "16r00C4" 16r00C4 " LATIN CAPITAL LETTER A WITH DIAERESIS "
+ "16r00C5" 16r00C5 " LATIN CAPITAL LETTER A WITH RING ABOVE "
+ "16r00C6" 16r0118 " LATIN CAPITAL LETTER E WITH OGONEK "
+ "16r00C7" 16r0112 " LATIN CAPITAL LETTER E WITH MACRON "
+ "16r00C8" 16r010C " LATIN CAPITAL LETTER C WITH CARON "
+ "16r00C9" 16r00C9 " LATIN CAPITAL LETTER E WITH ACUTE "
+ "16r00CA" 16r0179 " LATIN CAPITAL LETTER Z WITH ACUTE "
+ "16r00CB" 16r0116 " LATIN CAPITAL LETTER E WITH DOT ABOVE "
+ "16r00CC" 16r0122 " LATIN CAPITAL LETTER G WITH CEDILLA "
+ "16r00CD" 16r0136 " LATIN CAPITAL LETTER K WITH CEDILLA "
+ "16r00CE" 16r012A " LATIN CAPITAL LETTER I WITH MACRON "
+ "16r00CF" 16r013B " LATIN CAPITAL LETTER L WITH CEDILLA "
+ "16r00D0" 16r0160 " LATIN CAPITAL LETTER S WITH CARON "
+ "16r00D1" 16r0143 " LATIN CAPITAL LETTER N WITH ACUTE "
+ "16r00D2" 16r0145 " LATIN CAPITAL LETTER N WITH CEDILLA "
+ "16r00D3" 16r00D3 " LATIN CAPITAL LETTER O WITH ACUTE "
+ "16r00D4" 16r014C " LATIN CAPITAL LETTER O WITH MACRON "
+ "16r00D5" 16r00D5 " LATIN CAPITAL LETTER O WITH TILDE "
+ "16r00D6" 16r00D6 " LATIN CAPITAL LETTER O WITH DIAERESIS "
+ "16r00D7" 16r00D7 " MULTIPLICATION SIGN "
+ "16r00D8" 16r0172 " LATIN CAPITAL LETTER U WITH OGONEK "
+ "16r00D9" 16r0141 " LATIN CAPITAL LETTER L WITH STROKE "
+ "16r00DA" 16r015A " LATIN CAPITAL LETTER S WITH ACUTE "
+ "16r00DB" 16r016A " LATIN CAPITAL LETTER U WITH MACRON "
+ "16r00DC" 16r00DC " LATIN CAPITAL LETTER U WITH DIAERESIS "
+ "16r00DD" 16r017B " LATIN CAPITAL LETTER Z WITH DOT ABOVE "
+ "16r00DE" 16r017D " LATIN CAPITAL LETTER Z WITH CARON "
+ "16r00DF" 16r00DF " LATIN SMALL LETTER SHARP S (German) "
+ "16r00E0" 16r0105 " LATIN SMALL LETTER A WITH OGONEK "
+ "16r00E1" 16r012F " LATIN SMALL LETTER I WITH OGONEK "
+ "16r00E2" 16r0101 " LATIN SMALL LETTER A WITH MACRON "
+ "16r00E3" 16r0107 " LATIN SMALL LETTER C WITH ACUTE "
+ "16r00E4" 16r00E4 " LATIN SMALL LETTER A WITH DIAERESIS "
+ "16r00E5" 16r00E5 " LATIN SMALL LETTER A WITH RING ABOVE "
+ "16r00E6" 16r0119 " LATIN SMALL LETTER E WITH OGONEK "
+ "16r00E7" 16r0113 " LATIN SMALL LETTER E WITH MACRON "
+ "16r00E8" 16r010D " LATIN SMALL LETTER C WITH CARON "
+ "16r00E9" 16r00E9 " LATIN SMALL LETTER E WITH ACUTE "
+ "16r00EA" 16r017A " LATIN SMALL LETTER Z WITH ACUTE "
+ "16r00EB" 16r0117 " LATIN SMALL LETTER E WITH DOT ABOVE "
+ "16r00EC" 16r0123 " LATIN SMALL LETTER G WITH CEDILLA "
+ "16r00ED" 16r0137 " LATIN SMALL LETTER K WITH CEDILLA "
+ "16r00EE" 16r012B " LATIN SMALL LETTER I WITH MACRON "
+ "16r00EF" 16r013C " LATIN SMALL LETTER L WITH CEDILLA "
+ "16r00F0" 16r0161 " LATIN SMALL LETTER S WITH CARON "
+ "16r00F1" 16r0144 " LATIN SMALL LETTER N WITH ACUTE "
+ "16r00F2" 16r0146 " LATIN SMALL LETTER N WITH CEDILLA "
+ "16r00F3" 16r00F3 " LATIN SMALL LETTER O WITH ACUTE "
+ "16r00F4" 16r014D " LATIN SMALL LETTER O WITH MACRON "
+ "16r00F5" 16r00F5 " LATIN SMALL LETTER O WITH TILDE "
+ "16r00F6" 16r00F6 " LATIN SMALL LETTER O WITH DIAERESIS "
+ "16r00F7" 16r00F7 " DIVISION SIGN "
+ "16r00F8" 16r0173 " LATIN SMALL LETTER U WITH OGONEK "
+ "16r00F9" 16r0142 " LATIN SMALL LETTER L WITH STROKE "
+ "16r00FA" 16r015B " LATIN SMALL LETTER S WITH ACUTE "
+ "16r00FB" 16r016B " LATIN SMALL LETTER U WITH MACRON "
+ "16r00FC" 16r00FC " LATIN SMALL LETTER U WITH DIAERESIS "
+ "16r00FD" 16r017C " LATIN SMALL LETTER Z WITH DOT ABOVE "
+ "16r00FE" 16r017E " LATIN SMALL LETTER Z WITH CARON "
+ ) 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 <= 16r17E ifTrue:[
+ [
+ |t|
+ t := #[
+ "16r00A0" 16rA0 " NO-BREAK SPACE "
+ "16r00A1" 16r00 " invalid "
+ "16r00A2" 16rA2 " CENT SIGN "
+ "16r00A3" 16rA3 " POUND SIGN "
+ "16r00A4" 16rA4 " CURRENCY SIGN "
+ "16r00A5" 16r00 " invalid "
+ "16r00A6" 16rA6 " BROKEN BAR "
+ "16r00A7" 16rA7 " SECTION SIGN "
+ "16r00A8" 16r00 " invalid "
+ "16r00A9" 16rA9 " COPYRIGHT SIGN "
+ "16r00AA" 16r00 " invalid "
+ "16r00AB" 16rAB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00AC" 16rAC " NOT SIGN "
+ "16r00AD" 16rAD " SOFT HYPHEN "
+ "16r00AE" 16rAE " REGISTERED SIGN "
+ "16r00AF" 16r00 " invalid "
+ "16r00B0" 16rB0 " DEGREE SIGN "
+ "16r00B1" 16rB1 " PLUS-MINUS SIGN "
+ "16r00B2" 16rB2 " SUPERSCRIPT TWO "
+ "16r00B3" 16rB3 " SUPERSCRIPT THREE "
+ "16r00B4" 16r00 " invalid "
+ "16r00B5" 16rB5 " MICRO SIGN "
+ "16r00B6" 16rB6 " PILCROW SIGN "
+ "16r00B7" 16rB7 " MIDDLE DOT "
+ "16r00B8" 16r00 " invalid "
+ "16r00B9" 16rB9 " SUPERSCRIPT ONE "
+ "16r00BA" 16r00 " invalid "
+ "16r00BB" 16rBB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00BC" 16rBC " VULGAR FRACTION ONE QUARTER "
+ "16r00BD" 16rBD " VULGAR FRACTION ONE HALF "
+ "16r00BE" 16rBE " VULGAR FRACTION THREE QUARTERS "
+ "16r00BF" 16r00 " invalid "
+ "16r00C0" 16r00 " invalid "
+ "16r00C1" 16r00 " invalid "
+ "16r00C2" 16r00 " invalid "
+ "16r00C3" 16r00 " invalid "
+ "16r00C4" 16rC4 " LATIN CAPITAL LETTER A WITH DIAERESIS "
+ "16r00C5" 16rC5 " LATIN CAPITAL LETTER A WITH RING ABOVE "
+ "16r00C6" 16rAF " LATIN CAPITAL LETTER AE "
+ "16r00C7" 16r00 " invalid "
+ "16r00C8" 16r00 " invalid "
+ "16r00C9" 16rC9 " LATIN CAPITAL LETTER E WITH ACUTE "
+ "16r00CA" 16r00 " invalid "
+ "16r00CB" 16r00 " invalid "
+ "16r00CC" 16r00 " invalid "
+ "16r00CD" 16r00 " invalid "
+ "16r00CE" 16r00 " invalid "
+ "16r00CF" 16r00 " invalid "
+ "16r00D0" 16r00 " invalid "
+ "16r00D1" 16r00 " invalid "
+ "16r00D2" 16r00 " invalid "
+ "16r00D3" 16rD3 " LATIN CAPITAL LETTER O WITH ACUTE "
+ "16r00D4" 16r00 " invalid "
+ "16r00D5" 16rD5 " LATIN CAPITAL LETTER O WITH TILDE "
+ "16r00D6" 16rD6 " LATIN CAPITAL LETTER O WITH DIAERESIS "
+ "16r00D7" 16rD7 " MULTIPLICATION SIGN "
+ "16r00D8" 16rA8 " LATIN CAPITAL LETTER O WITH STROKE "
+ "16r00D9" 16r00 " invalid "
+ "16r00DA" 16r00 " invalid "
+ "16r00DB" 16r00 " invalid "
+ "16r00DC" 16rDC " LATIN CAPITAL LETTER U WITH DIAERESIS "
+ "16r00DD" 16r00 " invalid "
+ "16r00DE" 16r00 " invalid "
+ "16r00DF" 16rDF " LATIN SMALL LETTER SHARP S (German) "
+ "16r00E0" 16r00 " invalid "
+ "16r00E1" 16r00 " invalid "
+ "16r00E2" 16r00 " invalid "
+ "16r00E3" 16r00 " invalid "
+ "16r00E4" 16rE4 " LATIN SMALL LETTER A WITH DIAERESIS "
+ "16r00E5" 16rE5 " LATIN SMALL LETTER A WITH RING ABOVE "
+ "16r00E6" 16rBF " LATIN SMALL LETTER AE "
+ "16r00E7" 16r00 " invalid "
+ "16r00E8" 16r00 " invalid "
+ "16r00E9" 16rE9 " LATIN SMALL LETTER E WITH ACUTE "
+ "16r00EA" 16r00 " invalid "
+ "16r00EB" 16r00 " invalid "
+ "16r00EC" 16r00 " invalid "
+ "16r00ED" 16r00 " invalid "
+ "16r00EE" 16r00 " invalid "
+ "16r00EF" 16r00 " invalid "
+ "16r00F0" 16r00 " invalid "
+ "16r00F1" 16r00 " invalid "
+ "16r00F2" 16r00 " invalid "
+ "16r00F3" 16rF3 " LATIN SMALL LETTER O WITH ACUTE "
+ "16r00F4" 16r00 " invalid "
+ "16r00F5" 16rF5 " LATIN SMALL LETTER O WITH TILDE "
+ "16r00F6" 16rF6 " LATIN SMALL LETTER O WITH DIAERESIS "
+ "16r00F7" 16rF7 " DIVISION SIGN "
+ "16r00F8" 16rB8 " LATIN SMALL LETTER O WITH STROKE "
+ "16r00F9" 16r00 " invalid "
+ "16r00FA" 16r00 " invalid "
+ "16r00FB" 16r00 " invalid "
+ "16r00FC" 16rFC " LATIN SMALL LETTER U WITH DIAERESIS "
+ "16r00FD" 16r00 " invalid "
+ "16r00FE" 16r00 " invalid "
+ "16r00FF" 16r00 " invalid "
+ "16r0100" 16rC2 " LATIN CAPITAL LETTER A WITH MACRON "
+ "16r0101" 16rE2 " LATIN SMALL LETTER A WITH MACRON "
+ "16r0102" 16r00 " invalid "
+ "16r0103" 16r00 " invalid "
+ "16r0104" 16rC0 " LATIN CAPITAL LETTER A WITH OGONEK "
+ "16r0105" 16rE0 " LATIN SMALL LETTER A WITH OGONEK "
+ "16r0106" 16rC3 " LATIN CAPITAL LETTER C WITH ACUTE "
+ "16r0107" 16rE3 " 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" 16r00 " invalid "
+ "16r010F" 16r00 " invalid "
+ "16r0110" 16r00 " invalid "
+ "16r0111" 16r00 " invalid "
+ "16r0112" 16rC7 " LATIN CAPITAL LETTER E WITH MACRON "
+ "16r0113" 16rE7 " LATIN SMALL LETTER E WITH MACRON "
+ "16r0114" 16r00 " invalid "
+ "16r0115" 16r00 " invalid "
+ "16r0116" 16rCB " LATIN CAPITAL LETTER E WITH DOT ABOVE "
+ "16r0117" 16rEB " LATIN SMALL LETTER E WITH DOT ABOVE "
+ "16r0118" 16rC6 " LATIN CAPITAL LETTER E WITH OGONEK "
+ "16r0119" 16rE6 " LATIN SMALL LETTER E WITH OGONEK "
+ "16r011A" 16r00 " invalid "
+ "16r011B" 16r00 " invalid "
+ "16r011C" 16r00 " invalid "
+ "16r011D" 16r00 " invalid "
+ "16r011E" 16r00 " invalid "
+ "16r011F" 16r00 " invalid "
+ "16r0120" 16r00 " invalid "
+ "16r0121" 16r00 " invalid "
+ "16r0122" 16rCC " LATIN CAPITAL LETTER G WITH CEDILLA "
+ "16r0123" 16rEC " LATIN SMALL LETTER G WITH CEDILLA "
+ "16r0124" 16r00 " invalid "
+ "16r0125" 16r00 " invalid "
+ "16r0126" 16r00 " invalid "
+ "16r0127" 16r00 " invalid "
+ "16r0128" 16r00 " invalid "
+ "16r0129" 16r00 " invalid "
+ "16r012A" 16rCE " LATIN CAPITAL LETTER I WITH MACRON "
+ "16r012B" 16rEE " LATIN SMALL LETTER I WITH MACRON "
+ "16r012C" 16r00 " invalid "
+ "16r012D" 16r00 " invalid "
+ "16r012E" 16rC1 " LATIN CAPITAL LETTER I WITH OGONEK "
+ "16r012F" 16rE1 " LATIN SMALL LETTER I WITH OGONEK "
+ "16r0130" 16r00 " invalid "
+ "16r0131" 16r00 " invalid "
+ "16r0132" 16r00 " invalid "
+ "16r0133" 16r00 " invalid "
+ "16r0134" 16r00 " invalid "
+ "16r0135" 16r00 " invalid "
+ "16r0136" 16rCD " LATIN CAPITAL LETTER K WITH CEDILLA "
+ "16r0137" 16rED " LATIN SMALL LETTER K WITH CEDILLA "
+ "16r0138" 16r00 " invalid "
+ "16r0139" 16r00 " invalid "
+ "16r013A" 16r00 " invalid "
+ "16r013B" 16rCF " LATIN CAPITAL LETTER L WITH CEDILLA "
+ "16r013C" 16rEF " LATIN SMALL LETTER L WITH CEDILLA "
+ "16r013D" 16r00 " invalid "
+ "16r013E" 16r00 " invalid "
+ "16r013F" 16r00 " invalid "
+ "16r0140" 16r00 " invalid "
+ "16r0141" 16rD9 " LATIN CAPITAL LETTER L WITH STROKE "
+ "16r0142" 16rF9 " LATIN SMALL LETTER L WITH STROKE "
+ "16r0143" 16rD1 " LATIN CAPITAL LETTER N WITH ACUTE "
+ "16r0144" 16rF1 " LATIN SMALL LETTER N WITH ACUTE "
+ "16r0145" 16rD2 " LATIN CAPITAL LETTER N WITH CEDILLA "
+ "16r0146" 16rF2 " LATIN SMALL LETTER N WITH CEDILLA "
+ "16r0147" 16r00 " invalid "
+ "16r0148" 16r00 " invalid "
+ "16r0149" 16r00 " invalid "
+ "16r014A" 16r00 " invalid "
+ "16r014B" 16r00 " invalid "
+ "16r014C" 16rD4 " LATIN CAPITAL LETTER O WITH MACRON "
+ "16r014D" 16rF4 " LATIN SMALL LETTER O WITH MACRON "
+ "16r014E" 16r00 " invalid "
+ "16r014F" 16r00 " invalid "
+ "16r0150" 16r00 " invalid "
+ "16r0151" 16r00 " invalid "
+ "16r0152" 16r00 " invalid "
+ "16r0153" 16r00 " invalid "
+ "16r0154" 16r00 " invalid "
+ "16r0155" 16r00 " invalid "
+ "16r0156" 16rAA " LATIN CAPITAL LETTER R WITH CEDILLA "
+ "16r0157" 16rBA " LATIN SMALL LETTER R WITH CEDILLA "
+ "16r0158" 16r00 " invalid "
+ "16r0159" 16r00 " invalid "
+ "16r015A" 16rDA " LATIN CAPITAL LETTER S WITH ACUTE "
+ "16r015B" 16rFA " LATIN SMALL LETTER S WITH ACUTE "
+ "16r015C" 16r00 " invalid "
+ "16r015D" 16r00 " invalid "
+ "16r015E" 16r00 " invalid "
+ "16r015F" 16r00 " invalid "
+ "16r0160" 16rD0 " LATIN CAPITAL LETTER S WITH CARON "
+ "16r0161" 16rF0 " LATIN SMALL LETTER S WITH CARON "
+ "16r0162" 16r00 " invalid "
+ "16r0163" 16r00 " invalid "
+ "16r0164" 16r00 " invalid "
+ "16r0165" 16r00 " invalid "
+ "16r0166" 16r00 " invalid "
+ "16r0167" 16r00 " invalid "
+ "16r0168" 16r00 " invalid "
+ "16r0169" 16r00 " invalid "
+ "16r016A" 16rDB " LATIN CAPITAL LETTER U WITH MACRON "
+ "16r016B" 16rFB " LATIN SMALL LETTER U WITH MACRON "
+ "16r016C" 16r00 " invalid "
+ "16r016D" 16r00 " invalid "
+ "16r016E" 16r00 " invalid "
+ "16r016F" 16r00 " invalid "
+ "16r0170" 16r00 " invalid "
+ "16r0171" 16r00 " invalid "
+ "16r0172" 16rD8 " LATIN CAPITAL LETTER U WITH OGONEK "
+ "16r0173" 16rF8 " LATIN SMALL LETTER U WITH OGONEK "
+ "16r0174" 16r00 " invalid "
+ "16r0175" 16r00 " invalid "
+ "16r0176" 16r00 " invalid "
+ "16r0177" 16r00 " invalid "
+ "16r0178" 16r00 " invalid "
+ "16r0179" 16rCA " LATIN CAPITAL LETTER Z WITH ACUTE "
+ "16r017A" 16rEA " LATIN SMALL LETTER Z WITH ACUTE "
+ "16r017B" 16rDD " LATIN CAPITAL LETTER Z WITH DOT ABOVE "
+ "16r017C" 16rFD " LATIN SMALL LETTER Z WITH DOT ABOVE "
+ "16r017D" 16rDE " LATIN CAPITAL LETTER Z WITH CARON "
+ "16r017E" 16rFE " LATIN SMALL LETTER Z WITH CARON "
+ ] at:(unicode - 16r9F).
+ 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_Baltic class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__MS_Baltic.st,v 1.3 2004-03-09 22:00:06 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__MS_Baltic.st,v 1.4 2005-03-31 18:48:58 cg Exp $'
! !
--- a/CharacterEncoderImplementations__MS_Cyrillic.st Thu Mar 31 20:21:44 2005 +0200
+++ b/CharacterEncoderImplementations__MS_Cyrillic.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
+"
+ CP1251 / Microsoft Cyrillic
+
+ [see with:]
+ CharacterEncoderImplementations::MS_Cyrillic showCharacterSet
+
+ [author:]
+ Claus Gittinger
+"
! !
!MS_Cyrillic class methodsFor:'mapping'!
mapFileURL2_relativePathName
^ 'CP1251'
+
+ "
+ self generateCode
+ "
!
mapping
@@ -315,8 +331,392 @@
"
! !
+!MS_Cyrillic 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" 16r0402 " CYRILLIC CAPITAL LETTER DJE (Serbocroatian) "
+ "16r0081" 16r0403 " CYRILLIC CAPITAL LETTER GJE "
+ "16r0082" 16r201A " SINGLE LOW-9 QUOTATION MARK "
+ "16r0083" 16r0453 " CYRILLIC SMALL LETTER GJE "
+ "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" 16r0409 " CYRILLIC CAPITAL LETTER LJE "
+ "16r008B" 16r2039 " SINGLE LEFT-POINTING ANGLE QUOTATION MARK "
+ "16r008C" 16r040A " CYRILLIC CAPITAL LETTER NJE "
+ "16r008D" 16r040C " CYRILLIC CAPITAL LETTER KJE "
+ "16r008E" 16r040B " CYRILLIC CAPITAL LETTER TSHE (Serbocroatian) "
+ "16r008F" 16r040F " CYRILLIC CAPITAL LETTER DZHE "
+ "16r0090" 16r0452 " CYRILLIC SMALL LETTER DJE (Serbocroatian) "
+ "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" 16r0459 " CYRILLIC SMALL LETTER LJE "
+ "16r009B" 16r203A " SINGLE RIGHT-POINTING ANGLE QUOTATION MARK "
+ "16r009C" 16r045A " CYRILLIC SMALL LETTER NJE "
+ "16r009D" 16r045C " CYRILLIC SMALL LETTER KJE "
+ "16r009E" 16r045B " CYRILLIC SMALL LETTER TSHE (Serbocroatian) "
+ "16r009F" 16r045F " CYRILLIC SMALL LETTER DZHE "
+ "16r00A0" 16r00A0 " NO-BREAK SPACE "
+ "16r00A1" 16r040E " CYRILLIC CAPITAL LETTER SHORT U (Byelorussian) "
+ "16r00A2" 16r045E " CYRILLIC SMALL LETTER SHORT U (Byelorussian) "
+ "16r00A3" 16r0408 " CYRILLIC CAPITAL LETTER JE "
+ "16r00A4" 16r00A4 " CURRENCY SIGN "
+ "16r00A5" 16r0490 " CYRILLIC CAPITAL LETTER GHE WITH UPTURN "
+ "16r00A6" 16r00A6 " BROKEN BAR "
+ "16r00A7" 16r00A7 " SECTION SIGN "
+ "16r00A8" 16r0401 " CYRILLIC CAPITAL LETTER IO "
+ "16r00A9" 16r00A9 " COPYRIGHT SIGN "
+ "16r00AA" 16r0404 " CYRILLIC CAPITAL LETTER UKRAINIAN IE "
+ "16r00AB" 16r00AB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00AC" 16r00AC " NOT SIGN "
+ "16r00AD" 16r00AD " SOFT HYPHEN "
+ "16r00AE" 16r00AE " REGISTERED SIGN "
+ "16r00AF" 16r0407 " CYRILLIC CAPITAL LETTER YI (Ukrainian) "
+ "16r00B0" 16r00B0 " DEGREE SIGN "
+ "16r00B1" 16r00B1 " PLUS-MINUS SIGN "
+ "16r00B2" 16r0406 " CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I "
+ "16r00B3" 16r0456 " CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I "
+ "16r00B4" 16r0491 " CYRILLIC SMALL LETTER GHE WITH UPTURN "
+ "16r00B5" 16r00B5 " MICRO SIGN "
+ "16r00B6" 16r00B6 " PILCROW SIGN "
+ "16r00B7" 16r00B7 " MIDDLE DOT "
+ "16r00B8" 16r0451 " CYRILLIC SMALL LETTER IO "
+ "16r00B9" 16r2116 " NUMERO SIGN "
+ "16r00BA" 16r0454 " CYRILLIC SMALL LETTER UKRAINIAN IE "
+ "16r00BB" 16r00BB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00BC" 16r0458 " CYRILLIC SMALL LETTER JE "
+ "16r00BD" 16r0405 " CYRILLIC CAPITAL LETTER DZE "
+ "16r00BE" 16r0455 " CYRILLIC SMALL LETTER DZE "
+ "16r00BF" 16r0457 " CYRILLIC SMALL LETTER YI (Ukrainian) "
+ "16r00C0" 16r0410 " CYRILLIC CAPITAL LETTER A "
+ "16r00C1" 16r0411 " CYRILLIC CAPITAL LETTER BE "
+ "16r00C2" 16r0412 " CYRILLIC CAPITAL LETTER VE "
+ "16r00C3" 16r0413 " CYRILLIC CAPITAL LETTER GHE "
+ "16r00C4" 16r0414 " CYRILLIC CAPITAL LETTER DE "
+ "16r00C5" 16r0415 " CYRILLIC CAPITAL LETTER IE "
+ "16r00C6" 16r0416 " CYRILLIC CAPITAL LETTER ZHE "
+ "16r00C7" 16r0417 " CYRILLIC CAPITAL LETTER ZE "
+ "16r00C8" 16r0418 " CYRILLIC CAPITAL LETTER I "
+ "16r00C9" 16r0419 " CYRILLIC CAPITAL LETTER SHORT I "
+ "16r00CA" 16r041A " CYRILLIC CAPITAL LETTER KA "
+ "16r00CB" 16r041B " CYRILLIC CAPITAL LETTER EL "
+ "16r00CC" 16r041C " CYRILLIC CAPITAL LETTER EM "
+ "16r00CD" 16r041D " CYRILLIC CAPITAL LETTER EN "
+ "16r00CE" 16r041E " CYRILLIC CAPITAL LETTER O "
+ "16r00CF" 16r041F " CYRILLIC CAPITAL LETTER PE "
+ "16r00D0" 16r0420 " CYRILLIC CAPITAL LETTER ER "
+ "16r00D1" 16r0421 " CYRILLIC CAPITAL LETTER ES "
+ "16r00D2" 16r0422 " CYRILLIC CAPITAL LETTER TE "
+ "16r00D3" 16r0423 " CYRILLIC CAPITAL LETTER U "
+ "16r00D4" 16r0424 " CYRILLIC CAPITAL LETTER EF "
+ "16r00D5" 16r0425 " CYRILLIC CAPITAL LETTER HA "
+ "16r00D6" 16r0426 " CYRILLIC CAPITAL LETTER TSE "
+ "16r00D7" 16r0427 " CYRILLIC CAPITAL LETTER CHE "
+ "16r00D8" 16r0428 " CYRILLIC CAPITAL LETTER SHA "
+ "16r00D9" 16r0429 " CYRILLIC CAPITAL LETTER SHCHA "
+ "16r00DA" 16r042A " CYRILLIC CAPITAL LETTER HARD SIGN "
+ "16r00DB" 16r042B " CYRILLIC CAPITAL LETTER YERU "
+ "16r00DC" 16r042C " CYRILLIC CAPITAL LETTER SOFT SIGN "
+ "16r00DD" 16r042D " CYRILLIC CAPITAL LETTER E "
+ "16r00DE" 16r042E " CYRILLIC CAPITAL LETTER YU "
+ "16r00DF" 16r042F " CYRILLIC CAPITAL LETTER YA "
+ "16r00E0" 16r0430 " CYRILLIC SMALL LETTER A "
+ "16r00E1" 16r0431 " CYRILLIC SMALL LETTER BE "
+ "16r00E2" 16r0432 " CYRILLIC SMALL LETTER VE "
+ "16r00E3" 16r0433 " CYRILLIC SMALL LETTER GHE "
+ "16r00E4" 16r0434 " CYRILLIC SMALL LETTER DE "
+ "16r00E5" 16r0435 " CYRILLIC SMALL LETTER IE "
+ "16r00E6" 16r0436 " CYRILLIC SMALL LETTER ZHE "
+ "16r00E7" 16r0437 " CYRILLIC SMALL LETTER ZE "
+ "16r00E8" 16r0438 " CYRILLIC SMALL LETTER I "
+ "16r00E9" 16r0439 " CYRILLIC SMALL LETTER SHORT I "
+ "16r00EA" 16r043A " CYRILLIC SMALL LETTER KA "
+ "16r00EB" 16r043B " CYRILLIC SMALL LETTER EL "
+ "16r00EC" 16r043C " CYRILLIC SMALL LETTER EM "
+ "16r00ED" 16r043D " CYRILLIC SMALL LETTER EN "
+ "16r00EE" 16r043E " CYRILLIC SMALL LETTER O "
+ "16r00EF" 16r043F " CYRILLIC SMALL LETTER PE "
+ "16r00F0" 16r0440 " CYRILLIC SMALL LETTER ER "
+ "16r00F1" 16r0441 " CYRILLIC SMALL LETTER ES "
+ "16r00F2" 16r0442 " CYRILLIC SMALL LETTER TE "
+ "16r00F3" 16r0443 " CYRILLIC SMALL LETTER U "
+ "16r00F4" 16r0444 " CYRILLIC SMALL LETTER EF "
+ "16r00F5" 16r0445 " CYRILLIC SMALL LETTER HA "
+ "16r00F6" 16r0446 " CYRILLIC SMALL LETTER TSE "
+ "16r00F7" 16r0447 " CYRILLIC SMALL LETTER CHE "
+ "16r00F8" 16r0448 " CYRILLIC SMALL LETTER SHA "
+ "16r00F9" 16r0449 " CYRILLIC SMALL LETTER SHCHA "
+ "16r00FA" 16r044A " CYRILLIC SMALL LETTER HARD SIGN "
+ "16r00FB" 16r044B " CYRILLIC SMALL LETTER YERU "
+ "16r00FC" 16r044C " CYRILLIC SMALL LETTER SOFT SIGN "
+ "16r00FD" 16r044D " CYRILLIC SMALL LETTER E "
+ "16r00FE" 16r044E " CYRILLIC SMALL LETTER YU "
+ "16r00FF" 16r044F " CYRILLIC SMALL LETTER YA "
+ ) 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 <= 16r491 ifTrue:[
+ unicode <= 16rBB ifTrue:[
+ [
+ |t|
+ t := #[
+ "16r00A0" 16rA0 " NO-BREAK SPACE "
+ "16r00A1" 16r00 " invalid "
+ "16r00A2" 16r00 " invalid "
+ "16r00A3" 16r00 " invalid "
+ "16r00A4" 16rA4 " CURRENCY SIGN "
+ "16r00A5" 16r00 " invalid "
+ "16r00A6" 16rA6 " BROKEN BAR "
+ "16r00A7" 16rA7 " SECTION SIGN "
+ "16r00A8" 16r00 " invalid "
+ "16r00A9" 16rA9 " COPYRIGHT SIGN "
+ "16r00AA" 16r00 " invalid "
+ "16r00AB" 16rAB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00AC" 16rAC " NOT SIGN "
+ "16r00AD" 16rAD " SOFT HYPHEN "
+ "16r00AE" 16rAE " REGISTERED SIGN "
+ "16r00AF" 16r00 " invalid "
+ "16r00B0" 16rB0 " DEGREE SIGN "
+ "16r00B1" 16rB1 " PLUS-MINUS SIGN "
+ "16r00B2" 16r00 " invalid "
+ "16r00B3" 16r00 " invalid "
+ "16r00B4" 16r00 " invalid "
+ "16r00B5" 16rB5 " MICRO SIGN "
+ "16r00B6" 16rB6 " PILCROW SIGN "
+ "16r00B7" 16rB7 " MIDDLE DOT "
+ "16r00B8" 16r00 " invalid "
+ "16r00B9" 16r00 " invalid "
+ "16r00BA" 16r00 " invalid "
+ "16r00BB" 16rBB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ ] at:(unicode - 16r9F).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 16r400 ifTrue:[
+ ^ self encodingError
+ ].
+ unicode <= 16r45F ifTrue:[
+ [
+ |t|
+ t := #[
+ "16r0401" 16rA8 " CYRILLIC CAPITAL LETTER IO "
+ "16r0402" 16r80 " CYRILLIC CAPITAL LETTER DJE (Serbocroatian) "
+ "16r0403" 16r81 " CYRILLIC CAPITAL LETTER GJE "
+ "16r0404" 16rAA " CYRILLIC CAPITAL LETTER UKRAINIAN IE "
+ "16r0405" 16rBD " CYRILLIC CAPITAL LETTER DZE "
+ "16r0406" 16rB2 " CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I "
+ "16r0407" 16rAF " CYRILLIC CAPITAL LETTER YI (Ukrainian) "
+ "16r0408" 16rA3 " CYRILLIC CAPITAL LETTER JE "
+ "16r0409" 16r8A " CYRILLIC CAPITAL LETTER LJE "
+ "16r040A" 16r8C " CYRILLIC CAPITAL LETTER NJE "
+ "16r040B" 16r8E " CYRILLIC CAPITAL LETTER TSHE (Serbocroatian) "
+ "16r040C" 16r8D " CYRILLIC CAPITAL LETTER KJE "
+ "16r040D" 16r00 " invalid "
+ "16r040E" 16rA1 " CYRILLIC CAPITAL LETTER SHORT U (Byelorussian) "
+ "16r040F" 16r8F " CYRILLIC CAPITAL LETTER DZHE "
+ "16r0410" 16rC0 " CYRILLIC CAPITAL LETTER A "
+ "16r0411" 16rC1 " CYRILLIC CAPITAL LETTER BE "
+ "16r0412" 16rC2 " CYRILLIC CAPITAL LETTER VE "
+ "16r0413" 16rC3 " CYRILLIC CAPITAL LETTER GHE "
+ "16r0414" 16rC4 " CYRILLIC CAPITAL LETTER DE "
+ "16r0415" 16rC5 " CYRILLIC CAPITAL LETTER IE "
+ "16r0416" 16rC6 " CYRILLIC CAPITAL LETTER ZHE "
+ "16r0417" 16rC7 " CYRILLIC CAPITAL LETTER ZE "
+ "16r0418" 16rC8 " CYRILLIC CAPITAL LETTER I "
+ "16r0419" 16rC9 " CYRILLIC CAPITAL LETTER SHORT I "
+ "16r041A" 16rCA " CYRILLIC CAPITAL LETTER KA "
+ "16r041B" 16rCB " CYRILLIC CAPITAL LETTER EL "
+ "16r041C" 16rCC " CYRILLIC CAPITAL LETTER EM "
+ "16r041D" 16rCD " CYRILLIC CAPITAL LETTER EN "
+ "16r041E" 16rCE " CYRILLIC CAPITAL LETTER O "
+ "16r041F" 16rCF " CYRILLIC CAPITAL LETTER PE "
+ "16r0420" 16rD0 " CYRILLIC CAPITAL LETTER ER "
+ "16r0421" 16rD1 " CYRILLIC CAPITAL LETTER ES "
+ "16r0422" 16rD2 " CYRILLIC CAPITAL LETTER TE "
+ "16r0423" 16rD3 " CYRILLIC CAPITAL LETTER U "
+ "16r0424" 16rD4 " CYRILLIC CAPITAL LETTER EF "
+ "16r0425" 16rD5 " CYRILLIC CAPITAL LETTER HA "
+ "16r0426" 16rD6 " CYRILLIC CAPITAL LETTER TSE "
+ "16r0427" 16rD7 " CYRILLIC CAPITAL LETTER CHE "
+ "16r0428" 16rD8 " CYRILLIC CAPITAL LETTER SHA "
+ "16r0429" 16rD9 " CYRILLIC CAPITAL LETTER SHCHA "
+ "16r042A" 16rDA " CYRILLIC CAPITAL LETTER HARD SIGN "
+ "16r042B" 16rDB " CYRILLIC CAPITAL LETTER YERU "
+ "16r042C" 16rDC " CYRILLIC CAPITAL LETTER SOFT SIGN "
+ "16r042D" 16rDD " CYRILLIC CAPITAL LETTER E "
+ "16r042E" 16rDE " CYRILLIC CAPITAL LETTER YU "
+ "16r042F" 16rDF " CYRILLIC CAPITAL LETTER YA "
+ "16r0430" 16rE0 " CYRILLIC SMALL LETTER A "
+ "16r0431" 16rE1 " CYRILLIC SMALL LETTER BE "
+ "16r0432" 16rE2 " CYRILLIC SMALL LETTER VE "
+ "16r0433" 16rE3 " CYRILLIC SMALL LETTER GHE "
+ "16r0434" 16rE4 " CYRILLIC SMALL LETTER DE "
+ "16r0435" 16rE5 " CYRILLIC SMALL LETTER IE "
+ "16r0436" 16rE6 " CYRILLIC SMALL LETTER ZHE "
+ "16r0437" 16rE7 " CYRILLIC SMALL LETTER ZE "
+ "16r0438" 16rE8 " CYRILLIC SMALL LETTER I "
+ "16r0439" 16rE9 " CYRILLIC SMALL LETTER SHORT I "
+ "16r043A" 16rEA " CYRILLIC SMALL LETTER KA "
+ "16r043B" 16rEB " CYRILLIC SMALL LETTER EL "
+ "16r043C" 16rEC " CYRILLIC SMALL LETTER EM "
+ "16r043D" 16rED " CYRILLIC SMALL LETTER EN "
+ "16r043E" 16rEE " CYRILLIC SMALL LETTER O "
+ "16r043F" 16rEF " CYRILLIC SMALL LETTER PE "
+ "16r0440" 16rF0 " CYRILLIC SMALL LETTER ER "
+ "16r0441" 16rF1 " CYRILLIC SMALL LETTER ES "
+ "16r0442" 16rF2 " CYRILLIC SMALL LETTER TE "
+ "16r0443" 16rF3 " CYRILLIC SMALL LETTER U "
+ "16r0444" 16rF4 " CYRILLIC SMALL LETTER EF "
+ "16r0445" 16rF5 " CYRILLIC SMALL LETTER HA "
+ "16r0446" 16rF6 " CYRILLIC SMALL LETTER TSE "
+ "16r0447" 16rF7 " CYRILLIC SMALL LETTER CHE "
+ "16r0448" 16rF8 " CYRILLIC SMALL LETTER SHA "
+ "16r0449" 16rF9 " CYRILLIC SMALL LETTER SHCHA "
+ "16r044A" 16rFA " CYRILLIC SMALL LETTER HARD SIGN "
+ "16r044B" 16rFB " CYRILLIC SMALL LETTER YERU "
+ "16r044C" 16rFC " CYRILLIC SMALL LETTER SOFT SIGN "
+ "16r044D" 16rFD " CYRILLIC SMALL LETTER E "
+ "16r044E" 16rFE " CYRILLIC SMALL LETTER YU "
+ "16r044F" 16rFF " CYRILLIC SMALL LETTER YA "
+ "16r0450" 16r00 " invalid "
+ "16r0451" 16rB8 " CYRILLIC SMALL LETTER IO "
+ "16r0452" 16r90 " CYRILLIC SMALL LETTER DJE (Serbocroatian) "
+ "16r0453" 16r83 " CYRILLIC SMALL LETTER GJE "
+ "16r0454" 16rBA " CYRILLIC SMALL LETTER UKRAINIAN IE "
+ "16r0455" 16rBE " CYRILLIC SMALL LETTER DZE "
+ "16r0456" 16rB3 " CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I "
+ "16r0457" 16rBF " CYRILLIC SMALL LETTER YI (Ukrainian) "
+ "16r0458" 16rBC " CYRILLIC SMALL LETTER JE "
+ "16r0459" 16r9A " CYRILLIC SMALL LETTER LJE "
+ "16r045A" 16r9C " CYRILLIC SMALL LETTER NJE "
+ "16r045B" 16r9E " CYRILLIC SMALL LETTER TSHE (Serbocroatian) "
+ "16r045C" 16r9D " CYRILLIC SMALL LETTER KJE "
+ "16r045D" 16r00 " invalid "
+ "16r045E" 16rA2 " CYRILLIC SMALL LETTER SHORT U (Byelorussian) "
+ "16r045F" 16r9F " CYRILLIC SMALL LETTER DZHE "
+ ] at:(unicode - 16r400).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 16r48F ifTrue:[
+ ^ self encodingError
+ ].
+ ^ #[
+ "16r0490" 16rA5 " CYRILLIC CAPITAL LETTER GHE WITH UPTURN "
+ "16r0491" 16rB4 " CYRILLIC SMALL LETTER GHE WITH UPTURN "
+ ] at:(unicode - 16r48F).
+ ].
+ 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 <= 16r2115 ifTrue:[
+ ^ self encodingError
+ ].
+ unicode == 16r2116 ifTrue:[
+ (#[
+ "16r2116" 1 " NUMERO SIGN "
+ ] at:(unicode - 8469)) ~~ 0 ifTrue:[^ unicode].
+ ^ self encodingError
+ ].
+ unicode <= 16r2121 ifTrue:[
+ ^ self encodingError
+ ].
+ ^ "16r2122" 16r0099 " TRADE MARK SIGN "
+! !
+
!MS_Cyrillic class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__MS_Cyrillic.st,v 1.3 2004-03-09 22:01:08 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__MS_Cyrillic.st,v 1.4 2005-03-31 18:48:53 cg Exp $'
! !
--- 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 $'
! !
--- a/CharacterEncoderImplementations__MS_Greek.st Thu Mar 31 20:21:44 2005 +0200
+++ b/CharacterEncoderImplementations__MS_Greek.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
+"
+ CP1253 / Microsoft Greek
+
+ [see with:]
+ CharacterEncoderImplementations::MS_Greek showCharacterSet
+
+ [author:]
+ Claus Gittinger
+"
! !
!MS_Greek class methodsFor:'mapping'!
mapFileURL2_relativePathName
^ 'CP1253'
+
+ "
+ self generateCode
+ "
!
mapping
@@ -299,8 +315,361 @@
"
! !
+!MS_Greek 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 > 16rFE ifTrue:[
+ ^ self decodingError.
+ ].
+ [
+ |t|
+ t := #(
+ "16r0080" 16r0000 " invalid "
+ "16r0081" 16r0000 " invalid "
+ "16r0082" 16r201A " SINGLE LOW-9 QUOTATION MARK "
+ "16r0083" 16r0192 " LATIN SMALL LETTER F WITH HOOK "
+ "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" 16r0000 " invalid "
+ "16r008B" 16r2039 " SINGLE LEFT-POINTING ANGLE QUOTATION MARK "
+ "16r008C" 16r0000 " invalid "
+ "16r008D" 16r0000 " invalid "
+ "16r008E" 16r0000 " invalid "
+ "16r008F" 16r0000 " invalid "
+ "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" 16r0000 " invalid "
+ "16r009B" 16r203A " SINGLE RIGHT-POINTING ANGLE QUOTATION MARK "
+ "16r009C" 16r0000 " invalid "
+ "16r009D" 16r0000 " invalid "
+ "16r009E" 16r0000 " invalid "
+ "16r009F" 16r0000 " invalid "
+ "16r00A0" 16r00A0 " NO-BREAK SPACE "
+ "16r00A1" 16r0385 " GREEK DIALYTIKA TONOS "
+ "16r00A2" 16r0386 " GREEK CAPITAL LETTER ALPHA WITH TONOS "
+ "16r00A3" 16r00A3 " POUND SIGN "
+ "16r00A4" 16r00A4 " CURRENCY SIGN "
+ "16r00A5" 16r00A5 " YEN SIGN "
+ "16r00A6" 16r00A6 " BROKEN BAR "
+ "16r00A7" 16r00A7 " SECTION SIGN "
+ "16r00A8" 16r00A8 " DIAERESIS "
+ "16r00A9" 16r00A9 " COPYRIGHT SIGN "
+ "16r00AA" 16r0000 " invalid "
+ "16r00AB" 16r00AB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00AC" 16r00AC " NOT SIGN "
+ "16r00AD" 16r00AD " SOFT HYPHEN "
+ "16r00AE" 16r00AE " REGISTERED SIGN "
+ "16r00AF" 16r2015 " HORIZONTAL BAR "
+ "16r00B0" 16r00B0 " DEGREE SIGN "
+ "16r00B1" 16r00B1 " PLUS-MINUS SIGN "
+ "16r00B2" 16r00B2 " SUPERSCRIPT TWO "
+ "16r00B3" 16r00B3 " SUPERSCRIPT THREE "
+ "16r00B4" 16r0384 " GREEK TONOS "
+ "16r00B5" 16r00B5 " MICRO SIGN "
+ "16r00B6" 16r00B6 " PILCROW SIGN "
+ "16r00B7" 16r00B7 " MIDDLE DOT "
+ "16r00B8" 16r0388 " GREEK CAPITAL LETTER EPSILON WITH TONOS "
+ "16r00B9" 16r0389 " GREEK CAPITAL LETTER ETA WITH TONOS "
+ "16r00BA" 16r038A " GREEK CAPITAL LETTER IOTA WITH TONOS "
+ "16r00BB" 16r00BB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00BC" 16r038C " GREEK CAPITAL LETTER OMICRON WITH TONOS "
+ "16r00BD" 16r00BD " VULGAR FRACTION ONE HALF "
+ "16r00BE" 16r038E " GREEK CAPITAL LETTER UPSILON WITH TONOS "
+ "16r00BF" 16r038F " GREEK CAPITAL LETTER OMEGA WITH TONOS "
+ "16r00C0" 16r0390 " GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS "
+ "16r00C1" 16r0391 " GREEK CAPITAL LETTER ALPHA "
+ "16r00C2" 16r0392 " GREEK CAPITAL LETTER BETA "
+ "16r00C3" 16r0393 " GREEK CAPITAL LETTER GAMMA "
+ "16r00C4" 16r0394 " GREEK CAPITAL LETTER DELTA "
+ "16r00C5" 16r0395 " GREEK CAPITAL LETTER EPSILON "
+ "16r00C6" 16r0396 " GREEK CAPITAL LETTER ZETA "
+ "16r00C7" 16r0397 " GREEK CAPITAL LETTER ETA "
+ "16r00C8" 16r0398 " GREEK CAPITAL LETTER THETA "
+ "16r00C9" 16r0399 " GREEK CAPITAL LETTER IOTA "
+ "16r00CA" 16r039A " GREEK CAPITAL LETTER KAPPA "
+ "16r00CB" 16r039B " GREEK CAPITAL LETTER LAMDA "
+ "16r00CC" 16r039C " GREEK CAPITAL LETTER MU "
+ "16r00CD" 16r039D " GREEK CAPITAL LETTER NU "
+ "16r00CE" 16r039E " GREEK CAPITAL LETTER XI "
+ "16r00CF" 16r039F " GREEK CAPITAL LETTER OMICRON "
+ "16r00D0" 16r03A0 " GREEK CAPITAL LETTER PI "
+ "16r00D1" 16r03A1 " GREEK CAPITAL LETTER RHO "
+ "16r00D2" 16r0000 " invalid "
+ "16r00D3" 16r03A3 " GREEK CAPITAL LETTER SIGMA "
+ "16r00D4" 16r03A4 " GREEK CAPITAL LETTER TAU "
+ "16r00D5" 16r03A5 " GREEK CAPITAL LETTER UPSILON "
+ "16r00D6" 16r03A6 " GREEK CAPITAL LETTER PHI "
+ "16r00D7" 16r03A7 " GREEK CAPITAL LETTER CHI "
+ "16r00D8" 16r03A8 " GREEK CAPITAL LETTER PSI "
+ "16r00D9" 16r03A9 " GREEK CAPITAL LETTER OMEGA "
+ "16r00DA" 16r03AA " GREEK CAPITAL LETTER IOTA WITH DIALYTIKA "
+ "16r00DB" 16r03AB " GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA "
+ "16r00DC" 16r03AC " GREEK SMALL LETTER ALPHA WITH TONOS "
+ "16r00DD" 16r03AD " GREEK SMALL LETTER EPSILON WITH TONOS "
+ "16r00DE" 16r03AE " GREEK SMALL LETTER ETA WITH TONOS "
+ "16r00DF" 16r03AF " GREEK SMALL LETTER IOTA WITH TONOS "
+ "16r00E0" 16r03B0 " GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS "
+ "16r00E1" 16r03B1 " GREEK SMALL LETTER ALPHA "
+ "16r00E2" 16r03B2 " GREEK SMALL LETTER BETA "
+ "16r00E3" 16r03B3 " GREEK SMALL LETTER GAMMA "
+ "16r00E4" 16r03B4 " GREEK SMALL LETTER DELTA "
+ "16r00E5" 16r03B5 " GREEK SMALL LETTER EPSILON "
+ "16r00E6" 16r03B6 " GREEK SMALL LETTER ZETA "
+ "16r00E7" 16r03B7 " GREEK SMALL LETTER ETA "
+ "16r00E8" 16r03B8 " GREEK SMALL LETTER THETA "
+ "16r00E9" 16r03B9 " GREEK SMALL LETTER IOTA "
+ "16r00EA" 16r03BA " GREEK SMALL LETTER KAPPA "
+ "16r00EB" 16r03BB " GREEK SMALL LETTER LAMDA "
+ "16r00EC" 16r03BC " GREEK SMALL LETTER MU "
+ "16r00ED" 16r03BD " GREEK SMALL LETTER NU "
+ "16r00EE" 16r03BE " GREEK SMALL LETTER XI "
+ "16r00EF" 16r03BF " GREEK SMALL LETTER OMICRON "
+ "16r00F0" 16r03C0 " GREEK SMALL LETTER PI "
+ "16r00F1" 16r03C1 " GREEK SMALL LETTER RHO "
+ "16r00F2" 16r03C2 " GREEK SMALL LETTER FINAL SIGMA "
+ "16r00F3" 16r03C3 " GREEK SMALL LETTER SIGMA "
+ "16r00F4" 16r03C4 " GREEK SMALL LETTER TAU "
+ "16r00F5" 16r03C5 " GREEK SMALL LETTER UPSILON "
+ "16r00F6" 16r03C6 " GREEK SMALL LETTER PHI "
+ "16r00F7" 16r03C7 " GREEK SMALL LETTER CHI "
+ "16r00F8" 16r03C8 " GREEK SMALL LETTER PSI "
+ "16r00F9" 16r03C9 " GREEK SMALL LETTER OMEGA "
+ "16r00FA" 16r03CA " GREEK SMALL LETTER IOTA WITH DIALYTIKA "
+ "16r00FB" 16r03CB " GREEK SMALL LETTER UPSILON WITH DIALYTIKA "
+ "16r00FC" 16r03CC " GREEK SMALL LETTER OMICRON WITH TONOS "
+ "16r00FD" 16r03CD " GREEK SMALL LETTER UPSILON WITH TONOS "
+ "16r00FE" 16r03CE " GREEK SMALL LETTER OMEGA WITH TONOS "
+ ) 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 <= 16r3CE ifTrue:[
+ unicode <= 16r192 ifTrue:[
+ unicode <= 16rBD ifTrue:[
+ [
+ |t|
+ t := #[
+ "16r00A0" 16rA0 " NO-BREAK SPACE "
+ "16r00A1" 16r00 " invalid "
+ "16r00A2" 16r00 " invalid "
+ "16r00A3" 16rA3 " POUND SIGN "
+ "16r00A4" 16rA4 " CURRENCY SIGN "
+ "16r00A5" 16rA5 " YEN SIGN "
+ "16r00A6" 16rA6 " BROKEN BAR "
+ "16r00A7" 16rA7 " SECTION SIGN "
+ "16r00A8" 16rA8 " DIAERESIS "
+ "16r00A9" 16rA9 " COPYRIGHT SIGN "
+ "16r00AA" 16r00 " invalid "
+ "16r00AB" 16rAB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00AC" 16rAC " NOT SIGN "
+ "16r00AD" 16rAD " SOFT HYPHEN "
+ "16r00AE" 16rAE " REGISTERED SIGN "
+ "16r00AF" 16r00 " invalid "
+ "16r00B0" 16rB0 " DEGREE SIGN "
+ "16r00B1" 16rB1 " PLUS-MINUS SIGN "
+ "16r00B2" 16rB2 " SUPERSCRIPT TWO "
+ "16r00B3" 16rB3 " SUPERSCRIPT THREE "
+ "16r00B4" 16r00 " invalid "
+ "16r00B5" 16rB5 " MICRO SIGN "
+ "16r00B6" 16rB6 " PILCROW SIGN "
+ "16r00B7" 16rB7 " MIDDLE DOT "
+ "16r00B8" 16r00 " invalid "
+ "16r00B9" 16r00 " invalid "
+ "16r00BA" 16r00 " invalid "
+ "16r00BB" 16rBB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00BC" 16r00 " invalid "
+ "16r00BD" 16rBD " VULGAR FRACTION ONE HALF "
+ ] at:(unicode - 16r9F).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 16r191 ifTrue:[
+ ^ self encodingError
+ ].
+ ^ "16r0192" 16r0083 " LATIN SMALL LETTER F WITH HOOK "
+ ].
+ unicode <= 16r383 ifTrue:[
+ ^ self encodingError
+ ].
+ [
+ |t|
+ t := #[
+ "16r0384" 16rB4 " GREEK TONOS "
+ "16r0385" 16rA1 " GREEK DIALYTIKA TONOS "
+ "16r0386" 16rA2 " GREEK CAPITAL LETTER ALPHA WITH TONOS "
+ "16r0387" 16r00 " invalid "
+ "16r0388" 16rB8 " GREEK CAPITAL LETTER EPSILON WITH TONOS "
+ "16r0389" 16rB9 " GREEK CAPITAL LETTER ETA WITH TONOS "
+ "16r038A" 16rBA " GREEK CAPITAL LETTER IOTA WITH TONOS "
+ "16r038B" 16r00 " invalid "
+ "16r038C" 16rBC " GREEK CAPITAL LETTER OMICRON WITH TONOS "
+ "16r038D" 16r00 " invalid "
+ "16r038E" 16rBE " GREEK CAPITAL LETTER UPSILON WITH TONOS "
+ "16r038F" 16rBF " GREEK CAPITAL LETTER OMEGA WITH TONOS "
+ "16r0390" 16rC0 " GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS "
+ "16r0391" 16rC1 " GREEK CAPITAL LETTER ALPHA "
+ "16r0392" 16rC2 " GREEK CAPITAL LETTER BETA "
+ "16r0393" 16rC3 " GREEK CAPITAL LETTER GAMMA "
+ "16r0394" 16rC4 " GREEK CAPITAL LETTER DELTA "
+ "16r0395" 16rC5 " GREEK CAPITAL LETTER EPSILON "
+ "16r0396" 16rC6 " GREEK CAPITAL LETTER ZETA "
+ "16r0397" 16rC7 " GREEK CAPITAL LETTER ETA "
+ "16r0398" 16rC8 " GREEK CAPITAL LETTER THETA "
+ "16r0399" 16rC9 " GREEK CAPITAL LETTER IOTA "
+ "16r039A" 16rCA " GREEK CAPITAL LETTER KAPPA "
+ "16r039B" 16rCB " GREEK CAPITAL LETTER LAMDA "
+ "16r039C" 16rCC " GREEK CAPITAL LETTER MU "
+ "16r039D" 16rCD " GREEK CAPITAL LETTER NU "
+ "16r039E" 16rCE " GREEK CAPITAL LETTER XI "
+ "16r039F" 16rCF " GREEK CAPITAL LETTER OMICRON "
+ "16r03A0" 16rD0 " GREEK CAPITAL LETTER PI "
+ "16r03A1" 16rD1 " GREEK CAPITAL LETTER RHO "
+ "16r03A2" 16r00 " invalid "
+ "16r03A3" 16rD3 " GREEK CAPITAL LETTER SIGMA "
+ "16r03A4" 16rD4 " GREEK CAPITAL LETTER TAU "
+ "16r03A5" 16rD5 " GREEK CAPITAL LETTER UPSILON "
+ "16r03A6" 16rD6 " GREEK CAPITAL LETTER PHI "
+ "16r03A7" 16rD7 " GREEK CAPITAL LETTER CHI "
+ "16r03A8" 16rD8 " GREEK CAPITAL LETTER PSI "
+ "16r03A9" 16rD9 " GREEK CAPITAL LETTER OMEGA "
+ "16r03AA" 16rDA " GREEK CAPITAL LETTER IOTA WITH DIALYTIKA "
+ "16r03AB" 16rDB " GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA "
+ "16r03AC" 16rDC " GREEK SMALL LETTER ALPHA WITH TONOS "
+ "16r03AD" 16rDD " GREEK SMALL LETTER EPSILON WITH TONOS "
+ "16r03AE" 16rDE " GREEK SMALL LETTER ETA WITH TONOS "
+ "16r03AF" 16rDF " GREEK SMALL LETTER IOTA WITH TONOS "
+ "16r03B0" 16rE0 " GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS "
+ "16r03B1" 16rE1 " GREEK SMALL LETTER ALPHA "
+ "16r03B2" 16rE2 " GREEK SMALL LETTER BETA "
+ "16r03B3" 16rE3 " GREEK SMALL LETTER GAMMA "
+ "16r03B4" 16rE4 " GREEK SMALL LETTER DELTA "
+ "16r03B5" 16rE5 " GREEK SMALL LETTER EPSILON "
+ "16r03B6" 16rE6 " GREEK SMALL LETTER ZETA "
+ "16r03B7" 16rE7 " GREEK SMALL LETTER ETA "
+ "16r03B8" 16rE8 " GREEK SMALL LETTER THETA "
+ "16r03B9" 16rE9 " GREEK SMALL LETTER IOTA "
+ "16r03BA" 16rEA " GREEK SMALL LETTER KAPPA "
+ "16r03BB" 16rEB " GREEK SMALL LETTER LAMDA "
+ "16r03BC" 16rEC " GREEK SMALL LETTER MU "
+ "16r03BD" 16rED " GREEK SMALL LETTER NU "
+ "16r03BE" 16rEE " GREEK SMALL LETTER XI "
+ "16r03BF" 16rEF " GREEK SMALL LETTER OMICRON "
+ "16r03C0" 16rF0 " GREEK SMALL LETTER PI "
+ "16r03C1" 16rF1 " GREEK SMALL LETTER RHO "
+ "16r03C2" 16rF2 " GREEK SMALL LETTER FINAL SIGMA "
+ "16r03C3" 16rF3 " GREEK SMALL LETTER SIGMA "
+ "16r03C4" 16rF4 " GREEK SMALL LETTER TAU "
+ "16r03C5" 16rF5 " GREEK SMALL LETTER UPSILON "
+ "16r03C6" 16rF6 " GREEK SMALL LETTER PHI "
+ "16r03C7" 16rF7 " GREEK SMALL LETTER CHI "
+ "16r03C8" 16rF8 " GREEK SMALL LETTER PSI "
+ "16r03C9" 16rF9 " GREEK SMALL LETTER OMEGA "
+ "16r03CA" 16rFA " GREEK SMALL LETTER IOTA WITH DIALYTIKA "
+ "16r03CB" 16rFB " GREEK SMALL LETTER UPSILON WITH DIALYTIKA "
+ "16r03CC" 16rFC " GREEK SMALL LETTER OMICRON WITH TONOS "
+ "16r03CD" 16rFD " GREEK SMALL LETTER UPSILON WITH TONOS "
+ "16r03CE" 16rFE " GREEK SMALL LETTER OMEGA WITH TONOS "
+ ] at:(unicode - 16r383).
+ 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" 16rAF " HORIZONTAL BAR "
+ "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_Greek class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__MS_Greek.st,v 1.3 2004-03-09 21:58:11 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__MS_Greek.st,v 1.4 2005-03-31 18:49:01 cg Exp $'
! !
--- a/CharacterEncoderImplementations__MS_Hebrew.st Thu Mar 31 20:21:44 2005 +0200
+++ b/CharacterEncoderImplementations__MS_Hebrew.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
+"
+ CP1255 / Microsoft Hebrew
+
+ [see with:]
+ CharacterEncoderImplementations::MS_Hebrew showCharacterSet
+
+ [author:]
+ Claus Gittinger
+"
! !
!MS_Hebrew class methodsFor:'mapping'!
mapFileURL2_relativePathName
^ 'CP1255'
+
+ "
+ self generateCode
+ "
!
mapping
@@ -266,8 +282,330 @@
"
! !
+!MS_Hebrew 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 > 16rFE ifTrue:[
+ ^ self decodingError.
+ ].
+ [
+ |t|
+ t := #(
+ "16r0080" 16r0000 " invalid "
+ "16r0081" 16r0000 " invalid "
+ "16r0082" 16r201A " SINGLE LOW-9 QUOTATION MARK "
+ "16r0083" 16r0192 " LATIN SMALL LETTER F WITH HOOK "
+ "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" 16r0000 " invalid "
+ "16r008B" 16r2039 " SINGLE LEFT-POINTING ANGLE QUOTATION MARK "
+ "16r008C" 16r0000 " invalid "
+ "16r008D" 16r0000 " invalid "
+ "16r008E" 16r0000 " invalid "
+ "16r008F" 16r0000 " invalid "
+ "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" 16r0000 " invalid "
+ "16r009B" 16r203A " SINGLE RIGHT-POINTING ANGLE QUOTATION MARK "
+ "16r009C" 16r0000 " invalid "
+ "16r009D" 16r0000 " invalid "
+ "16r009E" 16r0000 " invalid "
+ "16r009F" 16r0000 " invalid "
+ "16r00A0" 16r00A0 " NO-BREAK SPACE "
+ "16r00A1" 16r0000 " invalid "
+ "16r00A2" 16r00A2 " CENT SIGN "
+ "16r00A3" 16r00A3 " POUND SIGN "
+ "16r00A4" 16r00A4 " CURRENCY SIGN "
+ "16r00A5" 16r00A5 " YEN SIGN "
+ "16r00A6" 16r00A6 " BROKEN BAR "
+ "16r00A7" 16r00A7 " SECTION SIGN "
+ "16r00A8" 16r00A8 " DIAERESIS "
+ "16r00A9" 16r00A9 " COPYRIGHT SIGN "
+ "16r00AA" 16r00D7 " MULTIPLICATION SIGN "
+ "16r00AB" 16r00AB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00AC" 16r00AC " NOT SIGN "
+ "16r00AD" 16r00AD " SOFT HYPHEN "
+ "16r00AE" 16r00AE " REGISTERED SIGN "
+ "16r00AF" 16r203E " OVERLINE "
+ "16r00B0" 16r00B0 " DEGREE SIGN "
+ "16r00B1" 16r00B1 " PLUS-MINUS SIGN "
+ "16r00B2" 16r00B2 " SUPERSCRIPT TWO "
+ "16r00B3" 16r00B3 " SUPERSCRIPT THREE "
+ "16r00B4" 16r00B4 " ACUTE ACCENT "
+ "16r00B5" 16r00B5 " MICRO SIGN "
+ "16r00B6" 16r00B6 " PILCROW SIGN "
+ "16r00B7" 16r00B7 " MIDDLE DOT "
+ "16r00B8" 16r00B8 " CEDILLA "
+ "16r00B9" 16r00B9 " SUPERSCRIPT ONE "
+ "16r00BA" 16r00F7 " DIVISION SIGN "
+ "16r00BB" 16r00BB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00BC" 16r00BC " VULGAR FRACTION ONE QUARTER "
+ "16r00BD" 16r00BD " VULGAR FRACTION ONE HALF "
+ "16r00BE" 16r00BE " VULGAR FRACTION THREE QUARTERS "
+ "16r00BF" 16r0000 " invalid "
+ "16r00C0" 16r0000 " invalid "
+ "16r00C1" 16r0000 " invalid "
+ "16r00C2" 16r0000 " invalid "
+ "16r00C3" 16r0000 " invalid "
+ "16r00C4" 16r0000 " invalid "
+ "16r00C5" 16r0000 " invalid "
+ "16r00C6" 16r0000 " invalid "
+ "16r00C7" 16r0000 " invalid "
+ "16r00C8" 16r0000 " invalid "
+ "16r00C9" 16r0000 " invalid "
+ "16r00CA" 16r0000 " invalid "
+ "16r00CB" 16r0000 " invalid "
+ "16r00CC" 16r0000 " invalid "
+ "16r00CD" 16r0000 " invalid "
+ "16r00CE" 16r0000 " invalid "
+ "16r00CF" 16r0000 " invalid "
+ "16r00D0" 16r0000 " invalid "
+ "16r00D1" 16r0000 " invalid "
+ "16r00D2" 16r0000 " invalid "
+ "16r00D3" 16r0000 " invalid "
+ "16r00D4" 16r0000 " invalid "
+ "16r00D5" 16r0000 " invalid "
+ "16r00D6" 16r0000 " invalid "
+ "16r00D7" 16r0000 " invalid "
+ "16r00D8" 16r0000 " invalid "
+ "16r00D9" 16r0000 " invalid "
+ "16r00DA" 16r0000 " invalid "
+ "16r00DB" 16r0000 " invalid "
+ "16r00DC" 16r0000 " invalid "
+ "16r00DD" 16r0000 " invalid "
+ "16r00DE" 16r0000 " invalid "
+ "16r00DF" 16r2017 " DOUBLE LOW LINE "
+ "16r00E0" 16r05D0 " HEBREW LETTER ALEF "
+ "16r00E1" 16r05D1 " HEBREW LETTER BET "
+ "16r00E2" 16r05D2 " HEBREW LETTER GIMEL "
+ "16r00E3" 16r05D3 " HEBREW LETTER DALET "
+ "16r00E4" 16r05D4 " HEBREW LETTER HE "
+ "16r00E5" 16r05D5 " HEBREW LETTER VAV "
+ "16r00E6" 16r05D6 " HEBREW LETTER ZAYIN "
+ "16r00E7" 16r05D7 " HEBREW LETTER HET "
+ "16r00E8" 16r05D8 " HEBREW LETTER TET "
+ "16r00E9" 16r05D9 " HEBREW LETTER YOD "
+ "16r00EA" 16r05DA " HEBREW LETTER FINAL KAF "
+ "16r00EB" 16r05DB " HEBREW LETTER KAF "
+ "16r00EC" 16r05DC " HEBREW LETTER LAMED "
+ "16r00ED" 16r05DD " HEBREW LETTER FINAL MEM "
+ "16r00EE" 16r05DE " HEBREW LETTER MEM "
+ "16r00EF" 16r05DF " HEBREW LETTER FINAL NUN "
+ "16r00F0" 16r05E0 " HEBREW LETTER NUN "
+ "16r00F1" 16r05E1 " HEBREW LETTER SAMEKH "
+ "16r00F2" 16r05E2 " HEBREW LETTER AYIN "
+ "16r00F3" 16r05E3 " HEBREW LETTER FINAL PE "
+ "16r00F4" 16r05E4 " HEBREW LETTER PE "
+ "16r00F5" 16r05E5 " HEBREW LETTER FINAL TSADI "
+ "16r00F6" 16r05E6 " HEBREW LETTER TSADI "
+ "16r00F7" 16r05E7 " HEBREW LETTER QOF "
+ "16r00F8" 16r05E8 " HEBREW LETTER RESH "
+ "16r00F9" 16r05E9 " HEBREW LETTER SHIN "
+ "16r00FA" 16r05EA " HEBREW LETTER TAV "
+ "16r00FB" 16r0000 " invalid "
+ "16r00FC" 16r0000 " invalid "
+ "16r00FD" 16r200E " LEFT-TO-RIGHT MARK "
+ "16r00FE" 16r200F " RIGHT-TO-LEFT MARK "
+ ) 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 <= 16r5EA ifTrue:[
+ unicode <= 16r192 ifTrue:[
+ unicode <= 16rF7 ifTrue:[
+ unicode <= 16rD7 ifTrue:[
+ unicode <= 16rBE ifTrue:[
+ [
+ |t|
+ t := #[
+ "16r00A0" 16rA0 " NO-BREAK SPACE "
+ "16r00A1" 16r00 " invalid "
+ "16r00A2" 16rA2 " CENT SIGN "
+ "16r00A3" 16rA3 " POUND SIGN "
+ "16r00A4" 16rA4 " CURRENCY SIGN "
+ "16r00A5" 16rA5 " YEN SIGN "
+ "16r00A6" 16rA6 " BROKEN BAR "
+ "16r00A7" 16rA7 " SECTION SIGN "
+ "16r00A8" 16rA8 " DIAERESIS "
+ "16r00A9" 16rA9 " COPYRIGHT SIGN "
+ "16r00AA" 16r00 " invalid "
+ "16r00AB" 16rAB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00AC" 16rAC " NOT SIGN "
+ "16r00AD" 16rAD " SOFT HYPHEN "
+ "16r00AE" 16rAE " REGISTERED SIGN "
+ "16r00AF" 16r00 " invalid "
+ "16r00B0" 16rB0 " DEGREE SIGN "
+ "16r00B1" 16rB1 " PLUS-MINUS SIGN "
+ "16r00B2" 16rB2 " SUPERSCRIPT TWO "
+ "16r00B3" 16rB3 " SUPERSCRIPT THREE "
+ "16r00B4" 16rB4 " ACUTE ACCENT "
+ "16r00B5" 16rB5 " MICRO SIGN "
+ "16r00B6" 16rB6 " PILCROW SIGN "
+ "16r00B7" 16rB7 " MIDDLE DOT "
+ "16r00B8" 16rB8 " CEDILLA "
+ "16r00B9" 16rB9 " SUPERSCRIPT ONE "
+ "16r00BA" 16r00 " invalid "
+ "16r00BB" 16rBB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00BC" 16rBC " VULGAR FRACTION ONE QUARTER "
+ "16r00BD" 16rBD " VULGAR FRACTION ONE HALF "
+ "16r00BE" 16rBE " VULGAR FRACTION THREE QUARTERS "
+ ] at:(unicode - 16r9F).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 16rD6 ifTrue:[
+ ^ self encodingError
+ ].
+ ^ "16r00D7" 16r00AA " MULTIPLICATION SIGN "
+ ].
+ unicode <= 16rF6 ifTrue:[
+ ^ self encodingError
+ ].
+ ^ "16r00F7" 16r00BA " DIVISION SIGN "
+ ].
+ unicode <= 16r191 ifTrue:[
+ ^ self encodingError
+ ].
+ ^ "16r0192" 16r0083 " LATIN SMALL LETTER F WITH HOOK "
+ ].
+ unicode <= 16r5CF ifTrue:[
+ ^ self encodingError
+ ].
+ ^ #[
+ "16r05D0" 16rE0 " HEBREW LETTER ALEF "
+ "16r05D1" 16rE1 " HEBREW LETTER BET "
+ "16r05D2" 16rE2 " HEBREW LETTER GIMEL "
+ "16r05D3" 16rE3 " HEBREW LETTER DALET "
+ "16r05D4" 16rE4 " HEBREW LETTER HE "
+ "16r05D5" 16rE5 " HEBREW LETTER VAV "
+ "16r05D6" 16rE6 " HEBREW LETTER ZAYIN "
+ "16r05D7" 16rE7 " HEBREW LETTER HET "
+ "16r05D8" 16rE8 " HEBREW LETTER TET "
+ "16r05D9" 16rE9 " HEBREW LETTER YOD "
+ "16r05DA" 16rEA " HEBREW LETTER FINAL KAF "
+ "16r05DB" 16rEB " HEBREW LETTER KAF "
+ "16r05DC" 16rEC " HEBREW LETTER LAMED "
+ "16r05DD" 16rED " HEBREW LETTER FINAL MEM "
+ "16r05DE" 16rEE " HEBREW LETTER MEM "
+ "16r05DF" 16rEF " HEBREW LETTER FINAL NUN "
+ "16r05E0" 16rF0 " HEBREW LETTER NUN "
+ "16r05E1" 16rF1 " HEBREW LETTER SAMEKH "
+ "16r05E2" 16rF2 " HEBREW LETTER AYIN "
+ "16r05E3" 16rF3 " HEBREW LETTER FINAL PE "
+ "16r05E4" 16rF4 " HEBREW LETTER PE "
+ "16r05E5" 16rF5 " HEBREW LETTER FINAL TSADI "
+ "16r05E6" 16rF6 " HEBREW LETTER TSADI "
+ "16r05E7" 16rF7 " HEBREW LETTER QOF "
+ "16r05E8" 16rF8 " HEBREW LETTER RESH "
+ "16r05E9" 16rF9 " HEBREW LETTER SHIN "
+ "16r05EA" 16rFA " HEBREW LETTER TAV "
+ ] at:(unicode - 16r5CF).
+ ].
+ unicode <= 16r200D ifTrue:[
+ ^ self encodingError
+ ].
+ unicode <= 16r203E ifTrue:[
+ [
+ |t|
+ t := #[
+ "16r200E" 16rFD " LEFT-TO-RIGHT MARK "
+ "16r200F" 16rFE " RIGHT-TO-LEFT MARK "
+ "16r2010" 16r00 " invalid "
+ "16r2011" 16r00 " invalid "
+ "16r2012" 16r00 " invalid "
+ "16r2013" 16r96 " EN DASH "
+ "16r2014" 16r97 " EM DASH "
+ "16r2015" 16r00 " invalid "
+ "16r2016" 16r00 " invalid "
+ "16r2017" 16rDF " DOUBLE LOW LINE "
+ "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 "
+ "16r203B" 16r00 " invalid "
+ "16r203C" 16r00 " invalid "
+ "16r203D" 16r00 " invalid "
+ "16r203E" 16rAF " OVERLINE "
+ ] at:(unicode - 16r200D).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 16r2121 ifTrue:[
+ ^ self encodingError
+ ].
+ ^ "16r2122" 16r0099 " TRADE MARK SIGN "
+! !
+
!MS_Hebrew class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__MS_Hebrew.st,v 1.3 2004-03-09 21:59:46 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__MS_Hebrew.st,v 1.4 2005-03-31 18:48:50 cg Exp $'
! !
--- a/CharacterEncoderImplementations__MS_Symbol.st Thu Mar 31 20:21:44 2005 +0200
+++ b/CharacterEncoderImplementations__MS_Symbol.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
+"
+ CP1258 / Microsoft Symbol
+
+ [see with:]
+ CharacterEncoderImplementations::MS_Symbol showCharacterSet
+
+ [author:]
+ Claus Gittinger
+"
! !
!MS_Symbol class methodsFor:'mapping'!
mapFileURL2_relativePathName
- ^ 'CP1258'
+ ^ 'CP10008 '
+
+ "
+ self generateCode
+ "
!
mapping
@@ -72,5 +88,5 @@
!MS_Symbol class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__MS_Symbol.st,v 1.4 2004-03-09 21:59:49 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__MS_Symbol.st,v 1.5 2005-03-31 18:48:55 cg Exp $'
! !
--- a/Encoder_MS_Ansi.st Thu Mar 31 20:21:44 2005 +0200
+++ b/Encoder_MS_Ansi.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
+"
+ Microsoft ANSI
+
+ [see with:]
+ CharacterEncoderImplementations::MS_Ansi showCharacterSet
+
+ [author:]
+ Claus Gittinger
+"
! !
!MS_Ansi class methodsFor:'mapping'!
mapFileURL2_relativePathName
^ 'CP1252'
+
+ "
+ self generateCode
+ "
!
mapping
@@ -576,5 +592,5 @@
!MS_Ansi class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_MS_Ansi.st,v 1.4 2004-03-09 21:58:08 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_MS_Ansi.st,v 1.5 2005-03-31 18:48:41 cg Exp $'
! !
--- a/Encoder_MS_Arabic.st Thu Mar 31 20:21:44 2005 +0200
+++ b/Encoder_MS_Arabic.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
+"
+ CP1256 / Microsoft Arabic
+
+ [see with:]
+ CharacterEncoderImplementations::MS_Arabic showCharacterSet
+
+ [author:]
+ Claus Gittinger
+"
! !
!MS_Arabic class methodsFor:'mapping'!
mapFileURL2_relativePathName
^ 'CP1256'
+
+ "
+ self generateCode
+ "
!
mapping
@@ -823,5 +839,5 @@
!MS_Arabic class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_MS_Arabic.st,v 1.3 2004-03-09 22:01:11 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_MS_Arabic.st,v 1.4 2005-03-31 18:48:44 cg Exp $'
! !
--- a/Encoder_MS_Baltic.st Thu Mar 31 20:21:44 2005 +0200
+++ b/Encoder_MS_Baltic.st Thu Mar 31 20:49:01 2005 +0200
@@ -35,16 +35,822 @@
other person. No title to or ownership of the software is
hereby transferred.
"
+!
+
+documentation
+"
+ CP1257 / Microsoft Baltic
+
+ [see with:]
+ CharacterEncoderImplementations::MS_Baltic showCharacterSet
+
+ [author:]
+ Claus Gittinger
+"
! !
!MS_Baltic class methodsFor:'mapping'!
mapFileURL2_relativePathName
^ 'CP1257'
+
+ "
+ self generateCode
+ "
+!
+
+mapping
+"
+# From: http://std.dkuug.dk/i18n/charmaps/CP1257
+
+<code_set_name> CP1257
+<comment_char> %
+<escape_char> /
+% version: 1.0
+% repertoiremap: mnemonic,ds
+% source: CEN/TC304 N283
+
+% alias WINBALTRIM
+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)
+<.9> /x82 <U201A> SINGLE LOW-9 QUOTATION MARK
+<:9> /x84 <U201E> DOUBLE LOW-9 QUOTATION MARK
+<.3> /x85 <U2026> HORIZONTAL ELLIPSIS
+<//-> /x86 <U2020> DAGGER
+<//=> /x87 <U2021> DOUBLE DAGGER
+<%0> /x89 <U2030> PER MILLE SIGN
+<<1> /x8B <U2039> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+<'6> /x91 <U2018> LEFT SINGLE QUOTATION MARK
+<'9> /x92 <U2019> RIGHT SINGLE QUOTATION MARK
+<'6> /x93 <U201C> LEFT DOUBLE QUOTATION MARK
+<'9> /x94 <U201D> RIGHT DOUBLE QUOTATION MARK
+<sb> /x95 <U2022> BULLET
+<-N> /x96 <U2013> EN DASH
+<-M> /x97 <U2014> EM DASH
+<TM> /x99 <U2122> TRADE MARK SIGN
+</>1> /x9B <U203A> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+<NS> /xA0 <U00A0> NO-BREAK SPACE
+<Ct> /xA2 <U00A2> CENT SIGN
+<Pd> /xA3 <U00A3> POUND SIGN
+<Cu> /xA4 <U00A4> CURRENCY SIGN
+<BB> /xA6 <U00A6> BROKEN BAR
+<SE> /xA7 <U00A7> SECTION SIGN
+<O//> /xA8 <U00D8> LATIN CAPITAL LETTER O WITH STROKE
+<Co> /xA9 <U00A9> COPYRIGHT SIGN
+<R,> /xAA <U0156> LATIN CAPITAL LETTER R WITH CEDILLA
+<<<> /xAB <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+<NO> /xAC <U00AC> NOT SIGN
+<--> /xAD <U00AD> SOFT HYPHEN
+<Rg> /xAE <U00AE> REGISTERED SIGN
+<AE> /xAF <U00C6> LATIN CAPITAL LETTER AE
+<DG> /xB0 <U00B0> DEGREE SIGN
+<+-> /xB1 <U00B1> PLUS-MINUS SIGN
+<2S> /xB2 <U00B2> SUPERSCRIPT TWO
+<3S> /xB3 <U00B3> SUPERSCRIPT THREE
+<My> /xB5 <U00B5> MICRO SIGN
+<PI> /xB6 <U00B6> PILCROW SIGN
+<.M> /xB7 <U00B7> MIDDLE DOT
+<o//> /xB8 <U00F8> LATIN SMALL LETTER O WITH STROKE
+<1S> /xB9 <U00B9> SUPERSCRIPT ONE
+<r,> /xBA <U0157> LATIN SMALL LETTER R WITH CEDILLA
+</>/>> /xBB <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+<14> /xBC <U00BC> VULGAR FRACTION ONE QUARTER
+<12> /xBD <U00BD> VULGAR FRACTION ONE HALF
+<34> /xBE <U00BE> VULGAR FRACTION THREE QUARTERS
+<ae> /xBF <U00E6> LATIN SMALL LETTER AE
+<A;> /xC0 <U0104> LATIN CAPITAL LETTER A WITH OGONEK
+<I;> /xC1 <U012E> LATIN CAPITAL LETTER I WITH OGONEK
+<A-> /xC2 <U0100> LATIN CAPITAL LETTER A WITH MACRON
+<C'> /xC3 <U0106> LATIN CAPITAL LETTER C WITH ACUTE
+<A:> /xC4 <U00C4> LATIN CAPITAL LETTER A WITH DIAERESIS
+<AA> /xC5 <U00C5> LATIN CAPITAL LETTER A WITH RING ABOVE
+<E;> /xC6 <U0118> LATIN CAPITAL LETTER E WITH OGONEK
+<E-> /xC7 <U0112> LATIN CAPITAL LETTER E WITH MACRON
+<C<> /xC8 <U010C> LATIN CAPITAL LETTER C WITH CARON
+<E'> /xC9 <U00C9> LATIN CAPITAL LETTER E WITH ACUTE
+<Z'> /xCA <U0179> LATIN CAPITAL LETTER Z WITH ACUTE
+<E.> /xCB <U0116> LATIN CAPITAL LETTER E WITH DOT ABOVE
+<G,> /xCC <U0122> LATIN CAPITAL LETTER G WITH CEDILLA
+<K,> /xCD <U0136> LATIN CAPITAL LETTER K WITH CEDILLA
+<I-> /xCE <U012A> LATIN CAPITAL LETTER I WITH MACRON
+<L,> /xCF <U013B> LATIN CAPITAL LETTER L WITH CEDILLA
+<S<> /xD0 <U0160> LATIN CAPITAL LETTER S WITH CARON
+<N'> /xD1 <U0143> LATIN CAPITAL LETTER N WITH ACUTE
+<N,> /xD2 <U0145> LATIN CAPITAL LETTER N WITH CEDILLA
+<O'> /xD3 <U00D3> LATIN CAPITAL LETTER O WITH ACUTE
+<O-> /xD4 <U014C> LATIN CAPITAL LETTER O WITH MACRON
+<O?> /xD5 <U00D5> LATIN CAPITAL LETTER O WITH TILDE
+<O:> /xD6 <U00D6> LATIN CAPITAL LETTER O WITH DIAERESIS
+<*X> /xD7 <U00D7> MULTIPLICATION SIGN
+<U;> /xD8 <U0172> LATIN CAPITAL LETTER U WITH OGONEK
+<L//> /xD9 <U0141> LATIN CAPITAL LETTER L WITH STROKE
+<S'> /xDA <U015A> LATIN CAPITAL LETTER S WITH ACUTE
+<U-> /xDB <U016A> LATIN CAPITAL LETTER U WITH MACRON
+<U:> /xDC <U00DC> LATIN CAPITAL LETTER U WITH DIAERESIS
+<Z.> /xDD <U017B> LATIN CAPITAL LETTER Z WITH DOT ABOVE
+<Z<> /xDE <U017D> LATIN CAPITAL LETTER Z WITH CARON
+<ss> /xDF <U00DF> LATIN SMALL LETTER SHARP S (German)
+<a;> /xE0 <U0105> LATIN SMALL LETTER A WITH OGONEK
+<i;> /xE1 <U012F> LATIN SMALL LETTER I WITH OGONEK
+<a-> /xE2 <U0101> LATIN SMALL LETTER A WITH MACRON
+<c'> /xE3 <U0107> LATIN SMALL LETTER C WITH ACUTE
+<a:> /xE4 <U00E4> LATIN SMALL LETTER A WITH DIAERESIS
+<aa> /xE5 <U00E5> LATIN SMALL LETTER A WITH RING ABOVE
+<e;> /xE6 <U0119> LATIN SMALL LETTER E WITH OGONEK
+<e-> /xE7 <U0113> LATIN SMALL LETTER E WITH MACRON
+<c<> /xE8 <U010D> LATIN SMALL LETTER C WITH CARON
+<e'> /xE9 <U00E9> LATIN SMALL LETTER E WITH ACUTE
+<z'> /xEA <U017A> LATIN SMALL LETTER Z WITH ACUTE
+<e.> /xEB <U0117> LATIN SMALL LETTER E WITH DOT ABOVE
+<g,> /xEC <U0123> LATIN SMALL LETTER G WITH CEDILLA
+<k,> /xED <U0137> LATIN SMALL LETTER K WITH CEDILLA
+<i-> /xEE <U012B> LATIN SMALL LETTER I WITH MACRON
+<l,> /xEF <U013C> LATIN SMALL LETTER L WITH CEDILLA
+<s<> /xF0 <U0161> LATIN SMALL LETTER S WITH CARON
+<n'> /xF1 <U0144> LATIN SMALL LETTER N WITH ACUTE
+<n,> /xF2 <U0146> LATIN SMALL LETTER N WITH CEDILLA
+<o'> /xF3 <U00F3> LATIN SMALL LETTER O WITH ACUTE
+<o-> /xF4 <U014D> LATIN SMALL LETTER O WITH MACRON
+<o?> /xF5 <U00F5> LATIN SMALL LETTER O WITH TILDE
+<o:> /xF6 <U00F6> LATIN SMALL LETTER O WITH DIAERESIS
+<-:> /xF7 <U00F7> DIVISION SIGN
+<u;> /xF8 <U0173> LATIN SMALL LETTER U WITH OGONEK
+<l//> /xF9 <U0142> LATIN SMALL LETTER L WITH STROKE
+<s'> /xFA <U015B> LATIN SMALL LETTER S WITH ACUTE
+<u-> /xFB <U016B> LATIN SMALL LETTER U WITH MACRON
+<u:> /xFC <U00FC> LATIN SMALL LETTER U WITH DIAERESIS
+<z.> /xFD <U017C> LATIN SMALL LETTER Z WITH DOT ABOVE
+<z<> /xFE <U017E> LATIN SMALL LETTER Z WITH CARON
+<NUL> /x00 <U0000> NUL
+<SOH> /x01 <U0001> START OF HEADING (SOH)
+<STX> /x02 <U0002> START OF TEXT (STX)
+<ETX> /x03 <U0003> END OF TEXT (ETX)
+<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
+<ENQ> /x05 <U0005> ENQUIRY (ENQ)
+<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
+<alert> /x07 <U0007> BELL (BEL)
+<BEL> /x07 <U0007> BELL (BEL)
+<backspace> /x08 <U0008> BACKSPACE (BS)
+<tab> /x09 <U0009> CHARACTER TABULATION (HT)
+<newline> /x0A <U000A> LINE FEED (LF)
+<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
+<form-feed> /x0C <U000C> FORM FEED (FF)
+<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
+<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
+<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
+<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
+<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
+<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
+<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
+<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
+<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
+<CAN> /x18 <U0018> CANCEL (CAN)
+<SUB> /x1A <U001A> SUBSTITUTE (SUB)
+<ESC> /x1B <U001B> ESCAPE (ESC)
+<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
+<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
+<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
+<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
+<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
+<DEL> /x7F <U007F> DELETE (DEL)
+<space> /x20 <U0020> SPACE
+<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
+<quotation-mark> /x22 <U0022> QUOTATION MARK
+<number-sign> /x23 <U0023> NUMBER SIGN
+<dollar-sign> /x24 <U0024> DOLLAR SIGN
+<percent-sign> /x25 <U0025> PERCENT SIGN
+<ampersand> /x26 <U0026> AMPERSAND
+<apostrophe> /x27 <U0027> APOSTROPHE
+<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
+<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
+<asterisk> /x2A <U002A> ASTERISK
+<plus-sign> /x2B <U002B> PLUS SIGN
+<comma> /x2C <U002C> COMMA
+<hyphen> /x2D <U002D> HYPHEN-MINUS
+<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
+<period> /x2E <U002E> FULL STOP
+<full-stop> /x2E <U002E> FULL STOP
+<slash> /x2F <U002F> SOLIDUS
+<solidus> /x2F <U002F> SOLIDUS
+<zero> /x30 <U0030> DIGIT ZERO
+<one> /x31 <U0031> DIGIT ONE
+<two> /x32 <U0032> DIGIT TWO
+<three> /x33 <U0033> DIGIT THREE
+<four> /x34 <U0034> DIGIT FOUR
+<five> /x35 <U0035> DIGIT FIVE
+<six> /x36 <U0036> DIGIT SIX
+<seven> /x37 <U0037> DIGIT SEVEN
+<eight> /x38 <U0038> DIGIT EIGHT
+<nine> /x39 <U0039> DIGIT NINE
+<colon> /x3A <U003A> COLON
+<semicolon> /x3B <U003B> SEMICOLON
+<less-than-sign> /x3C <U003C> LESS-THAN SIGN
+<equals-sign> /x3D <U003D> EQUALS SIGN
+<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
+<question-mark> /x3F <U003F> QUESTION MARK
+<commercial-at> /x40 <U0040> COMMERCIAL AT
+<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
+<backslash> /x5C <U005C> REVERSE SOLIDUS
+<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
+<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
+<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
+<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
+<underscore> /x5F <U005F> LOW LINE
+<low-line> /x5F <U005F> LOW LINE
+<grave-accent> /x60 <U0060> GRAVE ACCENT
+<left-brace> /x7B <U007B> LEFT CURLY BRACKET
+<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
+<vertical-line> /x7C <U007C> VERTICAL LINE
+<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
+<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
+<tilde> /x7E <U007E> TILDE
+END CHARMAP
+
+"
+! !
+
+!MS_Baltic 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 > 16rFE 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" 16r0000 " invalid "
+ "16r008B" 16r2039 " SINGLE LEFT-POINTING ANGLE QUOTATION MARK "
+ "16r008C" 16r0000 " invalid "
+ "16r008D" 16r0000 " invalid "
+ "16r008E" 16r0000 " invalid "
+ "16r008F" 16r0000 " invalid "
+ "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" 16r0000 " invalid "
+ "16r009B" 16r203A " SINGLE RIGHT-POINTING ANGLE QUOTATION MARK "
+ "16r009C" 16r0000 " invalid "
+ "16r009D" 16r0000 " invalid "
+ "16r009E" 16r0000 " invalid "
+ "16r009F" 16r0000 " invalid "
+ "16r00A0" 16r00A0 " NO-BREAK SPACE "
+ "16r00A1" 16r0000 " invalid "
+ "16r00A2" 16r00A2 " CENT SIGN "
+ "16r00A3" 16r00A3 " POUND SIGN "
+ "16r00A4" 16r00A4 " CURRENCY SIGN "
+ "16r00A5" 16r0000 " invalid "
+ "16r00A6" 16r00A6 " BROKEN BAR "
+ "16r00A7" 16r00A7 " SECTION SIGN "
+ "16r00A8" 16r00D8 " LATIN CAPITAL LETTER O WITH STROKE "
+ "16r00A9" 16r00A9 " COPYRIGHT SIGN "
+ "16r00AA" 16r0156 " LATIN CAPITAL LETTER R WITH CEDILLA "
+ "16r00AB" 16r00AB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00AC" 16r00AC " NOT SIGN "
+ "16r00AD" 16r00AD " SOFT HYPHEN "
+ "16r00AE" 16r00AE " REGISTERED SIGN "
+ "16r00AF" 16r00C6 " LATIN CAPITAL LETTER AE "
+ "16r00B0" 16r00B0 " DEGREE SIGN "
+ "16r00B1" 16r00B1 " PLUS-MINUS SIGN "
+ "16r00B2" 16r00B2 " SUPERSCRIPT TWO "
+ "16r00B3" 16r00B3 " SUPERSCRIPT THREE "
+ "16r00B4" 16r0000 " invalid "
+ "16r00B5" 16r00B5 " MICRO SIGN "
+ "16r00B6" 16r00B6 " PILCROW SIGN "
+ "16r00B7" 16r00B7 " MIDDLE DOT "
+ "16r00B8" 16r00F8 " LATIN SMALL LETTER O WITH STROKE "
+ "16r00B9" 16r00B9 " SUPERSCRIPT ONE "
+ "16r00BA" 16r0157 " LATIN SMALL LETTER R WITH CEDILLA "
+ "16r00BB" 16r00BB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00BC" 16r00BC " VULGAR FRACTION ONE QUARTER "
+ "16r00BD" 16r00BD " VULGAR FRACTION ONE HALF "
+ "16r00BE" 16r00BE " VULGAR FRACTION THREE QUARTERS "
+ "16r00BF" 16r00E6 " LATIN SMALL LETTER AE "
+ "16r00C0" 16r0104 " LATIN CAPITAL LETTER A WITH OGONEK "
+ "16r00C1" 16r012E " LATIN CAPITAL LETTER I WITH OGONEK "
+ "16r00C2" 16r0100 " LATIN CAPITAL LETTER A WITH MACRON "
+ "16r00C3" 16r0106 " LATIN CAPITAL LETTER C WITH ACUTE "
+ "16r00C4" 16r00C4 " LATIN CAPITAL LETTER A WITH DIAERESIS "
+ "16r00C5" 16r00C5 " LATIN CAPITAL LETTER A WITH RING ABOVE "
+ "16r00C6" 16r0118 " LATIN CAPITAL LETTER E WITH OGONEK "
+ "16r00C7" 16r0112 " LATIN CAPITAL LETTER E WITH MACRON "
+ "16r00C8" 16r010C " LATIN CAPITAL LETTER C WITH CARON "
+ "16r00C9" 16r00C9 " LATIN CAPITAL LETTER E WITH ACUTE "
+ "16r00CA" 16r0179 " LATIN CAPITAL LETTER Z WITH ACUTE "
+ "16r00CB" 16r0116 " LATIN CAPITAL LETTER E WITH DOT ABOVE "
+ "16r00CC" 16r0122 " LATIN CAPITAL LETTER G WITH CEDILLA "
+ "16r00CD" 16r0136 " LATIN CAPITAL LETTER K WITH CEDILLA "
+ "16r00CE" 16r012A " LATIN CAPITAL LETTER I WITH MACRON "
+ "16r00CF" 16r013B " LATIN CAPITAL LETTER L WITH CEDILLA "
+ "16r00D0" 16r0160 " LATIN CAPITAL LETTER S WITH CARON "
+ "16r00D1" 16r0143 " LATIN CAPITAL LETTER N WITH ACUTE "
+ "16r00D2" 16r0145 " LATIN CAPITAL LETTER N WITH CEDILLA "
+ "16r00D3" 16r00D3 " LATIN CAPITAL LETTER O WITH ACUTE "
+ "16r00D4" 16r014C " LATIN CAPITAL LETTER O WITH MACRON "
+ "16r00D5" 16r00D5 " LATIN CAPITAL LETTER O WITH TILDE "
+ "16r00D6" 16r00D6 " LATIN CAPITAL LETTER O WITH DIAERESIS "
+ "16r00D7" 16r00D7 " MULTIPLICATION SIGN "
+ "16r00D8" 16r0172 " LATIN CAPITAL LETTER U WITH OGONEK "
+ "16r00D9" 16r0141 " LATIN CAPITAL LETTER L WITH STROKE "
+ "16r00DA" 16r015A " LATIN CAPITAL LETTER S WITH ACUTE "
+ "16r00DB" 16r016A " LATIN CAPITAL LETTER U WITH MACRON "
+ "16r00DC" 16r00DC " LATIN CAPITAL LETTER U WITH DIAERESIS "
+ "16r00DD" 16r017B " LATIN CAPITAL LETTER Z WITH DOT ABOVE "
+ "16r00DE" 16r017D " LATIN CAPITAL LETTER Z WITH CARON "
+ "16r00DF" 16r00DF " LATIN SMALL LETTER SHARP S (German) "
+ "16r00E0" 16r0105 " LATIN SMALL LETTER A WITH OGONEK "
+ "16r00E1" 16r012F " LATIN SMALL LETTER I WITH OGONEK "
+ "16r00E2" 16r0101 " LATIN SMALL LETTER A WITH MACRON "
+ "16r00E3" 16r0107 " LATIN SMALL LETTER C WITH ACUTE "
+ "16r00E4" 16r00E4 " LATIN SMALL LETTER A WITH DIAERESIS "
+ "16r00E5" 16r00E5 " LATIN SMALL LETTER A WITH RING ABOVE "
+ "16r00E6" 16r0119 " LATIN SMALL LETTER E WITH OGONEK "
+ "16r00E7" 16r0113 " LATIN SMALL LETTER E WITH MACRON "
+ "16r00E8" 16r010D " LATIN SMALL LETTER C WITH CARON "
+ "16r00E9" 16r00E9 " LATIN SMALL LETTER E WITH ACUTE "
+ "16r00EA" 16r017A " LATIN SMALL LETTER Z WITH ACUTE "
+ "16r00EB" 16r0117 " LATIN SMALL LETTER E WITH DOT ABOVE "
+ "16r00EC" 16r0123 " LATIN SMALL LETTER G WITH CEDILLA "
+ "16r00ED" 16r0137 " LATIN SMALL LETTER K WITH CEDILLA "
+ "16r00EE" 16r012B " LATIN SMALL LETTER I WITH MACRON "
+ "16r00EF" 16r013C " LATIN SMALL LETTER L WITH CEDILLA "
+ "16r00F0" 16r0161 " LATIN SMALL LETTER S WITH CARON "
+ "16r00F1" 16r0144 " LATIN SMALL LETTER N WITH ACUTE "
+ "16r00F2" 16r0146 " LATIN SMALL LETTER N WITH CEDILLA "
+ "16r00F3" 16r00F3 " LATIN SMALL LETTER O WITH ACUTE "
+ "16r00F4" 16r014D " LATIN SMALL LETTER O WITH MACRON "
+ "16r00F5" 16r00F5 " LATIN SMALL LETTER O WITH TILDE "
+ "16r00F6" 16r00F6 " LATIN SMALL LETTER O WITH DIAERESIS "
+ "16r00F7" 16r00F7 " DIVISION SIGN "
+ "16r00F8" 16r0173 " LATIN SMALL LETTER U WITH OGONEK "
+ "16r00F9" 16r0142 " LATIN SMALL LETTER L WITH STROKE "
+ "16r00FA" 16r015B " LATIN SMALL LETTER S WITH ACUTE "
+ "16r00FB" 16r016B " LATIN SMALL LETTER U WITH MACRON "
+ "16r00FC" 16r00FC " LATIN SMALL LETTER U WITH DIAERESIS "
+ "16r00FD" 16r017C " LATIN SMALL LETTER Z WITH DOT ABOVE "
+ "16r00FE" 16r017E " LATIN SMALL LETTER Z WITH CARON "
+ ) 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 <= 16r17E ifTrue:[
+ [
+ |t|
+ t := #[
+ "16r00A0" 16rA0 " NO-BREAK SPACE "
+ "16r00A1" 16r00 " invalid "
+ "16r00A2" 16rA2 " CENT SIGN "
+ "16r00A3" 16rA3 " POUND SIGN "
+ "16r00A4" 16rA4 " CURRENCY SIGN "
+ "16r00A5" 16r00 " invalid "
+ "16r00A6" 16rA6 " BROKEN BAR "
+ "16r00A7" 16rA7 " SECTION SIGN "
+ "16r00A8" 16r00 " invalid "
+ "16r00A9" 16rA9 " COPYRIGHT SIGN "
+ "16r00AA" 16r00 " invalid "
+ "16r00AB" 16rAB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00AC" 16rAC " NOT SIGN "
+ "16r00AD" 16rAD " SOFT HYPHEN "
+ "16r00AE" 16rAE " REGISTERED SIGN "
+ "16r00AF" 16r00 " invalid "
+ "16r00B0" 16rB0 " DEGREE SIGN "
+ "16r00B1" 16rB1 " PLUS-MINUS SIGN "
+ "16r00B2" 16rB2 " SUPERSCRIPT TWO "
+ "16r00B3" 16rB3 " SUPERSCRIPT THREE "
+ "16r00B4" 16r00 " invalid "
+ "16r00B5" 16rB5 " MICRO SIGN "
+ "16r00B6" 16rB6 " PILCROW SIGN "
+ "16r00B7" 16rB7 " MIDDLE DOT "
+ "16r00B8" 16r00 " invalid "
+ "16r00B9" 16rB9 " SUPERSCRIPT ONE "
+ "16r00BA" 16r00 " invalid "
+ "16r00BB" 16rBB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00BC" 16rBC " VULGAR FRACTION ONE QUARTER "
+ "16r00BD" 16rBD " VULGAR FRACTION ONE HALF "
+ "16r00BE" 16rBE " VULGAR FRACTION THREE QUARTERS "
+ "16r00BF" 16r00 " invalid "
+ "16r00C0" 16r00 " invalid "
+ "16r00C1" 16r00 " invalid "
+ "16r00C2" 16r00 " invalid "
+ "16r00C3" 16r00 " invalid "
+ "16r00C4" 16rC4 " LATIN CAPITAL LETTER A WITH DIAERESIS "
+ "16r00C5" 16rC5 " LATIN CAPITAL LETTER A WITH RING ABOVE "
+ "16r00C6" 16rAF " LATIN CAPITAL LETTER AE "
+ "16r00C7" 16r00 " invalid "
+ "16r00C8" 16r00 " invalid "
+ "16r00C9" 16rC9 " LATIN CAPITAL LETTER E WITH ACUTE "
+ "16r00CA" 16r00 " invalid "
+ "16r00CB" 16r00 " invalid "
+ "16r00CC" 16r00 " invalid "
+ "16r00CD" 16r00 " invalid "
+ "16r00CE" 16r00 " invalid "
+ "16r00CF" 16r00 " invalid "
+ "16r00D0" 16r00 " invalid "
+ "16r00D1" 16r00 " invalid "
+ "16r00D2" 16r00 " invalid "
+ "16r00D3" 16rD3 " LATIN CAPITAL LETTER O WITH ACUTE "
+ "16r00D4" 16r00 " invalid "
+ "16r00D5" 16rD5 " LATIN CAPITAL LETTER O WITH TILDE "
+ "16r00D6" 16rD6 " LATIN CAPITAL LETTER O WITH DIAERESIS "
+ "16r00D7" 16rD7 " MULTIPLICATION SIGN "
+ "16r00D8" 16rA8 " LATIN CAPITAL LETTER O WITH STROKE "
+ "16r00D9" 16r00 " invalid "
+ "16r00DA" 16r00 " invalid "
+ "16r00DB" 16r00 " invalid "
+ "16r00DC" 16rDC " LATIN CAPITAL LETTER U WITH DIAERESIS "
+ "16r00DD" 16r00 " invalid "
+ "16r00DE" 16r00 " invalid "
+ "16r00DF" 16rDF " LATIN SMALL LETTER SHARP S (German) "
+ "16r00E0" 16r00 " invalid "
+ "16r00E1" 16r00 " invalid "
+ "16r00E2" 16r00 " invalid "
+ "16r00E3" 16r00 " invalid "
+ "16r00E4" 16rE4 " LATIN SMALL LETTER A WITH DIAERESIS "
+ "16r00E5" 16rE5 " LATIN SMALL LETTER A WITH RING ABOVE "
+ "16r00E6" 16rBF " LATIN SMALL LETTER AE "
+ "16r00E7" 16r00 " invalid "
+ "16r00E8" 16r00 " invalid "
+ "16r00E9" 16rE9 " LATIN SMALL LETTER E WITH ACUTE "
+ "16r00EA" 16r00 " invalid "
+ "16r00EB" 16r00 " invalid "
+ "16r00EC" 16r00 " invalid "
+ "16r00ED" 16r00 " invalid "
+ "16r00EE" 16r00 " invalid "
+ "16r00EF" 16r00 " invalid "
+ "16r00F0" 16r00 " invalid "
+ "16r00F1" 16r00 " invalid "
+ "16r00F2" 16r00 " invalid "
+ "16r00F3" 16rF3 " LATIN SMALL LETTER O WITH ACUTE "
+ "16r00F4" 16r00 " invalid "
+ "16r00F5" 16rF5 " LATIN SMALL LETTER O WITH TILDE "
+ "16r00F6" 16rF6 " LATIN SMALL LETTER O WITH DIAERESIS "
+ "16r00F7" 16rF7 " DIVISION SIGN "
+ "16r00F8" 16rB8 " LATIN SMALL LETTER O WITH STROKE "
+ "16r00F9" 16r00 " invalid "
+ "16r00FA" 16r00 " invalid "
+ "16r00FB" 16r00 " invalid "
+ "16r00FC" 16rFC " LATIN SMALL LETTER U WITH DIAERESIS "
+ "16r00FD" 16r00 " invalid "
+ "16r00FE" 16r00 " invalid "
+ "16r00FF" 16r00 " invalid "
+ "16r0100" 16rC2 " LATIN CAPITAL LETTER A WITH MACRON "
+ "16r0101" 16rE2 " LATIN SMALL LETTER A WITH MACRON "
+ "16r0102" 16r00 " invalid "
+ "16r0103" 16r00 " invalid "
+ "16r0104" 16rC0 " LATIN CAPITAL LETTER A WITH OGONEK "
+ "16r0105" 16rE0 " LATIN SMALL LETTER A WITH OGONEK "
+ "16r0106" 16rC3 " LATIN CAPITAL LETTER C WITH ACUTE "
+ "16r0107" 16rE3 " 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" 16r00 " invalid "
+ "16r010F" 16r00 " invalid "
+ "16r0110" 16r00 " invalid "
+ "16r0111" 16r00 " invalid "
+ "16r0112" 16rC7 " LATIN CAPITAL LETTER E WITH MACRON "
+ "16r0113" 16rE7 " LATIN SMALL LETTER E WITH MACRON "
+ "16r0114" 16r00 " invalid "
+ "16r0115" 16r00 " invalid "
+ "16r0116" 16rCB " LATIN CAPITAL LETTER E WITH DOT ABOVE "
+ "16r0117" 16rEB " LATIN SMALL LETTER E WITH DOT ABOVE "
+ "16r0118" 16rC6 " LATIN CAPITAL LETTER E WITH OGONEK "
+ "16r0119" 16rE6 " LATIN SMALL LETTER E WITH OGONEK "
+ "16r011A" 16r00 " invalid "
+ "16r011B" 16r00 " invalid "
+ "16r011C" 16r00 " invalid "
+ "16r011D" 16r00 " invalid "
+ "16r011E" 16r00 " invalid "
+ "16r011F" 16r00 " invalid "
+ "16r0120" 16r00 " invalid "
+ "16r0121" 16r00 " invalid "
+ "16r0122" 16rCC " LATIN CAPITAL LETTER G WITH CEDILLA "
+ "16r0123" 16rEC " LATIN SMALL LETTER G WITH CEDILLA "
+ "16r0124" 16r00 " invalid "
+ "16r0125" 16r00 " invalid "
+ "16r0126" 16r00 " invalid "
+ "16r0127" 16r00 " invalid "
+ "16r0128" 16r00 " invalid "
+ "16r0129" 16r00 " invalid "
+ "16r012A" 16rCE " LATIN CAPITAL LETTER I WITH MACRON "
+ "16r012B" 16rEE " LATIN SMALL LETTER I WITH MACRON "
+ "16r012C" 16r00 " invalid "
+ "16r012D" 16r00 " invalid "
+ "16r012E" 16rC1 " LATIN CAPITAL LETTER I WITH OGONEK "
+ "16r012F" 16rE1 " LATIN SMALL LETTER I WITH OGONEK "
+ "16r0130" 16r00 " invalid "
+ "16r0131" 16r00 " invalid "
+ "16r0132" 16r00 " invalid "
+ "16r0133" 16r00 " invalid "
+ "16r0134" 16r00 " invalid "
+ "16r0135" 16r00 " invalid "
+ "16r0136" 16rCD " LATIN CAPITAL LETTER K WITH CEDILLA "
+ "16r0137" 16rED " LATIN SMALL LETTER K WITH CEDILLA "
+ "16r0138" 16r00 " invalid "
+ "16r0139" 16r00 " invalid "
+ "16r013A" 16r00 " invalid "
+ "16r013B" 16rCF " LATIN CAPITAL LETTER L WITH CEDILLA "
+ "16r013C" 16rEF " LATIN SMALL LETTER L WITH CEDILLA "
+ "16r013D" 16r00 " invalid "
+ "16r013E" 16r00 " invalid "
+ "16r013F" 16r00 " invalid "
+ "16r0140" 16r00 " invalid "
+ "16r0141" 16rD9 " LATIN CAPITAL LETTER L WITH STROKE "
+ "16r0142" 16rF9 " LATIN SMALL LETTER L WITH STROKE "
+ "16r0143" 16rD1 " LATIN CAPITAL LETTER N WITH ACUTE "
+ "16r0144" 16rF1 " LATIN SMALL LETTER N WITH ACUTE "
+ "16r0145" 16rD2 " LATIN CAPITAL LETTER N WITH CEDILLA "
+ "16r0146" 16rF2 " LATIN SMALL LETTER N WITH CEDILLA "
+ "16r0147" 16r00 " invalid "
+ "16r0148" 16r00 " invalid "
+ "16r0149" 16r00 " invalid "
+ "16r014A" 16r00 " invalid "
+ "16r014B" 16r00 " invalid "
+ "16r014C" 16rD4 " LATIN CAPITAL LETTER O WITH MACRON "
+ "16r014D" 16rF4 " LATIN SMALL LETTER O WITH MACRON "
+ "16r014E" 16r00 " invalid "
+ "16r014F" 16r00 " invalid "
+ "16r0150" 16r00 " invalid "
+ "16r0151" 16r00 " invalid "
+ "16r0152" 16r00 " invalid "
+ "16r0153" 16r00 " invalid "
+ "16r0154" 16r00 " invalid "
+ "16r0155" 16r00 " invalid "
+ "16r0156" 16rAA " LATIN CAPITAL LETTER R WITH CEDILLA "
+ "16r0157" 16rBA " LATIN SMALL LETTER R WITH CEDILLA "
+ "16r0158" 16r00 " invalid "
+ "16r0159" 16r00 " invalid "
+ "16r015A" 16rDA " LATIN CAPITAL LETTER S WITH ACUTE "
+ "16r015B" 16rFA " LATIN SMALL LETTER S WITH ACUTE "
+ "16r015C" 16r00 " invalid "
+ "16r015D" 16r00 " invalid "
+ "16r015E" 16r00 " invalid "
+ "16r015F" 16r00 " invalid "
+ "16r0160" 16rD0 " LATIN CAPITAL LETTER S WITH CARON "
+ "16r0161" 16rF0 " LATIN SMALL LETTER S WITH CARON "
+ "16r0162" 16r00 " invalid "
+ "16r0163" 16r00 " invalid "
+ "16r0164" 16r00 " invalid "
+ "16r0165" 16r00 " invalid "
+ "16r0166" 16r00 " invalid "
+ "16r0167" 16r00 " invalid "
+ "16r0168" 16r00 " invalid "
+ "16r0169" 16r00 " invalid "
+ "16r016A" 16rDB " LATIN CAPITAL LETTER U WITH MACRON "
+ "16r016B" 16rFB " LATIN SMALL LETTER U WITH MACRON "
+ "16r016C" 16r00 " invalid "
+ "16r016D" 16r00 " invalid "
+ "16r016E" 16r00 " invalid "
+ "16r016F" 16r00 " invalid "
+ "16r0170" 16r00 " invalid "
+ "16r0171" 16r00 " invalid "
+ "16r0172" 16rD8 " LATIN CAPITAL LETTER U WITH OGONEK "
+ "16r0173" 16rF8 " LATIN SMALL LETTER U WITH OGONEK "
+ "16r0174" 16r00 " invalid "
+ "16r0175" 16r00 " invalid "
+ "16r0176" 16r00 " invalid "
+ "16r0177" 16r00 " invalid "
+ "16r0178" 16r00 " invalid "
+ "16r0179" 16rCA " LATIN CAPITAL LETTER Z WITH ACUTE "
+ "16r017A" 16rEA " LATIN SMALL LETTER Z WITH ACUTE "
+ "16r017B" 16rDD " LATIN CAPITAL LETTER Z WITH DOT ABOVE "
+ "16r017C" 16rFD " LATIN SMALL LETTER Z WITH DOT ABOVE "
+ "16r017D" 16rDE " LATIN CAPITAL LETTER Z WITH CARON "
+ "16r017E" 16rFE " LATIN SMALL LETTER Z WITH CARON "
+ ] at:(unicode - 16r9F).
+ 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_Baltic class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_MS_Baltic.st,v 1.3 2004-03-09 22:00:06 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_MS_Baltic.st,v 1.4 2005-03-31 18:48:58 cg Exp $'
! !
--- a/Encoder_MS_Cyrillic.st Thu Mar 31 20:21:44 2005 +0200
+++ b/Encoder_MS_Cyrillic.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
+"
+ CP1251 / Microsoft Cyrillic
+
+ [see with:]
+ CharacterEncoderImplementations::MS_Cyrillic showCharacterSet
+
+ [author:]
+ Claus Gittinger
+"
! !
!MS_Cyrillic class methodsFor:'mapping'!
mapFileURL2_relativePathName
^ 'CP1251'
+
+ "
+ self generateCode
+ "
!
mapping
@@ -315,8 +331,392 @@
"
! !
+!MS_Cyrillic 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" 16r0402 " CYRILLIC CAPITAL LETTER DJE (Serbocroatian) "
+ "16r0081" 16r0403 " CYRILLIC CAPITAL LETTER GJE "
+ "16r0082" 16r201A " SINGLE LOW-9 QUOTATION MARK "
+ "16r0083" 16r0453 " CYRILLIC SMALL LETTER GJE "
+ "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" 16r0409 " CYRILLIC CAPITAL LETTER LJE "
+ "16r008B" 16r2039 " SINGLE LEFT-POINTING ANGLE QUOTATION MARK "
+ "16r008C" 16r040A " CYRILLIC CAPITAL LETTER NJE "
+ "16r008D" 16r040C " CYRILLIC CAPITAL LETTER KJE "
+ "16r008E" 16r040B " CYRILLIC CAPITAL LETTER TSHE (Serbocroatian) "
+ "16r008F" 16r040F " CYRILLIC CAPITAL LETTER DZHE "
+ "16r0090" 16r0452 " CYRILLIC SMALL LETTER DJE (Serbocroatian) "
+ "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" 16r0459 " CYRILLIC SMALL LETTER LJE "
+ "16r009B" 16r203A " SINGLE RIGHT-POINTING ANGLE QUOTATION MARK "
+ "16r009C" 16r045A " CYRILLIC SMALL LETTER NJE "
+ "16r009D" 16r045C " CYRILLIC SMALL LETTER KJE "
+ "16r009E" 16r045B " CYRILLIC SMALL LETTER TSHE (Serbocroatian) "
+ "16r009F" 16r045F " CYRILLIC SMALL LETTER DZHE "
+ "16r00A0" 16r00A0 " NO-BREAK SPACE "
+ "16r00A1" 16r040E " CYRILLIC CAPITAL LETTER SHORT U (Byelorussian) "
+ "16r00A2" 16r045E " CYRILLIC SMALL LETTER SHORT U (Byelorussian) "
+ "16r00A3" 16r0408 " CYRILLIC CAPITAL LETTER JE "
+ "16r00A4" 16r00A4 " CURRENCY SIGN "
+ "16r00A5" 16r0490 " CYRILLIC CAPITAL LETTER GHE WITH UPTURN "
+ "16r00A6" 16r00A6 " BROKEN BAR "
+ "16r00A7" 16r00A7 " SECTION SIGN "
+ "16r00A8" 16r0401 " CYRILLIC CAPITAL LETTER IO "
+ "16r00A9" 16r00A9 " COPYRIGHT SIGN "
+ "16r00AA" 16r0404 " CYRILLIC CAPITAL LETTER UKRAINIAN IE "
+ "16r00AB" 16r00AB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00AC" 16r00AC " NOT SIGN "
+ "16r00AD" 16r00AD " SOFT HYPHEN "
+ "16r00AE" 16r00AE " REGISTERED SIGN "
+ "16r00AF" 16r0407 " CYRILLIC CAPITAL LETTER YI (Ukrainian) "
+ "16r00B0" 16r00B0 " DEGREE SIGN "
+ "16r00B1" 16r00B1 " PLUS-MINUS SIGN "
+ "16r00B2" 16r0406 " CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I "
+ "16r00B3" 16r0456 " CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I "
+ "16r00B4" 16r0491 " CYRILLIC SMALL LETTER GHE WITH UPTURN "
+ "16r00B5" 16r00B5 " MICRO SIGN "
+ "16r00B6" 16r00B6 " PILCROW SIGN "
+ "16r00B7" 16r00B7 " MIDDLE DOT "
+ "16r00B8" 16r0451 " CYRILLIC SMALL LETTER IO "
+ "16r00B9" 16r2116 " NUMERO SIGN "
+ "16r00BA" 16r0454 " CYRILLIC SMALL LETTER UKRAINIAN IE "
+ "16r00BB" 16r00BB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00BC" 16r0458 " CYRILLIC SMALL LETTER JE "
+ "16r00BD" 16r0405 " CYRILLIC CAPITAL LETTER DZE "
+ "16r00BE" 16r0455 " CYRILLIC SMALL LETTER DZE "
+ "16r00BF" 16r0457 " CYRILLIC SMALL LETTER YI (Ukrainian) "
+ "16r00C0" 16r0410 " CYRILLIC CAPITAL LETTER A "
+ "16r00C1" 16r0411 " CYRILLIC CAPITAL LETTER BE "
+ "16r00C2" 16r0412 " CYRILLIC CAPITAL LETTER VE "
+ "16r00C3" 16r0413 " CYRILLIC CAPITAL LETTER GHE "
+ "16r00C4" 16r0414 " CYRILLIC CAPITAL LETTER DE "
+ "16r00C5" 16r0415 " CYRILLIC CAPITAL LETTER IE "
+ "16r00C6" 16r0416 " CYRILLIC CAPITAL LETTER ZHE "
+ "16r00C7" 16r0417 " CYRILLIC CAPITAL LETTER ZE "
+ "16r00C8" 16r0418 " CYRILLIC CAPITAL LETTER I "
+ "16r00C9" 16r0419 " CYRILLIC CAPITAL LETTER SHORT I "
+ "16r00CA" 16r041A " CYRILLIC CAPITAL LETTER KA "
+ "16r00CB" 16r041B " CYRILLIC CAPITAL LETTER EL "
+ "16r00CC" 16r041C " CYRILLIC CAPITAL LETTER EM "
+ "16r00CD" 16r041D " CYRILLIC CAPITAL LETTER EN "
+ "16r00CE" 16r041E " CYRILLIC CAPITAL LETTER O "
+ "16r00CF" 16r041F " CYRILLIC CAPITAL LETTER PE "
+ "16r00D0" 16r0420 " CYRILLIC CAPITAL LETTER ER "
+ "16r00D1" 16r0421 " CYRILLIC CAPITAL LETTER ES "
+ "16r00D2" 16r0422 " CYRILLIC CAPITAL LETTER TE "
+ "16r00D3" 16r0423 " CYRILLIC CAPITAL LETTER U "
+ "16r00D4" 16r0424 " CYRILLIC CAPITAL LETTER EF "
+ "16r00D5" 16r0425 " CYRILLIC CAPITAL LETTER HA "
+ "16r00D6" 16r0426 " CYRILLIC CAPITAL LETTER TSE "
+ "16r00D7" 16r0427 " CYRILLIC CAPITAL LETTER CHE "
+ "16r00D8" 16r0428 " CYRILLIC CAPITAL LETTER SHA "
+ "16r00D9" 16r0429 " CYRILLIC CAPITAL LETTER SHCHA "
+ "16r00DA" 16r042A " CYRILLIC CAPITAL LETTER HARD SIGN "
+ "16r00DB" 16r042B " CYRILLIC CAPITAL LETTER YERU "
+ "16r00DC" 16r042C " CYRILLIC CAPITAL LETTER SOFT SIGN "
+ "16r00DD" 16r042D " CYRILLIC CAPITAL LETTER E "
+ "16r00DE" 16r042E " CYRILLIC CAPITAL LETTER YU "
+ "16r00DF" 16r042F " CYRILLIC CAPITAL LETTER YA "
+ "16r00E0" 16r0430 " CYRILLIC SMALL LETTER A "
+ "16r00E1" 16r0431 " CYRILLIC SMALL LETTER BE "
+ "16r00E2" 16r0432 " CYRILLIC SMALL LETTER VE "
+ "16r00E3" 16r0433 " CYRILLIC SMALL LETTER GHE "
+ "16r00E4" 16r0434 " CYRILLIC SMALL LETTER DE "
+ "16r00E5" 16r0435 " CYRILLIC SMALL LETTER IE "
+ "16r00E6" 16r0436 " CYRILLIC SMALL LETTER ZHE "
+ "16r00E7" 16r0437 " CYRILLIC SMALL LETTER ZE "
+ "16r00E8" 16r0438 " CYRILLIC SMALL LETTER I "
+ "16r00E9" 16r0439 " CYRILLIC SMALL LETTER SHORT I "
+ "16r00EA" 16r043A " CYRILLIC SMALL LETTER KA "
+ "16r00EB" 16r043B " CYRILLIC SMALL LETTER EL "
+ "16r00EC" 16r043C " CYRILLIC SMALL LETTER EM "
+ "16r00ED" 16r043D " CYRILLIC SMALL LETTER EN "
+ "16r00EE" 16r043E " CYRILLIC SMALL LETTER O "
+ "16r00EF" 16r043F " CYRILLIC SMALL LETTER PE "
+ "16r00F0" 16r0440 " CYRILLIC SMALL LETTER ER "
+ "16r00F1" 16r0441 " CYRILLIC SMALL LETTER ES "
+ "16r00F2" 16r0442 " CYRILLIC SMALL LETTER TE "
+ "16r00F3" 16r0443 " CYRILLIC SMALL LETTER U "
+ "16r00F4" 16r0444 " CYRILLIC SMALL LETTER EF "
+ "16r00F5" 16r0445 " CYRILLIC SMALL LETTER HA "
+ "16r00F6" 16r0446 " CYRILLIC SMALL LETTER TSE "
+ "16r00F7" 16r0447 " CYRILLIC SMALL LETTER CHE "
+ "16r00F8" 16r0448 " CYRILLIC SMALL LETTER SHA "
+ "16r00F9" 16r0449 " CYRILLIC SMALL LETTER SHCHA "
+ "16r00FA" 16r044A " CYRILLIC SMALL LETTER HARD SIGN "
+ "16r00FB" 16r044B " CYRILLIC SMALL LETTER YERU "
+ "16r00FC" 16r044C " CYRILLIC SMALL LETTER SOFT SIGN "
+ "16r00FD" 16r044D " CYRILLIC SMALL LETTER E "
+ "16r00FE" 16r044E " CYRILLIC SMALL LETTER YU "
+ "16r00FF" 16r044F " CYRILLIC SMALL LETTER YA "
+ ) 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 <= 16r491 ifTrue:[
+ unicode <= 16rBB ifTrue:[
+ [
+ |t|
+ t := #[
+ "16r00A0" 16rA0 " NO-BREAK SPACE "
+ "16r00A1" 16r00 " invalid "
+ "16r00A2" 16r00 " invalid "
+ "16r00A3" 16r00 " invalid "
+ "16r00A4" 16rA4 " CURRENCY SIGN "
+ "16r00A5" 16r00 " invalid "
+ "16r00A6" 16rA6 " BROKEN BAR "
+ "16r00A7" 16rA7 " SECTION SIGN "
+ "16r00A8" 16r00 " invalid "
+ "16r00A9" 16rA9 " COPYRIGHT SIGN "
+ "16r00AA" 16r00 " invalid "
+ "16r00AB" 16rAB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00AC" 16rAC " NOT SIGN "
+ "16r00AD" 16rAD " SOFT HYPHEN "
+ "16r00AE" 16rAE " REGISTERED SIGN "
+ "16r00AF" 16r00 " invalid "
+ "16r00B0" 16rB0 " DEGREE SIGN "
+ "16r00B1" 16rB1 " PLUS-MINUS SIGN "
+ "16r00B2" 16r00 " invalid "
+ "16r00B3" 16r00 " invalid "
+ "16r00B4" 16r00 " invalid "
+ "16r00B5" 16rB5 " MICRO SIGN "
+ "16r00B6" 16rB6 " PILCROW SIGN "
+ "16r00B7" 16rB7 " MIDDLE DOT "
+ "16r00B8" 16r00 " invalid "
+ "16r00B9" 16r00 " invalid "
+ "16r00BA" 16r00 " invalid "
+ "16r00BB" 16rBB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ ] at:(unicode - 16r9F).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 16r400 ifTrue:[
+ ^ self encodingError
+ ].
+ unicode <= 16r45F ifTrue:[
+ [
+ |t|
+ t := #[
+ "16r0401" 16rA8 " CYRILLIC CAPITAL LETTER IO "
+ "16r0402" 16r80 " CYRILLIC CAPITAL LETTER DJE (Serbocroatian) "
+ "16r0403" 16r81 " CYRILLIC CAPITAL LETTER GJE "
+ "16r0404" 16rAA " CYRILLIC CAPITAL LETTER UKRAINIAN IE "
+ "16r0405" 16rBD " CYRILLIC CAPITAL LETTER DZE "
+ "16r0406" 16rB2 " CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I "
+ "16r0407" 16rAF " CYRILLIC CAPITAL LETTER YI (Ukrainian) "
+ "16r0408" 16rA3 " CYRILLIC CAPITAL LETTER JE "
+ "16r0409" 16r8A " CYRILLIC CAPITAL LETTER LJE "
+ "16r040A" 16r8C " CYRILLIC CAPITAL LETTER NJE "
+ "16r040B" 16r8E " CYRILLIC CAPITAL LETTER TSHE (Serbocroatian) "
+ "16r040C" 16r8D " CYRILLIC CAPITAL LETTER KJE "
+ "16r040D" 16r00 " invalid "
+ "16r040E" 16rA1 " CYRILLIC CAPITAL LETTER SHORT U (Byelorussian) "
+ "16r040F" 16r8F " CYRILLIC CAPITAL LETTER DZHE "
+ "16r0410" 16rC0 " CYRILLIC CAPITAL LETTER A "
+ "16r0411" 16rC1 " CYRILLIC CAPITAL LETTER BE "
+ "16r0412" 16rC2 " CYRILLIC CAPITAL LETTER VE "
+ "16r0413" 16rC3 " CYRILLIC CAPITAL LETTER GHE "
+ "16r0414" 16rC4 " CYRILLIC CAPITAL LETTER DE "
+ "16r0415" 16rC5 " CYRILLIC CAPITAL LETTER IE "
+ "16r0416" 16rC6 " CYRILLIC CAPITAL LETTER ZHE "
+ "16r0417" 16rC7 " CYRILLIC CAPITAL LETTER ZE "
+ "16r0418" 16rC8 " CYRILLIC CAPITAL LETTER I "
+ "16r0419" 16rC9 " CYRILLIC CAPITAL LETTER SHORT I "
+ "16r041A" 16rCA " CYRILLIC CAPITAL LETTER KA "
+ "16r041B" 16rCB " CYRILLIC CAPITAL LETTER EL "
+ "16r041C" 16rCC " CYRILLIC CAPITAL LETTER EM "
+ "16r041D" 16rCD " CYRILLIC CAPITAL LETTER EN "
+ "16r041E" 16rCE " CYRILLIC CAPITAL LETTER O "
+ "16r041F" 16rCF " CYRILLIC CAPITAL LETTER PE "
+ "16r0420" 16rD0 " CYRILLIC CAPITAL LETTER ER "
+ "16r0421" 16rD1 " CYRILLIC CAPITAL LETTER ES "
+ "16r0422" 16rD2 " CYRILLIC CAPITAL LETTER TE "
+ "16r0423" 16rD3 " CYRILLIC CAPITAL LETTER U "
+ "16r0424" 16rD4 " CYRILLIC CAPITAL LETTER EF "
+ "16r0425" 16rD5 " CYRILLIC CAPITAL LETTER HA "
+ "16r0426" 16rD6 " CYRILLIC CAPITAL LETTER TSE "
+ "16r0427" 16rD7 " CYRILLIC CAPITAL LETTER CHE "
+ "16r0428" 16rD8 " CYRILLIC CAPITAL LETTER SHA "
+ "16r0429" 16rD9 " CYRILLIC CAPITAL LETTER SHCHA "
+ "16r042A" 16rDA " CYRILLIC CAPITAL LETTER HARD SIGN "
+ "16r042B" 16rDB " CYRILLIC CAPITAL LETTER YERU "
+ "16r042C" 16rDC " CYRILLIC CAPITAL LETTER SOFT SIGN "
+ "16r042D" 16rDD " CYRILLIC CAPITAL LETTER E "
+ "16r042E" 16rDE " CYRILLIC CAPITAL LETTER YU "
+ "16r042F" 16rDF " CYRILLIC CAPITAL LETTER YA "
+ "16r0430" 16rE0 " CYRILLIC SMALL LETTER A "
+ "16r0431" 16rE1 " CYRILLIC SMALL LETTER BE "
+ "16r0432" 16rE2 " CYRILLIC SMALL LETTER VE "
+ "16r0433" 16rE3 " CYRILLIC SMALL LETTER GHE "
+ "16r0434" 16rE4 " CYRILLIC SMALL LETTER DE "
+ "16r0435" 16rE5 " CYRILLIC SMALL LETTER IE "
+ "16r0436" 16rE6 " CYRILLIC SMALL LETTER ZHE "
+ "16r0437" 16rE7 " CYRILLIC SMALL LETTER ZE "
+ "16r0438" 16rE8 " CYRILLIC SMALL LETTER I "
+ "16r0439" 16rE9 " CYRILLIC SMALL LETTER SHORT I "
+ "16r043A" 16rEA " CYRILLIC SMALL LETTER KA "
+ "16r043B" 16rEB " CYRILLIC SMALL LETTER EL "
+ "16r043C" 16rEC " CYRILLIC SMALL LETTER EM "
+ "16r043D" 16rED " CYRILLIC SMALL LETTER EN "
+ "16r043E" 16rEE " CYRILLIC SMALL LETTER O "
+ "16r043F" 16rEF " CYRILLIC SMALL LETTER PE "
+ "16r0440" 16rF0 " CYRILLIC SMALL LETTER ER "
+ "16r0441" 16rF1 " CYRILLIC SMALL LETTER ES "
+ "16r0442" 16rF2 " CYRILLIC SMALL LETTER TE "
+ "16r0443" 16rF3 " CYRILLIC SMALL LETTER U "
+ "16r0444" 16rF4 " CYRILLIC SMALL LETTER EF "
+ "16r0445" 16rF5 " CYRILLIC SMALL LETTER HA "
+ "16r0446" 16rF6 " CYRILLIC SMALL LETTER TSE "
+ "16r0447" 16rF7 " CYRILLIC SMALL LETTER CHE "
+ "16r0448" 16rF8 " CYRILLIC SMALL LETTER SHA "
+ "16r0449" 16rF9 " CYRILLIC SMALL LETTER SHCHA "
+ "16r044A" 16rFA " CYRILLIC SMALL LETTER HARD SIGN "
+ "16r044B" 16rFB " CYRILLIC SMALL LETTER YERU "
+ "16r044C" 16rFC " CYRILLIC SMALL LETTER SOFT SIGN "
+ "16r044D" 16rFD " CYRILLIC SMALL LETTER E "
+ "16r044E" 16rFE " CYRILLIC SMALL LETTER YU "
+ "16r044F" 16rFF " CYRILLIC SMALL LETTER YA "
+ "16r0450" 16r00 " invalid "
+ "16r0451" 16rB8 " CYRILLIC SMALL LETTER IO "
+ "16r0452" 16r90 " CYRILLIC SMALL LETTER DJE (Serbocroatian) "
+ "16r0453" 16r83 " CYRILLIC SMALL LETTER GJE "
+ "16r0454" 16rBA " CYRILLIC SMALL LETTER UKRAINIAN IE "
+ "16r0455" 16rBE " CYRILLIC SMALL LETTER DZE "
+ "16r0456" 16rB3 " CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I "
+ "16r0457" 16rBF " CYRILLIC SMALL LETTER YI (Ukrainian) "
+ "16r0458" 16rBC " CYRILLIC SMALL LETTER JE "
+ "16r0459" 16r9A " CYRILLIC SMALL LETTER LJE "
+ "16r045A" 16r9C " CYRILLIC SMALL LETTER NJE "
+ "16r045B" 16r9E " CYRILLIC SMALL LETTER TSHE (Serbocroatian) "
+ "16r045C" 16r9D " CYRILLIC SMALL LETTER KJE "
+ "16r045D" 16r00 " invalid "
+ "16r045E" 16rA2 " CYRILLIC SMALL LETTER SHORT U (Byelorussian) "
+ "16r045F" 16r9F " CYRILLIC SMALL LETTER DZHE "
+ ] at:(unicode - 16r400).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 16r48F ifTrue:[
+ ^ self encodingError
+ ].
+ ^ #[
+ "16r0490" 16rA5 " CYRILLIC CAPITAL LETTER GHE WITH UPTURN "
+ "16r0491" 16rB4 " CYRILLIC SMALL LETTER GHE WITH UPTURN "
+ ] at:(unicode - 16r48F).
+ ].
+ 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 <= 16r2115 ifTrue:[
+ ^ self encodingError
+ ].
+ unicode == 16r2116 ifTrue:[
+ (#[
+ "16r2116" 1 " NUMERO SIGN "
+ ] at:(unicode - 8469)) ~~ 0 ifTrue:[^ unicode].
+ ^ self encodingError
+ ].
+ unicode <= 16r2121 ifTrue:[
+ ^ self encodingError
+ ].
+ ^ "16r2122" 16r0099 " TRADE MARK SIGN "
+! !
+
!MS_Cyrillic class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_MS_Cyrillic.st,v 1.3 2004-03-09 22:01:08 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_MS_Cyrillic.st,v 1.4 2005-03-31 18:48:53 cg Exp $'
! !
--- a/Encoder_MS_EastEuropean.st Thu Mar 31 20:21:44 2005 +0200
+++ b/Encoder_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/Attic/Encoder_MS_EastEuropean.st,v 1.3 2004-03-09 21:57:23 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_MS_EastEuropean.st,v 1.4 2005-03-31 18:48:47 cg Exp $'
! !
--- a/Encoder_MS_Greek.st Thu Mar 31 20:21:44 2005 +0200
+++ b/Encoder_MS_Greek.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
+"
+ CP1253 / Microsoft Greek
+
+ [see with:]
+ CharacterEncoderImplementations::MS_Greek showCharacterSet
+
+ [author:]
+ Claus Gittinger
+"
! !
!MS_Greek class methodsFor:'mapping'!
mapFileURL2_relativePathName
^ 'CP1253'
+
+ "
+ self generateCode
+ "
!
mapping
@@ -299,8 +315,361 @@
"
! !
+!MS_Greek 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 > 16rFE ifTrue:[
+ ^ self decodingError.
+ ].
+ [
+ |t|
+ t := #(
+ "16r0080" 16r0000 " invalid "
+ "16r0081" 16r0000 " invalid "
+ "16r0082" 16r201A " SINGLE LOW-9 QUOTATION MARK "
+ "16r0083" 16r0192 " LATIN SMALL LETTER F WITH HOOK "
+ "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" 16r0000 " invalid "
+ "16r008B" 16r2039 " SINGLE LEFT-POINTING ANGLE QUOTATION MARK "
+ "16r008C" 16r0000 " invalid "
+ "16r008D" 16r0000 " invalid "
+ "16r008E" 16r0000 " invalid "
+ "16r008F" 16r0000 " invalid "
+ "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" 16r0000 " invalid "
+ "16r009B" 16r203A " SINGLE RIGHT-POINTING ANGLE QUOTATION MARK "
+ "16r009C" 16r0000 " invalid "
+ "16r009D" 16r0000 " invalid "
+ "16r009E" 16r0000 " invalid "
+ "16r009F" 16r0000 " invalid "
+ "16r00A0" 16r00A0 " NO-BREAK SPACE "
+ "16r00A1" 16r0385 " GREEK DIALYTIKA TONOS "
+ "16r00A2" 16r0386 " GREEK CAPITAL LETTER ALPHA WITH TONOS "
+ "16r00A3" 16r00A3 " POUND SIGN "
+ "16r00A4" 16r00A4 " CURRENCY SIGN "
+ "16r00A5" 16r00A5 " YEN SIGN "
+ "16r00A6" 16r00A6 " BROKEN BAR "
+ "16r00A7" 16r00A7 " SECTION SIGN "
+ "16r00A8" 16r00A8 " DIAERESIS "
+ "16r00A9" 16r00A9 " COPYRIGHT SIGN "
+ "16r00AA" 16r0000 " invalid "
+ "16r00AB" 16r00AB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00AC" 16r00AC " NOT SIGN "
+ "16r00AD" 16r00AD " SOFT HYPHEN "
+ "16r00AE" 16r00AE " REGISTERED SIGN "
+ "16r00AF" 16r2015 " HORIZONTAL BAR "
+ "16r00B0" 16r00B0 " DEGREE SIGN "
+ "16r00B1" 16r00B1 " PLUS-MINUS SIGN "
+ "16r00B2" 16r00B2 " SUPERSCRIPT TWO "
+ "16r00B3" 16r00B3 " SUPERSCRIPT THREE "
+ "16r00B4" 16r0384 " GREEK TONOS "
+ "16r00B5" 16r00B5 " MICRO SIGN "
+ "16r00B6" 16r00B6 " PILCROW SIGN "
+ "16r00B7" 16r00B7 " MIDDLE DOT "
+ "16r00B8" 16r0388 " GREEK CAPITAL LETTER EPSILON WITH TONOS "
+ "16r00B9" 16r0389 " GREEK CAPITAL LETTER ETA WITH TONOS "
+ "16r00BA" 16r038A " GREEK CAPITAL LETTER IOTA WITH TONOS "
+ "16r00BB" 16r00BB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00BC" 16r038C " GREEK CAPITAL LETTER OMICRON WITH TONOS "
+ "16r00BD" 16r00BD " VULGAR FRACTION ONE HALF "
+ "16r00BE" 16r038E " GREEK CAPITAL LETTER UPSILON WITH TONOS "
+ "16r00BF" 16r038F " GREEK CAPITAL LETTER OMEGA WITH TONOS "
+ "16r00C0" 16r0390 " GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS "
+ "16r00C1" 16r0391 " GREEK CAPITAL LETTER ALPHA "
+ "16r00C2" 16r0392 " GREEK CAPITAL LETTER BETA "
+ "16r00C3" 16r0393 " GREEK CAPITAL LETTER GAMMA "
+ "16r00C4" 16r0394 " GREEK CAPITAL LETTER DELTA "
+ "16r00C5" 16r0395 " GREEK CAPITAL LETTER EPSILON "
+ "16r00C6" 16r0396 " GREEK CAPITAL LETTER ZETA "
+ "16r00C7" 16r0397 " GREEK CAPITAL LETTER ETA "
+ "16r00C8" 16r0398 " GREEK CAPITAL LETTER THETA "
+ "16r00C9" 16r0399 " GREEK CAPITAL LETTER IOTA "
+ "16r00CA" 16r039A " GREEK CAPITAL LETTER KAPPA "
+ "16r00CB" 16r039B " GREEK CAPITAL LETTER LAMDA "
+ "16r00CC" 16r039C " GREEK CAPITAL LETTER MU "
+ "16r00CD" 16r039D " GREEK CAPITAL LETTER NU "
+ "16r00CE" 16r039E " GREEK CAPITAL LETTER XI "
+ "16r00CF" 16r039F " GREEK CAPITAL LETTER OMICRON "
+ "16r00D0" 16r03A0 " GREEK CAPITAL LETTER PI "
+ "16r00D1" 16r03A1 " GREEK CAPITAL LETTER RHO "
+ "16r00D2" 16r0000 " invalid "
+ "16r00D3" 16r03A3 " GREEK CAPITAL LETTER SIGMA "
+ "16r00D4" 16r03A4 " GREEK CAPITAL LETTER TAU "
+ "16r00D5" 16r03A5 " GREEK CAPITAL LETTER UPSILON "
+ "16r00D6" 16r03A6 " GREEK CAPITAL LETTER PHI "
+ "16r00D7" 16r03A7 " GREEK CAPITAL LETTER CHI "
+ "16r00D8" 16r03A8 " GREEK CAPITAL LETTER PSI "
+ "16r00D9" 16r03A9 " GREEK CAPITAL LETTER OMEGA "
+ "16r00DA" 16r03AA " GREEK CAPITAL LETTER IOTA WITH DIALYTIKA "
+ "16r00DB" 16r03AB " GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA "
+ "16r00DC" 16r03AC " GREEK SMALL LETTER ALPHA WITH TONOS "
+ "16r00DD" 16r03AD " GREEK SMALL LETTER EPSILON WITH TONOS "
+ "16r00DE" 16r03AE " GREEK SMALL LETTER ETA WITH TONOS "
+ "16r00DF" 16r03AF " GREEK SMALL LETTER IOTA WITH TONOS "
+ "16r00E0" 16r03B0 " GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS "
+ "16r00E1" 16r03B1 " GREEK SMALL LETTER ALPHA "
+ "16r00E2" 16r03B2 " GREEK SMALL LETTER BETA "
+ "16r00E3" 16r03B3 " GREEK SMALL LETTER GAMMA "
+ "16r00E4" 16r03B4 " GREEK SMALL LETTER DELTA "
+ "16r00E5" 16r03B5 " GREEK SMALL LETTER EPSILON "
+ "16r00E6" 16r03B6 " GREEK SMALL LETTER ZETA "
+ "16r00E7" 16r03B7 " GREEK SMALL LETTER ETA "
+ "16r00E8" 16r03B8 " GREEK SMALL LETTER THETA "
+ "16r00E9" 16r03B9 " GREEK SMALL LETTER IOTA "
+ "16r00EA" 16r03BA " GREEK SMALL LETTER KAPPA "
+ "16r00EB" 16r03BB " GREEK SMALL LETTER LAMDA "
+ "16r00EC" 16r03BC " GREEK SMALL LETTER MU "
+ "16r00ED" 16r03BD " GREEK SMALL LETTER NU "
+ "16r00EE" 16r03BE " GREEK SMALL LETTER XI "
+ "16r00EF" 16r03BF " GREEK SMALL LETTER OMICRON "
+ "16r00F0" 16r03C0 " GREEK SMALL LETTER PI "
+ "16r00F1" 16r03C1 " GREEK SMALL LETTER RHO "
+ "16r00F2" 16r03C2 " GREEK SMALL LETTER FINAL SIGMA "
+ "16r00F3" 16r03C3 " GREEK SMALL LETTER SIGMA "
+ "16r00F4" 16r03C4 " GREEK SMALL LETTER TAU "
+ "16r00F5" 16r03C5 " GREEK SMALL LETTER UPSILON "
+ "16r00F6" 16r03C6 " GREEK SMALL LETTER PHI "
+ "16r00F7" 16r03C7 " GREEK SMALL LETTER CHI "
+ "16r00F8" 16r03C8 " GREEK SMALL LETTER PSI "
+ "16r00F9" 16r03C9 " GREEK SMALL LETTER OMEGA "
+ "16r00FA" 16r03CA " GREEK SMALL LETTER IOTA WITH DIALYTIKA "
+ "16r00FB" 16r03CB " GREEK SMALL LETTER UPSILON WITH DIALYTIKA "
+ "16r00FC" 16r03CC " GREEK SMALL LETTER OMICRON WITH TONOS "
+ "16r00FD" 16r03CD " GREEK SMALL LETTER UPSILON WITH TONOS "
+ "16r00FE" 16r03CE " GREEK SMALL LETTER OMEGA WITH TONOS "
+ ) 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 <= 16r3CE ifTrue:[
+ unicode <= 16r192 ifTrue:[
+ unicode <= 16rBD ifTrue:[
+ [
+ |t|
+ t := #[
+ "16r00A0" 16rA0 " NO-BREAK SPACE "
+ "16r00A1" 16r00 " invalid "
+ "16r00A2" 16r00 " invalid "
+ "16r00A3" 16rA3 " POUND SIGN "
+ "16r00A4" 16rA4 " CURRENCY SIGN "
+ "16r00A5" 16rA5 " YEN SIGN "
+ "16r00A6" 16rA6 " BROKEN BAR "
+ "16r00A7" 16rA7 " SECTION SIGN "
+ "16r00A8" 16rA8 " DIAERESIS "
+ "16r00A9" 16rA9 " COPYRIGHT SIGN "
+ "16r00AA" 16r00 " invalid "
+ "16r00AB" 16rAB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00AC" 16rAC " NOT SIGN "
+ "16r00AD" 16rAD " SOFT HYPHEN "
+ "16r00AE" 16rAE " REGISTERED SIGN "
+ "16r00AF" 16r00 " invalid "
+ "16r00B0" 16rB0 " DEGREE SIGN "
+ "16r00B1" 16rB1 " PLUS-MINUS SIGN "
+ "16r00B2" 16rB2 " SUPERSCRIPT TWO "
+ "16r00B3" 16rB3 " SUPERSCRIPT THREE "
+ "16r00B4" 16r00 " invalid "
+ "16r00B5" 16rB5 " MICRO SIGN "
+ "16r00B6" 16rB6 " PILCROW SIGN "
+ "16r00B7" 16rB7 " MIDDLE DOT "
+ "16r00B8" 16r00 " invalid "
+ "16r00B9" 16r00 " invalid "
+ "16r00BA" 16r00 " invalid "
+ "16r00BB" 16rBB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00BC" 16r00 " invalid "
+ "16r00BD" 16rBD " VULGAR FRACTION ONE HALF "
+ ] at:(unicode - 16r9F).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 16r191 ifTrue:[
+ ^ self encodingError
+ ].
+ ^ "16r0192" 16r0083 " LATIN SMALL LETTER F WITH HOOK "
+ ].
+ unicode <= 16r383 ifTrue:[
+ ^ self encodingError
+ ].
+ [
+ |t|
+ t := #[
+ "16r0384" 16rB4 " GREEK TONOS "
+ "16r0385" 16rA1 " GREEK DIALYTIKA TONOS "
+ "16r0386" 16rA2 " GREEK CAPITAL LETTER ALPHA WITH TONOS "
+ "16r0387" 16r00 " invalid "
+ "16r0388" 16rB8 " GREEK CAPITAL LETTER EPSILON WITH TONOS "
+ "16r0389" 16rB9 " GREEK CAPITAL LETTER ETA WITH TONOS "
+ "16r038A" 16rBA " GREEK CAPITAL LETTER IOTA WITH TONOS "
+ "16r038B" 16r00 " invalid "
+ "16r038C" 16rBC " GREEK CAPITAL LETTER OMICRON WITH TONOS "
+ "16r038D" 16r00 " invalid "
+ "16r038E" 16rBE " GREEK CAPITAL LETTER UPSILON WITH TONOS "
+ "16r038F" 16rBF " GREEK CAPITAL LETTER OMEGA WITH TONOS "
+ "16r0390" 16rC0 " GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS "
+ "16r0391" 16rC1 " GREEK CAPITAL LETTER ALPHA "
+ "16r0392" 16rC2 " GREEK CAPITAL LETTER BETA "
+ "16r0393" 16rC3 " GREEK CAPITAL LETTER GAMMA "
+ "16r0394" 16rC4 " GREEK CAPITAL LETTER DELTA "
+ "16r0395" 16rC5 " GREEK CAPITAL LETTER EPSILON "
+ "16r0396" 16rC6 " GREEK CAPITAL LETTER ZETA "
+ "16r0397" 16rC7 " GREEK CAPITAL LETTER ETA "
+ "16r0398" 16rC8 " GREEK CAPITAL LETTER THETA "
+ "16r0399" 16rC9 " GREEK CAPITAL LETTER IOTA "
+ "16r039A" 16rCA " GREEK CAPITAL LETTER KAPPA "
+ "16r039B" 16rCB " GREEK CAPITAL LETTER LAMDA "
+ "16r039C" 16rCC " GREEK CAPITAL LETTER MU "
+ "16r039D" 16rCD " GREEK CAPITAL LETTER NU "
+ "16r039E" 16rCE " GREEK CAPITAL LETTER XI "
+ "16r039F" 16rCF " GREEK CAPITAL LETTER OMICRON "
+ "16r03A0" 16rD0 " GREEK CAPITAL LETTER PI "
+ "16r03A1" 16rD1 " GREEK CAPITAL LETTER RHO "
+ "16r03A2" 16r00 " invalid "
+ "16r03A3" 16rD3 " GREEK CAPITAL LETTER SIGMA "
+ "16r03A4" 16rD4 " GREEK CAPITAL LETTER TAU "
+ "16r03A5" 16rD5 " GREEK CAPITAL LETTER UPSILON "
+ "16r03A6" 16rD6 " GREEK CAPITAL LETTER PHI "
+ "16r03A7" 16rD7 " GREEK CAPITAL LETTER CHI "
+ "16r03A8" 16rD8 " GREEK CAPITAL LETTER PSI "
+ "16r03A9" 16rD9 " GREEK CAPITAL LETTER OMEGA "
+ "16r03AA" 16rDA " GREEK CAPITAL LETTER IOTA WITH DIALYTIKA "
+ "16r03AB" 16rDB " GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA "
+ "16r03AC" 16rDC " GREEK SMALL LETTER ALPHA WITH TONOS "
+ "16r03AD" 16rDD " GREEK SMALL LETTER EPSILON WITH TONOS "
+ "16r03AE" 16rDE " GREEK SMALL LETTER ETA WITH TONOS "
+ "16r03AF" 16rDF " GREEK SMALL LETTER IOTA WITH TONOS "
+ "16r03B0" 16rE0 " GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS "
+ "16r03B1" 16rE1 " GREEK SMALL LETTER ALPHA "
+ "16r03B2" 16rE2 " GREEK SMALL LETTER BETA "
+ "16r03B3" 16rE3 " GREEK SMALL LETTER GAMMA "
+ "16r03B4" 16rE4 " GREEK SMALL LETTER DELTA "
+ "16r03B5" 16rE5 " GREEK SMALL LETTER EPSILON "
+ "16r03B6" 16rE6 " GREEK SMALL LETTER ZETA "
+ "16r03B7" 16rE7 " GREEK SMALL LETTER ETA "
+ "16r03B8" 16rE8 " GREEK SMALL LETTER THETA "
+ "16r03B9" 16rE9 " GREEK SMALL LETTER IOTA "
+ "16r03BA" 16rEA " GREEK SMALL LETTER KAPPA "
+ "16r03BB" 16rEB " GREEK SMALL LETTER LAMDA "
+ "16r03BC" 16rEC " GREEK SMALL LETTER MU "
+ "16r03BD" 16rED " GREEK SMALL LETTER NU "
+ "16r03BE" 16rEE " GREEK SMALL LETTER XI "
+ "16r03BF" 16rEF " GREEK SMALL LETTER OMICRON "
+ "16r03C0" 16rF0 " GREEK SMALL LETTER PI "
+ "16r03C1" 16rF1 " GREEK SMALL LETTER RHO "
+ "16r03C2" 16rF2 " GREEK SMALL LETTER FINAL SIGMA "
+ "16r03C3" 16rF3 " GREEK SMALL LETTER SIGMA "
+ "16r03C4" 16rF4 " GREEK SMALL LETTER TAU "
+ "16r03C5" 16rF5 " GREEK SMALL LETTER UPSILON "
+ "16r03C6" 16rF6 " GREEK SMALL LETTER PHI "
+ "16r03C7" 16rF7 " GREEK SMALL LETTER CHI "
+ "16r03C8" 16rF8 " GREEK SMALL LETTER PSI "
+ "16r03C9" 16rF9 " GREEK SMALL LETTER OMEGA "
+ "16r03CA" 16rFA " GREEK SMALL LETTER IOTA WITH DIALYTIKA "
+ "16r03CB" 16rFB " GREEK SMALL LETTER UPSILON WITH DIALYTIKA "
+ "16r03CC" 16rFC " GREEK SMALL LETTER OMICRON WITH TONOS "
+ "16r03CD" 16rFD " GREEK SMALL LETTER UPSILON WITH TONOS "
+ "16r03CE" 16rFE " GREEK SMALL LETTER OMEGA WITH TONOS "
+ ] at:(unicode - 16r383).
+ 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" 16rAF " HORIZONTAL BAR "
+ "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_Greek class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_MS_Greek.st,v 1.3 2004-03-09 21:58:11 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_MS_Greek.st,v 1.4 2005-03-31 18:49:01 cg Exp $'
! !
--- a/Encoder_MS_Hebrew.st Thu Mar 31 20:21:44 2005 +0200
+++ b/Encoder_MS_Hebrew.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
+"
+ CP1255 / Microsoft Hebrew
+
+ [see with:]
+ CharacterEncoderImplementations::MS_Hebrew showCharacterSet
+
+ [author:]
+ Claus Gittinger
+"
! !
!MS_Hebrew class methodsFor:'mapping'!
mapFileURL2_relativePathName
^ 'CP1255'
+
+ "
+ self generateCode
+ "
!
mapping
@@ -266,8 +282,330 @@
"
! !
+!MS_Hebrew 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 > 16rFE ifTrue:[
+ ^ self decodingError.
+ ].
+ [
+ |t|
+ t := #(
+ "16r0080" 16r0000 " invalid "
+ "16r0081" 16r0000 " invalid "
+ "16r0082" 16r201A " SINGLE LOW-9 QUOTATION MARK "
+ "16r0083" 16r0192 " LATIN SMALL LETTER F WITH HOOK "
+ "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" 16r0000 " invalid "
+ "16r008B" 16r2039 " SINGLE LEFT-POINTING ANGLE QUOTATION MARK "
+ "16r008C" 16r0000 " invalid "
+ "16r008D" 16r0000 " invalid "
+ "16r008E" 16r0000 " invalid "
+ "16r008F" 16r0000 " invalid "
+ "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" 16r0000 " invalid "
+ "16r009B" 16r203A " SINGLE RIGHT-POINTING ANGLE QUOTATION MARK "
+ "16r009C" 16r0000 " invalid "
+ "16r009D" 16r0000 " invalid "
+ "16r009E" 16r0000 " invalid "
+ "16r009F" 16r0000 " invalid "
+ "16r00A0" 16r00A0 " NO-BREAK SPACE "
+ "16r00A1" 16r0000 " invalid "
+ "16r00A2" 16r00A2 " CENT SIGN "
+ "16r00A3" 16r00A3 " POUND SIGN "
+ "16r00A4" 16r00A4 " CURRENCY SIGN "
+ "16r00A5" 16r00A5 " YEN SIGN "
+ "16r00A6" 16r00A6 " BROKEN BAR "
+ "16r00A7" 16r00A7 " SECTION SIGN "
+ "16r00A8" 16r00A8 " DIAERESIS "
+ "16r00A9" 16r00A9 " COPYRIGHT SIGN "
+ "16r00AA" 16r00D7 " MULTIPLICATION SIGN "
+ "16r00AB" 16r00AB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00AC" 16r00AC " NOT SIGN "
+ "16r00AD" 16r00AD " SOFT HYPHEN "
+ "16r00AE" 16r00AE " REGISTERED SIGN "
+ "16r00AF" 16r203E " OVERLINE "
+ "16r00B0" 16r00B0 " DEGREE SIGN "
+ "16r00B1" 16r00B1 " PLUS-MINUS SIGN "
+ "16r00B2" 16r00B2 " SUPERSCRIPT TWO "
+ "16r00B3" 16r00B3 " SUPERSCRIPT THREE "
+ "16r00B4" 16r00B4 " ACUTE ACCENT "
+ "16r00B5" 16r00B5 " MICRO SIGN "
+ "16r00B6" 16r00B6 " PILCROW SIGN "
+ "16r00B7" 16r00B7 " MIDDLE DOT "
+ "16r00B8" 16r00B8 " CEDILLA "
+ "16r00B9" 16r00B9 " SUPERSCRIPT ONE "
+ "16r00BA" 16r00F7 " DIVISION SIGN "
+ "16r00BB" 16r00BB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00BC" 16r00BC " VULGAR FRACTION ONE QUARTER "
+ "16r00BD" 16r00BD " VULGAR FRACTION ONE HALF "
+ "16r00BE" 16r00BE " VULGAR FRACTION THREE QUARTERS "
+ "16r00BF" 16r0000 " invalid "
+ "16r00C0" 16r0000 " invalid "
+ "16r00C1" 16r0000 " invalid "
+ "16r00C2" 16r0000 " invalid "
+ "16r00C3" 16r0000 " invalid "
+ "16r00C4" 16r0000 " invalid "
+ "16r00C5" 16r0000 " invalid "
+ "16r00C6" 16r0000 " invalid "
+ "16r00C7" 16r0000 " invalid "
+ "16r00C8" 16r0000 " invalid "
+ "16r00C9" 16r0000 " invalid "
+ "16r00CA" 16r0000 " invalid "
+ "16r00CB" 16r0000 " invalid "
+ "16r00CC" 16r0000 " invalid "
+ "16r00CD" 16r0000 " invalid "
+ "16r00CE" 16r0000 " invalid "
+ "16r00CF" 16r0000 " invalid "
+ "16r00D0" 16r0000 " invalid "
+ "16r00D1" 16r0000 " invalid "
+ "16r00D2" 16r0000 " invalid "
+ "16r00D3" 16r0000 " invalid "
+ "16r00D4" 16r0000 " invalid "
+ "16r00D5" 16r0000 " invalid "
+ "16r00D6" 16r0000 " invalid "
+ "16r00D7" 16r0000 " invalid "
+ "16r00D8" 16r0000 " invalid "
+ "16r00D9" 16r0000 " invalid "
+ "16r00DA" 16r0000 " invalid "
+ "16r00DB" 16r0000 " invalid "
+ "16r00DC" 16r0000 " invalid "
+ "16r00DD" 16r0000 " invalid "
+ "16r00DE" 16r0000 " invalid "
+ "16r00DF" 16r2017 " DOUBLE LOW LINE "
+ "16r00E0" 16r05D0 " HEBREW LETTER ALEF "
+ "16r00E1" 16r05D1 " HEBREW LETTER BET "
+ "16r00E2" 16r05D2 " HEBREW LETTER GIMEL "
+ "16r00E3" 16r05D3 " HEBREW LETTER DALET "
+ "16r00E4" 16r05D4 " HEBREW LETTER HE "
+ "16r00E5" 16r05D5 " HEBREW LETTER VAV "
+ "16r00E6" 16r05D6 " HEBREW LETTER ZAYIN "
+ "16r00E7" 16r05D7 " HEBREW LETTER HET "
+ "16r00E8" 16r05D8 " HEBREW LETTER TET "
+ "16r00E9" 16r05D9 " HEBREW LETTER YOD "
+ "16r00EA" 16r05DA " HEBREW LETTER FINAL KAF "
+ "16r00EB" 16r05DB " HEBREW LETTER KAF "
+ "16r00EC" 16r05DC " HEBREW LETTER LAMED "
+ "16r00ED" 16r05DD " HEBREW LETTER FINAL MEM "
+ "16r00EE" 16r05DE " HEBREW LETTER MEM "
+ "16r00EF" 16r05DF " HEBREW LETTER FINAL NUN "
+ "16r00F0" 16r05E0 " HEBREW LETTER NUN "
+ "16r00F1" 16r05E1 " HEBREW LETTER SAMEKH "
+ "16r00F2" 16r05E2 " HEBREW LETTER AYIN "
+ "16r00F3" 16r05E3 " HEBREW LETTER FINAL PE "
+ "16r00F4" 16r05E4 " HEBREW LETTER PE "
+ "16r00F5" 16r05E5 " HEBREW LETTER FINAL TSADI "
+ "16r00F6" 16r05E6 " HEBREW LETTER TSADI "
+ "16r00F7" 16r05E7 " HEBREW LETTER QOF "
+ "16r00F8" 16r05E8 " HEBREW LETTER RESH "
+ "16r00F9" 16r05E9 " HEBREW LETTER SHIN "
+ "16r00FA" 16r05EA " HEBREW LETTER TAV "
+ "16r00FB" 16r0000 " invalid "
+ "16r00FC" 16r0000 " invalid "
+ "16r00FD" 16r200E " LEFT-TO-RIGHT MARK "
+ "16r00FE" 16r200F " RIGHT-TO-LEFT MARK "
+ ) 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 <= 16r5EA ifTrue:[
+ unicode <= 16r192 ifTrue:[
+ unicode <= 16rF7 ifTrue:[
+ unicode <= 16rD7 ifTrue:[
+ unicode <= 16rBE ifTrue:[
+ [
+ |t|
+ t := #[
+ "16r00A0" 16rA0 " NO-BREAK SPACE "
+ "16r00A1" 16r00 " invalid "
+ "16r00A2" 16rA2 " CENT SIGN "
+ "16r00A3" 16rA3 " POUND SIGN "
+ "16r00A4" 16rA4 " CURRENCY SIGN "
+ "16r00A5" 16rA5 " YEN SIGN "
+ "16r00A6" 16rA6 " BROKEN BAR "
+ "16r00A7" 16rA7 " SECTION SIGN "
+ "16r00A8" 16rA8 " DIAERESIS "
+ "16r00A9" 16rA9 " COPYRIGHT SIGN "
+ "16r00AA" 16r00 " invalid "
+ "16r00AB" 16rAB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00AC" 16rAC " NOT SIGN "
+ "16r00AD" 16rAD " SOFT HYPHEN "
+ "16r00AE" 16rAE " REGISTERED SIGN "
+ "16r00AF" 16r00 " invalid "
+ "16r00B0" 16rB0 " DEGREE SIGN "
+ "16r00B1" 16rB1 " PLUS-MINUS SIGN "
+ "16r00B2" 16rB2 " SUPERSCRIPT TWO "
+ "16r00B3" 16rB3 " SUPERSCRIPT THREE "
+ "16r00B4" 16rB4 " ACUTE ACCENT "
+ "16r00B5" 16rB5 " MICRO SIGN "
+ "16r00B6" 16rB6 " PILCROW SIGN "
+ "16r00B7" 16rB7 " MIDDLE DOT "
+ "16r00B8" 16rB8 " CEDILLA "
+ "16r00B9" 16rB9 " SUPERSCRIPT ONE "
+ "16r00BA" 16r00 " invalid "
+ "16r00BB" 16rBB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00BC" 16rBC " VULGAR FRACTION ONE QUARTER "
+ "16r00BD" 16rBD " VULGAR FRACTION ONE HALF "
+ "16r00BE" 16rBE " VULGAR FRACTION THREE QUARTERS "
+ ] at:(unicode - 16r9F).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 16rD6 ifTrue:[
+ ^ self encodingError
+ ].
+ ^ "16r00D7" 16r00AA " MULTIPLICATION SIGN "
+ ].
+ unicode <= 16rF6 ifTrue:[
+ ^ self encodingError
+ ].
+ ^ "16r00F7" 16r00BA " DIVISION SIGN "
+ ].
+ unicode <= 16r191 ifTrue:[
+ ^ self encodingError
+ ].
+ ^ "16r0192" 16r0083 " LATIN SMALL LETTER F WITH HOOK "
+ ].
+ unicode <= 16r5CF ifTrue:[
+ ^ self encodingError
+ ].
+ ^ #[
+ "16r05D0" 16rE0 " HEBREW LETTER ALEF "
+ "16r05D1" 16rE1 " HEBREW LETTER BET "
+ "16r05D2" 16rE2 " HEBREW LETTER GIMEL "
+ "16r05D3" 16rE3 " HEBREW LETTER DALET "
+ "16r05D4" 16rE4 " HEBREW LETTER HE "
+ "16r05D5" 16rE5 " HEBREW LETTER VAV "
+ "16r05D6" 16rE6 " HEBREW LETTER ZAYIN "
+ "16r05D7" 16rE7 " HEBREW LETTER HET "
+ "16r05D8" 16rE8 " HEBREW LETTER TET "
+ "16r05D9" 16rE9 " HEBREW LETTER YOD "
+ "16r05DA" 16rEA " HEBREW LETTER FINAL KAF "
+ "16r05DB" 16rEB " HEBREW LETTER KAF "
+ "16r05DC" 16rEC " HEBREW LETTER LAMED "
+ "16r05DD" 16rED " HEBREW LETTER FINAL MEM "
+ "16r05DE" 16rEE " HEBREW LETTER MEM "
+ "16r05DF" 16rEF " HEBREW LETTER FINAL NUN "
+ "16r05E0" 16rF0 " HEBREW LETTER NUN "
+ "16r05E1" 16rF1 " HEBREW LETTER SAMEKH "
+ "16r05E2" 16rF2 " HEBREW LETTER AYIN "
+ "16r05E3" 16rF3 " HEBREW LETTER FINAL PE "
+ "16r05E4" 16rF4 " HEBREW LETTER PE "
+ "16r05E5" 16rF5 " HEBREW LETTER FINAL TSADI "
+ "16r05E6" 16rF6 " HEBREW LETTER TSADI "
+ "16r05E7" 16rF7 " HEBREW LETTER QOF "
+ "16r05E8" 16rF8 " HEBREW LETTER RESH "
+ "16r05E9" 16rF9 " HEBREW LETTER SHIN "
+ "16r05EA" 16rFA " HEBREW LETTER TAV "
+ ] at:(unicode - 16r5CF).
+ ].
+ unicode <= 16r200D ifTrue:[
+ ^ self encodingError
+ ].
+ unicode <= 16r203E ifTrue:[
+ [
+ |t|
+ t := #[
+ "16r200E" 16rFD " LEFT-TO-RIGHT MARK "
+ "16r200F" 16rFE " RIGHT-TO-LEFT MARK "
+ "16r2010" 16r00 " invalid "
+ "16r2011" 16r00 " invalid "
+ "16r2012" 16r00 " invalid "
+ "16r2013" 16r96 " EN DASH "
+ "16r2014" 16r97 " EM DASH "
+ "16r2015" 16r00 " invalid "
+ "16r2016" 16r00 " invalid "
+ "16r2017" 16rDF " DOUBLE LOW LINE "
+ "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 "
+ "16r203B" 16r00 " invalid "
+ "16r203C" 16r00 " invalid "
+ "16r203D" 16r00 " invalid "
+ "16r203E" 16rAF " OVERLINE "
+ ] at:(unicode - 16r200D).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 16r2121 ifTrue:[
+ ^ self encodingError
+ ].
+ ^ "16r2122" 16r0099 " TRADE MARK SIGN "
+! !
+
!MS_Hebrew class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_MS_Hebrew.st,v 1.3 2004-03-09 21:59:46 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_MS_Hebrew.st,v 1.4 2005-03-31 18:48:50 cg Exp $'
! !
--- a/Encoder_MS_Symbol.st Thu Mar 31 20:21:44 2005 +0200
+++ b/Encoder_MS_Symbol.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
+"
+ CP1258 / Microsoft Symbol
+
+ [see with:]
+ CharacterEncoderImplementations::MS_Symbol showCharacterSet
+
+ [author:]
+ Claus Gittinger
+"
! !
!MS_Symbol class methodsFor:'mapping'!
mapFileURL2_relativePathName
- ^ 'CP1258'
+ ^ 'CP10008 '
+
+ "
+ self generateCode
+ "
!
mapping
@@ -72,5 +88,5 @@
!MS_Symbol class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_MS_Symbol.st,v 1.4 2004-03-09 21:59:49 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_MS_Symbol.st,v 1.5 2005-03-31 18:48:55 cg Exp $'
! !