initial checkin
authorClaus Gittinger <cg@exept.de>
Fri, 05 Mar 2004 18:30:49 +0100
changeset 8082 be629521cbae
parent 8081 b468050174a9
child 8083 e3423079cee1
initial checkin
CharacterEncoderImplementations__ASCII.st
CharacterEncoderImplementations__ISO8859_14.st
CharacterEncoderImplementations__ISO8859_16.st
CharacterEncoderImplementations__MAC_Hebrew.st
CharacterEncoderImplementations__MAC_Roman.st
Encoder_ASCII.st
Encoder_ISO8859_14.st
Encoder_ISO8859_16.st
Encoder_MAC_Hebrew.st
Encoder_MAC_Roman.st
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/CharacterEncoderImplementations__ASCII.st	Fri Mar 05 18:30:49 2004 +0100
@@ -0,0 +1,217 @@
+"{ Encoding: utf8 }"
+
+"{ Package: 'stx:libbasic' }"
+
+"{ NameSpace: CharacterEncoderImplementations }"
+
+SingleByteEncoder subclass:#ASCII
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Collections-Text-Encodings'
+!
+
+
+!ASCII class methodsFor:'mapping'!
+
+mapFileURL2_relativePathName
+    ^ 'ASCII'
+
+    "
+     self generateCode
+    "
+!
+
+mapping
+"
+# From: http://std.dkuug.dk/i18n/charmaps/ASCII
+
+<code_set_name> ANSI_X3.4-1968
+<comment_char> %
+<escape_char> /
+% version: 1.0
+% repertoiremap: mnemonic,ds
+%  source: ECMA registry
+
+% alias ISO-IR-6
+% alias ANSI_X3.4-1986
+% alias ISO_646.IRV:1991
+% alias ASCII
+% alias ISO646-US
+% alias US-ASCII
+% alias US
+% alias IBM367
+% alias CP367
+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)
+END CHARMAP
+
+"
+! !
+
+!ASCII class methodsFor:'queries'!
+
+namesOfEncoding
+    ^ #( 'ascii' 'us-ascii' 'iso-ir-6' 'ibm-367' 'ms-cp367' 'cp367'  'iso646-us' 'ibm-cp367')
+! !
+
+!ASCII 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:[
+	^ self decodingError.
+    ].
+    ^ code.
+!
+
+encode:unicodeArg
+    "Automagically generated by generateCode - do not modify.
+     Encode from unicode into my encoding."
+
+    |unicode "{ Class: SmallInteger }"|
+
+    unicode := unicodeArg.
+    unicode > 16r7F ifTrue:[
+	^ self encodingError.
+    ].
+    ^ unicode.
+! !
+
+!ASCII class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ASCII.st,v 1.1 2004-03-05 17:29:45 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/CharacterEncoderImplementations__ISO8859_14.st	Fri Mar 05 18:30:49 2004 +0100
@@ -0,0 +1,753 @@
+"{ Encoding: utf8 }"
+
+"{ Package: 'stx:libbasic' }"
+
+"{ NameSpace: CharacterEncoderImplementations }"
+
+SingleByteEncoder subclass:#ISO8859_14
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Collections-Text-Encodings'
+!
+
+
+!ISO8859_14 class methodsFor:'mapping'!
+
+mapFileURL1_relativePathName
+    ^ 'ISO8859/8859-14.TXT'
+!
+
+mapping
+"
+# From: http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-14.TXT
+
+#
+#       Name:             ISO/IEC 8859-14:1998 to Unicode
+#       Unicode version:  3.0
+#       Table version:    1.0
+#       Table format:     Format A
+#       Date:             1999 July 27
+#       Authors:          Markus Kuhn <mkuhn@acm.org>
+#                         Ken Whistler <kenw@sybase.com>
+#
+#       Copyright (c) 1998 - 1999 Unicode, Inc.  All Rights reserved.
+#
+#       This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#       No claims are made as to fitness for any particular purpose.  No
+#       warranties of any kind are expressed or implied.  The recipient
+#       agrees to determine applicability of information provided.  If this
+#       file has been provided on optical media by Unicode, Inc., the sole
+#       remedy for any claim will be exchange of defective media within 90
+#       days of receipt.
+#
+#       Unicode, Inc. hereby grants the right to freely use the information
+#       supplied in this file in the creation of products supporting the
+#       Unicode Standard, and to make copies of this file in any form for
+#       internal or external distribution as long as this notice remains
+#       attached.
+#
+#       General notes:
+#
+#       This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-14:1998 characters map into Unicode.
+#
+#       Format:  Three tab-separated columns
+#                Column #1 is the ISO/IEC 8859-14 code (in hex as 0xXX)
+#                Column #2 is the Unicode (in hex as 0xXXXX)
+#                Column #3 the Unicode name (follows a comment sign, '#')
+#
+#       The entries are in ISO/IEC 8859-14 order.
+#
+#       Updated versions of this file may be found in:
+#               <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#       Any comments or problems, contact <errata@unicode.org>
+#       Please note that <errata@unicode.org> is an archival address;
+#       notices will be checked, but do not expect an immediate response.
+#
+0x00    0x0000  #       NULL
+0x01    0x0001  #       START OF HEADING
+0x02    0x0002  #       START OF TEXT
+0x03    0x0003  #       END OF TEXT
+0x04    0x0004  #       END OF TRANSMISSION
+0x05    0x0005  #       ENQUIRY
+0x06    0x0006  #       ACKNOWLEDGE
+0x07    0x0007  #       BELL
+0x08    0x0008  #       BACKSPACE
+0x09    0x0009  #       HORIZONTAL TABULATION
+0x0A    0x000A  #       LINE FEED
+0x0B    0x000B  #       VERTICAL TABULATION
+0x0C    0x000C  #       FORM FEED
+0x0D    0x000D  #       CARRIAGE RETURN
+0x0E    0x000E  #       SHIFT OUT
+0x0F    0x000F  #       SHIFT IN
+0x10    0x0010  #       DATA LINK ESCAPE
+0x11    0x0011  #       DEVICE CONTROL ONE
+0x12    0x0012  #       DEVICE CONTROL TWO
+0x13    0x0013  #       DEVICE CONTROL THREE
+0x14    0x0014  #       DEVICE CONTROL FOUR
+0x15    0x0015  #       NEGATIVE ACKNOWLEDGE
+0x16    0x0016  #       SYNCHRONOUS IDLE
+0x17    0x0017  #       END OF TRANSMISSION BLOCK
+0x18    0x0018  #       CANCEL
+0x19    0x0019  #       END OF MEDIUM
+0x1A    0x001A  #       SUBSTITUTE
+0x1B    0x001B  #       ESCAPE
+0x1C    0x001C  #       FILE SEPARATOR
+0x1D    0x001D  #       GROUP SEPARATOR
+0x1E    0x001E  #       RECORD SEPARATOR
+0x1F    0x001F  #       UNIT SEPARATOR
+0x20    0x0020  #       SPACE
+0x21    0x0021  #       EXCLAMATION MARK
+0x22    0x0022  #       QUOTATION MARK
+0x23    0x0023  #       NUMBER SIGN
+0x24    0x0024  #       DOLLAR SIGN
+0x25    0x0025  #       PERCENT SIGN
+0x26    0x0026  #       AMPERSAND
+0x27    0x0027  #       APOSTROPHE
+0x28    0x0028  #       LEFT PARENTHESIS
+0x29    0x0029  #       RIGHT PARENTHESIS
+0x2A    0x002A  #       ASTERISK
+0x2B    0x002B  #       PLUS SIGN
+0x2C    0x002C  #       COMMA
+0x2D    0x002D  #       HYPHEN-MINUS
+0x2E    0x002E  #       FULL STOP
+0x2F    0x002F  #       SOLIDUS
+0x30    0x0030  #       DIGIT ZERO
+0x31    0x0031  #       DIGIT ONE
+0x32    0x0032  #       DIGIT TWO
+0x33    0x0033  #       DIGIT THREE
+0x34    0x0034  #       DIGIT FOUR
+0x35    0x0035  #       DIGIT FIVE
+0x36    0x0036  #       DIGIT SIX
+0x37    0x0037  #       DIGIT SEVEN
+0x38    0x0038  #       DIGIT EIGHT
+0x39    0x0039  #       DIGIT NINE
+0x3A    0x003A  #       COLON
+0x3B    0x003B  #       SEMICOLON
+0x3C    0x003C  #       LESS-THAN SIGN
+0x3D    0x003D  #       EQUALS SIGN
+0x3E    0x003E  #       GREATER-THAN SIGN
+0x3F    0x003F  #       QUESTION MARK
+0x40    0x0040  #       COMMERCIAL AT
+0x41    0x0041  #       LATIN CAPITAL LETTER A
+0x42    0x0042  #       LATIN CAPITAL LETTER B
+0x43    0x0043  #       LATIN CAPITAL LETTER C
+0x44    0x0044  #       LATIN CAPITAL LETTER D
+0x45    0x0045  #       LATIN CAPITAL LETTER E
+0x46    0x0046  #       LATIN CAPITAL LETTER F
+0x47    0x0047  #       LATIN CAPITAL LETTER G
+0x48    0x0048  #       LATIN CAPITAL LETTER H
+0x49    0x0049  #       LATIN CAPITAL LETTER I
+0x4A    0x004A  #       LATIN CAPITAL LETTER J
+0x4B    0x004B  #       LATIN CAPITAL LETTER K
+0x4C    0x004C  #       LATIN CAPITAL LETTER L
+0x4D    0x004D  #       LATIN CAPITAL LETTER M
+0x4E    0x004E  #       LATIN CAPITAL LETTER N
+0x4F    0x004F  #       LATIN CAPITAL LETTER O
+0x50    0x0050  #       LATIN CAPITAL LETTER P
+0x51    0x0051  #       LATIN CAPITAL LETTER Q
+0x52    0x0052  #       LATIN CAPITAL LETTER R
+0x53    0x0053  #       LATIN CAPITAL LETTER S
+0x54    0x0054  #       LATIN CAPITAL LETTER T
+0x55    0x0055  #       LATIN CAPITAL LETTER U
+0x56    0x0056  #       LATIN CAPITAL LETTER V
+0x57    0x0057  #       LATIN CAPITAL LETTER W
+0x58    0x0058  #       LATIN CAPITAL LETTER X
+0x59    0x0059  #       LATIN CAPITAL LETTER Y
+0x5A    0x005A  #       LATIN CAPITAL LETTER Z
+0x5B    0x005B  #       LEFT SQUARE BRACKET
+0x5C    0x005C  #       REVERSE SOLIDUS
+0x5D    0x005D  #       RIGHT SQUARE BRACKET
+0x5E    0x005E  #       CIRCUMFLEX ACCENT
+0x5F    0x005F  #       LOW LINE
+0x60    0x0060  #       GRAVE ACCENT
+0x61    0x0061  #       LATIN SMALL LETTER A
+0x62    0x0062  #       LATIN SMALL LETTER B
+0x63    0x0063  #       LATIN SMALL LETTER C
+0x64    0x0064  #       LATIN SMALL LETTER D
+0x65    0x0065  #       LATIN SMALL LETTER E
+0x66    0x0066  #       LATIN SMALL LETTER F
+0x67    0x0067  #       LATIN SMALL LETTER G
+0x68    0x0068  #       LATIN SMALL LETTER H
+0x69    0x0069  #       LATIN SMALL LETTER I
+0x6A    0x006A  #       LATIN SMALL LETTER J
+0x6B    0x006B  #       LATIN SMALL LETTER K
+0x6C    0x006C  #       LATIN SMALL LETTER L
+0x6D    0x006D  #       LATIN SMALL LETTER M
+0x6E    0x006E  #       LATIN SMALL LETTER N
+0x6F    0x006F  #       LATIN SMALL LETTER O
+0x70    0x0070  #       LATIN SMALL LETTER P
+0x71    0x0071  #       LATIN SMALL LETTER Q
+0x72    0x0072  #       LATIN SMALL LETTER R
+0x73    0x0073  #       LATIN SMALL LETTER S
+0x74    0x0074  #       LATIN SMALL LETTER T
+0x75    0x0075  #       LATIN SMALL LETTER U
+0x76    0x0076  #       LATIN SMALL LETTER V
+0x77    0x0077  #       LATIN SMALL LETTER W
+0x78    0x0078  #       LATIN SMALL LETTER X
+0x79    0x0079  #       LATIN SMALL LETTER Y
+0x7A    0x007A  #       LATIN SMALL LETTER Z
+0x7B    0x007B  #       LEFT CURLY BRACKET
+0x7C    0x007C  #       VERTICAL LINE
+0x7D    0x007D  #       RIGHT CURLY BRACKET
+0x7E    0x007E  #       TILDE
+0x7F    0x007F  #       DELETE
+0x80    0x0080  #       <control>
+0x81    0x0081  #       <control>
+0x82    0x0082  #       <control>
+0x83    0x0083  #       <control>
+0x84    0x0084  #       <control>
+0x85    0x0085  #       <control>
+0x86    0x0086  #       <control>
+0x87    0x0087  #       <control>
+0x88    0x0088  #       <control>
+0x89    0x0089  #       <control>
+0x8A    0x008A  #       <control>
+0x8B    0x008B  #       <control>
+0x8C    0x008C  #       <control>
+0x8D    0x008D  #       <control>
+0x8E    0x008E  #       <control>
+0x8F    0x008F  #       <control>
+0x90    0x0090  #       <control>
+0x91    0x0091  #       <control>
+0x92    0x0092  #       <control>
+0x93    0x0093  #       <control>
+0x94    0x0094  #       <control>
+0x95    0x0095  #       <control>
+0x96    0x0096  #       <control>
+0x97    0x0097  #       <control>
+0x98    0x0098  #       <control>
+0x99    0x0099  #       <control>
+0x9A    0x009A  #       <control>
+0x9B    0x009B  #       <control>
+0x9C    0x009C  #       <control>
+0x9D    0x009D  #       <control>
+0x9E    0x009E  #       <control>
+0x9F    0x009F  #       <control>
+0xA0    0x00A0  #       NO-BREAK SPACE
+0xA1    0x1E02  #       LATIN CAPITAL LETTER B WITH DOT ABOVE
+0xA2    0x1E03  #       LATIN SMALL LETTER B WITH DOT ABOVE
+0xA3    0x00A3  #       POUND SIGN
+0xA4    0x010A  #       LATIN CAPITAL LETTER C WITH DOT ABOVE
+0xA5    0x010B  #       LATIN SMALL LETTER C WITH DOT ABOVE
+0xA6    0x1E0A  #       LATIN CAPITAL LETTER D WITH DOT ABOVE
+0xA7    0x00A7  #       SECTION SIGN
+0xA8    0x1E80  #       LATIN CAPITAL LETTER W WITH GRAVE
+0xA9    0x00A9  #       COPYRIGHT SIGN
+0xAA    0x1E82  #       LATIN CAPITAL LETTER W WITH ACUTE
+0xAB    0x1E0B  #       LATIN SMALL LETTER D WITH DOT ABOVE
+0xAC    0x1EF2  #       LATIN CAPITAL LETTER Y WITH GRAVE
+0xAD    0x00AD  #       SOFT HYPHEN
+0xAE    0x00AE  #       REGISTERED SIGN
+0xAF    0x0178  #       LATIN CAPITAL LETTER Y WITH DIAERESIS
+0xB0    0x1E1E  #       LATIN CAPITAL LETTER F WITH DOT ABOVE
+0xB1    0x1E1F  #       LATIN SMALL LETTER F WITH DOT ABOVE
+0xB2    0x0120  #       LATIN CAPITAL LETTER G WITH DOT ABOVE
+0xB3    0x0121  #       LATIN SMALL LETTER G WITH DOT ABOVE
+0xB4    0x1E40  #       LATIN CAPITAL LETTER M WITH DOT ABOVE
+0xB5    0x1E41  #       LATIN SMALL LETTER M WITH DOT ABOVE
+0xB6    0x00B6  #       PILCROW SIGN
+0xB7    0x1E56  #       LATIN CAPITAL LETTER P WITH DOT ABOVE
+0xB8    0x1E81  #       LATIN SMALL LETTER W WITH GRAVE
+0xB9    0x1E57  #       LATIN SMALL LETTER P WITH DOT ABOVE
+0xBA    0x1E83  #       LATIN SMALL LETTER W WITH ACUTE
+0xBB    0x1E60  #       LATIN CAPITAL LETTER S WITH DOT ABOVE
+0xBC    0x1EF3  #       LATIN SMALL LETTER Y WITH GRAVE
+0xBD    0x1E84  #       LATIN CAPITAL LETTER W WITH DIAERESIS
+0xBE    0x1E85  #       LATIN SMALL LETTER W WITH DIAERESIS
+0xBF    0x1E61  #       LATIN SMALL LETTER S WITH DOT ABOVE
+0xC0    0x00C0  #       LATIN CAPITAL LETTER A WITH GRAVE
+0xC1    0x00C1  #       LATIN CAPITAL LETTER A WITH ACUTE
+0xC2    0x00C2  #       LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3    0x00C3  #       LATIN CAPITAL LETTER A WITH TILDE
+0xC4    0x00C4  #       LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5    0x00C5  #       LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6    0x00C6  #       LATIN CAPITAL LETTER AE
+0xC7    0x00C7  #       LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8    0x00C8  #       LATIN CAPITAL LETTER E WITH GRAVE
+0xC9    0x00C9  #       LATIN CAPITAL LETTER E WITH ACUTE
+0xCA    0x00CA  #       LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xCB    0x00CB  #       LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC    0x00CC  #       LATIN CAPITAL LETTER I WITH GRAVE
+0xCD    0x00CD  #       LATIN CAPITAL LETTER I WITH ACUTE
+0xCE    0x00CE  #       LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF    0x00CF  #       LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD0    0x0174  #       LATIN CAPITAL LETTER W WITH CIRCUMFLEX
+0xD1    0x00D1  #       LATIN CAPITAL LETTER N WITH TILDE
+0xD2    0x00D2  #       LATIN CAPITAL LETTER O WITH GRAVE
+0xD3    0x00D3  #       LATIN CAPITAL LETTER O WITH ACUTE
+0xD4    0x00D4  #       LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5    0x00D5  #       LATIN CAPITAL LETTER O WITH TILDE
+0xD6    0x00D6  #       LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7    0x1E6A  #       LATIN CAPITAL LETTER T WITH DOT ABOVE
+0xD8    0x00D8  #       LATIN CAPITAL LETTER O WITH STROKE
+0xD9    0x00D9  #       LATIN CAPITAL LETTER U WITH GRAVE
+0xDA    0x00DA  #       LATIN CAPITAL LETTER U WITH ACUTE
+0xDB    0x00DB  #       LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC    0x00DC  #       LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD    0x00DD  #       LATIN CAPITAL LETTER Y WITH ACUTE
+0xDE    0x0176  #       LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+0xDF    0x00DF  #       LATIN SMALL LETTER SHARP S
+0xE0    0x00E0  #       LATIN SMALL LETTER A WITH GRAVE
+0xE1    0x00E1  #       LATIN SMALL LETTER A WITH ACUTE
+0xE2    0x00E2  #       LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3    0x00E3  #       LATIN SMALL LETTER A WITH TILDE
+0xE4    0x00E4  #       LATIN SMALL LETTER A WITH DIAERESIS
+0xE5    0x00E5  #       LATIN SMALL LETTER A WITH RING ABOVE
+0xE6    0x00E6  #       LATIN SMALL LETTER AE
+0xE7    0x00E7  #       LATIN SMALL LETTER C WITH CEDILLA
+0xE8    0x00E8  #       LATIN SMALL LETTER E WITH GRAVE
+0xE9    0x00E9  #       LATIN SMALL LETTER E WITH ACUTE
+0xEA    0x00EA  #       LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB    0x00EB  #       LATIN SMALL LETTER E WITH DIAERESIS
+0xEC    0x00EC  #       LATIN SMALL LETTER I WITH GRAVE
+0xED    0x00ED  #       LATIN SMALL LETTER I WITH ACUTE
+0xEE    0x00EE  #       LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF    0x00EF  #       LATIN SMALL LETTER I WITH DIAERESIS
+0xF0    0x0175  #       LATIN SMALL LETTER W WITH CIRCUMFLEX
+0xF1    0x00F1  #       LATIN SMALL LETTER N WITH TILDE
+0xF2    0x00F2  #       LATIN SMALL LETTER O WITH GRAVE
+0xF3    0x00F3  #       LATIN SMALL LETTER O WITH ACUTE
+0xF4    0x00F4  #       LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5    0x00F5  #       LATIN SMALL LETTER O WITH TILDE
+0xF6    0x00F6  #       LATIN SMALL LETTER O WITH DIAERESIS
+0xF7    0x1E6B  #       LATIN SMALL LETTER T WITH DOT ABOVE
+0xF8    0x00F8  #       LATIN SMALL LETTER O WITH STROKE
+0xF9    0x00F9  #       LATIN SMALL LETTER U WITH GRAVE
+0xFA    0x00FA  #       LATIN SMALL LETTER U WITH ACUTE
+0xFB    0x00FB  #       LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC    0x00FC  #       LATIN SMALL LETTER U WITH DIAERESIS
+0xFD    0x00FD  #       LATIN SMALL LETTER Y WITH ACUTE
+0xFE    0x0177  #       LATIN SMALL LETTER Y WITH CIRCUMFLEX
+0xFF    0x00FF  #       LATIN SMALL LETTER Y WITH DIAERESIS
+
+
+"
+! !
+
+!ISO8859_14 class methodsFor:'queries'!
+
+namesOfEncoding
+    ^ #( 'iso8859-14' 'iso-8859-14' 'latin8' 'latin-8' 'latin-celtic' )
+! !
+
+!ISO8859_14 methodsFor:'encoding & decoding'!
+
+decode:codeArg
+    "Automagically generated by generateCode - do not modify.
+     Decode from my encoding into unicode."
+
+    |code "{ Class: SmallInteger }"|
+
+    code := codeArg.
+    code <= 16rA0 ifTrue:[ ^ code ].
+    code > 16rFF ifTrue:[
+	^ self decodingError.
+    ].
+    ^ #(
+       "16r00A1"    16r1E02 " LATIN CAPITAL LETTER B WITH DOT ABOVE " 
+       "16r00A2"    16r1E03 " LATIN SMALL LETTER B WITH DOT ABOVE " 
+       "16r00A3"    16r00A3 " POUND SIGN " 
+       "16r00A4"    16r010A " LATIN CAPITAL LETTER C WITH DOT ABOVE " 
+       "16r00A5"    16r010B " LATIN SMALL LETTER C WITH DOT ABOVE " 
+       "16r00A6"    16r1E0A " LATIN CAPITAL LETTER D WITH DOT ABOVE " 
+       "16r00A7"    16r00A7 " SECTION SIGN " 
+       "16r00A8"    16r1E80 " LATIN CAPITAL LETTER W WITH GRAVE " 
+       "16r00A9"    16r00A9 " COPYRIGHT SIGN " 
+       "16r00AA"    16r1E82 " LATIN CAPITAL LETTER W WITH ACUTE " 
+       "16r00AB"    16r1E0B " LATIN SMALL LETTER D WITH DOT ABOVE " 
+       "16r00AC"    16r1EF2 " LATIN CAPITAL LETTER Y WITH GRAVE " 
+       "16r00AD"    16r00AD " SOFT HYPHEN " 
+       "16r00AE"    16r00AE " REGISTERED SIGN " 
+       "16r00AF"    16r0178 " LATIN CAPITAL LETTER Y WITH DIAERESIS " 
+       "16r00B0"    16r1E1E " LATIN CAPITAL LETTER F WITH DOT ABOVE " 
+       "16r00B1"    16r1E1F " LATIN SMALL LETTER F WITH DOT ABOVE " 
+       "16r00B2"    16r0120 " LATIN CAPITAL LETTER G WITH DOT ABOVE " 
+       "16r00B3"    16r0121 " LATIN SMALL LETTER G WITH DOT ABOVE " 
+       "16r00B4"    16r1E40 " LATIN CAPITAL LETTER M WITH DOT ABOVE " 
+       "16r00B5"    16r1E41 " LATIN SMALL LETTER M WITH DOT ABOVE " 
+       "16r00B6"    16r00B6 " PILCROW SIGN " 
+       "16r00B7"    16r1E56 " LATIN CAPITAL LETTER P WITH DOT ABOVE " 
+       "16r00B8"    16r1E81 " LATIN SMALL LETTER W WITH GRAVE " 
+       "16r00B9"    16r1E57 " LATIN SMALL LETTER P WITH DOT ABOVE " 
+       "16r00BA"    16r1E83 " LATIN SMALL LETTER W WITH ACUTE " 
+       "16r00BB"    16r1E60 " LATIN CAPITAL LETTER S WITH DOT ABOVE " 
+       "16r00BC"    16r1EF3 " LATIN SMALL LETTER Y WITH GRAVE " 
+       "16r00BD"    16r1E84 " LATIN CAPITAL LETTER W WITH DIAERESIS " 
+       "16r00BE"    16r1E85 " LATIN SMALL LETTER W WITH DIAERESIS " 
+       "16r00BF"    16r1E61 " LATIN SMALL LETTER S WITH DOT ABOVE " 
+       "16r00C0"    16r00C0 " LATIN CAPITAL LETTER A WITH GRAVE " 
+       "16r00C1"    16r00C1 " LATIN CAPITAL LETTER A WITH ACUTE " 
+       "16r00C2"    16r00C2 " LATIN CAPITAL LETTER A WITH CIRCUMFLEX " 
+       "16r00C3"    16r00C3 " LATIN CAPITAL LETTER A WITH TILDE " 
+       "16r00C4"    16r00C4 " LATIN CAPITAL LETTER A WITH DIAERESIS " 
+       "16r00C5"    16r00C5 " LATIN CAPITAL LETTER A WITH RING ABOVE " 
+       "16r00C6"    16r00C6 " LATIN CAPITAL LETTER AE " 
+       "16r00C7"    16r00C7 " LATIN CAPITAL LETTER C WITH CEDILLA " 
+       "16r00C8"    16r00C8 " LATIN CAPITAL LETTER E WITH GRAVE " 
+       "16r00C9"    16r00C9 " LATIN CAPITAL LETTER E WITH ACUTE " 
+       "16r00CA"    16r00CA " LATIN CAPITAL LETTER E WITH CIRCUMFLEX " 
+       "16r00CB"    16r00CB " LATIN CAPITAL LETTER E WITH DIAERESIS " 
+       "16r00CC"    16r00CC " LATIN CAPITAL LETTER I WITH GRAVE " 
+       "16r00CD"    16r00CD " LATIN CAPITAL LETTER I WITH ACUTE " 
+       "16r00CE"    16r00CE " LATIN CAPITAL LETTER I WITH CIRCUMFLEX " 
+       "16r00CF"    16r00CF " LATIN CAPITAL LETTER I WITH DIAERESIS " 
+       "16r00D0"    16r0174 " LATIN CAPITAL LETTER W WITH CIRCUMFLEX " 
+       "16r00D1"    16r00D1 " LATIN CAPITAL LETTER N WITH TILDE " 
+       "16r00D2"    16r00D2 " LATIN CAPITAL LETTER O WITH GRAVE " 
+       "16r00D3"    16r00D3 " LATIN CAPITAL LETTER O WITH ACUTE " 
+       "16r00D4"    16r00D4 " LATIN CAPITAL LETTER O WITH CIRCUMFLEX " 
+       "16r00D5"    16r00D5 " LATIN CAPITAL LETTER O WITH TILDE " 
+       "16r00D6"    16r00D6 " LATIN CAPITAL LETTER O WITH DIAERESIS " 
+       "16r00D7"    16r1E6A " LATIN CAPITAL LETTER T WITH DOT ABOVE " 
+       "16r00D8"    16r00D8 " LATIN CAPITAL LETTER O WITH STROKE " 
+       "16r00D9"    16r00D9 " LATIN CAPITAL LETTER U WITH GRAVE " 
+       "16r00DA"    16r00DA " LATIN CAPITAL LETTER U WITH ACUTE " 
+       "16r00DB"    16r00DB " LATIN CAPITAL LETTER U WITH CIRCUMFLEX " 
+       "16r00DC"    16r00DC " LATIN CAPITAL LETTER U WITH DIAERESIS " 
+       "16r00DD"    16r00DD " LATIN CAPITAL LETTER Y WITH ACUTE " 
+       "16r00DE"    16r0176 " LATIN CAPITAL LETTER Y WITH CIRCUMFLEX " 
+       "16r00DF"    16r00DF " LATIN SMALL LETTER SHARP S " 
+       "16r00E0"    16r00E0 " LATIN SMALL LETTER A WITH GRAVE " 
+       "16r00E1"    16r00E1 " LATIN SMALL LETTER A WITH ACUTE " 
+       "16r00E2"    16r00E2 " LATIN SMALL LETTER A WITH CIRCUMFLEX " 
+       "16r00E3"    16r00E3 " LATIN SMALL LETTER A WITH TILDE " 
+       "16r00E4"    16r00E4 " LATIN SMALL LETTER A WITH DIAERESIS " 
+       "16r00E5"    16r00E5 " LATIN SMALL LETTER A WITH RING ABOVE " 
+       "16r00E6"    16r00E6 " LATIN SMALL LETTER AE " 
+       "16r00E7"    16r00E7 " LATIN SMALL LETTER C WITH CEDILLA " 
+       "16r00E8"    16r00E8 " LATIN SMALL LETTER E WITH GRAVE " 
+       "16r00E9"    16r00E9 " LATIN SMALL LETTER E WITH ACUTE " 
+       "16r00EA"    16r00EA " LATIN SMALL LETTER E WITH CIRCUMFLEX " 
+       "16r00EB"    16r00EB " LATIN SMALL LETTER E WITH DIAERESIS " 
+       "16r00EC"    16r00EC " LATIN SMALL LETTER I WITH GRAVE " 
+       "16r00ED"    16r00ED " LATIN SMALL LETTER I WITH ACUTE " 
+       "16r00EE"    16r00EE " LATIN SMALL LETTER I WITH CIRCUMFLEX " 
+       "16r00EF"    16r00EF " LATIN SMALL LETTER I WITH DIAERESIS " 
+       "16r00F0"    16r0175 " LATIN SMALL LETTER W WITH CIRCUMFLEX " 
+       "16r00F1"    16r00F1 " LATIN SMALL LETTER N WITH TILDE " 
+       "16r00F2"    16r00F2 " LATIN SMALL LETTER O WITH GRAVE " 
+       "16r00F3"    16r00F3 " LATIN SMALL LETTER O WITH ACUTE " 
+       "16r00F4"    16r00F4 " LATIN SMALL LETTER O WITH CIRCUMFLEX " 
+       "16r00F5"    16r00F5 " LATIN SMALL LETTER O WITH TILDE " 
+       "16r00F6"    16r00F6 " LATIN SMALL LETTER O WITH DIAERESIS " 
+       "16r00F7"    16r1E6B " LATIN SMALL LETTER T WITH DOT ABOVE " 
+       "16r00F8"    16r00F8 " LATIN SMALL LETTER O WITH STROKE " 
+       "16r00F9"    16r00F9 " LATIN SMALL LETTER U WITH GRAVE " 
+       "16r00FA"    16r00FA " LATIN SMALL LETTER U WITH ACUTE " 
+       "16r00FB"    16r00FB " LATIN SMALL LETTER U WITH CIRCUMFLEX " 
+       "16r00FC"    16r00FC " LATIN SMALL LETTER U WITH DIAERESIS " 
+       "16r00FD"    16r00FD " LATIN SMALL LETTER Y WITH ACUTE " 
+       "16r00FE"    16r0177 " LATIN SMALL LETTER Y WITH CIRCUMFLEX " 
+       "16r00FF"    16r00FF " LATIN SMALL LETTER Y WITH DIAERESIS " 
+       ) at:(code - 16rA0).
+!
+
+encode:unicodeArg
+    "Automagically generated by generateCode - do not modify.
+     Encode from unicode into my encoding."
+
+    |unicode "{ Class: SmallInteger }"|
+
+    unicode := unicodeArg.
+    unicode <= 16rA0 ifTrue:[ ^ unicode ].
+    unicode > 16r1EF3 ifTrue:[
+	^ self encodingError.
+    ].
+    unicode <= 16r178 ifTrue:[
+	unicode <= 16r121 ifTrue:[
+	    unicode <= 16r109 ifTrue:[
+		(#[
+		   "16r00A1"    0 " invalid " 
+		   "16r00A2"    0 " invalid " 
+		   "16r00A3"    1 " POUND SIGN " 
+		   "16r00A4"    0 " invalid " 
+		   "16r00A5"    0 " invalid " 
+		   "16r00A6"    0 " invalid " 
+		   "16r00A7"    1 " SECTION SIGN " 
+		   "16r00A8"    0 " invalid " 
+		   "16r00A9"    1 " COPYRIGHT SIGN " 
+		   "16r00AA"    0 " invalid " 
+		   "16r00AB"    0 " invalid " 
+		   "16r00AC"    0 " invalid " 
+		   "16r00AD"    1 " SOFT HYPHEN " 
+		   "16r00AE"    1 " REGISTERED SIGN " 
+		   "16r00AF"    0 " invalid " 
+		   "16r00B0"    0 " invalid " 
+		   "16r00B1"    0 " invalid " 
+		   "16r00B2"    0 " invalid " 
+		   "16r00B3"    0 " invalid " 
+		   "16r00B4"    0 " invalid " 
+		   "16r00B5"    0 " invalid " 
+		   "16r00B6"    1 " PILCROW SIGN " 
+		   "16r00B7"    0 " invalid " 
+		   "16r00B8"    0 " invalid " 
+		   "16r00B9"    0 " invalid " 
+		   "16r00BA"    0 " invalid " 
+		   "16r00BB"    0 " invalid " 
+		   "16r00BC"    0 " invalid " 
+		   "16r00BD"    0 " invalid " 
+		   "16r00BE"    0 " invalid " 
+		   "16r00BF"    0 " invalid " 
+		   "16r00C0"    1 " LATIN CAPITAL LETTER A WITH GRAVE " 
+		   "16r00C1"    1 " LATIN CAPITAL LETTER A WITH ACUTE " 
+		   "16r00C2"    1 " LATIN CAPITAL LETTER A WITH CIRCUMFLEX " 
+		   "16r00C3"    1 " LATIN CAPITAL LETTER A WITH TILDE " 
+		   "16r00C4"    1 " LATIN CAPITAL LETTER A WITH DIAERESIS " 
+		   "16r00C5"    1 " LATIN CAPITAL LETTER A WITH RING ABOVE " 
+		   "16r00C6"    1 " LATIN CAPITAL LETTER AE " 
+		   "16r00C7"    1 " LATIN CAPITAL LETTER C WITH CEDILLA " 
+		   "16r00C8"    1 " LATIN CAPITAL LETTER E WITH GRAVE " 
+		   "16r00C9"    1 " LATIN CAPITAL LETTER E WITH ACUTE " 
+		   "16r00CA"    1 " LATIN CAPITAL LETTER E WITH CIRCUMFLEX " 
+		   "16r00CB"    1 " LATIN CAPITAL LETTER E WITH DIAERESIS " 
+		   "16r00CC"    1 " LATIN CAPITAL LETTER I WITH GRAVE " 
+		   "16r00CD"    1 " LATIN CAPITAL LETTER I WITH ACUTE " 
+		   "16r00CE"    1 " LATIN CAPITAL LETTER I WITH CIRCUMFLEX " 
+		   "16r00CF"    1 " LATIN CAPITAL LETTER I WITH DIAERESIS " 
+		   "16r00D0"    0 " invalid " 
+		   "16r00D1"    1 " LATIN CAPITAL LETTER N WITH TILDE " 
+		   "16r00D2"    1 " LATIN CAPITAL LETTER O WITH GRAVE " 
+		   "16r00D3"    1 " LATIN CAPITAL LETTER O WITH ACUTE " 
+		   "16r00D4"    1 " LATIN CAPITAL LETTER O WITH CIRCUMFLEX " 
+		   "16r00D5"    1 " LATIN CAPITAL LETTER O WITH TILDE " 
+		   "16r00D6"    1 " LATIN CAPITAL LETTER O WITH DIAERESIS " 
+		   "16r00D7"    0 " invalid " 
+		   "16r00D8"    1 " LATIN CAPITAL LETTER O WITH STROKE " 
+		   "16r00D9"    1 " LATIN CAPITAL LETTER U WITH GRAVE " 
+		   "16r00DA"    1 " LATIN CAPITAL LETTER U WITH ACUTE " 
+		   "16r00DB"    1 " LATIN CAPITAL LETTER U WITH CIRCUMFLEX " 
+		   "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 " 
+		   "16r00E0"    1 " LATIN SMALL LETTER A WITH GRAVE " 
+		   "16r00E1"    1 " LATIN SMALL LETTER A WITH ACUTE " 
+		   "16r00E2"    1 " LATIN SMALL LETTER A WITH CIRCUMFLEX " 
+		   "16r00E3"    1 " LATIN SMALL LETTER A WITH TILDE " 
+		   "16r00E4"    1 " LATIN SMALL LETTER A WITH DIAERESIS " 
+		   "16r00E5"    1 " LATIN SMALL LETTER A WITH RING ABOVE " 
+		   "16r00E6"    1 " LATIN SMALL LETTER AE " 
+		   "16r00E7"    1 " LATIN SMALL LETTER C WITH CEDILLA " 
+		   "16r00E8"    1 " LATIN SMALL LETTER E WITH GRAVE " 
+		   "16r00E9"    1 " LATIN SMALL LETTER E WITH ACUTE " 
+		   "16r00EA"    1 " LATIN SMALL LETTER E WITH CIRCUMFLEX " 
+		   "16r00EB"    1 " LATIN SMALL LETTER E WITH DIAERESIS " 
+		   "16r00EC"    1 " LATIN SMALL LETTER I WITH GRAVE " 
+		   "16r00ED"    1 " LATIN SMALL LETTER I WITH ACUTE " 
+		   "16r00EE"    1 " LATIN SMALL LETTER I WITH CIRCUMFLEX " 
+		   "16r00EF"    1 " LATIN SMALL LETTER I WITH DIAERESIS " 
+		   "16r00F0"    0 " invalid " 
+		   "16r00F1"    1 " LATIN SMALL LETTER N WITH TILDE " 
+		   "16r00F2"    1 " LATIN SMALL LETTER O WITH GRAVE " 
+		   "16r00F3"    1 " LATIN SMALL LETTER O WITH ACUTE " 
+		   "16r00F4"    1 " LATIN SMALL LETTER O WITH CIRCUMFLEX " 
+		   "16r00F5"    1 " LATIN SMALL LETTER O WITH TILDE " 
+		   "16r00F6"    1 " LATIN SMALL LETTER O WITH DIAERESIS " 
+		   "16r00F7"    0 " invalid " 
+		   "16r00F8"    1 " LATIN SMALL LETTER O WITH STROKE " 
+		   "16r00F9"    1 " LATIN SMALL LETTER U WITH GRAVE " 
+		   "16r00FA"    1 " LATIN SMALL LETTER U WITH ACUTE " 
+		   "16r00FB"    1 " LATIN SMALL LETTER U WITH CIRCUMFLEX " 
+		   "16r00FC"    1 " LATIN SMALL LETTER U WITH DIAERESIS " 
+		   "16r00FD"    1 " LATIN SMALL LETTER Y WITH ACUTE " 
+		   "16r00FE"    0 " invalid " 
+		   "16r00FF"    1 " LATIN SMALL LETTER Y WITH DIAERESIS " 
+		   "16r0100"    0 " invalid " 
+		   "16r0101"    0 " invalid " 
+		   "16r0102"    0 " invalid " 
+		   "16r0103"    0 " invalid " 
+		   "16r0104"    0 " invalid " 
+		   "16r0105"    0 " invalid " 
+		   "16r0106"    0 " invalid " 
+		   "16r0107"    0 " invalid " 
+		   "16r0108"    0 " invalid " 
+		   "16r0109"    0 " invalid " 
+		] at:(unicode - 160)) ~~ 0 ifTrue:[^ unicode].
+		^ self encodingError.
+	    ].
+	    unicode <= 16r10B ifTrue:[
+		^ #[
+		   "16r010A"    16rA4 " LATIN CAPITAL LETTER C WITH DOT ABOVE " 
+		   "16r010B"    16rA5 " LATIN SMALL LETTER C WITH DOT ABOVE " 
+		   ] at:(unicode - 16r109).
+	    ].
+	    unicode <= 16r11F ifTrue:[
+		^ self encodingError.
+	    ].
+	    ^ #[
+	       "16r0120"    16rB2 " LATIN CAPITAL LETTER G WITH DOT ABOVE " 
+	       "16r0121"    16rB3 " LATIN SMALL LETTER G WITH DOT ABOVE " 
+	       ] at:(unicode - 16r11F).
+	].
+	unicode <= 16r173 ifTrue:[
+	    ^ self encodingError.
+	].
+	^ #[
+	   "16r0174"    16rD0 " LATIN CAPITAL LETTER W WITH CIRCUMFLEX " 
+	   "16r0175"    16rF0 " LATIN SMALL LETTER W WITH CIRCUMFLEX " 
+	   "16r0176"    16rDE " LATIN CAPITAL LETTER Y WITH CIRCUMFLEX " 
+	   "16r0177"    16rFE " LATIN SMALL LETTER Y WITH CIRCUMFLEX " 
+	   "16r0178"    16rAF " LATIN CAPITAL LETTER Y WITH DIAERESIS " 
+	   ] at:(unicode - 16r173).
+    ].
+    unicode <= 16r1E01 ifTrue:[
+	^ self encodingError.
+    ].
+    unicode <= 16r1E85 ifTrue:[
+	[
+	    |t|
+	    t := #[
+	       "16r1E02"    16rA1 " LATIN CAPITAL LETTER B WITH DOT ABOVE " 
+	       "16r1E03"    16rA2 " LATIN SMALL LETTER B WITH DOT ABOVE " 
+	       "16r1E04"    16r00 " invalid " 
+	       "16r1E05"    16r00 " invalid " 
+	       "16r1E06"    16r00 " invalid " 
+	       "16r1E07"    16r00 " invalid " 
+	       "16r1E08"    16r00 " invalid " 
+	       "16r1E09"    16r00 " invalid " 
+	       "16r1E0A"    16rA6 " LATIN CAPITAL LETTER D WITH DOT ABOVE " 
+	       "16r1E0B"    16rAB " LATIN SMALL LETTER D WITH DOT ABOVE " 
+	       "16r1E0C"    16r00 " invalid " 
+	       "16r1E0D"    16r00 " invalid " 
+	       "16r1E0E"    16r00 " invalid " 
+	       "16r1E0F"    16r00 " invalid " 
+	       "16r1E10"    16r00 " invalid " 
+	       "16r1E11"    16r00 " invalid " 
+	       "16r1E12"    16r00 " invalid " 
+	       "16r1E13"    16r00 " invalid " 
+	       "16r1E14"    16r00 " invalid " 
+	       "16r1E15"    16r00 " invalid " 
+	       "16r1E16"    16r00 " invalid " 
+	       "16r1E17"    16r00 " invalid " 
+	       "16r1E18"    16r00 " invalid " 
+	       "16r1E19"    16r00 " invalid " 
+	       "16r1E1A"    16r00 " invalid " 
+	       "16r1E1B"    16r00 " invalid " 
+	       "16r1E1C"    16r00 " invalid " 
+	       "16r1E1D"    16r00 " invalid " 
+	       "16r1E1E"    16rB0 " LATIN CAPITAL LETTER F WITH DOT ABOVE " 
+	       "16r1E1F"    16rB1 " LATIN SMALL LETTER F WITH DOT ABOVE " 
+	       "16r1E20"    16r00 " invalid " 
+	       "16r1E21"    16r00 " invalid " 
+	       "16r1E22"    16r00 " invalid " 
+	       "16r1E23"    16r00 " invalid " 
+	       "16r1E24"    16r00 " invalid " 
+	       "16r1E25"    16r00 " invalid " 
+	       "16r1E26"    16r00 " invalid " 
+	       "16r1E27"    16r00 " invalid " 
+	       "16r1E28"    16r00 " invalid " 
+	       "16r1E29"    16r00 " invalid " 
+	       "16r1E2A"    16r00 " invalid " 
+	       "16r1E2B"    16r00 " invalid " 
+	       "16r1E2C"    16r00 " invalid " 
+	       "16r1E2D"    16r00 " invalid " 
+	       "16r1E2E"    16r00 " invalid " 
+	       "16r1E2F"    16r00 " invalid " 
+	       "16r1E30"    16r00 " invalid " 
+	       "16r1E31"    16r00 " invalid " 
+	       "16r1E32"    16r00 " invalid " 
+	       "16r1E33"    16r00 " invalid " 
+	       "16r1E34"    16r00 " invalid " 
+	       "16r1E35"    16r00 " invalid " 
+	       "16r1E36"    16r00 " invalid " 
+	       "16r1E37"    16r00 " invalid " 
+	       "16r1E38"    16r00 " invalid " 
+	       "16r1E39"    16r00 " invalid " 
+	       "16r1E3A"    16r00 " invalid " 
+	       "16r1E3B"    16r00 " invalid " 
+	       "16r1E3C"    16r00 " invalid " 
+	       "16r1E3D"    16r00 " invalid " 
+	       "16r1E3E"    16r00 " invalid " 
+	       "16r1E3F"    16r00 " invalid " 
+	       "16r1E40"    16rB4 " LATIN CAPITAL LETTER M WITH DOT ABOVE " 
+	       "16r1E41"    16rB5 " LATIN SMALL LETTER M WITH DOT ABOVE " 
+	       "16r1E42"    16r00 " invalid " 
+	       "16r1E43"    16r00 " invalid " 
+	       "16r1E44"    16r00 " invalid " 
+	       "16r1E45"    16r00 " invalid " 
+	       "16r1E46"    16r00 " invalid " 
+	       "16r1E47"    16r00 " invalid " 
+	       "16r1E48"    16r00 " invalid " 
+	       "16r1E49"    16r00 " invalid " 
+	       "16r1E4A"    16r00 " invalid " 
+	       "16r1E4B"    16r00 " invalid " 
+	       "16r1E4C"    16r00 " invalid " 
+	       "16r1E4D"    16r00 " invalid " 
+	       "16r1E4E"    16r00 " invalid " 
+	       "16r1E4F"    16r00 " invalid " 
+	       "16r1E50"    16r00 " invalid " 
+	       "16r1E51"    16r00 " invalid " 
+	       "16r1E52"    16r00 " invalid " 
+	       "16r1E53"    16r00 " invalid " 
+	       "16r1E54"    16r00 " invalid " 
+	       "16r1E55"    16r00 " invalid " 
+	       "16r1E56"    16rB7 " LATIN CAPITAL LETTER P WITH DOT ABOVE " 
+	       "16r1E57"    16rB9 " LATIN SMALL LETTER P WITH DOT ABOVE " 
+	       "16r1E58"    16r00 " invalid " 
+	       "16r1E59"    16r00 " invalid " 
+	       "16r1E5A"    16r00 " invalid " 
+	       "16r1E5B"    16r00 " invalid " 
+	       "16r1E5C"    16r00 " invalid " 
+	       "16r1E5D"    16r00 " invalid " 
+	       "16r1E5E"    16r00 " invalid " 
+	       "16r1E5F"    16r00 " invalid " 
+	       "16r1E60"    16rBB " LATIN CAPITAL LETTER S WITH DOT ABOVE " 
+	       "16r1E61"    16rBF " LATIN SMALL LETTER S WITH DOT ABOVE " 
+	       "16r1E62"    16r00 " invalid " 
+	       "16r1E63"    16r00 " invalid " 
+	       "16r1E64"    16r00 " invalid " 
+	       "16r1E65"    16r00 " invalid " 
+	       "16r1E66"    16r00 " invalid " 
+	       "16r1E67"    16r00 " invalid " 
+	       "16r1E68"    16r00 " invalid " 
+	       "16r1E69"    16r00 " invalid " 
+	       "16r1E6A"    16rD7 " LATIN CAPITAL LETTER T WITH DOT ABOVE " 
+	       "16r1E6B"    16rF7 " LATIN SMALL LETTER T WITH DOT ABOVE " 
+	       "16r1E6C"    16r00 " invalid " 
+	       "16r1E6D"    16r00 " invalid " 
+	       "16r1E6E"    16r00 " invalid " 
+	       "16r1E6F"    16r00 " invalid " 
+	       "16r1E70"    16r00 " invalid " 
+	       "16r1E71"    16r00 " invalid " 
+	       "16r1E72"    16r00 " invalid " 
+	       "16r1E73"    16r00 " invalid " 
+	       "16r1E74"    16r00 " invalid " 
+	       "16r1E75"    16r00 " invalid " 
+	       "16r1E76"    16r00 " invalid " 
+	       "16r1E77"    16r00 " invalid " 
+	       "16r1E78"    16r00 " invalid " 
+	       "16r1E79"    16r00 " invalid " 
+	       "16r1E7A"    16r00 " invalid " 
+	       "16r1E7B"    16r00 " invalid " 
+	       "16r1E7C"    16r00 " invalid " 
+	       "16r1E7D"    16r00 " invalid " 
+	       "16r1E7E"    16r00 " invalid " 
+	       "16r1E7F"    16r00 " invalid " 
+	       "16r1E80"    16rA8 " LATIN CAPITAL LETTER W WITH GRAVE " 
+	       "16r1E81"    16rB8 " LATIN SMALL LETTER W WITH GRAVE " 
+	       "16r1E82"    16rAA " LATIN CAPITAL LETTER W WITH ACUTE " 
+	       "16r1E83"    16rBA " LATIN SMALL LETTER W WITH ACUTE " 
+	       "16r1E84"    16rBD " LATIN CAPITAL LETTER W WITH DIAERESIS " 
+	       "16r1E85"    16rBE " LATIN SMALL LETTER W WITH DIAERESIS " 
+	       ] at:(unicode - 16r1E01).
+	    t == 0 ifFalse:[^ t].
+	    ^ self encodingError
+	] value.
+    ].
+    unicode <= 16r1EF1 ifTrue:[
+	^ self encodingError.
+    ].
+    ^ #[
+       "16r1EF2"    16rAC " LATIN CAPITAL LETTER Y WITH GRAVE " 
+       "16r1EF3"    16rBC " LATIN SMALL LETTER Y WITH GRAVE " 
+       ] at:(unicode - 16r1EF1).
+! !
+
+!ISO8859_14 class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_14.st,v 1.1 2004-03-05 17:29:55 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/CharacterEncoderImplementations__ISO8859_16.st	Fri Mar 05 18:30:49 2004 +0100
@@ -0,0 +1,696 @@
+"{ Encoding: utf8 }"
+
+"{ Package: 'stx:libbasic' }"
+
+"{ NameSpace: CharacterEncoderImplementations }"
+
+SingleByteEncoder subclass:#ISO8859_16
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Collections-Text-Encodings'
+!
+
+
+!ISO8859_16 class methodsFor:'mapping'!
+
+mapFileURL1_relativePathName
+    ^ 'ISO8859/8859-16.TXT'
+!
+
+mapping
+"
+# From: http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-16.TXT
+
+#
+#       Name:             ISO/IEC 8859-16:2001 to Unicode
+#       Unicode version:  3.0
+#       Table version:    1.0
+#       Table format:     Format A
+#       Date:             2001 July 26
+#       Authors:          Markus Kuhn <mkuhn@acm.org>
+#
+#       Copyright (c) 1999-2001 Unicode, Inc.  All Rights reserved.
+#
+#       This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#       No claims are made as to fitness for any particular purpose.  No
+#       warranties of any kind are expressed or implied.  The recipient
+#       agrees to determine applicability of information provided.  If this
+#       file has been provided on optical media by Unicode, Inc., the sole
+#       remedy for any claim will be exchange of defective media within 90
+#       days of receipt.
+#
+#       Unicode, Inc. hereby grants the right to freely use the information
+#       supplied in this file in the creation of products supporting the
+#       Unicode Standard, and to make copies of this file in any form for
+#       internal or external distribution as long as this notice remains
+#       attached.
+#
+#       General notes:
+#
+#       This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-16:2001 characters map into Unicode.
+#
+#       Format:  Three tab-separated columns
+#                Column #1 is the ISO/IEC 8859-16 code (in hex as 0xXX)
+#                Column #2 is the Unicode (in hex as 0xXXXX)
+#                Column #3 the Unicode name (follows a comment sign, '#')
+#
+#       The entries are in ISO/IEC 8859-16 order.
+#
+#       Updated versions of this file may be found in:
+#               <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#       Any comments or problems, contact <errata@unicode.org>
+#       Please note that <errata@unicode.org> is an archival address;
+#       notices will be checked, but do not expect an immediate response.
+#
+0x00    0x0000  #       NULL
+0x01    0x0001  #       START OF HEADING
+0x02    0x0002  #       START OF TEXT
+0x03    0x0003  #       END OF TEXT
+0x04    0x0004  #       END OF TRANSMISSION
+0x05    0x0005  #       ENQUIRY
+0x06    0x0006  #       ACKNOWLEDGE
+0x07    0x0007  #       BELL
+0x08    0x0008  #       BACKSPACE
+0x09    0x0009  #       HORIZONTAL TABULATION
+0x0A    0x000A  #       LINE FEED
+0x0B    0x000B  #       VERTICAL TABULATION
+0x0C    0x000C  #       FORM FEED
+0x0D    0x000D  #       CARRIAGE RETURN
+0x0E    0x000E  #       SHIFT OUT
+0x0F    0x000F  #       SHIFT IN
+0x10    0x0010  #       DATA LINK ESCAPE
+0x11    0x0011  #       DEVICE CONTROL ONE
+0x12    0x0012  #       DEVICE CONTROL TWO
+0x13    0x0013  #       DEVICE CONTROL THREE
+0x14    0x0014  #       DEVICE CONTROL FOUR
+0x15    0x0015  #       NEGATIVE ACKNOWLEDGE
+0x16    0x0016  #       SYNCHRONOUS IDLE
+0x17    0x0017  #       END OF TRANSMISSION BLOCK
+0x18    0x0018  #       CANCEL
+0x19    0x0019  #       END OF MEDIUM
+0x1A    0x001A  #       SUBSTITUTE
+0x1B    0x001B  #       ESCAPE
+0x1C    0x001C  #       FILE SEPARATOR
+0x1D    0x001D  #       GROUP SEPARATOR
+0x1E    0x001E  #       RECORD SEPARATOR
+0x1F    0x001F  #       UNIT SEPARATOR
+0x20    0x0020  #       SPACE
+0x21    0x0021  #       EXCLAMATION MARK
+0x22    0x0022  #       QUOTATION MARK
+0x23    0x0023  #       NUMBER SIGN
+0x24    0x0024  #       DOLLAR SIGN
+0x25    0x0025  #       PERCENT SIGN
+0x26    0x0026  #       AMPERSAND
+0x27    0x0027  #       APOSTROPHE
+0x28    0x0028  #       LEFT PARENTHESIS
+0x29    0x0029  #       RIGHT PARENTHESIS
+0x2A    0x002A  #       ASTERISK
+0x2B    0x002B  #       PLUS SIGN
+0x2C    0x002C  #       COMMA
+0x2D    0x002D  #       HYPHEN-MINUS
+0x2E    0x002E  #       FULL STOP
+0x2F    0x002F  #       SOLIDUS
+0x30    0x0030  #       DIGIT ZERO
+0x31    0x0031  #       DIGIT ONE
+0x32    0x0032  #       DIGIT TWO
+0x33    0x0033  #       DIGIT THREE
+0x34    0x0034  #       DIGIT FOUR
+0x35    0x0035  #       DIGIT FIVE
+0x36    0x0036  #       DIGIT SIX
+0x37    0x0037  #       DIGIT SEVEN
+0x38    0x0038  #       DIGIT EIGHT
+0x39    0x0039  #       DIGIT NINE
+0x3A    0x003A  #       COLON
+0x3B    0x003B  #       SEMICOLON
+0x3C    0x003C  #       LESS-THAN SIGN
+0x3D    0x003D  #       EQUALS SIGN
+0x3E    0x003E  #       GREATER-THAN SIGN
+0x3F    0x003F  #       QUESTION MARK
+0x40    0x0040  #       COMMERCIAL AT
+0x41    0x0041  #       LATIN CAPITAL LETTER A
+0x42    0x0042  #       LATIN CAPITAL LETTER B
+0x43    0x0043  #       LATIN CAPITAL LETTER C
+0x44    0x0044  #       LATIN CAPITAL LETTER D
+0x45    0x0045  #       LATIN CAPITAL LETTER E
+0x46    0x0046  #       LATIN CAPITAL LETTER F
+0x47    0x0047  #       LATIN CAPITAL LETTER G
+0x48    0x0048  #       LATIN CAPITAL LETTER H
+0x49    0x0049  #       LATIN CAPITAL LETTER I
+0x4A    0x004A  #       LATIN CAPITAL LETTER J
+0x4B    0x004B  #       LATIN CAPITAL LETTER K
+0x4C    0x004C  #       LATIN CAPITAL LETTER L
+0x4D    0x004D  #       LATIN CAPITAL LETTER M
+0x4E    0x004E  #       LATIN CAPITAL LETTER N
+0x4F    0x004F  #       LATIN CAPITAL LETTER O
+0x50    0x0050  #       LATIN CAPITAL LETTER P
+0x51    0x0051  #       LATIN CAPITAL LETTER Q
+0x52    0x0052  #       LATIN CAPITAL LETTER R
+0x53    0x0053  #       LATIN CAPITAL LETTER S
+0x54    0x0054  #       LATIN CAPITAL LETTER T
+0x55    0x0055  #       LATIN CAPITAL LETTER U
+0x56    0x0056  #       LATIN CAPITAL LETTER V
+0x57    0x0057  #       LATIN CAPITAL LETTER W
+0x58    0x0058  #       LATIN CAPITAL LETTER X
+0x59    0x0059  #       LATIN CAPITAL LETTER Y
+0x5A    0x005A  #       LATIN CAPITAL LETTER Z
+0x5B    0x005B  #       LEFT SQUARE BRACKET
+0x5C    0x005C  #       REVERSE SOLIDUS
+0x5D    0x005D  #       RIGHT SQUARE BRACKET
+0x5E    0x005E  #       CIRCUMFLEX ACCENT
+0x5F    0x005F  #       LOW LINE
+0x60    0x0060  #       GRAVE ACCENT
+0x61    0x0061  #       LATIN SMALL LETTER A
+0x62    0x0062  #       LATIN SMALL LETTER B
+0x63    0x0063  #       LATIN SMALL LETTER C
+0x64    0x0064  #       LATIN SMALL LETTER D
+0x65    0x0065  #       LATIN SMALL LETTER E
+0x66    0x0066  #       LATIN SMALL LETTER F
+0x67    0x0067  #       LATIN SMALL LETTER G
+0x68    0x0068  #       LATIN SMALL LETTER H
+0x69    0x0069  #       LATIN SMALL LETTER I
+0x6A    0x006A  #       LATIN SMALL LETTER J
+0x6B    0x006B  #       LATIN SMALL LETTER K
+0x6C    0x006C  #       LATIN SMALL LETTER L
+0x6D    0x006D  #       LATIN SMALL LETTER M
+0x6E    0x006E  #       LATIN SMALL LETTER N
+0x6F    0x006F  #       LATIN SMALL LETTER O
+0x70    0x0070  #       LATIN SMALL LETTER P
+0x71    0x0071  #       LATIN SMALL LETTER Q
+0x72    0x0072  #       LATIN SMALL LETTER R
+0x73    0x0073  #       LATIN SMALL LETTER S
+0x74    0x0074  #       LATIN SMALL LETTER T
+0x75    0x0075  #       LATIN SMALL LETTER U
+0x76    0x0076  #       LATIN SMALL LETTER V
+0x77    0x0077  #       LATIN SMALL LETTER W
+0x78    0x0078  #       LATIN SMALL LETTER X
+0x79    0x0079  #       LATIN SMALL LETTER Y
+0x7A    0x007A  #       LATIN SMALL LETTER Z
+0x7B    0x007B  #       LEFT CURLY BRACKET
+0x7C    0x007C  #       VERTICAL LINE
+0x7D    0x007D  #       RIGHT CURLY BRACKET
+0x7E    0x007E  #       TILDE
+0x7F    0x007F  #       DELETE
+0x80    0x0080  #       <control>
+0x81    0x0081  #       <control>
+0x82    0x0082  #       <control>
+0x83    0x0083  #       <control>
+0x84    0x0084  #       <control>
+0x85    0x0085  #       <control>
+0x86    0x0086  #       <control>
+0x87    0x0087  #       <control>
+0x88    0x0088  #       <control>
+0x89    0x0089  #       <control>
+0x8A    0x008A  #       <control>
+0x8B    0x008B  #       <control>
+0x8C    0x008C  #       <control>
+0x8D    0x008D  #       <control>
+0x8E    0x008E  #       <control>
+0x8F    0x008F  #       <control>
+0x90    0x0090  #       <control>
+0x91    0x0091  #       <control>
+0x92    0x0092  #       <control>
+0x93    0x0093  #       <control>
+0x94    0x0094  #       <control>
+0x95    0x0095  #       <control>
+0x96    0x0096  #       <control>
+0x97    0x0097  #       <control>
+0x98    0x0098  #       <control>
+0x99    0x0099  #       <control>
+0x9A    0x009A  #       <control>
+0x9B    0x009B  #       <control>
+0x9C    0x009C  #       <control>
+0x9D    0x009D  #       <control>
+0x9E    0x009E  #       <control>
+0x9F    0x009F  #       <control>
+0xA0    0x00A0  #       NO-BREAK SPACE
+0xA1    0x0104  #       LATIN CAPITAL LETTER A WITH OGONEK
+0xA2    0x0105  #       LATIN SMALL LETTER A WITH OGONEK
+0xA3    0x0141  #       LATIN CAPITAL LETTER L WITH STROKE
+0xA4    0x20AC  #       EURO SIGN
+0xA5    0x201E  #       DOUBLE LOW-9 QUOTATION MARK
+0xA6    0x0160  #       LATIN CAPITAL LETTER S WITH CARON
+0xA7    0x00A7  #       SECTION SIGN
+0xA8    0x0161  #       LATIN SMALL LETTER S WITH CARON
+0xA9    0x00A9  #       COPYRIGHT SIGN
+0xAA    0x0218  #       LATIN CAPITAL LETTER S WITH COMMA BELOW
+0xAB    0x00AB  #       LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC    0x0179  #       LATIN CAPITAL LETTER Z WITH ACUTE
+0xAD    0x00AD  #       SOFT HYPHEN
+0xAE    0x017A  #       LATIN SMALL LETTER Z WITH ACUTE
+0xAF    0x017B  #       LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0xB0    0x00B0  #       DEGREE SIGN
+0xB1    0x00B1  #       PLUS-MINUS SIGN
+0xB2    0x010C  #       LATIN CAPITAL LETTER C WITH CARON
+0xB3    0x0142  #       LATIN SMALL LETTER L WITH STROKE
+0xB4    0x017D  #       LATIN CAPITAL LETTER Z WITH CARON
+0xB5    0x201D  #       RIGHT DOUBLE QUOTATION MARK
+0xB6    0x00B6  #       PILCROW SIGN
+0xB7    0x00B7  #       MIDDLE DOT
+0xB8    0x017E  #       LATIN SMALL LETTER Z WITH CARON
+0xB9    0x010D  #       LATIN SMALL LETTER C WITH CARON
+0xBA    0x0219  #       LATIN SMALL LETTER S WITH COMMA BELOW
+0xBB    0x00BB  #       RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC    0x0152  #       LATIN CAPITAL LIGATURE OE
+0xBD    0x0153  #       LATIN SMALL LIGATURE OE
+0xBE    0x0178  #       LATIN CAPITAL LETTER Y WITH DIAERESIS
+0xBF    0x017C  #       LATIN SMALL LETTER Z WITH DOT ABOVE
+0xC0    0x00C0  #       LATIN CAPITAL LETTER A WITH GRAVE
+0xC1    0x00C1  #       LATIN CAPITAL LETTER A WITH ACUTE
+0xC2    0x00C2  #       LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3    0x0102  #       LATIN CAPITAL LETTER A WITH BREVE
+0xC4    0x00C4  #       LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5    0x0106  #       LATIN CAPITAL LETTER C WITH ACUTE
+0xC6    0x00C6  #       LATIN CAPITAL LETTER AE
+0xC7    0x00C7  #       LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8    0x00C8  #       LATIN CAPITAL LETTER E WITH GRAVE
+0xC9    0x00C9  #       LATIN CAPITAL LETTER E WITH ACUTE
+0xCA    0x00CA  #       LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xCB    0x00CB  #       LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC    0x00CC  #       LATIN CAPITAL LETTER I WITH GRAVE
+0xCD    0x00CD  #       LATIN CAPITAL LETTER I WITH ACUTE
+0xCE    0x00CE  #       LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF    0x00CF  #       LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD0    0x0110  #       LATIN CAPITAL LETTER D WITH STROKE
+0xD1    0x0143  #       LATIN CAPITAL LETTER N WITH ACUTE
+0xD2    0x00D2  #       LATIN CAPITAL LETTER O WITH GRAVE
+0xD3    0x00D3  #       LATIN CAPITAL LETTER O WITH ACUTE
+0xD4    0x00D4  #       LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5    0x0150  #       LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0xD6    0x00D6  #       LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7    0x015A  #       LATIN CAPITAL LETTER S WITH ACUTE
+0xD8    0x0170  #       LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0xD9    0x00D9  #       LATIN CAPITAL LETTER U WITH GRAVE
+0xDA    0x00DA  #       LATIN CAPITAL LETTER U WITH ACUTE
+0xDB    0x00DB  #       LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC    0x00DC  #       LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD    0x0118  #       LATIN CAPITAL LETTER E WITH OGONEK
+0xDE    0x021A  #       LATIN CAPITAL LETTER T WITH COMMA BELOW
+0xDF    0x00DF  #       LATIN SMALL LETTER SHARP S
+0xE0    0x00E0  #       LATIN SMALL LETTER A WITH GRAVE
+0xE1    0x00E1  #       LATIN SMALL LETTER A WITH ACUTE
+0xE2    0x00E2  #       LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3    0x0103  #       LATIN SMALL LETTER A WITH BREVE
+0xE4    0x00E4  #       LATIN SMALL LETTER A WITH DIAERESIS
+0xE5    0x0107  #       LATIN SMALL LETTER C WITH ACUTE
+0xE6    0x00E6  #       LATIN SMALL LETTER AE
+0xE7    0x00E7  #       LATIN SMALL LETTER C WITH CEDILLA
+0xE8    0x00E8  #       LATIN SMALL LETTER E WITH GRAVE
+0xE9    0x00E9  #       LATIN SMALL LETTER E WITH ACUTE
+0xEA    0x00EA  #       LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB    0x00EB  #       LATIN SMALL LETTER E WITH DIAERESIS
+0xEC    0x00EC  #       LATIN SMALL LETTER I WITH GRAVE
+0xED    0x00ED  #       LATIN SMALL LETTER I WITH ACUTE
+0xEE    0x00EE  #       LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF    0x00EF  #       LATIN SMALL LETTER I WITH DIAERESIS
+0xF0    0x0111  #       LATIN SMALL LETTER D WITH STROKE
+0xF1    0x0144  #       LATIN SMALL LETTER N WITH ACUTE
+0xF2    0x00F2  #       LATIN SMALL LETTER O WITH GRAVE
+0xF3    0x00F3  #       LATIN SMALL LETTER O WITH ACUTE
+0xF4    0x00F4  #       LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5    0x0151  #       LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0xF6    0x00F6  #       LATIN SMALL LETTER O WITH DIAERESIS
+0xF7    0x015B  #       LATIN SMALL LETTER S WITH ACUTE
+0xF8    0x0171  #       LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0xF9    0x00F9  #       LATIN SMALL LETTER U WITH GRAVE
+0xFA    0x00FA  #       LATIN SMALL LETTER U WITH ACUTE
+0xFB    0x00FB  #       LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC    0x00FC  #       LATIN SMALL LETTER U WITH DIAERESIS
+0xFD    0x0119  #       LATIN SMALL LETTER E WITH OGONEK
+0xFE    0x021B  #       LATIN SMALL LETTER T WITH COMMA BELOW
+0xFF    0x00FF  #       LATIN SMALL LETTER Y WITH DIAERESIS
+
+"
+! !
+
+!ISO8859_16 class methodsFor:'queries'!
+
+namesOfEncoding
+    ^ #( 'iso8859-16' 'iso-8859-16' 'latin10' 'latin-10' )
+! !
+
+!ISO8859_16 methodsFor:'encoding & decoding'!
+
+decode:codeArg
+    "Automagically generated by generateCode - do not modify.
+     Decode from my encoding into unicode."
+
+    |code "{ Class: SmallInteger }"|
+
+    code := codeArg.
+    code <= 16rA0 ifTrue:[ ^ code ].
+    code > 16rFF ifTrue:[
+	^ self decodingError.
+    ].
+    ^ #(
+       "16r00A1"    16r0104 " LATIN CAPITAL LETTER A WITH OGONEK " 
+       "16r00A2"    16r0105 " LATIN SMALL LETTER A WITH OGONEK " 
+       "16r00A3"    16r0141 " LATIN CAPITAL LETTER L WITH STROKE " 
+       "16r00A4"    16r20AC " EURO SIGN " 
+       "16r00A5"    16r201E " DOUBLE LOW-9 QUOTATION MARK " 
+       "16r00A6"    16r0160 " LATIN CAPITAL LETTER S WITH CARON " 
+       "16r00A7"    16r00A7 " SECTION SIGN " 
+       "16r00A8"    16r0161 " LATIN SMALL LETTER S WITH CARON " 
+       "16r00A9"    16r00A9 " COPYRIGHT SIGN " 
+       "16r00AA"    16r0218 " LATIN CAPITAL LETTER S WITH COMMA BELOW " 
+       "16r00AB"    16r00AB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK " 
+       "16r00AC"    16r0179 " LATIN CAPITAL LETTER Z WITH ACUTE " 
+       "16r00AD"    16r00AD " SOFT HYPHEN " 
+       "16r00AE"    16r017A " LATIN SMALL LETTER Z WITH ACUTE " 
+       "16r00AF"    16r017B " LATIN CAPITAL LETTER Z WITH DOT ABOVE " 
+       "16r00B0"    16r00B0 " DEGREE SIGN " 
+       "16r00B1"    16r00B1 " PLUS-MINUS SIGN " 
+       "16r00B2"    16r010C " LATIN CAPITAL LETTER C WITH CARON " 
+       "16r00B3"    16r0142 " LATIN SMALL LETTER L WITH STROKE " 
+       "16r00B4"    16r017D " LATIN CAPITAL LETTER Z WITH CARON " 
+       "16r00B5"    16r201D " RIGHT DOUBLE QUOTATION MARK " 
+       "16r00B6"    16r00B6 " PILCROW SIGN " 
+       "16r00B7"    16r00B7 " MIDDLE DOT " 
+       "16r00B8"    16r017E " LATIN SMALL LETTER Z WITH CARON " 
+       "16r00B9"    16r010D " LATIN SMALL LETTER C WITH CARON " 
+       "16r00BA"    16r0219 " LATIN SMALL LETTER S WITH COMMA BELOW " 
+       "16r00BB"    16r00BB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK " 
+       "16r00BC"    16r0152 " LATIN CAPITAL LIGATURE OE " 
+       "16r00BD"    16r0153 " LATIN SMALL LIGATURE OE " 
+       "16r00BE"    16r0178 " LATIN CAPITAL LETTER Y WITH DIAERESIS " 
+       "16r00BF"    16r017C " LATIN SMALL LETTER Z WITH DOT ABOVE " 
+       "16r00C0"    16r00C0 " LATIN CAPITAL LETTER A WITH GRAVE " 
+       "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"    16r0106 " LATIN CAPITAL LETTER C WITH ACUTE " 
+       "16r00C6"    16r00C6 " LATIN CAPITAL LETTER AE " 
+       "16r00C7"    16r00C7 " LATIN CAPITAL LETTER C WITH CEDILLA " 
+       "16r00C8"    16r00C8 " LATIN CAPITAL LETTER E WITH GRAVE " 
+       "16r00C9"    16r00C9 " LATIN CAPITAL LETTER E WITH ACUTE " 
+       "16r00CA"    16r00CA " LATIN CAPITAL LETTER E WITH CIRCUMFLEX " 
+       "16r00CB"    16r00CB " LATIN CAPITAL LETTER E WITH DIAERESIS " 
+       "16r00CC"    16r00CC " LATIN CAPITAL LETTER I WITH GRAVE " 
+       "16r00CD"    16r00CD " LATIN CAPITAL LETTER I WITH ACUTE " 
+       "16r00CE"    16r00CE " LATIN CAPITAL LETTER I WITH CIRCUMFLEX " 
+       "16r00CF"    16r00CF " LATIN CAPITAL LETTER I WITH DIAERESIS " 
+       "16r00D0"    16r0110 " LATIN CAPITAL LETTER D WITH STROKE " 
+       "16r00D1"    16r0143 " LATIN CAPITAL LETTER N WITH ACUTE " 
+       "16r00D2"    16r00D2 " LATIN CAPITAL LETTER O WITH GRAVE " 
+       "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"    16r015A " LATIN CAPITAL LETTER S WITH ACUTE " 
+       "16r00D8"    16r0170 " LATIN CAPITAL LETTER U WITH DOUBLE ACUTE " 
+       "16r00D9"    16r00D9 " LATIN CAPITAL LETTER U WITH GRAVE " 
+       "16r00DA"    16r00DA " LATIN CAPITAL LETTER U WITH ACUTE " 
+       "16r00DB"    16r00DB " LATIN CAPITAL LETTER U WITH CIRCUMFLEX " 
+       "16r00DC"    16r00DC " LATIN CAPITAL LETTER U WITH DIAERESIS " 
+       "16r00DD"    16r0118 " LATIN CAPITAL LETTER E WITH OGONEK " 
+       "16r00DE"    16r021A " LATIN CAPITAL LETTER T WITH COMMA BELOW " 
+       "16r00DF"    16r00DF " LATIN SMALL LETTER SHARP S " 
+       "16r00E0"    16r00E0 " LATIN SMALL LETTER A WITH GRAVE " 
+       "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"    16r0107 " LATIN SMALL LETTER C WITH ACUTE " 
+       "16r00E6"    16r00E6 " LATIN SMALL LETTER AE " 
+       "16r00E7"    16r00E7 " LATIN SMALL LETTER C WITH CEDILLA " 
+       "16r00E8"    16r00E8 " LATIN SMALL LETTER E WITH GRAVE " 
+       "16r00E9"    16r00E9 " LATIN SMALL LETTER E WITH ACUTE " 
+       "16r00EA"    16r00EA " LATIN SMALL LETTER E WITH CIRCUMFLEX " 
+       "16r00EB"    16r00EB " LATIN SMALL LETTER E WITH DIAERESIS " 
+       "16r00EC"    16r00EC " LATIN SMALL LETTER I WITH GRAVE " 
+       "16r00ED"    16r00ED " LATIN SMALL LETTER I WITH ACUTE " 
+       "16r00EE"    16r00EE " LATIN SMALL LETTER I WITH CIRCUMFLEX " 
+       "16r00EF"    16r00EF " LATIN SMALL LETTER I WITH DIAERESIS " 
+       "16r00F0"    16r0111 " LATIN SMALL LETTER D WITH STROKE " 
+       "16r00F1"    16r0144 " LATIN SMALL LETTER N WITH ACUTE " 
+       "16r00F2"    16r00F2 " LATIN SMALL LETTER O WITH GRAVE " 
+       "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"    16r015B " LATIN SMALL LETTER S WITH ACUTE " 
+       "16r00F8"    16r0171 " LATIN SMALL LETTER U WITH DOUBLE ACUTE " 
+       "16r00F9"    16r00F9 " LATIN SMALL LETTER U WITH GRAVE " 
+       "16r00FA"    16r00FA " LATIN SMALL LETTER U WITH ACUTE " 
+       "16r00FB"    16r00FB " LATIN SMALL LETTER U WITH CIRCUMFLEX " 
+       "16r00FC"    16r00FC " LATIN SMALL LETTER U WITH DIAERESIS " 
+       "16r00FD"    16r0119 " LATIN SMALL LETTER E WITH OGONEK " 
+       "16r00FE"    16r021B " LATIN SMALL LETTER T WITH COMMA BELOW " 
+       "16r00FF"    16r00FF " LATIN SMALL LETTER Y WITH DIAERESIS " 
+       ) at:(code - 16rA0).
+!
+
+encode:unicodeArg
+    "Automagically generated by generateCode - do not modify.
+     Encode from unicode into my encoding."
+
+    |unicode "{ Class: SmallInteger }"|
+
+    unicode := unicodeArg.
+    unicode <= 16rA0 ifTrue:[ ^ unicode ].
+    unicode > 16r20AC ifTrue:[
+	^ self encodingError.
+    ].
+    unicode <= 16r21B ifTrue:[
+	unicode <= 16r17E ifTrue:[
+	    unicode <= 16r101 ifTrue:[
+		(#[
+		   "16r00A1"    0 " invalid " 
+		   "16r00A2"    0 " invalid " 
+		   "16r00A3"    0 " invalid " 
+		   "16r00A4"    0 " invalid " 
+		   "16r00A5"    0 " invalid " 
+		   "16r00A6"    0 " invalid " 
+		   "16r00A7"    1 " SECTION SIGN " 
+		   "16r00A8"    0 " invalid " 
+		   "16r00A9"    1 " COPYRIGHT SIGN " 
+		   "16r00AA"    0 " invalid " 
+		   "16r00AB"    1 " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK " 
+		   "16r00AC"    0 " invalid " 
+		   "16r00AD"    1 " SOFT HYPHEN " 
+		   "16r00AE"    0 " invalid " 
+		   "16r00AF"    0 " invalid " 
+		   "16r00B0"    1 " DEGREE SIGN " 
+		   "16r00B1"    1 " PLUS-MINUS SIGN " 
+		   "16r00B2"    0 " invalid " 
+		   "16r00B3"    0 " invalid " 
+		   "16r00B4"    0 " invalid " 
+		   "16r00B5"    0 " invalid " 
+		   "16r00B6"    1 " PILCROW SIGN " 
+		   "16r00B7"    1 " MIDDLE DOT " 
+		   "16r00B8"    0 " invalid " 
+		   "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"    1 " LATIN CAPITAL LETTER A WITH GRAVE " 
+		   "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"    1 " LATIN CAPITAL LETTER AE " 
+		   "16r00C7"    1 " LATIN CAPITAL LETTER C WITH CEDILLA " 
+		   "16r00C8"    1 " LATIN CAPITAL LETTER E WITH GRAVE " 
+		   "16r00C9"    1 " LATIN CAPITAL LETTER E WITH ACUTE " 
+		   "16r00CA"    1 " LATIN CAPITAL LETTER E WITH CIRCUMFLEX " 
+		   "16r00CB"    1 " LATIN CAPITAL LETTER E WITH DIAERESIS " 
+		   "16r00CC"    1 " LATIN CAPITAL LETTER I WITH GRAVE " 
+		   "16r00CD"    1 " LATIN CAPITAL LETTER I WITH ACUTE " 
+		   "16r00CE"    1 " LATIN CAPITAL LETTER I WITH CIRCUMFLEX " 
+		   "16r00CF"    1 " LATIN CAPITAL LETTER I WITH DIAERESIS " 
+		   "16r00D0"    0 " invalid " 
+		   "16r00D1"    0 " invalid " 
+		   "16r00D2"    1 " LATIN CAPITAL LETTER O WITH GRAVE " 
+		   "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"    0 " invalid " 
+		   "16r00D8"    0 " invalid " 
+		   "16r00D9"    1 " LATIN CAPITAL LETTER U WITH GRAVE " 
+		   "16r00DA"    1 " LATIN CAPITAL LETTER U WITH ACUTE " 
+		   "16r00DB"    1 " LATIN CAPITAL LETTER U WITH CIRCUMFLEX " 
+		   "16r00DC"    1 " LATIN CAPITAL LETTER U WITH DIAERESIS " 
+		   "16r00DD"    0 " invalid " 
+		   "16r00DE"    0 " invalid " 
+		   "16r00DF"    1 " LATIN SMALL LETTER SHARP S " 
+		   "16r00E0"    1 " LATIN SMALL LETTER A WITH GRAVE " 
+		   "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"    1 " LATIN SMALL LETTER AE " 
+		   "16r00E7"    1 " LATIN SMALL LETTER C WITH CEDILLA " 
+		   "16r00E8"    1 " LATIN SMALL LETTER E WITH GRAVE " 
+		   "16r00E9"    1 " LATIN SMALL LETTER E WITH ACUTE " 
+		   "16r00EA"    1 " LATIN SMALL LETTER E WITH CIRCUMFLEX " 
+		   "16r00EB"    1 " LATIN SMALL LETTER E WITH DIAERESIS " 
+		   "16r00EC"    1 " LATIN SMALL LETTER I WITH GRAVE " 
+		   "16r00ED"    1 " LATIN SMALL LETTER I WITH ACUTE " 
+		   "16r00EE"    1 " LATIN SMALL LETTER I WITH CIRCUMFLEX " 
+		   "16r00EF"    1 " LATIN SMALL LETTER I WITH DIAERESIS " 
+		   "16r00F0"    0 " invalid " 
+		   "16r00F1"    0 " invalid " 
+		   "16r00F2"    1 " LATIN SMALL LETTER O WITH GRAVE " 
+		   "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"    0 " invalid " 
+		   "16r00F8"    0 " invalid " 
+		   "16r00F9"    1 " LATIN SMALL LETTER U WITH GRAVE " 
+		   "16r00FA"    1 " LATIN SMALL LETTER U WITH ACUTE " 
+		   "16r00FB"    1 " LATIN SMALL LETTER U WITH CIRCUMFLEX " 
+		   "16r00FC"    1 " LATIN SMALL LETTER U WITH DIAERESIS " 
+		   "16r00FD"    0 " invalid " 
+		   "16r00FE"    0 " invalid " 
+		   "16r00FF"    1 " LATIN SMALL LETTER Y WITH DIAERESIS " 
+		   "16r0100"    0 " invalid " 
+		   "16r0101"    0 " invalid " 
+		] at:(unicode - 160)) ~~ 0 ifTrue:[^ unicode].
+		^ self encodingError.
+	    ].
+	    unicode <= 16r119 ifTrue:[
+		[
+		    |t|
+		    t := #[
+		       "16r0102"    16rC3 " LATIN CAPITAL LETTER A WITH BREVE " 
+		       "16r0103"    16rE3 " LATIN SMALL LETTER A WITH BREVE " 
+		       "16r0104"    16rA1 " LATIN CAPITAL LETTER A WITH OGONEK " 
+		       "16r0105"    16rA2 " LATIN SMALL LETTER A WITH OGONEK " 
+		       "16r0106"    16rC5 " LATIN CAPITAL LETTER C WITH ACUTE " 
+		       "16r0107"    16rE5 " LATIN SMALL LETTER C WITH ACUTE " 
+		       "16r0108"    16r00 " invalid " 
+		       "16r0109"    16r00 " invalid " 
+		       "16r010A"    16r00 " invalid " 
+		       "16r010B"    16r00 " invalid " 
+		       "16r010C"    16rB2 " LATIN CAPITAL LETTER C WITH CARON " 
+		       "16r010D"    16rB9 " LATIN SMALL LETTER C WITH CARON " 
+		       "16r010E"    16r00 " invalid " 
+		       "16r010F"    16r00 " invalid " 
+		       "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"    16rDD " LATIN CAPITAL LETTER E WITH OGONEK " 
+		       "16r0119"    16rFD " LATIN SMALL LETTER E WITH OGONEK " 
+		       ] at:(unicode - 16r101).
+		    t == 0 ifFalse:[^ t].
+		    ^ self encodingError
+		] value.
+	    ].
+	    unicode <= 16r140 ifTrue:[
+		^ self encodingError.
+	    ].
+	    [
+		|t|
+		t := #[
+		   "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"    16r00 " invalid " 
+		   "16r0148"    16r00 " invalid " 
+		   "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"    16rBC " LATIN CAPITAL LIGATURE OE " 
+		   "16r0153"    16rBD " LATIN SMALL LIGATURE OE " 
+		   "16r0154"    16r00 " invalid " 
+		   "16r0155"    16r00 " invalid " 
+		   "16r0156"    16r00 " invalid " 
+		   "16r0157"    16r00 " invalid " 
+		   "16r0158"    16r00 " invalid " 
+		   "16r0159"    16r00 " invalid " 
+		   "16r015A"    16rD7 " LATIN CAPITAL LETTER S WITH ACUTE " 
+		   "16r015B"    16rF7 " LATIN SMALL LETTER S WITH ACUTE " 
+		   "16r015C"    16r00 " invalid " 
+		   "16r015D"    16r00 " invalid " 
+		   "16r015E"    16r00 " invalid " 
+		   "16r015F"    16r00 " invalid " 
+		   "16r0160"    16rA6 " LATIN CAPITAL LETTER S WITH CARON " 
+		   "16r0161"    16rA8 " 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"    16r00 " invalid " 
+		   "16r016B"    16r00 " invalid " 
+		   "16r016C"    16r00 " invalid " 
+		   "16r016D"    16r00 " invalid " 
+		   "16r016E"    16r00 " invalid " 
+		   "16r016F"    16r00 " invalid " 
+		   "16r0170"    16rD8 " LATIN CAPITAL LETTER U WITH DOUBLE ACUTE " 
+		   "16r0171"    16rF8 " 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"    16rBE " LATIN CAPITAL LETTER Y WITH DIAERESIS " 
+		   "16r0179"    16rAC " LATIN CAPITAL LETTER Z WITH ACUTE " 
+		   "16r017A"    16rAE " 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"    16rB4 " LATIN CAPITAL LETTER Z WITH CARON " 
+		   "16r017E"    16rB8 " LATIN SMALL LETTER Z WITH CARON " 
+		   ] at:(unicode - 16r140).
+		t == 0 ifFalse:[^ t].
+		^ self encodingError
+	    ] value.
+	].
+	unicode <= 16r217 ifTrue:[
+	    ^ self encodingError.
+	].
+	^ #[
+	   "16r0218"    16rAA " LATIN CAPITAL LETTER S WITH COMMA BELOW " 
+	   "16r0219"    16rBA " LATIN SMALL LETTER S WITH COMMA BELOW " 
+	   "16r021A"    16rDE " LATIN CAPITAL LETTER T WITH COMMA BELOW " 
+	   "16r021B"    16rFE " LATIN SMALL LETTER T WITH COMMA BELOW " 
+	   ] at:(unicode - 16r217).
+    ].
+    unicode <= 16r201C ifTrue:[
+	^ self encodingError.
+    ].
+    unicode <= 16r201E ifTrue:[
+	^ #[
+	   "16r201D"    16rB5 " RIGHT DOUBLE QUOTATION MARK " 
+	   "16r201E"    16rA5 " DOUBLE LOW-9 QUOTATION MARK " 
+	   ] at:(unicode - 16r201C).
+    ].
+    unicode <= 16r20AB ifTrue:[
+	^ self encodingError.
+    ].
+    ^  "16r20AC" 16r00A4 " EURO SIGN " 
+! !
+
+!ISO8859_16 class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_16.st,v 1.1 2004-03-05 17:29:35 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/CharacterEncoderImplementations__MAC_Hebrew.st	Fri Mar 05 18:30:49 2004 +0100
@@ -0,0 +1,596 @@
+"{ Encoding: utf8 }"
+
+"{ Package: 'stx:libbasic' }"
+
+"{ NameSpace: CharacterEncoderImplementations }"
+
+SingleByteEncoder subclass:#MAC_Hebrew
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Collections-Text-Encodings'
+!
+
+
+!MAC_Hebrew class methodsFor:'mapping'!
+
+mapFileURL1_relativePathName
+    ^ 'VENDORS/APPLE/HEBREW.TXT'
+!
+
+mapping
+"
+# From: http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/HEBREW.TXT
+
+#=======================================================================
+#   File name:  HEBREW.TXT
+#
+#   Contents:   Map (external version) from Mac OS Hebrew
+#               character set to Unicode 2.1 through Unicode 3.2.
+#
+#   Copyright:  (c) 1995-2002 by Apple Computer, Inc., all rights
+#               reserved.
+#
+#   Contact:    charsets@apple.com
+#
+#   Changes:
+#
+#      b3,c1 2002-Dec-19    Don't require left-right context for digits
+#                                                       0x30-0x39. Change mapping of 0x81 to use
+#                           decomposition. Reverse the mappings of 0xA8,
+#                           0xA9. Update URLs, notes. Matches internal
+#                           utom<b7>.
+#       b02  1999-Sep-22    Update contact e-mail address. Matches
+#                           internal utom<b1>, ufrm<b1>, and Text
+#                           Encoding Converter version 1.5.
+#       n03  1998-Feb-05    Show required Unicode character
+#                           directionality in a different way. Update
+#                           mappings for 0xC0 and 0xDE to use
+#                           transcoding hints; matches internal utom<n6>,
+#                           ufrm<n20>, and Text Encoding Converter
+#                           version 1.3. Rewrite header comments.
+#       n01  1995-Nov-15    First version. Matches internal ufrm<n8>.
+#
+# Standard header:
+# ----------------
+#
+#   Apple, the Apple logo, and Macintosh are trademarks of Apple
+#   Computer, Inc., registered in the United States and other countries.
+#   Unicode is a trademark of Unicode Inc. For the sake of brevity,
+#   throughout this document, 'Macintosh' can be used to refer to
+#   Macintosh computers and 'Unicode' can be used to refer to the
+#   Unicode standard.
+#
+#   Apple makes no warranty or representation, either express or
+#   implied, with respect to these tables, their quality, accuracy, or
+#   fitness for a particular purpose. In no event will Apple be liable
+#   for direct, indirect, special, incidental, or consequential damages 
+#   resulting from any defect or inaccuracy in this document or the
+#   accompanying tables.
+#
+#   These mapping tables and character lists are subject to change.
+#   The latest tables should be available from the following:
+#
+#   <http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/>
+#
+#   For general information about Mac OS encodings and these mapping
+#   tables, see the file 'README.TXT'.
+#
+# Format:
+# -------
+#
+#   Three tab-separated columns;
+#   '#' begins a comment which continues to the end of the line.
+#     Column #1 is the Mac OS Hebrew code (in hex as 0xNN).
+#     Column #2 is the corresponding Unicode or Unicode sequence (in
+#       hex as 0xNNNN, 0xNNNN+0xNNNN, etc.). Sequences of up to 5
+#       Unicode characters are used here. A single Unicode character
+#       may be preceded by a tag indicating required directionality
+#       (i.e. <LR>+0xNNNN or <RL>+0xNNNN).
+#     Column #3 is a comment containing the Unicode name.
+#
+#   The entries are in Mac OS Hebrew code order.
+#
+#   Some of these mappings require the use of corporate characters.
+#   See the file 'CORPCHAR.TXT' and notes below.
+#
+#   Control character mappings are not shown in this table, following
+#   the conventions of the standard UTC mapping tables. However, the
+#   Mac OS Roman character set uses the standard control characters at
+#   0x00-0x1F and 0x7F.
+#
+# Notes on Mac OS Hebrew:
+# -----------------------
+#
+#   1. General
+#
+#   The Mac OS Hebrew character set supports the Hebrew and Yiddish
+#   languages. It incorporates the Hebrew letter repertoire of
+#   ISO 8859-8, and uses the same code points for them, 0xE0-0xFA.
+#   It also incorporates the ASCII character set. In addition, the
+#   Mac OS Hebrew character set includes the following:
+#
+#   - Hebrew points (nikud marks) at 0xC6, 0xCB-0xCF and 0xD8-0xDF.
+#     These are non-spacing combining marks. Note that the RAFE point
+#     at 0xD8 is not displayed correctly in some fonts, and cannot be
+#     typed using the keyboard layouts in the current Hebrew localized
+#     systems. Also note: The character given in Unicode as QAMATS
+#     (U+05B8) actually refers to two different sounds, depending on
+#     context. For example, when ALEF is followed by QAMATS, the QAMATS
+#     can actually refer to two different sounds depending on the
+#     following letters. The Mac OS Hebrew character set separately
+#     encodes these two sounds for the same graphic shape, as 'qamats'
+#     (0xCB) and 'qamats qatan' (0xDE). The 'qamats' character is more
+#     common, so it is mapped to the Unicode QAMATS; 'qamats qatan' can
+#     only be used with a limited number of characters, and it is
+#     mapped using a corporate-zone variant tag (see below).
+#
+#   - Various Hebrew ligatures at 0x81, 0xC0, 0xC7, 0xC8, 0xD6, and
+#     0xD7. Also note that the Yiddish YOD YOD PATAH ligature at 0x81
+#     is missing in some fonts.
+#
+#   - The NEW SHEQEL SIGN at 0xA6.
+#
+#       - Latin characters with diacritics at 0x80 and 0x82-0x9F. However,
+#     most of these cannot be typed using the keyboard layouts in the
+#     Hebrew localized systems.
+#
+#   - Right-left versions of certain ASCII punctuation, symbols and
+#     digits: 0xA0-0xA5, 0xA7-0xBF, 0xFB-0xFF. See below.
+#
+#   - Miscellaneous additional punctuation at 0xC1, 0xC9, 0xCA, and
+#     0xD0-0xD5. There is a variant of the Hebrew encoding in which
+#     the LEFT SINGLE QUOTATION MARK at 0xD4 is replaced by FIGURE
+#     SPACE. The glyphs for some of the other punctuation characters
+#     are missing in some fonts.
+#
+#   - Four obsolete characters at 0xC2-0xC5 known as canorals (not to
+#     be confused with cantillation marks!!). These were used for
+#     manual positioning of nikud marks before System 7.1 (at which
+#     point nikud positioning became automatic with WorldScript.).
+#
+#   2. Directional characters and roundtrip fidelity
+#
+#   The Mac OS Hebrew character set was developed around 1987. At that
+#   time the bidirectional line line layout algorithm used in the Mac OS
+#   Hebrew system was fairly simple; it used only a few direction
+#   classes (instead of the 19 now used in the Unicode bidirectional
+#   algorithm). In order to permit users to handle some tricky layou
+#   problems, certain punctuation, symbol, and digit characters have
+#   duplicate code points, one with a left-right direction attribute and
+#   the other with a right-left direction attribute.
+#
+#   For example, plus sign is encoded at 0x2B with a left-right
+#   attribute, and at 0xAB with a right-left attribute. However, there
+#   is only one PLUS SIGN character in Unicode. This leads to some
+#   interesting problems when mapping between Mac OS Hebrew and Unicode;
+#   see below.
+#
+#   A related problem is that even when a particular character is
+#   encoded only once in Mac OS Hebrew, it may have a different
+#   direction attribute than the corresponding Unicode character.
+#
+#   For example, the Mac OS Hebrew character at 0xC9 is HORIZONTAL
+#   ELLIPSIS with strong right-left direction. However, the Unicode
+#   character HORIZONTAL ELLIPSIS has direction class neutral.
+#
+#   3. Font variants
+#
+#   The table in this file gives the Unicode mappings for the standard
+#   Mac OS Hebrew encoding. This encoding is supported by many of the
+#   Apple fonts (including all of the fonts in the Hebrew Language Kit),
+#   and is the encoding supported by the text processing utilities.
+#   However, some TrueType fonts provided with the localized Hebrew
+#   system implement a slightly different encoding; the difference is
+#   only in one code point, 0xD4. For the standard variant, this is:
+#     0xD4 -> <RL>+0x2018  LEFT SINGLE QUOTATION MARK, right-left
+#
+#   The TrueType variant is used by the following TrueType fonts from
+#   the localized system: Caesarea, Carmel Book, Gilboa, Ramat Sharon,
+#   and Sinai Book. For these, 0xD4 is as follows:
+#     0xD4 -> <RL>+0x2007  FIGURE SPACE, right-left
+#
+# Unicode mapping issues and notes:
+# ---------------------------------
+#
+#   1. Matching the direction of Mac OS Hebrew characters
+#
+#   When Mac OS Hebrew encodes a character twice but with different
+#   direction attributes for the two code points - as in the case of
+#   plus sign mentioned above - we need a way to map both Mac OS Hebrew
+#   code points to Unicode and back again without loss of information.
+#   With the plus sign, for example, mapping one of the Mac OS Hebrew
+#   characters to a code in the Unicode corporate use zone is
+#   undesirable, since both of the plus sign characters are likely to
+#   be used in text that is interchanged.
+#
+#   The problem is solved with the use of direction override characters
+#   and direction-dependent mappings. When mapping from Mac OS Hebrew
+#   to Unicode, we use direction overrides as necessary to force the
+#   direction of the resulting Unicode characters.
+#
+#   The required direction is indicated by a direction tag in the
+#   mappings. A tag of <LR> means the corresponding Unicode character
+#   must have a strong left-right context, and a tag of <RL> indicates
+#   a right-left context.
+#
+#   For example, the mapping of 0x2B is given as <LR>+0x002B; the
+#   mapping of 0xAB is given as <RL>+0x002B. If we map an isolated
+#   instance of 0x2B to Unicode, it should be mapped as follows (LRO
+#   indicates LEFT-RIGHT OVERRIDE, PDF indicates POP DIRECTION
+#   FORMATTING):
+#
+#     0x2B ->  0x202D (LRO) + 0x002B (PLUS SIGN) + 0x202C (PDF)
+#
+#   When mapping several characters in a row that require direction
+#   forcing, the overrides need only be used at the beginning and end.
+#   For example:
+#
+#     0x24 0x20 0x28 0x29 -> 0x202D 0x0024 0x0020 0x0028 0x0029 0x202C
+#
+#   If neutral characters that require direction forcing are already
+#   between strong-direction characters with matching directionality,
+#   then direction overrides need not be used. Direction overrides are
+#   always needed to map the right-left digits at 0xB0-0xB9.
+#
+#   When mapping from Unicode to Mac OS Hebrew, the Unicode
+#   bidirectional algorithm should be used to determine resolved
+#   direction of the Unicode characters. The mapping from Unicode to
+#   Mac OS Hebrew can then be disambiguated by the use of the resolved
+#   direction:
+#
+#     Unicode 0x002B -> Mac OS Hebrew 0x2B (if L) or 0xAB (if R)
+#
+#   However, this also means the direction override characters should
+#   be discarded when mapping from Unicode to Mac OS Hebrew (after
+#   they have been used to determine resolved direction), since the
+#   direction override information is carried by the code point itself.
+#
+#   Even when direction overrides are not needed for roundtrip
+#   fidelity, they are sometimes used when mapping Mac OS Hebrew
+#   characters to Unicode in order to achieve similar text layout with
+#   the resulting Unicode text. For example, the single Mac OS Hebrew
+#   ellipsis character has direction class right-left,and there is no
+#   left-right version. However, the Unicode HORIZONTAL ELLIPSIS
+#   character has direction class neutral (which means it may end up
+#   with a resolved direction of left-right if surrounded by left-right
+#   characters). When mapping the Mac OS Hebrew ellipsis to Unicode, it
+#   is surrounded with a direction override to help preserve proper
+#   text layout. The resolved direction is not needed or used when
+#   mapping the Unicode HORIZONTAL ELLIPSIS back to Mac OS Hebrew.
+#
+#   2. Use of corporate-zone Unicodes
+#
+#   The goals in the mappings provided here are:
+#   - Ensure roundtrip mapping from every character in the Mac OS
+#     Hebrew character set to Unicode and back
+#   - Use standard Unicode characters as much as possible, to
+#     maximize interchangeability of the resulting Unicode text.
+#     Whenever possible, avoid having content carried by private-use
+#     characters.
+#
+#   Some of the characters in the Mac OS Hebrew character set do not
+#   correspond to distinct, single Unicode characters. To map these
+#   and satisfy both goals above, we employ various strategies.
+#
+#   a) If possible, use private use characters in combination with
+#   standard Unicode characters to mark variants of the standard
+#   Unicode character.
+#
+#   Apple has defined a block of 32 corporate characters as 'transcoding
+#   hints.' These are used in combination with standard Unicode characters
+#   to force them to be treated in a special way for mapping to other
+#   encodings; they have no other effect. Sixteen of these transcoding
+#   hints are 'grouping hints' - they indicate that the next 2-4 Unicode
+#   characters should be treated as a single entity for transcoding. The
+#   other sixteen transcoding hints are 'variant tags' - they are like
+#   combining characters, and can follow a standard Unicode (or a sequence
+#   consisting of a base character and other combining characters) to
+#   cause it to be treated in a special way for transcoding. These always
+#   terminate a combining-character sequence.
+#
+#   Two transcoding hints are used in this mapping table: a grouping hint
+#   and a variant tag:
+#   hint:
+#     0xF86A  group next 2 characters, right-left directionality
+#     0xF87F  variant tag
+#
+#   In Mac OS Hebrew, 0xC0 is a ligature for lamed holam. This can also
+#   be represented in Mac OS Hebrew as 0xEC+0xDD, using separate
+#   characters for lamed and holam. The latter sequence is mapped to
+#   Unicode as 0x05DC+0x05B9, i.e. as the sequence HEBREW LETTER LAMED +
+#   HEBREW POINT HOLAM. We want to map the ligature 0xC0 using the same
+#   standard Unicode characters, but for round-trip fidelity we need to
+#   distinguish it from the mapping of the sequence 0xEC+0xDD. Thus for
+#   0xC0 we use a grouping hint, and map as follows:
+#   
+#     0xC0 -> 0xF86A+0x05DC+0x05B9
+#
+#   The variant tag is used for 'qamats qatan' to mark it as an alternate
+#   for HEBREW POINT QAMATS, as follows:
+#
+#     0xDE -> 0x05B8+0xF87F
+#
+#   b) Otherwise, use private use characters by themselves to map Mac OS
+#   Hebrew characters which  have no relationship to any standard Unicode
+#   character.
+#
+#   The following additional corporate zone Unicode characters are used
+#   for this purpose here (to map the obsolete 'canorals', see above):
+#
+#     0xF89B  Hebrew canoral 1
+#     0xF89C  Hebrew canoral 2
+#     0xF89D  Hebrew canoral 3
+#     0xF89E  Hebrew canoral 4
+#
+# Details of mapping changes in each version:
+# -------------------------------------------
+#
+#   Changes from version b02 to version b03/c01:
+#
+#   - Stop specifying left-right context for digits 0x30-0x39, since the
+#     corresponding Unicodes 0x0030-0x0039 already have left-right
+#     directionality.
+#
+#   - Change mapping of 0x81 from 0xFB1F HEBREW LIGATURE YIDDISH YOD YOD
+#     PATAH to its canonical decomposition 0x05F2+0x05B7 to improve
+#     cross-platform compatibility (Windows doesn't handle 0xFB1F)
+#
+#   - Interchange the mappings of 0xA8 and 0xA9 to obtain the correct
+#     open/close behavior; they work differently than in Mac Arabic.
+#     The old mapping was
+#         0xA8 <RL>+0x0028 # LEFT PARENTHESIS, right-left
+#         0xA9 <RL>+0x0029 # RIGHT PARENTHESIS, right-left
+#     and the new mapping is
+#         0xA8 <RL>+0x0029 # RIGHT PARENTHESIS, right-left
+#         0xA9 <RL>+0x0028 # LEFT PARENTHESIS, right-left
+#
+#   Changes from version n01 to version n03:
+#
+#   - Change mapping for 0xC0 from single corporate character to
+#     grouping hint plus standard Unicodes
+#
+#   - Change mapping for 0xDE from single corporate character to
+#     standard Unicode plus variant tag
+#
+##################
+
+0x20    <LR>+0x0020     # SPACE, left-right
+0x21    <LR>+0x0021     # EXCLAMATION MARK, left-right
+0x22    <LR>+0x0022     # QUOTATION MARK, left-right
+0x23    <LR>+0x0023     # NUMBER SIGN, left-right
+0x24    <LR>+0x0024     # DOLLAR SIGN, left-right
+0x25    <LR>+0x0025     # PERCENT SIGN, left-right
+0x26    0x0026  # AMPERSAND
+0x27    <LR>+0x0027     # APOSTROPHE, left-right
+0x28    <LR>+0x0028     # LEFT PARENTHESIS, left-right
+0x29    <LR>+0x0029     # RIGHT PARENTHESIS, left-right
+0x2A    <LR>+0x002A     # ASTERISK, left-right
+0x2B    <LR>+0x002B     # PLUS SIGN, left-right
+0x2C    <LR>+0x002C     # COMMA, left-right
+0x2D    <LR>+0x002D     # HYPHEN-MINUS, left-right
+0x2E    <LR>+0x002E     # FULL STOP, left-right
+0x2F    <LR>+0x002F     # SOLIDUS, left-right
+0x30    0x0030  # DIGIT ZERO
+0x31    0x0031  # DIGIT ONE
+0x32    0x0032  # DIGIT TWO
+0x33    0x0033  # DIGIT THREE
+0x34    0x0034  # DIGIT FOUR
+0x35    0x0035  # DIGIT FIVE
+0x36    0x0036  # DIGIT SIX
+0x37    0x0037  # DIGIT SEVEN
+0x38    0x0038  # DIGIT EIGHT
+0x39    0x0039  # DIGIT NINE
+0x3A    <LR>+0x003A     # COLON, left-right
+0x3B    <LR>+0x003B     # SEMICOLON, left-right
+0x3C    <LR>+0x003C     # LESS-THAN SIGN, left-right
+0x3D    <LR>+0x003D     # EQUALS SIGN, left-right
+0x3E    <LR>+0x003E     # GREATER-THAN SIGN, left-right
+0x3F    <LR>+0x003F     # QUESTION MARK, left-right
+0x40    0x0040  # COMMERCIAL AT
+0x41    0x0041  # LATIN CAPITAL LETTER A
+0x42    0x0042  # LATIN CAPITAL LETTER B
+0x43    0x0043  # LATIN CAPITAL LETTER C
+0x44    0x0044  # LATIN CAPITAL LETTER D
+0x45    0x0045  # LATIN CAPITAL LETTER E
+0x46    0x0046  # LATIN CAPITAL LETTER F
+0x47    0x0047  # LATIN CAPITAL LETTER G
+0x48    0x0048  # LATIN CAPITAL LETTER H
+0x49    0x0049  # LATIN CAPITAL LETTER I
+0x4A    0x004A  # LATIN CAPITAL LETTER J
+0x4B    0x004B  # LATIN CAPITAL LETTER K
+0x4C    0x004C  # LATIN CAPITAL LETTER L
+0x4D    0x004D  # LATIN CAPITAL LETTER M
+0x4E    0x004E  # LATIN CAPITAL LETTER N
+0x4F    0x004F  # LATIN CAPITAL LETTER O
+0x50    0x0050  # LATIN CAPITAL LETTER P
+0x51    0x0051  # LATIN CAPITAL LETTER Q
+0x52    0x0052  # LATIN CAPITAL LETTER R
+0x53    0x0053  # LATIN CAPITAL LETTER S
+0x54    0x0054  # LATIN CAPITAL LETTER T
+0x55    0x0055  # LATIN CAPITAL LETTER U
+0x56    0x0056  # LATIN CAPITAL LETTER V
+0x57    0x0057  # LATIN CAPITAL LETTER W
+0x58    0x0058  # LATIN CAPITAL LETTER X
+0x59    0x0059  # LATIN CAPITAL LETTER Y
+0x5A    0x005A  # LATIN CAPITAL LETTER Z
+0x5B    <LR>+0x005B     # LEFT SQUARE BRACKET, left-right
+0x5C    0x005C  # REVERSE SOLIDUS
+0x5D    <LR>+0x005D     # RIGHT SQUARE BRACKET, left-right
+0x5E    0x005E  # CIRCUMFLEX ACCENT
+0x5F    0x005F  # LOW LINE
+0x60    0x0060  # GRAVE ACCENT
+0x61    0x0061  # LATIN SMALL LETTER A
+0x62    0x0062  # LATIN SMALL LETTER B
+0x63    0x0063  # LATIN SMALL LETTER C
+0x64    0x0064  # LATIN SMALL LETTER D
+0x65    0x0065  # LATIN SMALL LETTER E
+0x66    0x0066  # LATIN SMALL LETTER F
+0x67    0x0067  # LATIN SMALL LETTER G
+0x68    0x0068  # LATIN SMALL LETTER H
+0x69    0x0069  # LATIN SMALL LETTER I
+0x6A    0x006A  # LATIN SMALL LETTER J
+0x6B    0x006B  # LATIN SMALL LETTER K
+0x6C    0x006C  # LATIN SMALL LETTER L
+0x6D    0x006D  # LATIN SMALL LETTER M
+0x6E    0x006E  # LATIN SMALL LETTER N
+0x6F    0x006F  # LATIN SMALL LETTER O
+0x70    0x0070  # LATIN SMALL LETTER P
+0x71    0x0071  # LATIN SMALL LETTER Q
+0x72    0x0072  # LATIN SMALL LETTER R
+0x73    0x0073  # LATIN SMALL LETTER S
+0x74    0x0074  # LATIN SMALL LETTER T
+0x75    0x0075  # LATIN SMALL LETTER U
+0x76    0x0076  # LATIN SMALL LETTER V
+0x77    0x0077  # LATIN SMALL LETTER W
+0x78    0x0078  # LATIN SMALL LETTER X
+0x79    0x0079  # LATIN SMALL LETTER Y
+0x7A    0x007A  # LATIN SMALL LETTER Z
+0x7B    <LR>+0x007B     # LEFT CURLY BRACKET, left-right
+0x7C    <LR>+0x007C     # VERTICAL LINE, left-right
+0x7D    <LR>+0x007D     # RIGHT CURLY BRACKET, left-right
+0x7E    0x007E  # TILDE
+#
+0x80    0x00C4  # LATIN CAPITAL LETTER A WITH DIAERESIS
+0x81    0x05F2+0x05B7   # HEBREW LIGATURE YIDDISH YOD YOD PATAH
+0x82    0x00C7  # LATIN CAPITAL LETTER C WITH CEDILLA
+0x83    0x00C9  # LATIN CAPITAL LETTER E WITH ACUTE
+0x84    0x00D1  # LATIN CAPITAL LETTER N WITH TILDE
+0x85    0x00D6  # LATIN CAPITAL LETTER O WITH DIAERESIS
+0x86    0x00DC  # LATIN CAPITAL LETTER U WITH DIAERESIS
+0x87    0x00E1  # LATIN SMALL LETTER A WITH ACUTE
+0x88    0x00E0  # LATIN SMALL LETTER A WITH GRAVE
+0x89    0x00E2  # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x8A    0x00E4  # LATIN SMALL LETTER A WITH DIAERESIS
+0x8B    0x00E3  # LATIN SMALL LETTER A WITH TILDE
+0x8C    0x00E5  # LATIN SMALL LETTER A WITH RING ABOVE
+0x8D    0x00E7  # LATIN SMALL LETTER C WITH CEDILLA
+0x8E    0x00E9  # LATIN SMALL LETTER E WITH ACUTE
+0x8F    0x00E8  # LATIN SMALL LETTER E WITH GRAVE
+0x90    0x00EA  # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x91    0x00EB  # LATIN SMALL LETTER E WITH DIAERESIS
+0x92    0x00ED  # LATIN SMALL LETTER I WITH ACUTE
+0x93    0x00EC  # LATIN SMALL LETTER I WITH GRAVE
+0x94    0x00EE  # LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x95    0x00EF  # LATIN SMALL LETTER I WITH DIAERESIS
+0x96    0x00F1  # LATIN SMALL LETTER N WITH TILDE
+0x97    0x00F3  # LATIN SMALL LETTER O WITH ACUTE
+0x98    0x00F2  # LATIN SMALL LETTER O WITH GRAVE
+0x99    0x00F4  # LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x9A    0x00F6  # LATIN SMALL LETTER O WITH DIAERESIS
+0x9B    0x00F5  # LATIN SMALL LETTER O WITH TILDE
+0x9C    0x00FA  # LATIN SMALL LETTER U WITH ACUTE
+0x9D    0x00F9  # LATIN SMALL LETTER U WITH GRAVE
+0x9E    0x00FB  # LATIN SMALL LETTER U WITH CIRCUMFLEX
+0x9F    0x00FC  # LATIN SMALL LETTER U WITH DIAERESIS
+0xA0    <RL>+0x0020     # SPACE, right-left
+0xA1    <RL>+0x0021     # EXCLAMATION MARK, right-left
+0xA2    <RL>+0x0022     # QUOTATION MARK, right-left
+0xA3    <RL>+0x0023     # NUMBER SIGN, right-left
+0xA4    <RL>+0x0024     # DOLLAR SIGN, right-left
+0xA5    <RL>+0x0025     # PERCENT SIGN, right-left
+0xA6    0x20AA  # NEW SHEQEL SIGN
+0xA7    <RL>+0x0027     # APOSTROPHE, right-left
+0xA8    <RL>+0x0029     # RIGHT PARENTHESIS, right-left
+0xA9    <RL>+0x0028     # LEFT PARENTHESIS, right-left
+0xAA    <RL>+0x002A     # ASTERISK, right-left
+0xAB    <RL>+0x002B     # PLUS SIGN, right-left
+0xAC    <RL>+0x002C     # COMMA, right-left
+0xAD    <RL>+0x002D     # HYPHEN-MINUS, right-left
+0xAE    <RL>+0x002E     # FULL STOP, right-left
+0xAF    <RL>+0x002F     # SOLIDUS, right-left
+0xB0    <RL>+0x0030     # DIGIT ZERO, right-left (need override)
+0xB1    <RL>+0x0031     # DIGIT ONE, right-left (need override)
+0xB2    <RL>+0x0032     # DIGIT TWO, right-left (need override)
+0xB3    <RL>+0x0033     # DIGIT THREE, right-left (need override)
+0xB4    <RL>+0x0034     # DIGIT FOUR, right-left (need override)
+0xB5    <RL>+0x0035     # DIGIT FIVE, right-left (need override)
+0xB6    <RL>+0x0036     # DIGIT SIX, right-left (need override)
+0xB7    <RL>+0x0037     # DIGIT SEVEN, right-left (need override)
+0xB8    <RL>+0x0038     # DIGIT EIGHT, right-left (need override)
+0xB9    <RL>+0x0039     # DIGIT NINE, right-left (need override)
+0xBA    <RL>+0x003A     # COLON, right-left
+0xBB    <RL>+0x003B     # SEMICOLON, right-left
+0xBC    <RL>+0x003C     # LESS-THAN SIGN, right-left
+0xBD    <RL>+0x003D     # EQUALS SIGN, right-left
+0xBE    <RL>+0x003E     # GREATER-THAN SIGN, right-left
+0xBF    <RL>+0x003F     # QUESTION MARK, right-left
+0xC0    0xF86A+0x05DC+0x05B9    # Hebrew ligature lamed holam
+0xC1    <RL>+0x201E     # DOUBLE LOW-9 QUOTATION MARK, right-left
+0xC2    0xF89B  # Hebrew canoral 1
+0xC3    0xF89C  # Hebrew canoral 2
+0xC4    0xF89D  # Hebrew canoral 3
+0xC5    0xF89E  # Hebrew canoral 4
+0xC6    0x05BC  # HEBREW POINT DAGESH OR MAPIQ
+0xC7    0xFB4B  # HEBREW LETTER VAV WITH HOLAM
+0xC8    0xFB35  # HEBREW LETTER VAV WITH DAGESH
+0xC9    <RL>+0x2026     # HORIZONTAL ELLIPSIS, right-left
+0xCA    <RL>+0x00A0     # NO-BREAK SPACE, right-left
+0xCB    0x05B8  # HEBREW POINT QAMATS
+0xCC    0x05B7  # HEBREW POINT PATAH
+0xCD    0x05B5  # HEBREW POINT TSERE
+0xCE    0x05B6  # HEBREW POINT SEGOL
+0xCF    0x05B4  # HEBREW POINT HIRIQ
+0xD0    <RL>+0x2013     # EN DASH, right-left
+0xD1    <RL>+0x2014     # EM DASH, right-left
+0xD2    <RL>+0x201C     # LEFT DOUBLE QUOTATION MARK, right-left
+0xD3    <RL>+0x201D     # RIGHT DOUBLE QUOTATION MARK, right-left
+0xD4    <RL>+0x2018     # LEFT SINGLE QUOTATION MARK, right-left
+0xD5    <RL>+0x2019     # RIGHT SINGLE QUOTATION MARK, right-left
+0xD6    0xFB2A  # HEBREW LETTER SHIN WITH SHIN DOT
+0xD7    0xFB2B  # HEBREW LETTER SHIN WITH SIN DOT
+0xD8    0x05BF  # HEBREW POINT RAFE
+0xD9    0x05B0  # HEBREW POINT SHEVA
+0xDA    0x05B2  # HEBREW POINT HATAF PATAH
+0xDB    0x05B1  # HEBREW POINT HATAF SEGOL
+0xDC    0x05BB  # HEBREW POINT QUBUTS
+0xDD    0x05B9  # HEBREW POINT HOLAM
+0xDE    0x05B8+0xF87F   # HEBREW POINT QAMATS, alternate form 'qamats qatan'
+0xDF    0x05B3  # HEBREW POINT HATAF QAMATS
+0xE0    0x05D0  # HEBREW LETTER ALEF
+0xE1    0x05D1  # HEBREW LETTER BET
+0xE2    0x05D2  # HEBREW LETTER GIMEL
+0xE3    0x05D3  # HEBREW LETTER DALET
+0xE4    0x05D4  # HEBREW LETTER HE
+0xE5    0x05D5  # HEBREW LETTER VAV
+0xE6    0x05D6  # HEBREW LETTER ZAYIN
+0xE7    0x05D7  # HEBREW LETTER HET
+0xE8    0x05D8  # HEBREW LETTER TET
+0xE9    0x05D9  # HEBREW LETTER YOD
+0xEA    0x05DA  # HEBREW LETTER FINAL KAF
+0xEB    0x05DB  # HEBREW LETTER KAF
+0xEC    0x05DC  # HEBREW LETTER LAMED
+0xED    0x05DD  # HEBREW LETTER FINAL MEM
+0xEE    0x05DE  # HEBREW LETTER MEM
+0xEF    0x05DF  # HEBREW LETTER FINAL NUN
+0xF0    0x05E0  # HEBREW LETTER NUN
+0xF1    0x05E1  # HEBREW LETTER SAMEKH
+0xF2    0x05E2  # HEBREW LETTER AYIN
+0xF3    0x05E3  # HEBREW LETTER FINAL PE
+0xF4    0x05E4  # HEBREW LETTER PE
+0xF5    0x05E5  # HEBREW LETTER FINAL TSADI
+0xF6    0x05E6  # HEBREW LETTER TSADI
+0xF7    0x05E7  # HEBREW LETTER QOF
+0xF8    0x05E8  # HEBREW LETTER RESH
+0xF9    0x05E9  # HEBREW LETTER SHIN
+0xFA    0x05EA  # HEBREW LETTER TAV
+0xFB    <RL>+0x007D     # RIGHT CURLY BRACKET, right-left
+0xFC    <RL>+0x005D     # RIGHT SQUARE BRACKET, right-left
+0xFD    <RL>+0x007B     # LEFT CURLY BRACKET, right-left
+0xFE    <RL>+0x005B     # LEFT SQUARE BRACKET, right-left
+0xFF    <RL>+0x007C     # VERTICAL LINE, right-left
+
+"
+! !
+
+!MAC_Hebrew class methodsFor:'queries'!
+
+namesOfEncoding
+    ^ #( #'mac-hebrew' #'machebrew'  )
+! !
+
+!MAC_Hebrew class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__MAC_Hebrew.st,v 1.1 2004-03-05 17:30:21 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/CharacterEncoderImplementations__MAC_Roman.st	Fri Mar 05 18:30:49 2004 +0100
@@ -0,0 +1,401 @@
+"{ Encoding: utf8 }"
+
+"{ Package: 'stx:libbasic' }"
+
+"{ NameSpace: CharacterEncoderImplementations }"
+
+SingleByteEncoder subclass:#MAC_Roman
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Collections-Text-Encodings'
+!
+
+
+!MAC_Roman class methodsFor:'mapping'!
+
+mapFileURL1_relativePathName
+    ^ 'VENDORS/APPLE/ROMAN.TXT'
+!
+
+mapping
+"
+# From: http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/ROMAN.TXT
+
+#=======================================================================
+#   File name:  ROMAN.TXT
+#
+#   Contents:   Map (external version) from Mac OS Roman
+#               character set to Unicode 2.1 through Unicode 3.2
+#
+#   Copyright:  (c) 1994-2002 by Apple Computer, Inc., all rights
+#               reserved.
+#
+#   Contact:    charsets@apple.com
+#
+#   Changes:
+#
+#      b4,c1 2002-Dec-19    Update URLs, notes. Matches internal
+#                           utom<b5>.
+#       b03  1999-Sep-22    Update contact e-mail address. Matches
+#                           internal utom<b4>, ufrm<b3>, and Text
+#                           Encoding Converter version 1.5.
+#       b02  1998-Aug-18    Encoding changed for Mac OS 8.5; change
+#                           mapping of 0xDB from CURRENCY SIGN to
+#                           EURO SIGN. Matches internal utom<b3>,
+#                           ufrm<b3>.
+#       n08  1998-Feb-05    Minor update to header comments
+#       n06  1997-Dec-14    Add warning about future changes to 0xDB
+#                           from CURRENCY SIGN to EURO SIGN. Clarify
+#                           some header information
+#       n04  1997-Dec-01    Update to match internal utom<n3>, ufrm<n22>:
+#                           Change standard mapping for 0xBD from U+2126
+#                           to its canonical decomposition, U+03A9.
+#       n03  1995-Apr-15    First version (after fixing some typos).
+#                           Matches internal ufrm<n9>.
+#
+# Standard header:
+# ----------------
+#
+#   Apple, the Apple logo, and Macintosh are trademarks of Apple
+#   Computer, Inc., registered in the United States and other countries.
+#   Unicode is a trademark of Unicode Inc. For the sake of brevity,
+#   throughout this document, 'Macintosh' can be used to refer to
+#   Macintosh computers and 'Unicode' can be used to refer to the
+#   Unicode standard.
+#
+#   Apple makes no warranty or representation, either express or
+#   implied, with respect to these tables, their quality, accuracy, or
+#   fitness for a particular purpose. In no event will Apple be liable
+#   for direct, indirect, special, incidental, or consequential damages 
+#   resulting from any defect or inaccuracy in this document or the
+#   accompanying tables.
+#
+#   These mapping tables and character lists are subject to change.
+#   The latest tables should be available from the following:
+#
+#   <http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/>
+#
+#   For general information about Mac OS encodings and these mapping
+#   tables, see the file 'README.TXT'.
+#
+# Format:
+# -------
+#
+#   Three tab-separated columns;
+#   '#' begins a comment which continues to the end of the line.
+#     Column #1 is the Mac OS Roman code (in hex as 0xNN)
+#     Column #2 is the corresponding Unicode (in hex as 0xNNNN)
+#     Column #3 is a comment containing the Unicode name
+#
+#   The entries are in Mac OS Roman code order.
+#
+#   One of these mappings requires the use of a corporate character.
+#   See the file 'CORPCHAR.TXT' and notes below.
+#
+#   Control character mappings are not shown in this table, following
+#   the conventions of the standard UTC mapping tables. However, the
+#   Mac OS Roman character set uses the standard control characters at
+#   0x00-0x1F and 0x7F.
+#
+# Notes on Mac OS Roman:
+# ----------------------
+#
+#   This character set is used for at least the following Mac OS
+#   localizations: U.S., British, Canadian French, French, Swiss
+#   French, German, Swiss German, Italian, Swiss Italian, Dutch,
+#   Swedish, Norwegian, Danish, Finnish, Spanish, Catalan,
+#   Portuguese, Brazilian, and the default International system.
+#
+#   Variants of Mac OS Roman are used for Croatian, Icelandic,
+#   Turkish, Romanian, and other encodings. Separate mapping tables
+#   are available for these encodings.
+#
+#   Before Mac OS 8.5, code point 0xDB was CURRENCY SIGN, and was
+#   mapped to U+00A4. In Mac OS 8.5 and later versions, code point
+#   0xDB is changed to EURO SIGN and maps to U+20AC; the standard
+#   Apple fonts are updated for Mac OS 8.5 to reflect this. There is
+#   a 'currency sign' variant of the Mac OS Roman encoding that still
+#   maps 0xDB to U+00A4; this can be used for older fonts.
+#
+#   Before Mac OS 8.5, the ROM bitmap versions of the fonts Chicago,
+#   New York, Geneva, and Monaco did not implement the full Mac OS
+#   Roman character set; they only supported character codes up to
+#   0xD8. The TrueType versions of these fonts have always implemented
+#   the full character set, as with the bitmap and TrueType versions
+#   of the other standard Roman fonts.
+#
+#   In all Mac OS encodings, fonts such as Chicago which are used
+#   as 'system' fonts (for menus, dialogs, etc.) have four glyphs
+#   at code points 0x11-0x14 for transient use by the Menu Manager.
+#   These glyphs are not intended as characters for use in normal
+#   text, and the associated code points are not generally
+#   interpreted as associated with these glyphs; they are usually
+#   interpreted (if at all) as the control codes DC1-DC4.
+#
+# Unicode mapping issues and notes:
+# ---------------------------------
+#
+#   The following corporate zone Unicode character is used in this
+#   mapping:
+#
+#     0xF8FF  Apple logo
+#
+#   NOTE: The graphic image associated with the Apple logo character
+#   is not authorized for use without permission of Apple, and
+#   unauthorized use might constitute trademark infringement.
+#
+# Details of mapping changes in each version:
+# -------------------------------------------
+#
+#   Changes from version n08 to version b02:
+#
+#   - Encoding changed for Mac OS 8.5; change mapping of 0xDB from
+#   CURRENCY SIGN (U+00A4) to EURO SIGN (U+20AC).
+#
+#   Changes from version n03 to version n04:
+#
+#   - Change mapping of 0xBD from U+2126 to its canonical
+#     decomposition, U+03A9.
+#
+##################
+
+0x20    0x0020  # SPACE
+0x21    0x0021  # EXCLAMATION MARK
+0x22    0x0022  # QUOTATION MARK
+0x23    0x0023  # NUMBER SIGN
+0x24    0x0024  # DOLLAR SIGN
+0x25    0x0025  # PERCENT SIGN
+0x26    0x0026  # AMPERSAND
+0x27    0x0027  # APOSTROPHE
+0x28    0x0028  # LEFT PARENTHESIS
+0x29    0x0029  # RIGHT PARENTHESIS
+0x2A    0x002A  # ASTERISK
+0x2B    0x002B  # PLUS SIGN
+0x2C    0x002C  # COMMA
+0x2D    0x002D  # HYPHEN-MINUS
+0x2E    0x002E  # FULL STOP
+0x2F    0x002F  # SOLIDUS
+0x30    0x0030  # DIGIT ZERO
+0x31    0x0031  # DIGIT ONE
+0x32    0x0032  # DIGIT TWO
+0x33    0x0033  # DIGIT THREE
+0x34    0x0034  # DIGIT FOUR
+0x35    0x0035  # DIGIT FIVE
+0x36    0x0036  # DIGIT SIX
+0x37    0x0037  # DIGIT SEVEN
+0x38    0x0038  # DIGIT EIGHT
+0x39    0x0039  # DIGIT NINE
+0x3A    0x003A  # COLON
+0x3B    0x003B  # SEMICOLON
+0x3C    0x003C  # LESS-THAN SIGN
+0x3D    0x003D  # EQUALS SIGN
+0x3E    0x003E  # GREATER-THAN SIGN
+0x3F    0x003F  # QUESTION MARK
+0x40    0x0040  # COMMERCIAL AT
+0x41    0x0041  # LATIN CAPITAL LETTER A
+0x42    0x0042  # LATIN CAPITAL LETTER B
+0x43    0x0043  # LATIN CAPITAL LETTER C
+0x44    0x0044  # LATIN CAPITAL LETTER D
+0x45    0x0045  # LATIN CAPITAL LETTER E
+0x46    0x0046  # LATIN CAPITAL LETTER F
+0x47    0x0047  # LATIN CAPITAL LETTER G
+0x48    0x0048  # LATIN CAPITAL LETTER H
+0x49    0x0049  # LATIN CAPITAL LETTER I
+0x4A    0x004A  # LATIN CAPITAL LETTER J
+0x4B    0x004B  # LATIN CAPITAL LETTER K
+0x4C    0x004C  # LATIN CAPITAL LETTER L
+0x4D    0x004D  # LATIN CAPITAL LETTER M
+0x4E    0x004E  # LATIN CAPITAL LETTER N
+0x4F    0x004F  # LATIN CAPITAL LETTER O
+0x50    0x0050  # LATIN CAPITAL LETTER P
+0x51    0x0051  # LATIN CAPITAL LETTER Q
+0x52    0x0052  # LATIN CAPITAL LETTER R
+0x53    0x0053  # LATIN CAPITAL LETTER S
+0x54    0x0054  # LATIN CAPITAL LETTER T
+0x55    0x0055  # LATIN CAPITAL LETTER U
+0x56    0x0056  # LATIN CAPITAL LETTER V
+0x57    0x0057  # LATIN CAPITAL LETTER W
+0x58    0x0058  # LATIN CAPITAL LETTER X
+0x59    0x0059  # LATIN CAPITAL LETTER Y
+0x5A    0x005A  # LATIN CAPITAL LETTER Z
+0x5B    0x005B  # LEFT SQUARE BRACKET
+0x5C    0x005C  # REVERSE SOLIDUS
+0x5D    0x005D  # RIGHT SQUARE BRACKET
+0x5E    0x005E  # CIRCUMFLEX ACCENT
+0x5F    0x005F  # LOW LINE
+0x60    0x0060  # GRAVE ACCENT
+0x61    0x0061  # LATIN SMALL LETTER A
+0x62    0x0062  # LATIN SMALL LETTER B
+0x63    0x0063  # LATIN SMALL LETTER C
+0x64    0x0064  # LATIN SMALL LETTER D
+0x65    0x0065  # LATIN SMALL LETTER E
+0x66    0x0066  # LATIN SMALL LETTER F
+0x67    0x0067  # LATIN SMALL LETTER G
+0x68    0x0068  # LATIN SMALL LETTER H
+0x69    0x0069  # LATIN SMALL LETTER I
+0x6A    0x006A  # LATIN SMALL LETTER J
+0x6B    0x006B  # LATIN SMALL LETTER K
+0x6C    0x006C  # LATIN SMALL LETTER L
+0x6D    0x006D  # LATIN SMALL LETTER M
+0x6E    0x006E  # LATIN SMALL LETTER N
+0x6F    0x006F  # LATIN SMALL LETTER O
+0x70    0x0070  # LATIN SMALL LETTER P
+0x71    0x0071  # LATIN SMALL LETTER Q
+0x72    0x0072  # LATIN SMALL LETTER R
+0x73    0x0073  # LATIN SMALL LETTER S
+0x74    0x0074  # LATIN SMALL LETTER T
+0x75    0x0075  # LATIN SMALL LETTER U
+0x76    0x0076  # LATIN SMALL LETTER V
+0x77    0x0077  # LATIN SMALL LETTER W
+0x78    0x0078  # LATIN SMALL LETTER X
+0x79    0x0079  # LATIN SMALL LETTER Y
+0x7A    0x007A  # LATIN SMALL LETTER Z
+0x7B    0x007B  # LEFT CURLY BRACKET
+0x7C    0x007C  # VERTICAL LINE
+0x7D    0x007D  # RIGHT CURLY BRACKET
+0x7E    0x007E  # TILDE
+#
+0x80    0x00C4  # LATIN CAPITAL LETTER A WITH DIAERESIS
+0x81    0x00C5  # LATIN CAPITAL LETTER A WITH RING ABOVE
+0x82    0x00C7  # LATIN CAPITAL LETTER C WITH CEDILLA
+0x83    0x00C9  # LATIN CAPITAL LETTER E WITH ACUTE
+0x84    0x00D1  # LATIN CAPITAL LETTER N WITH TILDE
+0x85    0x00D6  # LATIN CAPITAL LETTER O WITH DIAERESIS
+0x86    0x00DC  # LATIN CAPITAL LETTER U WITH DIAERESIS
+0x87    0x00E1  # LATIN SMALL LETTER A WITH ACUTE
+0x88    0x00E0  # LATIN SMALL LETTER A WITH GRAVE
+0x89    0x00E2  # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x8A    0x00E4  # LATIN SMALL LETTER A WITH DIAERESIS
+0x8B    0x00E3  # LATIN SMALL LETTER A WITH TILDE
+0x8C    0x00E5  # LATIN SMALL LETTER A WITH RING ABOVE
+0x8D    0x00E7  # LATIN SMALL LETTER C WITH CEDILLA
+0x8E    0x00E9  # LATIN SMALL LETTER E WITH ACUTE
+0x8F    0x00E8  # LATIN SMALL LETTER E WITH GRAVE
+0x90    0x00EA  # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x91    0x00EB  # LATIN SMALL LETTER E WITH DIAERESIS
+0x92    0x00ED  # LATIN SMALL LETTER I WITH ACUTE
+0x93    0x00EC  # LATIN SMALL LETTER I WITH GRAVE
+0x94    0x00EE  # LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x95    0x00EF  # LATIN SMALL LETTER I WITH DIAERESIS
+0x96    0x00F1  # LATIN SMALL LETTER N WITH TILDE
+0x97    0x00F3  # LATIN SMALL LETTER O WITH ACUTE
+0x98    0x00F2  # LATIN SMALL LETTER O WITH GRAVE
+0x99    0x00F4  # LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x9A    0x00F6  # LATIN SMALL LETTER O WITH DIAERESIS
+0x9B    0x00F5  # LATIN SMALL LETTER O WITH TILDE
+0x9C    0x00FA  # LATIN SMALL LETTER U WITH ACUTE
+0x9D    0x00F9  # LATIN SMALL LETTER U WITH GRAVE
+0x9E    0x00FB  # LATIN SMALL LETTER U WITH CIRCUMFLEX
+0x9F    0x00FC  # LATIN SMALL LETTER U WITH DIAERESIS
+0xA0    0x2020  # DAGGER
+0xA1    0x00B0  # DEGREE SIGN
+0xA2    0x00A2  # CENT SIGN
+0xA3    0x00A3  # POUND SIGN
+0xA4    0x00A7  # SECTION SIGN
+0xA5    0x2022  # BULLET
+0xA6    0x00B6  # PILCROW SIGN
+0xA7    0x00DF  # LATIN SMALL LETTER SHARP S
+0xA8    0x00AE  # REGISTERED SIGN
+0xA9    0x00A9  # COPYRIGHT SIGN
+0xAA    0x2122  # TRADE MARK SIGN
+0xAB    0x00B4  # ACUTE ACCENT
+0xAC    0x00A8  # DIAERESIS
+0xAD    0x2260  # NOT EQUAL TO
+0xAE    0x00C6  # LATIN CAPITAL LETTER AE
+0xAF    0x00D8  # LATIN CAPITAL LETTER O WITH STROKE
+0xB0    0x221E  # INFINITY
+0xB1    0x00B1  # PLUS-MINUS SIGN
+0xB2    0x2264  # LESS-THAN OR EQUAL TO
+0xB3    0x2265  # GREATER-THAN OR EQUAL TO
+0xB4    0x00A5  # YEN SIGN
+0xB5    0x00B5  # MICRO SIGN
+0xB6    0x2202  # PARTIAL DIFFERENTIAL
+0xB7    0x2211  # N-ARY SUMMATION
+0xB8    0x220F  # N-ARY PRODUCT
+0xB9    0x03C0  # GREEK SMALL LETTER PI
+0xBA    0x222B  # INTEGRAL
+0xBB    0x00AA  # FEMININE ORDINAL INDICATOR
+0xBC    0x00BA  # MASCULINE ORDINAL INDICATOR
+0xBD    0x03A9  # GREEK CAPITAL LETTER OMEGA
+0xBE    0x00E6  # LATIN SMALL LETTER AE
+0xBF    0x00F8  # LATIN SMALL LETTER O WITH STROKE
+0xC0    0x00BF  # INVERTED QUESTION MARK
+0xC1    0x00A1  # INVERTED EXCLAMATION MARK
+0xC2    0x00AC  # NOT SIGN
+0xC3    0x221A  # SQUARE ROOT
+0xC4    0x0192  # LATIN SMALL LETTER F WITH HOOK
+0xC5    0x2248  # ALMOST EQUAL TO
+0xC6    0x2206  # INCREMENT
+0xC7    0x00AB  # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC8    0x00BB  # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC9    0x2026  # HORIZONTAL ELLIPSIS
+0xCA    0x00A0  # NO-BREAK SPACE
+0xCB    0x00C0  # LATIN CAPITAL LETTER A WITH GRAVE
+0xCC    0x00C3  # LATIN CAPITAL LETTER A WITH TILDE
+0xCD    0x00D5  # LATIN CAPITAL LETTER O WITH TILDE
+0xCE    0x0152  # LATIN CAPITAL LIGATURE OE
+0xCF    0x0153  # LATIN SMALL LIGATURE OE
+0xD0    0x2013  # EN DASH
+0xD1    0x2014  # EM DASH
+0xD2    0x201C  # LEFT DOUBLE QUOTATION MARK
+0xD3    0x201D  # RIGHT DOUBLE QUOTATION MARK
+0xD4    0x2018  # LEFT SINGLE QUOTATION MARK
+0xD5    0x2019  # RIGHT SINGLE QUOTATION MARK
+0xD6    0x00F7  # DIVISION SIGN
+0xD7    0x25CA  # LOZENGE
+0xD8    0x00FF  # LATIN SMALL LETTER Y WITH DIAERESIS
+0xD9    0x0178  # LATIN CAPITAL LETTER Y WITH DIAERESIS
+0xDA    0x2044  # FRACTION SLASH
+0xDB    0x20AC  # EURO SIGN
+0xDC    0x2039  # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+0xDD    0x203A  # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+0xDE    0xFB01  # LATIN SMALL LIGATURE FI
+0xDF    0xFB02  # LATIN SMALL LIGATURE FL
+0xE0    0x2021  # DOUBLE DAGGER
+0xE1    0x00B7  # MIDDLE DOT
+0xE2    0x201A  # SINGLE LOW-9 QUOTATION MARK
+0xE3    0x201E  # DOUBLE LOW-9 QUOTATION MARK
+0xE4    0x2030  # PER MILLE SIGN
+0xE5    0x00C2  # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xE6    0x00CA  # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xE7    0x00C1  # LATIN CAPITAL LETTER A WITH ACUTE
+0xE8    0x00CB  # LATIN CAPITAL LETTER E WITH DIAERESIS
+0xE9    0x00C8  # LATIN CAPITAL LETTER E WITH GRAVE
+0xEA    0x00CD  # LATIN CAPITAL LETTER I WITH ACUTE
+0xEB    0x00CE  # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xEC    0x00CF  # LATIN CAPITAL LETTER I WITH DIAERESIS
+0xED    0x00CC  # LATIN CAPITAL LETTER I WITH GRAVE
+0xEE    0x00D3  # LATIN CAPITAL LETTER O WITH ACUTE
+0xEF    0x00D4  # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xF0    0xF8FF  # Apple logo
+0xF1    0x00D2  # LATIN CAPITAL LETTER O WITH GRAVE
+0xF2    0x00DA  # LATIN CAPITAL LETTER U WITH ACUTE
+0xF3    0x00DB  # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xF4    0x00D9  # LATIN CAPITAL LETTER U WITH GRAVE
+0xF5    0x0131  # LATIN SMALL LETTER DOTLESS I
+0xF6    0x02C6  # MODIFIER LETTER CIRCUMFLEX ACCENT
+0xF7    0x02DC  # SMALL TILDE
+0xF8    0x00AF  # MACRON
+0xF9    0x02D8  # BREVE
+0xFA    0x02D9  # DOT ABOVE
+0xFB    0x02DA  # RING ABOVE
+0xFC    0x00B8  # CEDILLA
+0xFD    0x02DD  # DOUBLE ACUTE ACCENT
+0xFE    0x02DB  # OGONEK
+0xFF    0x02C7  # CARON
+
+"
+! !
+
+!MAC_Roman class methodsFor:'queries'!
+
+namesOfEncoding
+    ^ #( #'mac-roman' #'macroman')
+! !
+
+!MAC_Roman class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__MAC_Roman.st,v 1.1 2004-03-05 17:30:49 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Encoder_ASCII.st	Fri Mar 05 18:30:49 2004 +0100
@@ -0,0 +1,217 @@
+"{ Encoding: utf8 }"
+
+"{ Package: 'stx:libbasic' }"
+
+"{ NameSpace: CharacterEncoderImplementations }"
+
+SingleByteEncoder subclass:#ASCII
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Collections-Text-Encodings'
+!
+
+
+!ASCII class methodsFor:'mapping'!
+
+mapFileURL2_relativePathName
+    ^ 'ASCII'
+
+    "
+     self generateCode
+    "
+!
+
+mapping
+"
+# From: http://std.dkuug.dk/i18n/charmaps/ASCII
+
+<code_set_name> ANSI_X3.4-1968
+<comment_char> %
+<escape_char> /
+% version: 1.0
+% repertoiremap: mnemonic,ds
+%  source: ECMA registry
+
+% alias ISO-IR-6
+% alias ANSI_X3.4-1986
+% alias ISO_646.IRV:1991
+% alias ASCII
+% alias ISO646-US
+% alias US-ASCII
+% alias US
+% alias IBM367
+% alias CP367
+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)
+END CHARMAP
+
+"
+! !
+
+!ASCII class methodsFor:'queries'!
+
+namesOfEncoding
+    ^ #( 'ascii' 'us-ascii' 'iso-ir-6' 'ibm-367' 'ms-cp367' 'cp367'  'iso646-us' 'ibm-cp367')
+! !
+
+!ASCII 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:[
+	^ self decodingError.
+    ].
+    ^ code.
+!
+
+encode:unicodeArg
+    "Automagically generated by generateCode - do not modify.
+     Encode from unicode into my encoding."
+
+    |unicode "{ Class: SmallInteger }"|
+
+    unicode := unicodeArg.
+    unicode > 16r7F ifTrue:[
+	^ self encodingError.
+    ].
+    ^ unicode.
+! !
+
+!ASCII class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ASCII.st,v 1.1 2004-03-05 17:29:45 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Encoder_ISO8859_14.st	Fri Mar 05 18:30:49 2004 +0100
@@ -0,0 +1,753 @@
+"{ Encoding: utf8 }"
+
+"{ Package: 'stx:libbasic' }"
+
+"{ NameSpace: CharacterEncoderImplementations }"
+
+SingleByteEncoder subclass:#ISO8859_14
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Collections-Text-Encodings'
+!
+
+
+!ISO8859_14 class methodsFor:'mapping'!
+
+mapFileURL1_relativePathName
+    ^ 'ISO8859/8859-14.TXT'
+!
+
+mapping
+"
+# From: http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-14.TXT
+
+#
+#       Name:             ISO/IEC 8859-14:1998 to Unicode
+#       Unicode version:  3.0
+#       Table version:    1.0
+#       Table format:     Format A
+#       Date:             1999 July 27
+#       Authors:          Markus Kuhn <mkuhn@acm.org>
+#                         Ken Whistler <kenw@sybase.com>
+#
+#       Copyright (c) 1998 - 1999 Unicode, Inc.  All Rights reserved.
+#
+#       This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#       No claims are made as to fitness for any particular purpose.  No
+#       warranties of any kind are expressed or implied.  The recipient
+#       agrees to determine applicability of information provided.  If this
+#       file has been provided on optical media by Unicode, Inc., the sole
+#       remedy for any claim will be exchange of defective media within 90
+#       days of receipt.
+#
+#       Unicode, Inc. hereby grants the right to freely use the information
+#       supplied in this file in the creation of products supporting the
+#       Unicode Standard, and to make copies of this file in any form for
+#       internal or external distribution as long as this notice remains
+#       attached.
+#
+#       General notes:
+#
+#       This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-14:1998 characters map into Unicode.
+#
+#       Format:  Three tab-separated columns
+#                Column #1 is the ISO/IEC 8859-14 code (in hex as 0xXX)
+#                Column #2 is the Unicode (in hex as 0xXXXX)
+#                Column #3 the Unicode name (follows a comment sign, '#')
+#
+#       The entries are in ISO/IEC 8859-14 order.
+#
+#       Updated versions of this file may be found in:
+#               <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#       Any comments or problems, contact <errata@unicode.org>
+#       Please note that <errata@unicode.org> is an archival address;
+#       notices will be checked, but do not expect an immediate response.
+#
+0x00    0x0000  #       NULL
+0x01    0x0001  #       START OF HEADING
+0x02    0x0002  #       START OF TEXT
+0x03    0x0003  #       END OF TEXT
+0x04    0x0004  #       END OF TRANSMISSION
+0x05    0x0005  #       ENQUIRY
+0x06    0x0006  #       ACKNOWLEDGE
+0x07    0x0007  #       BELL
+0x08    0x0008  #       BACKSPACE
+0x09    0x0009  #       HORIZONTAL TABULATION
+0x0A    0x000A  #       LINE FEED
+0x0B    0x000B  #       VERTICAL TABULATION
+0x0C    0x000C  #       FORM FEED
+0x0D    0x000D  #       CARRIAGE RETURN
+0x0E    0x000E  #       SHIFT OUT
+0x0F    0x000F  #       SHIFT IN
+0x10    0x0010  #       DATA LINK ESCAPE
+0x11    0x0011  #       DEVICE CONTROL ONE
+0x12    0x0012  #       DEVICE CONTROL TWO
+0x13    0x0013  #       DEVICE CONTROL THREE
+0x14    0x0014  #       DEVICE CONTROL FOUR
+0x15    0x0015  #       NEGATIVE ACKNOWLEDGE
+0x16    0x0016  #       SYNCHRONOUS IDLE
+0x17    0x0017  #       END OF TRANSMISSION BLOCK
+0x18    0x0018  #       CANCEL
+0x19    0x0019  #       END OF MEDIUM
+0x1A    0x001A  #       SUBSTITUTE
+0x1B    0x001B  #       ESCAPE
+0x1C    0x001C  #       FILE SEPARATOR
+0x1D    0x001D  #       GROUP SEPARATOR
+0x1E    0x001E  #       RECORD SEPARATOR
+0x1F    0x001F  #       UNIT SEPARATOR
+0x20    0x0020  #       SPACE
+0x21    0x0021  #       EXCLAMATION MARK
+0x22    0x0022  #       QUOTATION MARK
+0x23    0x0023  #       NUMBER SIGN
+0x24    0x0024  #       DOLLAR SIGN
+0x25    0x0025  #       PERCENT SIGN
+0x26    0x0026  #       AMPERSAND
+0x27    0x0027  #       APOSTROPHE
+0x28    0x0028  #       LEFT PARENTHESIS
+0x29    0x0029  #       RIGHT PARENTHESIS
+0x2A    0x002A  #       ASTERISK
+0x2B    0x002B  #       PLUS SIGN
+0x2C    0x002C  #       COMMA
+0x2D    0x002D  #       HYPHEN-MINUS
+0x2E    0x002E  #       FULL STOP
+0x2F    0x002F  #       SOLIDUS
+0x30    0x0030  #       DIGIT ZERO
+0x31    0x0031  #       DIGIT ONE
+0x32    0x0032  #       DIGIT TWO
+0x33    0x0033  #       DIGIT THREE
+0x34    0x0034  #       DIGIT FOUR
+0x35    0x0035  #       DIGIT FIVE
+0x36    0x0036  #       DIGIT SIX
+0x37    0x0037  #       DIGIT SEVEN
+0x38    0x0038  #       DIGIT EIGHT
+0x39    0x0039  #       DIGIT NINE
+0x3A    0x003A  #       COLON
+0x3B    0x003B  #       SEMICOLON
+0x3C    0x003C  #       LESS-THAN SIGN
+0x3D    0x003D  #       EQUALS SIGN
+0x3E    0x003E  #       GREATER-THAN SIGN
+0x3F    0x003F  #       QUESTION MARK
+0x40    0x0040  #       COMMERCIAL AT
+0x41    0x0041  #       LATIN CAPITAL LETTER A
+0x42    0x0042  #       LATIN CAPITAL LETTER B
+0x43    0x0043  #       LATIN CAPITAL LETTER C
+0x44    0x0044  #       LATIN CAPITAL LETTER D
+0x45    0x0045  #       LATIN CAPITAL LETTER E
+0x46    0x0046  #       LATIN CAPITAL LETTER F
+0x47    0x0047  #       LATIN CAPITAL LETTER G
+0x48    0x0048  #       LATIN CAPITAL LETTER H
+0x49    0x0049  #       LATIN CAPITAL LETTER I
+0x4A    0x004A  #       LATIN CAPITAL LETTER J
+0x4B    0x004B  #       LATIN CAPITAL LETTER K
+0x4C    0x004C  #       LATIN CAPITAL LETTER L
+0x4D    0x004D  #       LATIN CAPITAL LETTER M
+0x4E    0x004E  #       LATIN CAPITAL LETTER N
+0x4F    0x004F  #       LATIN CAPITAL LETTER O
+0x50    0x0050  #       LATIN CAPITAL LETTER P
+0x51    0x0051  #       LATIN CAPITAL LETTER Q
+0x52    0x0052  #       LATIN CAPITAL LETTER R
+0x53    0x0053  #       LATIN CAPITAL LETTER S
+0x54    0x0054  #       LATIN CAPITAL LETTER T
+0x55    0x0055  #       LATIN CAPITAL LETTER U
+0x56    0x0056  #       LATIN CAPITAL LETTER V
+0x57    0x0057  #       LATIN CAPITAL LETTER W
+0x58    0x0058  #       LATIN CAPITAL LETTER X
+0x59    0x0059  #       LATIN CAPITAL LETTER Y
+0x5A    0x005A  #       LATIN CAPITAL LETTER Z
+0x5B    0x005B  #       LEFT SQUARE BRACKET
+0x5C    0x005C  #       REVERSE SOLIDUS
+0x5D    0x005D  #       RIGHT SQUARE BRACKET
+0x5E    0x005E  #       CIRCUMFLEX ACCENT
+0x5F    0x005F  #       LOW LINE
+0x60    0x0060  #       GRAVE ACCENT
+0x61    0x0061  #       LATIN SMALL LETTER A
+0x62    0x0062  #       LATIN SMALL LETTER B
+0x63    0x0063  #       LATIN SMALL LETTER C
+0x64    0x0064  #       LATIN SMALL LETTER D
+0x65    0x0065  #       LATIN SMALL LETTER E
+0x66    0x0066  #       LATIN SMALL LETTER F
+0x67    0x0067  #       LATIN SMALL LETTER G
+0x68    0x0068  #       LATIN SMALL LETTER H
+0x69    0x0069  #       LATIN SMALL LETTER I
+0x6A    0x006A  #       LATIN SMALL LETTER J
+0x6B    0x006B  #       LATIN SMALL LETTER K
+0x6C    0x006C  #       LATIN SMALL LETTER L
+0x6D    0x006D  #       LATIN SMALL LETTER M
+0x6E    0x006E  #       LATIN SMALL LETTER N
+0x6F    0x006F  #       LATIN SMALL LETTER O
+0x70    0x0070  #       LATIN SMALL LETTER P
+0x71    0x0071  #       LATIN SMALL LETTER Q
+0x72    0x0072  #       LATIN SMALL LETTER R
+0x73    0x0073  #       LATIN SMALL LETTER S
+0x74    0x0074  #       LATIN SMALL LETTER T
+0x75    0x0075  #       LATIN SMALL LETTER U
+0x76    0x0076  #       LATIN SMALL LETTER V
+0x77    0x0077  #       LATIN SMALL LETTER W
+0x78    0x0078  #       LATIN SMALL LETTER X
+0x79    0x0079  #       LATIN SMALL LETTER Y
+0x7A    0x007A  #       LATIN SMALL LETTER Z
+0x7B    0x007B  #       LEFT CURLY BRACKET
+0x7C    0x007C  #       VERTICAL LINE
+0x7D    0x007D  #       RIGHT CURLY BRACKET
+0x7E    0x007E  #       TILDE
+0x7F    0x007F  #       DELETE
+0x80    0x0080  #       <control>
+0x81    0x0081  #       <control>
+0x82    0x0082  #       <control>
+0x83    0x0083  #       <control>
+0x84    0x0084  #       <control>
+0x85    0x0085  #       <control>
+0x86    0x0086  #       <control>
+0x87    0x0087  #       <control>
+0x88    0x0088  #       <control>
+0x89    0x0089  #       <control>
+0x8A    0x008A  #       <control>
+0x8B    0x008B  #       <control>
+0x8C    0x008C  #       <control>
+0x8D    0x008D  #       <control>
+0x8E    0x008E  #       <control>
+0x8F    0x008F  #       <control>
+0x90    0x0090  #       <control>
+0x91    0x0091  #       <control>
+0x92    0x0092  #       <control>
+0x93    0x0093  #       <control>
+0x94    0x0094  #       <control>
+0x95    0x0095  #       <control>
+0x96    0x0096  #       <control>
+0x97    0x0097  #       <control>
+0x98    0x0098  #       <control>
+0x99    0x0099  #       <control>
+0x9A    0x009A  #       <control>
+0x9B    0x009B  #       <control>
+0x9C    0x009C  #       <control>
+0x9D    0x009D  #       <control>
+0x9E    0x009E  #       <control>
+0x9F    0x009F  #       <control>
+0xA0    0x00A0  #       NO-BREAK SPACE
+0xA1    0x1E02  #       LATIN CAPITAL LETTER B WITH DOT ABOVE
+0xA2    0x1E03  #       LATIN SMALL LETTER B WITH DOT ABOVE
+0xA3    0x00A3  #       POUND SIGN
+0xA4    0x010A  #       LATIN CAPITAL LETTER C WITH DOT ABOVE
+0xA5    0x010B  #       LATIN SMALL LETTER C WITH DOT ABOVE
+0xA6    0x1E0A  #       LATIN CAPITAL LETTER D WITH DOT ABOVE
+0xA7    0x00A7  #       SECTION SIGN
+0xA8    0x1E80  #       LATIN CAPITAL LETTER W WITH GRAVE
+0xA9    0x00A9  #       COPYRIGHT SIGN
+0xAA    0x1E82  #       LATIN CAPITAL LETTER W WITH ACUTE
+0xAB    0x1E0B  #       LATIN SMALL LETTER D WITH DOT ABOVE
+0xAC    0x1EF2  #       LATIN CAPITAL LETTER Y WITH GRAVE
+0xAD    0x00AD  #       SOFT HYPHEN
+0xAE    0x00AE  #       REGISTERED SIGN
+0xAF    0x0178  #       LATIN CAPITAL LETTER Y WITH DIAERESIS
+0xB0    0x1E1E  #       LATIN CAPITAL LETTER F WITH DOT ABOVE
+0xB1    0x1E1F  #       LATIN SMALL LETTER F WITH DOT ABOVE
+0xB2    0x0120  #       LATIN CAPITAL LETTER G WITH DOT ABOVE
+0xB3    0x0121  #       LATIN SMALL LETTER G WITH DOT ABOVE
+0xB4    0x1E40  #       LATIN CAPITAL LETTER M WITH DOT ABOVE
+0xB5    0x1E41  #       LATIN SMALL LETTER M WITH DOT ABOVE
+0xB6    0x00B6  #       PILCROW SIGN
+0xB7    0x1E56  #       LATIN CAPITAL LETTER P WITH DOT ABOVE
+0xB8    0x1E81  #       LATIN SMALL LETTER W WITH GRAVE
+0xB9    0x1E57  #       LATIN SMALL LETTER P WITH DOT ABOVE
+0xBA    0x1E83  #       LATIN SMALL LETTER W WITH ACUTE
+0xBB    0x1E60  #       LATIN CAPITAL LETTER S WITH DOT ABOVE
+0xBC    0x1EF3  #       LATIN SMALL LETTER Y WITH GRAVE
+0xBD    0x1E84  #       LATIN CAPITAL LETTER W WITH DIAERESIS
+0xBE    0x1E85  #       LATIN SMALL LETTER W WITH DIAERESIS
+0xBF    0x1E61  #       LATIN SMALL LETTER S WITH DOT ABOVE
+0xC0    0x00C0  #       LATIN CAPITAL LETTER A WITH GRAVE
+0xC1    0x00C1  #       LATIN CAPITAL LETTER A WITH ACUTE
+0xC2    0x00C2  #       LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3    0x00C3  #       LATIN CAPITAL LETTER A WITH TILDE
+0xC4    0x00C4  #       LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5    0x00C5  #       LATIN CAPITAL LETTER A WITH RING ABOVE
+0xC6    0x00C6  #       LATIN CAPITAL LETTER AE
+0xC7    0x00C7  #       LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8    0x00C8  #       LATIN CAPITAL LETTER E WITH GRAVE
+0xC9    0x00C9  #       LATIN CAPITAL LETTER E WITH ACUTE
+0xCA    0x00CA  #       LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xCB    0x00CB  #       LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC    0x00CC  #       LATIN CAPITAL LETTER I WITH GRAVE
+0xCD    0x00CD  #       LATIN CAPITAL LETTER I WITH ACUTE
+0xCE    0x00CE  #       LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF    0x00CF  #       LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD0    0x0174  #       LATIN CAPITAL LETTER W WITH CIRCUMFLEX
+0xD1    0x00D1  #       LATIN CAPITAL LETTER N WITH TILDE
+0xD2    0x00D2  #       LATIN CAPITAL LETTER O WITH GRAVE
+0xD3    0x00D3  #       LATIN CAPITAL LETTER O WITH ACUTE
+0xD4    0x00D4  #       LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5    0x00D5  #       LATIN CAPITAL LETTER O WITH TILDE
+0xD6    0x00D6  #       LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7    0x1E6A  #       LATIN CAPITAL LETTER T WITH DOT ABOVE
+0xD8    0x00D8  #       LATIN CAPITAL LETTER O WITH STROKE
+0xD9    0x00D9  #       LATIN CAPITAL LETTER U WITH GRAVE
+0xDA    0x00DA  #       LATIN CAPITAL LETTER U WITH ACUTE
+0xDB    0x00DB  #       LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC    0x00DC  #       LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD    0x00DD  #       LATIN CAPITAL LETTER Y WITH ACUTE
+0xDE    0x0176  #       LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+0xDF    0x00DF  #       LATIN SMALL LETTER SHARP S
+0xE0    0x00E0  #       LATIN SMALL LETTER A WITH GRAVE
+0xE1    0x00E1  #       LATIN SMALL LETTER A WITH ACUTE
+0xE2    0x00E2  #       LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3    0x00E3  #       LATIN SMALL LETTER A WITH TILDE
+0xE4    0x00E4  #       LATIN SMALL LETTER A WITH DIAERESIS
+0xE5    0x00E5  #       LATIN SMALL LETTER A WITH RING ABOVE
+0xE6    0x00E6  #       LATIN SMALL LETTER AE
+0xE7    0x00E7  #       LATIN SMALL LETTER C WITH CEDILLA
+0xE8    0x00E8  #       LATIN SMALL LETTER E WITH GRAVE
+0xE9    0x00E9  #       LATIN SMALL LETTER E WITH ACUTE
+0xEA    0x00EA  #       LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB    0x00EB  #       LATIN SMALL LETTER E WITH DIAERESIS
+0xEC    0x00EC  #       LATIN SMALL LETTER I WITH GRAVE
+0xED    0x00ED  #       LATIN SMALL LETTER I WITH ACUTE
+0xEE    0x00EE  #       LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF    0x00EF  #       LATIN SMALL LETTER I WITH DIAERESIS
+0xF0    0x0175  #       LATIN SMALL LETTER W WITH CIRCUMFLEX
+0xF1    0x00F1  #       LATIN SMALL LETTER N WITH TILDE
+0xF2    0x00F2  #       LATIN SMALL LETTER O WITH GRAVE
+0xF3    0x00F3  #       LATIN SMALL LETTER O WITH ACUTE
+0xF4    0x00F4  #       LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5    0x00F5  #       LATIN SMALL LETTER O WITH TILDE
+0xF6    0x00F6  #       LATIN SMALL LETTER O WITH DIAERESIS
+0xF7    0x1E6B  #       LATIN SMALL LETTER T WITH DOT ABOVE
+0xF8    0x00F8  #       LATIN SMALL LETTER O WITH STROKE
+0xF9    0x00F9  #       LATIN SMALL LETTER U WITH GRAVE
+0xFA    0x00FA  #       LATIN SMALL LETTER U WITH ACUTE
+0xFB    0x00FB  #       LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC    0x00FC  #       LATIN SMALL LETTER U WITH DIAERESIS
+0xFD    0x00FD  #       LATIN SMALL LETTER Y WITH ACUTE
+0xFE    0x0177  #       LATIN SMALL LETTER Y WITH CIRCUMFLEX
+0xFF    0x00FF  #       LATIN SMALL LETTER Y WITH DIAERESIS
+
+
+"
+! !
+
+!ISO8859_14 class methodsFor:'queries'!
+
+namesOfEncoding
+    ^ #( 'iso8859-14' 'iso-8859-14' 'latin8' 'latin-8' 'latin-celtic' )
+! !
+
+!ISO8859_14 methodsFor:'encoding & decoding'!
+
+decode:codeArg
+    "Automagically generated by generateCode - do not modify.
+     Decode from my encoding into unicode."
+
+    |code "{ Class: SmallInteger }"|
+
+    code := codeArg.
+    code <= 16rA0 ifTrue:[ ^ code ].
+    code > 16rFF ifTrue:[
+	^ self decodingError.
+    ].
+    ^ #(
+       "16r00A1"    16r1E02 " LATIN CAPITAL LETTER B WITH DOT ABOVE " 
+       "16r00A2"    16r1E03 " LATIN SMALL LETTER B WITH DOT ABOVE " 
+       "16r00A3"    16r00A3 " POUND SIGN " 
+       "16r00A4"    16r010A " LATIN CAPITAL LETTER C WITH DOT ABOVE " 
+       "16r00A5"    16r010B " LATIN SMALL LETTER C WITH DOT ABOVE " 
+       "16r00A6"    16r1E0A " LATIN CAPITAL LETTER D WITH DOT ABOVE " 
+       "16r00A7"    16r00A7 " SECTION SIGN " 
+       "16r00A8"    16r1E80 " LATIN CAPITAL LETTER W WITH GRAVE " 
+       "16r00A9"    16r00A9 " COPYRIGHT SIGN " 
+       "16r00AA"    16r1E82 " LATIN CAPITAL LETTER W WITH ACUTE " 
+       "16r00AB"    16r1E0B " LATIN SMALL LETTER D WITH DOT ABOVE " 
+       "16r00AC"    16r1EF2 " LATIN CAPITAL LETTER Y WITH GRAVE " 
+       "16r00AD"    16r00AD " SOFT HYPHEN " 
+       "16r00AE"    16r00AE " REGISTERED SIGN " 
+       "16r00AF"    16r0178 " LATIN CAPITAL LETTER Y WITH DIAERESIS " 
+       "16r00B0"    16r1E1E " LATIN CAPITAL LETTER F WITH DOT ABOVE " 
+       "16r00B1"    16r1E1F " LATIN SMALL LETTER F WITH DOT ABOVE " 
+       "16r00B2"    16r0120 " LATIN CAPITAL LETTER G WITH DOT ABOVE " 
+       "16r00B3"    16r0121 " LATIN SMALL LETTER G WITH DOT ABOVE " 
+       "16r00B4"    16r1E40 " LATIN CAPITAL LETTER M WITH DOT ABOVE " 
+       "16r00B5"    16r1E41 " LATIN SMALL LETTER M WITH DOT ABOVE " 
+       "16r00B6"    16r00B6 " PILCROW SIGN " 
+       "16r00B7"    16r1E56 " LATIN CAPITAL LETTER P WITH DOT ABOVE " 
+       "16r00B8"    16r1E81 " LATIN SMALL LETTER W WITH GRAVE " 
+       "16r00B9"    16r1E57 " LATIN SMALL LETTER P WITH DOT ABOVE " 
+       "16r00BA"    16r1E83 " LATIN SMALL LETTER W WITH ACUTE " 
+       "16r00BB"    16r1E60 " LATIN CAPITAL LETTER S WITH DOT ABOVE " 
+       "16r00BC"    16r1EF3 " LATIN SMALL LETTER Y WITH GRAVE " 
+       "16r00BD"    16r1E84 " LATIN CAPITAL LETTER W WITH DIAERESIS " 
+       "16r00BE"    16r1E85 " LATIN SMALL LETTER W WITH DIAERESIS " 
+       "16r00BF"    16r1E61 " LATIN SMALL LETTER S WITH DOT ABOVE " 
+       "16r00C0"    16r00C0 " LATIN CAPITAL LETTER A WITH GRAVE " 
+       "16r00C1"    16r00C1 " LATIN CAPITAL LETTER A WITH ACUTE " 
+       "16r00C2"    16r00C2 " LATIN CAPITAL LETTER A WITH CIRCUMFLEX " 
+       "16r00C3"    16r00C3 " LATIN CAPITAL LETTER A WITH TILDE " 
+       "16r00C4"    16r00C4 " LATIN CAPITAL LETTER A WITH DIAERESIS " 
+       "16r00C5"    16r00C5 " LATIN CAPITAL LETTER A WITH RING ABOVE " 
+       "16r00C6"    16r00C6 " LATIN CAPITAL LETTER AE " 
+       "16r00C7"    16r00C7 " LATIN CAPITAL LETTER C WITH CEDILLA " 
+       "16r00C8"    16r00C8 " LATIN CAPITAL LETTER E WITH GRAVE " 
+       "16r00C9"    16r00C9 " LATIN CAPITAL LETTER E WITH ACUTE " 
+       "16r00CA"    16r00CA " LATIN CAPITAL LETTER E WITH CIRCUMFLEX " 
+       "16r00CB"    16r00CB " LATIN CAPITAL LETTER E WITH DIAERESIS " 
+       "16r00CC"    16r00CC " LATIN CAPITAL LETTER I WITH GRAVE " 
+       "16r00CD"    16r00CD " LATIN CAPITAL LETTER I WITH ACUTE " 
+       "16r00CE"    16r00CE " LATIN CAPITAL LETTER I WITH CIRCUMFLEX " 
+       "16r00CF"    16r00CF " LATIN CAPITAL LETTER I WITH DIAERESIS " 
+       "16r00D0"    16r0174 " LATIN CAPITAL LETTER W WITH CIRCUMFLEX " 
+       "16r00D1"    16r00D1 " LATIN CAPITAL LETTER N WITH TILDE " 
+       "16r00D2"    16r00D2 " LATIN CAPITAL LETTER O WITH GRAVE " 
+       "16r00D3"    16r00D3 " LATIN CAPITAL LETTER O WITH ACUTE " 
+       "16r00D4"    16r00D4 " LATIN CAPITAL LETTER O WITH CIRCUMFLEX " 
+       "16r00D5"    16r00D5 " LATIN CAPITAL LETTER O WITH TILDE " 
+       "16r00D6"    16r00D6 " LATIN CAPITAL LETTER O WITH DIAERESIS " 
+       "16r00D7"    16r1E6A " LATIN CAPITAL LETTER T WITH DOT ABOVE " 
+       "16r00D8"    16r00D8 " LATIN CAPITAL LETTER O WITH STROKE " 
+       "16r00D9"    16r00D9 " LATIN CAPITAL LETTER U WITH GRAVE " 
+       "16r00DA"    16r00DA " LATIN CAPITAL LETTER U WITH ACUTE " 
+       "16r00DB"    16r00DB " LATIN CAPITAL LETTER U WITH CIRCUMFLEX " 
+       "16r00DC"    16r00DC " LATIN CAPITAL LETTER U WITH DIAERESIS " 
+       "16r00DD"    16r00DD " LATIN CAPITAL LETTER Y WITH ACUTE " 
+       "16r00DE"    16r0176 " LATIN CAPITAL LETTER Y WITH CIRCUMFLEX " 
+       "16r00DF"    16r00DF " LATIN SMALL LETTER SHARP S " 
+       "16r00E0"    16r00E0 " LATIN SMALL LETTER A WITH GRAVE " 
+       "16r00E1"    16r00E1 " LATIN SMALL LETTER A WITH ACUTE " 
+       "16r00E2"    16r00E2 " LATIN SMALL LETTER A WITH CIRCUMFLEX " 
+       "16r00E3"    16r00E3 " LATIN SMALL LETTER A WITH TILDE " 
+       "16r00E4"    16r00E4 " LATIN SMALL LETTER A WITH DIAERESIS " 
+       "16r00E5"    16r00E5 " LATIN SMALL LETTER A WITH RING ABOVE " 
+       "16r00E6"    16r00E6 " LATIN SMALL LETTER AE " 
+       "16r00E7"    16r00E7 " LATIN SMALL LETTER C WITH CEDILLA " 
+       "16r00E8"    16r00E8 " LATIN SMALL LETTER E WITH GRAVE " 
+       "16r00E9"    16r00E9 " LATIN SMALL LETTER E WITH ACUTE " 
+       "16r00EA"    16r00EA " LATIN SMALL LETTER E WITH CIRCUMFLEX " 
+       "16r00EB"    16r00EB " LATIN SMALL LETTER E WITH DIAERESIS " 
+       "16r00EC"    16r00EC " LATIN SMALL LETTER I WITH GRAVE " 
+       "16r00ED"    16r00ED " LATIN SMALL LETTER I WITH ACUTE " 
+       "16r00EE"    16r00EE " LATIN SMALL LETTER I WITH CIRCUMFLEX " 
+       "16r00EF"    16r00EF " LATIN SMALL LETTER I WITH DIAERESIS " 
+       "16r00F0"    16r0175 " LATIN SMALL LETTER W WITH CIRCUMFLEX " 
+       "16r00F1"    16r00F1 " LATIN SMALL LETTER N WITH TILDE " 
+       "16r00F2"    16r00F2 " LATIN SMALL LETTER O WITH GRAVE " 
+       "16r00F3"    16r00F3 " LATIN SMALL LETTER O WITH ACUTE " 
+       "16r00F4"    16r00F4 " LATIN SMALL LETTER O WITH CIRCUMFLEX " 
+       "16r00F5"    16r00F5 " LATIN SMALL LETTER O WITH TILDE " 
+       "16r00F6"    16r00F6 " LATIN SMALL LETTER O WITH DIAERESIS " 
+       "16r00F7"    16r1E6B " LATIN SMALL LETTER T WITH DOT ABOVE " 
+       "16r00F8"    16r00F8 " LATIN SMALL LETTER O WITH STROKE " 
+       "16r00F9"    16r00F9 " LATIN SMALL LETTER U WITH GRAVE " 
+       "16r00FA"    16r00FA " LATIN SMALL LETTER U WITH ACUTE " 
+       "16r00FB"    16r00FB " LATIN SMALL LETTER U WITH CIRCUMFLEX " 
+       "16r00FC"    16r00FC " LATIN SMALL LETTER U WITH DIAERESIS " 
+       "16r00FD"    16r00FD " LATIN SMALL LETTER Y WITH ACUTE " 
+       "16r00FE"    16r0177 " LATIN SMALL LETTER Y WITH CIRCUMFLEX " 
+       "16r00FF"    16r00FF " LATIN SMALL LETTER Y WITH DIAERESIS " 
+       ) at:(code - 16rA0).
+!
+
+encode:unicodeArg
+    "Automagically generated by generateCode - do not modify.
+     Encode from unicode into my encoding."
+
+    |unicode "{ Class: SmallInteger }"|
+
+    unicode := unicodeArg.
+    unicode <= 16rA0 ifTrue:[ ^ unicode ].
+    unicode > 16r1EF3 ifTrue:[
+	^ self encodingError.
+    ].
+    unicode <= 16r178 ifTrue:[
+	unicode <= 16r121 ifTrue:[
+	    unicode <= 16r109 ifTrue:[
+		(#[
+		   "16r00A1"    0 " invalid " 
+		   "16r00A2"    0 " invalid " 
+		   "16r00A3"    1 " POUND SIGN " 
+		   "16r00A4"    0 " invalid " 
+		   "16r00A5"    0 " invalid " 
+		   "16r00A6"    0 " invalid " 
+		   "16r00A7"    1 " SECTION SIGN " 
+		   "16r00A8"    0 " invalid " 
+		   "16r00A9"    1 " COPYRIGHT SIGN " 
+		   "16r00AA"    0 " invalid " 
+		   "16r00AB"    0 " invalid " 
+		   "16r00AC"    0 " invalid " 
+		   "16r00AD"    1 " SOFT HYPHEN " 
+		   "16r00AE"    1 " REGISTERED SIGN " 
+		   "16r00AF"    0 " invalid " 
+		   "16r00B0"    0 " invalid " 
+		   "16r00B1"    0 " invalid " 
+		   "16r00B2"    0 " invalid " 
+		   "16r00B3"    0 " invalid " 
+		   "16r00B4"    0 " invalid " 
+		   "16r00B5"    0 " invalid " 
+		   "16r00B6"    1 " PILCROW SIGN " 
+		   "16r00B7"    0 " invalid " 
+		   "16r00B8"    0 " invalid " 
+		   "16r00B9"    0 " invalid " 
+		   "16r00BA"    0 " invalid " 
+		   "16r00BB"    0 " invalid " 
+		   "16r00BC"    0 " invalid " 
+		   "16r00BD"    0 " invalid " 
+		   "16r00BE"    0 " invalid " 
+		   "16r00BF"    0 " invalid " 
+		   "16r00C0"    1 " LATIN CAPITAL LETTER A WITH GRAVE " 
+		   "16r00C1"    1 " LATIN CAPITAL LETTER A WITH ACUTE " 
+		   "16r00C2"    1 " LATIN CAPITAL LETTER A WITH CIRCUMFLEX " 
+		   "16r00C3"    1 " LATIN CAPITAL LETTER A WITH TILDE " 
+		   "16r00C4"    1 " LATIN CAPITAL LETTER A WITH DIAERESIS " 
+		   "16r00C5"    1 " LATIN CAPITAL LETTER A WITH RING ABOVE " 
+		   "16r00C6"    1 " LATIN CAPITAL LETTER AE " 
+		   "16r00C7"    1 " LATIN CAPITAL LETTER C WITH CEDILLA " 
+		   "16r00C8"    1 " LATIN CAPITAL LETTER E WITH GRAVE " 
+		   "16r00C9"    1 " LATIN CAPITAL LETTER E WITH ACUTE " 
+		   "16r00CA"    1 " LATIN CAPITAL LETTER E WITH CIRCUMFLEX " 
+		   "16r00CB"    1 " LATIN CAPITAL LETTER E WITH DIAERESIS " 
+		   "16r00CC"    1 " LATIN CAPITAL LETTER I WITH GRAVE " 
+		   "16r00CD"    1 " LATIN CAPITAL LETTER I WITH ACUTE " 
+		   "16r00CE"    1 " LATIN CAPITAL LETTER I WITH CIRCUMFLEX " 
+		   "16r00CF"    1 " LATIN CAPITAL LETTER I WITH DIAERESIS " 
+		   "16r00D0"    0 " invalid " 
+		   "16r00D1"    1 " LATIN CAPITAL LETTER N WITH TILDE " 
+		   "16r00D2"    1 " LATIN CAPITAL LETTER O WITH GRAVE " 
+		   "16r00D3"    1 " LATIN CAPITAL LETTER O WITH ACUTE " 
+		   "16r00D4"    1 " LATIN CAPITAL LETTER O WITH CIRCUMFLEX " 
+		   "16r00D5"    1 " LATIN CAPITAL LETTER O WITH TILDE " 
+		   "16r00D6"    1 " LATIN CAPITAL LETTER O WITH DIAERESIS " 
+		   "16r00D7"    0 " invalid " 
+		   "16r00D8"    1 " LATIN CAPITAL LETTER O WITH STROKE " 
+		   "16r00D9"    1 " LATIN CAPITAL LETTER U WITH GRAVE " 
+		   "16r00DA"    1 " LATIN CAPITAL LETTER U WITH ACUTE " 
+		   "16r00DB"    1 " LATIN CAPITAL LETTER U WITH CIRCUMFLEX " 
+		   "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 " 
+		   "16r00E0"    1 " LATIN SMALL LETTER A WITH GRAVE " 
+		   "16r00E1"    1 " LATIN SMALL LETTER A WITH ACUTE " 
+		   "16r00E2"    1 " LATIN SMALL LETTER A WITH CIRCUMFLEX " 
+		   "16r00E3"    1 " LATIN SMALL LETTER A WITH TILDE " 
+		   "16r00E4"    1 " LATIN SMALL LETTER A WITH DIAERESIS " 
+		   "16r00E5"    1 " LATIN SMALL LETTER A WITH RING ABOVE " 
+		   "16r00E6"    1 " LATIN SMALL LETTER AE " 
+		   "16r00E7"    1 " LATIN SMALL LETTER C WITH CEDILLA " 
+		   "16r00E8"    1 " LATIN SMALL LETTER E WITH GRAVE " 
+		   "16r00E9"    1 " LATIN SMALL LETTER E WITH ACUTE " 
+		   "16r00EA"    1 " LATIN SMALL LETTER E WITH CIRCUMFLEX " 
+		   "16r00EB"    1 " LATIN SMALL LETTER E WITH DIAERESIS " 
+		   "16r00EC"    1 " LATIN SMALL LETTER I WITH GRAVE " 
+		   "16r00ED"    1 " LATIN SMALL LETTER I WITH ACUTE " 
+		   "16r00EE"    1 " LATIN SMALL LETTER I WITH CIRCUMFLEX " 
+		   "16r00EF"    1 " LATIN SMALL LETTER I WITH DIAERESIS " 
+		   "16r00F0"    0 " invalid " 
+		   "16r00F1"    1 " LATIN SMALL LETTER N WITH TILDE " 
+		   "16r00F2"    1 " LATIN SMALL LETTER O WITH GRAVE " 
+		   "16r00F3"    1 " LATIN SMALL LETTER O WITH ACUTE " 
+		   "16r00F4"    1 " LATIN SMALL LETTER O WITH CIRCUMFLEX " 
+		   "16r00F5"    1 " LATIN SMALL LETTER O WITH TILDE " 
+		   "16r00F6"    1 " LATIN SMALL LETTER O WITH DIAERESIS " 
+		   "16r00F7"    0 " invalid " 
+		   "16r00F8"    1 " LATIN SMALL LETTER O WITH STROKE " 
+		   "16r00F9"    1 " LATIN SMALL LETTER U WITH GRAVE " 
+		   "16r00FA"    1 " LATIN SMALL LETTER U WITH ACUTE " 
+		   "16r00FB"    1 " LATIN SMALL LETTER U WITH CIRCUMFLEX " 
+		   "16r00FC"    1 " LATIN SMALL LETTER U WITH DIAERESIS " 
+		   "16r00FD"    1 " LATIN SMALL LETTER Y WITH ACUTE " 
+		   "16r00FE"    0 " invalid " 
+		   "16r00FF"    1 " LATIN SMALL LETTER Y WITH DIAERESIS " 
+		   "16r0100"    0 " invalid " 
+		   "16r0101"    0 " invalid " 
+		   "16r0102"    0 " invalid " 
+		   "16r0103"    0 " invalid " 
+		   "16r0104"    0 " invalid " 
+		   "16r0105"    0 " invalid " 
+		   "16r0106"    0 " invalid " 
+		   "16r0107"    0 " invalid " 
+		   "16r0108"    0 " invalid " 
+		   "16r0109"    0 " invalid " 
+		] at:(unicode - 160)) ~~ 0 ifTrue:[^ unicode].
+		^ self encodingError.
+	    ].
+	    unicode <= 16r10B ifTrue:[
+		^ #[
+		   "16r010A"    16rA4 " LATIN CAPITAL LETTER C WITH DOT ABOVE " 
+		   "16r010B"    16rA5 " LATIN SMALL LETTER C WITH DOT ABOVE " 
+		   ] at:(unicode - 16r109).
+	    ].
+	    unicode <= 16r11F ifTrue:[
+		^ self encodingError.
+	    ].
+	    ^ #[
+	       "16r0120"    16rB2 " LATIN CAPITAL LETTER G WITH DOT ABOVE " 
+	       "16r0121"    16rB3 " LATIN SMALL LETTER G WITH DOT ABOVE " 
+	       ] at:(unicode - 16r11F).
+	].
+	unicode <= 16r173 ifTrue:[
+	    ^ self encodingError.
+	].
+	^ #[
+	   "16r0174"    16rD0 " LATIN CAPITAL LETTER W WITH CIRCUMFLEX " 
+	   "16r0175"    16rF0 " LATIN SMALL LETTER W WITH CIRCUMFLEX " 
+	   "16r0176"    16rDE " LATIN CAPITAL LETTER Y WITH CIRCUMFLEX " 
+	   "16r0177"    16rFE " LATIN SMALL LETTER Y WITH CIRCUMFLEX " 
+	   "16r0178"    16rAF " LATIN CAPITAL LETTER Y WITH DIAERESIS " 
+	   ] at:(unicode - 16r173).
+    ].
+    unicode <= 16r1E01 ifTrue:[
+	^ self encodingError.
+    ].
+    unicode <= 16r1E85 ifTrue:[
+	[
+	    |t|
+	    t := #[
+	       "16r1E02"    16rA1 " LATIN CAPITAL LETTER B WITH DOT ABOVE " 
+	       "16r1E03"    16rA2 " LATIN SMALL LETTER B WITH DOT ABOVE " 
+	       "16r1E04"    16r00 " invalid " 
+	       "16r1E05"    16r00 " invalid " 
+	       "16r1E06"    16r00 " invalid " 
+	       "16r1E07"    16r00 " invalid " 
+	       "16r1E08"    16r00 " invalid " 
+	       "16r1E09"    16r00 " invalid " 
+	       "16r1E0A"    16rA6 " LATIN CAPITAL LETTER D WITH DOT ABOVE " 
+	       "16r1E0B"    16rAB " LATIN SMALL LETTER D WITH DOT ABOVE " 
+	       "16r1E0C"    16r00 " invalid " 
+	       "16r1E0D"    16r00 " invalid " 
+	       "16r1E0E"    16r00 " invalid " 
+	       "16r1E0F"    16r00 " invalid " 
+	       "16r1E10"    16r00 " invalid " 
+	       "16r1E11"    16r00 " invalid " 
+	       "16r1E12"    16r00 " invalid " 
+	       "16r1E13"    16r00 " invalid " 
+	       "16r1E14"    16r00 " invalid " 
+	       "16r1E15"    16r00 " invalid " 
+	       "16r1E16"    16r00 " invalid " 
+	       "16r1E17"    16r00 " invalid " 
+	       "16r1E18"    16r00 " invalid " 
+	       "16r1E19"    16r00 " invalid " 
+	       "16r1E1A"    16r00 " invalid " 
+	       "16r1E1B"    16r00 " invalid " 
+	       "16r1E1C"    16r00 " invalid " 
+	       "16r1E1D"    16r00 " invalid " 
+	       "16r1E1E"    16rB0 " LATIN CAPITAL LETTER F WITH DOT ABOVE " 
+	       "16r1E1F"    16rB1 " LATIN SMALL LETTER F WITH DOT ABOVE " 
+	       "16r1E20"    16r00 " invalid " 
+	       "16r1E21"    16r00 " invalid " 
+	       "16r1E22"    16r00 " invalid " 
+	       "16r1E23"    16r00 " invalid " 
+	       "16r1E24"    16r00 " invalid " 
+	       "16r1E25"    16r00 " invalid " 
+	       "16r1E26"    16r00 " invalid " 
+	       "16r1E27"    16r00 " invalid " 
+	       "16r1E28"    16r00 " invalid " 
+	       "16r1E29"    16r00 " invalid " 
+	       "16r1E2A"    16r00 " invalid " 
+	       "16r1E2B"    16r00 " invalid " 
+	       "16r1E2C"    16r00 " invalid " 
+	       "16r1E2D"    16r00 " invalid " 
+	       "16r1E2E"    16r00 " invalid " 
+	       "16r1E2F"    16r00 " invalid " 
+	       "16r1E30"    16r00 " invalid " 
+	       "16r1E31"    16r00 " invalid " 
+	       "16r1E32"    16r00 " invalid " 
+	       "16r1E33"    16r00 " invalid " 
+	       "16r1E34"    16r00 " invalid " 
+	       "16r1E35"    16r00 " invalid " 
+	       "16r1E36"    16r00 " invalid " 
+	       "16r1E37"    16r00 " invalid " 
+	       "16r1E38"    16r00 " invalid " 
+	       "16r1E39"    16r00 " invalid " 
+	       "16r1E3A"    16r00 " invalid " 
+	       "16r1E3B"    16r00 " invalid " 
+	       "16r1E3C"    16r00 " invalid " 
+	       "16r1E3D"    16r00 " invalid " 
+	       "16r1E3E"    16r00 " invalid " 
+	       "16r1E3F"    16r00 " invalid " 
+	       "16r1E40"    16rB4 " LATIN CAPITAL LETTER M WITH DOT ABOVE " 
+	       "16r1E41"    16rB5 " LATIN SMALL LETTER M WITH DOT ABOVE " 
+	       "16r1E42"    16r00 " invalid " 
+	       "16r1E43"    16r00 " invalid " 
+	       "16r1E44"    16r00 " invalid " 
+	       "16r1E45"    16r00 " invalid " 
+	       "16r1E46"    16r00 " invalid " 
+	       "16r1E47"    16r00 " invalid " 
+	       "16r1E48"    16r00 " invalid " 
+	       "16r1E49"    16r00 " invalid " 
+	       "16r1E4A"    16r00 " invalid " 
+	       "16r1E4B"    16r00 " invalid " 
+	       "16r1E4C"    16r00 " invalid " 
+	       "16r1E4D"    16r00 " invalid " 
+	       "16r1E4E"    16r00 " invalid " 
+	       "16r1E4F"    16r00 " invalid " 
+	       "16r1E50"    16r00 " invalid " 
+	       "16r1E51"    16r00 " invalid " 
+	       "16r1E52"    16r00 " invalid " 
+	       "16r1E53"    16r00 " invalid " 
+	       "16r1E54"    16r00 " invalid " 
+	       "16r1E55"    16r00 " invalid " 
+	       "16r1E56"    16rB7 " LATIN CAPITAL LETTER P WITH DOT ABOVE " 
+	       "16r1E57"    16rB9 " LATIN SMALL LETTER P WITH DOT ABOVE " 
+	       "16r1E58"    16r00 " invalid " 
+	       "16r1E59"    16r00 " invalid " 
+	       "16r1E5A"    16r00 " invalid " 
+	       "16r1E5B"    16r00 " invalid " 
+	       "16r1E5C"    16r00 " invalid " 
+	       "16r1E5D"    16r00 " invalid " 
+	       "16r1E5E"    16r00 " invalid " 
+	       "16r1E5F"    16r00 " invalid " 
+	       "16r1E60"    16rBB " LATIN CAPITAL LETTER S WITH DOT ABOVE " 
+	       "16r1E61"    16rBF " LATIN SMALL LETTER S WITH DOT ABOVE " 
+	       "16r1E62"    16r00 " invalid " 
+	       "16r1E63"    16r00 " invalid " 
+	       "16r1E64"    16r00 " invalid " 
+	       "16r1E65"    16r00 " invalid " 
+	       "16r1E66"    16r00 " invalid " 
+	       "16r1E67"    16r00 " invalid " 
+	       "16r1E68"    16r00 " invalid " 
+	       "16r1E69"    16r00 " invalid " 
+	       "16r1E6A"    16rD7 " LATIN CAPITAL LETTER T WITH DOT ABOVE " 
+	       "16r1E6B"    16rF7 " LATIN SMALL LETTER T WITH DOT ABOVE " 
+	       "16r1E6C"    16r00 " invalid " 
+	       "16r1E6D"    16r00 " invalid " 
+	       "16r1E6E"    16r00 " invalid " 
+	       "16r1E6F"    16r00 " invalid " 
+	       "16r1E70"    16r00 " invalid " 
+	       "16r1E71"    16r00 " invalid " 
+	       "16r1E72"    16r00 " invalid " 
+	       "16r1E73"    16r00 " invalid " 
+	       "16r1E74"    16r00 " invalid " 
+	       "16r1E75"    16r00 " invalid " 
+	       "16r1E76"    16r00 " invalid " 
+	       "16r1E77"    16r00 " invalid " 
+	       "16r1E78"    16r00 " invalid " 
+	       "16r1E79"    16r00 " invalid " 
+	       "16r1E7A"    16r00 " invalid " 
+	       "16r1E7B"    16r00 " invalid " 
+	       "16r1E7C"    16r00 " invalid " 
+	       "16r1E7D"    16r00 " invalid " 
+	       "16r1E7E"    16r00 " invalid " 
+	       "16r1E7F"    16r00 " invalid " 
+	       "16r1E80"    16rA8 " LATIN CAPITAL LETTER W WITH GRAVE " 
+	       "16r1E81"    16rB8 " LATIN SMALL LETTER W WITH GRAVE " 
+	       "16r1E82"    16rAA " LATIN CAPITAL LETTER W WITH ACUTE " 
+	       "16r1E83"    16rBA " LATIN SMALL LETTER W WITH ACUTE " 
+	       "16r1E84"    16rBD " LATIN CAPITAL LETTER W WITH DIAERESIS " 
+	       "16r1E85"    16rBE " LATIN SMALL LETTER W WITH DIAERESIS " 
+	       ] at:(unicode - 16r1E01).
+	    t == 0 ifFalse:[^ t].
+	    ^ self encodingError
+	] value.
+    ].
+    unicode <= 16r1EF1 ifTrue:[
+	^ self encodingError.
+    ].
+    ^ #[
+       "16r1EF2"    16rAC " LATIN CAPITAL LETTER Y WITH GRAVE " 
+       "16r1EF3"    16rBC " LATIN SMALL LETTER Y WITH GRAVE " 
+       ] at:(unicode - 16r1EF1).
+! !
+
+!ISO8859_14 class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_14.st,v 1.1 2004-03-05 17:29:55 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Encoder_ISO8859_16.st	Fri Mar 05 18:30:49 2004 +0100
@@ -0,0 +1,696 @@
+"{ Encoding: utf8 }"
+
+"{ Package: 'stx:libbasic' }"
+
+"{ NameSpace: CharacterEncoderImplementations }"
+
+SingleByteEncoder subclass:#ISO8859_16
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Collections-Text-Encodings'
+!
+
+
+!ISO8859_16 class methodsFor:'mapping'!
+
+mapFileURL1_relativePathName
+    ^ 'ISO8859/8859-16.TXT'
+!
+
+mapping
+"
+# From: http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-16.TXT
+
+#
+#       Name:             ISO/IEC 8859-16:2001 to Unicode
+#       Unicode version:  3.0
+#       Table version:    1.0
+#       Table format:     Format A
+#       Date:             2001 July 26
+#       Authors:          Markus Kuhn <mkuhn@acm.org>
+#
+#       Copyright (c) 1999-2001 Unicode, Inc.  All Rights reserved.
+#
+#       This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
+#       No claims are made as to fitness for any particular purpose.  No
+#       warranties of any kind are expressed or implied.  The recipient
+#       agrees to determine applicability of information provided.  If this
+#       file has been provided on optical media by Unicode, Inc., the sole
+#       remedy for any claim will be exchange of defective media within 90
+#       days of receipt.
+#
+#       Unicode, Inc. hereby grants the right to freely use the information
+#       supplied in this file in the creation of products supporting the
+#       Unicode Standard, and to make copies of this file in any form for
+#       internal or external distribution as long as this notice remains
+#       attached.
+#
+#       General notes:
+#
+#       This table contains the data the Unicode Consortium has on how
+#       ISO/IEC 8859-16:2001 characters map into Unicode.
+#
+#       Format:  Three tab-separated columns
+#                Column #1 is the ISO/IEC 8859-16 code (in hex as 0xXX)
+#                Column #2 is the Unicode (in hex as 0xXXXX)
+#                Column #3 the Unicode name (follows a comment sign, '#')
+#
+#       The entries are in ISO/IEC 8859-16 order.
+#
+#       Updated versions of this file may be found in:
+#               <ftp://ftp.unicode.org/Public/MAPPINGS/>
+#
+#       Any comments or problems, contact <errata@unicode.org>
+#       Please note that <errata@unicode.org> is an archival address;
+#       notices will be checked, but do not expect an immediate response.
+#
+0x00    0x0000  #       NULL
+0x01    0x0001  #       START OF HEADING
+0x02    0x0002  #       START OF TEXT
+0x03    0x0003  #       END OF TEXT
+0x04    0x0004  #       END OF TRANSMISSION
+0x05    0x0005  #       ENQUIRY
+0x06    0x0006  #       ACKNOWLEDGE
+0x07    0x0007  #       BELL
+0x08    0x0008  #       BACKSPACE
+0x09    0x0009  #       HORIZONTAL TABULATION
+0x0A    0x000A  #       LINE FEED
+0x0B    0x000B  #       VERTICAL TABULATION
+0x0C    0x000C  #       FORM FEED
+0x0D    0x000D  #       CARRIAGE RETURN
+0x0E    0x000E  #       SHIFT OUT
+0x0F    0x000F  #       SHIFT IN
+0x10    0x0010  #       DATA LINK ESCAPE
+0x11    0x0011  #       DEVICE CONTROL ONE
+0x12    0x0012  #       DEVICE CONTROL TWO
+0x13    0x0013  #       DEVICE CONTROL THREE
+0x14    0x0014  #       DEVICE CONTROL FOUR
+0x15    0x0015  #       NEGATIVE ACKNOWLEDGE
+0x16    0x0016  #       SYNCHRONOUS IDLE
+0x17    0x0017  #       END OF TRANSMISSION BLOCK
+0x18    0x0018  #       CANCEL
+0x19    0x0019  #       END OF MEDIUM
+0x1A    0x001A  #       SUBSTITUTE
+0x1B    0x001B  #       ESCAPE
+0x1C    0x001C  #       FILE SEPARATOR
+0x1D    0x001D  #       GROUP SEPARATOR
+0x1E    0x001E  #       RECORD SEPARATOR
+0x1F    0x001F  #       UNIT SEPARATOR
+0x20    0x0020  #       SPACE
+0x21    0x0021  #       EXCLAMATION MARK
+0x22    0x0022  #       QUOTATION MARK
+0x23    0x0023  #       NUMBER SIGN
+0x24    0x0024  #       DOLLAR SIGN
+0x25    0x0025  #       PERCENT SIGN
+0x26    0x0026  #       AMPERSAND
+0x27    0x0027  #       APOSTROPHE
+0x28    0x0028  #       LEFT PARENTHESIS
+0x29    0x0029  #       RIGHT PARENTHESIS
+0x2A    0x002A  #       ASTERISK
+0x2B    0x002B  #       PLUS SIGN
+0x2C    0x002C  #       COMMA
+0x2D    0x002D  #       HYPHEN-MINUS
+0x2E    0x002E  #       FULL STOP
+0x2F    0x002F  #       SOLIDUS
+0x30    0x0030  #       DIGIT ZERO
+0x31    0x0031  #       DIGIT ONE
+0x32    0x0032  #       DIGIT TWO
+0x33    0x0033  #       DIGIT THREE
+0x34    0x0034  #       DIGIT FOUR
+0x35    0x0035  #       DIGIT FIVE
+0x36    0x0036  #       DIGIT SIX
+0x37    0x0037  #       DIGIT SEVEN
+0x38    0x0038  #       DIGIT EIGHT
+0x39    0x0039  #       DIGIT NINE
+0x3A    0x003A  #       COLON
+0x3B    0x003B  #       SEMICOLON
+0x3C    0x003C  #       LESS-THAN SIGN
+0x3D    0x003D  #       EQUALS SIGN
+0x3E    0x003E  #       GREATER-THAN SIGN
+0x3F    0x003F  #       QUESTION MARK
+0x40    0x0040  #       COMMERCIAL AT
+0x41    0x0041  #       LATIN CAPITAL LETTER A
+0x42    0x0042  #       LATIN CAPITAL LETTER B
+0x43    0x0043  #       LATIN CAPITAL LETTER C
+0x44    0x0044  #       LATIN CAPITAL LETTER D
+0x45    0x0045  #       LATIN CAPITAL LETTER E
+0x46    0x0046  #       LATIN CAPITAL LETTER F
+0x47    0x0047  #       LATIN CAPITAL LETTER G
+0x48    0x0048  #       LATIN CAPITAL LETTER H
+0x49    0x0049  #       LATIN CAPITAL LETTER I
+0x4A    0x004A  #       LATIN CAPITAL LETTER J
+0x4B    0x004B  #       LATIN CAPITAL LETTER K
+0x4C    0x004C  #       LATIN CAPITAL LETTER L
+0x4D    0x004D  #       LATIN CAPITAL LETTER M
+0x4E    0x004E  #       LATIN CAPITAL LETTER N
+0x4F    0x004F  #       LATIN CAPITAL LETTER O
+0x50    0x0050  #       LATIN CAPITAL LETTER P
+0x51    0x0051  #       LATIN CAPITAL LETTER Q
+0x52    0x0052  #       LATIN CAPITAL LETTER R
+0x53    0x0053  #       LATIN CAPITAL LETTER S
+0x54    0x0054  #       LATIN CAPITAL LETTER T
+0x55    0x0055  #       LATIN CAPITAL LETTER U
+0x56    0x0056  #       LATIN CAPITAL LETTER V
+0x57    0x0057  #       LATIN CAPITAL LETTER W
+0x58    0x0058  #       LATIN CAPITAL LETTER X
+0x59    0x0059  #       LATIN CAPITAL LETTER Y
+0x5A    0x005A  #       LATIN CAPITAL LETTER Z
+0x5B    0x005B  #       LEFT SQUARE BRACKET
+0x5C    0x005C  #       REVERSE SOLIDUS
+0x5D    0x005D  #       RIGHT SQUARE BRACKET
+0x5E    0x005E  #       CIRCUMFLEX ACCENT
+0x5F    0x005F  #       LOW LINE
+0x60    0x0060  #       GRAVE ACCENT
+0x61    0x0061  #       LATIN SMALL LETTER A
+0x62    0x0062  #       LATIN SMALL LETTER B
+0x63    0x0063  #       LATIN SMALL LETTER C
+0x64    0x0064  #       LATIN SMALL LETTER D
+0x65    0x0065  #       LATIN SMALL LETTER E
+0x66    0x0066  #       LATIN SMALL LETTER F
+0x67    0x0067  #       LATIN SMALL LETTER G
+0x68    0x0068  #       LATIN SMALL LETTER H
+0x69    0x0069  #       LATIN SMALL LETTER I
+0x6A    0x006A  #       LATIN SMALL LETTER J
+0x6B    0x006B  #       LATIN SMALL LETTER K
+0x6C    0x006C  #       LATIN SMALL LETTER L
+0x6D    0x006D  #       LATIN SMALL LETTER M
+0x6E    0x006E  #       LATIN SMALL LETTER N
+0x6F    0x006F  #       LATIN SMALL LETTER O
+0x70    0x0070  #       LATIN SMALL LETTER P
+0x71    0x0071  #       LATIN SMALL LETTER Q
+0x72    0x0072  #       LATIN SMALL LETTER R
+0x73    0x0073  #       LATIN SMALL LETTER S
+0x74    0x0074  #       LATIN SMALL LETTER T
+0x75    0x0075  #       LATIN SMALL LETTER U
+0x76    0x0076  #       LATIN SMALL LETTER V
+0x77    0x0077  #       LATIN SMALL LETTER W
+0x78    0x0078  #       LATIN SMALL LETTER X
+0x79    0x0079  #       LATIN SMALL LETTER Y
+0x7A    0x007A  #       LATIN SMALL LETTER Z
+0x7B    0x007B  #       LEFT CURLY BRACKET
+0x7C    0x007C  #       VERTICAL LINE
+0x7D    0x007D  #       RIGHT CURLY BRACKET
+0x7E    0x007E  #       TILDE
+0x7F    0x007F  #       DELETE
+0x80    0x0080  #       <control>
+0x81    0x0081  #       <control>
+0x82    0x0082  #       <control>
+0x83    0x0083  #       <control>
+0x84    0x0084  #       <control>
+0x85    0x0085  #       <control>
+0x86    0x0086  #       <control>
+0x87    0x0087  #       <control>
+0x88    0x0088  #       <control>
+0x89    0x0089  #       <control>
+0x8A    0x008A  #       <control>
+0x8B    0x008B  #       <control>
+0x8C    0x008C  #       <control>
+0x8D    0x008D  #       <control>
+0x8E    0x008E  #       <control>
+0x8F    0x008F  #       <control>
+0x90    0x0090  #       <control>
+0x91    0x0091  #       <control>
+0x92    0x0092  #       <control>
+0x93    0x0093  #       <control>
+0x94    0x0094  #       <control>
+0x95    0x0095  #       <control>
+0x96    0x0096  #       <control>
+0x97    0x0097  #       <control>
+0x98    0x0098  #       <control>
+0x99    0x0099  #       <control>
+0x9A    0x009A  #       <control>
+0x9B    0x009B  #       <control>
+0x9C    0x009C  #       <control>
+0x9D    0x009D  #       <control>
+0x9E    0x009E  #       <control>
+0x9F    0x009F  #       <control>
+0xA0    0x00A0  #       NO-BREAK SPACE
+0xA1    0x0104  #       LATIN CAPITAL LETTER A WITH OGONEK
+0xA2    0x0105  #       LATIN SMALL LETTER A WITH OGONEK
+0xA3    0x0141  #       LATIN CAPITAL LETTER L WITH STROKE
+0xA4    0x20AC  #       EURO SIGN
+0xA5    0x201E  #       DOUBLE LOW-9 QUOTATION MARK
+0xA6    0x0160  #       LATIN CAPITAL LETTER S WITH CARON
+0xA7    0x00A7  #       SECTION SIGN
+0xA8    0x0161  #       LATIN SMALL LETTER S WITH CARON
+0xA9    0x00A9  #       COPYRIGHT SIGN
+0xAA    0x0218  #       LATIN CAPITAL LETTER S WITH COMMA BELOW
+0xAB    0x00AB  #       LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xAC    0x0179  #       LATIN CAPITAL LETTER Z WITH ACUTE
+0xAD    0x00AD  #       SOFT HYPHEN
+0xAE    0x017A  #       LATIN SMALL LETTER Z WITH ACUTE
+0xAF    0x017B  #       LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0xB0    0x00B0  #       DEGREE SIGN
+0xB1    0x00B1  #       PLUS-MINUS SIGN
+0xB2    0x010C  #       LATIN CAPITAL LETTER C WITH CARON
+0xB3    0x0142  #       LATIN SMALL LETTER L WITH STROKE
+0xB4    0x017D  #       LATIN CAPITAL LETTER Z WITH CARON
+0xB5    0x201D  #       RIGHT DOUBLE QUOTATION MARK
+0xB6    0x00B6  #       PILCROW SIGN
+0xB7    0x00B7  #       MIDDLE DOT
+0xB8    0x017E  #       LATIN SMALL LETTER Z WITH CARON
+0xB9    0x010D  #       LATIN SMALL LETTER C WITH CARON
+0xBA    0x0219  #       LATIN SMALL LETTER S WITH COMMA BELOW
+0xBB    0x00BB  #       RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xBC    0x0152  #       LATIN CAPITAL LIGATURE OE
+0xBD    0x0153  #       LATIN SMALL LIGATURE OE
+0xBE    0x0178  #       LATIN CAPITAL LETTER Y WITH DIAERESIS
+0xBF    0x017C  #       LATIN SMALL LETTER Z WITH DOT ABOVE
+0xC0    0x00C0  #       LATIN CAPITAL LETTER A WITH GRAVE
+0xC1    0x00C1  #       LATIN CAPITAL LETTER A WITH ACUTE
+0xC2    0x00C2  #       LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xC3    0x0102  #       LATIN CAPITAL LETTER A WITH BREVE
+0xC4    0x00C4  #       LATIN CAPITAL LETTER A WITH DIAERESIS
+0xC5    0x0106  #       LATIN CAPITAL LETTER C WITH ACUTE
+0xC6    0x00C6  #       LATIN CAPITAL LETTER AE
+0xC7    0x00C7  #       LATIN CAPITAL LETTER C WITH CEDILLA
+0xC8    0x00C8  #       LATIN CAPITAL LETTER E WITH GRAVE
+0xC9    0x00C9  #       LATIN CAPITAL LETTER E WITH ACUTE
+0xCA    0x00CA  #       LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xCB    0x00CB  #       LATIN CAPITAL LETTER E WITH DIAERESIS
+0xCC    0x00CC  #       LATIN CAPITAL LETTER I WITH GRAVE
+0xCD    0x00CD  #       LATIN CAPITAL LETTER I WITH ACUTE
+0xCE    0x00CE  #       LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xCF    0x00CF  #       LATIN CAPITAL LETTER I WITH DIAERESIS
+0xD0    0x0110  #       LATIN CAPITAL LETTER D WITH STROKE
+0xD1    0x0143  #       LATIN CAPITAL LETTER N WITH ACUTE
+0xD2    0x00D2  #       LATIN CAPITAL LETTER O WITH GRAVE
+0xD3    0x00D3  #       LATIN CAPITAL LETTER O WITH ACUTE
+0xD4    0x00D4  #       LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xD5    0x0150  #       LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0xD6    0x00D6  #       LATIN CAPITAL LETTER O WITH DIAERESIS
+0xD7    0x015A  #       LATIN CAPITAL LETTER S WITH ACUTE
+0xD8    0x0170  #       LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0xD9    0x00D9  #       LATIN CAPITAL LETTER U WITH GRAVE
+0xDA    0x00DA  #       LATIN CAPITAL LETTER U WITH ACUTE
+0xDB    0x00DB  #       LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xDC    0x00DC  #       LATIN CAPITAL LETTER U WITH DIAERESIS
+0xDD    0x0118  #       LATIN CAPITAL LETTER E WITH OGONEK
+0xDE    0x021A  #       LATIN CAPITAL LETTER T WITH COMMA BELOW
+0xDF    0x00DF  #       LATIN SMALL LETTER SHARP S
+0xE0    0x00E0  #       LATIN SMALL LETTER A WITH GRAVE
+0xE1    0x00E1  #       LATIN SMALL LETTER A WITH ACUTE
+0xE2    0x00E2  #       LATIN SMALL LETTER A WITH CIRCUMFLEX
+0xE3    0x0103  #       LATIN SMALL LETTER A WITH BREVE
+0xE4    0x00E4  #       LATIN SMALL LETTER A WITH DIAERESIS
+0xE5    0x0107  #       LATIN SMALL LETTER C WITH ACUTE
+0xE6    0x00E6  #       LATIN SMALL LETTER AE
+0xE7    0x00E7  #       LATIN SMALL LETTER C WITH CEDILLA
+0xE8    0x00E8  #       LATIN SMALL LETTER E WITH GRAVE
+0xE9    0x00E9  #       LATIN SMALL LETTER E WITH ACUTE
+0xEA    0x00EA  #       LATIN SMALL LETTER E WITH CIRCUMFLEX
+0xEB    0x00EB  #       LATIN SMALL LETTER E WITH DIAERESIS
+0xEC    0x00EC  #       LATIN SMALL LETTER I WITH GRAVE
+0xED    0x00ED  #       LATIN SMALL LETTER I WITH ACUTE
+0xEE    0x00EE  #       LATIN SMALL LETTER I WITH CIRCUMFLEX
+0xEF    0x00EF  #       LATIN SMALL LETTER I WITH DIAERESIS
+0xF0    0x0111  #       LATIN SMALL LETTER D WITH STROKE
+0xF1    0x0144  #       LATIN SMALL LETTER N WITH ACUTE
+0xF2    0x00F2  #       LATIN SMALL LETTER O WITH GRAVE
+0xF3    0x00F3  #       LATIN SMALL LETTER O WITH ACUTE
+0xF4    0x00F4  #       LATIN SMALL LETTER O WITH CIRCUMFLEX
+0xF5    0x0151  #       LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0xF6    0x00F6  #       LATIN SMALL LETTER O WITH DIAERESIS
+0xF7    0x015B  #       LATIN SMALL LETTER S WITH ACUTE
+0xF8    0x0171  #       LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0xF9    0x00F9  #       LATIN SMALL LETTER U WITH GRAVE
+0xFA    0x00FA  #       LATIN SMALL LETTER U WITH ACUTE
+0xFB    0x00FB  #       LATIN SMALL LETTER U WITH CIRCUMFLEX
+0xFC    0x00FC  #       LATIN SMALL LETTER U WITH DIAERESIS
+0xFD    0x0119  #       LATIN SMALL LETTER E WITH OGONEK
+0xFE    0x021B  #       LATIN SMALL LETTER T WITH COMMA BELOW
+0xFF    0x00FF  #       LATIN SMALL LETTER Y WITH DIAERESIS
+
+"
+! !
+
+!ISO8859_16 class methodsFor:'queries'!
+
+namesOfEncoding
+    ^ #( 'iso8859-16' 'iso-8859-16' 'latin10' 'latin-10' )
+! !
+
+!ISO8859_16 methodsFor:'encoding & decoding'!
+
+decode:codeArg
+    "Automagically generated by generateCode - do not modify.
+     Decode from my encoding into unicode."
+
+    |code "{ Class: SmallInteger }"|
+
+    code := codeArg.
+    code <= 16rA0 ifTrue:[ ^ code ].
+    code > 16rFF ifTrue:[
+	^ self decodingError.
+    ].
+    ^ #(
+       "16r00A1"    16r0104 " LATIN CAPITAL LETTER A WITH OGONEK " 
+       "16r00A2"    16r0105 " LATIN SMALL LETTER A WITH OGONEK " 
+       "16r00A3"    16r0141 " LATIN CAPITAL LETTER L WITH STROKE " 
+       "16r00A4"    16r20AC " EURO SIGN " 
+       "16r00A5"    16r201E " DOUBLE LOW-9 QUOTATION MARK " 
+       "16r00A6"    16r0160 " LATIN CAPITAL LETTER S WITH CARON " 
+       "16r00A7"    16r00A7 " SECTION SIGN " 
+       "16r00A8"    16r0161 " LATIN SMALL LETTER S WITH CARON " 
+       "16r00A9"    16r00A9 " COPYRIGHT SIGN " 
+       "16r00AA"    16r0218 " LATIN CAPITAL LETTER S WITH COMMA BELOW " 
+       "16r00AB"    16r00AB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK " 
+       "16r00AC"    16r0179 " LATIN CAPITAL LETTER Z WITH ACUTE " 
+       "16r00AD"    16r00AD " SOFT HYPHEN " 
+       "16r00AE"    16r017A " LATIN SMALL LETTER Z WITH ACUTE " 
+       "16r00AF"    16r017B " LATIN CAPITAL LETTER Z WITH DOT ABOVE " 
+       "16r00B0"    16r00B0 " DEGREE SIGN " 
+       "16r00B1"    16r00B1 " PLUS-MINUS SIGN " 
+       "16r00B2"    16r010C " LATIN CAPITAL LETTER C WITH CARON " 
+       "16r00B3"    16r0142 " LATIN SMALL LETTER L WITH STROKE " 
+       "16r00B4"    16r017D " LATIN CAPITAL LETTER Z WITH CARON " 
+       "16r00B5"    16r201D " RIGHT DOUBLE QUOTATION MARK " 
+       "16r00B6"    16r00B6 " PILCROW SIGN " 
+       "16r00B7"    16r00B7 " MIDDLE DOT " 
+       "16r00B8"    16r017E " LATIN SMALL LETTER Z WITH CARON " 
+       "16r00B9"    16r010D " LATIN SMALL LETTER C WITH CARON " 
+       "16r00BA"    16r0219 " LATIN SMALL LETTER S WITH COMMA BELOW " 
+       "16r00BB"    16r00BB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK " 
+       "16r00BC"    16r0152 " LATIN CAPITAL LIGATURE OE " 
+       "16r00BD"    16r0153 " LATIN SMALL LIGATURE OE " 
+       "16r00BE"    16r0178 " LATIN CAPITAL LETTER Y WITH DIAERESIS " 
+       "16r00BF"    16r017C " LATIN SMALL LETTER Z WITH DOT ABOVE " 
+       "16r00C0"    16r00C0 " LATIN CAPITAL LETTER A WITH GRAVE " 
+       "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"    16r0106 " LATIN CAPITAL LETTER C WITH ACUTE " 
+       "16r00C6"    16r00C6 " LATIN CAPITAL LETTER AE " 
+       "16r00C7"    16r00C7 " LATIN CAPITAL LETTER C WITH CEDILLA " 
+       "16r00C8"    16r00C8 " LATIN CAPITAL LETTER E WITH GRAVE " 
+       "16r00C9"    16r00C9 " LATIN CAPITAL LETTER E WITH ACUTE " 
+       "16r00CA"    16r00CA " LATIN CAPITAL LETTER E WITH CIRCUMFLEX " 
+       "16r00CB"    16r00CB " LATIN CAPITAL LETTER E WITH DIAERESIS " 
+       "16r00CC"    16r00CC " LATIN CAPITAL LETTER I WITH GRAVE " 
+       "16r00CD"    16r00CD " LATIN CAPITAL LETTER I WITH ACUTE " 
+       "16r00CE"    16r00CE " LATIN CAPITAL LETTER I WITH CIRCUMFLEX " 
+       "16r00CF"    16r00CF " LATIN CAPITAL LETTER I WITH DIAERESIS " 
+       "16r00D0"    16r0110 " LATIN CAPITAL LETTER D WITH STROKE " 
+       "16r00D1"    16r0143 " LATIN CAPITAL LETTER N WITH ACUTE " 
+       "16r00D2"    16r00D2 " LATIN CAPITAL LETTER O WITH GRAVE " 
+       "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"    16r015A " LATIN CAPITAL LETTER S WITH ACUTE " 
+       "16r00D8"    16r0170 " LATIN CAPITAL LETTER U WITH DOUBLE ACUTE " 
+       "16r00D9"    16r00D9 " LATIN CAPITAL LETTER U WITH GRAVE " 
+       "16r00DA"    16r00DA " LATIN CAPITAL LETTER U WITH ACUTE " 
+       "16r00DB"    16r00DB " LATIN CAPITAL LETTER U WITH CIRCUMFLEX " 
+       "16r00DC"    16r00DC " LATIN CAPITAL LETTER U WITH DIAERESIS " 
+       "16r00DD"    16r0118 " LATIN CAPITAL LETTER E WITH OGONEK " 
+       "16r00DE"    16r021A " LATIN CAPITAL LETTER T WITH COMMA BELOW " 
+       "16r00DF"    16r00DF " LATIN SMALL LETTER SHARP S " 
+       "16r00E0"    16r00E0 " LATIN SMALL LETTER A WITH GRAVE " 
+       "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"    16r0107 " LATIN SMALL LETTER C WITH ACUTE " 
+       "16r00E6"    16r00E6 " LATIN SMALL LETTER AE " 
+       "16r00E7"    16r00E7 " LATIN SMALL LETTER C WITH CEDILLA " 
+       "16r00E8"    16r00E8 " LATIN SMALL LETTER E WITH GRAVE " 
+       "16r00E9"    16r00E9 " LATIN SMALL LETTER E WITH ACUTE " 
+       "16r00EA"    16r00EA " LATIN SMALL LETTER E WITH CIRCUMFLEX " 
+       "16r00EB"    16r00EB " LATIN SMALL LETTER E WITH DIAERESIS " 
+       "16r00EC"    16r00EC " LATIN SMALL LETTER I WITH GRAVE " 
+       "16r00ED"    16r00ED " LATIN SMALL LETTER I WITH ACUTE " 
+       "16r00EE"    16r00EE " LATIN SMALL LETTER I WITH CIRCUMFLEX " 
+       "16r00EF"    16r00EF " LATIN SMALL LETTER I WITH DIAERESIS " 
+       "16r00F0"    16r0111 " LATIN SMALL LETTER D WITH STROKE " 
+       "16r00F1"    16r0144 " LATIN SMALL LETTER N WITH ACUTE " 
+       "16r00F2"    16r00F2 " LATIN SMALL LETTER O WITH GRAVE " 
+       "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"    16r015B " LATIN SMALL LETTER S WITH ACUTE " 
+       "16r00F8"    16r0171 " LATIN SMALL LETTER U WITH DOUBLE ACUTE " 
+       "16r00F9"    16r00F9 " LATIN SMALL LETTER U WITH GRAVE " 
+       "16r00FA"    16r00FA " LATIN SMALL LETTER U WITH ACUTE " 
+       "16r00FB"    16r00FB " LATIN SMALL LETTER U WITH CIRCUMFLEX " 
+       "16r00FC"    16r00FC " LATIN SMALL LETTER U WITH DIAERESIS " 
+       "16r00FD"    16r0119 " LATIN SMALL LETTER E WITH OGONEK " 
+       "16r00FE"    16r021B " LATIN SMALL LETTER T WITH COMMA BELOW " 
+       "16r00FF"    16r00FF " LATIN SMALL LETTER Y WITH DIAERESIS " 
+       ) at:(code - 16rA0).
+!
+
+encode:unicodeArg
+    "Automagically generated by generateCode - do not modify.
+     Encode from unicode into my encoding."
+
+    |unicode "{ Class: SmallInteger }"|
+
+    unicode := unicodeArg.
+    unicode <= 16rA0 ifTrue:[ ^ unicode ].
+    unicode > 16r20AC ifTrue:[
+	^ self encodingError.
+    ].
+    unicode <= 16r21B ifTrue:[
+	unicode <= 16r17E ifTrue:[
+	    unicode <= 16r101 ifTrue:[
+		(#[
+		   "16r00A1"    0 " invalid " 
+		   "16r00A2"    0 " invalid " 
+		   "16r00A3"    0 " invalid " 
+		   "16r00A4"    0 " invalid " 
+		   "16r00A5"    0 " invalid " 
+		   "16r00A6"    0 " invalid " 
+		   "16r00A7"    1 " SECTION SIGN " 
+		   "16r00A8"    0 " invalid " 
+		   "16r00A9"    1 " COPYRIGHT SIGN " 
+		   "16r00AA"    0 " invalid " 
+		   "16r00AB"    1 " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK " 
+		   "16r00AC"    0 " invalid " 
+		   "16r00AD"    1 " SOFT HYPHEN " 
+		   "16r00AE"    0 " invalid " 
+		   "16r00AF"    0 " invalid " 
+		   "16r00B0"    1 " DEGREE SIGN " 
+		   "16r00B1"    1 " PLUS-MINUS SIGN " 
+		   "16r00B2"    0 " invalid " 
+		   "16r00B3"    0 " invalid " 
+		   "16r00B4"    0 " invalid " 
+		   "16r00B5"    0 " invalid " 
+		   "16r00B6"    1 " PILCROW SIGN " 
+		   "16r00B7"    1 " MIDDLE DOT " 
+		   "16r00B8"    0 " invalid " 
+		   "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"    1 " LATIN CAPITAL LETTER A WITH GRAVE " 
+		   "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"    1 " LATIN CAPITAL LETTER AE " 
+		   "16r00C7"    1 " LATIN CAPITAL LETTER C WITH CEDILLA " 
+		   "16r00C8"    1 " LATIN CAPITAL LETTER E WITH GRAVE " 
+		   "16r00C9"    1 " LATIN CAPITAL LETTER E WITH ACUTE " 
+		   "16r00CA"    1 " LATIN CAPITAL LETTER E WITH CIRCUMFLEX " 
+		   "16r00CB"    1 " LATIN CAPITAL LETTER E WITH DIAERESIS " 
+		   "16r00CC"    1 " LATIN CAPITAL LETTER I WITH GRAVE " 
+		   "16r00CD"    1 " LATIN CAPITAL LETTER I WITH ACUTE " 
+		   "16r00CE"    1 " LATIN CAPITAL LETTER I WITH CIRCUMFLEX " 
+		   "16r00CF"    1 " LATIN CAPITAL LETTER I WITH DIAERESIS " 
+		   "16r00D0"    0 " invalid " 
+		   "16r00D1"    0 " invalid " 
+		   "16r00D2"    1 " LATIN CAPITAL LETTER O WITH GRAVE " 
+		   "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"    0 " invalid " 
+		   "16r00D8"    0 " invalid " 
+		   "16r00D9"    1 " LATIN CAPITAL LETTER U WITH GRAVE " 
+		   "16r00DA"    1 " LATIN CAPITAL LETTER U WITH ACUTE " 
+		   "16r00DB"    1 " LATIN CAPITAL LETTER U WITH CIRCUMFLEX " 
+		   "16r00DC"    1 " LATIN CAPITAL LETTER U WITH DIAERESIS " 
+		   "16r00DD"    0 " invalid " 
+		   "16r00DE"    0 " invalid " 
+		   "16r00DF"    1 " LATIN SMALL LETTER SHARP S " 
+		   "16r00E0"    1 " LATIN SMALL LETTER A WITH GRAVE " 
+		   "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"    1 " LATIN SMALL LETTER AE " 
+		   "16r00E7"    1 " LATIN SMALL LETTER C WITH CEDILLA " 
+		   "16r00E8"    1 " LATIN SMALL LETTER E WITH GRAVE " 
+		   "16r00E9"    1 " LATIN SMALL LETTER E WITH ACUTE " 
+		   "16r00EA"    1 " LATIN SMALL LETTER E WITH CIRCUMFLEX " 
+		   "16r00EB"    1 " LATIN SMALL LETTER E WITH DIAERESIS " 
+		   "16r00EC"    1 " LATIN SMALL LETTER I WITH GRAVE " 
+		   "16r00ED"    1 " LATIN SMALL LETTER I WITH ACUTE " 
+		   "16r00EE"    1 " LATIN SMALL LETTER I WITH CIRCUMFLEX " 
+		   "16r00EF"    1 " LATIN SMALL LETTER I WITH DIAERESIS " 
+		   "16r00F0"    0 " invalid " 
+		   "16r00F1"    0 " invalid " 
+		   "16r00F2"    1 " LATIN SMALL LETTER O WITH GRAVE " 
+		   "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"    0 " invalid " 
+		   "16r00F8"    0 " invalid " 
+		   "16r00F9"    1 " LATIN SMALL LETTER U WITH GRAVE " 
+		   "16r00FA"    1 " LATIN SMALL LETTER U WITH ACUTE " 
+		   "16r00FB"    1 " LATIN SMALL LETTER U WITH CIRCUMFLEX " 
+		   "16r00FC"    1 " LATIN SMALL LETTER U WITH DIAERESIS " 
+		   "16r00FD"    0 " invalid " 
+		   "16r00FE"    0 " invalid " 
+		   "16r00FF"    1 " LATIN SMALL LETTER Y WITH DIAERESIS " 
+		   "16r0100"    0 " invalid " 
+		   "16r0101"    0 " invalid " 
+		] at:(unicode - 160)) ~~ 0 ifTrue:[^ unicode].
+		^ self encodingError.
+	    ].
+	    unicode <= 16r119 ifTrue:[
+		[
+		    |t|
+		    t := #[
+		       "16r0102"    16rC3 " LATIN CAPITAL LETTER A WITH BREVE " 
+		       "16r0103"    16rE3 " LATIN SMALL LETTER A WITH BREVE " 
+		       "16r0104"    16rA1 " LATIN CAPITAL LETTER A WITH OGONEK " 
+		       "16r0105"    16rA2 " LATIN SMALL LETTER A WITH OGONEK " 
+		       "16r0106"    16rC5 " LATIN CAPITAL LETTER C WITH ACUTE " 
+		       "16r0107"    16rE5 " LATIN SMALL LETTER C WITH ACUTE " 
+		       "16r0108"    16r00 " invalid " 
+		       "16r0109"    16r00 " invalid " 
+		       "16r010A"    16r00 " invalid " 
+		       "16r010B"    16r00 " invalid " 
+		       "16r010C"    16rB2 " LATIN CAPITAL LETTER C WITH CARON " 
+		       "16r010D"    16rB9 " LATIN SMALL LETTER C WITH CARON " 
+		       "16r010E"    16r00 " invalid " 
+		       "16r010F"    16r00 " invalid " 
+		       "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"    16rDD " LATIN CAPITAL LETTER E WITH OGONEK " 
+		       "16r0119"    16rFD " LATIN SMALL LETTER E WITH OGONEK " 
+		       ] at:(unicode - 16r101).
+		    t == 0 ifFalse:[^ t].
+		    ^ self encodingError
+		] value.
+	    ].
+	    unicode <= 16r140 ifTrue:[
+		^ self encodingError.
+	    ].
+	    [
+		|t|
+		t := #[
+		   "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"    16r00 " invalid " 
+		   "16r0148"    16r00 " invalid " 
+		   "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"    16rBC " LATIN CAPITAL LIGATURE OE " 
+		   "16r0153"    16rBD " LATIN SMALL LIGATURE OE " 
+		   "16r0154"    16r00 " invalid " 
+		   "16r0155"    16r00 " invalid " 
+		   "16r0156"    16r00 " invalid " 
+		   "16r0157"    16r00 " invalid " 
+		   "16r0158"    16r00 " invalid " 
+		   "16r0159"    16r00 " invalid " 
+		   "16r015A"    16rD7 " LATIN CAPITAL LETTER S WITH ACUTE " 
+		   "16r015B"    16rF7 " LATIN SMALL LETTER S WITH ACUTE " 
+		   "16r015C"    16r00 " invalid " 
+		   "16r015D"    16r00 " invalid " 
+		   "16r015E"    16r00 " invalid " 
+		   "16r015F"    16r00 " invalid " 
+		   "16r0160"    16rA6 " LATIN CAPITAL LETTER S WITH CARON " 
+		   "16r0161"    16rA8 " 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"    16r00 " invalid " 
+		   "16r016B"    16r00 " invalid " 
+		   "16r016C"    16r00 " invalid " 
+		   "16r016D"    16r00 " invalid " 
+		   "16r016E"    16r00 " invalid " 
+		   "16r016F"    16r00 " invalid " 
+		   "16r0170"    16rD8 " LATIN CAPITAL LETTER U WITH DOUBLE ACUTE " 
+		   "16r0171"    16rF8 " 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"    16rBE " LATIN CAPITAL LETTER Y WITH DIAERESIS " 
+		   "16r0179"    16rAC " LATIN CAPITAL LETTER Z WITH ACUTE " 
+		   "16r017A"    16rAE " 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"    16rB4 " LATIN CAPITAL LETTER Z WITH CARON " 
+		   "16r017E"    16rB8 " LATIN SMALL LETTER Z WITH CARON " 
+		   ] at:(unicode - 16r140).
+		t == 0 ifFalse:[^ t].
+		^ self encodingError
+	    ] value.
+	].
+	unicode <= 16r217 ifTrue:[
+	    ^ self encodingError.
+	].
+	^ #[
+	   "16r0218"    16rAA " LATIN CAPITAL LETTER S WITH COMMA BELOW " 
+	   "16r0219"    16rBA " LATIN SMALL LETTER S WITH COMMA BELOW " 
+	   "16r021A"    16rDE " LATIN CAPITAL LETTER T WITH COMMA BELOW " 
+	   "16r021B"    16rFE " LATIN SMALL LETTER T WITH COMMA BELOW " 
+	   ] at:(unicode - 16r217).
+    ].
+    unicode <= 16r201C ifTrue:[
+	^ self encodingError.
+    ].
+    unicode <= 16r201E ifTrue:[
+	^ #[
+	   "16r201D"    16rB5 " RIGHT DOUBLE QUOTATION MARK " 
+	   "16r201E"    16rA5 " DOUBLE LOW-9 QUOTATION MARK " 
+	   ] at:(unicode - 16r201C).
+    ].
+    unicode <= 16r20AB ifTrue:[
+	^ self encodingError.
+    ].
+    ^  "16r20AC" 16r00A4 " EURO SIGN " 
+! !
+
+!ISO8859_16 class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_16.st,v 1.1 2004-03-05 17:29:35 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Encoder_MAC_Hebrew.st	Fri Mar 05 18:30:49 2004 +0100
@@ -0,0 +1,596 @@
+"{ Encoding: utf8 }"
+
+"{ Package: 'stx:libbasic' }"
+
+"{ NameSpace: CharacterEncoderImplementations }"
+
+SingleByteEncoder subclass:#MAC_Hebrew
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Collections-Text-Encodings'
+!
+
+
+!MAC_Hebrew class methodsFor:'mapping'!
+
+mapFileURL1_relativePathName
+    ^ 'VENDORS/APPLE/HEBREW.TXT'
+!
+
+mapping
+"
+# From: http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/HEBREW.TXT
+
+#=======================================================================
+#   File name:  HEBREW.TXT
+#
+#   Contents:   Map (external version) from Mac OS Hebrew
+#               character set to Unicode 2.1 through Unicode 3.2.
+#
+#   Copyright:  (c) 1995-2002 by Apple Computer, Inc., all rights
+#               reserved.
+#
+#   Contact:    charsets@apple.com
+#
+#   Changes:
+#
+#      b3,c1 2002-Dec-19    Don't require left-right context for digits
+#                                                       0x30-0x39. Change mapping of 0x81 to use
+#                           decomposition. Reverse the mappings of 0xA8,
+#                           0xA9. Update URLs, notes. Matches internal
+#                           utom<b7>.
+#       b02  1999-Sep-22    Update contact e-mail address. Matches
+#                           internal utom<b1>, ufrm<b1>, and Text
+#                           Encoding Converter version 1.5.
+#       n03  1998-Feb-05    Show required Unicode character
+#                           directionality in a different way. Update
+#                           mappings for 0xC0 and 0xDE to use
+#                           transcoding hints; matches internal utom<n6>,
+#                           ufrm<n20>, and Text Encoding Converter
+#                           version 1.3. Rewrite header comments.
+#       n01  1995-Nov-15    First version. Matches internal ufrm<n8>.
+#
+# Standard header:
+# ----------------
+#
+#   Apple, the Apple logo, and Macintosh are trademarks of Apple
+#   Computer, Inc., registered in the United States and other countries.
+#   Unicode is a trademark of Unicode Inc. For the sake of brevity,
+#   throughout this document, 'Macintosh' can be used to refer to
+#   Macintosh computers and 'Unicode' can be used to refer to the
+#   Unicode standard.
+#
+#   Apple makes no warranty or representation, either express or
+#   implied, with respect to these tables, their quality, accuracy, or
+#   fitness for a particular purpose. In no event will Apple be liable
+#   for direct, indirect, special, incidental, or consequential damages 
+#   resulting from any defect or inaccuracy in this document or the
+#   accompanying tables.
+#
+#   These mapping tables and character lists are subject to change.
+#   The latest tables should be available from the following:
+#
+#   <http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/>
+#
+#   For general information about Mac OS encodings and these mapping
+#   tables, see the file 'README.TXT'.
+#
+# Format:
+# -------
+#
+#   Three tab-separated columns;
+#   '#' begins a comment which continues to the end of the line.
+#     Column #1 is the Mac OS Hebrew code (in hex as 0xNN).
+#     Column #2 is the corresponding Unicode or Unicode sequence (in
+#       hex as 0xNNNN, 0xNNNN+0xNNNN, etc.). Sequences of up to 5
+#       Unicode characters are used here. A single Unicode character
+#       may be preceded by a tag indicating required directionality
+#       (i.e. <LR>+0xNNNN or <RL>+0xNNNN).
+#     Column #3 is a comment containing the Unicode name.
+#
+#   The entries are in Mac OS Hebrew code order.
+#
+#   Some of these mappings require the use of corporate characters.
+#   See the file 'CORPCHAR.TXT' and notes below.
+#
+#   Control character mappings are not shown in this table, following
+#   the conventions of the standard UTC mapping tables. However, the
+#   Mac OS Roman character set uses the standard control characters at
+#   0x00-0x1F and 0x7F.
+#
+# Notes on Mac OS Hebrew:
+# -----------------------
+#
+#   1. General
+#
+#   The Mac OS Hebrew character set supports the Hebrew and Yiddish
+#   languages. It incorporates the Hebrew letter repertoire of
+#   ISO 8859-8, and uses the same code points for them, 0xE0-0xFA.
+#   It also incorporates the ASCII character set. In addition, the
+#   Mac OS Hebrew character set includes the following:
+#
+#   - Hebrew points (nikud marks) at 0xC6, 0xCB-0xCF and 0xD8-0xDF.
+#     These are non-spacing combining marks. Note that the RAFE point
+#     at 0xD8 is not displayed correctly in some fonts, and cannot be
+#     typed using the keyboard layouts in the current Hebrew localized
+#     systems. Also note: The character given in Unicode as QAMATS
+#     (U+05B8) actually refers to two different sounds, depending on
+#     context. For example, when ALEF is followed by QAMATS, the QAMATS
+#     can actually refer to two different sounds depending on the
+#     following letters. The Mac OS Hebrew character set separately
+#     encodes these two sounds for the same graphic shape, as 'qamats'
+#     (0xCB) and 'qamats qatan' (0xDE). The 'qamats' character is more
+#     common, so it is mapped to the Unicode QAMATS; 'qamats qatan' can
+#     only be used with a limited number of characters, and it is
+#     mapped using a corporate-zone variant tag (see below).
+#
+#   - Various Hebrew ligatures at 0x81, 0xC0, 0xC7, 0xC8, 0xD6, and
+#     0xD7. Also note that the Yiddish YOD YOD PATAH ligature at 0x81
+#     is missing in some fonts.
+#
+#   - The NEW SHEQEL SIGN at 0xA6.
+#
+#       - Latin characters with diacritics at 0x80 and 0x82-0x9F. However,
+#     most of these cannot be typed using the keyboard layouts in the
+#     Hebrew localized systems.
+#
+#   - Right-left versions of certain ASCII punctuation, symbols and
+#     digits: 0xA0-0xA5, 0xA7-0xBF, 0xFB-0xFF. See below.
+#
+#   - Miscellaneous additional punctuation at 0xC1, 0xC9, 0xCA, and
+#     0xD0-0xD5. There is a variant of the Hebrew encoding in which
+#     the LEFT SINGLE QUOTATION MARK at 0xD4 is replaced by FIGURE
+#     SPACE. The glyphs for some of the other punctuation characters
+#     are missing in some fonts.
+#
+#   - Four obsolete characters at 0xC2-0xC5 known as canorals (not to
+#     be confused with cantillation marks!!). These were used for
+#     manual positioning of nikud marks before System 7.1 (at which
+#     point nikud positioning became automatic with WorldScript.).
+#
+#   2. Directional characters and roundtrip fidelity
+#
+#   The Mac OS Hebrew character set was developed around 1987. At that
+#   time the bidirectional line line layout algorithm used in the Mac OS
+#   Hebrew system was fairly simple; it used only a few direction
+#   classes (instead of the 19 now used in the Unicode bidirectional
+#   algorithm). In order to permit users to handle some tricky layou
+#   problems, certain punctuation, symbol, and digit characters have
+#   duplicate code points, one with a left-right direction attribute and
+#   the other with a right-left direction attribute.
+#
+#   For example, plus sign is encoded at 0x2B with a left-right
+#   attribute, and at 0xAB with a right-left attribute. However, there
+#   is only one PLUS SIGN character in Unicode. This leads to some
+#   interesting problems when mapping between Mac OS Hebrew and Unicode;
+#   see below.
+#
+#   A related problem is that even when a particular character is
+#   encoded only once in Mac OS Hebrew, it may have a different
+#   direction attribute than the corresponding Unicode character.
+#
+#   For example, the Mac OS Hebrew character at 0xC9 is HORIZONTAL
+#   ELLIPSIS with strong right-left direction. However, the Unicode
+#   character HORIZONTAL ELLIPSIS has direction class neutral.
+#
+#   3. Font variants
+#
+#   The table in this file gives the Unicode mappings for the standard
+#   Mac OS Hebrew encoding. This encoding is supported by many of the
+#   Apple fonts (including all of the fonts in the Hebrew Language Kit),
+#   and is the encoding supported by the text processing utilities.
+#   However, some TrueType fonts provided with the localized Hebrew
+#   system implement a slightly different encoding; the difference is
+#   only in one code point, 0xD4. For the standard variant, this is:
+#     0xD4 -> <RL>+0x2018  LEFT SINGLE QUOTATION MARK, right-left
+#
+#   The TrueType variant is used by the following TrueType fonts from
+#   the localized system: Caesarea, Carmel Book, Gilboa, Ramat Sharon,
+#   and Sinai Book. For these, 0xD4 is as follows:
+#     0xD4 -> <RL>+0x2007  FIGURE SPACE, right-left
+#
+# Unicode mapping issues and notes:
+# ---------------------------------
+#
+#   1. Matching the direction of Mac OS Hebrew characters
+#
+#   When Mac OS Hebrew encodes a character twice but with different
+#   direction attributes for the two code points - as in the case of
+#   plus sign mentioned above - we need a way to map both Mac OS Hebrew
+#   code points to Unicode and back again without loss of information.
+#   With the plus sign, for example, mapping one of the Mac OS Hebrew
+#   characters to a code in the Unicode corporate use zone is
+#   undesirable, since both of the plus sign characters are likely to
+#   be used in text that is interchanged.
+#
+#   The problem is solved with the use of direction override characters
+#   and direction-dependent mappings. When mapping from Mac OS Hebrew
+#   to Unicode, we use direction overrides as necessary to force the
+#   direction of the resulting Unicode characters.
+#
+#   The required direction is indicated by a direction tag in the
+#   mappings. A tag of <LR> means the corresponding Unicode character
+#   must have a strong left-right context, and a tag of <RL> indicates
+#   a right-left context.
+#
+#   For example, the mapping of 0x2B is given as <LR>+0x002B; the
+#   mapping of 0xAB is given as <RL>+0x002B. If we map an isolated
+#   instance of 0x2B to Unicode, it should be mapped as follows (LRO
+#   indicates LEFT-RIGHT OVERRIDE, PDF indicates POP DIRECTION
+#   FORMATTING):
+#
+#     0x2B ->  0x202D (LRO) + 0x002B (PLUS SIGN) + 0x202C (PDF)
+#
+#   When mapping several characters in a row that require direction
+#   forcing, the overrides need only be used at the beginning and end.
+#   For example:
+#
+#     0x24 0x20 0x28 0x29 -> 0x202D 0x0024 0x0020 0x0028 0x0029 0x202C
+#
+#   If neutral characters that require direction forcing are already
+#   between strong-direction characters with matching directionality,
+#   then direction overrides need not be used. Direction overrides are
+#   always needed to map the right-left digits at 0xB0-0xB9.
+#
+#   When mapping from Unicode to Mac OS Hebrew, the Unicode
+#   bidirectional algorithm should be used to determine resolved
+#   direction of the Unicode characters. The mapping from Unicode to
+#   Mac OS Hebrew can then be disambiguated by the use of the resolved
+#   direction:
+#
+#     Unicode 0x002B -> Mac OS Hebrew 0x2B (if L) or 0xAB (if R)
+#
+#   However, this also means the direction override characters should
+#   be discarded when mapping from Unicode to Mac OS Hebrew (after
+#   they have been used to determine resolved direction), since the
+#   direction override information is carried by the code point itself.
+#
+#   Even when direction overrides are not needed for roundtrip
+#   fidelity, they are sometimes used when mapping Mac OS Hebrew
+#   characters to Unicode in order to achieve similar text layout with
+#   the resulting Unicode text. For example, the single Mac OS Hebrew
+#   ellipsis character has direction class right-left,and there is no
+#   left-right version. However, the Unicode HORIZONTAL ELLIPSIS
+#   character has direction class neutral (which means it may end up
+#   with a resolved direction of left-right if surrounded by left-right
+#   characters). When mapping the Mac OS Hebrew ellipsis to Unicode, it
+#   is surrounded with a direction override to help preserve proper
+#   text layout. The resolved direction is not needed or used when
+#   mapping the Unicode HORIZONTAL ELLIPSIS back to Mac OS Hebrew.
+#
+#   2. Use of corporate-zone Unicodes
+#
+#   The goals in the mappings provided here are:
+#   - Ensure roundtrip mapping from every character in the Mac OS
+#     Hebrew character set to Unicode and back
+#   - Use standard Unicode characters as much as possible, to
+#     maximize interchangeability of the resulting Unicode text.
+#     Whenever possible, avoid having content carried by private-use
+#     characters.
+#
+#   Some of the characters in the Mac OS Hebrew character set do not
+#   correspond to distinct, single Unicode characters. To map these
+#   and satisfy both goals above, we employ various strategies.
+#
+#   a) If possible, use private use characters in combination with
+#   standard Unicode characters to mark variants of the standard
+#   Unicode character.
+#
+#   Apple has defined a block of 32 corporate characters as 'transcoding
+#   hints.' These are used in combination with standard Unicode characters
+#   to force them to be treated in a special way for mapping to other
+#   encodings; they have no other effect. Sixteen of these transcoding
+#   hints are 'grouping hints' - they indicate that the next 2-4 Unicode
+#   characters should be treated as a single entity for transcoding. The
+#   other sixteen transcoding hints are 'variant tags' - they are like
+#   combining characters, and can follow a standard Unicode (or a sequence
+#   consisting of a base character and other combining characters) to
+#   cause it to be treated in a special way for transcoding. These always
+#   terminate a combining-character sequence.
+#
+#   Two transcoding hints are used in this mapping table: a grouping hint
+#   and a variant tag:
+#   hint:
+#     0xF86A  group next 2 characters, right-left directionality
+#     0xF87F  variant tag
+#
+#   In Mac OS Hebrew, 0xC0 is a ligature for lamed holam. This can also
+#   be represented in Mac OS Hebrew as 0xEC+0xDD, using separate
+#   characters for lamed and holam. The latter sequence is mapped to
+#   Unicode as 0x05DC+0x05B9, i.e. as the sequence HEBREW LETTER LAMED +
+#   HEBREW POINT HOLAM. We want to map the ligature 0xC0 using the same
+#   standard Unicode characters, but for round-trip fidelity we need to
+#   distinguish it from the mapping of the sequence 0xEC+0xDD. Thus for
+#   0xC0 we use a grouping hint, and map as follows:
+#   
+#     0xC0 -> 0xF86A+0x05DC+0x05B9
+#
+#   The variant tag is used for 'qamats qatan' to mark it as an alternate
+#   for HEBREW POINT QAMATS, as follows:
+#
+#     0xDE -> 0x05B8+0xF87F
+#
+#   b) Otherwise, use private use characters by themselves to map Mac OS
+#   Hebrew characters which  have no relationship to any standard Unicode
+#   character.
+#
+#   The following additional corporate zone Unicode characters are used
+#   for this purpose here (to map the obsolete 'canorals', see above):
+#
+#     0xF89B  Hebrew canoral 1
+#     0xF89C  Hebrew canoral 2
+#     0xF89D  Hebrew canoral 3
+#     0xF89E  Hebrew canoral 4
+#
+# Details of mapping changes in each version:
+# -------------------------------------------
+#
+#   Changes from version b02 to version b03/c01:
+#
+#   - Stop specifying left-right context for digits 0x30-0x39, since the
+#     corresponding Unicodes 0x0030-0x0039 already have left-right
+#     directionality.
+#
+#   - Change mapping of 0x81 from 0xFB1F HEBREW LIGATURE YIDDISH YOD YOD
+#     PATAH to its canonical decomposition 0x05F2+0x05B7 to improve
+#     cross-platform compatibility (Windows doesn't handle 0xFB1F)
+#
+#   - Interchange the mappings of 0xA8 and 0xA9 to obtain the correct
+#     open/close behavior; they work differently than in Mac Arabic.
+#     The old mapping was
+#         0xA8 <RL>+0x0028 # LEFT PARENTHESIS, right-left
+#         0xA9 <RL>+0x0029 # RIGHT PARENTHESIS, right-left
+#     and the new mapping is
+#         0xA8 <RL>+0x0029 # RIGHT PARENTHESIS, right-left
+#         0xA9 <RL>+0x0028 # LEFT PARENTHESIS, right-left
+#
+#   Changes from version n01 to version n03:
+#
+#   - Change mapping for 0xC0 from single corporate character to
+#     grouping hint plus standard Unicodes
+#
+#   - Change mapping for 0xDE from single corporate character to
+#     standard Unicode plus variant tag
+#
+##################
+
+0x20    <LR>+0x0020     # SPACE, left-right
+0x21    <LR>+0x0021     # EXCLAMATION MARK, left-right
+0x22    <LR>+0x0022     # QUOTATION MARK, left-right
+0x23    <LR>+0x0023     # NUMBER SIGN, left-right
+0x24    <LR>+0x0024     # DOLLAR SIGN, left-right
+0x25    <LR>+0x0025     # PERCENT SIGN, left-right
+0x26    0x0026  # AMPERSAND
+0x27    <LR>+0x0027     # APOSTROPHE, left-right
+0x28    <LR>+0x0028     # LEFT PARENTHESIS, left-right
+0x29    <LR>+0x0029     # RIGHT PARENTHESIS, left-right
+0x2A    <LR>+0x002A     # ASTERISK, left-right
+0x2B    <LR>+0x002B     # PLUS SIGN, left-right
+0x2C    <LR>+0x002C     # COMMA, left-right
+0x2D    <LR>+0x002D     # HYPHEN-MINUS, left-right
+0x2E    <LR>+0x002E     # FULL STOP, left-right
+0x2F    <LR>+0x002F     # SOLIDUS, left-right
+0x30    0x0030  # DIGIT ZERO
+0x31    0x0031  # DIGIT ONE
+0x32    0x0032  # DIGIT TWO
+0x33    0x0033  # DIGIT THREE
+0x34    0x0034  # DIGIT FOUR
+0x35    0x0035  # DIGIT FIVE
+0x36    0x0036  # DIGIT SIX
+0x37    0x0037  # DIGIT SEVEN
+0x38    0x0038  # DIGIT EIGHT
+0x39    0x0039  # DIGIT NINE
+0x3A    <LR>+0x003A     # COLON, left-right
+0x3B    <LR>+0x003B     # SEMICOLON, left-right
+0x3C    <LR>+0x003C     # LESS-THAN SIGN, left-right
+0x3D    <LR>+0x003D     # EQUALS SIGN, left-right
+0x3E    <LR>+0x003E     # GREATER-THAN SIGN, left-right
+0x3F    <LR>+0x003F     # QUESTION MARK, left-right
+0x40    0x0040  # COMMERCIAL AT
+0x41    0x0041  # LATIN CAPITAL LETTER A
+0x42    0x0042  # LATIN CAPITAL LETTER B
+0x43    0x0043  # LATIN CAPITAL LETTER C
+0x44    0x0044  # LATIN CAPITAL LETTER D
+0x45    0x0045  # LATIN CAPITAL LETTER E
+0x46    0x0046  # LATIN CAPITAL LETTER F
+0x47    0x0047  # LATIN CAPITAL LETTER G
+0x48    0x0048  # LATIN CAPITAL LETTER H
+0x49    0x0049  # LATIN CAPITAL LETTER I
+0x4A    0x004A  # LATIN CAPITAL LETTER J
+0x4B    0x004B  # LATIN CAPITAL LETTER K
+0x4C    0x004C  # LATIN CAPITAL LETTER L
+0x4D    0x004D  # LATIN CAPITAL LETTER M
+0x4E    0x004E  # LATIN CAPITAL LETTER N
+0x4F    0x004F  # LATIN CAPITAL LETTER O
+0x50    0x0050  # LATIN CAPITAL LETTER P
+0x51    0x0051  # LATIN CAPITAL LETTER Q
+0x52    0x0052  # LATIN CAPITAL LETTER R
+0x53    0x0053  # LATIN CAPITAL LETTER S
+0x54    0x0054  # LATIN CAPITAL LETTER T
+0x55    0x0055  # LATIN CAPITAL LETTER U
+0x56    0x0056  # LATIN CAPITAL LETTER V
+0x57    0x0057  # LATIN CAPITAL LETTER W
+0x58    0x0058  # LATIN CAPITAL LETTER X
+0x59    0x0059  # LATIN CAPITAL LETTER Y
+0x5A    0x005A  # LATIN CAPITAL LETTER Z
+0x5B    <LR>+0x005B     # LEFT SQUARE BRACKET, left-right
+0x5C    0x005C  # REVERSE SOLIDUS
+0x5D    <LR>+0x005D     # RIGHT SQUARE BRACKET, left-right
+0x5E    0x005E  # CIRCUMFLEX ACCENT
+0x5F    0x005F  # LOW LINE
+0x60    0x0060  # GRAVE ACCENT
+0x61    0x0061  # LATIN SMALL LETTER A
+0x62    0x0062  # LATIN SMALL LETTER B
+0x63    0x0063  # LATIN SMALL LETTER C
+0x64    0x0064  # LATIN SMALL LETTER D
+0x65    0x0065  # LATIN SMALL LETTER E
+0x66    0x0066  # LATIN SMALL LETTER F
+0x67    0x0067  # LATIN SMALL LETTER G
+0x68    0x0068  # LATIN SMALL LETTER H
+0x69    0x0069  # LATIN SMALL LETTER I
+0x6A    0x006A  # LATIN SMALL LETTER J
+0x6B    0x006B  # LATIN SMALL LETTER K
+0x6C    0x006C  # LATIN SMALL LETTER L
+0x6D    0x006D  # LATIN SMALL LETTER M
+0x6E    0x006E  # LATIN SMALL LETTER N
+0x6F    0x006F  # LATIN SMALL LETTER O
+0x70    0x0070  # LATIN SMALL LETTER P
+0x71    0x0071  # LATIN SMALL LETTER Q
+0x72    0x0072  # LATIN SMALL LETTER R
+0x73    0x0073  # LATIN SMALL LETTER S
+0x74    0x0074  # LATIN SMALL LETTER T
+0x75    0x0075  # LATIN SMALL LETTER U
+0x76    0x0076  # LATIN SMALL LETTER V
+0x77    0x0077  # LATIN SMALL LETTER W
+0x78    0x0078  # LATIN SMALL LETTER X
+0x79    0x0079  # LATIN SMALL LETTER Y
+0x7A    0x007A  # LATIN SMALL LETTER Z
+0x7B    <LR>+0x007B     # LEFT CURLY BRACKET, left-right
+0x7C    <LR>+0x007C     # VERTICAL LINE, left-right
+0x7D    <LR>+0x007D     # RIGHT CURLY BRACKET, left-right
+0x7E    0x007E  # TILDE
+#
+0x80    0x00C4  # LATIN CAPITAL LETTER A WITH DIAERESIS
+0x81    0x05F2+0x05B7   # HEBREW LIGATURE YIDDISH YOD YOD PATAH
+0x82    0x00C7  # LATIN CAPITAL LETTER C WITH CEDILLA
+0x83    0x00C9  # LATIN CAPITAL LETTER E WITH ACUTE
+0x84    0x00D1  # LATIN CAPITAL LETTER N WITH TILDE
+0x85    0x00D6  # LATIN CAPITAL LETTER O WITH DIAERESIS
+0x86    0x00DC  # LATIN CAPITAL LETTER U WITH DIAERESIS
+0x87    0x00E1  # LATIN SMALL LETTER A WITH ACUTE
+0x88    0x00E0  # LATIN SMALL LETTER A WITH GRAVE
+0x89    0x00E2  # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x8A    0x00E4  # LATIN SMALL LETTER A WITH DIAERESIS
+0x8B    0x00E3  # LATIN SMALL LETTER A WITH TILDE
+0x8C    0x00E5  # LATIN SMALL LETTER A WITH RING ABOVE
+0x8D    0x00E7  # LATIN SMALL LETTER C WITH CEDILLA
+0x8E    0x00E9  # LATIN SMALL LETTER E WITH ACUTE
+0x8F    0x00E8  # LATIN SMALL LETTER E WITH GRAVE
+0x90    0x00EA  # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x91    0x00EB  # LATIN SMALL LETTER E WITH DIAERESIS
+0x92    0x00ED  # LATIN SMALL LETTER I WITH ACUTE
+0x93    0x00EC  # LATIN SMALL LETTER I WITH GRAVE
+0x94    0x00EE  # LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x95    0x00EF  # LATIN SMALL LETTER I WITH DIAERESIS
+0x96    0x00F1  # LATIN SMALL LETTER N WITH TILDE
+0x97    0x00F3  # LATIN SMALL LETTER O WITH ACUTE
+0x98    0x00F2  # LATIN SMALL LETTER O WITH GRAVE
+0x99    0x00F4  # LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x9A    0x00F6  # LATIN SMALL LETTER O WITH DIAERESIS
+0x9B    0x00F5  # LATIN SMALL LETTER O WITH TILDE
+0x9C    0x00FA  # LATIN SMALL LETTER U WITH ACUTE
+0x9D    0x00F9  # LATIN SMALL LETTER U WITH GRAVE
+0x9E    0x00FB  # LATIN SMALL LETTER U WITH CIRCUMFLEX
+0x9F    0x00FC  # LATIN SMALL LETTER U WITH DIAERESIS
+0xA0    <RL>+0x0020     # SPACE, right-left
+0xA1    <RL>+0x0021     # EXCLAMATION MARK, right-left
+0xA2    <RL>+0x0022     # QUOTATION MARK, right-left
+0xA3    <RL>+0x0023     # NUMBER SIGN, right-left
+0xA4    <RL>+0x0024     # DOLLAR SIGN, right-left
+0xA5    <RL>+0x0025     # PERCENT SIGN, right-left
+0xA6    0x20AA  # NEW SHEQEL SIGN
+0xA7    <RL>+0x0027     # APOSTROPHE, right-left
+0xA8    <RL>+0x0029     # RIGHT PARENTHESIS, right-left
+0xA9    <RL>+0x0028     # LEFT PARENTHESIS, right-left
+0xAA    <RL>+0x002A     # ASTERISK, right-left
+0xAB    <RL>+0x002B     # PLUS SIGN, right-left
+0xAC    <RL>+0x002C     # COMMA, right-left
+0xAD    <RL>+0x002D     # HYPHEN-MINUS, right-left
+0xAE    <RL>+0x002E     # FULL STOP, right-left
+0xAF    <RL>+0x002F     # SOLIDUS, right-left
+0xB0    <RL>+0x0030     # DIGIT ZERO, right-left (need override)
+0xB1    <RL>+0x0031     # DIGIT ONE, right-left (need override)
+0xB2    <RL>+0x0032     # DIGIT TWO, right-left (need override)
+0xB3    <RL>+0x0033     # DIGIT THREE, right-left (need override)
+0xB4    <RL>+0x0034     # DIGIT FOUR, right-left (need override)
+0xB5    <RL>+0x0035     # DIGIT FIVE, right-left (need override)
+0xB6    <RL>+0x0036     # DIGIT SIX, right-left (need override)
+0xB7    <RL>+0x0037     # DIGIT SEVEN, right-left (need override)
+0xB8    <RL>+0x0038     # DIGIT EIGHT, right-left (need override)
+0xB9    <RL>+0x0039     # DIGIT NINE, right-left (need override)
+0xBA    <RL>+0x003A     # COLON, right-left
+0xBB    <RL>+0x003B     # SEMICOLON, right-left
+0xBC    <RL>+0x003C     # LESS-THAN SIGN, right-left
+0xBD    <RL>+0x003D     # EQUALS SIGN, right-left
+0xBE    <RL>+0x003E     # GREATER-THAN SIGN, right-left
+0xBF    <RL>+0x003F     # QUESTION MARK, right-left
+0xC0    0xF86A+0x05DC+0x05B9    # Hebrew ligature lamed holam
+0xC1    <RL>+0x201E     # DOUBLE LOW-9 QUOTATION MARK, right-left
+0xC2    0xF89B  # Hebrew canoral 1
+0xC3    0xF89C  # Hebrew canoral 2
+0xC4    0xF89D  # Hebrew canoral 3
+0xC5    0xF89E  # Hebrew canoral 4
+0xC6    0x05BC  # HEBREW POINT DAGESH OR MAPIQ
+0xC7    0xFB4B  # HEBREW LETTER VAV WITH HOLAM
+0xC8    0xFB35  # HEBREW LETTER VAV WITH DAGESH
+0xC9    <RL>+0x2026     # HORIZONTAL ELLIPSIS, right-left
+0xCA    <RL>+0x00A0     # NO-BREAK SPACE, right-left
+0xCB    0x05B8  # HEBREW POINT QAMATS
+0xCC    0x05B7  # HEBREW POINT PATAH
+0xCD    0x05B5  # HEBREW POINT TSERE
+0xCE    0x05B6  # HEBREW POINT SEGOL
+0xCF    0x05B4  # HEBREW POINT HIRIQ
+0xD0    <RL>+0x2013     # EN DASH, right-left
+0xD1    <RL>+0x2014     # EM DASH, right-left
+0xD2    <RL>+0x201C     # LEFT DOUBLE QUOTATION MARK, right-left
+0xD3    <RL>+0x201D     # RIGHT DOUBLE QUOTATION MARK, right-left
+0xD4    <RL>+0x2018     # LEFT SINGLE QUOTATION MARK, right-left
+0xD5    <RL>+0x2019     # RIGHT SINGLE QUOTATION MARK, right-left
+0xD6    0xFB2A  # HEBREW LETTER SHIN WITH SHIN DOT
+0xD7    0xFB2B  # HEBREW LETTER SHIN WITH SIN DOT
+0xD8    0x05BF  # HEBREW POINT RAFE
+0xD9    0x05B0  # HEBREW POINT SHEVA
+0xDA    0x05B2  # HEBREW POINT HATAF PATAH
+0xDB    0x05B1  # HEBREW POINT HATAF SEGOL
+0xDC    0x05BB  # HEBREW POINT QUBUTS
+0xDD    0x05B9  # HEBREW POINT HOLAM
+0xDE    0x05B8+0xF87F   # HEBREW POINT QAMATS, alternate form 'qamats qatan'
+0xDF    0x05B3  # HEBREW POINT HATAF QAMATS
+0xE0    0x05D0  # HEBREW LETTER ALEF
+0xE1    0x05D1  # HEBREW LETTER BET
+0xE2    0x05D2  # HEBREW LETTER GIMEL
+0xE3    0x05D3  # HEBREW LETTER DALET
+0xE4    0x05D4  # HEBREW LETTER HE
+0xE5    0x05D5  # HEBREW LETTER VAV
+0xE6    0x05D6  # HEBREW LETTER ZAYIN
+0xE7    0x05D7  # HEBREW LETTER HET
+0xE8    0x05D8  # HEBREW LETTER TET
+0xE9    0x05D9  # HEBREW LETTER YOD
+0xEA    0x05DA  # HEBREW LETTER FINAL KAF
+0xEB    0x05DB  # HEBREW LETTER KAF
+0xEC    0x05DC  # HEBREW LETTER LAMED
+0xED    0x05DD  # HEBREW LETTER FINAL MEM
+0xEE    0x05DE  # HEBREW LETTER MEM
+0xEF    0x05DF  # HEBREW LETTER FINAL NUN
+0xF0    0x05E0  # HEBREW LETTER NUN
+0xF1    0x05E1  # HEBREW LETTER SAMEKH
+0xF2    0x05E2  # HEBREW LETTER AYIN
+0xF3    0x05E3  # HEBREW LETTER FINAL PE
+0xF4    0x05E4  # HEBREW LETTER PE
+0xF5    0x05E5  # HEBREW LETTER FINAL TSADI
+0xF6    0x05E6  # HEBREW LETTER TSADI
+0xF7    0x05E7  # HEBREW LETTER QOF
+0xF8    0x05E8  # HEBREW LETTER RESH
+0xF9    0x05E9  # HEBREW LETTER SHIN
+0xFA    0x05EA  # HEBREW LETTER TAV
+0xFB    <RL>+0x007D     # RIGHT CURLY BRACKET, right-left
+0xFC    <RL>+0x005D     # RIGHT SQUARE BRACKET, right-left
+0xFD    <RL>+0x007B     # LEFT CURLY BRACKET, right-left
+0xFE    <RL>+0x005B     # LEFT SQUARE BRACKET, right-left
+0xFF    <RL>+0x007C     # VERTICAL LINE, right-left
+
+"
+! !
+
+!MAC_Hebrew class methodsFor:'queries'!
+
+namesOfEncoding
+    ^ #( #'mac-hebrew' #'machebrew'  )
+! !
+
+!MAC_Hebrew class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_MAC_Hebrew.st,v 1.1 2004-03-05 17:30:21 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Encoder_MAC_Roman.st	Fri Mar 05 18:30:49 2004 +0100
@@ -0,0 +1,401 @@
+"{ Encoding: utf8 }"
+
+"{ Package: 'stx:libbasic' }"
+
+"{ NameSpace: CharacterEncoderImplementations }"
+
+SingleByteEncoder subclass:#MAC_Roman
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Collections-Text-Encodings'
+!
+
+
+!MAC_Roman class methodsFor:'mapping'!
+
+mapFileURL1_relativePathName
+    ^ 'VENDORS/APPLE/ROMAN.TXT'
+!
+
+mapping
+"
+# From: http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/ROMAN.TXT
+
+#=======================================================================
+#   File name:  ROMAN.TXT
+#
+#   Contents:   Map (external version) from Mac OS Roman
+#               character set to Unicode 2.1 through Unicode 3.2
+#
+#   Copyright:  (c) 1994-2002 by Apple Computer, Inc., all rights
+#               reserved.
+#
+#   Contact:    charsets@apple.com
+#
+#   Changes:
+#
+#      b4,c1 2002-Dec-19    Update URLs, notes. Matches internal
+#                           utom<b5>.
+#       b03  1999-Sep-22    Update contact e-mail address. Matches
+#                           internal utom<b4>, ufrm<b3>, and Text
+#                           Encoding Converter version 1.5.
+#       b02  1998-Aug-18    Encoding changed for Mac OS 8.5; change
+#                           mapping of 0xDB from CURRENCY SIGN to
+#                           EURO SIGN. Matches internal utom<b3>,
+#                           ufrm<b3>.
+#       n08  1998-Feb-05    Minor update to header comments
+#       n06  1997-Dec-14    Add warning about future changes to 0xDB
+#                           from CURRENCY SIGN to EURO SIGN. Clarify
+#                           some header information
+#       n04  1997-Dec-01    Update to match internal utom<n3>, ufrm<n22>:
+#                           Change standard mapping for 0xBD from U+2126
+#                           to its canonical decomposition, U+03A9.
+#       n03  1995-Apr-15    First version (after fixing some typos).
+#                           Matches internal ufrm<n9>.
+#
+# Standard header:
+# ----------------
+#
+#   Apple, the Apple logo, and Macintosh are trademarks of Apple
+#   Computer, Inc., registered in the United States and other countries.
+#   Unicode is a trademark of Unicode Inc. For the sake of brevity,
+#   throughout this document, 'Macintosh' can be used to refer to
+#   Macintosh computers and 'Unicode' can be used to refer to the
+#   Unicode standard.
+#
+#   Apple makes no warranty or representation, either express or
+#   implied, with respect to these tables, their quality, accuracy, or
+#   fitness for a particular purpose. In no event will Apple be liable
+#   for direct, indirect, special, incidental, or consequential damages 
+#   resulting from any defect or inaccuracy in this document or the
+#   accompanying tables.
+#
+#   These mapping tables and character lists are subject to change.
+#   The latest tables should be available from the following:
+#
+#   <http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/>
+#
+#   For general information about Mac OS encodings and these mapping
+#   tables, see the file 'README.TXT'.
+#
+# Format:
+# -------
+#
+#   Three tab-separated columns;
+#   '#' begins a comment which continues to the end of the line.
+#     Column #1 is the Mac OS Roman code (in hex as 0xNN)
+#     Column #2 is the corresponding Unicode (in hex as 0xNNNN)
+#     Column #3 is a comment containing the Unicode name
+#
+#   The entries are in Mac OS Roman code order.
+#
+#   One of these mappings requires the use of a corporate character.
+#   See the file 'CORPCHAR.TXT' and notes below.
+#
+#   Control character mappings are not shown in this table, following
+#   the conventions of the standard UTC mapping tables. However, the
+#   Mac OS Roman character set uses the standard control characters at
+#   0x00-0x1F and 0x7F.
+#
+# Notes on Mac OS Roman:
+# ----------------------
+#
+#   This character set is used for at least the following Mac OS
+#   localizations: U.S., British, Canadian French, French, Swiss
+#   French, German, Swiss German, Italian, Swiss Italian, Dutch,
+#   Swedish, Norwegian, Danish, Finnish, Spanish, Catalan,
+#   Portuguese, Brazilian, and the default International system.
+#
+#   Variants of Mac OS Roman are used for Croatian, Icelandic,
+#   Turkish, Romanian, and other encodings. Separate mapping tables
+#   are available for these encodings.
+#
+#   Before Mac OS 8.5, code point 0xDB was CURRENCY SIGN, and was
+#   mapped to U+00A4. In Mac OS 8.5 and later versions, code point
+#   0xDB is changed to EURO SIGN and maps to U+20AC; the standard
+#   Apple fonts are updated for Mac OS 8.5 to reflect this. There is
+#   a 'currency sign' variant of the Mac OS Roman encoding that still
+#   maps 0xDB to U+00A4; this can be used for older fonts.
+#
+#   Before Mac OS 8.5, the ROM bitmap versions of the fonts Chicago,
+#   New York, Geneva, and Monaco did not implement the full Mac OS
+#   Roman character set; they only supported character codes up to
+#   0xD8. The TrueType versions of these fonts have always implemented
+#   the full character set, as with the bitmap and TrueType versions
+#   of the other standard Roman fonts.
+#
+#   In all Mac OS encodings, fonts such as Chicago which are used
+#   as 'system' fonts (for menus, dialogs, etc.) have four glyphs
+#   at code points 0x11-0x14 for transient use by the Menu Manager.
+#   These glyphs are not intended as characters for use in normal
+#   text, and the associated code points are not generally
+#   interpreted as associated with these glyphs; they are usually
+#   interpreted (if at all) as the control codes DC1-DC4.
+#
+# Unicode mapping issues and notes:
+# ---------------------------------
+#
+#   The following corporate zone Unicode character is used in this
+#   mapping:
+#
+#     0xF8FF  Apple logo
+#
+#   NOTE: The graphic image associated with the Apple logo character
+#   is not authorized for use without permission of Apple, and
+#   unauthorized use might constitute trademark infringement.
+#
+# Details of mapping changes in each version:
+# -------------------------------------------
+#
+#   Changes from version n08 to version b02:
+#
+#   - Encoding changed for Mac OS 8.5; change mapping of 0xDB from
+#   CURRENCY SIGN (U+00A4) to EURO SIGN (U+20AC).
+#
+#   Changes from version n03 to version n04:
+#
+#   - Change mapping of 0xBD from U+2126 to its canonical
+#     decomposition, U+03A9.
+#
+##################
+
+0x20    0x0020  # SPACE
+0x21    0x0021  # EXCLAMATION MARK
+0x22    0x0022  # QUOTATION MARK
+0x23    0x0023  # NUMBER SIGN
+0x24    0x0024  # DOLLAR SIGN
+0x25    0x0025  # PERCENT SIGN
+0x26    0x0026  # AMPERSAND
+0x27    0x0027  # APOSTROPHE
+0x28    0x0028  # LEFT PARENTHESIS
+0x29    0x0029  # RIGHT PARENTHESIS
+0x2A    0x002A  # ASTERISK
+0x2B    0x002B  # PLUS SIGN
+0x2C    0x002C  # COMMA
+0x2D    0x002D  # HYPHEN-MINUS
+0x2E    0x002E  # FULL STOP
+0x2F    0x002F  # SOLIDUS
+0x30    0x0030  # DIGIT ZERO
+0x31    0x0031  # DIGIT ONE
+0x32    0x0032  # DIGIT TWO
+0x33    0x0033  # DIGIT THREE
+0x34    0x0034  # DIGIT FOUR
+0x35    0x0035  # DIGIT FIVE
+0x36    0x0036  # DIGIT SIX
+0x37    0x0037  # DIGIT SEVEN
+0x38    0x0038  # DIGIT EIGHT
+0x39    0x0039  # DIGIT NINE
+0x3A    0x003A  # COLON
+0x3B    0x003B  # SEMICOLON
+0x3C    0x003C  # LESS-THAN SIGN
+0x3D    0x003D  # EQUALS SIGN
+0x3E    0x003E  # GREATER-THAN SIGN
+0x3F    0x003F  # QUESTION MARK
+0x40    0x0040  # COMMERCIAL AT
+0x41    0x0041  # LATIN CAPITAL LETTER A
+0x42    0x0042  # LATIN CAPITAL LETTER B
+0x43    0x0043  # LATIN CAPITAL LETTER C
+0x44    0x0044  # LATIN CAPITAL LETTER D
+0x45    0x0045  # LATIN CAPITAL LETTER E
+0x46    0x0046  # LATIN CAPITAL LETTER F
+0x47    0x0047  # LATIN CAPITAL LETTER G
+0x48    0x0048  # LATIN CAPITAL LETTER H
+0x49    0x0049  # LATIN CAPITAL LETTER I
+0x4A    0x004A  # LATIN CAPITAL LETTER J
+0x4B    0x004B  # LATIN CAPITAL LETTER K
+0x4C    0x004C  # LATIN CAPITAL LETTER L
+0x4D    0x004D  # LATIN CAPITAL LETTER M
+0x4E    0x004E  # LATIN CAPITAL LETTER N
+0x4F    0x004F  # LATIN CAPITAL LETTER O
+0x50    0x0050  # LATIN CAPITAL LETTER P
+0x51    0x0051  # LATIN CAPITAL LETTER Q
+0x52    0x0052  # LATIN CAPITAL LETTER R
+0x53    0x0053  # LATIN CAPITAL LETTER S
+0x54    0x0054  # LATIN CAPITAL LETTER T
+0x55    0x0055  # LATIN CAPITAL LETTER U
+0x56    0x0056  # LATIN CAPITAL LETTER V
+0x57    0x0057  # LATIN CAPITAL LETTER W
+0x58    0x0058  # LATIN CAPITAL LETTER X
+0x59    0x0059  # LATIN CAPITAL LETTER Y
+0x5A    0x005A  # LATIN CAPITAL LETTER Z
+0x5B    0x005B  # LEFT SQUARE BRACKET
+0x5C    0x005C  # REVERSE SOLIDUS
+0x5D    0x005D  # RIGHT SQUARE BRACKET
+0x5E    0x005E  # CIRCUMFLEX ACCENT
+0x5F    0x005F  # LOW LINE
+0x60    0x0060  # GRAVE ACCENT
+0x61    0x0061  # LATIN SMALL LETTER A
+0x62    0x0062  # LATIN SMALL LETTER B
+0x63    0x0063  # LATIN SMALL LETTER C
+0x64    0x0064  # LATIN SMALL LETTER D
+0x65    0x0065  # LATIN SMALL LETTER E
+0x66    0x0066  # LATIN SMALL LETTER F
+0x67    0x0067  # LATIN SMALL LETTER G
+0x68    0x0068  # LATIN SMALL LETTER H
+0x69    0x0069  # LATIN SMALL LETTER I
+0x6A    0x006A  # LATIN SMALL LETTER J
+0x6B    0x006B  # LATIN SMALL LETTER K
+0x6C    0x006C  # LATIN SMALL LETTER L
+0x6D    0x006D  # LATIN SMALL LETTER M
+0x6E    0x006E  # LATIN SMALL LETTER N
+0x6F    0x006F  # LATIN SMALL LETTER O
+0x70    0x0070  # LATIN SMALL LETTER P
+0x71    0x0071  # LATIN SMALL LETTER Q
+0x72    0x0072  # LATIN SMALL LETTER R
+0x73    0x0073  # LATIN SMALL LETTER S
+0x74    0x0074  # LATIN SMALL LETTER T
+0x75    0x0075  # LATIN SMALL LETTER U
+0x76    0x0076  # LATIN SMALL LETTER V
+0x77    0x0077  # LATIN SMALL LETTER W
+0x78    0x0078  # LATIN SMALL LETTER X
+0x79    0x0079  # LATIN SMALL LETTER Y
+0x7A    0x007A  # LATIN SMALL LETTER Z
+0x7B    0x007B  # LEFT CURLY BRACKET
+0x7C    0x007C  # VERTICAL LINE
+0x7D    0x007D  # RIGHT CURLY BRACKET
+0x7E    0x007E  # TILDE
+#
+0x80    0x00C4  # LATIN CAPITAL LETTER A WITH DIAERESIS
+0x81    0x00C5  # LATIN CAPITAL LETTER A WITH RING ABOVE
+0x82    0x00C7  # LATIN CAPITAL LETTER C WITH CEDILLA
+0x83    0x00C9  # LATIN CAPITAL LETTER E WITH ACUTE
+0x84    0x00D1  # LATIN CAPITAL LETTER N WITH TILDE
+0x85    0x00D6  # LATIN CAPITAL LETTER O WITH DIAERESIS
+0x86    0x00DC  # LATIN CAPITAL LETTER U WITH DIAERESIS
+0x87    0x00E1  # LATIN SMALL LETTER A WITH ACUTE
+0x88    0x00E0  # LATIN SMALL LETTER A WITH GRAVE
+0x89    0x00E2  # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x8A    0x00E4  # LATIN SMALL LETTER A WITH DIAERESIS
+0x8B    0x00E3  # LATIN SMALL LETTER A WITH TILDE
+0x8C    0x00E5  # LATIN SMALL LETTER A WITH RING ABOVE
+0x8D    0x00E7  # LATIN SMALL LETTER C WITH CEDILLA
+0x8E    0x00E9  # LATIN SMALL LETTER E WITH ACUTE
+0x8F    0x00E8  # LATIN SMALL LETTER E WITH GRAVE
+0x90    0x00EA  # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x91    0x00EB  # LATIN SMALL LETTER E WITH DIAERESIS
+0x92    0x00ED  # LATIN SMALL LETTER I WITH ACUTE
+0x93    0x00EC  # LATIN SMALL LETTER I WITH GRAVE
+0x94    0x00EE  # LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x95    0x00EF  # LATIN SMALL LETTER I WITH DIAERESIS
+0x96    0x00F1  # LATIN SMALL LETTER N WITH TILDE
+0x97    0x00F3  # LATIN SMALL LETTER O WITH ACUTE
+0x98    0x00F2  # LATIN SMALL LETTER O WITH GRAVE
+0x99    0x00F4  # LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x9A    0x00F6  # LATIN SMALL LETTER O WITH DIAERESIS
+0x9B    0x00F5  # LATIN SMALL LETTER O WITH TILDE
+0x9C    0x00FA  # LATIN SMALL LETTER U WITH ACUTE
+0x9D    0x00F9  # LATIN SMALL LETTER U WITH GRAVE
+0x9E    0x00FB  # LATIN SMALL LETTER U WITH CIRCUMFLEX
+0x9F    0x00FC  # LATIN SMALL LETTER U WITH DIAERESIS
+0xA0    0x2020  # DAGGER
+0xA1    0x00B0  # DEGREE SIGN
+0xA2    0x00A2  # CENT SIGN
+0xA3    0x00A3  # POUND SIGN
+0xA4    0x00A7  # SECTION SIGN
+0xA5    0x2022  # BULLET
+0xA6    0x00B6  # PILCROW SIGN
+0xA7    0x00DF  # LATIN SMALL LETTER SHARP S
+0xA8    0x00AE  # REGISTERED SIGN
+0xA9    0x00A9  # COPYRIGHT SIGN
+0xAA    0x2122  # TRADE MARK SIGN
+0xAB    0x00B4  # ACUTE ACCENT
+0xAC    0x00A8  # DIAERESIS
+0xAD    0x2260  # NOT EQUAL TO
+0xAE    0x00C6  # LATIN CAPITAL LETTER AE
+0xAF    0x00D8  # LATIN CAPITAL LETTER O WITH STROKE
+0xB0    0x221E  # INFINITY
+0xB1    0x00B1  # PLUS-MINUS SIGN
+0xB2    0x2264  # LESS-THAN OR EQUAL TO
+0xB3    0x2265  # GREATER-THAN OR EQUAL TO
+0xB4    0x00A5  # YEN SIGN
+0xB5    0x00B5  # MICRO SIGN
+0xB6    0x2202  # PARTIAL DIFFERENTIAL
+0xB7    0x2211  # N-ARY SUMMATION
+0xB8    0x220F  # N-ARY PRODUCT
+0xB9    0x03C0  # GREEK SMALL LETTER PI
+0xBA    0x222B  # INTEGRAL
+0xBB    0x00AA  # FEMININE ORDINAL INDICATOR
+0xBC    0x00BA  # MASCULINE ORDINAL INDICATOR
+0xBD    0x03A9  # GREEK CAPITAL LETTER OMEGA
+0xBE    0x00E6  # LATIN SMALL LETTER AE
+0xBF    0x00F8  # LATIN SMALL LETTER O WITH STROKE
+0xC0    0x00BF  # INVERTED QUESTION MARK
+0xC1    0x00A1  # INVERTED EXCLAMATION MARK
+0xC2    0x00AC  # NOT SIGN
+0xC3    0x221A  # SQUARE ROOT
+0xC4    0x0192  # LATIN SMALL LETTER F WITH HOOK
+0xC5    0x2248  # ALMOST EQUAL TO
+0xC6    0x2206  # INCREMENT
+0xC7    0x00AB  # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC8    0x00BB  # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC9    0x2026  # HORIZONTAL ELLIPSIS
+0xCA    0x00A0  # NO-BREAK SPACE
+0xCB    0x00C0  # LATIN CAPITAL LETTER A WITH GRAVE
+0xCC    0x00C3  # LATIN CAPITAL LETTER A WITH TILDE
+0xCD    0x00D5  # LATIN CAPITAL LETTER O WITH TILDE
+0xCE    0x0152  # LATIN CAPITAL LIGATURE OE
+0xCF    0x0153  # LATIN SMALL LIGATURE OE
+0xD0    0x2013  # EN DASH
+0xD1    0x2014  # EM DASH
+0xD2    0x201C  # LEFT DOUBLE QUOTATION MARK
+0xD3    0x201D  # RIGHT DOUBLE QUOTATION MARK
+0xD4    0x2018  # LEFT SINGLE QUOTATION MARK
+0xD5    0x2019  # RIGHT SINGLE QUOTATION MARK
+0xD6    0x00F7  # DIVISION SIGN
+0xD7    0x25CA  # LOZENGE
+0xD8    0x00FF  # LATIN SMALL LETTER Y WITH DIAERESIS
+0xD9    0x0178  # LATIN CAPITAL LETTER Y WITH DIAERESIS
+0xDA    0x2044  # FRACTION SLASH
+0xDB    0x20AC  # EURO SIGN
+0xDC    0x2039  # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+0xDD    0x203A  # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+0xDE    0xFB01  # LATIN SMALL LIGATURE FI
+0xDF    0xFB02  # LATIN SMALL LIGATURE FL
+0xE0    0x2021  # DOUBLE DAGGER
+0xE1    0x00B7  # MIDDLE DOT
+0xE2    0x201A  # SINGLE LOW-9 QUOTATION MARK
+0xE3    0x201E  # DOUBLE LOW-9 QUOTATION MARK
+0xE4    0x2030  # PER MILLE SIGN
+0xE5    0x00C2  # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xE6    0x00CA  # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xE7    0x00C1  # LATIN CAPITAL LETTER A WITH ACUTE
+0xE8    0x00CB  # LATIN CAPITAL LETTER E WITH DIAERESIS
+0xE9    0x00C8  # LATIN CAPITAL LETTER E WITH GRAVE
+0xEA    0x00CD  # LATIN CAPITAL LETTER I WITH ACUTE
+0xEB    0x00CE  # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xEC    0x00CF  # LATIN CAPITAL LETTER I WITH DIAERESIS
+0xED    0x00CC  # LATIN CAPITAL LETTER I WITH GRAVE
+0xEE    0x00D3  # LATIN CAPITAL LETTER O WITH ACUTE
+0xEF    0x00D4  # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xF0    0xF8FF  # Apple logo
+0xF1    0x00D2  # LATIN CAPITAL LETTER O WITH GRAVE
+0xF2    0x00DA  # LATIN CAPITAL LETTER U WITH ACUTE
+0xF3    0x00DB  # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xF4    0x00D9  # LATIN CAPITAL LETTER U WITH GRAVE
+0xF5    0x0131  # LATIN SMALL LETTER DOTLESS I
+0xF6    0x02C6  # MODIFIER LETTER CIRCUMFLEX ACCENT
+0xF7    0x02DC  # SMALL TILDE
+0xF8    0x00AF  # MACRON
+0xF9    0x02D8  # BREVE
+0xFA    0x02D9  # DOT ABOVE
+0xFB    0x02DA  # RING ABOVE
+0xFC    0x00B8  # CEDILLA
+0xFD    0x02DD  # DOUBLE ACUTE ACCENT
+0xFE    0x02DB  # OGONEK
+0xFF    0x02C7  # CARON
+
+"
+! !
+
+!MAC_Roman class methodsFor:'queries'!
+
+namesOfEncoding
+    ^ #( #'mac-roman' #'macroman')
+! !
+
+!MAC_Roman class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_MAC_Roman.st,v 1.1 2004-03-05 17:30:49 cg Exp $'
+! !