"{ Encoding: utf8 }"
"
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:#AdobeStandard
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
category:'Collections-Text-Encodings'
!
!AdobeStandard 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 Standard Encoding.
see https://www.compart.com/en/unicode/charsets/Adobe-Standard-Encoding
and http://www.unicode.org/Public/MAPPINGS/VENDORS/ADOBE/stdenc.txt
[see with:]
CharacterEncoderImplementations::AdobeStandard showCharacterSet
[author:]
Claus Gittinger
"
! !
!AdobeStandard class methodsFor:'mapping'!
mapFileURL1_relativePathName
^ 'VENDORS/ADOBE/stdenc.txt'
!
mapping
"
# From: http://www.unicode.org/Public/MAPPINGS/VENDORS/ADOBE/stdenc.txt
#
# Name: Adobe Standard 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 Adobe Standard 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 encoded in Adobe Standard Encoding. Note that some
# Standard Encoding characters, such as 'space', are mapped to 2 Unicode
# values. 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. 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
0022 22 # QUOTATION MARK # quotedbl
0023 23 # NUMBER SIGN # numbersign
0024 24 # DOLLAR SIGN # dollar
0025 25 # PERCENT SIGN # percent
0026 26 # AMPERSAND # ampersand
2019 27 # RIGHT SINGLE QUOTATION MARK # quoteright
0028 28 # LEFT PARENTHESIS # parenleft
0029 29 # RIGHT PARENTHESIS # parenright
002A 2A # ASTERISK # asterisk
002B 2B # PLUS SIGN # plus
002C 2C # COMMA # comma
002D 2D # HYPHEN-MINUS # hyphen
00AD 2D # SOFT HYPHEN # hyphen
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
0040 40 # COMMERCIAL AT # at
0041 41 # LATIN CAPITAL LETTER A # A
0042 42 # LATIN CAPITAL LETTER B # B
0043 43 # LATIN CAPITAL LETTER C # C
0044 44 # LATIN CAPITAL LETTER D # D
0045 45 # LATIN CAPITAL LETTER E # E
0046 46 # LATIN CAPITAL LETTER F # F
0047 47 # LATIN CAPITAL LETTER G # G
0048 48 # LATIN CAPITAL LETTER H # H
0049 49 # LATIN CAPITAL LETTER I # I
004A 4A # LATIN CAPITAL LETTER J # J
004B 4B # LATIN CAPITAL LETTER K # K
004C 4C # LATIN CAPITAL LETTER L # L
004D 4D # LATIN CAPITAL LETTER M # M
004E 4E # LATIN CAPITAL LETTER N # N
004F 4F # LATIN CAPITAL LETTER O # O
0050 50 # LATIN CAPITAL LETTER P # P
0051 51 # LATIN CAPITAL LETTER Q # Q
0052 52 # LATIN CAPITAL LETTER R # R
0053 53 # LATIN CAPITAL LETTER S # S
0054 54 # LATIN CAPITAL LETTER T # T
0055 55 # LATIN CAPITAL LETTER U # U
0056 56 # LATIN CAPITAL LETTER V # V
0057 57 # LATIN CAPITAL LETTER W # W
0058 58 # LATIN CAPITAL LETTER X # X
0059 59 # LATIN CAPITAL LETTER Y # Y
005A 5A # LATIN CAPITAL LETTER Z # Z
005B 5B # LEFT SQUARE BRACKET # bracketleft
005C 5C # REVERSE SOLIDUS # backslash
005D 5D # RIGHT SQUARE BRACKET # bracketright
005E 5E # CIRCUMFLEX ACCENT # asciicircum
005F 5F # LOW LINE # underscore
2018 60 # LEFT SINGLE QUOTATION MARK # quoteleft
0061 61 # LATIN SMALL LETTER A # a
0062 62 # LATIN SMALL LETTER B # b
0063 63 # LATIN SMALL LETTER C # c
0064 64 # LATIN SMALL LETTER D # d
0065 65 # LATIN SMALL LETTER E # e
0066 66 # LATIN SMALL LETTER F # f
0067 67 # LATIN SMALL LETTER G # g
0068 68 # LATIN SMALL LETTER H # h
0069 69 # LATIN SMALL LETTER I # i
006A 6A # LATIN SMALL LETTER J # j
006B 6B # LATIN SMALL LETTER K # k
006C 6C # LATIN SMALL LETTER L # l
006D 6D # LATIN SMALL LETTER M # m
006E 6E # LATIN SMALL LETTER N # n
006F 6F # LATIN SMALL LETTER O # o
0070 70 # LATIN SMALL LETTER P # p
0071 71 # LATIN SMALL LETTER Q # q
0072 72 # LATIN SMALL LETTER R # r
0073 73 # LATIN SMALL LETTER S # s
0074 74 # LATIN SMALL LETTER T # t
0075 75 # LATIN SMALL LETTER U # u
0076 76 # LATIN SMALL LETTER V # v
0077 77 # LATIN SMALL LETTER W # w
0078 78 # LATIN SMALL LETTER X # x
0079 79 # LATIN SMALL LETTER Y # y
007A 7A # LATIN SMALL LETTER Z # z
007B 7B # LEFT CURLY BRACKET # braceleft
007C 7C # VERTICAL LINE # bar
007D 7D # RIGHT CURLY BRACKET # braceright
007E 7E # TILDE # asciitilde
00A1 A1 # INVERTED EXCLAMATION MARK # exclamdown
00A2 A2 # CENT SIGN # cent
00A3 A3 # POUND SIGN # sterling
2044 A4 # FRACTION SLASH # fraction
2215 A4 # DIVISION SLASH # fraction
00A5 A5 # YEN SIGN # yen
0192 A6 # LATIN SMALL LETTER F WITH HOOK # florin
00A7 A7 # SECTION SIGN # section
00A4 A8 # CURRENCY SIGN # currency
0027 A9 # APOSTROPHE # quotesingle
201C AA # LEFT DOUBLE QUOTATION MARK # quotedblleft
00AB AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK # guillemotleft
2039 AC # SINGLE LEFT-POINTING ANGLE QUOTATION MARK # guilsinglleft
203A AD # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK # guilsinglright
FB01 AE # LATIN SMALL LIGATURE FI # fi
FB02 AF # LATIN SMALL LIGATURE FL # fl
2013 B1 # EN DASH # endash
2020 B2 # DAGGER # dagger
2021 B3 # DOUBLE DAGGER # daggerdbl
00B7 B4 # MIDDLE DOT # periodcentered
2219 B4 # BULLET OPERATOR # periodcentered
00B6 B6 # PILCROW SIGN # paragraph
2022 B7 # BULLET # bullet
201A B8 # SINGLE LOW-9 QUOTATION MARK # quotesinglbase
201E B9 # DOUBLE LOW-9 QUOTATION MARK # quotedblbase
201D BA # RIGHT DOUBLE QUOTATION MARK # quotedblright
00BB BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK # guillemotright
2026 BC # HORIZONTAL ELLIPSIS # ellipsis
2030 BD # PER MILLE SIGN # perthousand
00BF BF # INVERTED QUESTION MARK # questiondown
0060 C1 # GRAVE ACCENT # grave
00B4 C2 # ACUTE ACCENT # acute
02C6 C3 # MODIFIER LETTER CIRCUMFLEX ACCENT # circumflex
02DC C4 # SMALL TILDE # tilde
00AF C5 # MACRON # macron
02C9 C5 # MODIFIER LETTER MACRON # macron
02D8 C6 # BREVE # breve
02D9 C7 # DOT ABOVE # dotaccent
00A8 C8 # DIAERESIS # dieresis
02DA CA # RING ABOVE # ring
00B8 CB # CEDILLA # cedilla
02DD CD # DOUBLE ACUTE ACCENT # hungarumlaut
02DB CE # OGONEK # ogonek
02C7 CF # CARON # caron
2014 D0 # EM DASH # emdash
00C6 E1 # LATIN CAPITAL LETTER AE # AE
00AA E3 # FEMININE ORDINAL INDICATOR # ordfeminine
0141 E8 # LATIN CAPITAL LETTER L WITH STROKE # Lslash
00D8 E9 # LATIN CAPITAL LETTER O WITH STROKE # Oslash
0152 EA # LATIN CAPITAL LIGATURE OE # OE
00BA EB # MASCULINE ORDINAL INDICATOR # ordmasculine
00E6 F1 # LATIN SMALL LETTER AE # ae
0131 F5 # LATIN SMALL LETTER DOTLESS I # dotlessi
0142 F8 # LATIN SMALL LETTER L WITH STROKE # lslash
00F8 F9 # LATIN SMALL LETTER O WITH STROKE # oslash
0153 FA # LATIN SMALL LIGATURE OE # oe
00DF FB # LATIN SMALL LETTER SHARP S # germandbls
"
! !
!AdobeStandard 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 > 16rFB ifTrue:[
^ self decodingError.
].
[
|t|
t := #(
"16r0020" 16r0020 " NO-BREAK SPACE # space "
"16r0021" 16r0021 " EXCLAMATION MARK # exclam "
"16r0022" 16r0022 " QUOTATION MARK # quotedbl "
"16r0023" 16r0023 " NUMBER SIGN # numbersign "
"16r0024" 16r0024 " DOLLAR SIGN # dollar "
"16r0025" 16r0025 " PERCENT SIGN # percent "
"16r0026" 16r0026 " AMPERSAND # ampersand "
"16r0027" 16r2019 " RIGHT SINGLE QUOTATION MARK # quoteright "
"16r0028" 16r0028 " LEFT PARENTHESIS # parenleft "
"16r0029" 16r0029 " RIGHT PARENTHESIS # parenright "
"16r002A" 16r002A " ASTERISK # asterisk "
"16r002B" 16r002B " PLUS SIGN # plus "
"16r002C" 16r002C " COMMA # comma "
"16r002D" 16r00AD " SOFT HYPHEN # hyphen "
"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" 16r0040 " COMMERCIAL AT # at "
"16r0041" 16r0041 " LATIN CAPITAL LETTER A # A "
"16r0042" 16r0042 " LATIN CAPITAL LETTER B # B "
"16r0043" 16r0043 " LATIN CAPITAL LETTER C # C "
"16r0044" 16r0044 " LATIN CAPITAL LETTER D # D "
"16r0045" 16r0045 " LATIN CAPITAL LETTER E # E "
"16r0046" 16r0046 " LATIN CAPITAL LETTER F # F "
"16r0047" 16r0047 " LATIN CAPITAL LETTER G # G "
"16r0048" 16r0048 " LATIN CAPITAL LETTER H # H "
"16r0049" 16r0049 " LATIN CAPITAL LETTER I # I "
"16r004A" 16r004A " LATIN CAPITAL LETTER J # J "
"16r004B" 16r004B " LATIN CAPITAL LETTER K # K "
"16r004C" 16r004C " LATIN CAPITAL LETTER L # L "
"16r004D" 16r004D " LATIN CAPITAL LETTER M # M "
"16r004E" 16r004E " LATIN CAPITAL LETTER N # N "
"16r004F" 16r004F " LATIN CAPITAL LETTER O # O "
"16r0050" 16r0050 " LATIN CAPITAL LETTER P # P "
"16r0051" 16r0051 " LATIN CAPITAL LETTER Q # Q "
"16r0052" 16r0052 " LATIN CAPITAL LETTER R # R "
"16r0053" 16r0053 " LATIN CAPITAL LETTER S # S "
"16r0054" 16r0054 " LATIN CAPITAL LETTER T # T "
"16r0055" 16r0055 " LATIN CAPITAL LETTER U # U "
"16r0056" 16r0056 " LATIN CAPITAL LETTER V # V "
"16r0057" 16r0057 " LATIN CAPITAL LETTER W # W "
"16r0058" 16r0058 " LATIN CAPITAL LETTER X # X "
"16r0059" 16r0059 " LATIN CAPITAL LETTER Y # Y "
"16r005A" 16r005A " LATIN CAPITAL LETTER Z # Z "
"16r005B" 16r005B " LEFT SQUARE BRACKET # bracketleft "
"16r005C" 16r005C " REVERSE SOLIDUS # backslash "
"16r005D" 16r005D " RIGHT SQUARE BRACKET # bracketright "
"16r005E" 16r005E " CIRCUMFLEX ACCENT # asciicircum "
"16r005F" 16r005F " LOW LINE # underscore "
"16r0060" 16r2018 " LEFT SINGLE QUOTATION MARK # quoteleft "
"16r0061" 16r0061 " LATIN SMALL LETTER A # a "
"16r0062" 16r0062 " LATIN SMALL LETTER B # b "
"16r0063" 16r0063 " LATIN SMALL LETTER C # c "
"16r0064" 16r0064 " LATIN SMALL LETTER D # d "
"16r0065" 16r0065 " LATIN SMALL LETTER E # e "
"16r0066" 16r0066 " LATIN SMALL LETTER F # f "
"16r0067" 16r0067 " LATIN SMALL LETTER G # g "
"16r0068" 16r0068 " LATIN SMALL LETTER H # h "
"16r0069" 16r0069 " LATIN SMALL LETTER I # i "
"16r006A" 16r006A " LATIN SMALL LETTER J # j "
"16r006B" 16r006B " LATIN SMALL LETTER K # k "
"16r006C" 16r006C " LATIN SMALL LETTER L # l "
"16r006D" 16r006D " LATIN SMALL LETTER M # m "
"16r006E" 16r006E " LATIN SMALL LETTER N # n "
"16r006F" 16r006F " LATIN SMALL LETTER O # o "
"16r0070" 16r0070 " LATIN SMALL LETTER P # p "
"16r0071" 16r0071 " LATIN SMALL LETTER Q # q "
"16r0072" 16r0072 " LATIN SMALL LETTER R # r "
"16r0073" 16r0073 " LATIN SMALL LETTER S # s "
"16r0074" 16r0074 " LATIN SMALL LETTER T # t "
"16r0075" 16r0075 " LATIN SMALL LETTER U # u "
"16r0076" 16r0076 " LATIN SMALL LETTER V # v "
"16r0077" 16r0077 " LATIN SMALL LETTER W # w "
"16r0078" 16r0078 " LATIN SMALL LETTER X # x "
"16r0079" 16r0079 " LATIN SMALL LETTER Y # y "
"16r007A" 16r007A " LATIN SMALL LETTER Z # z "
"16r007B" 16r007B " LEFT CURLY BRACKET # braceleft "
"16r007C" 16r007C " VERTICAL LINE # bar "
"16r007D" 16r007D " RIGHT CURLY BRACKET # braceright "
"16r007E" 16r007E " TILDE # asciitilde "
"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" 16r0020 " invalid "
"16r00A1" 16r00A1 " INVERTED EXCLAMATION MARK # exclamdown "
"16r00A2" 16r00A2 " CENT SIGN # cent "
"16r00A3" 16r00A3 " POUND SIGN # sterling "
"16r00A4" 16r2215 " DIVISION SLASH # fraction "
"16r00A5" 16r00A5 " YEN SIGN # yen "
"16r00A6" 16r0192 " LATIN SMALL LETTER F WITH HOOK # florin "
"16r00A7" 16r00A7 " SECTION SIGN # section "
"16r00A8" 16r00A4 " CURRENCY SIGN # currency "
"16r00A9" 16r0027 " APOSTROPHE # quotesingle "
"16r00AA" 16r201C " LEFT DOUBLE QUOTATION MARK # quotedblleft "
"16r00AB" 16r00AB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK # guillemotleft "
"16r00AC" 16r2039 " SINGLE LEFT-POINTING ANGLE QUOTATION MARK # guilsinglleft "
"16r00AD" 16r203A " SINGLE RIGHT-POINTING ANGLE QUOTATION MARK # guilsinglright "
"16r00AE" 16rFB01 " LATIN SMALL LIGATURE FI # fi "
"16r00AF" 16rFB02 " LATIN SMALL LIGATURE FL # fl "
"16r00B0" 16r0000 " invalid "
"16r00B1" 16r2013 " EN DASH # endash "
"16r00B2" 16r2020 " DAGGER # dagger "
"16r00B3" 16r2021 " DOUBLE DAGGER # daggerdbl "
"16r00B4" 16r2219 " BULLET OPERATOR # periodcentered "
"16r00B5" 16r0000 " invalid "
"16r00B6" 16r00B6 " PILCROW SIGN # paragraph "
"16r00B7" 16r2022 " BULLET # bullet "
"16r00B8" 16r201A " SINGLE LOW-9 QUOTATION MARK # quotesinglbase "
"16r00B9" 16r201E " DOUBLE LOW-9 QUOTATION MARK # quotedblbase "
"16r00BA" 16r201D " RIGHT DOUBLE QUOTATION MARK # quotedblright "
"16r00BB" 16r00BB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK # guillemotright "
"16r00BC" 16r2026 " HORIZONTAL ELLIPSIS # ellipsis "
"16r00BD" 16r2030 " PER MILLE SIGN # perthousand "
"16r00BE" 16r0000 " invalid "
"16r00BF" 16r00BF " INVERTED QUESTION MARK # questiondown "
"16r00C0" 16r0000 " invalid "
"16r00C1" 16r0060 " GRAVE ACCENT # grave "
"16r00C2" 16r00B4 " ACUTE ACCENT # acute "
"16r00C3" 16r02C6 " MODIFIER LETTER CIRCUMFLEX ACCENT # circumflex "
"16r00C4" 16r02DC " SMALL TILDE # tilde "
"16r00C5" 16r02C9 " MODIFIER LETTER MACRON # macron "
"16r00C6" 16r02D8 " BREVE # breve "
"16r00C7" 16r02D9 " DOT ABOVE # dotaccent "
"16r00C8" 16r00A8 " DIAERESIS # dieresis "
"16r00C9" 16r0000 " invalid "
"16r00CA" 16r02DA " RING ABOVE # ring "
"16r00CB" 16r00B8 " CEDILLA # cedilla "
"16r00CC" 16r0000 " invalid "
"16r00CD" 16r02DD " DOUBLE ACUTE ACCENT # hungarumlaut "
"16r00CE" 16r02DB " OGONEK # ogonek "
"16r00CF" 16r02C7 " CARON # caron "
"16r00D0" 16r2014 " EM DASH # emdash "
"16r00D1" 16r0000 " invalid "
"16r00D2" 16r0000 " invalid "
"16r00D3" 16r0000 " invalid "
"16r00D4" 16r0000 " invalid "
"16r00D5" 16r0000 " invalid "
"16r00D6" 16r0000 " invalid "
"16r00D7" 16r0000 " invalid "
"16r00D8" 16r0000 " invalid "
"16r00D9" 16r0000 " invalid "
"16r00DA" 16r0000 " invalid "
"16r00DB" 16r0000 " invalid "
"16r00DC" 16r0000 " invalid "
"16r00DD" 16r0000 " invalid "
"16r00DE" 16r0000 " invalid "
"16r00DF" 16r0000 " invalid "
"16r00E0" 16r0000 " invalid "
"16r00E1" 16r00C6 " LATIN CAPITAL LETTER AE # AE "
"16r00E2" 16r0000 " invalid "
"16r00E3" 16r00AA " FEMININE ORDINAL INDICATOR # ordfeminine "
"16r00E4" 16r0000 " invalid "
"16r00E5" 16r0000 " invalid "
"16r00E6" 16r0000 " invalid "
"16r00E7" 16r0000 " invalid "
"16r00E8" 16r0141 " LATIN CAPITAL LETTER L WITH STROKE # Lslash "
"16r00E9" 16r00D8 " LATIN CAPITAL LETTER O WITH STROKE # Oslash "
"16r00EA" 16r0152 " LATIN CAPITAL LIGATURE OE # OE "
"16r00EB" 16r00BA " MASCULINE ORDINAL INDICATOR # ordmasculine "
"16r00EC" 16r0000 " invalid "
"16r00ED" 16r0000 " invalid "
"16r00EE" 16r0000 " invalid "
"16r00EF" 16r0000 " invalid "
"16r00F0" 16r0000 " invalid "
"16r00F1" 16r00E6 " LATIN SMALL LETTER AE # ae "
"16r00F2" 16r0000 " invalid "
"16r00F3" 16r0000 " invalid "
"16r00F4" 16r0000 " invalid "
"16r00F5" 16r0131 " LATIN SMALL LETTER DOTLESS I # dotlessi "
"16r00F6" 16r0000 " invalid "
"16r00F7" 16r0000 " invalid "
"16r00F8" 16r0142 " LATIN SMALL LETTER L WITH STROKE # lslash "
"16r00F9" 16r00F8 " LATIN SMALL LETTER O WITH STROKE # oslash "
"16r00FA" 16r0153 " LATIN SMALL LIGATURE OE # oe "
"16r00FB" 16r00DF " LATIN SMALL LETTER SHARP S # germandbls "
) 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 <= 16r26 ifTrue:[ ^ unicode ].
unicode > 16rFB02 ifTrue:[
^ self encodingError.
].
unicode <= 16r2219 ifTrue:[
unicode <= 16r2DD ifTrue:[
unicode <= 16r192 ifTrue:[
unicode <= 16r153 ifTrue:[
unicode <= 16rF8 ifTrue:[
[
|t|
t := #[
"16r0027" 16rA9 " APOSTROPHE # quotesingle "
"16r0028" 16r28 " LEFT PARENTHESIS # parenleft "
"16r0029" 16r29 " RIGHT PARENTHESIS # parenright "
"16r002A" 16r2A " ASTERISK # asterisk "
"16r002B" 16r2B " PLUS SIGN # plus "
"16r002C" 16r2C " COMMA # comma "
"16r002D" 16r00 " invalid "
"16r002E" 16r2E " FULL STOP # period "
"16r002F" 16r2F " SOLIDUS # slash "
"16r0030" 16r30 " DIGIT ZERO # zero "
"16r0031" 16r31 " DIGIT ONE # one "
"16r0032" 16r32 " DIGIT TWO # two "
"16r0033" 16r33 " DIGIT THREE # three "
"16r0034" 16r34 " DIGIT FOUR # four "
"16r0035" 16r35 " DIGIT FIVE # five "
"16r0036" 16r36 " DIGIT SIX # six "
"16r0037" 16r37 " DIGIT SEVEN # seven "
"16r0038" 16r38 " DIGIT EIGHT # eight "
"16r0039" 16r39 " DIGIT NINE # nine "
"16r003A" 16r3A " COLON # colon "
"16r003B" 16r3B " SEMICOLON # semicolon "
"16r003C" 16r3C " LESS-THAN SIGN # less "
"16r003D" 16r3D " EQUALS SIGN # equal "
"16r003E" 16r3E " GREATER-THAN SIGN # greater "
"16r003F" 16r3F " QUESTION MARK # question "
"16r0040" 16r40 " COMMERCIAL AT # at "
"16r0041" 16r41 " LATIN CAPITAL LETTER A # A "
"16r0042" 16r42 " LATIN CAPITAL LETTER B # B "
"16r0043" 16r43 " LATIN CAPITAL LETTER C # C "
"16r0044" 16r44 " LATIN CAPITAL LETTER D # D "
"16r0045" 16r45 " LATIN CAPITAL LETTER E # E "
"16r0046" 16r46 " LATIN CAPITAL LETTER F # F "
"16r0047" 16r47 " LATIN CAPITAL LETTER G # G "
"16r0048" 16r48 " LATIN CAPITAL LETTER H # H "
"16r0049" 16r49 " LATIN CAPITAL LETTER I # I "
"16r004A" 16r4A " LATIN CAPITAL LETTER J # J "
"16r004B" 16r4B " LATIN CAPITAL LETTER K # K "
"16r004C" 16r4C " LATIN CAPITAL LETTER L # L "
"16r004D" 16r4D " LATIN CAPITAL LETTER M # M "
"16r004E" 16r4E " LATIN CAPITAL LETTER N # N "
"16r004F" 16r4F " LATIN CAPITAL LETTER O # O "
"16r0050" 16r50 " LATIN CAPITAL LETTER P # P "
"16r0051" 16r51 " LATIN CAPITAL LETTER Q # Q "
"16r0052" 16r52 " LATIN CAPITAL LETTER R # R "
"16r0053" 16r53 " LATIN CAPITAL LETTER S # S "
"16r0054" 16r54 " LATIN CAPITAL LETTER T # T "
"16r0055" 16r55 " LATIN CAPITAL LETTER U # U "
"16r0056" 16r56 " LATIN CAPITAL LETTER V # V "
"16r0057" 16r57 " LATIN CAPITAL LETTER W # W "
"16r0058" 16r58 " LATIN CAPITAL LETTER X # X "
"16r0059" 16r59 " LATIN CAPITAL LETTER Y # Y "
"16r005A" 16r5A " LATIN CAPITAL LETTER Z # Z "
"16r005B" 16r5B " LEFT SQUARE BRACKET # bracketleft "
"16r005C" 16r5C " REVERSE SOLIDUS # backslash "
"16r005D" 16r5D " RIGHT SQUARE BRACKET # bracketright "
"16r005E" 16r5E " CIRCUMFLEX ACCENT # asciicircum "
"16r005F" 16r5F " LOW LINE # underscore "
"16r0060" 16rC1 " GRAVE ACCENT # grave "
"16r0061" 16r61 " LATIN SMALL LETTER A # a "
"16r0062" 16r62 " LATIN SMALL LETTER B # b "
"16r0063" 16r63 " LATIN SMALL LETTER C # c "
"16r0064" 16r64 " LATIN SMALL LETTER D # d "
"16r0065" 16r65 " LATIN SMALL LETTER E # e "
"16r0066" 16r66 " LATIN SMALL LETTER F # f "
"16r0067" 16r67 " LATIN SMALL LETTER G # g "
"16r0068" 16r68 " LATIN SMALL LETTER H # h "
"16r0069" 16r69 " LATIN SMALL LETTER I # i "
"16r006A" 16r6A " LATIN SMALL LETTER J # j "
"16r006B" 16r6B " LATIN SMALL LETTER K # k "
"16r006C" 16r6C " LATIN SMALL LETTER L # l "
"16r006D" 16r6D " LATIN SMALL LETTER M # m "
"16r006E" 16r6E " LATIN SMALL LETTER N # n "
"16r006F" 16r6F " LATIN SMALL LETTER O # o "
"16r0070" 16r70 " LATIN SMALL LETTER P # p "
"16r0071" 16r71 " LATIN SMALL LETTER Q # q "
"16r0072" 16r72 " LATIN SMALL LETTER R # r "
"16r0073" 16r73 " LATIN SMALL LETTER S # s "
"16r0074" 16r74 " LATIN SMALL LETTER T # t "
"16r0075" 16r75 " LATIN SMALL LETTER U # u "
"16r0076" 16r76 " LATIN SMALL LETTER V # v "
"16r0077" 16r77 " LATIN SMALL LETTER W # w "
"16r0078" 16r78 " LATIN SMALL LETTER X # x "
"16r0079" 16r79 " LATIN SMALL LETTER Y # y "
"16r007A" 16r7A " LATIN SMALL LETTER Z # z "
"16r007B" 16r7B " LEFT CURLY BRACKET # braceleft "
"16r007C" 16r7C " VERTICAL LINE # bar "
"16r007D" 16r7D " RIGHT CURLY BRACKET # braceright "
"16r007E" 16r7E " TILDE # asciitilde "
"16r007F" 16r00 " invalid "
"16r0080" 16r00 " invalid "
"16r0081" 16r00 " invalid "
"16r0082" 16r00 " invalid "
"16r0083" 16r00 " invalid "
"16r0084" 16r00 " invalid "
"16r0085" 16r00 " invalid "
"16r0086" 16r00 " invalid "
"16r0087" 16r00 " invalid "
"16r0088" 16r00 " invalid "
"16r0089" 16r00 " invalid "
"16r008A" 16r00 " invalid "
"16r008B" 16r00 " invalid "
"16r008C" 16r00 " invalid "
"16r008D" 16r00 " invalid "
"16r008E" 16r00 " invalid "
"16r008F" 16r00 " invalid "
"16r0090" 16r00 " invalid "
"16r0091" 16r00 " invalid "
"16r0092" 16r00 " invalid "
"16r0093" 16r00 " invalid "
"16r0094" 16r00 " invalid "
"16r0095" 16r00 " invalid "
"16r0096" 16r00 " invalid "
"16r0097" 16r00 " invalid "
"16r0098" 16r00 " invalid "
"16r0099" 16r00 " invalid "
"16r009A" 16r00 " invalid "
"16r009B" 16r00 " invalid "
"16r009C" 16r00 " invalid "
"16r009D" 16r00 " invalid "
"16r009E" 16r00 " invalid "
"16r009F" 16r00 " invalid "
"16r00A0" 16r20 " NO-BREAK SPACE # space "
"16r00A1" 16rA1 " INVERTED EXCLAMATION MARK # exclamdown "
"16r00A2" 16rA2 " CENT SIGN # cent "
"16r00A3" 16rA3 " POUND SIGN # sterling "
"16r00A4" 16rA8 " CURRENCY SIGN # currency "
"16r00A5" 16rA5 " YEN SIGN # yen "
"16r00A6" 16r00 " invalid "
"16r00A7" 16rA7 " SECTION SIGN # section "
"16r00A8" 16rC8 " DIAERESIS # dieresis "
"16r00A9" 16r00 " invalid "
"16r00AA" 16rE3 " FEMININE ORDINAL INDICATOR # ordfeminine "
"16r00AB" 16rAB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK # guillemotleft "
"16r00AC" 16r00 " invalid "
"16r00AD" 16r2D " SOFT HYPHEN # hyphen "
"16r00AE" 16r00 " invalid "
"16r00AF" 16r00 " invalid "
"16r00B0" 16r00 " invalid "
"16r00B1" 16r00 " invalid "
"16r00B2" 16r00 " invalid "
"16r00B3" 16r00 " invalid "
"16r00B4" 16rC2 " ACUTE ACCENT # acute "
"16r00B5" 16r00 " invalid "
"16r00B6" 16rB6 " PILCROW SIGN # paragraph "
"16r00B7" 16r00 " invalid "
"16r00B8" 16rCB " CEDILLA # cedilla "
"16r00B9" 16r00 " invalid "
"16r00BA" 16rEB " MASCULINE ORDINAL INDICATOR # ordmasculine "
"16r00BB" 16rBB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK # guillemotright "
"16r00BC" 16r00 " invalid "
"16r00BD" 16r00 " invalid "
"16r00BE" 16r00 " invalid "
"16r00BF" 16rBF " INVERTED QUESTION MARK # questiondown "
"16r00C0" 16r00 " invalid "
"16r00C1" 16r00 " invalid "
"16r00C2" 16r00 " invalid "
"16r00C3" 16r00 " invalid "
"16r00C4" 16r00 " invalid "
"16r00C5" 16r00 " invalid "
"16r00C6" 16rE1 " LATIN CAPITAL LETTER AE # AE "
"16r00C7" 16r00 " invalid "
"16r00C8" 16r00 " invalid "
"16r00C9" 16r00 " invalid "
"16r00CA" 16r00 " invalid "
"16r00CB" 16r00 " invalid "
"16r00CC" 16r00 " invalid "
"16r00CD" 16r00 " invalid "
"16r00CE" 16r00 " invalid "
"16r00CF" 16r00 " invalid "
"16r00D0" 16r00 " invalid "
"16r00D1" 16r00 " invalid "
"16r00D2" 16r00 " invalid "
"16r00D3" 16r00 " invalid "
"16r00D4" 16r00 " invalid "
"16r00D5" 16r00 " invalid "
"16r00D6" 16r00 " invalid "
"16r00D7" 16r00 " invalid "
"16r00D8" 16rE9 " LATIN CAPITAL LETTER O WITH STROKE # Oslash "
"16r00D9" 16r00 " invalid "
"16r00DA" 16r00 " invalid "
"16r00DB" 16r00 " invalid "
"16r00DC" 16r00 " invalid "
"16r00DD" 16r00 " invalid "
"16r00DE" 16r00 " invalid "
"16r00DF" 16rFB " LATIN SMALL LETTER SHARP S # germandbls "
"16r00E0" 16r00 " invalid "
"16r00E1" 16r00 " invalid "
"16r00E2" 16r00 " invalid "
"16r00E3" 16r00 " invalid "
"16r00E4" 16r00 " invalid "
"16r00E5" 16r00 " invalid "
"16r00E6" 16rF1 " LATIN SMALL LETTER AE # ae "
"16r00E7" 16r00 " invalid "
"16r00E8" 16r00 " invalid "
"16r00E9" 16r00 " invalid "
"16r00EA" 16r00 " invalid "
"16r00EB" 16r00 " invalid "
"16r00EC" 16r00 " invalid "
"16r00ED" 16r00 " invalid "
"16r00EE" 16r00 " invalid "
"16r00EF" 16r00 " invalid "
"16r00F0" 16r00 " invalid "
"16r00F1" 16r00 " invalid "
"16r00F2" 16r00 " invalid "
"16r00F3" 16r00 " invalid "
"16r00F4" 16r00 " invalid "
"16r00F5" 16r00 " invalid "
"16r00F6" 16r00 " invalid "
"16r00F7" 16r00 " invalid "
"16r00F8" 16rF9 " LATIN SMALL LETTER O WITH STROKE # oslash "
] at:(unicode - 16r26).
t == 0 ifFalse:[^ t].
^ self encodingError
] value.
].
unicode <= 16r130 ifTrue:[
^ self encodingError
].
unicode == 16r131 ifTrue:[
(#[
"16r0131" 1 " LATIN SMALL LETTER DOTLESS I # dotlessi "
] at:(unicode - 304)) ~~ 0 ifTrue:[^ unicode].
^ self encodingError
].
unicode <= 16r140 ifTrue:[
^ self encodingError
].
[
|t|
t := #[
"16r0141" 16rE8 " LATIN CAPITAL LETTER L WITH STROKE # Lslash "
"16r0142" 16rF8 " LATIN SMALL LETTER L WITH STROKE # lslash "
"16r0143" 16r00 " invalid "
"16r0144" 16r00 " invalid "
"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" 16r00 " invalid "
"16r0151" 16r00 " invalid "
"16r0152" 16rEA " LATIN CAPITAL LIGATURE OE # OE "
"16r0153" 16rFA " LATIN SMALL LIGATURE OE # oe "
] at:(unicode - 16r140).
t == 0 ifFalse:[^ t].
^ self encodingError
] value.
].
unicode <= 16r191 ifTrue:[
^ self encodingError
].
^ "16r0192" 16r00A6 " LATIN SMALL LETTER F WITH HOOK # florin "
].
unicode <= 16r2C5 ifTrue:[
^ self encodingError
].
[
|t|
t := #[
"16r02C6" 16rC3 " MODIFIER LETTER CIRCUMFLEX ACCENT # circumflex "
"16r02C7" 16rCF " CARON # caron "
"16r02C8" 16r00 " invalid "
"16r02C9" 16rC5 " MODIFIER LETTER MACRON # macron "
"16r02CA" 16r00 " invalid "
"16r02CB" 16r00 " invalid "
"16r02CC" 16r00 " invalid "
"16r02CD" 16r00 " invalid "
"16r02CE" 16r00 " invalid "
"16r02CF" 16r00 " invalid "
"16r02D0" 16r00 " invalid "
"16r02D1" 16r00 " invalid "
"16r02D2" 16r00 " invalid "
"16r02D3" 16r00 " invalid "
"16r02D4" 16r00 " invalid "
"16r02D5" 16r00 " invalid "
"16r02D6" 16r00 " invalid "
"16r02D7" 16r00 " invalid "
"16r02D8" 16rC6 " BREVE # breve "
"16r02D9" 16rC7 " DOT ABOVE # dotaccent "
"16r02DA" 16rCA " RING ABOVE # ring "
"16r02DB" 16rCE " OGONEK # ogonek "
"16r02DC" 16rC4 " SMALL TILDE # tilde "
"16r02DD" 16rCD " DOUBLE ACUTE ACCENT # hungarumlaut "
] at:(unicode - 16r2C5).
t == 0 ifFalse:[^ t].
^ self encodingError
] value.
].
unicode <= 16r2012 ifTrue:[
^ self encodingError
].
unicode <= 16r203A ifTrue:[
[
|t|
t := #[
"16r2013" 16rB1 " EN DASH # endash "
"16r2014" 16rD0 " EM DASH # emdash "
"16r2015" 16r00 " invalid "
"16r2016" 16r00 " invalid "
"16r2017" 16r00 " invalid "
"16r2018" 16r60 " LEFT SINGLE QUOTATION MARK # quoteleft "
"16r2019" 16r27 " RIGHT SINGLE QUOTATION MARK # quoteright "
"16r201A" 16rB8 " SINGLE LOW-9 QUOTATION MARK # quotesinglbase "
"16r201B" 16r00 " invalid "
"16r201C" 16rAA " LEFT DOUBLE QUOTATION MARK # quotedblleft "
"16r201D" 16rBA " RIGHT DOUBLE QUOTATION MARK # quotedblright "
"16r201E" 16rB9 " DOUBLE LOW-9 QUOTATION MARK # quotedblbase "
"16r201F" 16r00 " invalid "
"16r2020" 16rB2 " DAGGER # dagger "
"16r2021" 16rB3 " DOUBLE DAGGER # daggerdbl "
"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" 16rBD " PER MILLE SIGN # perthousand "
"16r2031" 16r00 " invalid "
"16r2032" 16r00 " invalid "
"16r2033" 16r00 " invalid "
"16r2034" 16r00 " invalid "
"16r2035" 16r00 " invalid "
"16r2036" 16r00 " invalid "
"16r2037" 16r00 " invalid "
"16r2038" 16r00 " invalid "
"16r2039" 16rAC " SINGLE LEFT-POINTING ANGLE QUOTATION MARK # guilsinglleft "
"16r203A" 16rAD " SINGLE RIGHT-POINTING ANGLE QUOTATION MARK # guilsinglright "
] at:(unicode - 16r2012).
t == 0 ifFalse:[^ t].
^ self encodingError
] value.
].
unicode <= 16r2214 ifTrue:[
^ self encodingError
].
[
|t|
t := #[
"16r2215" 16rA4 " DIVISION SLASH # fraction "
"16r2216" 16r00 " invalid "
"16r2217" 16r00 " invalid "
"16r2218" 16r00 " invalid "
"16r2219" 16rB4 " BULLET OPERATOR # periodcentered "
] at:(unicode - 16r2214).
t == 0 ifFalse:[^ t].
^ self encodingError
] value.
].
unicode <= 16rFB00 ifTrue:[
^ self encodingError
].
^ #[
"16rFB01" 16rAE " LATIN SMALL LIGATURE FI # fi "
"16rFB02" 16rAF " LATIN SMALL LIGATURE FL # fl "
] at:(unicode - 16rFB00).
! !
!AdobeStandard class methodsFor:'documentation'!
version
^ '$Header$'
!
version_CVS
^ '$Header$'
! !