--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/CharacterEncoderImplementations__AdobeSymbol.st Wed Apr 26 16:18:48 2017 +0200
@@ -0,0 +1,1264 @@
+"
+ COPYRIGHT (c) 2017 by eXept Software AG
+ All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice. This software may not
+ be provided or otherwise made available to, or used by, any
+ other person. No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:libbasic' }"
+
+"{ NameSpace: CharacterEncoderImplementations }"
+
+SingleByteEncoder subclass:#AdobeSymbol
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'Collections-Text-Encodings'
+!
+
+!AdobeSymbol class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2017 by eXept Software AG
+ All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice. This software may not
+ be provided or otherwise made available to, or used by, any
+ other person. No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
+documentation
+"
+ Adobe Symbol Encoding.
+ see http://www.unicode.org/Public/MAPPINGS/VENDORS/ADOBE/symbol.txt
+
+ [see with:]
+ CharacterEncoderImplementations::AdobeSymbol showCharacterSet
+
+ [author:]
+ Claus Gittinger
+"
+! !
+
+!AdobeSymbol class methodsFor:'mapping'!
+
+mapFileURL1_relativePathName
+ "self generateCode"
+
+ ^ 'VENDORS/ADOBE/symbol.txt'
+!
+
+mapping
+"
+# From: http://www.unicode.org/Public/MAPPINGS/VENDORS/ADOBE/stdenc.txt
+
+#
+# Name: Adobe Symbol Encoding to Unicode
+# Unicode version: 2.0
+# Table version: 1.0
+# Date: 2011 July 12
+#
+# Copyright (c) 1991-2011 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
+# magnetic 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.
+#
+# Format: 4 tab-delimited fields:
+#
+# (1) The Unicode value (in hexadecimal)
+# (2) The Symbol Encoding code point (in hexadecimal)
+# (3) # Unicode name
+# (4) # PostScript character name
+#
+# General Notes:
+#
+# The Unicode values in this table were produced as the result of applying
+# the algorithm described in the section 'Populating a Unicode space' in the
+# document 'Unicode and Glyph Names,' at
+# http://partners.adobe.com/asn/developer/typeforum/unicodegn.html
+# to the characters in Symbol. Note that some characters, such as 'space',
+# are mapped to 2 Unicode values. 29 characters have assignments in the
+# Corporate Use Subarea; these are indicated by '(CUS)' in field 4. Refer to
+# the above document for more details.
+#
+# 2011 July 12: The above link is no longer valid. For comparable,
+# more current information, see the document, 'Glyph', at:
+# <http://www.adobe.com/devnet/opentype/archives/glyph.html>
+#
+# Revision History:
+#
+# [v1.0, 2011 July 12]
+# Updated terms of use to current wording.
+# Updated contact information and document link.
+# No changes to the mapping data.
+#
+# [v0.2, 30 March 1999]
+# Different algorithm to produce Unicode values (see notes above) results in
+# some character codes being mapped to 2 Unicode values; use of Corporate
+# Use subarea values; addition of the euro character; changed assignments of
+# some characters such as the COPYRIGHT SIGNs and RADICAL EXTENDER. Updated
+# Unicode names to Unicode 2.0 names.
+#
+# [v0.1, 5 May 1995] First release.
+#
+# Use the Unicode reporting form <http://www.unicode.org/reporting.html>
+# for any questions or comments or to report errors in the data.
+#
+0020 20 # SPACE # space
+00A0 20 # NO-BREAK SPACE # space
+0021 21 # EXCLAMATION MARK # exclam
+2200 22 # FOR ALL # universal
+0023 23 # NUMBER SIGN # numbersign
+2203 24 # THERE EXISTS # existential
+0025 25 # PERCENT SIGN # percent
+0026 26 # AMPERSAND # ampersand
+220B 27 # CONTAINS AS MEMBER # suchthat
+0028 28 # LEFT PARENTHESIS # parenleft
+0029 29 # RIGHT PARENTHESIS # parenright
+2217 2A # ASTERISK OPERATOR # asteriskmath
+002B 2B # PLUS SIGN # plus
+002C 2C # COMMA # comma
+2212 2D # MINUS SIGN # minus
+002E 2E # FULL STOP # period
+002F 2F # SOLIDUS # slash
+0030 30 # DIGIT ZERO # zero
+0031 31 # DIGIT ONE # one
+0032 32 # DIGIT TWO # two
+0033 33 # DIGIT THREE # three
+0034 34 # DIGIT FOUR # four
+0035 35 # DIGIT FIVE # five
+0036 36 # DIGIT SIX # six
+0037 37 # DIGIT SEVEN # seven
+0038 38 # DIGIT EIGHT # eight
+0039 39 # DIGIT NINE # nine
+003A 3A # COLON # colon
+003B 3B # SEMICOLON # semicolon
+003C 3C # LESS-THAN SIGN # less
+003D 3D # EQUALS SIGN # equal
+003E 3E # GREATER-THAN SIGN # greater
+003F 3F # QUESTION MARK # question
+2245 40 # APPROXIMATELY EQUAL TO # congruent
+0391 41 # GREEK CAPITAL LETTER ALPHA # Alpha
+0392 42 # GREEK CAPITAL LETTER BETA # Beta
+03A7 43 # GREEK CAPITAL LETTER CHI # Chi
+0394 44 # GREEK CAPITAL LETTER DELTA # Delta
+2206 44 # INCREMENT # Delta
+0395 45 # GREEK CAPITAL LETTER EPSILON # Epsilon
+03A6 46 # GREEK CAPITAL LETTER PHI # Phi
+0393 47 # GREEK CAPITAL LETTER GAMMA # Gamma
+0397 48 # GREEK CAPITAL LETTER ETA # Eta
+0399 49 # GREEK CAPITAL LETTER IOTA # Iota
+03D1 4A # GREEK THETA SYMBOL # theta1
+039A 4B # GREEK CAPITAL LETTER KAPPA # Kappa
+039B 4C # GREEK CAPITAL LETTER LAMDA # Lambda
+039C 4D # GREEK CAPITAL LETTER MU # Mu
+039D 4E # GREEK CAPITAL LETTER NU # Nu
+039F 4F # GREEK CAPITAL LETTER OMICRON # Omicron
+03A0 50 # GREEK CAPITAL LETTER PI # Pi
+0398 51 # GREEK CAPITAL LETTER THETA # Theta
+03A1 52 # GREEK CAPITAL LETTER RHO # Rho
+03A3 53 # GREEK CAPITAL LETTER SIGMA # Sigma
+03A4 54 # GREEK CAPITAL LETTER TAU # Tau
+03A5 55 # GREEK CAPITAL LETTER UPSILON # Upsilon
+03C2 56 # GREEK SMALL LETTER FINAL SIGMA # sigma1
+03A9 57 # GREEK CAPITAL LETTER OMEGA # Omega
+2126 57 # OHM SIGN # Omega
+039E 58 # GREEK CAPITAL LETTER XI # Xi
+03A8 59 # GREEK CAPITAL LETTER PSI # Psi
+0396 5A # GREEK CAPITAL LETTER ZETA # Zeta
+005B 5B # LEFT SQUARE BRACKET # bracketleft
+2234 5C # THEREFORE # therefore
+005D 5D # RIGHT SQUARE BRACKET # bracketright
+22A5 5E # UP TACK # perpendicular
+005F 5F # LOW LINE # underscore
+F8E5 60 # RADICAL EXTENDER # radicalex (CUS)
+03B1 61 # GREEK SMALL LETTER ALPHA # alpha
+03B2 62 # GREEK SMALL LETTER BETA # beta
+03C7 63 # GREEK SMALL LETTER CHI # chi
+03B4 64 # GREEK SMALL LETTER DELTA # delta
+03B5 65 # GREEK SMALL LETTER EPSILON # epsilon
+03C6 66 # GREEK SMALL LETTER PHI # phi
+03B3 67 # GREEK SMALL LETTER GAMMA # gamma
+03B7 68 # GREEK SMALL LETTER ETA # eta
+03B9 69 # GREEK SMALL LETTER IOTA # iota
+03D5 6A # GREEK PHI SYMBOL # phi1
+03BA 6B # GREEK SMALL LETTER KAPPA # kappa
+03BB 6C # GREEK SMALL LETTER LAMDA # lambda
+00B5 6D # MICRO SIGN # mu
+03BC 6D # GREEK SMALL LETTER MU # mu
+03BD 6E # GREEK SMALL LETTER NU # nu
+03BF 6F # GREEK SMALL LETTER OMICRON # omicron
+03C0 70 # GREEK SMALL LETTER PI # pi
+03B8 71 # GREEK SMALL LETTER THETA # theta
+03C1 72 # GREEK SMALL LETTER RHO # rho
+03C3 73 # GREEK SMALL LETTER SIGMA # sigma
+03C4 74 # GREEK SMALL LETTER TAU # tau
+03C5 75 # GREEK SMALL LETTER UPSILON # upsilon
+03D6 76 # GREEK PI SYMBOL # omega1
+03C9 77 # GREEK SMALL LETTER OMEGA # omega
+03BE 78 # GREEK SMALL LETTER XI # xi
+03C8 79 # GREEK SMALL LETTER PSI # psi
+03B6 7A # GREEK SMALL LETTER ZETA # zeta
+007B 7B # LEFT CURLY BRACKET # braceleft
+007C 7C # VERTICAL LINE # bar
+007D 7D # RIGHT CURLY BRACKET # braceright
+223C 7E # TILDE OPERATOR # similar
+20AC A0 # EURO SIGN # Euro
+03D2 A1 # GREEK UPSILON WITH HOOK SYMBOL # Upsilon1
+2032 A2 # PRIME # minute
+2264 A3 # LESS-THAN OR EQUAL TO # lessequal
+2044 A4 # FRACTION SLASH # fraction
+2215 A4 # DIVISION SLASH # fraction
+221E A5 # INFINITY # infinity
+0192 A6 # LATIN SMALL LETTER F WITH HOOK # florin
+2663 A7 # BLACK CLUB SUIT # club
+2666 A8 # BLACK DIAMOND SUIT # diamond
+2665 A9 # BLACK HEART SUIT # heart
+2660 AA # BLACK SPADE SUIT # spade
+2194 AB # LEFT RIGHT ARROW # arrowboth
+2190 AC # LEFTWARDS ARROW # arrowleft
+2191 AD # UPWARDS ARROW # arrowup
+2192 AE # RIGHTWARDS ARROW # arrowright
+2193 AF # DOWNWARDS ARROW # arrowdown
+00B0 B0 # DEGREE SIGN # degree
+00B1 B1 # PLUS-MINUS SIGN # plusminus
+2033 B2 # DOUBLE PRIME # second
+2265 B3 # GREATER-THAN OR EQUAL TO # greaterequal
+00D7 B4 # MULTIPLICATION SIGN # multiply
+221D B5 # PROPORTIONAL TO # proportional
+2202 B6 # PARTIAL DIFFERENTIAL # partialdiff
+2022 B7 # BULLET # bullet
+00F7 B8 # DIVISION SIGN # divide
+2260 B9 # NOT EQUAL TO # notequal
+2261 BA # IDENTICAL TO # equivalence
+2248 BB # ALMOST EQUAL TO # approxequal
+2026 BC # HORIZONTAL ELLIPSIS # ellipsis
+F8E6 BD # VERTICAL ARROW EXTENDER # arrowvertex (CUS)
+F8E7 BE # HORIZONTAL ARROW EXTENDER # arrowhorizex (CUS)
+21B5 BF # DOWNWARDS ARROW WITH CORNER LEFTWARDS # carriagereturn
+2135 C0 # ALEF SYMBOL # aleph
+2111 C1 # BLACK-LETTER CAPITAL I # Ifraktur
+211C C2 # BLACK-LETTER CAPITAL R # Rfraktur
+2118 C3 # SCRIPT CAPITAL P # weierstrass
+2297 C4 # CIRCLED TIMES # circlemultiply
+2295 C5 # CIRCLED PLUS # circleplus
+2205 C6 # EMPTY SET # emptyset
+2229 C7 # INTERSECTION # intersection
+222A C8 # UNION # union
+2283 C9 # SUPERSET OF # propersuperset
+2287 CA # SUPERSET OF OR EQUAL TO # reflexsuperset
+2284 CB # NOT A SUBSET OF # notsubset
+2282 CC # SUBSET OF # propersubset
+2286 CD # SUBSET OF OR EQUAL TO # reflexsubset
+2208 CE # ELEMENT OF # element
+2209 CF # NOT AN ELEMENT OF # notelement
+2220 D0 # ANGLE # angle
+2207 D1 # NABLA # gradient
+F6DA D2 # REGISTERED SIGN SERIF # registerserif (CUS)
+F6D9 D3 # COPYRIGHT SIGN SERIF # copyrightserif (CUS)
+F6DB D4 # TRADE MARK SIGN SERIF # trademarkserif (CUS)
+220F D5 # N-ARY PRODUCT # product
+221A D6 # SQUARE ROOT # radical
+22C5 D7 # DOT OPERATOR # dotmath
+00AC D8 # NOT SIGN # logicalnot
+2227 D9 # LOGICAL AND # logicaland
+2228 DA # LOGICAL OR # logicalor
+21D4 DB # LEFT RIGHT DOUBLE ARROW # arrowdblboth
+21D0 DC # LEFTWARDS DOUBLE ARROW # arrowdblleft
+21D1 DD # UPWARDS DOUBLE ARROW # arrowdblup
+21D2 DE # RIGHTWARDS DOUBLE ARROW # arrowdblright
+21D3 DF # DOWNWARDS DOUBLE ARROW # arrowdbldown
+25CA E0 # LOZENGE # lozenge
+2329 E1 # LEFT-POINTING ANGLE BRACKET # angleleft
+F8E8 E2 # REGISTERED SIGN SANS SERIF # registersans (CUS)
+F8E9 E3 # COPYRIGHT SIGN SANS SERIF # copyrightsans (CUS)
+F8EA E4 # TRADE MARK SIGN SANS SERIF # trademarksans (CUS)
+2211 E5 # N-ARY SUMMATION # summation
+F8EB E6 # LEFT PAREN TOP # parenlefttp (CUS)
+F8EC E7 # LEFT PAREN EXTENDER # parenleftex (CUS)
+F8ED E8 # LEFT PAREN BOTTOM # parenleftbt (CUS)
+F8EE E9 # LEFT SQUARE BRACKET TOP # bracketlefttp (CUS)
+F8EF EA # LEFT SQUARE BRACKET EXTENDER # bracketleftex (CUS)
+F8F0 EB # LEFT SQUARE BRACKET BOTTOM # bracketleftbt (CUS)
+F8F1 EC # LEFT CURLY BRACKET TOP # bracelefttp (CUS)
+F8F2 ED # LEFT CURLY BRACKET MID # braceleftmid (CUS)
+F8F3 EE # LEFT CURLY BRACKET BOTTOM # braceleftbt (CUS)
+F8F4 EF # CURLY BRACKET EXTENDER # braceex (CUS)
+232A F1 # RIGHT-POINTING ANGLE BRACKET # angleright
+222B F2 # INTEGRAL # integral
+2320 F3 # TOP HALF INTEGRAL # integraltp
+F8F5 F4 # INTEGRAL EXTENDER # integralex (CUS)
+2321 F5 # BOTTOM HALF INTEGRAL # integralbt
+F8F6 F6 # RIGHT PAREN TOP # parenrighttp (CUS)
+F8F7 F7 # RIGHT PAREN EXTENDER # parenrightex (CUS)
+F8F8 F8 # RIGHT PAREN BOTTOM # parenrightbt (CUS)
+F8F9 F9 # RIGHT SQUARE BRACKET TOP # bracketrighttp (CUS)
+F8FA FA # RIGHT SQUARE BRACKET EXTENDER # bracketrightex (CUS)
+F8FB FB # RIGHT SQUARE BRACKET BOTTOM # bracketrightbt (CUS)
+F8FC FC # RIGHT CURLY BRACKET TOP # bracerighttp (CUS)
+F8FD FD # RIGHT CURLY BRACKET MID # bracerightmid (CUS)
+F8FE FE # RIGHT CURLY BRACKET BOTTOM # bracerightbt (CUS)
+"
+! !
+
+!AdobeSymbol methodsFor:'encoding & decoding'!
+
+decode:codeArg
+ "Automagically generated by generateCode - do not modify.
+ Decode from my encoding into unicode."
+
+ |code "{ Class: SmallInteger }"|
+
+ code := codeArg.
+ code <= 16r1F ifTrue:[
+ ^ self decodingError.
+ ].
+ code > 16rFE ifTrue:[
+ ^ self decodingError.
+ ].
+ [
+ |t|
+ t := #(
+ "16r0020" 16r00A0 " NO-BREAK SPACE # space "
+ "16r0021" 16r0021 " EXCLAMATION MARK # exclam "
+ "16r0022" 16r2200 " FOR ALL # universal "
+ "16r0023" 16r0023 " NUMBER SIGN # numbersign "
+ "16r0024" 16r2203 " THERE EXISTS # existential "
+ "16r0025" 16r0025 " PERCENT SIGN # percent "
+ "16r0026" 16r0026 " AMPERSAND # ampersand "
+ "16r0027" 16r220B " CONTAINS AS MEMBER # suchthat "
+ "16r0028" 16r0028 " LEFT PARENTHESIS # parenleft "
+ "16r0029" 16r0029 " RIGHT PARENTHESIS # parenright "
+ "16r002A" 16r2217 " ASTERISK OPERATOR # asteriskmath "
+ "16r002B" 16r002B " PLUS SIGN # plus "
+ "16r002C" 16r002C " COMMA # comma "
+ "16r002D" 16r2212 " MINUS SIGN # minus "
+ "16r002E" 16r002E " FULL STOP # period "
+ "16r002F" 16r002F " SOLIDUS # slash "
+ "16r0030" 16r0030 " DIGIT ZERO # zero "
+ "16r0031" 16r0031 " DIGIT ONE # one "
+ "16r0032" 16r0032 " DIGIT TWO # two "
+ "16r0033" 16r0033 " DIGIT THREE # three "
+ "16r0034" 16r0034 " DIGIT FOUR # four "
+ "16r0035" 16r0035 " DIGIT FIVE # five "
+ "16r0036" 16r0036 " DIGIT SIX # six "
+ "16r0037" 16r0037 " DIGIT SEVEN # seven "
+ "16r0038" 16r0038 " DIGIT EIGHT # eight "
+ "16r0039" 16r0039 " DIGIT NINE # nine "
+ "16r003A" 16r003A " COLON # colon "
+ "16r003B" 16r003B " SEMICOLON # semicolon "
+ "16r003C" 16r003C " LESS-THAN SIGN # less "
+ "16r003D" 16r003D " EQUALS SIGN # equal "
+ "16r003E" 16r003E " GREATER-THAN SIGN # greater "
+ "16r003F" 16r003F " QUESTION MARK # question "
+ "16r0040" 16r2245 " APPROXIMATELY EQUAL TO # congruent "
+ "16r0041" 16r0391 " GREEK CAPITAL LETTER ALPHA # Alpha "
+ "16r0042" 16r0392 " GREEK CAPITAL LETTER BETA # Beta "
+ "16r0043" 16r03A7 " GREEK CAPITAL LETTER CHI # Chi "
+ "16r0044" 16r2206 " INCREMENT # Delta "
+ "16r0045" 16r0395 " GREEK CAPITAL LETTER EPSILON # Epsilon "
+ "16r0046" 16r03A6 " GREEK CAPITAL LETTER PHI # Phi "
+ "16r0047" 16r0393 " GREEK CAPITAL LETTER GAMMA # Gamma "
+ "16r0048" 16r0397 " GREEK CAPITAL LETTER ETA # Eta "
+ "16r0049" 16r0399 " GREEK CAPITAL LETTER IOTA # Iota "
+ "16r004A" 16r03D1 " GREEK THETA SYMBOL # theta1 "
+ "16r004B" 16r039A " GREEK CAPITAL LETTER KAPPA # Kappa "
+ "16r004C" 16r039B " GREEK CAPITAL LETTER LAMDA # Lambda "
+ "16r004D" 16r039C " GREEK CAPITAL LETTER MU # Mu "
+ "16r004E" 16r039D " GREEK CAPITAL LETTER NU # Nu "
+ "16r004F" 16r039F " GREEK CAPITAL LETTER OMICRON # Omicron "
+ "16r0050" 16r03A0 " GREEK CAPITAL LETTER PI # Pi "
+ "16r0051" 16r0398 " GREEK CAPITAL LETTER THETA # Theta "
+ "16r0052" 16r03A1 " GREEK CAPITAL LETTER RHO # Rho "
+ "16r0053" 16r03A3 " GREEK CAPITAL LETTER SIGMA # Sigma "
+ "16r0054" 16r03A4 " GREEK CAPITAL LETTER TAU # Tau "
+ "16r0055" 16r03A5 " GREEK CAPITAL LETTER UPSILON # Upsilon "
+ "16r0056" 16r03C2 " GREEK SMALL LETTER FINAL SIGMA # sigma1 "
+ "16r0057" 16r2126 " OHM SIGN # Omega "
+ "16r0058" 16r039E " GREEK CAPITAL LETTER XI # Xi "
+ "16r0059" 16r03A8 " GREEK CAPITAL LETTER PSI # Psi "
+ "16r005A" 16r0396 " GREEK CAPITAL LETTER ZETA # Zeta "
+ "16r005B" 16r005B " LEFT SQUARE BRACKET # bracketleft "
+ "16r005C" 16r2234 " THEREFORE # therefore "
+ "16r005D" 16r005D " RIGHT SQUARE BRACKET # bracketright "
+ "16r005E" 16r22A5 " UP TACK # perpendicular "
+ "16r005F" 16r005F " LOW LINE # underscore "
+ "16r0060" 16rF8E5 " RADICAL EXTENDER # radicalex (CUS) "
+ "16r0061" 16r03B1 " GREEK SMALL LETTER ALPHA # alpha "
+ "16r0062" 16r03B2 " GREEK SMALL LETTER BETA # beta "
+ "16r0063" 16r03C7 " GREEK SMALL LETTER CHI # chi "
+ "16r0064" 16r03B4 " GREEK SMALL LETTER DELTA # delta "
+ "16r0065" 16r03B5 " GREEK SMALL LETTER EPSILON # epsilon "
+ "16r0066" 16r03C6 " GREEK SMALL LETTER PHI # phi "
+ "16r0067" 16r03B3 " GREEK SMALL LETTER GAMMA # gamma "
+ "16r0068" 16r03B7 " GREEK SMALL LETTER ETA # eta "
+ "16r0069" 16r03B9 " GREEK SMALL LETTER IOTA # iota "
+ "16r006A" 16r03D5 " GREEK PHI SYMBOL # phi1 "
+ "16r006B" 16r03BA " GREEK SMALL LETTER KAPPA # kappa "
+ "16r006C" 16r03BB " GREEK SMALL LETTER LAMDA # lambda "
+ "16r006D" 16r03BC " GREEK SMALL LETTER MU # mu "
+ "16r006E" 16r03BD " GREEK SMALL LETTER NU # nu "
+ "16r006F" 16r03BF " GREEK SMALL LETTER OMICRON # omicron "
+ "16r0070" 16r03C0 " GREEK SMALL LETTER PI # pi "
+ "16r0071" 16r03B8 " GREEK SMALL LETTER THETA # theta "
+ "16r0072" 16r03C1 " GREEK SMALL LETTER RHO # rho "
+ "16r0073" 16r03C3 " GREEK SMALL LETTER SIGMA # sigma "
+ "16r0074" 16r03C4 " GREEK SMALL LETTER TAU # tau "
+ "16r0075" 16r03C5 " GREEK SMALL LETTER UPSILON # upsilon "
+ "16r0076" 16r03D6 " GREEK PI SYMBOL # omega1 "
+ "16r0077" 16r03C9 " GREEK SMALL LETTER OMEGA # omega "
+ "16r0078" 16r03BE " GREEK SMALL LETTER XI # xi "
+ "16r0079" 16r03C8 " GREEK SMALL LETTER PSI # psi "
+ "16r007A" 16r03B6 " GREEK SMALL LETTER ZETA # zeta "
+ "16r007B" 16r007B " LEFT CURLY BRACKET # braceleft "
+ "16r007C" 16r007C " VERTICAL LINE # bar "
+ "16r007D" 16r007D " RIGHT CURLY BRACKET # braceright "
+ "16r007E" 16r223C " TILDE OPERATOR # similar "
+ "16r007F" 16r0000 " invalid "
+ "16r0080" 16r0000 " invalid "
+ "16r0081" 16r0000 " invalid "
+ "16r0082" 16r0000 " invalid "
+ "16r0083" 16r0000 " invalid "
+ "16r0084" 16r0000 " invalid "
+ "16r0085" 16r0000 " invalid "
+ "16r0086" 16r0000 " invalid "
+ "16r0087" 16r0000 " invalid "
+ "16r0088" 16r0000 " invalid "
+ "16r0089" 16r0000 " invalid "
+ "16r008A" 16r0000 " invalid "
+ "16r008B" 16r0000 " invalid "
+ "16r008C" 16r0000 " invalid "
+ "16r008D" 16r0000 " invalid "
+ "16r008E" 16r0000 " invalid "
+ "16r008F" 16r0000 " invalid "
+ "16r0090" 16r0000 " invalid "
+ "16r0091" 16r0000 " invalid "
+ "16r0092" 16r0000 " invalid "
+ "16r0093" 16r0000 " invalid "
+ "16r0094" 16r0000 " invalid "
+ "16r0095" 16r0000 " invalid "
+ "16r0096" 16r0000 " invalid "
+ "16r0097" 16r0000 " invalid "
+ "16r0098" 16r0000 " invalid "
+ "16r0099" 16r0000 " invalid "
+ "16r009A" 16r0000 " invalid "
+ "16r009B" 16r0000 " invalid "
+ "16r009C" 16r0000 " invalid "
+ "16r009D" 16r0000 " invalid "
+ "16r009E" 16r0000 " invalid "
+ "16r009F" 16r0000 " invalid "
+ "16r00A0" 16r20AC " EURO SIGN # Euro "
+ "16r00A1" 16r03D2 " GREEK UPSILON WITH HOOK SYMBOL # Upsilon1 "
+ "16r00A2" 16r2032 " PRIME # minute "
+ "16r00A3" 16r2264 " LESS-THAN OR EQUAL TO # lessequal "
+ "16r00A4" 16r2215 " DIVISION SLASH # fraction "
+ "16r00A5" 16r221E " INFINITY # infinity "
+ "16r00A6" 16r0192 " LATIN SMALL LETTER F WITH HOOK # florin "
+ "16r00A7" 16r2663 " BLACK CLUB SUIT # club "
+ "16r00A8" 16r2666 " BLACK DIAMOND SUIT # diamond "
+ "16r00A9" 16r2665 " BLACK HEART SUIT # heart "
+ "16r00AA" 16r2660 " BLACK SPADE SUIT # spade "
+ "16r00AB" 16r2194 " LEFT RIGHT ARROW # arrowboth "
+ "16r00AC" 16r2190 " LEFTWARDS ARROW # arrowleft "
+ "16r00AD" 16r2191 " UPWARDS ARROW # arrowup "
+ "16r00AE" 16r2192 " RIGHTWARDS ARROW # arrowright "
+ "16r00AF" 16r2193 " DOWNWARDS ARROW # arrowdown "
+ "16r00B0" 16r00B0 " DEGREE SIGN # degree "
+ "16r00B1" 16r00B1 " PLUS-MINUS SIGN # plusminus "
+ "16r00B2" 16r2033 " DOUBLE PRIME # second "
+ "16r00B3" 16r2265 " GREATER-THAN OR EQUAL TO # greaterequal "
+ "16r00B4" 16r00D7 " MULTIPLICATION SIGN # multiply "
+ "16r00B5" 16r221D " PROPORTIONAL TO # proportional "
+ "16r00B6" 16r2202 " PARTIAL DIFFERENTIAL # partialdiff "
+ "16r00B7" 16r2022 " BULLET # bullet "
+ "16r00B8" 16r00F7 " DIVISION SIGN # divide "
+ "16r00B9" 16r2260 " NOT EQUAL TO # notequal "
+ "16r00BA" 16r2261 " IDENTICAL TO # equivalence "
+ "16r00BB" 16r2248 " ALMOST EQUAL TO # approxequal "
+ "16r00BC" 16r2026 " HORIZONTAL ELLIPSIS # ellipsis "
+ "16r00BD" 16rF8E6 " VERTICAL ARROW EXTENDER # arrowvertex (CUS) "
+ "16r00BE" 16rF8E7 " HORIZONTAL ARROW EXTENDER # arrowhorizex (CUS) "
+ "16r00BF" 16r21B5 " DOWNWARDS ARROW WITH CORNER LEFTWARDS # carriagereturn "
+ "16r00C0" 16r2135 " ALEF SYMBOL # aleph "
+ "16r00C1" 16r2111 " BLACK-LETTER CAPITAL I # Ifraktur "
+ "16r00C2" 16r211C " BLACK-LETTER CAPITAL R # Rfraktur "
+ "16r00C3" 16r2118 " SCRIPT CAPITAL P # weierstrass "
+ "16r00C4" 16r2297 " CIRCLED TIMES # circlemultiply "
+ "16r00C5" 16r2295 " CIRCLED PLUS # circleplus "
+ "16r00C6" 16r2205 " EMPTY SET # emptyset "
+ "16r00C7" 16r2229 " INTERSECTION # intersection "
+ "16r00C8" 16r222A " UNION # union "
+ "16r00C9" 16r2283 " SUPERSET OF # propersuperset "
+ "16r00CA" 16r2287 " SUPERSET OF OR EQUAL TO # reflexsuperset "
+ "16r00CB" 16r2284 " NOT A SUBSET OF # notsubset "
+ "16r00CC" 16r2282 " SUBSET OF # propersubset "
+ "16r00CD" 16r2286 " SUBSET OF OR EQUAL TO # reflexsubset "
+ "16r00CE" 16r2208 " ELEMENT OF # element "
+ "16r00CF" 16r2209 " NOT AN ELEMENT OF # notelement "
+ "16r00D0" 16r2220 " ANGLE # angle "
+ "16r00D1" 16r2207 " NABLA # gradient "
+ "16r00D2" 16rF6DA " REGISTERED SIGN SERIF # registerserif (CUS) "
+ "16r00D3" 16rF6D9 " COPYRIGHT SIGN SERIF # copyrightserif (CUS) "
+ "16r00D4" 16rF6DB " TRADE MARK SIGN SERIF # trademarkserif (CUS) "
+ "16r00D5" 16r220F " N-ARY PRODUCT # product "
+ "16r00D6" 16r221A " SQUARE ROOT # radical "
+ "16r00D7" 16r22C5 " DOT OPERATOR # dotmath "
+ "16r00D8" 16r00AC " NOT SIGN # logicalnot "
+ "16r00D9" 16r2227 " LOGICAL AND # logicaland "
+ "16r00DA" 16r2228 " LOGICAL OR # logicalor "
+ "16r00DB" 16r21D4 " LEFT RIGHT DOUBLE ARROW # arrowdblboth "
+ "16r00DC" 16r21D0 " LEFTWARDS DOUBLE ARROW # arrowdblleft "
+ "16r00DD" 16r21D1 " UPWARDS DOUBLE ARROW # arrowdblup "
+ "16r00DE" 16r21D2 " RIGHTWARDS DOUBLE ARROW # arrowdblright "
+ "16r00DF" 16r21D3 " DOWNWARDS DOUBLE ARROW # arrowdbldown "
+ "16r00E0" 16r25CA " LOZENGE # lozenge "
+ "16r00E1" 16r2329 " LEFT-POINTING ANGLE BRACKET # angleleft "
+ "16r00E2" 16rF8E8 " REGISTERED SIGN SANS SERIF # registersans (CUS) "
+ "16r00E3" 16rF8E9 " COPYRIGHT SIGN SANS SERIF # copyrightsans (CUS) "
+ "16r00E4" 16rF8EA " TRADE MARK SIGN SANS SERIF # trademarksans (CUS) "
+ "16r00E5" 16r2211 " N-ARY SUMMATION # summation "
+ "16r00E6" 16rF8EB " LEFT PAREN TOP # parenlefttp (CUS) "
+ "16r00E7" 16rF8EC " LEFT PAREN EXTENDER # parenleftex (CUS) "
+ "16r00E8" 16rF8ED " LEFT PAREN BOTTOM # parenleftbt (CUS) "
+ "16r00E9" 16rF8EE " LEFT SQUARE BRACKET TOP # bracketlefttp (CUS) "
+ "16r00EA" 16rF8EF " LEFT SQUARE BRACKET EXTENDER # bracketleftex (CUS) "
+ "16r00EB" 16rF8F0 " LEFT SQUARE BRACKET BOTTOM # bracketleftbt (CUS) "
+ "16r00EC" 16rF8F1 " LEFT CURLY BRACKET TOP # bracelefttp (CUS) "
+ "16r00ED" 16rF8F2 " LEFT CURLY BRACKET MID # braceleftmid (CUS) "
+ "16r00EE" 16rF8F3 " LEFT CURLY BRACKET BOTTOM # braceleftbt (CUS) "
+ "16r00EF" 16rF8F4 " CURLY BRACKET EXTENDER # braceex (CUS) "
+ "16r00F0" 16r0000 " invalid "
+ "16r00F1" 16r232A " RIGHT-POINTING ANGLE BRACKET # angleright "
+ "16r00F2" 16r222B " INTEGRAL # integral "
+ "16r00F3" 16r2320 " TOP HALF INTEGRAL # integraltp "
+ "16r00F4" 16rF8F5 " INTEGRAL EXTENDER # integralex (CUS) "
+ "16r00F5" 16r2321 " BOTTOM HALF INTEGRAL # integralbt "
+ "16r00F6" 16rF8F6 " RIGHT PAREN TOP # parenrighttp (CUS) "
+ "16r00F7" 16rF8F7 " RIGHT PAREN EXTENDER # parenrightex (CUS) "
+ "16r00F8" 16rF8F8 " RIGHT PAREN BOTTOM # parenrightbt (CUS) "
+ "16r00F9" 16rF8F9 " RIGHT SQUARE BRACKET TOP # bracketrighttp (CUS) "
+ "16r00FA" 16rF8FA " RIGHT SQUARE BRACKET EXTENDER # bracketrightex (CUS) "
+ "16r00FB" 16rF8FB " RIGHT SQUARE BRACKET BOTTOM # bracketrightbt (CUS) "
+ "16r00FC" 16rF8FC " RIGHT CURLY BRACKET TOP # bracerighttp (CUS) "
+ "16r00FD" 16rF8FD " RIGHT CURLY BRACKET MID # bracerightmid (CUS) "
+ "16r00FE" 16rF8FE " RIGHT CURLY BRACKET BOTTOM # bracerightbt (CUS) "
+ ) at:(code - 16r1F).
+ 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 <= 16r20 ifTrue:[
+ ^ self decodingError.
+ ].
+ unicode <= 16r21 ifTrue:[ ^ unicode ].
+ unicode > 16rF8FE ifTrue:[
+ ^ self encodingError.
+ ].
+ unicode <= 16r2666 ifTrue:[
+ unicode <= 16r3D6 ifTrue:[
+ unicode <= 16r192 ifTrue:[
+ unicode <= 16rF7 ifTrue:[
+ unicode <= 16r9F ifTrue:[
+ (#[
+ "16r0022" 0 " invalid "
+ "16r0023" 1 " NUMBER SIGN # numbersign "
+ "16r0024" 0 " invalid "
+ "16r0025" 1 " PERCENT SIGN # percent "
+ "16r0026" 1 " AMPERSAND # ampersand "
+ "16r0027" 0 " invalid "
+ "16r0028" 1 " LEFT PARENTHESIS # parenleft "
+ "16r0029" 1 " RIGHT PARENTHESIS # parenright "
+ "16r002A" 0 " invalid "
+ "16r002B" 1 " PLUS SIGN # plus "
+ "16r002C" 1 " COMMA # comma "
+ "16r002D" 0 " invalid "
+ "16r002E" 1 " FULL STOP # period "
+ "16r002F" 1 " SOLIDUS # slash "
+ "16r0030" 1 " DIGIT ZERO # zero "
+ "16r0031" 1 " DIGIT ONE # one "
+ "16r0032" 1 " DIGIT TWO # two "
+ "16r0033" 1 " DIGIT THREE # three "
+ "16r0034" 1 " DIGIT FOUR # four "
+ "16r0035" 1 " DIGIT FIVE # five "
+ "16r0036" 1 " DIGIT SIX # six "
+ "16r0037" 1 " DIGIT SEVEN # seven "
+ "16r0038" 1 " DIGIT EIGHT # eight "
+ "16r0039" 1 " DIGIT NINE # nine "
+ "16r003A" 1 " COLON # colon "
+ "16r003B" 1 " SEMICOLON # semicolon "
+ "16r003C" 1 " LESS-THAN SIGN # less "
+ "16r003D" 1 " EQUALS SIGN # equal "
+ "16r003E" 1 " GREATER-THAN SIGN # greater "
+ "16r003F" 1 " QUESTION MARK # question "
+ "16r0040" 0 " invalid "
+ "16r0041" 0 " invalid "
+ "16r0042" 0 " invalid "
+ "16r0043" 0 " invalid "
+ "16r0044" 0 " invalid "
+ "16r0045" 0 " invalid "
+ "16r0046" 0 " invalid "
+ "16r0047" 0 " invalid "
+ "16r0048" 0 " invalid "
+ "16r0049" 0 " invalid "
+ "16r004A" 0 " invalid "
+ "16r004B" 0 " invalid "
+ "16r004C" 0 " invalid "
+ "16r004D" 0 " invalid "
+ "16r004E" 0 " invalid "
+ "16r004F" 0 " invalid "
+ "16r0050" 0 " invalid "
+ "16r0051" 0 " invalid "
+ "16r0052" 0 " invalid "
+ "16r0053" 0 " invalid "
+ "16r0054" 0 " invalid "
+ "16r0055" 0 " invalid "
+ "16r0056" 0 " invalid "
+ "16r0057" 0 " invalid "
+ "16r0058" 0 " invalid "
+ "16r0059" 0 " invalid "
+ "16r005A" 0 " invalid "
+ "16r005B" 1 " LEFT SQUARE BRACKET # bracketleft "
+ "16r005C" 0 " invalid "
+ "16r005D" 1 " RIGHT SQUARE BRACKET # bracketright "
+ "16r005E" 0 " invalid "
+ "16r005F" 1 " LOW LINE # underscore "
+ "16r0060" 0 " invalid "
+ "16r0061" 0 " invalid "
+ "16r0062" 0 " invalid "
+ "16r0063" 0 " invalid "
+ "16r0064" 0 " invalid "
+ "16r0065" 0 " invalid "
+ "16r0066" 0 " invalid "
+ "16r0067" 0 " invalid "
+ "16r0068" 0 " invalid "
+ "16r0069" 0 " invalid "
+ "16r006A" 0 " invalid "
+ "16r006B" 0 " invalid "
+ "16r006C" 0 " invalid "
+ "16r006D" 0 " invalid "
+ "16r006E" 0 " invalid "
+ "16r006F" 0 " invalid "
+ "16r0070" 0 " invalid "
+ "16r0071" 0 " invalid "
+ "16r0072" 0 " invalid "
+ "16r0073" 0 " invalid "
+ "16r0074" 0 " invalid "
+ "16r0075" 0 " invalid "
+ "16r0076" 0 " invalid "
+ "16r0077" 0 " invalid "
+ "16r0078" 0 " invalid "
+ "16r0079" 0 " invalid "
+ "16r007A" 0 " invalid "
+ "16r007B" 1 " LEFT CURLY BRACKET # braceleft "
+ "16r007C" 1 " VERTICAL LINE # bar "
+ "16r007D" 1 " RIGHT CURLY BRACKET # braceright "
+ "16r007E" 0 " invalid "
+ "16r007F" 0 " invalid "
+ "16r0080" 0 " invalid "
+ "16r0081" 0 " invalid "
+ "16r0082" 0 " invalid "
+ "16r0083" 0 " invalid "
+ "16r0084" 0 " invalid "
+ "16r0085" 0 " invalid "
+ "16r0086" 0 " invalid "
+ "16r0087" 0 " invalid "
+ "16r0088" 0 " invalid "
+ "16r0089" 0 " invalid "
+ "16r008A" 0 " invalid "
+ "16r008B" 0 " invalid "
+ "16r008C" 0 " invalid "
+ "16r008D" 0 " invalid "
+ "16r008E" 0 " invalid "
+ "16r008F" 0 " invalid "
+ "16r0090" 0 " invalid "
+ "16r0091" 0 " invalid "
+ "16r0092" 0 " invalid "
+ "16r0093" 0 " invalid "
+ "16r0094" 0 " invalid "
+ "16r0095" 0 " invalid "
+ "16r0096" 0 " invalid "
+ "16r0097" 0 " invalid "
+ "16r0098" 0 " invalid "
+ "16r0099" 0 " invalid "
+ "16r009A" 0 " invalid "
+ "16r009B" 0 " invalid "
+ "16r009C" 0 " invalid "
+ "16r009D" 0 " invalid "
+ "16r009E" 0 " invalid "
+ "16r009F" 0 " invalid "
+ ] at:(unicode - 33)) ~~ 0 ifTrue:[^ unicode].
+ ^ self encodingError
+ ].
+ unicode <= 16rB1 ifTrue:[
+ unicode == 16rA0 ifTrue:[
+ (#[
+ "16r00A0" 1 " NO-BREAK SPACE # space "
+ ] at:(unicode - 159)) ~~ 0 ifTrue:[^ unicode].
+ ^ self encodingError
+ ].
+ unicode <= 16rAB ifTrue:[
+ ^ self encodingError
+ ].
+ [
+ |t|
+ t := #[
+ "16r00AC" 16rD8 " NOT SIGN # logicalnot "
+ "16r00AD" 16r00 " invalid "
+ "16r00AE" 16r00 " invalid "
+ "16r00AF" 16r00 " invalid "
+ "16r00B0" 16rB0 " DEGREE SIGN # degree "
+ "16r00B1" 16rB1 " PLUS-MINUS SIGN # plusminus "
+ ] at:(unicode - 16rAB).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 16rD6 ifTrue:[
+ ^ self encodingError
+ ].
+ unicode == 16rD7 ifTrue:[
+ ^ "16r00D7" 16r00B4 " MULTIPLICATION SIGN # multiply "
+ ].
+ unicode <= 16rF6 ifTrue:[
+ ^ self encodingError
+ ].
+ ^ "16r00F7" 16r00B8 " DIVISION SIGN # divide "
+ ].
+ unicode <= 16r191 ifTrue:[
+ ^ self encodingError
+ ].
+ ^ "16r0192" 16r00A6 " LATIN SMALL LETTER F WITH HOOK # florin "
+ ].
+ unicode <= 16r390 ifTrue:[
+ ^ self encodingError
+ ].
+ [
+ |t|
+ t := #[
+ "16r0391" 16r41 " GREEK CAPITAL LETTER ALPHA # Alpha "
+ "16r0392" 16r42 " GREEK CAPITAL LETTER BETA # Beta "
+ "16r0393" 16r47 " GREEK CAPITAL LETTER GAMMA # Gamma "
+ "16r0394" 16r00 " invalid "
+ "16r0395" 16r45 " GREEK CAPITAL LETTER EPSILON # Epsilon "
+ "16r0396" 16r5A " GREEK CAPITAL LETTER ZETA # Zeta "
+ "16r0397" 16r48 " GREEK CAPITAL LETTER ETA # Eta "
+ "16r0398" 16r51 " GREEK CAPITAL LETTER THETA # Theta "
+ "16r0399" 16r49 " GREEK CAPITAL LETTER IOTA # Iota "
+ "16r039A" 16r4B " GREEK CAPITAL LETTER KAPPA # Kappa "
+ "16r039B" 16r4C " GREEK CAPITAL LETTER LAMDA # Lambda "
+ "16r039C" 16r4D " GREEK CAPITAL LETTER MU # Mu "
+ "16r039D" 16r4E " GREEK CAPITAL LETTER NU # Nu "
+ "16r039E" 16r58 " GREEK CAPITAL LETTER XI # Xi "
+ "16r039F" 16r4F " GREEK CAPITAL LETTER OMICRON # Omicron "
+ "16r03A0" 16r50 " GREEK CAPITAL LETTER PI # Pi "
+ "16r03A1" 16r52 " GREEK CAPITAL LETTER RHO # Rho "
+ "16r03A2" 16r00 " invalid "
+ "16r03A3" 16r53 " GREEK CAPITAL LETTER SIGMA # Sigma "
+ "16r03A4" 16r54 " GREEK CAPITAL LETTER TAU # Tau "
+ "16r03A5" 16r55 " GREEK CAPITAL LETTER UPSILON # Upsilon "
+ "16r03A6" 16r46 " GREEK CAPITAL LETTER PHI # Phi "
+ "16r03A7" 16r43 " GREEK CAPITAL LETTER CHI # Chi "
+ "16r03A8" 16r59 " GREEK CAPITAL LETTER PSI # Psi "
+ "16r03A9" 16r00 " invalid "
+ "16r03AA" 16r00 " invalid "
+ "16r03AB" 16r00 " invalid "
+ "16r03AC" 16r00 " invalid "
+ "16r03AD" 16r00 " invalid "
+ "16r03AE" 16r00 " invalid "
+ "16r03AF" 16r00 " invalid "
+ "16r03B0" 16r00 " invalid "
+ "16r03B1" 16r61 " GREEK SMALL LETTER ALPHA # alpha "
+ "16r03B2" 16r62 " GREEK SMALL LETTER BETA # beta "
+ "16r03B3" 16r67 " GREEK SMALL LETTER GAMMA # gamma "
+ "16r03B4" 16r64 " GREEK SMALL LETTER DELTA # delta "
+ "16r03B5" 16r65 " GREEK SMALL LETTER EPSILON # epsilon "
+ "16r03B6" 16r7A " GREEK SMALL LETTER ZETA # zeta "
+ "16r03B7" 16r68 " GREEK SMALL LETTER ETA # eta "
+ "16r03B8" 16r71 " GREEK SMALL LETTER THETA # theta "
+ "16r03B9" 16r69 " GREEK SMALL LETTER IOTA # iota "
+ "16r03BA" 16r6B " GREEK SMALL LETTER KAPPA # kappa "
+ "16r03BB" 16r6C " GREEK SMALL LETTER LAMDA # lambda "
+ "16r03BC" 16r6D " GREEK SMALL LETTER MU # mu "
+ "16r03BD" 16r6E " GREEK SMALL LETTER NU # nu "
+ "16r03BE" 16r78 " GREEK SMALL LETTER XI # xi "
+ "16r03BF" 16r6F " GREEK SMALL LETTER OMICRON # omicron "
+ "16r03C0" 16r70 " GREEK SMALL LETTER PI # pi "
+ "16r03C1" 16r72 " GREEK SMALL LETTER RHO # rho "
+ "16r03C2" 16r56 " GREEK SMALL LETTER FINAL SIGMA # sigma1 "
+ "16r03C3" 16r73 " GREEK SMALL LETTER SIGMA # sigma "
+ "16r03C4" 16r74 " GREEK SMALL LETTER TAU # tau "
+ "16r03C5" 16r75 " GREEK SMALL LETTER UPSILON # upsilon "
+ "16r03C6" 16r66 " GREEK SMALL LETTER PHI # phi "
+ "16r03C7" 16r63 " GREEK SMALL LETTER CHI # chi "
+ "16r03C8" 16r79 " GREEK SMALL LETTER PSI # psi "
+ "16r03C9" 16r77 " GREEK SMALL LETTER OMEGA # omega "
+ "16r03CA" 16r00 " invalid "
+ "16r03CB" 16r00 " invalid "
+ "16r03CC" 16r00 " invalid "
+ "16r03CD" 16r00 " invalid "
+ "16r03CE" 16r00 " invalid "
+ "16r03CF" 16r00 " invalid "
+ "16r03D0" 16r00 " invalid "
+ "16r03D1" 16r4A " GREEK THETA SYMBOL # theta1 "
+ "16r03D2" 16rA1 " GREEK UPSILON WITH HOOK SYMBOL # Upsilon1 "
+ "16r03D3" 16r00 " invalid "
+ "16r03D4" 16r00 " invalid "
+ "16r03D5" 16r6A " GREEK PHI SYMBOL # phi1 "
+ "16r03D6" 16r76 " GREEK PI SYMBOL # omega1 "
+ ] at:(unicode - 16r390).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 16r2021 ifTrue:[
+ ^ self encodingError
+ ].
+ unicode <= 16r232A ifTrue:[
+ unicode <= 16r2033 ifTrue:[
+ [
+ |t|
+ t := #[
+ "16r2022" 16rB7 " BULLET # bullet "
+ "16r2023" 16r00 " invalid "
+ "16r2024" 16r00 " invalid "
+ "16r2025" 16r00 " invalid "
+ "16r2026" 16rBC " HORIZONTAL ELLIPSIS # ellipsis "
+ "16r2027" 16r00 " invalid "
+ "16r2028" 16r00 " invalid "
+ "16r2029" 16r00 " invalid "
+ "16r202A" 16r00 " invalid "
+ "16r202B" 16r00 " invalid "
+ "16r202C" 16r00 " invalid "
+ "16r202D" 16r00 " invalid "
+ "16r202E" 16r00 " invalid "
+ "16r202F" 16r00 " invalid "
+ "16r2030" 16r00 " invalid "
+ "16r2031" 16r00 " invalid "
+ "16r2032" 16rA2 " PRIME # minute "
+ "16r2033" 16rB2 " DOUBLE PRIME # second "
+ ] at:(unicode - 16r2021).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 16r20AB ifTrue:[
+ ^ self encodingError
+ ].
+ unicode <= 16r20AC ifTrue:[
+ ^ "16r20AC" 16r00A0 " EURO SIGN # Euro "
+ ].
+ unicode <= 16r2110 ifTrue:[
+ ^ self encodingError
+ ].
+ unicode <= 16r2135 ifTrue:[
+ [
+ |t|
+ t := #[
+ "16r2111" 16rC1 " BLACK-LETTER CAPITAL I # Ifraktur "
+ "16r2112" 16r00 " invalid "
+ "16r2113" 16r00 " invalid "
+ "16r2114" 16r00 " invalid "
+ "16r2115" 16r00 " invalid "
+ "16r2116" 16r00 " invalid "
+ "16r2117" 16r00 " invalid "
+ "16r2118" 16rC3 " SCRIPT CAPITAL P # weierstrass "
+ "16r2119" 16r00 " invalid "
+ "16r211A" 16r00 " invalid "
+ "16r211B" 16r00 " invalid "
+ "16r211C" 16rC2 " BLACK-LETTER CAPITAL R # Rfraktur "
+ "16r211D" 16r00 " invalid "
+ "16r211E" 16r00 " invalid "
+ "16r211F" 16r00 " invalid "
+ "16r2120" 16r00 " invalid "
+ "16r2121" 16r00 " invalid "
+ "16r2122" 16r00 " invalid "
+ "16r2123" 16r00 " invalid "
+ "16r2124" 16r00 " invalid "
+ "16r2125" 16r00 " invalid "
+ "16r2126" 16r57 " OHM SIGN # Omega "
+ "16r2127" 16r00 " invalid "
+ "16r2128" 16r00 " invalid "
+ "16r2129" 16r00 " invalid "
+ "16r212A" 16r00 " invalid "
+ "16r212B" 16r00 " invalid "
+ "16r212C" 16r00 " invalid "
+ "16r212D" 16r00 " invalid "
+ "16r212E" 16r00 " invalid "
+ "16r212F" 16r00 " invalid "
+ "16r2130" 16r00 " invalid "
+ "16r2131" 16r00 " invalid "
+ "16r2132" 16r00 " invalid "
+ "16r2133" 16r00 " invalid "
+ "16r2134" 16r00 " invalid "
+ "16r2135" 16rC0 " ALEF SYMBOL # aleph "
+ ] at:(unicode - 16r2110).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 16r218F ifTrue:[
+ ^ self encodingError
+ ].
+ unicode <= 16r22C5 ifTrue:[
+ unicode <= 16r21D4 ifTrue:[
+ unicode <= 16r2194 ifTrue:[
+ ^ #[
+ "16r2190" 16rAC " LEFTWARDS ARROW # arrowleft "
+ "16r2191" 16rAD " UPWARDS ARROW # arrowup "
+ "16r2192" 16rAE " RIGHTWARDS ARROW # arrowright "
+ "16r2193" 16rAF " DOWNWARDS ARROW # arrowdown "
+ "16r2194" 16rAB " LEFT RIGHT ARROW # arrowboth "
+ ] at:(unicode - 16r218F).
+ ].
+ unicode <= 16r21B4 ifTrue:[
+ ^ self encodingError
+ ].
+ unicode == 16r21B5 ifTrue:[
+ ^ "16r21B5" 16r00BF " DOWNWARDS ARROW WITH CORNER LEFTWARDS # carriagereturn "
+ ].
+ unicode <= 16r21CF ifTrue:[
+ ^ self encodingError
+ ].
+ ^ #[
+ "16r21D0" 16rDC " LEFTWARDS DOUBLE ARROW # arrowdblleft "
+ "16r21D1" 16rDD " UPWARDS DOUBLE ARROW # arrowdblup "
+ "16r21D2" 16rDE " RIGHTWARDS DOUBLE ARROW # arrowdblright "
+ "16r21D3" 16rDF " DOWNWARDS DOUBLE ARROW # arrowdbldown "
+ "16r21D4" 16rDB " LEFT RIGHT DOUBLE ARROW # arrowdblboth "
+ ] at:(unicode - 16r21CF).
+ ].
+ unicode <= 16r21FF ifTrue:[
+ ^ self encodingError
+ ].
+ [
+ |t|
+ t := #[
+ "16r2200" 16r22 " FOR ALL # universal "
+ "16r2201" 16r00 " invalid "
+ "16r2202" 16rB6 " PARTIAL DIFFERENTIAL # partialdiff "
+ "16r2203" 16r24 " THERE EXISTS # existential "
+ "16r2204" 16r00 " invalid "
+ "16r2205" 16rC6 " EMPTY SET # emptyset "
+ "16r2206" 16r44 " INCREMENT # Delta "
+ "16r2207" 16rD1 " NABLA # gradient "
+ "16r2208" 16rCE " ELEMENT OF # element "
+ "16r2209" 16rCF " NOT AN ELEMENT OF # notelement "
+ "16r220A" 16r00 " invalid "
+ "16r220B" 16r27 " CONTAINS AS MEMBER # suchthat "
+ "16r220C" 16r00 " invalid "
+ "16r220D" 16r00 " invalid "
+ "16r220E" 16r00 " invalid "
+ "16r220F" 16rD5 " N-ARY PRODUCT # product "
+ "16r2210" 16r00 " invalid "
+ "16r2211" 16rE5 " N-ARY SUMMATION # summation "
+ "16r2212" 16r2D " MINUS SIGN # minus "
+ "16r2213" 16r00 " invalid "
+ "16r2214" 16r00 " invalid "
+ "16r2215" 16rA4 " DIVISION SLASH # fraction "
+ "16r2216" 16r00 " invalid "
+ "16r2217" 16r2A " ASTERISK OPERATOR # asteriskmath "
+ "16r2218" 16r00 " invalid "
+ "16r2219" 16r00 " invalid "
+ "16r221A" 16rD6 " SQUARE ROOT # radical "
+ "16r221B" 16r00 " invalid "
+ "16r221C" 16r00 " invalid "
+ "16r221D" 16rB5 " PROPORTIONAL TO # proportional "
+ "16r221E" 16rA5 " INFINITY # infinity "
+ "16r221F" 16r00 " invalid "
+ "16r2220" 16rD0 " ANGLE # angle "
+ "16r2221" 16r00 " invalid "
+ "16r2222" 16r00 " invalid "
+ "16r2223" 16r00 " invalid "
+ "16r2224" 16r00 " invalid "
+ "16r2225" 16r00 " invalid "
+ "16r2226" 16r00 " invalid "
+ "16r2227" 16rD9 " LOGICAL AND # logicaland "
+ "16r2228" 16rDA " LOGICAL OR # logicalor "
+ "16r2229" 16rC7 " INTERSECTION # intersection "
+ "16r222A" 16rC8 " UNION # union "
+ "16r222B" 16rF2 " INTEGRAL # integral "
+ "16r222C" 16r00 " invalid "
+ "16r222D" 16r00 " invalid "
+ "16r222E" 16r00 " invalid "
+ "16r222F" 16r00 " invalid "
+ "16r2230" 16r00 " invalid "
+ "16r2231" 16r00 " invalid "
+ "16r2232" 16r00 " invalid "
+ "16r2233" 16r00 " invalid "
+ "16r2234" 16r5C " THEREFORE # therefore "
+ "16r2235" 16r00 " invalid "
+ "16r2236" 16r00 " invalid "
+ "16r2237" 16r00 " invalid "
+ "16r2238" 16r00 " invalid "
+ "16r2239" 16r00 " invalid "
+ "16r223A" 16r00 " invalid "
+ "16r223B" 16r00 " invalid "
+ "16r223C" 16r7E " TILDE OPERATOR # similar "
+ "16r223D" 16r00 " invalid "
+ "16r223E" 16r00 " invalid "
+ "16r223F" 16r00 " invalid "
+ "16r2240" 16r00 " invalid "
+ "16r2241" 16r00 " invalid "
+ "16r2242" 16r00 " invalid "
+ "16r2243" 16r00 " invalid "
+ "16r2244" 16r00 " invalid "
+ "16r2245" 16r40 " APPROXIMATELY EQUAL TO # congruent "
+ "16r2246" 16r00 " invalid "
+ "16r2247" 16r00 " invalid "
+ "16r2248" 16rBB " ALMOST EQUAL TO # approxequal "
+ "16r2249" 16r00 " invalid "
+ "16r224A" 16r00 " invalid "
+ "16r224B" 16r00 " invalid "
+ "16r224C" 16r00 " invalid "
+ "16r224D" 16r00 " invalid "
+ "16r224E" 16r00 " invalid "
+ "16r224F" 16r00 " invalid "
+ "16r2250" 16r00 " invalid "
+ "16r2251" 16r00 " invalid "
+ "16r2252" 16r00 " invalid "
+ "16r2253" 16r00 " invalid "
+ "16r2254" 16r00 " invalid "
+ "16r2255" 16r00 " invalid "
+ "16r2256" 16r00 " invalid "
+ "16r2257" 16r00 " invalid "
+ "16r2258" 16r00 " invalid "
+ "16r2259" 16r00 " invalid "
+ "16r225A" 16r00 " invalid "
+ "16r225B" 16r00 " invalid "
+ "16r225C" 16r00 " invalid "
+ "16r225D" 16r00 " invalid "
+ "16r225E" 16r00 " invalid "
+ "16r225F" 16r00 " invalid "
+ "16r2260" 16rB9 " NOT EQUAL TO # notequal "
+ "16r2261" 16rBA " IDENTICAL TO # equivalence "
+ "16r2262" 16r00 " invalid "
+ "16r2263" 16r00 " invalid "
+ "16r2264" 16rA3 " LESS-THAN OR EQUAL TO # lessequal "
+ "16r2265" 16rB3 " GREATER-THAN OR EQUAL TO # greaterequal "
+ "16r2266" 16r00 " invalid "
+ "16r2267" 16r00 " invalid "
+ "16r2268" 16r00 " invalid "
+ "16r2269" 16r00 " invalid "
+ "16r226A" 16r00 " invalid "
+ "16r226B" 16r00 " invalid "
+ "16r226C" 16r00 " invalid "
+ "16r226D" 16r00 " invalid "
+ "16r226E" 16r00 " invalid "
+ "16r226F" 16r00 " invalid "
+ "16r2270" 16r00 " invalid "
+ "16r2271" 16r00 " invalid "
+ "16r2272" 16r00 " invalid "
+ "16r2273" 16r00 " invalid "
+ "16r2274" 16r00 " invalid "
+ "16r2275" 16r00 " invalid "
+ "16r2276" 16r00 " invalid "
+ "16r2277" 16r00 " invalid "
+ "16r2278" 16r00 " invalid "
+ "16r2279" 16r00 " invalid "
+ "16r227A" 16r00 " invalid "
+ "16r227B" 16r00 " invalid "
+ "16r227C" 16r00 " invalid "
+ "16r227D" 16r00 " invalid "
+ "16r227E" 16r00 " invalid "
+ "16r227F" 16r00 " invalid "
+ "16r2280" 16r00 " invalid "
+ "16r2281" 16r00 " invalid "
+ "16r2282" 16rCC " SUBSET OF # propersubset "
+ "16r2283" 16rC9 " SUPERSET OF # propersuperset "
+ "16r2284" 16rCB " NOT A SUBSET OF # notsubset "
+ "16r2285" 16r00 " invalid "
+ "16r2286" 16rCD " SUBSET OF OR EQUAL TO # reflexsubset "
+ "16r2287" 16rCA " SUPERSET OF OR EQUAL TO # reflexsuperset "
+ "16r2288" 16r00 " invalid "
+ "16r2289" 16r00 " invalid "
+ "16r228A" 16r00 " invalid "
+ "16r228B" 16r00 " invalid "
+ "16r228C" 16r00 " invalid "
+ "16r228D" 16r00 " invalid "
+ "16r228E" 16r00 " invalid "
+ "16r228F" 16r00 " invalid "
+ "16r2290" 16r00 " invalid "
+ "16r2291" 16r00 " invalid "
+ "16r2292" 16r00 " invalid "
+ "16r2293" 16r00 " invalid "
+ "16r2294" 16r00 " invalid "
+ "16r2295" 16rC5 " CIRCLED PLUS # circleplus "
+ "16r2296" 16r00 " invalid "
+ "16r2297" 16rC4 " CIRCLED TIMES # circlemultiply "
+ "16r2298" 16r00 " invalid "
+ "16r2299" 16r00 " invalid "
+ "16r229A" 16r00 " invalid "
+ "16r229B" 16r00 " invalid "
+ "16r229C" 16r00 " invalid "
+ "16r229D" 16r00 " invalid "
+ "16r229E" 16r00 " invalid "
+ "16r229F" 16r00 " invalid "
+ "16r22A0" 16r00 " invalid "
+ "16r22A1" 16r00 " invalid "
+ "16r22A2" 16r00 " invalid "
+ "16r22A3" 16r00 " invalid "
+ "16r22A4" 16r00 " invalid "
+ "16r22A5" 16r5E " UP TACK # perpendicular "
+ "16r22A6" 16r00 " invalid "
+ "16r22A7" 16r00 " invalid "
+ "16r22A8" 16r00 " invalid "
+ "16r22A9" 16r00 " invalid "
+ "16r22AA" 16r00 " invalid "
+ "16r22AB" 16r00 " invalid "
+ "16r22AC" 16r00 " invalid "
+ "16r22AD" 16r00 " invalid "
+ "16r22AE" 16r00 " invalid "
+ "16r22AF" 16r00 " invalid "
+ "16r22B0" 16r00 " invalid "
+ "16r22B1" 16r00 " invalid "
+ "16r22B2" 16r00 " invalid "
+ "16r22B3" 16r00 " invalid "
+ "16r22B4" 16r00 " invalid "
+ "16r22B5" 16r00 " invalid "
+ "16r22B6" 16r00 " invalid "
+ "16r22B7" 16r00 " invalid "
+ "16r22B8" 16r00 " invalid "
+ "16r22B9" 16r00 " invalid "
+ "16r22BA" 16r00 " invalid "
+ "16r22BB" 16r00 " invalid "
+ "16r22BC" 16r00 " invalid "
+ "16r22BD" 16r00 " invalid "
+ "16r22BE" 16r00 " invalid "
+ "16r22BF" 16r00 " invalid "
+ "16r22C0" 16r00 " invalid "
+ "16r22C1" 16r00 " invalid "
+ "16r22C2" 16r00 " invalid "
+ "16r22C3" 16r00 " invalid "
+ "16r22C4" 16r00 " invalid "
+ "16r22C5" 16rD7 " DOT OPERATOR # dotmath "
+ ] at:(unicode - 16r21FF).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 16r231F ifTrue:[
+ ^ self encodingError
+ ].
+ [
+ |t|
+ t := #[
+ "16r2320" 16rF3 " TOP HALF INTEGRAL # integraltp "
+ "16r2321" 16rF5 " BOTTOM HALF INTEGRAL # integralbt "
+ "16r2322" 16r00 " invalid "
+ "16r2323" 16r00 " invalid "
+ "16r2324" 16r00 " invalid "
+ "16r2325" 16r00 " invalid "
+ "16r2326" 16r00 " invalid "
+ "16r2327" 16r00 " invalid "
+ "16r2328" 16r00 " invalid "
+ "16r2329" 16rE1 " LEFT-POINTING ANGLE BRACKET # angleleft "
+ "16r232A" 16rF1 " RIGHT-POINTING ANGLE BRACKET # angleright "
+ ] at:(unicode - 16r231F).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 16r25C9 ifTrue:[
+ ^ self encodingError
+ ].
+ unicode == 16r25CA ifTrue:[
+ ^ "16r25CA" 16r00E0 " LOZENGE # lozenge "
+ ].
+ unicode <= 16r265F ifTrue:[
+ ^ self encodingError
+ ].
+ [
+ |t|
+ t := #[
+ "16r2660" 16rAA " BLACK SPADE SUIT # spade "
+ "16r2661" 16r00 " invalid "
+ "16r2662" 16r00 " invalid "
+ "16r2663" 16rA7 " BLACK CLUB SUIT # club "
+ "16r2664" 16r00 " invalid "
+ "16r2665" 16rA9 " BLACK HEART SUIT # heart "
+ "16r2666" 16rA8 " BLACK DIAMOND SUIT # diamond "
+ ] at:(unicode - 16r265F).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 16rF6D8 ifTrue:[
+ ^ self encodingError
+ ].
+ unicode <= 16rF6DB ifTrue:[
+ ^ #[
+ "16rF6D9" 16rD3 " COPYRIGHT SIGN SERIF # copyrightserif (CUS) "
+ "16rF6DA" 16rD2 " REGISTERED SIGN SERIF # registerserif (CUS) "
+ "16rF6DB" 16rD4 " TRADE MARK SIGN SERIF # trademarkserif (CUS) "
+ ] at:(unicode - 16rF6D8).
+ ].
+ unicode <= 16rF8E4 ifTrue:[
+ ^ self encodingError
+ ].
+ ^ #[
+ "16rF8E5" 16r60 " RADICAL EXTENDER # radicalex (CUS) "
+ "16rF8E6" 16rBD " VERTICAL ARROW EXTENDER # arrowvertex (CUS) "
+ "16rF8E7" 16rBE " HORIZONTAL ARROW EXTENDER # arrowhorizex (CUS) "
+ "16rF8E8" 16rE2 " REGISTERED SIGN SANS SERIF # registersans (CUS) "
+ "16rF8E9" 16rE3 " COPYRIGHT SIGN SANS SERIF # copyrightsans (CUS) "
+ "16rF8EA" 16rE4 " TRADE MARK SIGN SANS SERIF # trademarksans (CUS) "
+ "16rF8EB" 16rE6 " LEFT PAREN TOP # parenlefttp (CUS) "
+ "16rF8EC" 16rE7 " LEFT PAREN EXTENDER # parenleftex (CUS) "
+ "16rF8ED" 16rE8 " LEFT PAREN BOTTOM # parenleftbt (CUS) "
+ "16rF8EE" 16rE9 " LEFT SQUARE BRACKET TOP # bracketlefttp (CUS) "
+ "16rF8EF" 16rEA " LEFT SQUARE BRACKET EXTENDER # bracketleftex (CUS) "
+ "16rF8F0" 16rEB " LEFT SQUARE BRACKET BOTTOM # bracketleftbt (CUS) "
+ "16rF8F1" 16rEC " LEFT CURLY BRACKET TOP # bracelefttp (CUS) "
+ "16rF8F2" 16rED " LEFT CURLY BRACKET MID # braceleftmid (CUS) "
+ "16rF8F3" 16rEE " LEFT CURLY BRACKET BOTTOM # braceleftbt (CUS) "
+ "16rF8F4" 16rEF " CURLY BRACKET EXTENDER # braceex (CUS) "
+ "16rF8F5" 16rF4 " INTEGRAL EXTENDER # integralex (CUS) "
+ "16rF8F6" 16rF6 " RIGHT PAREN TOP # parenrighttp (CUS) "
+ "16rF8F7" 16rF7 " RIGHT PAREN EXTENDER # parenrightex (CUS) "
+ "16rF8F8" 16rF8 " RIGHT PAREN BOTTOM # parenrightbt (CUS) "
+ "16rF8F9" 16rF9 " RIGHT SQUARE BRACKET TOP # bracketrighttp (CUS) "
+ "16rF8FA" 16rFA " RIGHT SQUARE BRACKET EXTENDER # bracketrightex (CUS) "
+ "16rF8FB" 16rFB " RIGHT SQUARE BRACKET BOTTOM # bracketrightbt (CUS) "
+ "16rF8FC" 16rFC " RIGHT CURLY BRACKET TOP # bracerighttp (CUS) "
+ "16rF8FD" 16rFD " RIGHT CURLY BRACKET MID # bracerightmid (CUS) "
+ "16rF8FE" 16rFE " RIGHT CURLY BRACKET BOTTOM # bracerightbt (CUS) "
+ ] at:(unicode - 16rF8E4).
+! !
+
+!AdobeSymbol class methodsFor:'documentation'!
+
+version
+ ^ '$Header$'
+!
+
+version_CVS
+ ^ '$Header$'
+! !
+