--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/CharacterEncoderImplementations__ISO8859_6.st Fri Mar 05 18:28:27 2004 +0100
@@ -0,0 +1,523 @@
+"{ Encoding: utf8 }"
+
+"{ Package: 'stx:libbasic' }"
+
+"{ NameSpace: CharacterEncoderImplementations }"
+
+SingleByteEncoder subclass:#ISO8859_6
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'Collections-Text-Encodings'
+!
+
+
+!ISO8859_6 class methodsFor:'mapping'!
+
+mapFileURL1_relativePathName
+ ^ 'ISO8859/8859-6.TXT'
+!
+
+mapping
+"
+# From: http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-6.TXT
+
+#
+# Name: ISO 8859-6:1999 to Unicode
+# Unicode version: 3.0
+# Table version: 1.0
+# Table format: Format A
+# Date: 1999 July 27
+# Authors: Ken Whistler <kenw@sybase.com>
+#
+# 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-6:1999 characters map into Unicode.
+#
+# Format: Three tab-separated columns
+# Column #1 is the ISO/IEC 8859-6 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-6 order.
+#
+# Version history
+# 1.0 version updates 0.1 version by adding mappings for all
+# control characters.
+# 0x30..0x39 remapped to the ASCII digits (U+0030..U+0039) instead
+# of the Arabic digits (U+0660..U+0669).
+#
+# 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
+0xA4 0x00A4 # CURRENCY SIGN
+0xAC 0x060C # ARABIC COMMA
+0xAD 0x00AD # SOFT HYPHEN
+0xBB 0x061B # ARABIC SEMICOLON
+0xBF 0x061F # ARABIC QUESTION MARK
+0xC1 0x0621 # ARABIC LETTER HAMZA
+0xC2 0x0622 # ARABIC LETTER ALEF WITH MADDA ABOVE
+0xC3 0x0623 # ARABIC LETTER ALEF WITH HAMZA ABOVE
+0xC4 0x0624 # ARABIC LETTER WAW WITH HAMZA ABOVE
+0xC5 0x0625 # ARABIC LETTER ALEF WITH HAMZA BELOW
+0xC6 0x0626 # ARABIC LETTER YEH WITH HAMZA ABOVE
+0xC7 0x0627 # ARABIC LETTER ALEF
+0xC8 0x0628 # ARABIC LETTER BEH
+0xC9 0x0629 # ARABIC LETTER TEH MARBUTA
+0xCA 0x062A # ARABIC LETTER TEH
+0xCB 0x062B # ARABIC LETTER THEH
+0xCC 0x062C # ARABIC LETTER JEEM
+0xCD 0x062D # ARABIC LETTER HAH
+0xCE 0x062E # ARABIC LETTER KHAH
+0xCF 0x062F # ARABIC LETTER DAL
+0xD0 0x0630 # ARABIC LETTER THAL
+0xD1 0x0631 # ARABIC LETTER REH
+0xD2 0x0632 # ARABIC LETTER ZAIN
+0xD3 0x0633 # ARABIC LETTER SEEN
+0xD4 0x0634 # ARABIC LETTER SHEEN
+0xD5 0x0635 # ARABIC LETTER SAD
+0xD6 0x0636 # ARABIC LETTER DAD
+0xD7 0x0637 # ARABIC LETTER TAH
+0xD8 0x0638 # ARABIC LETTER ZAH
+0xD9 0x0639 # ARABIC LETTER AIN
+0xDA 0x063A # ARABIC LETTER GHAIN
+0xE0 0x0640 # ARABIC TATWEEL
+0xE1 0x0641 # ARABIC LETTER FEH
+0xE2 0x0642 # ARABIC LETTER QAF
+0xE3 0x0643 # ARABIC LETTER KAF
+0xE4 0x0644 # ARABIC LETTER LAM
+0xE5 0x0645 # ARABIC LETTER MEEM
+0xE6 0x0646 # ARABIC LETTER NOON
+0xE7 0x0647 # ARABIC LETTER HEH
+0xE8 0x0648 # ARABIC LETTER WAW
+0xE9 0x0649 # ARABIC LETTER ALEF MAKSURA
+0xEA 0x064A # ARABIC LETTER YEH
+0xEB 0x064B # ARABIC FATHATAN
+0xEC 0x064C # ARABIC DAMMATAN
+0xED 0x064D # ARABIC KASRATAN
+0xEE 0x064E # ARABIC FATHA
+0xEF 0x064F # ARABIC DAMMA
+0xF0 0x0650 # ARABIC KASRA
+0xF1 0x0651 # ARABIC SHADDA
+0xF2 0x0652 # ARABIC SUKUN
+
+"
+! !
+
+!ISO8859_6 class methodsFor:'queries'!
+
+namesOfEncoding
+ ^ #( 'iso8859-6' 'iso-8859-6' 'arabic' 'asmo-708' 'ecma-114' 'iso-ir-127' )
+!
+
+userFriendlyNameOfEncoding
+ ^ 'Arabic'
+! !
+
+!ISO8859_6 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 > 16rF2 ifTrue:[
+ ^ self decodingError.
+ ].
+ [
+ |t|
+ t := #(
+ "16r00A1" 16r0000 " invalid "
+ "16r00A2" 16r0000 " invalid "
+ "16r00A3" 16r0000 " invalid "
+ "16r00A4" 16r00A4 " CURRENCY SIGN "
+ "16r00A5" 16r0000 " invalid "
+ "16r00A6" 16r0000 " invalid "
+ "16r00A7" 16r0000 " invalid "
+ "16r00A8" 16r0000 " invalid "
+ "16r00A9" 16r0000 " invalid "
+ "16r00AA" 16r0000 " invalid "
+ "16r00AB" 16r0000 " invalid "
+ "16r00AC" 16r060C " ARABIC COMMA "
+ "16r00AD" 16r00AD " SOFT HYPHEN "
+ "16r00AE" 16r0000 " invalid "
+ "16r00AF" 16r0000 " invalid "
+ "16r00B0" 16r0000 " invalid "
+ "16r00B1" 16r0000 " invalid "
+ "16r00B2" 16r0000 " invalid "
+ "16r00B3" 16r0000 " invalid "
+ "16r00B4" 16r0000 " invalid "
+ "16r00B5" 16r0000 " invalid "
+ "16r00B6" 16r0000 " invalid "
+ "16r00B7" 16r0000 " invalid "
+ "16r00B8" 16r0000 " invalid "
+ "16r00B9" 16r0000 " invalid "
+ "16r00BA" 16r0000 " invalid "
+ "16r00BB" 16r061B " ARABIC SEMICOLON "
+ "16r00BC" 16r0000 " invalid "
+ "16r00BD" 16r0000 " invalid "
+ "16r00BE" 16r0000 " invalid "
+ "16r00BF" 16r061F " ARABIC QUESTION MARK "
+ "16r00C0" 16r0000 " invalid "
+ "16r00C1" 16r0621 " ARABIC LETTER HAMZA "
+ "16r00C2" 16r0622 " ARABIC LETTER ALEF WITH MADDA ABOVE "
+ "16r00C3" 16r0623 " ARABIC LETTER ALEF WITH HAMZA ABOVE "
+ "16r00C4" 16r0624 " ARABIC LETTER WAW WITH HAMZA ABOVE "
+ "16r00C5" 16r0625 " ARABIC LETTER ALEF WITH HAMZA BELOW "
+ "16r00C6" 16r0626 " ARABIC LETTER YEH WITH HAMZA ABOVE "
+ "16r00C7" 16r0627 " ARABIC LETTER ALEF "
+ "16r00C8" 16r0628 " ARABIC LETTER BEH "
+ "16r00C9" 16r0629 " ARABIC LETTER TEH MARBUTA "
+ "16r00CA" 16r062A " ARABIC LETTER TEH "
+ "16r00CB" 16r062B " ARABIC LETTER THEH "
+ "16r00CC" 16r062C " ARABIC LETTER JEEM "
+ "16r00CD" 16r062D " ARABIC LETTER HAH "
+ "16r00CE" 16r062E " ARABIC LETTER KHAH "
+ "16r00CF" 16r062F " ARABIC LETTER DAL "
+ "16r00D0" 16r0630 " ARABIC LETTER THAL "
+ "16r00D1" 16r0631 " ARABIC LETTER REH "
+ "16r00D2" 16r0632 " ARABIC LETTER ZAIN "
+ "16r00D3" 16r0633 " ARABIC LETTER SEEN "
+ "16r00D4" 16r0634 " ARABIC LETTER SHEEN "
+ "16r00D5" 16r0635 " ARABIC LETTER SAD "
+ "16r00D6" 16r0636 " ARABIC LETTER DAD "
+ "16r00D7" 16r0637 " ARABIC LETTER TAH "
+ "16r00D8" 16r0638 " ARABIC LETTER ZAH "
+ "16r00D9" 16r0639 " ARABIC LETTER AIN "
+ "16r00DA" 16r063A " ARABIC LETTER GHAIN "
+ "16r00DB" 16r0000 " invalid "
+ "16r00DC" 16r0000 " invalid "
+ "16r00DD" 16r0000 " invalid "
+ "16r00DE" 16r0000 " invalid "
+ "16r00DF" 16r0000 " invalid "
+ "16r00E0" 16r0640 " ARABIC TATWEEL "
+ "16r00E1" 16r0641 " ARABIC LETTER FEH "
+ "16r00E2" 16r0642 " ARABIC LETTER QAF "
+ "16r00E3" 16r0643 " ARABIC LETTER KAF "
+ "16r00E4" 16r0644 " ARABIC LETTER LAM "
+ "16r00E5" 16r0645 " ARABIC LETTER MEEM "
+ "16r00E6" 16r0646 " ARABIC LETTER NOON "
+ "16r00E7" 16r0647 " ARABIC LETTER HEH "
+ "16r00E8" 16r0648 " ARABIC LETTER WAW "
+ "16r00E9" 16r0649 " ARABIC LETTER ALEF MAKSURA "
+ "16r00EA" 16r064A " ARABIC LETTER YEH "
+ "16r00EB" 16r064B " ARABIC FATHATAN "
+ "16r00EC" 16r064C " ARABIC DAMMATAN "
+ "16r00ED" 16r064D " ARABIC KASRATAN "
+ "16r00EE" 16r064E " ARABIC FATHA "
+ "16r00EF" 16r064F " ARABIC DAMMA "
+ "16r00F0" 16r0650 " ARABIC KASRA "
+ "16r00F1" 16r0651 " ARABIC SHADDA "
+ "16r00F2" 16r0652 " ARABIC SUKUN "
+ ) at:(code - 16rA0).
+ t == 0 ifFalse:[^ t].
+ ^ self decodingError.
+ ] value.
+!
+
+encode:unicodeArg
+ "Automagically generated by generateCode - do not modify.
+ Encode from unicode into my encoding."
+
+ |unicode "{ Class: SmallInteger }"|
+
+ unicode := unicodeArg.
+ unicode <= 16rA0 ifTrue:[ ^ unicode ].
+ unicode > 16r652 ifTrue:[
+ ^ self encodingError.
+ ].
+ unicode <= 16rAD ifTrue:[
+ [
+ |t|
+ t := #[
+ "16r00A1" 16r00 " invalid "
+ "16r00A2" 16r00 " invalid "
+ "16r00A3" 16r00 " invalid "
+ "16r00A4" 16rA4 " CURRENCY SIGN "
+ "16r00A5" 16r00 " invalid "
+ "16r00A6" 16r00 " invalid "
+ "16r00A7" 16r00 " invalid "
+ "16r00A8" 16r00 " invalid "
+ "16r00A9" 16r00 " invalid "
+ "16r00AA" 16r00 " invalid "
+ "16r00AB" 16r00 " invalid "
+ "16r00AC" 16r00 " invalid "
+ "16r00AD" 16rAD " SOFT HYPHEN "
+ ] at:(unicode - 16rA0).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 16r60B ifTrue:[
+ ^ self encodingError.
+ ].
+ [
+ |t|
+ t := #[
+ "16r060C" 16rAC " ARABIC COMMA "
+ "16r060D" 16r00 " invalid "
+ "16r060E" 16r00 " invalid "
+ "16r060F" 16r00 " invalid "
+ "16r0610" 16r00 " invalid "
+ "16r0611" 16r00 " invalid "
+ "16r0612" 16r00 " invalid "
+ "16r0613" 16r00 " invalid "
+ "16r0614" 16r00 " invalid "
+ "16r0615" 16r00 " invalid "
+ "16r0616" 16r00 " invalid "
+ "16r0617" 16r00 " invalid "
+ "16r0618" 16r00 " invalid "
+ "16r0619" 16r00 " invalid "
+ "16r061A" 16r00 " invalid "
+ "16r061B" 16rBB " ARABIC SEMICOLON "
+ "16r061C" 16r00 " invalid "
+ "16r061D" 16r00 " invalid "
+ "16r061E" 16r00 " invalid "
+ "16r061F" 16rBF " ARABIC QUESTION MARK "
+ "16r0620" 16r00 " invalid "
+ "16r0621" 16rC1 " ARABIC LETTER HAMZA "
+ "16r0622" 16rC2 " ARABIC LETTER ALEF WITH MADDA ABOVE "
+ "16r0623" 16rC3 " ARABIC LETTER ALEF WITH HAMZA ABOVE "
+ "16r0624" 16rC4 " ARABIC LETTER WAW WITH HAMZA ABOVE "
+ "16r0625" 16rC5 " ARABIC LETTER ALEF WITH HAMZA BELOW "
+ "16r0626" 16rC6 " ARABIC LETTER YEH WITH HAMZA ABOVE "
+ "16r0627" 16rC7 " ARABIC LETTER ALEF "
+ "16r0628" 16rC8 " ARABIC LETTER BEH "
+ "16r0629" 16rC9 " ARABIC LETTER TEH MARBUTA "
+ "16r062A" 16rCA " ARABIC LETTER TEH "
+ "16r062B" 16rCB " ARABIC LETTER THEH "
+ "16r062C" 16rCC " ARABIC LETTER JEEM "
+ "16r062D" 16rCD " ARABIC LETTER HAH "
+ "16r062E" 16rCE " ARABIC LETTER KHAH "
+ "16r062F" 16rCF " ARABIC LETTER DAL "
+ "16r0630" 16rD0 " ARABIC LETTER THAL "
+ "16r0631" 16rD1 " ARABIC LETTER REH "
+ "16r0632" 16rD2 " ARABIC LETTER ZAIN "
+ "16r0633" 16rD3 " ARABIC LETTER SEEN "
+ "16r0634" 16rD4 " ARABIC LETTER SHEEN "
+ "16r0635" 16rD5 " ARABIC LETTER SAD "
+ "16r0636" 16rD6 " ARABIC LETTER DAD "
+ "16r0637" 16rD7 " ARABIC LETTER TAH "
+ "16r0638" 16rD8 " ARABIC LETTER ZAH "
+ "16r0639" 16rD9 " ARABIC LETTER AIN "
+ "16r063A" 16rDA " ARABIC LETTER GHAIN "
+ "16r063B" 16r00 " invalid "
+ "16r063C" 16r00 " invalid "
+ "16r063D" 16r00 " invalid "
+ "16r063E" 16r00 " invalid "
+ "16r063F" 16r00 " invalid "
+ "16r0640" 16rE0 " ARABIC TATWEEL "
+ "16r0641" 16rE1 " ARABIC LETTER FEH "
+ "16r0642" 16rE2 " ARABIC LETTER QAF "
+ "16r0643" 16rE3 " ARABIC LETTER KAF "
+ "16r0644" 16rE4 " ARABIC LETTER LAM "
+ "16r0645" 16rE5 " ARABIC LETTER MEEM "
+ "16r0646" 16rE6 " ARABIC LETTER NOON "
+ "16r0647" 16rE7 " ARABIC LETTER HEH "
+ "16r0648" 16rE8 " ARABIC LETTER WAW "
+ "16r0649" 16rE9 " ARABIC LETTER ALEF MAKSURA "
+ "16r064A" 16rEA " ARABIC LETTER YEH "
+ "16r064B" 16rEB " ARABIC FATHATAN "
+ "16r064C" 16rEC " ARABIC DAMMATAN "
+ "16r064D" 16rED " ARABIC KASRATAN "
+ "16r064E" 16rEE " ARABIC FATHA "
+ "16r064F" 16rEF " ARABIC DAMMA "
+ "16r0650" 16rF0 " ARABIC KASRA "
+ "16r0651" 16rF1 " ARABIC SHADDA "
+ "16r0652" 16rF2 " ARABIC SUKUN "
+ ] at:(unicode - 16r60B).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+! !
+
+!ISO8859_6 class methodsFor:'documentation'!
+
+version
+ ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_6.st,v 1.1 2004-03-05 17:21:19 cg Exp $'
+! !