diff -r db22e5dcf518 -r b468050174a9 CharacterEncoderImplementations__ISO8859_4.st --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CharacterEncoderImplementations__ISO8859_4.st Fri Mar 05 18:28:27 2004 +0100 @@ -0,0 +1,722 @@ +"{ Encoding: utf8 }" + +"{ Package: 'stx:libbasic' }" + +"{ NameSpace: CharacterEncoderImplementations }" + +SingleByteEncoder subclass:#ISO8859_4 + instanceVariableNames:'' + classVariableNames:'' + poolDictionaries:'' + category:'Collections-Text-Encodings' +! + + +!ISO8859_4 class methodsFor:'mapping'! + +mapFileURL1_relativePathName + ^ 'ISO8859/8859-4.TXT' +! + +mapping +" +# From: http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-4.TXT + +# +# Name: ISO/IEC 8859-4:1998 to Unicode +# Unicode version: 3.0 +# Table version: 1.0 +# Table format: Format A +# Date: 1999 July 27 +# Authors: Ken Whistler +# +# Copyright (c) 1991-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-4:1998 characters map into Unicode. +# +# Format: Three tab-separated columns +# Column #1 is the ISO/IEC 8859-4 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-4 order. +# +# Version history +# 1.0 version updates 0.1 version by adding mappings for all +# control characters. +# +# Updated versions of this file may be found in: +# +# +# Any comments or problems, contact +# Please note that 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 # +0x81 0x0081 # +0x82 0x0082 # +0x83 0x0083 # +0x84 0x0084 # +0x85 0x0085 # +0x86 0x0086 # +0x87 0x0087 # +0x88 0x0088 # +0x89 0x0089 # +0x8A 0x008A # +0x8B 0x008B # +0x8C 0x008C # +0x8D 0x008D # +0x8E 0x008E # +0x8F 0x008F # +0x90 0x0090 # +0x91 0x0091 # +0x92 0x0092 # +0x93 0x0093 # +0x94 0x0094 # +0x95 0x0095 # +0x96 0x0096 # +0x97 0x0097 # +0x98 0x0098 # +0x99 0x0099 # +0x9A 0x009A # +0x9B 0x009B # +0x9C 0x009C # +0x9D 0x009D # +0x9E 0x009E # +0x9F 0x009F # +0xA0 0x00A0 # NO-BREAK SPACE +0xA1 0x0104 # LATIN CAPITAL LETTER A WITH OGONEK +0xA2 0x0138 # LATIN SMALL LETTER KRA +0xA3 0x0156 # LATIN CAPITAL LETTER R WITH CEDILLA +0xA4 0x00A4 # CURRENCY SIGN +0xA5 0x0128 # LATIN CAPITAL LETTER I WITH TILDE +0xA6 0x013B # LATIN CAPITAL LETTER L WITH CEDILLA +0xA7 0x00A7 # SECTION SIGN +0xA8 0x00A8 # DIAERESIS +0xA9 0x0160 # LATIN CAPITAL LETTER S WITH CARON +0xAA 0x0112 # LATIN CAPITAL LETTER E WITH MACRON +0xAB 0x0122 # LATIN CAPITAL LETTER G WITH CEDILLA +0xAC 0x0166 # LATIN CAPITAL LETTER T WITH STROKE +0xAD 0x00AD # SOFT HYPHEN +0xAE 0x017D # LATIN CAPITAL LETTER Z WITH CARON +0xAF 0x00AF # MACRON +0xB0 0x00B0 # DEGREE SIGN +0xB1 0x0105 # LATIN SMALL LETTER A WITH OGONEK +0xB2 0x02DB # OGONEK +0xB3 0x0157 # LATIN SMALL LETTER R WITH CEDILLA +0xB4 0x00B4 # ACUTE ACCENT +0xB5 0x0129 # LATIN SMALL LETTER I WITH TILDE +0xB6 0x013C # LATIN SMALL LETTER L WITH CEDILLA +0xB7 0x02C7 # CARON +0xB8 0x00B8 # CEDILLA +0xB9 0x0161 # LATIN SMALL LETTER S WITH CARON +0xBA 0x0113 # LATIN SMALL LETTER E WITH MACRON +0xBB 0x0123 # LATIN SMALL LETTER G WITH CEDILLA +0xBC 0x0167 # LATIN SMALL LETTER T WITH STROKE +0xBD 0x014A # LATIN CAPITAL LETTER ENG +0xBE 0x017E # LATIN SMALL LETTER Z WITH CARON +0xBF 0x014B # LATIN SMALL LETTER ENG +0xC0 0x0100 # LATIN CAPITAL LETTER A WITH MACRON +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 0x012E # LATIN CAPITAL LETTER I WITH OGONEK +0xC8 0x010C # LATIN CAPITAL LETTER C WITH CARON +0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE +0xCA 0x0118 # LATIN CAPITAL LETTER E WITH OGONEK +0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS +0xCC 0x0116 # LATIN CAPITAL LETTER E WITH DOT ABOVE +0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE +0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX +0xCF 0x012A # LATIN CAPITAL LETTER I WITH MACRON +0xD0 0x0110 # LATIN CAPITAL LETTER D WITH STROKE +0xD1 0x0145 # LATIN CAPITAL LETTER N WITH CEDILLA +0xD2 0x014C # LATIN CAPITAL LETTER O WITH MACRON +0xD3 0x0136 # LATIN CAPITAL LETTER K WITH CEDILLA +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 0x00D7 # MULTIPLICATION SIGN +0xD8 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE +0xD9 0x0172 # LATIN CAPITAL LETTER U WITH OGONEK +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 0x0168 # LATIN CAPITAL LETTER U WITH TILDE +0xDE 0x016A # LATIN CAPITAL LETTER U WITH MACRON +0xDF 0x00DF # LATIN SMALL LETTER SHARP S +0xE0 0x0101 # LATIN SMALL LETTER A WITH MACRON +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 0x012F # LATIN SMALL LETTER I WITH OGONEK +0xE8 0x010D # LATIN SMALL LETTER C WITH CARON +0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE +0xEA 0x0119 # LATIN SMALL LETTER E WITH OGONEK +0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS +0xEC 0x0117 # LATIN SMALL LETTER E WITH DOT ABOVE +0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE +0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX +0xEF 0x012B # LATIN SMALL LETTER I WITH MACRON +0xF0 0x0111 # LATIN SMALL LETTER D WITH STROKE +0xF1 0x0146 # LATIN SMALL LETTER N WITH CEDILLA +0xF2 0x014D # LATIN SMALL LETTER O WITH MACRON +0xF3 0x0137 # LATIN SMALL LETTER K WITH CEDILLA +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 0x00F7 # DIVISION SIGN +0xF8 0x00F8 # LATIN SMALL LETTER O WITH STROKE +0xF9 0x0173 # LATIN SMALL LETTER U WITH OGONEK +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 0x0169 # LATIN SMALL LETTER U WITH TILDE +0xFE 0x016B # LATIN SMALL LETTER U WITH MACRON +0xFF 0x02D9 # DOT ABOVE + +" +! ! + +!ISO8859_4 class methodsFor:'queries'! + +namesOfEncoding + ^ #( 'iso8859-4' 'iso-8859-4' 'latin4' 'latin-4' 'iso-ir-110') +! ! + +!ISO8859_4 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" 16r0138 " LATIN SMALL LETTER KRA " + "16r00A3" 16r0156 " LATIN CAPITAL LETTER R WITH CEDILLA " + "16r00A4" 16r00A4 " CURRENCY SIGN " + "16r00A5" 16r0128 " LATIN CAPITAL LETTER I WITH TILDE " + "16r00A6" 16r013B " LATIN CAPITAL LETTER L WITH CEDILLA " + "16r00A7" 16r00A7 " SECTION SIGN " + "16r00A8" 16r00A8 " DIAERESIS " + "16r00A9" 16r0160 " LATIN CAPITAL LETTER S WITH CARON " + "16r00AA" 16r0112 " LATIN CAPITAL LETTER E WITH MACRON " + "16r00AB" 16r0122 " LATIN CAPITAL LETTER G WITH CEDILLA " + "16r00AC" 16r0166 " LATIN CAPITAL LETTER T WITH STROKE " + "16r00AD" 16r00AD " SOFT HYPHEN " + "16r00AE" 16r017D " LATIN CAPITAL LETTER Z WITH CARON " + "16r00AF" 16r00AF " MACRON " + "16r00B0" 16r00B0 " DEGREE SIGN " + "16r00B1" 16r0105 " LATIN SMALL LETTER A WITH OGONEK " + "16r00B2" 16r02DB " OGONEK " + "16r00B3" 16r0157 " LATIN SMALL LETTER R WITH CEDILLA " + "16r00B4" 16r00B4 " ACUTE ACCENT " + "16r00B5" 16r0129 " LATIN SMALL LETTER I WITH TILDE " + "16r00B6" 16r013C " LATIN SMALL LETTER L WITH CEDILLA " + "16r00B7" 16r02C7 " CARON " + "16r00B8" 16r00B8 " CEDILLA " + "16r00B9" 16r0161 " LATIN SMALL LETTER S WITH CARON " + "16r00BA" 16r0113 " LATIN SMALL LETTER E WITH MACRON " + "16r00BB" 16r0123 " LATIN SMALL LETTER G WITH CEDILLA " + "16r00BC" 16r0167 " LATIN SMALL LETTER T WITH STROKE " + "16r00BD" 16r014A " LATIN CAPITAL LETTER ENG " + "16r00BE" 16r017E " LATIN SMALL LETTER Z WITH CARON " + "16r00BF" 16r014B " LATIN SMALL LETTER ENG " + "16r00C0" 16r0100 " LATIN CAPITAL LETTER A WITH MACRON " + "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" 16r012E " LATIN CAPITAL LETTER I WITH OGONEK " + "16r00C8" 16r010C " LATIN CAPITAL LETTER C WITH CARON " + "16r00C9" 16r00C9 " LATIN CAPITAL LETTER E WITH ACUTE " + "16r00CA" 16r0118 " LATIN CAPITAL LETTER E WITH OGONEK " + "16r00CB" 16r00CB " LATIN CAPITAL LETTER E WITH DIAERESIS " + "16r00CC" 16r0116 " LATIN CAPITAL LETTER E WITH DOT ABOVE " + "16r00CD" 16r00CD " LATIN CAPITAL LETTER I WITH ACUTE " + "16r00CE" 16r00CE " LATIN CAPITAL LETTER I WITH CIRCUMFLEX " + "16r00CF" 16r012A " LATIN CAPITAL LETTER I WITH MACRON " + "16r00D0" 16r0110 " LATIN CAPITAL LETTER D WITH STROKE " + "16r00D1" 16r0145 " LATIN CAPITAL LETTER N WITH CEDILLA " + "16r00D2" 16r014C " LATIN CAPITAL LETTER O WITH MACRON " + "16r00D3" 16r0136 " LATIN CAPITAL LETTER K WITH CEDILLA " + "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" 16r00D7 " MULTIPLICATION SIGN " + "16r00D8" 16r00D8 " LATIN CAPITAL LETTER O WITH STROKE " + "16r00D9" 16r0172 " LATIN CAPITAL LETTER U WITH OGONEK " + "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" 16r0168 " LATIN CAPITAL LETTER U WITH TILDE " + "16r00DE" 16r016A " LATIN CAPITAL LETTER U WITH MACRON " + "16r00DF" 16r00DF " LATIN SMALL LETTER SHARP S " + "16r00E0" 16r0101 " LATIN SMALL LETTER A WITH MACRON " + "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" 16r012F " LATIN SMALL LETTER I WITH OGONEK " + "16r00E8" 16r010D " LATIN SMALL LETTER C WITH CARON " + "16r00E9" 16r00E9 " LATIN SMALL LETTER E WITH ACUTE " + "16r00EA" 16r0119 " LATIN SMALL LETTER E WITH OGONEK " + "16r00EB" 16r00EB " LATIN SMALL LETTER E WITH DIAERESIS " + "16r00EC" 16r0117 " LATIN SMALL LETTER E WITH DOT ABOVE " + "16r00ED" 16r00ED " LATIN SMALL LETTER I WITH ACUTE " + "16r00EE" 16r00EE " LATIN SMALL LETTER I WITH CIRCUMFLEX " + "16r00EF" 16r012B " LATIN SMALL LETTER I WITH MACRON " + "16r00F0" 16r0111 " LATIN SMALL LETTER D WITH STROKE " + "16r00F1" 16r0146 " LATIN SMALL LETTER N WITH CEDILLA " + "16r00F2" 16r014D " LATIN SMALL LETTER O WITH MACRON " + "16r00F3" 16r0137 " LATIN SMALL LETTER K WITH CEDILLA " + "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" 16r00F7 " DIVISION SIGN " + "16r00F8" 16r00F8 " LATIN SMALL LETTER O WITH STROKE " + "16r00F9" 16r0173 " LATIN SMALL LETTER U WITH OGONEK " + "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" 16r0169 " LATIN SMALL LETTER U WITH TILDE " + "16r00FE" 16r016B " LATIN SMALL LETTER U WITH MACRON " + "16r00FF" 16r02D9 " DOT ABOVE " + ) 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 > 16r2DB ifTrue:[ + ^ self encodingError. + ]. + unicode <= 16r17E ifTrue:[ + unicode <= 16rFF ifTrue:[ + (#[ + "16r00A1" 0 " invalid " + "16r00A2" 0 " invalid " + "16r00A3" 0 " invalid " + "16r00A4" 1 " CURRENCY SIGN " + "16r00A5" 0 " invalid " + "16r00A6" 0 " invalid " + "16r00A7" 1 " SECTION SIGN " + "16r00A8" 1 " DIAERESIS " + "16r00A9" 0 " invalid " + "16r00AA" 0 " invalid " + "16r00AB" 0 " invalid " + "16r00AC" 0 " invalid " + "16r00AD" 1 " SOFT HYPHEN " + "16r00AE" 0 " invalid " + "16r00AF" 1 " MACRON " + "16r00B0" 1 " DEGREE SIGN " + "16r00B1" 0 " invalid " + "16r00B2" 0 " invalid " + "16r00B3" 0 " invalid " + "16r00B4" 1 " ACUTE ACCENT " + "16r00B5" 0 " invalid " + "16r00B6" 0 " invalid " + "16r00B7" 0 " invalid " + "16r00B8" 1 " CEDILLA " + "16r00B9" 0 " invalid " + "16r00BA" 0 " invalid " + "16r00BB" 0 " invalid " + "16r00BC" 0 " invalid " + "16r00BD" 0 " invalid " + "16r00BE" 0 " invalid " + "16r00BF" 0 " invalid " + "16r00C0" 0 " invalid " + "16r00C1" 1 " LATIN CAPITAL LETTER A WITH ACUTE " + "16r00C2" 1 " LATIN CAPITAL LETTER A WITH CIRCUMFLEX " + "16r00C3" 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" 0 " invalid " + "16r00C8" 0 " invalid " + "16r00C9" 1 " LATIN CAPITAL LETTER E WITH ACUTE " + "16r00CA" 0 " invalid " + "16r00CB" 1 " LATIN CAPITAL LETTER E WITH DIAERESIS " + "16r00CC" 0 " invalid " + "16r00CD" 1 " LATIN CAPITAL LETTER I WITH ACUTE " + "16r00CE" 1 " LATIN CAPITAL LETTER I WITH CIRCUMFLEX " + "16r00CF" 0 " invalid " + "16r00D0" 0 " invalid " + "16r00D1" 0 " invalid " + "16r00D2" 0 " invalid " + "16r00D3" 0 " invalid " + "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" 1 " MULTIPLICATION SIGN " + "16r00D8" 1 " LATIN CAPITAL LETTER O WITH STROKE " + "16r00D9" 0 " invalid " + "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" 0 " invalid " + "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" 0 " invalid " + "16r00E8" 0 " invalid " + "16r00E9" 1 " LATIN SMALL LETTER E WITH ACUTE " + "16r00EA" 0 " invalid " + "16r00EB" 1 " LATIN SMALL LETTER E WITH DIAERESIS " + "16r00EC" 0 " invalid " + "16r00ED" 1 " LATIN SMALL LETTER I WITH ACUTE " + "16r00EE" 1 " LATIN SMALL LETTER I WITH CIRCUMFLEX " + "16r00EF" 0 " invalid " + "16r00F0" 0 " invalid " + "16r00F1" 0 " invalid " + "16r00F2" 0 " invalid " + "16r00F3" 0 " invalid " + "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" 1 " DIVISION SIGN " + "16r00F8" 1 " LATIN SMALL LETTER O WITH STROKE " + "16r00F9" 0 " invalid " + "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" 0 " invalid " + ] at:(unicode - 160)) ~~ 0 ifTrue:[^ unicode]. + ^ self encodingError. + ]. + [ + |t| + t := #[ + "16r0100" 16rC0 " LATIN CAPITAL LETTER A WITH MACRON " + "16r0101" 16rE0 " LATIN SMALL LETTER A WITH MACRON " + "16r0102" 16r00 " invalid " + "16r0103" 16r00 " invalid " + "16r0104" 16rA1 " LATIN CAPITAL LETTER A WITH OGONEK " + "16r0105" 16rB1 " LATIN SMALL LETTER A WITH OGONEK " + "16r0106" 16r00 " invalid " + "16r0107" 16r00 " invalid " + "16r0108" 16r00 " invalid " + "16r0109" 16r00 " invalid " + "16r010A" 16r00 " invalid " + "16r010B" 16r00 " invalid " + "16r010C" 16rC8 " LATIN CAPITAL LETTER C WITH CARON " + "16r010D" 16rE8 " LATIN SMALL LETTER C WITH CARON " + "16r010E" 16r00 " invalid " + "16r010F" 16r00 " invalid " + "16r0110" 16rD0 " LATIN CAPITAL LETTER D WITH STROKE " + "16r0111" 16rF0 " LATIN SMALL LETTER D WITH STROKE " + "16r0112" 16rAA " LATIN CAPITAL LETTER E WITH MACRON " + "16r0113" 16rBA " LATIN SMALL LETTER E WITH MACRON " + "16r0114" 16r00 " invalid " + "16r0115" 16r00 " invalid " + "16r0116" 16rCC " LATIN CAPITAL LETTER E WITH DOT ABOVE " + "16r0117" 16rEC " LATIN SMALL LETTER E WITH DOT ABOVE " + "16r0118" 16rCA " LATIN CAPITAL LETTER E WITH OGONEK " + "16r0119" 16rEA " LATIN SMALL LETTER E WITH OGONEK " + "16r011A" 16r00 " invalid " + "16r011B" 16r00 " invalid " + "16r011C" 16r00 " invalid " + "16r011D" 16r00 " invalid " + "16r011E" 16r00 " invalid " + "16r011F" 16r00 " invalid " + "16r0120" 16r00 " invalid " + "16r0121" 16r00 " invalid " + "16r0122" 16rAB " LATIN CAPITAL LETTER G WITH CEDILLA " + "16r0123" 16rBB " LATIN SMALL LETTER G WITH CEDILLA " + "16r0124" 16r00 " invalid " + "16r0125" 16r00 " invalid " + "16r0126" 16r00 " invalid " + "16r0127" 16r00 " invalid " + "16r0128" 16rA5 " LATIN CAPITAL LETTER I WITH TILDE " + "16r0129" 16rB5 " LATIN SMALL LETTER I WITH TILDE " + "16r012A" 16rCF " LATIN CAPITAL LETTER I WITH MACRON " + "16r012B" 16rEF " LATIN SMALL LETTER I WITH MACRON " + "16r012C" 16r00 " invalid " + "16r012D" 16r00 " invalid " + "16r012E" 16rC7 " LATIN CAPITAL LETTER I WITH OGONEK " + "16r012F" 16rE7 " LATIN SMALL LETTER I WITH OGONEK " + "16r0130" 16r00 " invalid " + "16r0131" 16r00 " invalid " + "16r0132" 16r00 " invalid " + "16r0133" 16r00 " invalid " + "16r0134" 16r00 " invalid " + "16r0135" 16r00 " invalid " + "16r0136" 16rD3 " LATIN CAPITAL LETTER K WITH CEDILLA " + "16r0137" 16rF3 " LATIN SMALL LETTER K WITH CEDILLA " + "16r0138" 16rA2 " LATIN SMALL LETTER KRA " + "16r0139" 16r00 " invalid " + "16r013A" 16r00 " invalid " + "16r013B" 16rA6 " LATIN CAPITAL LETTER L WITH CEDILLA " + "16r013C" 16rB6 " LATIN SMALL LETTER L WITH CEDILLA " + "16r013D" 16r00 " invalid " + "16r013E" 16r00 " invalid " + "16r013F" 16r00 " invalid " + "16r0140" 16r00 " invalid " + "16r0141" 16r00 " invalid " + "16r0142" 16r00 " invalid " + "16r0143" 16r00 " invalid " + "16r0144" 16r00 " invalid " + "16r0145" 16rD1 " LATIN CAPITAL LETTER N WITH CEDILLA " + "16r0146" 16rF1 " LATIN SMALL LETTER N WITH CEDILLA " + "16r0147" 16r00 " invalid " + "16r0148" 16r00 " invalid " + "16r0149" 16r00 " invalid " + "16r014A" 16rBD " LATIN CAPITAL LETTER ENG " + "16r014B" 16rBF " LATIN SMALL LETTER ENG " + "16r014C" 16rD2 " LATIN CAPITAL LETTER O WITH MACRON " + "16r014D" 16rF2 " LATIN SMALL LETTER O WITH MACRON " + "16r014E" 16r00 " invalid " + "16r014F" 16r00 " invalid " + "16r0150" 16r00 " invalid " + "16r0151" 16r00 " invalid " + "16r0152" 16r00 " invalid " + "16r0153" 16r00 " invalid " + "16r0154" 16r00 " invalid " + "16r0155" 16r00 " invalid " + "16r0156" 16rA3 " LATIN CAPITAL LETTER R WITH CEDILLA " + "16r0157" 16rB3 " LATIN SMALL LETTER R WITH CEDILLA " + "16r0158" 16r00 " invalid " + "16r0159" 16r00 " invalid " + "16r015A" 16r00 " invalid " + "16r015B" 16r00 " invalid " + "16r015C" 16r00 " invalid " + "16r015D" 16r00 " invalid " + "16r015E" 16r00 " invalid " + "16r015F" 16r00 " invalid " + "16r0160" 16rA9 " LATIN CAPITAL LETTER S WITH CARON " + "16r0161" 16rB9 " LATIN SMALL LETTER S WITH CARON " + "16r0162" 16r00 " invalid " + "16r0163" 16r00 " invalid " + "16r0164" 16r00 " invalid " + "16r0165" 16r00 " invalid " + "16r0166" 16rAC " LATIN CAPITAL LETTER T WITH STROKE " + "16r0167" 16rBC " LATIN SMALL LETTER T WITH STROKE " + "16r0168" 16rDD " LATIN CAPITAL LETTER U WITH TILDE " + "16r0169" 16rFD " LATIN SMALL LETTER U WITH TILDE " + "16r016A" 16rDE " LATIN CAPITAL LETTER U WITH MACRON " + "16r016B" 16rFE " LATIN SMALL LETTER U WITH MACRON " + "16r016C" 16r00 " invalid " + "16r016D" 16r00 " invalid " + "16r016E" 16r00 " invalid " + "16r016F" 16r00 " invalid " + "16r0170" 16r00 " invalid " + "16r0171" 16r00 " invalid " + "16r0172" 16rD9 " LATIN CAPITAL LETTER U WITH OGONEK " + "16r0173" 16rF9 " LATIN SMALL LETTER U WITH OGONEK " + "16r0174" 16r00 " invalid " + "16r0175" 16r00 " invalid " + "16r0176" 16r00 " invalid " + "16r0177" 16r00 " invalid " + "16r0178" 16r00 " invalid " + "16r0179" 16r00 " invalid " + "16r017A" 16r00 " invalid " + "16r017B" 16r00 " invalid " + "16r017C" 16r00 " invalid " + "16r017D" 16rAE " LATIN CAPITAL LETTER Z WITH CARON " + "16r017E" 16rBE " LATIN SMALL LETTER Z WITH CARON " + ] at:(unicode - 16rFF). + t == 0 ifFalse:[^ t]. + ^ self encodingError + ] value. + ]. + unicode <= 16r2C6 ifTrue:[ + ^ self encodingError. + ]. + unicode == 16r2C7 ifTrue:[ + ^ "16r02C7" 16r00B7 " CARON " + ]. + unicode <= 16r2D8 ifTrue:[ + ^ self encodingError. + ]. + [ + |t| + t := #[ + "16r02D9" 16rFF " DOT ABOVE " + "16r02DA" 16r00 " invalid " + "16r02DB" 16rB2 " OGONEK " + ] at:(unicode - 16r2D8). + t == 0 ifFalse:[^ t]. + ^ self encodingError + ] value. +! ! + +!ISO8859_4 class methodsFor:'documentation'! + +version + ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_4.st,v 1.1 2004-03-05 17:21:29 cg Exp $' +! !