--- a/CharacterEncoder.st Tue Feb 10 18:03:35 2004 +0100
+++ b/CharacterEncoder.st Tue Feb 10 18:09:07 2004 +0100
@@ -1,8 +1,20 @@
-"{ Package: 'stx:libbasic' }"
+"
+ COPYRIGHT (c) 2004 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: '__NoProject__' }"
Object subclass:#CharacterEncoder
instanceVariableNames:'name alternativeNames'
- classVariableNames:'encodings'
+ classVariableNames:'EncodersByName'
poolDictionaries:''
category:'Collections-Text-Encodings'
!
@@ -14,28 +26,35 @@
"
!
-CharacterEncoder subclass:#BIG5
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-CharacterEncoder subclass:#CNS11643
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-CharacterEncoder subclass:#GB2313_1980
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#GSM0338
+CharacterEncoder subclass:#SingleByteEncoder
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder subclass:#TwoByteEncoder
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::TwoByteEncoder subclass:#CNS11643
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::TwoByteEncoder subclass:#GB2313_1980
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#GSM0338
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
@@ -56,105 +75,105 @@
privateIn:CharacterEncoder
!
-SingleByteEncoder subclass:#ISO8859_1
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#ISO8859_10
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#ISO8859_11
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#ISO8859_13
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#ISO8859_14
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#ISO8859_15
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#ISO8859_16
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#ISO8859_2
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#ISO8859_3
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#ISO8859_4
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#ISO8859_5
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#ISO8859_6
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#ISO8859_7
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#ISO8859_8
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#ISO8859_9
+CharacterEncoder::SingleByteEncoder subclass:#ISO8859_1
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#ISO8859_10
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#ISO8859_11
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#ISO8859_13
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#ISO8859_14
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#ISO8859_15
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#ISO8859_16
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#ISO8859_2
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#ISO8859_3
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#ISO8859_4
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#ISO8859_5
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#ISO8859_6
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#ISO8859_7
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#ISO8859_8
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#ISO8859_9
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
@@ -189,14 +208,14 @@
privateIn:CharacterEncoder
!
-SingleByteEncoder subclass:#KOI8_R
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#KOI8_U
+CharacterEncoder::SingleByteEncoder subclass:#KOI8_R
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#KOI8_U
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
@@ -210,245 +229,175 @@
privateIn:CharacterEncoder
!
-SingleByteEncoder subclass:#MAC_Arabic
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MAC_CentralEuropean
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MAC_Croatian
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MAC_Cyrillic
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MAC_Dingbats
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MAC_Farsi
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MAC_Greek
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MAC_Hebrew
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MAC_Iceland
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MAC_Japanese
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MAC_Korean
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MAC_Roman
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MAC_Romanian
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MAC_Symbol
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MAC_Thai
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MAC_Turkish
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MAC_Ukraine
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MS_CP1006
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MS_CP1250
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MS_CP1251
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MS_CP1252
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MS_CP1253
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MS_CP1254
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MS_CP1255
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MS_CP1256
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MS_CP1257
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MS_CP1258
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MS_CP424
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MS_CP856
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MS_CP874
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MS_CP932
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MS_CP936
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MS_CP949
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#MS_CP950
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- privateIn:CharacterEncoder
-!
-
-SingleByteEncoder subclass:#NEXT
+CharacterEncoder::SingleByteEncoder subclass:#MAC_Arabic
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#MAC_CentralEuropean
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#MAC_Croatian
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#MAC_Cyrillic
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#MAC_Dingbats
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#MAC_Farsi
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#MAC_Greek
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#MAC_Hebrew
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#MAC_Iceland
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#MAC_Japanese
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#MAC_Korean
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#MAC_Roman
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#MAC_Romanian
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#MAC_Symbol
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#MAC_Thai
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#MAC_Turkish
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#MS_Ansi
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#MS_Arabic
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#MS_Cyrillic
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#MS_EastEuropean
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#MS_Greek
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#MS_Hebrew
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#MS_Turkish
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#NEXT
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder subclass:#NullEncoder
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
@@ -462,7 +411,21 @@
privateIn:CharacterEncoder
!
-CharacterEncoder subclass:#SJIS
+CharacterEncoder::TwoByteEncoder subclass:#SJIS
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::SingleByteEncoder subclass:#ASCII
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:CharacterEncoder
+!
+
+CharacterEncoder::TwoByteEncoder subclass:#BIG5
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
@@ -471,23 +434,132 @@
!CharacterEncoder class methodsFor:'documentation'!
+copyright
+"
+ COPYRIGHT (c) 2004 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
"
- unfinished code.
-
- Code is generated from charmaps found at:
- ftp://dkuug.dk/i18n/charmaps
-"
-! !
-
-!CharacterEncoder class methodsFor:'defaults'!
-
-alternativeNamesOfEncoding
- ^ #()
-!
-
-nameOfEncoding
- ^ self nameWithoutPrefix asLowercase asSymbol
+ unfinished code - please read howToAddMoreCoders.
+
+ Character mappings are based on information in character maps found at either:
+ http://std.dkuug.dk/i18n/charmaps
+ or:
+ http://www.unicode.org/Public/MAPPINGS
+
+ No Warranty.
+"
+!
+
+examples
+"
+ |s1 s2|
+
+ s1 := 'hello'.
+ s2 := CharacterEncoder encode:s1 from:#'iso8859-1' into:#'unicode'.
+ s2
+
+
+ |s1 s2|
+
+ s1 := 'hello'.
+ s2 := CharacterEncoder encode:s1 from:#'iso8859-1' into:#'iso8859-7'.
+ s2
+"
+!
+
+howToAddMoreCoders
+"
+ The table driven encode/decode methods can be generated from a character mapping document
+ as found on the unicode consortium host
+ (for example: 'http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-1.TXT')
+
+ or from the i18n character maps:
+ (for example: 'http://std.dkuug.dk/i18n/charmaps/ISO-8859-1
+
+ In order to add another coder (for example: for finish EBCDIC or ms-codePage 278),
+ perform the following steps:
+ - create a private subclass of SingleByteEncoder named (for example) CP267.
+
+ - define the mappingURL1_relativeName (if the table is found on 'www.unicode.org')
+ or the mappingURL2_relativeName (if it is found on 'std.dkuug.dk') method, which
+ should return the name of the tables file, relative to the top directory there
+ (which is '.../Public/MAPPINGS' on www.unicode.org and '.../i18n/charmaops' on 'std.dkuug.dk'.
+
+ In this example, the table from 'std.dkuug.dk' is used, and named 'EBCDIC-CP-FI' there.
+
+ - generate code by evaluating:
+ CharacterEncoder::CP267 generateCode
+
+ Thats all !!
+
+ CharacterEncoder::SingleByteEncoder allSubclassesDo:[:cls | cls flushCode; generateCode ]
+
+ CharacterEncoder::ASCII flushCode; generateCode
+ CharacterEncoder::ISO8859_1 flushCode; generateCode
+ CharacterEncoder::ISO8859_2 flushCode; generateCode
+ CharacterEncoder::ISO8859_3 flushCode; generateCode
+ CharacterEncoder::ISO8859_4 flushCode; generateCode
+ CharacterEncoder::ISO8859_5 flushCode; generateCode
+ CharacterEncoder::ISO8859_6 flushCode; generateCode
+ CharacterEncoder::ISO8859_7 flushCode; generateCode
+ CharacterEncoder::ISO8859_8 flushCode; generateCode
+ CharacterEncoder::ISO8859_9 flushCode; generateCode
+ CharacterEncoder::ISO8859_10 flushCode; generateCode
+ CharacterEncoder::ISO8859_11 flushCode; generateCode
+ CharacterEncoder::ISO8859_13 flushCode; generateCode
+ CharacterEncoder::ISO8859_14 flushCode; generateCode
+ CharacterEncoder::ISO8859_15 flushCode; generateCode
+ CharacterEncoder::ISO8859_16 flushCode; generateCode
+ CharacterEncoder::KOI8_R flushCode; generateCode
+
+"
+! !
+
+!CharacterEncoder class methodsFor:'class initialization'!
+
+initialize
+ EncodersByName := IdentityDictionary new.
+ EncodersByName at:#'iso8859-1' put:ISO8859_1.
+ EncodersByName at:#'iso8859-2' put:ISO8859_2.
+ EncodersByName at:#'iso8859-3' put:ISO8859_3.
+ EncodersByName at:#'iso8859-4' put:ISO8859_4.
+ EncodersByName at:#'iso8859-5' put:ISO8859_5.
+ EncodersByName at:#'iso8859-6' put:ISO8859_6.
+ EncodersByName at:#'iso8859-7' put:ISO8859_7.
+ EncodersByName at:#'iso8859-8' put:ISO8859_8.
+ EncodersByName at:#'iso8859-9' put:ISO8859_9.
+ EncodersByName at:#'iso8859-10' put:ISO8859_10.
+ EncodersByName at:#'iso8859-11' put:ISO8859_11.
+ EncodersByName at:#'iso8859-13' put:ISO8859_13.
+ EncodersByName at:#'iso8859-14' put:ISO8859_14.
+ EncodersByName at:#'iso8859-15' put:ISO8859_15.
+ EncodersByName at:#'iso8859-16' put:ISO8859_16.
+
+ EncodersByName at:#'big5' put:BIG5.
+ EncodersByName at:#'cns11643' put:CNS11643.
+ EncodersByName at:#'gb2313-1980' put:GB2313_1980.
+ EncodersByName at:#'jis0201' put:JIS0201.
+ EncodersByName at:#'jis0208' put:JIS0208.
+ EncodersByName at:#'jis0212' put:JIS0212.
+ EncodersByName at:#'sjis' put:SJIS.
+ EncodersByName at:#'ksc5601' put:KSC5601.
+ EncodersByName at:#'koi8-r' put:KOI8_R.
+ EncodersByName at:#'koi8-u' put:KOI8_U.
+
+ "
+ self initialize
+ "
! !
!CharacterEncoder class methodsFor:'encoding & decoding'!
@@ -509,24 +581,64 @@
ISO8859_1 encodeString:(ISO8859_1 decodeString:'hello')
ISO8859_5 decodeString:(String
- with:(Character value:16rE4)
- with:(Character value:16rE0))
+ with:(Character value:16rE4)
+ with:(Character value:16rE0))
"
!
-encode:aString as:newEncodingArg
- |oldEncoding newEncoding|
-
+encode:aString from:oldEncodingArg into:newEncodingArg
+ |oldEncoding newEncoding encoder decoder encodedString decodedString|
+
+ oldEncoding := oldEncodingArg ? #'iso8859-1'.
newEncoding := newEncodingArg ? #'iso8859-1'.
-
- oldEncoding := aString encoding.
oldEncoding == newEncoding ifTrue:[^ aString].
- self halt.
- ^ aString.
-!
-
-encodeString:aString
- ^ self new encodeString:aString
+
+ oldEncoding == #unicode ifTrue:[
+ "/ unicode -> something
+ encoder := self encoderForName:newEncoding.
+ encodedString := encoder encodeString:aString.
+ ^ encodedString.
+ ].
+ newEncoding == #unicode ifTrue:[
+ "/ something -> unicode
+ decoder := self encoderForName:oldEncoding.
+ decodedString := decoder decodeString:aString.
+ ^ decodedString.
+ ].
+
+ "/ do it as: oldEncoding -> unicode -> newEncoding
+
+ "/ something -> unicode
+ decoder := self encoderForName:oldEncoding.
+ decodedString := decoder decodeString:aString.
+
+ "/ unicode -> something
+ encoder := self encoderForName:newEncoding.
+ encodedString := encoder encodeString:decodedString.
+ ^ encodedString
+
+!
+
+encode:aString into:newEncodingArg
+ ^ self encode:aString from:(aString encoding) into:newEncodingArg
+!
+
+encodeString:aUnicodeString
+ "given a string in unicode, return a string in my encoding for it"
+
+ |newString myCode uniCodePoint|
+
+ newString := self newString:(aUnicodeString size).
+ 1 to:aUnicodeString size do:[:idx |
+ uniCodePoint := (aUnicodeString at:idx) asciiValue.
+ myCode := self encode:uniCodePoint.
+ newString at:idx put:(Character value:myCode).
+ ].
+ ^ newString
+
+ "
+ ISO8859_1 decodeString:'hello'
+ "
! !
!CharacterEncoder class methodsFor:'private'!
@@ -542,7 +654,7 @@
].
self allSubclassesDo:[:cls |
cls isAbstract ifFalse:[
- cls generateEncoderCode.
+ cls generateCode.
]
].
@@ -564,21 +676,27 @@
^ self == CharacterEncoder
!
+isSingleByteCode
+ self subclassResponsibility
+!
+
new
"singleton - there is only one"
mySingleInstance isNil ifTrue:[
- mySingleInstance := self basicNew initialize.
+ mySingleInstance := self basicNew initialize.
].
^ mySingleInstance
! !
!CharacterEncoder class methodsFor:'private-mapping setup'!
-generateEncoderCode
+generateCode
|tables codeTable nameTable
minCode maxCode minUnicode maxUnicode
- firstDiff lastDiff source
+ firstDiff lastDiff
+ firstUnicodeDiff lastUnicodeDiff
+ source unicodeTable unicodeNameTable
|
tables := self mappingTables.
@@ -588,6 +706,8 @@
].
codeTable := tables at:1.
nameTable := tables at:2.
+ unicodeTable := IdentityDictionary new.
+ unicodeNameTable := IdentityDictionary new.
minCode := 16rFFFFFFF.
maxCode := -1.
@@ -599,72 +719,365 @@
maxCode := maxCode max:code.
minUnicode := minUnicode min:uniCode.
maxUnicode := maxUnicode max:uniCode.
+
+ unicodeTable at:uniCode put:code.
+ unicodeNameTable at:uniCode put:(nameTable at:code).
].
"/ first difference...
firstDiff := (minCode to:maxCode) detect:[:code | (codeTable at:code ifAbsent:nil) ~~ code] ifNone:nil.
lastDiff := (maxCode to:minCode by:-1) detect:[:code | (codeTable at:code ifAbsent:nil) ~~ code] ifNone:nil.
+ firstUnicodeDiff := (minUnicode to:maxUnicode) detect:[:unicode | (unicodeTable at:unicode ifAbsent:nil) ~~ unicode] ifNone:nil.
+ lastUnicodeDiff := (maxUnicode to:minUnicode by:-1) detect:[:unicode | (unicodeTable at:unicode ifAbsent:nil) ~~ unicode] ifNone:nil.
+
"/ generate the decoder...
source := WriteStream on:(String new:200).
source nextPutLine:'decode:code'.
- source nextPutLine:' "automatically generated by generateEncoderCode"'.
+ source nextPutLine:' "decode from my encoding into unicode.'.
+ source nextPutLine:' Do not modify - automatically generated by generateCode"'.
source nextPutLine:''.
firstDiff isNil ifTrue:[
minCode ~~ 0 ifTrue:[
source nextPutLine:' code < ' , minCode printString , ' ifTrue:['.
- source nextPutLine:' self error:''invalid code''.'.
- source nextPutLine:' ^ $? asciiValue'.
+ source nextPutLine:' ^ self decodingError.'.
source nextPutLine:' ].'.
].
- maxCode ~~ 255 ifTrue:[
+ true "maxCode ~~ 255" ifTrue:[
source nextPutLine:' code > ' , maxCode printString , ' ifTrue:['.
- source nextPutLine:' self error:''invalid code''.'.
- source nextPutLine:' ^ $? asciiValue'.
+ source nextPutLine:' ^ self decodingError.'.
source nextPutLine:' ].'.
].
source nextPutLine:' ^ code.'.
] ifFalse:[
source nextPutLine:' code < ' , firstDiff printString , ' ifTrue:[ ^ code ].'.
- source nextPutLine:' code > ' , maxCode printString , ' ifTrue:['.
- source nextPutLine:' self error:''invalid code''.'.
- source nextPutLine:' ^ $? asciiValue'.
- source nextPutLine:' ].'.
+ true "maxCode ~~ 255" ifTrue:[
+ source nextPutLine:' code > ' , maxCode printString , ' ifTrue:['.
+ source nextPutLine:' ^ self decodingError.'.
+ source nextPutLine:' ].'.
+ ].
lastDiff > maxCode ifTrue:[
source nextPutLine:' code > ' , lastDiff printString , ' ifTrue:[ ^ code ].'.
].
- source nextPutLine:' ^ #('.
- firstDiff to:lastDiff do:[:code |
- |unicode unicodeCharacterName|
-
- unicode := codeTable at:code ifAbsent:nil.
- unicodeCharacterName := nameTable at:code ifAbsent:nil.
- unicode isNil ifTrue:[
- unicode := 16rFFFF.
- unicodeCharacterName := 'invalid'.
- ].
- source nextPutAll:' "' , '16r' , ((code printStringRadix:16) leftPaddedTo:4 with:$0).
- source nextPutAll:'" ' , '16r' , ((unicode printStringRadix:16) leftPaddedTo:4 with:$0).
- unicodeCharacterName notNil ifTrue:[
- source nextPutAll:' " ' , unicodeCharacterName , ' " '.
- ].
- source cr.
- ].
- source nextPutLine:' ) at:(code - ' , (firstDiff-1) printString , ')'.
- ].
+
+ self
+ generateLookupFor:codeTable nameTable:nameTable from:firstDiff to:lastDiff varName:'code'
+ errorCode:'^ self decodingError.'
+ indent:4 onto:source.
+ ].
+self halt.
self
compile:source contents
classified:'encoding & decoding'.
+
+ "/ generate the encoder...
+
+ source := WriteStream on:(String new:200).
+ source nextPutLine:'encode:unicode'.
+ source nextPutLine:' "encode from unicode into my encoding.'.
+ source nextPutLine:' Do not modify - automatically generated by generateCode"'.
+ source nextPutLine:''.
+ firstDiff isNil ifTrue:[
+ minUnicode ~~ 0 ifTrue:[
+ source nextPutLine:' unicode < ' , minUnicode printString , ' ifTrue:['.
+ source nextPutLine:' ^ self encodingError.'.
+ source nextPutLine:' ].'.
+ ].
+ true "maxUnicode ~~ 255" ifTrue:[
+ source nextPutLine:' unicode > ' , maxUnicode printString , ' ifTrue:['.
+ source nextPutLine:' ^ self encodingError.'.
+ source nextPutLine:' ].'.
+ ].
+ source nextPutLine:' ^ unicode.'.
+ ] ifFalse:[
+ source nextPutLine:' unicode < ' , firstUnicodeDiff printString , ' ifTrue:[ ^ unicode ].'.
+ source nextPutLine:' unicode > ' , maxUnicode printString , ' ifTrue:['.
+ source nextPutLine:' ^ self encodingError.'.
+ source nextPutLine:' ].'.
+ lastDiff > maxCode ifTrue:[
+ source nextPutLine:' unicode > ' , lastUnicodeDiff printString , ' ifTrue:[ ^ unicode ].'.
+ ].
+
+ self
+ generateLookupFor:unicodeTable nameTable:unicodeNameTable from:firstUnicodeDiff to:lastUnicodeDiff varName:'unicode'
+ errorCode:'^ self encodingError'
+ indent:4 onto:source.
+ ].
+
+ self
+ compile:source contents
+ classified:'encoding & decoding'
+ logged:false.
+
"
- ISO8859_1 flushCode; generateEncoderCode
- ISO8859_2 flushCode; generateEncoderCode
- KOI8_U flushCode; generateEncoderCode
- NEXT flushCode; generateEncoderCode
+ ISO8859_1 flushCode; generateCode
+ ISO8859_2 flushCode; generateCode
+ KOI8_U flushCode; generateCode
+ NEXT flushCode; generateCode
"
!
+generateDirectTableLookupFor:codeTable nameTable:nameTable from:firstIndex to:lastIndex varName:codeVar errorCode:errorCode indent:indent onto:stream
+ "/ generate direct table lookup
+
+ |maxElement useByteArray valPad anyInvalid usedElements invalidMarker|
+
+ anyInvalid := false.
+ usedElements := IdentitySet new.
+ maxElement := -1.
+ firstIndex to:lastIndex do:[:code |
+ |unicode|
+
+ unicode := codeTable at:code ifAbsent:nil.
+ unicode notNil ifTrue:[
+ usedElements add:unicode.
+ maxElement := maxElement max:unicode.
+ ] ifFalse:[
+ anyInvalid := true.
+ ]
+ ].
+
+ useByteArray := maxElement <= 255.
+
+ (usedElements includes:0) ifFalse:[
+ invalidMarker := 0.
+ ] ifTrue:[
+ useByteArray ifTrue:[
+ (usedElements includes:255) ifFalse:[
+ invalidMarker := 255.
+ ] ifFalse:[
+ invalidMarker := (1 to:255) detect:[:n | (usedElements includes:n) not].
+ ].
+ ] ifFalse:[
+ (usedElements includes:16rFFFF) ifFalse:[
+ invalidMarker := 16rFFFF.
+ ] ifTrue:[
+ invalidMarker := maxElement + 1.
+ ]
+ ].
+ ].
+
+ anyInvalid ifTrue:[
+ stream spaces:indent; nextPutLine:'['.
+ stream spaces:indent; nextPutLine:'|t|'.
+ stream spaces:indent; nextPutLine:'t := '.
+ ] ifFalse:[
+ stream spaces:indent; nextPutLine:'^ '.
+ ].
+ useByteArray ifTrue:[
+ valPad := 2.
+ stream nextPutLine:'#['.
+ ] ifFalse:[
+ valPad := 4.
+ stream nextPutLine:'#('.
+ ].
+ firstIndex to:lastIndex do:[:code |
+ |unicode unicodeCharacterName|
+
+ unicode := codeTable at:code ifAbsent:nil.
+ unicodeCharacterName := nameTable at:code ifAbsent:nil.
+ unicode isNil ifTrue:[
+ unicode := invalidMarker.
+ unicodeCharacterName := 'invalid'.
+ ].
+ stream spaces:indent; nextPutAll:' "' , '16r' , ((code printStringRadix:16) leftPaddedTo:4 with:$0).
+ stream nextPutAll:'" ' , '16r' , ((unicode printStringRadix:16) leftPaddedTo:valPad with:$0).
+ unicodeCharacterName notNil ifTrue:[
+ stream nextPutAll:' " ' , unicodeCharacterName , ' " '.
+ ].
+ stream cr.
+ ].
+ useByteArray ifTrue:[
+ stream spaces:indent; nextPutAll:' ]'.
+ ] ifFalse:[
+ stream spaces:indent; nextPutAll:' )'.
+ ].
+ stream nextPutLine:' at:(',codeVar,' - ' , (firstIndex-1) printString , ').'.
+
+ anyInvalid ifTrue:[
+ stream spaces:indent; nextPutLine:'t == ',invalidMarker printString,' ifFalse:[^ t].'.
+ stream spaces:indent; nextPutLine:errorCode.
+ stream spaces:indent; nextPutLine:'] value.'.
+ ].
+!
+
+generateLookupFor:codeTable nameTable:nameTable from:firstIndex to:lastIndex varName:codeVar errorCode:errorCode indent:indent onto:stream
+ |info fillRatio firstValidNonIdentical lastValidNonIdentical|
+
+ info := self mapInfoFor:codeTable from:firstIndex to:lastIndex.
+ fillRatio := info validRangeSize / info domainSize.
+
+ fillRatio < 1 ifTrue:[
+ "/ some mappings are invalid
+
+ info domainSize > 100 ifTrue:[
+ "/ is there a part of the mapping which is either identtity-mapping or error ?
+ firstValidNonIdentical := (firstIndex to:lastIndex) detect:[:idx | (codeTable includesKey:idx)
+ and:[(codeTable at:idx) ~~ idx]].
+
+ lastValidNonIdentical := (lastIndex to:firstIndex by:-1) detect:[:idx | (codeTable includesKey:idx)
+ and:[(codeTable at:idx) ~~ idx]].
+
+ (firstIndex to:firstValidNonIdentical-1) size > 40 ifTrue:[
+ stream spaces:indent; nextPutLine:codeVar,' < ',firstValidNonIdentical printString,' ifTrue:['.
+ self
+ generateLookupForIdenticalOrInvalid:codeTable nameTable:nameTable from:firstIndex to:firstValidNonIdentical-1 varName:codeVar
+ errorCode:errorCode
+ indent:indent+4 onto:stream.
+ stream spaces:indent; nextPutLine:'].'.
+ self
+ generateLookupFor:codeTable nameTable:nameTable from:firstValidNonIdentical to:lastIndex varName:codeVar
+ errorCode:errorCode
+ indent:indent onto:stream.
+ ^ self.
+ ].
+ info largestInvalidBlock size > 40 ifTrue:[
+ stream spaces:indent; nextPutLine:codeVar,' < ',info largestInvalidBlock start printString,' ifTrue:['.
+ self
+ generateLookupFor:codeTable nameTable:nameTable from:firstIndex to:(info largestInvalidBlock start-1) varName:codeVar
+ errorCode:errorCode
+ indent:indent+4 onto:stream.
+ stream spaces:indent; nextPutLine:'].'.
+ "/ invalid block...
+ stream spaces:indent; nextPutLine:codeVar,' <= ',info largestInvalidBlock stop printString,' ifTrue:['.
+ stream spaces:indent+4; nextPutLine:errorCode,'.'.
+ stream spaces:indent; nextPutLine:'].'.
+ self
+ generateLookupFor:codeTable nameTable:nameTable from:(info largestInvalidBlock stop+1) to:lastIndex varName:codeVar
+ errorCode:errorCode
+ indent:indent onto:stream.
+ ^ self.
+ ].
+ "/ how would it look if we did it page-wise ?
+self halt.
+ ] ifFalse:[
+ info firstInvalid == firstIndex ifTrue:[
+ (firstIndex to:info firstValid) size > 10 ifTrue:[
+ "/ invalid block at beginning...
+ stream spaces:indent; nextPutLine:codeVar,' < ',info firstValid printString,' ifTrue:['.
+ stream spaces:indent+4; nextPutLine:errorCode,'.'.
+ stream spaces:indent; nextPutLine:'].'.
+
+ self
+ generateLookupFor:codeTable nameTable:nameTable from:(info firstValid) to:lastIndex varName:codeVar
+ errorCode:errorCode
+ indent:indent onto:stream.
+ ^ self.
+ ].
+ ].
+ info lastInvalid == lastIndex ifTrue:[
+self halt.
+ ].
+self halt.
+ ]
+ ].
+
+ self
+ generateDirectTableLookupFor:codeTable nameTable:nameTable from:firstIndex to:lastIndex varName:codeVar
+ errorCode:errorCode
+ indent:indent onto:stream
+!
+
+generateLookupForIdenticalOrInvalid:codeTable nameTable:nameTable from:firstIndex to:lastIndex varName:codeVar errorCode:errorCode indent:indent onto:stream.
+ "/ generate flag lookup for either identity or invalid
+
+ stream spaces:indent; nextPutLine:'(#['.
+ firstIndex to:lastIndex do:[:code |
+ |unicode unicodeCharacterName flag|
+
+ unicode := codeTable at:code ifAbsent:nil.
+ unicodeCharacterName := nameTable at:code ifAbsent:nil.
+ unicode notNil ifTrue:[
+ flag := 1
+ ] ifFalse:[
+ flag := 0.
+ unicodeCharacterName := 'invalid'.
+ ].
+ stream spaces:indent; nextPutAll:' "' , '16r' , ((code printStringRadix:16) leftPaddedTo:4 with:$0).
+ stream nextPutAll:'" ' , flag printString.
+ unicodeCharacterName notNil ifTrue:[
+ stream nextPutAll:' " ' , unicodeCharacterName , ' " '.
+ ].
+ stream cr.
+ ].
+ stream spaces:indent; nextPutLine:'] at:(',codeVar,' - ' , (firstIndex-1) printString , ')) ~~ 0 ifTrue:[^ ',codeVar,'].'..
+ stream spaces:indent; nextPutLine:errorCode,'.'.
+!
+
+mapInfoFor:codeTable from:firstIndex to:lastIndex
+ |minCode maxCode domainSize rangeSize validRangeSize firstDiff lastDiff firstValid lastValid firstInvalid lastInvalid info
+ largestInvalidBlock invalidBlockStart invalidBlockEnd sizeOfLargestInvalidBlock|
+
+ minCode := 16rFFFFFFF.
+ maxCode := -1.
+ validRangeSize := 0.
+
+ sizeOfLargestInvalidBlock := 0.
+ largestInvalidBlock := nil.
+ invalidBlockStart := nil.
+ invalidBlockEnd := nil.
+
+ (firstIndex to:lastIndex) do:[:index |
+ |code|
+
+ code := codeTable at:index ifAbsent:nil.
+ code notNil ifTrue:[
+ validRangeSize := validRangeSize + 1.
+ minCode := minCode min:code.
+ maxCode := maxCode max:code.
+
+ invalidBlockStart notNil ifTrue:[
+ (invalidBlockStart to:invalidBlockEnd) size > sizeOfLargestInvalidBlock ifTrue:[
+ largestInvalidBlock := (invalidBlockStart to:invalidBlockEnd).
+ sizeOfLargestInvalidBlock := largestInvalidBlock size.
+ ].
+ ].
+ invalidBlockStart := nil.
+ invalidBlockEnd := nil.
+ ] ifFalse:[
+ invalidBlockStart isNil ifTrue:[
+ invalidBlockStart := invalidBlockEnd := index.
+ ] ifFalse:[
+ invalidBlockEnd := index.
+ ].
+ ]
+ ].
+ invalidBlockStart notNil ifTrue:[
+self halt.
+ (invalidBlockStart to:invalidBlockEnd) size > sizeOfLargestInvalidBlock ifTrue:[
+ largestInvalidBlock := (invalidBlockStart to:invalidBlockEnd).
+ ].
+ ].
+
+ domainSize := (firstIndex to:lastIndex) size.
+ rangeSize := (minCode to:maxCode) size.
+
+ "/ first difference...
+ firstDiff := (firstIndex to:lastIndex) detect:[:code | (codeTable at:code ifAbsent:nil) ~~ code] ifNone:nil.
+ lastDiff := (lastIndex to:firstIndex by:-1) detect:[:code | (codeTable at:code ifAbsent:nil) ~~ code] ifNone:nil.
+
+ firstValid := (firstIndex to:lastIndex) detect:[:code | (codeTable includesKey:code)] ifNone:nil.
+ lastValid := (lastIndex to:firstIndex by:-1) detect:[:code | (codeTable includesKey:code)] ifNone:nil.
+
+ firstInvalid := (firstIndex to:lastIndex) detect:[:code | (codeTable includesKey:code) not] ifNone:nil.
+ lastInvalid := (lastIndex to:firstIndex by:-1) detect:[:code | (codeTable includesKey:code) not] ifNone:nil.
+
+ info := Structure newWith:#( domainSize rangeSize validRangeSize firstDiff lastDiff firstValid lastValid firstInvalid lastInvalid largestInvalidBlock ).
+ info domainSize:domainSize.
+ info rangeSize:rangeSize.
+ info validRangeSize:validRangeSize.
+ info firstDiff:firstDiff.
+ info lastDiff:lastDiff.
+ info firstValid:firstValid.
+ info lastValid:lastValid.
+ info firstInvalid:firstInvalid.
+ info lastInvalid:lastInvalid.
+ info largestInvalidBlock:largestInvalidBlock.
+ ^ info.
+!
+
mappingSource
|url m response text source|
@@ -674,8 +1087,11 @@
url notNil ifTrue:[
response := HTTPInterface get:url.
] ifFalse:[
- url := self mappingURL.
- response := HTTPInterface get:(self mappingURL).
+ url := self mappingURL1.
+ url isNil ifTrue:[
+ self error:'neither url1 nor url2 is defined (needed for mappingTables)'.
+ ].
+ response := HTTPInterface get:(self mappingURL1).
].
text := response data.
text replaceAll:$" with:$'.
@@ -683,7 +1099,6 @@
source := 'mapping\"\# From: ' withCRs, url, '\\' withCRs, text , '\"' withCRs.
source size > 30000 ifTrue:[
- self halt.
^ source
].
@@ -704,8 +1119,16 @@
!
mappingTables
+ "reads and parses the character maps;
+ Returns an array with 2 tables:
+ - the first maps codes to uniCode
+ - the second maps codes to uniCode character names."
+
|src codeTable nameTable|
+ "/ the code here reads mappings from unicode.org.
+ "/ the i18n charactermaps are read in a separate method.
+
src := self mappingSource.
src readStream linesDo:[:line |
|l|
@@ -753,22 +1176,36 @@
"
!
-mappingURL
+mappingURL1
"raise an error: must be redefined in concrete subclass(es)"
- ^ self subclassResponsibility
+ |rel|
+
+ rel := self mappingURL1_relativePathName.
+ rel isNil ifTrue:[^ nil].
+ ^ 'http://www.unicode.org/Public/MAPPINGS/' , rel
+!
+
+mappingURL1_relativePathName
+ "raise an error: must be redefined in concrete subclass(es)"
+
+ ^ nil
!
mappingURL2
"raise an error: must be redefined in concrete subclass(es)"
-
- ^ 'http://std.dkuug.dk/i18n/charmaps/' , self mappingURL2_baseName
-!
-
-mappingURL2_baseName
+
+ |rel|
+
+ rel := self mappingURL2_relativePathName.
+ rel isNil ifTrue:[^ nil].
+ ^ 'http://std.dkuug.dk/i18n/charmaps/' , rel
+!
+
+mappingURL2_relativePathName
"raise an error: must be redefined in concrete subclass(es)"
-
- ^ self subclassResponsibility
+
+ ^ nil
!
readI18NCharmapFrom:src
@@ -778,85 +1215,85 @@
|codeTable nameTable commentChar escapeChar|
src readStream linesDo:[:line |
- |l|
-
- l := line withoutSeparators.
- (l startsWith:commentChar) ifTrue:[
- ] ifFalse:[
- (l startsWith:'<') ifTrue:[
- |s w code uniCode characterComment rest|
-
- s := l readStream.
- w := WriteStream on:(String new:10).
- s next.
-
- [
- |ch|
- [
-
- ch := s nextOrNil.
- ch == escapeChar ifTrue:[
- s nextOrNil.
- true
- ] ifFalse:[
- ch notNil and:[ch ~~ $>]
- ]
- ] whileTrue:[ w nextPut:ch ].
- ] doUntil:[(s atEnd or:[s peek ~~ $>])].
- w := w contents.
- s skipSeparators.
- rest := s upToEnd.
- w = 'code_set_name' ifTrue:[
- ] ifFalse:[
- w = 'comment_char' ifTrue:[
- commentChar := rest first.
- ] ifFalse:[
- w = 'escape_char' ifTrue:[
- escapeChar := rest first.
- ] ifFalse:[
- s := rest readStream.
- s peek == escapeChar ifTrue:[
- s next.
- s peek == $x ifTrue:[
- s next.
- code := Integer readFrom:s radix:16.
- s skipSeparators.
- s peek == $< ifTrue:[
- s next.
- s peek == $U ifTrue:[
- s next.
- uniCode := Integer readFrom:s radix:16.
- s peek == $> ifTrue:[
- s next.
- s skipSeparators.
- characterComment := s upToEnd withoutSeparators.
- codeTable isNil ifTrue:[
- codeTable := IdentityDictionary new.
- nameTable := IdentityDictionary new.
- ].
- codeTable at:code put:uniCode.
- nameTable at:code put:characterComment.
-
- ] ifFalse:[
- self halt.
- ].
- ] ifFalse:[
- self halt.
- ].
- ] ifFalse:[
- self halt.
- ].
- ] ifFalse:[
- self halt.
- ].
- ] ifFalse:[
- self halt.
- ]
- ]
- ]
- ].
- ].
- ].
+ |l|
+
+ l := line withoutSeparators.
+ (l startsWith:commentChar) ifTrue:[
+ ] ifFalse:[
+ (l startsWith:'<') ifTrue:[
+ |s w code uniCode characterComment rest|
+
+ s := l readStream.
+ w := WriteStream on:(String new:10).
+ s next.
+
+ [
+ |ch|
+ [
+
+ ch := s nextOrNil.
+ ch == escapeChar ifTrue:[
+ s nextOrNil.
+ true
+ ] ifFalse:[
+ ch notNil and:[ch ~~ $>]
+ ]
+ ] whileTrue:[ w nextPut:ch ].
+ ] doUntil:[(s atEnd or:[s peek ~~ $>])].
+ w := w contents.
+ s skipSeparators.
+ rest := s upToEnd.
+ w = 'code_set_name' ifTrue:[
+ ] ifFalse:[
+ w = 'comment_char' ifTrue:[
+ commentChar := rest first.
+ ] ifFalse:[
+ w = 'escape_char' ifTrue:[
+ escapeChar := rest first.
+ ] ifFalse:[
+ s := rest readStream.
+ s peek == escapeChar ifTrue:[
+ s next.
+ s peek == $x ifTrue:[
+ s next.
+ code := Integer readFrom:s radix:16.
+ s skipSeparators.
+ s peek == $< ifTrue:[
+ s next.
+ s peek == $U ifTrue:[
+ s next.
+ uniCode := Integer readFrom:s radix:16.
+ s peek == $> ifTrue:[
+ s next.
+ s skipSeparators.
+ characterComment := s upToEnd withoutSeparators.
+ codeTable isNil ifTrue:[
+ codeTable := IdentityDictionary new.
+ nameTable := IdentityDictionary new.
+ ].
+ codeTable at:code put:uniCode.
+ nameTable at:code put:characterComment.
+
+ ] ifFalse:[
+ self halt.
+ ].
+ ] ifFalse:[
+ self halt.
+ ].
+ ] ifFalse:[
+ self halt.
+ ].
+ ] ifFalse:[
+ self halt.
+ ].
+ ] ifFalse:[
+ self halt.
+ ]
+ ]
+ ]
+ ].
+ ].
+ ].
].
codeTable isNil ifTrue:[^ nil].
^ Array with:codeTable with:nameTable
@@ -869,6 +1306,48 @@
"
! !
+!CharacterEncoder class methodsFor:'queries'!
+
+alternativeNamesOfEncoding
+ ^ #()
+!
+
+encoderForName:encodingNameSymbol
+ |cls lcName name|
+
+ lcName := encodingNameSymbol asLowercase asSymbolIfInterned.
+ name := lcName ? encodingNameSymbol.
+
+ cls := EncodersByName at:name ifAbsent:nil.
+ cls notNil ifTrue:[^ cls ].
+
+ self allSubclassesDo:[:cls |
+ cls nameOfEncoding = name ifTrue:[
+ EncodersByName at:name put:cls.
+ ^ cls.
+ ].
+ ].
+ self allSubclassesDo:[:cls |
+ (cls alternativeNamesOfEncoding includes:name) ifTrue:[
+ EncodersByName at:name put:cls.
+ ^ cls.
+ ].
+ ].
+ self error:'no encoder for ' , encodingNameSymbol mayProceed:true.
+ ^ NullEncoder
+
+ "
+ self encoderForName:#'arabic'
+ self encoderForName:#'iso8859-5'
+ self encoderForName:#'koi8-r'
+ self encoderForName:#'koi8-u'
+ "
+!
+
+nameOfEncoding
+ ^ self nameWithoutPrefix asLowercase asSymbol
+! !
+
!CharacterEncoder methodsFor:'encoding & decoding'!
decode:anEncoding
@@ -884,11 +1363,11 @@
newString := UnicodeString new:(anEncodedString size).
1 to:anEncodedString size do:[:idx |
- |myCode uniCodePoint|
-
- myCode := (anEncodedString at:idx) asciiValue.
- uniCodePoint := self decode:myCode.
- newString at:idx put:(Character value:uniCodePoint).
+ |myCode uniCodePoint|
+
+ myCode := (anEncodedString at:idx) asciiValue.
+ uniCodePoint := self decode:myCode.
+ newString at:idx put:(Character value:uniCodePoint).
].
^ newString
@@ -906,12 +1385,10 @@
encodeString:aUnicodeString
"given a string in unicode, return a string in my encoding for it"
- |newString|
+ |newString myCode uniCodePoint|
newString := self newString:(aUnicodeString size).
1 to:aUnicodeString size do:[:idx |
- |myCode uniCodePoint|
-
uniCodePoint := (aUnicodeString at:idx) asciiValue.
myCode := self encode:uniCodePoint.
newString at:idx put:(Character value:myCode).
@@ -923,6 +1400,32 @@
"
! !
+!CharacterEncoder methodsFor:'error handling'!
+
+decodingError
+ ^ CharacterEncoderError raiseRequestWith:(self defaultEncoderValue) errorString:'invalid code'
+!
+
+defaultDecoderValue
+ "placed into a decoded string, in case there is no unicode codePoint
+ for a given encoded codePoint.
+ (typically $?)."
+
+ ^ $? asciiValue
+!
+
+defaultEncoderValue
+ "placed into an encoded string, in case there is no codePoint
+ for a given unicode codePoint.
+ (typically $?)."
+
+ ^ $? asciiValue
+!
+
+encodingError
+ ^ CharacterEncoderError raiseRequestWith:(self defaultDecoderValue) errorString:'unrepresentable unicode'
+! !
+
!CharacterEncoder methodsFor:'private'!
initialize
@@ -938,28 +1441,46 @@
self subclassResponsibility
! !
-!CharacterEncoder::BIG5 class methodsFor:'mapping'!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/BIG5.TXT'
-! !
-
-!CharacterEncoder::BIG5 methodsFor:'private'!
+!CharacterEncoder::SingleByteEncoder class methodsFor:'private'!
+
+isAbstract
+ self == CharacterEncoder::SingleByteEncoder ifTrue:[^ true].
+ ^ super isAbstract
+!
+
+isSingleByteCode
+ ^ true
+!
newString:size
- ^ BIG5EncodedString new:size
+ ^ String uninitializedNew:size
+! !
+
+!CharacterEncoder::TwoByteEncoder class methodsFor:'private'!
+
+isAbstract
+ self == CharacterEncoder::TwoByteEncoder ifTrue:[^ true].
+ ^ super isAbstract
+!
+
+isSingleByteCode
+ ^ false
+!
+
+newString:size
+ ^ TwoByteString uninitializedNew:size
! !
!CharacterEncoder::CNS11643 class methodsFor:'mapping'!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/CNS11643.TXT'
+mappingURL1_relativePathName
+ ^ 'OBSOLETE/EASTASIA/OTHER/CNS11643.TXT'
! !
!CharacterEncoder::GB2313_1980 class methodsFor:'mapping'!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/GB/GB2312.TXT'
+mappingURL1_relativePathName
+ ^ 'OBSOLETE/EASTASIA/GB/GB2312.TXT'
! !
!CharacterEncoder::GB2313_1980 methodsFor:'private'!
@@ -970,20 +1491,7289 @@
!CharacterEncoder::GSM0338 class methodsFor:'mapping'!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/ETSI/GSM0338.TXT'
+mapping
+"
+# From: http://www.unicode.org/Public/MAPPINGS/ETSI/GSM0338.TXT
+
+#
+# Name: GSM 03.38 to Unicode
+# Unicode version: 3.0
+# Table version: 1.1
+# Table format: Format A
+# Date: 2000 May 30
+# Authors: Ken Whistler <kenw@sybase.com>,
+# Kent Karlsson <keka@im.se>,
+# Markus Kuhn <mkuhn@acm.org>
+#
+# Copyright (c) 2000 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
+# ETSI GSM 03.38 7-bit default alphabet characters map into Unicode.
+# This mapping is based on ETSI TS 100 900 V7.2.0 (1999-07), with
+# a correction of 0x09 to *small* c-cedilla, instead of *capital*
+# C-cedilla.
+#
+# Format: Three tab-separated columns
+# Column #1 is the ETSI GSM 03.38 7-bit default alphabet
+# code (in hex as 0xXX, or 0xXXXX for double-byte
+# sequences)
+# Column #2 is the Unicode scalar value (in hex as 0xXXXX)
+# Column #3 the Unicode name (follows a comment sign, '#')
+#
+# The entries are in ETSI GSM 03.38 7-bit default alphabet code order.
+#
+# Note that ETSI GSM 03.38 also allows for the use of UCS-2 (UTF-16
+# restricted to the BMP) in GSM/SMS messages.
+#
+# Note also that there are commented Greek mappings for some
+# capital Latin characters. This follows from the clear intent
+# of the ETSI GSM 03.38 to have glyph coverage for the uppercase
+# Greek alphabet by reusing Latin letters that have the same
+# form as an uppercase Greek letter. Conversion implementations
+# should be aware of this fact.
+#
+# The ETSI GSM 03.38 specification shows an uppercase C-cedilla
+# glyph at 0x09. This may be the result of limited display
+# capabilities for handling characters with descenders. However, the
+# language coverage intent is clearly for the lowercase c-cedilla, as shown
+# in the mapping below. The mapping for uppercase C-cedilla is shown
+# in a commented line in the mapping table.
+#
+# The ESC character 0x1B is
+# mapped to the no-break space character, unless it is part of a
+# valid ESC sequence, to facilitate round-trip compatibility in
+# the presence of unknown ESC sequences.
+#
+# 0x00 is NULL (when followed only by 0x00 up to the
+# end of (fixed byte length) message, possibly also up to
+# FORM FEED. But 0x00 is also the code for COMMERCIAL AT
+# when some other character (CARRIAGE RETURN if nothing else)
+# comes after the 0x00.
+#
+# Version history
+# 1.0 version: first creation
+# 1.1 version: fixed problem with the wrong line being a comment,
+# added text regarding 0x00's interpretation,
+# added second mapping for C-cedilla,
+# added mapping of 0x1B escape to NBSP for display.
+#
+# 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 0x0040 # COMMERCIAL AT
+#0x00 0x0000 # NULL (see note above)
+0x01 0x00A3 # POUND SIGN
+0x02 0x0024 # DOLLAR SIGN
+0x03 0x00A5 # YEN SIGN
+0x04 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
+0x05 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
+0x06 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
+0x07 0x00EC # LATIN SMALL LETTER I WITH GRAVE
+0x08 0x00F2 # LATIN SMALL LETTER O WITH GRAVE
+0x09 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
+#0x09 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA (see note above)
+0x0A 0x000A # LINE FEED
+0x0B 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE
+0x0C 0x00F8 # LATIN SMALL LETTER O WITH STROKE
+0x0D 0x000D # CARRIAGE RETURN
+0x0E 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE
+0x0F 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE
+0x10 0x0394 # GREEK CAPITAL LETTER DELTA
+0x11 0x005F # LOW LINE
+0x12 0x03A6 # GREEK CAPITAL LETTER PHI
+0x13 0x0393 # GREEK CAPITAL LETTER GAMMA
+0x14 0x039B # GREEK CAPITAL LETTER LAMDA
+0x15 0x03A9 # GREEK CAPITAL LETTER OMEGA
+0x16 0x03A0 # GREEK CAPITAL LETTER PI
+0x17 0x03A8 # GREEK CAPITAL LETTER PSI
+0x18 0x03A3 # GREEK CAPITAL LETTER SIGMA
+0x19 0x0398 # GREEK CAPITAL LETTER THETA
+0x1A 0x039E # GREEK CAPITAL LETTER XI
+0x1B 0x00A0 # ESCAPE TO EXTENSION TABLE (or displayed as NBSP, see note above)
+0x1B0A 0x000C # FORM FEED
+0x1B14 0x005E # CIRCUMFLEX ACCENT
+0x1B28 0x007B # LEFT CURLY BRACKET
+0x1B29 0x007D # RIGHT CURLY BRACKET
+0x1B2F 0x005C # REVERSE SOLIDUS
+0x1B3C 0x005B # LEFT SQUARE BRACKET
+0x1B3D 0x007E # TILDE
+0x1B3E 0x005D # RIGHT SQUARE BRACKET
+0x1B40 0x007C # VERTICAL LINE
+0x1B65 0x20AC # EURO SIGN
+0x1C 0x00C6 # LATIN CAPITAL LETTER AE
+0x1D 0x00E6 # LATIN SMALL LETTER AE
+0x1E 0x00DF # LATIN SMALL LETTER SHARP S (German)
+0x1F 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
+0x20 0x0020 # SPACE
+0x21 0x0021 # EXCLAMATION MARK
+0x22 0x0022 # QUOTATION MARK
+0x23 0x0023 # NUMBER SIGN
+0x24 0x00A4 # CURRENCY 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 0x00A1 # INVERTED EXCLAMATION MARK
+0x41 0x0041 # LATIN CAPITAL LETTER A
+#0x41 0x0391 # GREEK CAPITAL LETTER ALPHA
+0x42 0x0042 # LATIN CAPITAL LETTER B
+#0x42 0x0392 # GREEK CAPITAL LETTER BETA
+0x43 0x0043 # LATIN CAPITAL LETTER C
+0x44 0x0044 # LATIN CAPITAL LETTER D
+0x45 0x0045 # LATIN CAPITAL LETTER E
+#0x45 0x0395 # GREEK CAPITAL LETTER EPSILON
+0x46 0x0046 # LATIN CAPITAL LETTER F
+0x47 0x0047 # LATIN CAPITAL LETTER G
+0x48 0x0048 # LATIN CAPITAL LETTER H
+#0x48 0x0397 # GREEK CAPITAL LETTER ETA
+0x49 0x0049 # LATIN CAPITAL LETTER I
+#0x49 0x0399 # GREEK CAPITAL LETTER IOTA
+0x4A 0x004A # LATIN CAPITAL LETTER J
+0x4B 0x004B # LATIN CAPITAL LETTER K
+#0x4B 0x039A # GREEK CAPITAL LETTER KAPPA
+0x4C 0x004C # LATIN CAPITAL LETTER L
+0x4D 0x004D # LATIN CAPITAL LETTER M
+#0x4D 0x039C # GREEK CAPITAL LETTER MU
+0x4E 0x004E # LATIN CAPITAL LETTER N
+#0x4E 0x039D # GREEK CAPITAL LETTER NU
+0x4F 0x004F # LATIN CAPITAL LETTER O
+#0x4F 0x039F # GREEK CAPITAL LETTER OMICRON
+0x50 0x0050 # LATIN CAPITAL LETTER P
+#0x50 0x03A1 # GREEK CAPITAL LETTER RHO
+0x51 0x0051 # LATIN CAPITAL LETTER Q
+0x52 0x0052 # LATIN CAPITAL LETTER R
+0x53 0x0053 # LATIN CAPITAL LETTER S
+0x54 0x0054 # LATIN CAPITAL LETTER T
+#0x54 0x03A4 # GREEK CAPITAL LETTER TAU
+0x55 0x0055 # LATIN CAPITAL LETTER U
+#0x55 0x03A5 # GREEK CAPITAL LETTER UPSILON
+0x56 0x0056 # LATIN CAPITAL LETTER V
+0x57 0x0057 # LATIN CAPITAL LETTER W
+0x58 0x0058 # LATIN CAPITAL LETTER X
+#0x58 0x03A7 # GREEK CAPITAL LETTER CHI
+0x59 0x0059 # LATIN CAPITAL LETTER Y
+0x5A 0x005A # LATIN CAPITAL LETTER Z
+#0x5A 0x0396 # GREEK CAPITAL LETTER ZETA
+0x5B 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
+0x5C 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
+0x5D 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE
+0x5E 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
+0x5F 0x00A7 # SECTION SIGN
+0x60 0x00BF # INVERTED QUESTION MARK
+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 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
+0x7C 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
+0x7D 0x00F1 # LATIN SMALL LETTER N WITH TILDE
+0x7E 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
+0x7F 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
+
+"
+!
+
+mappingURL1_relativePathName
+ ^ 'ETSI/GSM0338.TXT'
+! !
+
+!CharacterEncoder::GSM0338 methodsFor:'encoding & decoding'!
+
+decode:code
+ "automatically generated by generateEncoderCode"
+
+ code < 0 ifTrue:[ ^ code ].
+ code > 7013 ifTrue:[
+ self error:'invalid code'.
+ ^ $? asciiValue
+ ].
+ ^ #(
+ "16r0000" 16r0040 " COMMERCIAL AT "
+ "16r0001" 16r00A3 " POUND SIGN "
+ "16r0002" 16r0024 " DOLLAR SIGN "
+ "16r0003" 16r00A5 " YEN SIGN "
+ "16r0004" 16r00E8 " LATIN SMALL LETTER E WITH GRAVE "
+ "16r0005" 16r00E9 " LATIN SMALL LETTER E WITH ACUTE "
+ "16r0006" 16r00F9 " LATIN SMALL LETTER U WITH GRAVE "
+ "16r0007" 16r00EC " LATIN SMALL LETTER I WITH GRAVE "
+ "16r0008" 16r00F2 " LATIN SMALL LETTER O WITH GRAVE "
+ "16r0009" 16r00E7 " LATIN SMALL LETTER C WITH CEDILLA "
+ "16r000A" 16r000A " LINE FEED "
+ "16r000B" 16r00D8 " LATIN CAPITAL LETTER O WITH STROKE "
+ "16r000C" 16r00F8 " LATIN SMALL LETTER O WITH STROKE "
+ "16r000D" 16r000D " CARRIAGE RETURN "
+ "16r000E" 16r00C5 " LATIN CAPITAL LETTER A WITH RING ABOVE "
+ "16r000F" 16r00E5 " LATIN SMALL LETTER A WITH RING ABOVE "
+ "16r0010" 16r0394 " GREEK CAPITAL LETTER DELTA "
+ "16r0011" 16r005F " LOW LINE "
+ "16r0012" 16r03A6 " GREEK CAPITAL LETTER PHI "
+ "16r0013" 16r0393 " GREEK CAPITAL LETTER GAMMA "
+ "16r0014" 16r039B " GREEK CAPITAL LETTER LAMDA "
+ "16r0015" 16r03A9 " GREEK CAPITAL LETTER OMEGA "
+ "16r0016" 16r03A0 " GREEK CAPITAL LETTER PI "
+ "16r0017" 16r03A8 " GREEK CAPITAL LETTER PSI "
+ "16r0018" 16r03A3 " GREEK CAPITAL LETTER SIGMA "
+ "16r0019" 16r0398 " GREEK CAPITAL LETTER THETA "
+ "16r001A" 16r039E " GREEK CAPITAL LETTER XI "
+ "16r001B" 16r00A0 " ESCAPE TO EXTENSION TABLE (or displayed as NBSP, see note above) "
+ "16r001C" 16r00C6 " LATIN CAPITAL LETTER AE "
+ "16r001D" 16r00E6 " LATIN SMALL LETTER AE "
+ "16r001E" 16r00DF " LATIN SMALL LETTER SHARP S (German) "
+ "16r001F" 16r00C9 " LATIN CAPITAL LETTER E WITH ACUTE "
+ "16r0020" 16r0020 " SPACE "
+ "16r0021" 16r0021 " EXCLAMATION MARK "
+ "16r0022" 16r0022 " QUOTATION MARK "
+ "16r0023" 16r0023 " NUMBER SIGN "
+ "16r0024" 16r00A4 " CURRENCY SIGN "
+ "16r0025" 16r0025 " PERCENT SIGN "
+ "16r0026" 16r0026 " AMPERSAND "
+ "16r0027" 16r0027 " APOSTROPHE "
+ "16r0028" 16r0028 " LEFT PARENTHESIS "
+ "16r0029" 16r0029 " RIGHT PARENTHESIS "
+ "16r002A" 16r002A " ASTERISK "
+ "16r002B" 16r002B " PLUS SIGN "
+ "16r002C" 16r002C " COMMA "
+ "16r002D" 16r002D " HYPHEN-MINUS "
+ "16r002E" 16r002E " FULL STOP "
+ "16r002F" 16r002F " SOLIDUS "
+ "16r0030" 16r0030 " DIGIT ZERO "
+ "16r0031" 16r0031 " DIGIT ONE "
+ "16r0032" 16r0032 " DIGIT TWO "
+ "16r0033" 16r0033 " DIGIT THREE "
+ "16r0034" 16r0034 " DIGIT FOUR "
+ "16r0035" 16r0035 " DIGIT FIVE "
+ "16r0036" 16r0036 " DIGIT SIX "
+ "16r0037" 16r0037 " DIGIT SEVEN "
+ "16r0038" 16r0038 " DIGIT EIGHT "
+ "16r0039" 16r0039 " DIGIT NINE "
+ "16r003A" 16r003A " COLON "
+ "16r003B" 16r003B " SEMICOLON "
+ "16r003C" 16r003C " LESS-THAN SIGN "
+ "16r003D" 16r003D " EQUALS SIGN "
+ "16r003E" 16r003E " GREATER-THAN SIGN "
+ "16r003F" 16r003F " QUESTION MARK "
+ "16r0040" 16r00A1 " INVERTED EXCLAMATION MARK "
+ "16r0041" 16r0041 " LATIN CAPITAL LETTER A "
+ "16r0042" 16r0042 " LATIN CAPITAL LETTER B "
+ "16r0043" 16r0043 " LATIN CAPITAL LETTER C "
+ "16r0044" 16r0044 " LATIN CAPITAL LETTER D "
+ "16r0045" 16r0045 " LATIN CAPITAL LETTER E "
+ "16r0046" 16r0046 " LATIN CAPITAL LETTER F "
+ "16r0047" 16r0047 " LATIN CAPITAL LETTER G "
+ "16r0048" 16r0048 " LATIN CAPITAL LETTER H "
+ "16r0049" 16r0049 " LATIN CAPITAL LETTER I "
+ "16r004A" 16r004A " LATIN CAPITAL LETTER J "
+ "16r004B" 16r004B " LATIN CAPITAL LETTER K "
+ "16r004C" 16r004C " LATIN CAPITAL LETTER L "
+ "16r004D" 16r004D " LATIN CAPITAL LETTER M "
+ "16r004E" 16r004E " LATIN CAPITAL LETTER N "
+ "16r004F" 16r004F " LATIN CAPITAL LETTER O "
+ "16r0050" 16r0050 " LATIN CAPITAL LETTER P "
+ "16r0051" 16r0051 " LATIN CAPITAL LETTER Q "
+ "16r0052" 16r0052 " LATIN CAPITAL LETTER R "
+ "16r0053" 16r0053 " LATIN CAPITAL LETTER S "
+ "16r0054" 16r0054 " LATIN CAPITAL LETTER T "
+ "16r0055" 16r0055 " LATIN CAPITAL LETTER U "
+ "16r0056" 16r0056 " LATIN CAPITAL LETTER V "
+ "16r0057" 16r0057 " LATIN CAPITAL LETTER W "
+ "16r0058" 16r0058 " LATIN CAPITAL LETTER X "
+ "16r0059" 16r0059 " LATIN CAPITAL LETTER Y "
+ "16r005A" 16r005A " LATIN CAPITAL LETTER Z "
+ "16r005B" 16r00C4 " LATIN CAPITAL LETTER A WITH DIAERESIS "
+ "16r005C" 16r00D6 " LATIN CAPITAL LETTER O WITH DIAERESIS "
+ "16r005D" 16r00D1 " LATIN CAPITAL LETTER N WITH TILDE "
+ "16r005E" 16r00DC " LATIN CAPITAL LETTER U WITH DIAERESIS "
+ "16r005F" 16r00A7 " SECTION SIGN "
+ "16r0060" 16r00BF " INVERTED QUESTION MARK "
+ "16r0061" 16r0061 " LATIN SMALL LETTER A "
+ "16r0062" 16r0062 " LATIN SMALL LETTER B "
+ "16r0063" 16r0063 " LATIN SMALL LETTER C "
+ "16r0064" 16r0064 " LATIN SMALL LETTER D "
+ "16r0065" 16r0065 " LATIN SMALL LETTER E "
+ "16r0066" 16r0066 " LATIN SMALL LETTER F "
+ "16r0067" 16r0067 " LATIN SMALL LETTER G "
+ "16r0068" 16r0068 " LATIN SMALL LETTER H "
+ "16r0069" 16r0069 " LATIN SMALL LETTER I "
+ "16r006A" 16r006A " LATIN SMALL LETTER J "
+ "16r006B" 16r006B " LATIN SMALL LETTER K "
+ "16r006C" 16r006C " LATIN SMALL LETTER L "
+ "16r006D" 16r006D " LATIN SMALL LETTER M "
+ "16r006E" 16r006E " LATIN SMALL LETTER N "
+ "16r006F" 16r006F " LATIN SMALL LETTER O "
+ "16r0070" 16r0070 " LATIN SMALL LETTER P "
+ "16r0071" 16r0071 " LATIN SMALL LETTER Q "
+ "16r0072" 16r0072 " LATIN SMALL LETTER R "
+ "16r0073" 16r0073 " LATIN SMALL LETTER S "
+ "16r0074" 16r0074 " LATIN SMALL LETTER T "
+ "16r0075" 16r0075 " LATIN SMALL LETTER U "
+ "16r0076" 16r0076 " LATIN SMALL LETTER V "
+ "16r0077" 16r0077 " LATIN SMALL LETTER W "
+ "16r0078" 16r0078 " LATIN SMALL LETTER X "
+ "16r0079" 16r0079 " LATIN SMALL LETTER Y "
+ "16r007A" 16r007A " LATIN SMALL LETTER Z "
+ "16r007B" 16r00E4 " LATIN SMALL LETTER A WITH DIAERESIS "
+ "16r007C" 16r00F6 " LATIN SMALL LETTER O WITH DIAERESIS "
+ "16r007D" 16r00F1 " LATIN SMALL LETTER N WITH TILDE "
+ "16r007E" 16r00FC " LATIN SMALL LETTER U WITH DIAERESIS "
+ "16r007F" 16r00E0 " LATIN SMALL LETTER A WITH GRAVE "
+ "16r0080" 16rFFFF " invalid "
+ "16r0081" 16rFFFF " invalid "
+ "16r0082" 16rFFFF " invalid "
+ "16r0083" 16rFFFF " invalid "
+ "16r0084" 16rFFFF " invalid "
+ "16r0085" 16rFFFF " invalid "
+ "16r0086" 16rFFFF " invalid "
+ "16r0087" 16rFFFF " invalid "
+ "16r0088" 16rFFFF " invalid "
+ "16r0089" 16rFFFF " invalid "
+ "16r008A" 16rFFFF " invalid "
+ "16r008B" 16rFFFF " invalid "
+ "16r008C" 16rFFFF " invalid "
+ "16r008D" 16rFFFF " invalid "
+ "16r008E" 16rFFFF " invalid "
+ "16r008F" 16rFFFF " invalid "
+ "16r0090" 16rFFFF " invalid "
+ "16r0091" 16rFFFF " invalid "
+ "16r0092" 16rFFFF " invalid "
+ "16r0093" 16rFFFF " invalid "
+ "16r0094" 16rFFFF " invalid "
+ "16r0095" 16rFFFF " invalid "
+ "16r0096" 16rFFFF " invalid "
+ "16r0097" 16rFFFF " invalid "
+ "16r0098" 16rFFFF " invalid "
+ "16r0099" 16rFFFF " invalid "
+ "16r009A" 16rFFFF " invalid "
+ "16r009B" 16rFFFF " invalid "
+ "16r009C" 16rFFFF " invalid "
+ "16r009D" 16rFFFF " invalid "
+ "16r009E" 16rFFFF " invalid "
+ "16r009F" 16rFFFF " invalid "
+ "16r00A0" 16rFFFF " invalid "
+ "16r00A1" 16rFFFF " invalid "
+ "16r00A2" 16rFFFF " invalid "
+ "16r00A3" 16rFFFF " invalid "
+ "16r00A4" 16rFFFF " invalid "
+ "16r00A5" 16rFFFF " invalid "
+ "16r00A6" 16rFFFF " invalid "
+ "16r00A7" 16rFFFF " invalid "
+ "16r00A8" 16rFFFF " invalid "
+ "16r00A9" 16rFFFF " invalid "
+ "16r00AA" 16rFFFF " invalid "
+ "16r00AB" 16rFFFF " invalid "
+ "16r00AC" 16rFFFF " invalid "
+ "16r00AD" 16rFFFF " invalid "
+ "16r00AE" 16rFFFF " invalid "
+ "16r00AF" 16rFFFF " invalid "
+ "16r00B0" 16rFFFF " invalid "
+ "16r00B1" 16rFFFF " invalid "
+ "16r00B2" 16rFFFF " invalid "
+ "16r00B3" 16rFFFF " invalid "
+ "16r00B4" 16rFFFF " invalid "
+ "16r00B5" 16rFFFF " invalid "
+ "16r00B6" 16rFFFF " invalid "
+ "16r00B7" 16rFFFF " invalid "
+ "16r00B8" 16rFFFF " invalid "
+ "16r00B9" 16rFFFF " invalid "
+ "16r00BA" 16rFFFF " invalid "
+ "16r00BB" 16rFFFF " invalid "
+ "16r00BC" 16rFFFF " invalid "
+ "16r00BD" 16rFFFF " invalid "
+ "16r00BE" 16rFFFF " invalid "
+ "16r00BF" 16rFFFF " invalid "
+ "16r00C0" 16rFFFF " invalid "
+ "16r00C1" 16rFFFF " invalid "
+ "16r00C2" 16rFFFF " invalid "
+ "16r00C3" 16rFFFF " invalid "
+ "16r00C4" 16rFFFF " invalid "
+ "16r00C5" 16rFFFF " invalid "
+ "16r00C6" 16rFFFF " invalid "
+ "16r00C7" 16rFFFF " invalid "
+ "16r00C8" 16rFFFF " invalid "
+ "16r00C9" 16rFFFF " invalid "
+ "16r00CA" 16rFFFF " invalid "
+ "16r00CB" 16rFFFF " invalid "
+ "16r00CC" 16rFFFF " invalid "
+ "16r00CD" 16rFFFF " invalid "
+ "16r00CE" 16rFFFF " invalid "
+ "16r00CF" 16rFFFF " invalid "
+ "16r00D0" 16rFFFF " invalid "
+ "16r00D1" 16rFFFF " invalid "
+ "16r00D2" 16rFFFF " invalid "
+ "16r00D3" 16rFFFF " invalid "
+ "16r00D4" 16rFFFF " invalid "
+ "16r00D5" 16rFFFF " invalid "
+ "16r00D6" 16rFFFF " invalid "
+ "16r00D7" 16rFFFF " invalid "
+ "16r00D8" 16rFFFF " invalid "
+ "16r00D9" 16rFFFF " invalid "
+ "16r00DA" 16rFFFF " invalid "
+ "16r00DB" 16rFFFF " invalid "
+ "16r00DC" 16rFFFF " invalid "
+ "16r00DD" 16rFFFF " invalid "
+ "16r00DE" 16rFFFF " invalid "
+ "16r00DF" 16rFFFF " invalid "
+ "16r00E0" 16rFFFF " invalid "
+ "16r00E1" 16rFFFF " invalid "
+ "16r00E2" 16rFFFF " invalid "
+ "16r00E3" 16rFFFF " invalid "
+ "16r00E4" 16rFFFF " invalid "
+ "16r00E5" 16rFFFF " invalid "
+ "16r00E6" 16rFFFF " invalid "
+ "16r00E7" 16rFFFF " invalid "
+ "16r00E8" 16rFFFF " invalid "
+ "16r00E9" 16rFFFF " invalid "
+ "16r00EA" 16rFFFF " invalid "
+ "16r00EB" 16rFFFF " invalid "
+ "16r00EC" 16rFFFF " invalid "
+ "16r00ED" 16rFFFF " invalid "
+ "16r00EE" 16rFFFF " invalid "
+ "16r00EF" 16rFFFF " invalid "
+ "16r00F0" 16rFFFF " invalid "
+ "16r00F1" 16rFFFF " invalid "
+ "16r00F2" 16rFFFF " invalid "
+ "16r00F3" 16rFFFF " invalid "
+ "16r00F4" 16rFFFF " invalid "
+ "16r00F5" 16rFFFF " invalid "
+ "16r00F6" 16rFFFF " invalid "
+ "16r00F7" 16rFFFF " invalid "
+ "16r00F8" 16rFFFF " invalid "
+ "16r00F9" 16rFFFF " invalid "
+ "16r00FA" 16rFFFF " invalid "
+ "16r00FB" 16rFFFF " invalid "
+ "16r00FC" 16rFFFF " invalid "
+ "16r00FD" 16rFFFF " invalid "
+ "16r00FE" 16rFFFF " invalid "
+ "16r00FF" 16rFFFF " invalid "
+ "16r0100" 16rFFFF " invalid "
+ "16r0101" 16rFFFF " invalid "
+ "16r0102" 16rFFFF " invalid "
+ "16r0103" 16rFFFF " invalid "
+ "16r0104" 16rFFFF " invalid "
+ "16r0105" 16rFFFF " invalid "
+ "16r0106" 16rFFFF " invalid "
+ "16r0107" 16rFFFF " invalid "
+ "16r0108" 16rFFFF " invalid "
+ "16r0109" 16rFFFF " invalid "
+ "16r010A" 16rFFFF " invalid "
+ "16r010B" 16rFFFF " invalid "
+ "16r010C" 16rFFFF " invalid "
+ "16r010D" 16rFFFF " invalid "
+ "16r010E" 16rFFFF " invalid "
+ "16r010F" 16rFFFF " invalid "
+ "16r0110" 16rFFFF " invalid "
+ "16r0111" 16rFFFF " invalid "
+ "16r0112" 16rFFFF " invalid "
+ "16r0113" 16rFFFF " invalid "
+ "16r0114" 16rFFFF " invalid "
+ "16r0115" 16rFFFF " invalid "
+ "16r0116" 16rFFFF " invalid "
+ "16r0117" 16rFFFF " invalid "
+ "16r0118" 16rFFFF " invalid "
+ "16r0119" 16rFFFF " invalid "
+ "16r011A" 16rFFFF " invalid "
+ "16r011B" 16rFFFF " invalid "
+ "16r011C" 16rFFFF " invalid "
+ "16r011D" 16rFFFF " invalid "
+ "16r011E" 16rFFFF " invalid "
+ "16r011F" 16rFFFF " invalid "
+ "16r0120" 16rFFFF " invalid "
+ "16r0121" 16rFFFF " invalid "
+ "16r0122" 16rFFFF " invalid "
+ "16r0123" 16rFFFF " invalid "
+ "16r0124" 16rFFFF " invalid "
+ "16r0125" 16rFFFF " invalid "
+ "16r0126" 16rFFFF " invalid "
+ "16r0127" 16rFFFF " invalid "
+ "16r0128" 16rFFFF " invalid "
+ "16r0129" 16rFFFF " invalid "
+ "16r012A" 16rFFFF " invalid "
+ "16r012B" 16rFFFF " invalid "
+ "16r012C" 16rFFFF " invalid "
+ "16r012D" 16rFFFF " invalid "
+ "16r012E" 16rFFFF " invalid "
+ "16r012F" 16rFFFF " invalid "
+ "16r0130" 16rFFFF " invalid "
+ "16r0131" 16rFFFF " invalid "
+ "16r0132" 16rFFFF " invalid "
+ "16r0133" 16rFFFF " invalid "
+ "16r0134" 16rFFFF " invalid "
+ "16r0135" 16rFFFF " invalid "
+ "16r0136" 16rFFFF " invalid "
+ "16r0137" 16rFFFF " invalid "
+ "16r0138" 16rFFFF " invalid "
+ "16r0139" 16rFFFF " invalid "
+ "16r013A" 16rFFFF " invalid "
+ "16r013B" 16rFFFF " invalid "
+ "16r013C" 16rFFFF " invalid "
+ "16r013D" 16rFFFF " invalid "
+ "16r013E" 16rFFFF " invalid "
+ "16r013F" 16rFFFF " invalid "
+ "16r0140" 16rFFFF " invalid "
+ "16r0141" 16rFFFF " invalid "
+ "16r0142" 16rFFFF " invalid "
+ "16r0143" 16rFFFF " invalid "
+ "16r0144" 16rFFFF " invalid "
+ "16r0145" 16rFFFF " invalid "
+ "16r0146" 16rFFFF " invalid "
+ "16r0147" 16rFFFF " invalid "
+ "16r0148" 16rFFFF " invalid "
+ "16r0149" 16rFFFF " invalid "
+ "16r014A" 16rFFFF " invalid "
+ "16r014B" 16rFFFF " invalid "
+ "16r014C" 16rFFFF " invalid "
+ "16r014D" 16rFFFF " invalid "
+ "16r014E" 16rFFFF " invalid "
+ "16r014F" 16rFFFF " invalid "
+ "16r0150" 16rFFFF " invalid "
+ "16r0151" 16rFFFF " invalid "
+ "16r0152" 16rFFFF " invalid "
+ "16r0153" 16rFFFF " invalid "
+ "16r0154" 16rFFFF " invalid "
+ "16r0155" 16rFFFF " invalid "
+ "16r0156" 16rFFFF " invalid "
+ "16r0157" 16rFFFF " invalid "
+ "16r0158" 16rFFFF " invalid "
+ "16r0159" 16rFFFF " invalid "
+ "16r015A" 16rFFFF " invalid "
+ "16r015B" 16rFFFF " invalid "
+ "16r015C" 16rFFFF " invalid "
+ "16r015D" 16rFFFF " invalid "
+ "16r015E" 16rFFFF " invalid "
+ "16r015F" 16rFFFF " invalid "
+ "16r0160" 16rFFFF " invalid "
+ "16r0161" 16rFFFF " invalid "
+ "16r0162" 16rFFFF " invalid "
+ "16r0163" 16rFFFF " invalid "
+ "16r0164" 16rFFFF " invalid "
+ "16r0165" 16rFFFF " invalid "
+ "16r0166" 16rFFFF " invalid "
+ "16r0167" 16rFFFF " invalid "
+ "16r0168" 16rFFFF " invalid "
+ "16r0169" 16rFFFF " invalid "
+ "16r016A" 16rFFFF " invalid "
+ "16r016B" 16rFFFF " invalid "
+ "16r016C" 16rFFFF " invalid "
+ "16r016D" 16rFFFF " invalid "
+ "16r016E" 16rFFFF " invalid "
+ "16r016F" 16rFFFF " invalid "
+ "16r0170" 16rFFFF " invalid "
+ "16r0171" 16rFFFF " invalid "
+ "16r0172" 16rFFFF " invalid "
+ "16r0173" 16rFFFF " invalid "
+ "16r0174" 16rFFFF " invalid "
+ "16r0175" 16rFFFF " invalid "
+ "16r0176" 16rFFFF " invalid "
+ "16r0177" 16rFFFF " invalid "
+ "16r0178" 16rFFFF " invalid "
+ "16r0179" 16rFFFF " invalid "
+ "16r017A" 16rFFFF " invalid "
+ "16r017B" 16rFFFF " invalid "
+ "16r017C" 16rFFFF " invalid "
+ "16r017D" 16rFFFF " invalid "
+ "16r017E" 16rFFFF " invalid "
+ "16r017F" 16rFFFF " invalid "
+ "16r0180" 16rFFFF " invalid "
+ "16r0181" 16rFFFF " invalid "
+ "16r0182" 16rFFFF " invalid "
+ "16r0183" 16rFFFF " invalid "
+ "16r0184" 16rFFFF " invalid "
+ "16r0185" 16rFFFF " invalid "
+ "16r0186" 16rFFFF " invalid "
+ "16r0187" 16rFFFF " invalid "
+ "16r0188" 16rFFFF " invalid "
+ "16r0189" 16rFFFF " invalid "
+ "16r018A" 16rFFFF " invalid "
+ "16r018B" 16rFFFF " invalid "
+ "16r018C" 16rFFFF " invalid "
+ "16r018D" 16rFFFF " invalid "
+ "16r018E" 16rFFFF " invalid "
+ "16r018F" 16rFFFF " invalid "
+ "16r0190" 16rFFFF " invalid "
+ "16r0191" 16rFFFF " invalid "
+ "16r0192" 16rFFFF " invalid "
+ "16r0193" 16rFFFF " invalid "
+ "16r0194" 16rFFFF " invalid "
+ "16r0195" 16rFFFF " invalid "
+ "16r0196" 16rFFFF " invalid "
+ "16r0197" 16rFFFF " invalid "
+ "16r0198" 16rFFFF " invalid "
+ "16r0199" 16rFFFF " invalid "
+ "16r019A" 16rFFFF " invalid "
+ "16r019B" 16rFFFF " invalid "
+ "16r019C" 16rFFFF " invalid "
+ "16r019D" 16rFFFF " invalid "
+ "16r019E" 16rFFFF " invalid "
+ "16r019F" 16rFFFF " invalid "
+ "16r01A0" 16rFFFF " invalid "
+ "16r01A1" 16rFFFF " invalid "
+ "16r01A2" 16rFFFF " invalid "
+ "16r01A3" 16rFFFF " invalid "
+ "16r01A4" 16rFFFF " invalid "
+ "16r01A5" 16rFFFF " invalid "
+ "16r01A6" 16rFFFF " invalid "
+ "16r01A7" 16rFFFF " invalid "
+ "16r01A8" 16rFFFF " invalid "
+ "16r01A9" 16rFFFF " invalid "
+ "16r01AA" 16rFFFF " invalid "
+ "16r01AB" 16rFFFF " invalid "
+ "16r01AC" 16rFFFF " invalid "
+ "16r01AD" 16rFFFF " invalid "
+ "16r01AE" 16rFFFF " invalid "
+ "16r01AF" 16rFFFF " invalid "
+ "16r01B0" 16rFFFF " invalid "
+ "16r01B1" 16rFFFF " invalid "
+ "16r01B2" 16rFFFF " invalid "
+ "16r01B3" 16rFFFF " invalid "
+ "16r01B4" 16rFFFF " invalid "
+ "16r01B5" 16rFFFF " invalid "
+ "16r01B6" 16rFFFF " invalid "
+ "16r01B7" 16rFFFF " invalid "
+ "16r01B8" 16rFFFF " invalid "
+ "16r01B9" 16rFFFF " invalid "
+ "16r01BA" 16rFFFF " invalid "
+ "16r01BB" 16rFFFF " invalid "
+ "16r01BC" 16rFFFF " invalid "
+ "16r01BD" 16rFFFF " invalid "
+ "16r01BE" 16rFFFF " invalid "
+ "16r01BF" 16rFFFF " invalid "
+ "16r01C0" 16rFFFF " invalid "
+ "16r01C1" 16rFFFF " invalid "
+ "16r01C2" 16rFFFF " invalid "
+ "16r01C3" 16rFFFF " invalid "
+ "16r01C4" 16rFFFF " invalid "
+ "16r01C5" 16rFFFF " invalid "
+ "16r01C6" 16rFFFF " invalid "
+ "16r01C7" 16rFFFF " invalid "
+ "16r01C8" 16rFFFF " invalid "
+ "16r01C9" 16rFFFF " invalid "
+ "16r01CA" 16rFFFF " invalid "
+ "16r01CB" 16rFFFF " invalid "
+ "16r01CC" 16rFFFF " invalid "
+ "16r01CD" 16rFFFF " invalid "
+ "16r01CE" 16rFFFF " invalid "
+ "16r01CF" 16rFFFF " invalid "
+ "16r01D0" 16rFFFF " invalid "
+ "16r01D1" 16rFFFF " invalid "
+ "16r01D2" 16rFFFF " invalid "
+ "16r01D3" 16rFFFF " invalid "
+ "16r01D4" 16rFFFF " invalid "
+ "16r01D5" 16rFFFF " invalid "
+ "16r01D6" 16rFFFF " invalid "
+ "16r01D7" 16rFFFF " invalid "
+ "16r01D8" 16rFFFF " invalid "
+ "16r01D9" 16rFFFF " invalid "
+ "16r01DA" 16rFFFF " invalid "
+ "16r01DB" 16rFFFF " invalid "
+ "16r01DC" 16rFFFF " invalid "
+ "16r01DD" 16rFFFF " invalid "
+ "16r01DE" 16rFFFF " invalid "
+ "16r01DF" 16rFFFF " invalid "
+ "16r01E0" 16rFFFF " invalid "
+ "16r01E1" 16rFFFF " invalid "
+ "16r01E2" 16rFFFF " invalid "
+ "16r01E3" 16rFFFF " invalid "
+ "16r01E4" 16rFFFF " invalid "
+ "16r01E5" 16rFFFF " invalid "
+ "16r01E6" 16rFFFF " invalid "
+ "16r01E7" 16rFFFF " invalid "
+ "16r01E8" 16rFFFF " invalid "
+ "16r01E9" 16rFFFF " invalid "
+ "16r01EA" 16rFFFF " invalid "
+ "16r01EB" 16rFFFF " invalid "
+ "16r01EC" 16rFFFF " invalid "
+ "16r01ED" 16rFFFF " invalid "
+ "16r01EE" 16rFFFF " invalid "
+ "16r01EF" 16rFFFF " invalid "
+ "16r01F0" 16rFFFF " invalid "
+ "16r01F1" 16rFFFF " invalid "
+ "16r01F2" 16rFFFF " invalid "
+ "16r01F3" 16rFFFF " invalid "
+ "16r01F4" 16rFFFF " invalid "
+ "16r01F5" 16rFFFF " invalid "
+ "16r01F6" 16rFFFF " invalid "
+ "16r01F7" 16rFFFF " invalid "
+ "16r01F8" 16rFFFF " invalid "
+ "16r01F9" 16rFFFF " invalid "
+ "16r01FA" 16rFFFF " invalid "
+ "16r01FB" 16rFFFF " invalid "
+ "16r01FC" 16rFFFF " invalid "
+ "16r01FD" 16rFFFF " invalid "
+ "16r01FE" 16rFFFF " invalid "
+ "16r01FF" 16rFFFF " invalid "
+ "16r0200" 16rFFFF " invalid "
+ "16r0201" 16rFFFF " invalid "
+ "16r0202" 16rFFFF " invalid "
+ "16r0203" 16rFFFF " invalid "
+ "16r0204" 16rFFFF " invalid "
+ "16r0205" 16rFFFF " invalid "
+ "16r0206" 16rFFFF " invalid "
+ "16r0207" 16rFFFF " invalid "
+ "16r0208" 16rFFFF " invalid "
+ "16r0209" 16rFFFF " invalid "
+ "16r020A" 16rFFFF " invalid "
+ "16r020B" 16rFFFF " invalid "
+ "16r020C" 16rFFFF " invalid "
+ "16r020D" 16rFFFF " invalid "
+ "16r020E" 16rFFFF " invalid "
+ "16r020F" 16rFFFF " invalid "
+ "16r0210" 16rFFFF " invalid "
+ "16r0211" 16rFFFF " invalid "
+ "16r0212" 16rFFFF " invalid "
+ "16r0213" 16rFFFF " invalid "
+ "16r0214" 16rFFFF " invalid "
+ "16r0215" 16rFFFF " invalid "
+ "16r0216" 16rFFFF " invalid "
+ "16r0217" 16rFFFF " invalid "
+ "16r0218" 16rFFFF " invalid "
+ "16r0219" 16rFFFF " invalid "
+ "16r021A" 16rFFFF " invalid "
+ "16r021B" 16rFFFF " invalid "
+ "16r021C" 16rFFFF " invalid "
+ "16r021D" 16rFFFF " invalid "
+ "16r021E" 16rFFFF " invalid "
+ "16r021F" 16rFFFF " invalid "
+ "16r0220" 16rFFFF " invalid "
+ "16r0221" 16rFFFF " invalid "
+ "16r0222" 16rFFFF " invalid "
+ "16r0223" 16rFFFF " invalid "
+ "16r0224" 16rFFFF " invalid "
+ "16r0225" 16rFFFF " invalid "
+ "16r0226" 16rFFFF " invalid "
+ "16r0227" 16rFFFF " invalid "
+ "16r0228" 16rFFFF " invalid "
+ "16r0229" 16rFFFF " invalid "
+ "16r022A" 16rFFFF " invalid "
+ "16r022B" 16rFFFF " invalid "
+ "16r022C" 16rFFFF " invalid "
+ "16r022D" 16rFFFF " invalid "
+ "16r022E" 16rFFFF " invalid "
+ "16r022F" 16rFFFF " invalid "
+ "16r0230" 16rFFFF " invalid "
+ "16r0231" 16rFFFF " invalid "
+ "16r0232" 16rFFFF " invalid "
+ "16r0233" 16rFFFF " invalid "
+ "16r0234" 16rFFFF " invalid "
+ "16r0235" 16rFFFF " invalid "
+ "16r0236" 16rFFFF " invalid "
+ "16r0237" 16rFFFF " invalid "
+ "16r0238" 16rFFFF " invalid "
+ "16r0239" 16rFFFF " invalid "
+ "16r023A" 16rFFFF " invalid "
+ "16r023B" 16rFFFF " invalid "
+ "16r023C" 16rFFFF " invalid "
+ "16r023D" 16rFFFF " invalid "
+ "16r023E" 16rFFFF " invalid "
+ "16r023F" 16rFFFF " invalid "
+ "16r0240" 16rFFFF " invalid "
+ "16r0241" 16rFFFF " invalid "
+ "16r0242" 16rFFFF " invalid "
+ "16r0243" 16rFFFF " invalid "
+ "16r0244" 16rFFFF " invalid "
+ "16r0245" 16rFFFF " invalid "
+ "16r0246" 16rFFFF " invalid "
+ "16r0247" 16rFFFF " invalid "
+ "16r0248" 16rFFFF " invalid "
+ "16r0249" 16rFFFF " invalid "
+ "16r024A" 16rFFFF " invalid "
+ "16r024B" 16rFFFF " invalid "
+ "16r024C" 16rFFFF " invalid "
+ "16r024D" 16rFFFF " invalid "
+ "16r024E" 16rFFFF " invalid "
+ "16r024F" 16rFFFF " invalid "
+ "16r0250" 16rFFFF " invalid "
+ "16r0251" 16rFFFF " invalid "
+ "16r0252" 16rFFFF " invalid "
+ "16r0253" 16rFFFF " invalid "
+ "16r0254" 16rFFFF " invalid "
+ "16r0255" 16rFFFF " invalid "
+ "16r0256" 16rFFFF " invalid "
+ "16r0257" 16rFFFF " invalid "
+ "16r0258" 16rFFFF " invalid "
+ "16r0259" 16rFFFF " invalid "
+ "16r025A" 16rFFFF " invalid "
+ "16r025B" 16rFFFF " invalid "
+ "16r025C" 16rFFFF " invalid "
+ "16r025D" 16rFFFF " invalid "
+ "16r025E" 16rFFFF " invalid "
+ "16r025F" 16rFFFF " invalid "
+ "16r0260" 16rFFFF " invalid "
+ "16r0261" 16rFFFF " invalid "
+ "16r0262" 16rFFFF " invalid "
+ "16r0263" 16rFFFF " invalid "
+ "16r0264" 16rFFFF " invalid "
+ "16r0265" 16rFFFF " invalid "
+ "16r0266" 16rFFFF " invalid "
+ "16r0267" 16rFFFF " invalid "
+ "16r0268" 16rFFFF " invalid "
+ "16r0269" 16rFFFF " invalid "
+ "16r026A" 16rFFFF " invalid "
+ "16r026B" 16rFFFF " invalid "
+ "16r026C" 16rFFFF " invalid "
+ "16r026D" 16rFFFF " invalid "
+ "16r026E" 16rFFFF " invalid "
+ "16r026F" 16rFFFF " invalid "
+ "16r0270" 16rFFFF " invalid "
+ "16r0271" 16rFFFF " invalid "
+ "16r0272" 16rFFFF " invalid "
+ "16r0273" 16rFFFF " invalid "
+ "16r0274" 16rFFFF " invalid "
+ "16r0275" 16rFFFF " invalid "
+ "16r0276" 16rFFFF " invalid "
+ "16r0277" 16rFFFF " invalid "
+ "16r0278" 16rFFFF " invalid "
+ "16r0279" 16rFFFF " invalid "
+ "16r027A" 16rFFFF " invalid "
+ "16r027B" 16rFFFF " invalid "
+ "16r027C" 16rFFFF " invalid "
+ "16r027D" 16rFFFF " invalid "
+ "16r027E" 16rFFFF " invalid "
+ "16r027F" 16rFFFF " invalid "
+ "16r0280" 16rFFFF " invalid "
+ "16r0281" 16rFFFF " invalid "
+ "16r0282" 16rFFFF " invalid "
+ "16r0283" 16rFFFF " invalid "
+ "16r0284" 16rFFFF " invalid "
+ "16r0285" 16rFFFF " invalid "
+ "16r0286" 16rFFFF " invalid "
+ "16r0287" 16rFFFF " invalid "
+ "16r0288" 16rFFFF " invalid "
+ "16r0289" 16rFFFF " invalid "
+ "16r028A" 16rFFFF " invalid "
+ "16r028B" 16rFFFF " invalid "
+ "16r028C" 16rFFFF " invalid "
+ "16r028D" 16rFFFF " invalid "
+ "16r028E" 16rFFFF " invalid "
+ "16r028F" 16rFFFF " invalid "
+ "16r0290" 16rFFFF " invalid "
+ "16r0291" 16rFFFF " invalid "
+ "16r0292" 16rFFFF " invalid "
+ "16r0293" 16rFFFF " invalid "
+ "16r0294" 16rFFFF " invalid "
+ "16r0295" 16rFFFF " invalid "
+ "16r0296" 16rFFFF " invalid "
+ "16r0297" 16rFFFF " invalid "
+ "16r0298" 16rFFFF " invalid "
+ "16r0299" 16rFFFF " invalid "
+ "16r029A" 16rFFFF " invalid "
+ "16r029B" 16rFFFF " invalid "
+ "16r029C" 16rFFFF " invalid "
+ "16r029D" 16rFFFF " invalid "
+ "16r029E" 16rFFFF " invalid "
+ "16r029F" 16rFFFF " invalid "
+ "16r02A0" 16rFFFF " invalid "
+ "16r02A1" 16rFFFF " invalid "
+ "16r02A2" 16rFFFF " invalid "
+ "16r02A3" 16rFFFF " invalid "
+ "16r02A4" 16rFFFF " invalid "
+ "16r02A5" 16rFFFF " invalid "
+ "16r02A6" 16rFFFF " invalid "
+ "16r02A7" 16rFFFF " invalid "
+ "16r02A8" 16rFFFF " invalid "
+ "16r02A9" 16rFFFF " invalid "
+ "16r02AA" 16rFFFF " invalid "
+ "16r02AB" 16rFFFF " invalid "
+ "16r02AC" 16rFFFF " invalid "
+ "16r02AD" 16rFFFF " invalid "
+ "16r02AE" 16rFFFF " invalid "
+ "16r02AF" 16rFFFF " invalid "
+ "16r02B0" 16rFFFF " invalid "
+ "16r02B1" 16rFFFF " invalid "
+ "16r02B2" 16rFFFF " invalid "
+ "16r02B3" 16rFFFF " invalid "
+ "16r02B4" 16rFFFF " invalid "
+ "16r02B5" 16rFFFF " invalid "
+ "16r02B6" 16rFFFF " invalid "
+ "16r02B7" 16rFFFF " invalid "
+ "16r02B8" 16rFFFF " invalid "
+ "16r02B9" 16rFFFF " invalid "
+ "16r02BA" 16rFFFF " invalid "
+ "16r02BB" 16rFFFF " invalid "
+ "16r02BC" 16rFFFF " invalid "
+ "16r02BD" 16rFFFF " invalid "
+ "16r02BE" 16rFFFF " invalid "
+ "16r02BF" 16rFFFF " invalid "
+ "16r02C0" 16rFFFF " invalid "
+ "16r02C1" 16rFFFF " invalid "
+ "16r02C2" 16rFFFF " invalid "
+ "16r02C3" 16rFFFF " invalid "
+ "16r02C4" 16rFFFF " invalid "
+ "16r02C5" 16rFFFF " invalid "
+ "16r02C6" 16rFFFF " invalid "
+ "16r02C7" 16rFFFF " invalid "
+ "16r02C8" 16rFFFF " invalid "
+ "16r02C9" 16rFFFF " invalid "
+ "16r02CA" 16rFFFF " invalid "
+ "16r02CB" 16rFFFF " invalid "
+ "16r02CC" 16rFFFF " invalid "
+ "16r02CD" 16rFFFF " invalid "
+ "16r02CE" 16rFFFF " invalid "
+ "16r02CF" 16rFFFF " invalid "
+ "16r02D0" 16rFFFF " invalid "
+ "16r02D1" 16rFFFF " invalid "
+ "16r02D2" 16rFFFF " invalid "
+ "16r02D3" 16rFFFF " invalid "
+ "16r02D4" 16rFFFF " invalid "
+ "16r02D5" 16rFFFF " invalid "
+ "16r02D6" 16rFFFF " invalid "
+ "16r02D7" 16rFFFF " invalid "
+ "16r02D8" 16rFFFF " invalid "
+ "16r02D9" 16rFFFF " invalid "
+ "16r02DA" 16rFFFF " invalid "
+ "16r02DB" 16rFFFF " invalid "
+ "16r02DC" 16rFFFF " invalid "
+ "16r02DD" 16rFFFF " invalid "
+ "16r02DE" 16rFFFF " invalid "
+ "16r02DF" 16rFFFF " invalid "
+ "16r02E0" 16rFFFF " invalid "
+ "16r02E1" 16rFFFF " invalid "
+ "16r02E2" 16rFFFF " invalid "
+ "16r02E3" 16rFFFF " invalid "
+ "16r02E4" 16rFFFF " invalid "
+ "16r02E5" 16rFFFF " invalid "
+ "16r02E6" 16rFFFF " invalid "
+ "16r02E7" 16rFFFF " invalid "
+ "16r02E8" 16rFFFF " invalid "
+ "16r02E9" 16rFFFF " invalid "
+ "16r02EA" 16rFFFF " invalid "
+ "16r02EB" 16rFFFF " invalid "
+ "16r02EC" 16rFFFF " invalid "
+ "16r02ED" 16rFFFF " invalid "
+ "16r02EE" 16rFFFF " invalid "
+ "16r02EF" 16rFFFF " invalid "
+ "16r02F0" 16rFFFF " invalid "
+ "16r02F1" 16rFFFF " invalid "
+ "16r02F2" 16rFFFF " invalid "
+ "16r02F3" 16rFFFF " invalid "
+ "16r02F4" 16rFFFF " invalid "
+ "16r02F5" 16rFFFF " invalid "
+ "16r02F6" 16rFFFF " invalid "
+ "16r02F7" 16rFFFF " invalid "
+ "16r02F8" 16rFFFF " invalid "
+ "16r02F9" 16rFFFF " invalid "
+ "16r02FA" 16rFFFF " invalid "
+ "16r02FB" 16rFFFF " invalid "
+ "16r02FC" 16rFFFF " invalid "
+ "16r02FD" 16rFFFF " invalid "
+ "16r02FE" 16rFFFF " invalid "
+ "16r02FF" 16rFFFF " invalid "
+ "16r0300" 16rFFFF " invalid "
+ "16r0301" 16rFFFF " invalid "
+ "16r0302" 16rFFFF " invalid "
+ "16r0303" 16rFFFF " invalid "
+ "16r0304" 16rFFFF " invalid "
+ "16r0305" 16rFFFF " invalid "
+ "16r0306" 16rFFFF " invalid "
+ "16r0307" 16rFFFF " invalid "
+ "16r0308" 16rFFFF " invalid "
+ "16r0309" 16rFFFF " invalid "
+ "16r030A" 16rFFFF " invalid "
+ "16r030B" 16rFFFF " invalid "
+ "16r030C" 16rFFFF " invalid "
+ "16r030D" 16rFFFF " invalid "
+ "16r030E" 16rFFFF " invalid "
+ "16r030F" 16rFFFF " invalid "
+ "16r0310" 16rFFFF " invalid "
+ "16r0311" 16rFFFF " invalid "
+ "16r0312" 16rFFFF " invalid "
+ "16r0313" 16rFFFF " invalid "
+ "16r0314" 16rFFFF " invalid "
+ "16r0315" 16rFFFF " invalid "
+ "16r0316" 16rFFFF " invalid "
+ "16r0317" 16rFFFF " invalid "
+ "16r0318" 16rFFFF " invalid "
+ "16r0319" 16rFFFF " invalid "
+ "16r031A" 16rFFFF " invalid "
+ "16r031B" 16rFFFF " invalid "
+ "16r031C" 16rFFFF " invalid "
+ "16r031D" 16rFFFF " invalid "
+ "16r031E" 16rFFFF " invalid "
+ "16r031F" 16rFFFF " invalid "
+ "16r0320" 16rFFFF " invalid "
+ "16r0321" 16rFFFF " invalid "
+ "16r0322" 16rFFFF " invalid "
+ "16r0323" 16rFFFF " invalid "
+ "16r0324" 16rFFFF " invalid "
+ "16r0325" 16rFFFF " invalid "
+ "16r0326" 16rFFFF " invalid "
+ "16r0327" 16rFFFF " invalid "
+ "16r0328" 16rFFFF " invalid "
+ "16r0329" 16rFFFF " invalid "
+ "16r032A" 16rFFFF " invalid "
+ "16r032B" 16rFFFF " invalid "
+ "16r032C" 16rFFFF " invalid "
+ "16r032D" 16rFFFF " invalid "
+ "16r032E" 16rFFFF " invalid "
+ "16r032F" 16rFFFF " invalid "
+ "16r0330" 16rFFFF " invalid "
+ "16r0331" 16rFFFF " invalid "
+ "16r0332" 16rFFFF " invalid "
+ "16r0333" 16rFFFF " invalid "
+ "16r0334" 16rFFFF " invalid "
+ "16r0335" 16rFFFF " invalid "
+ "16r0336" 16rFFFF " invalid "
+ "16r0337" 16rFFFF " invalid "
+ "16r0338" 16rFFFF " invalid "
+ "16r0339" 16rFFFF " invalid "
+ "16r033A" 16rFFFF " invalid "
+ "16r033B" 16rFFFF " invalid "
+ "16r033C" 16rFFFF " invalid "
+ "16r033D" 16rFFFF " invalid "
+ "16r033E" 16rFFFF " invalid "
+ "16r033F" 16rFFFF " invalid "
+ "16r0340" 16rFFFF " invalid "
+ "16r0341" 16rFFFF " invalid "
+ "16r0342" 16rFFFF " invalid "
+ "16r0343" 16rFFFF " invalid "
+ "16r0344" 16rFFFF " invalid "
+ "16r0345" 16rFFFF " invalid "
+ "16r0346" 16rFFFF " invalid "
+ "16r0347" 16rFFFF " invalid "
+ "16r0348" 16rFFFF " invalid "
+ "16r0349" 16rFFFF " invalid "
+ "16r034A" 16rFFFF " invalid "
+ "16r034B" 16rFFFF " invalid "
+ "16r034C" 16rFFFF " invalid "
+ "16r034D" 16rFFFF " invalid "
+ "16r034E" 16rFFFF " invalid "
+ "16r034F" 16rFFFF " invalid "
+ "16r0350" 16rFFFF " invalid "
+ "16r0351" 16rFFFF " invalid "
+ "16r0352" 16rFFFF " invalid "
+ "16r0353" 16rFFFF " invalid "
+ "16r0354" 16rFFFF " invalid "
+ "16r0355" 16rFFFF " invalid "
+ "16r0356" 16rFFFF " invalid "
+ "16r0357" 16rFFFF " invalid "
+ "16r0358" 16rFFFF " invalid "
+ "16r0359" 16rFFFF " invalid "
+ "16r035A" 16rFFFF " invalid "
+ "16r035B" 16rFFFF " invalid "
+ "16r035C" 16rFFFF " invalid "
+ "16r035D" 16rFFFF " invalid "
+ "16r035E" 16rFFFF " invalid "
+ "16r035F" 16rFFFF " invalid "
+ "16r0360" 16rFFFF " invalid "
+ "16r0361" 16rFFFF " invalid "
+ "16r0362" 16rFFFF " invalid "
+ "16r0363" 16rFFFF " invalid "
+ "16r0364" 16rFFFF " invalid "
+ "16r0365" 16rFFFF " invalid "
+ "16r0366" 16rFFFF " invalid "
+ "16r0367" 16rFFFF " invalid "
+ "16r0368" 16rFFFF " invalid "
+ "16r0369" 16rFFFF " invalid "
+ "16r036A" 16rFFFF " invalid "
+ "16r036B" 16rFFFF " invalid "
+ "16r036C" 16rFFFF " invalid "
+ "16r036D" 16rFFFF " invalid "
+ "16r036E" 16rFFFF " invalid "
+ "16r036F" 16rFFFF " invalid "
+ "16r0370" 16rFFFF " invalid "
+ "16r0371" 16rFFFF " invalid "
+ "16r0372" 16rFFFF " invalid "
+ "16r0373" 16rFFFF " invalid "
+ "16r0374" 16rFFFF " invalid "
+ "16r0375" 16rFFFF " invalid "
+ "16r0376" 16rFFFF " invalid "
+ "16r0377" 16rFFFF " invalid "
+ "16r0378" 16rFFFF " invalid "
+ "16r0379" 16rFFFF " invalid "
+ "16r037A" 16rFFFF " invalid "
+ "16r037B" 16rFFFF " invalid "
+ "16r037C" 16rFFFF " invalid "
+ "16r037D" 16rFFFF " invalid "
+ "16r037E" 16rFFFF " invalid "
+ "16r037F" 16rFFFF " invalid "
+ "16r0380" 16rFFFF " invalid "
+ "16r0381" 16rFFFF " invalid "
+ "16r0382" 16rFFFF " invalid "
+ "16r0383" 16rFFFF " invalid "
+ "16r0384" 16rFFFF " invalid "
+ "16r0385" 16rFFFF " invalid "
+ "16r0386" 16rFFFF " invalid "
+ "16r0387" 16rFFFF " invalid "
+ "16r0388" 16rFFFF " invalid "
+ "16r0389" 16rFFFF " invalid "
+ "16r038A" 16rFFFF " invalid "
+ "16r038B" 16rFFFF " invalid "
+ "16r038C" 16rFFFF " invalid "
+ "16r038D" 16rFFFF " invalid "
+ "16r038E" 16rFFFF " invalid "
+ "16r038F" 16rFFFF " invalid "
+ "16r0390" 16rFFFF " invalid "
+ "16r0391" 16rFFFF " invalid "
+ "16r0392" 16rFFFF " invalid "
+ "16r0393" 16rFFFF " invalid "
+ "16r0394" 16rFFFF " invalid "
+ "16r0395" 16rFFFF " invalid "
+ "16r0396" 16rFFFF " invalid "
+ "16r0397" 16rFFFF " invalid "
+ "16r0398" 16rFFFF " invalid "
+ "16r0399" 16rFFFF " invalid "
+ "16r039A" 16rFFFF " invalid "
+ "16r039B" 16rFFFF " invalid "
+ "16r039C" 16rFFFF " invalid "
+ "16r039D" 16rFFFF " invalid "
+ "16r039E" 16rFFFF " invalid "
+ "16r039F" 16rFFFF " invalid "
+ "16r03A0" 16rFFFF " invalid "
+ "16r03A1" 16rFFFF " invalid "
+ "16r03A2" 16rFFFF " invalid "
+ "16r03A3" 16rFFFF " invalid "
+ "16r03A4" 16rFFFF " invalid "
+ "16r03A5" 16rFFFF " invalid "
+ "16r03A6" 16rFFFF " invalid "
+ "16r03A7" 16rFFFF " invalid "
+ "16r03A8" 16rFFFF " invalid "
+ "16r03A9" 16rFFFF " invalid "
+ "16r03AA" 16rFFFF " invalid "
+ "16r03AB" 16rFFFF " invalid "
+ "16r03AC" 16rFFFF " invalid "
+ "16r03AD" 16rFFFF " invalid "
+ "16r03AE" 16rFFFF " invalid "
+ "16r03AF" 16rFFFF " invalid "
+ "16r03B0" 16rFFFF " invalid "
+ "16r03B1" 16rFFFF " invalid "
+ "16r03B2" 16rFFFF " invalid "
+ "16r03B3" 16rFFFF " invalid "
+ "16r03B4" 16rFFFF " invalid "
+ "16r03B5" 16rFFFF " invalid "
+ "16r03B6" 16rFFFF " invalid "
+ "16r03B7" 16rFFFF " invalid "
+ "16r03B8" 16rFFFF " invalid "
+ "16r03B9" 16rFFFF " invalid "
+ "16r03BA" 16rFFFF " invalid "
+ "16r03BB" 16rFFFF " invalid "
+ "16r03BC" 16rFFFF " invalid "
+ "16r03BD" 16rFFFF " invalid "
+ "16r03BE" 16rFFFF " invalid "
+ "16r03BF" 16rFFFF " invalid "
+ "16r03C0" 16rFFFF " invalid "
+ "16r03C1" 16rFFFF " invalid "
+ "16r03C2" 16rFFFF " invalid "
+ "16r03C3" 16rFFFF " invalid "
+ "16r03C4" 16rFFFF " invalid "
+ "16r03C5" 16rFFFF " invalid "
+ "16r03C6" 16rFFFF " invalid "
+ "16r03C7" 16rFFFF " invalid "
+ "16r03C8" 16rFFFF " invalid "
+ "16r03C9" 16rFFFF " invalid "
+ "16r03CA" 16rFFFF " invalid "
+ "16r03CB" 16rFFFF " invalid "
+ "16r03CC" 16rFFFF " invalid "
+ "16r03CD" 16rFFFF " invalid "
+ "16r03CE" 16rFFFF " invalid "
+ "16r03CF" 16rFFFF " invalid "
+ "16r03D0" 16rFFFF " invalid "
+ "16r03D1" 16rFFFF " invalid "
+ "16r03D2" 16rFFFF " invalid "
+ "16r03D3" 16rFFFF " invalid "
+ "16r03D4" 16rFFFF " invalid "
+ "16r03D5" 16rFFFF " invalid "
+ "16r03D6" 16rFFFF " invalid "
+ "16r03D7" 16rFFFF " invalid "
+ "16r03D8" 16rFFFF " invalid "
+ "16r03D9" 16rFFFF " invalid "
+ "16r03DA" 16rFFFF " invalid "
+ "16r03DB" 16rFFFF " invalid "
+ "16r03DC" 16rFFFF " invalid "
+ "16r03DD" 16rFFFF " invalid "
+ "16r03DE" 16rFFFF " invalid "
+ "16r03DF" 16rFFFF " invalid "
+ "16r03E0" 16rFFFF " invalid "
+ "16r03E1" 16rFFFF " invalid "
+ "16r03E2" 16rFFFF " invalid "
+ "16r03E3" 16rFFFF " invalid "
+ "16r03E4" 16rFFFF " invalid "
+ "16r03E5" 16rFFFF " invalid "
+ "16r03E6" 16rFFFF " invalid "
+ "16r03E7" 16rFFFF " invalid "
+ "16r03E8" 16rFFFF " invalid "
+ "16r03E9" 16rFFFF " invalid "
+ "16r03EA" 16rFFFF " invalid "
+ "16r03EB" 16rFFFF " invalid "
+ "16r03EC" 16rFFFF " invalid "
+ "16r03ED" 16rFFFF " invalid "
+ "16r03EE" 16rFFFF " invalid "
+ "16r03EF" 16rFFFF " invalid "
+ "16r03F0" 16rFFFF " invalid "
+ "16r03F1" 16rFFFF " invalid "
+ "16r03F2" 16rFFFF " invalid "
+ "16r03F3" 16rFFFF " invalid "
+ "16r03F4" 16rFFFF " invalid "
+ "16r03F5" 16rFFFF " invalid "
+ "16r03F6" 16rFFFF " invalid "
+ "16r03F7" 16rFFFF " invalid "
+ "16r03F8" 16rFFFF " invalid "
+ "16r03F9" 16rFFFF " invalid "
+ "16r03FA" 16rFFFF " invalid "
+ "16r03FB" 16rFFFF " invalid "
+ "16r03FC" 16rFFFF " invalid "
+ "16r03FD" 16rFFFF " invalid "
+ "16r03FE" 16rFFFF " invalid "
+ "16r03FF" 16rFFFF " invalid "
+ "16r0400" 16rFFFF " invalid "
+ "16r0401" 16rFFFF " invalid "
+ "16r0402" 16rFFFF " invalid "
+ "16r0403" 16rFFFF " invalid "
+ "16r0404" 16rFFFF " invalid "
+ "16r0405" 16rFFFF " invalid "
+ "16r0406" 16rFFFF " invalid "
+ "16r0407" 16rFFFF " invalid "
+ "16r0408" 16rFFFF " invalid "
+ "16r0409" 16rFFFF " invalid "
+ "16r040A" 16rFFFF " invalid "
+ "16r040B" 16rFFFF " invalid "
+ "16r040C" 16rFFFF " invalid "
+ "16r040D" 16rFFFF " invalid "
+ "16r040E" 16rFFFF " invalid "
+ "16r040F" 16rFFFF " invalid "
+ "16r0410" 16rFFFF " invalid "
+ "16r0411" 16rFFFF " invalid "
+ "16r0412" 16rFFFF " invalid "
+ "16r0413" 16rFFFF " invalid "
+ "16r0414" 16rFFFF " invalid "
+ "16r0415" 16rFFFF " invalid "
+ "16r0416" 16rFFFF " invalid "
+ "16r0417" 16rFFFF " invalid "
+ "16r0418" 16rFFFF " invalid "
+ "16r0419" 16rFFFF " invalid "
+ "16r041A" 16rFFFF " invalid "
+ "16r041B" 16rFFFF " invalid "
+ "16r041C" 16rFFFF " invalid "
+ "16r041D" 16rFFFF " invalid "
+ "16r041E" 16rFFFF " invalid "
+ "16r041F" 16rFFFF " invalid "
+ "16r0420" 16rFFFF " invalid "
+ "16r0421" 16rFFFF " invalid "
+ "16r0422" 16rFFFF " invalid "
+ "16r0423" 16rFFFF " invalid "
+ "16r0424" 16rFFFF " invalid "
+ "16r0425" 16rFFFF " invalid "
+ "16r0426" 16rFFFF " invalid "
+ "16r0427" 16rFFFF " invalid "
+ "16r0428" 16rFFFF " invalid "
+ "16r0429" 16rFFFF " invalid "
+ "16r042A" 16rFFFF " invalid "
+ "16r042B" 16rFFFF " invalid "
+ "16r042C" 16rFFFF " invalid "
+ "16r042D" 16rFFFF " invalid "
+ "16r042E" 16rFFFF " invalid "
+ "16r042F" 16rFFFF " invalid "
+ "16r0430" 16rFFFF " invalid "
+ "16r0431" 16rFFFF " invalid "
+ "16r0432" 16rFFFF " invalid "
+ "16r0433" 16rFFFF " invalid "
+ "16r0434" 16rFFFF " invalid "
+ "16r0435" 16rFFFF " invalid "
+ "16r0436" 16rFFFF " invalid "
+ "16r0437" 16rFFFF " invalid "
+ "16r0438" 16rFFFF " invalid "
+ "16r0439" 16rFFFF " invalid "
+ "16r043A" 16rFFFF " invalid "
+ "16r043B" 16rFFFF " invalid "
+ "16r043C" 16rFFFF " invalid "
+ "16r043D" 16rFFFF " invalid "
+ "16r043E" 16rFFFF " invalid "
+ "16r043F" 16rFFFF " invalid "
+ "16r0440" 16rFFFF " invalid "
+ "16r0441" 16rFFFF " invalid "
+ "16r0442" 16rFFFF " invalid "
+ "16r0443" 16rFFFF " invalid "
+ "16r0444" 16rFFFF " invalid "
+ "16r0445" 16rFFFF " invalid "
+ "16r0446" 16rFFFF " invalid "
+ "16r0447" 16rFFFF " invalid "
+ "16r0448" 16rFFFF " invalid "
+ "16r0449" 16rFFFF " invalid "
+ "16r044A" 16rFFFF " invalid "
+ "16r044B" 16rFFFF " invalid "
+ "16r044C" 16rFFFF " invalid "
+ "16r044D" 16rFFFF " invalid "
+ "16r044E" 16rFFFF " invalid "
+ "16r044F" 16rFFFF " invalid "
+ "16r0450" 16rFFFF " invalid "
+ "16r0451" 16rFFFF " invalid "
+ "16r0452" 16rFFFF " invalid "
+ "16r0453" 16rFFFF " invalid "
+ "16r0454" 16rFFFF " invalid "
+ "16r0455" 16rFFFF " invalid "
+ "16r0456" 16rFFFF " invalid "
+ "16r0457" 16rFFFF " invalid "
+ "16r0458" 16rFFFF " invalid "
+ "16r0459" 16rFFFF " invalid "
+ "16r045A" 16rFFFF " invalid "
+ "16r045B" 16rFFFF " invalid "
+ "16r045C" 16rFFFF " invalid "
+ "16r045D" 16rFFFF " invalid "
+ "16r045E" 16rFFFF " invalid "
+ "16r045F" 16rFFFF " invalid "
+ "16r0460" 16rFFFF " invalid "
+ "16r0461" 16rFFFF " invalid "
+ "16r0462" 16rFFFF " invalid "
+ "16r0463" 16rFFFF " invalid "
+ "16r0464" 16rFFFF " invalid "
+ "16r0465" 16rFFFF " invalid "
+ "16r0466" 16rFFFF " invalid "
+ "16r0467" 16rFFFF " invalid "
+ "16r0468" 16rFFFF " invalid "
+ "16r0469" 16rFFFF " invalid "
+ "16r046A" 16rFFFF " invalid "
+ "16r046B" 16rFFFF " invalid "
+ "16r046C" 16rFFFF " invalid "
+ "16r046D" 16rFFFF " invalid "
+ "16r046E" 16rFFFF " invalid "
+ "16r046F" 16rFFFF " invalid "
+ "16r0470" 16rFFFF " invalid "
+ "16r0471" 16rFFFF " invalid "
+ "16r0472" 16rFFFF " invalid "
+ "16r0473" 16rFFFF " invalid "
+ "16r0474" 16rFFFF " invalid "
+ "16r0475" 16rFFFF " invalid "
+ "16r0476" 16rFFFF " invalid "
+ "16r0477" 16rFFFF " invalid "
+ "16r0478" 16rFFFF " invalid "
+ "16r0479" 16rFFFF " invalid "
+ "16r047A" 16rFFFF " invalid "
+ "16r047B" 16rFFFF " invalid "
+ "16r047C" 16rFFFF " invalid "
+ "16r047D" 16rFFFF " invalid "
+ "16r047E" 16rFFFF " invalid "
+ "16r047F" 16rFFFF " invalid "
+ "16r0480" 16rFFFF " invalid "
+ "16r0481" 16rFFFF " invalid "
+ "16r0482" 16rFFFF " invalid "
+ "16r0483" 16rFFFF " invalid "
+ "16r0484" 16rFFFF " invalid "
+ "16r0485" 16rFFFF " invalid "
+ "16r0486" 16rFFFF " invalid "
+ "16r0487" 16rFFFF " invalid "
+ "16r0488" 16rFFFF " invalid "
+ "16r0489" 16rFFFF " invalid "
+ "16r048A" 16rFFFF " invalid "
+ "16r048B" 16rFFFF " invalid "
+ "16r048C" 16rFFFF " invalid "
+ "16r048D" 16rFFFF " invalid "
+ "16r048E" 16rFFFF " invalid "
+ "16r048F" 16rFFFF " invalid "
+ "16r0490" 16rFFFF " invalid "
+ "16r0491" 16rFFFF " invalid "
+ "16r0492" 16rFFFF " invalid "
+ "16r0493" 16rFFFF " invalid "
+ "16r0494" 16rFFFF " invalid "
+ "16r0495" 16rFFFF " invalid "
+ "16r0496" 16rFFFF " invalid "
+ "16r0497" 16rFFFF " invalid "
+ "16r0498" 16rFFFF " invalid "
+ "16r0499" 16rFFFF " invalid "
+ "16r049A" 16rFFFF " invalid "
+ "16r049B" 16rFFFF " invalid "
+ "16r049C" 16rFFFF " invalid "
+ "16r049D" 16rFFFF " invalid "
+ "16r049E" 16rFFFF " invalid "
+ "16r049F" 16rFFFF " invalid "
+ "16r04A0" 16rFFFF " invalid "
+ "16r04A1" 16rFFFF " invalid "
+ "16r04A2" 16rFFFF " invalid "
+ "16r04A3" 16rFFFF " invalid "
+ "16r04A4" 16rFFFF " invalid "
+ "16r04A5" 16rFFFF " invalid "
+ "16r04A6" 16rFFFF " invalid "
+ "16r04A7" 16rFFFF " invalid "
+ "16r04A8" 16rFFFF " invalid "
+ "16r04A9" 16rFFFF " invalid "
+ "16r04AA" 16rFFFF " invalid "
+ "16r04AB" 16rFFFF " invalid "
+ "16r04AC" 16rFFFF " invalid "
+ "16r04AD" 16rFFFF " invalid "
+ "16r04AE" 16rFFFF " invalid "
+ "16r04AF" 16rFFFF " invalid "
+ "16r04B0" 16rFFFF " invalid "
+ "16r04B1" 16rFFFF " invalid "
+ "16r04B2" 16rFFFF " invalid "
+ "16r04B3" 16rFFFF " invalid "
+ "16r04B4" 16rFFFF " invalid "
+ "16r04B5" 16rFFFF " invalid "
+ "16r04B6" 16rFFFF " invalid "
+ "16r04B7" 16rFFFF " invalid "
+ "16r04B8" 16rFFFF " invalid "
+ "16r04B9" 16rFFFF " invalid "
+ "16r04BA" 16rFFFF " invalid "
+ "16r04BB" 16rFFFF " invalid "
+ "16r04BC" 16rFFFF " invalid "
+ "16r04BD" 16rFFFF " invalid "
+ "16r04BE" 16rFFFF " invalid "
+ "16r04BF" 16rFFFF " invalid "
+ "16r04C0" 16rFFFF " invalid "
+ "16r04C1" 16rFFFF " invalid "
+ "16r04C2" 16rFFFF " invalid "
+ "16r04C3" 16rFFFF " invalid "
+ "16r04C4" 16rFFFF " invalid "
+ "16r04C5" 16rFFFF " invalid "
+ "16r04C6" 16rFFFF " invalid "
+ "16r04C7" 16rFFFF " invalid "
+ "16r04C8" 16rFFFF " invalid "
+ "16r04C9" 16rFFFF " invalid "
+ "16r04CA" 16rFFFF " invalid "
+ "16r04CB" 16rFFFF " invalid "
+ "16r04CC" 16rFFFF " invalid "
+ "16r04CD" 16rFFFF " invalid "
+ "16r04CE" 16rFFFF " invalid "
+ "16r04CF" 16rFFFF " invalid "
+ "16r04D0" 16rFFFF " invalid "
+ "16r04D1" 16rFFFF " invalid "
+ "16r04D2" 16rFFFF " invalid "
+ "16r04D3" 16rFFFF " invalid "
+ "16r04D4" 16rFFFF " invalid "
+ "16r04D5" 16rFFFF " invalid "
+ "16r04D6" 16rFFFF " invalid "
+ "16r04D7" 16rFFFF " invalid "
+ "16r04D8" 16rFFFF " invalid "
+ "16r04D9" 16rFFFF " invalid "
+ "16r04DA" 16rFFFF " invalid "
+ "16r04DB" 16rFFFF " invalid "
+ "16r04DC" 16rFFFF " invalid "
+ "16r04DD" 16rFFFF " invalid "
+ "16r04DE" 16rFFFF " invalid "
+ "16r04DF" 16rFFFF " invalid "
+ "16r04E0" 16rFFFF " invalid "
+ "16r04E1" 16rFFFF " invalid "
+ "16r04E2" 16rFFFF " invalid "
+ "16r04E3" 16rFFFF " invalid "
+ "16r04E4" 16rFFFF " invalid "
+ "16r04E5" 16rFFFF " invalid "
+ "16r04E6" 16rFFFF " invalid "
+ "16r04E7" 16rFFFF " invalid "
+ "16r04E8" 16rFFFF " invalid "
+ "16r04E9" 16rFFFF " invalid "
+ "16r04EA" 16rFFFF " invalid "
+ "16r04EB" 16rFFFF " invalid "
+ "16r04EC" 16rFFFF " invalid "
+ "16r04ED" 16rFFFF " invalid "
+ "16r04EE" 16rFFFF " invalid "
+ "16r04EF" 16rFFFF " invalid "
+ "16r04F0" 16rFFFF " invalid "
+ "16r04F1" 16rFFFF " invalid "
+ "16r04F2" 16rFFFF " invalid "
+ "16r04F3" 16rFFFF " invalid "
+ "16r04F4" 16rFFFF " invalid "
+ "16r04F5" 16rFFFF " invalid "
+ "16r04F6" 16rFFFF " invalid "
+ "16r04F7" 16rFFFF " invalid "
+ "16r04F8" 16rFFFF " invalid "
+ "16r04F9" 16rFFFF " invalid "
+ "16r04FA" 16rFFFF " invalid "
+ "16r04FB" 16rFFFF " invalid "
+ "16r04FC" 16rFFFF " invalid "
+ "16r04FD" 16rFFFF " invalid "
+ "16r04FE" 16rFFFF " invalid "
+ "16r04FF" 16rFFFF " invalid "
+ "16r0500" 16rFFFF " invalid "
+ "16r0501" 16rFFFF " invalid "
+ "16r0502" 16rFFFF " invalid "
+ "16r0503" 16rFFFF " invalid "
+ "16r0504" 16rFFFF " invalid "
+ "16r0505" 16rFFFF " invalid "
+ "16r0506" 16rFFFF " invalid "
+ "16r0507" 16rFFFF " invalid "
+ "16r0508" 16rFFFF " invalid "
+ "16r0509" 16rFFFF " invalid "
+ "16r050A" 16rFFFF " invalid "
+ "16r050B" 16rFFFF " invalid "
+ "16r050C" 16rFFFF " invalid "
+ "16r050D" 16rFFFF " invalid "
+ "16r050E" 16rFFFF " invalid "
+ "16r050F" 16rFFFF " invalid "
+ "16r0510" 16rFFFF " invalid "
+ "16r0511" 16rFFFF " invalid "
+ "16r0512" 16rFFFF " invalid "
+ "16r0513" 16rFFFF " invalid "
+ "16r0514" 16rFFFF " invalid "
+ "16r0515" 16rFFFF " invalid "
+ "16r0516" 16rFFFF " invalid "
+ "16r0517" 16rFFFF " invalid "
+ "16r0518" 16rFFFF " invalid "
+ "16r0519" 16rFFFF " invalid "
+ "16r051A" 16rFFFF " invalid "
+ "16r051B" 16rFFFF " invalid "
+ "16r051C" 16rFFFF " invalid "
+ "16r051D" 16rFFFF " invalid "
+ "16r051E" 16rFFFF " invalid "
+ "16r051F" 16rFFFF " invalid "
+ "16r0520" 16rFFFF " invalid "
+ "16r0521" 16rFFFF " invalid "
+ "16r0522" 16rFFFF " invalid "
+ "16r0523" 16rFFFF " invalid "
+ "16r0524" 16rFFFF " invalid "
+ "16r0525" 16rFFFF " invalid "
+ "16r0526" 16rFFFF " invalid "
+ "16r0527" 16rFFFF " invalid "
+ "16r0528" 16rFFFF " invalid "
+ "16r0529" 16rFFFF " invalid "
+ "16r052A" 16rFFFF " invalid "
+ "16r052B" 16rFFFF " invalid "
+ "16r052C" 16rFFFF " invalid "
+ "16r052D" 16rFFFF " invalid "
+ "16r052E" 16rFFFF " invalid "
+ "16r052F" 16rFFFF " invalid "
+ "16r0530" 16rFFFF " invalid "
+ "16r0531" 16rFFFF " invalid "
+ "16r0532" 16rFFFF " invalid "
+ "16r0533" 16rFFFF " invalid "
+ "16r0534" 16rFFFF " invalid "
+ "16r0535" 16rFFFF " invalid "
+ "16r0536" 16rFFFF " invalid "
+ "16r0537" 16rFFFF " invalid "
+ "16r0538" 16rFFFF " invalid "
+ "16r0539" 16rFFFF " invalid "
+ "16r053A" 16rFFFF " invalid "
+ "16r053B" 16rFFFF " invalid "
+ "16r053C" 16rFFFF " invalid "
+ "16r053D" 16rFFFF " invalid "
+ "16r053E" 16rFFFF " invalid "
+ "16r053F" 16rFFFF " invalid "
+ "16r0540" 16rFFFF " invalid "
+ "16r0541" 16rFFFF " invalid "
+ "16r0542" 16rFFFF " invalid "
+ "16r0543" 16rFFFF " invalid "
+ "16r0544" 16rFFFF " invalid "
+ "16r0545" 16rFFFF " invalid "
+ "16r0546" 16rFFFF " invalid "
+ "16r0547" 16rFFFF " invalid "
+ "16r0548" 16rFFFF " invalid "
+ "16r0549" 16rFFFF " invalid "
+ "16r054A" 16rFFFF " invalid "
+ "16r054B" 16rFFFF " invalid "
+ "16r054C" 16rFFFF " invalid "
+ "16r054D" 16rFFFF " invalid "
+ "16r054E" 16rFFFF " invalid "
+ "16r054F" 16rFFFF " invalid "
+ "16r0550" 16rFFFF " invalid "
+ "16r0551" 16rFFFF " invalid "
+ "16r0552" 16rFFFF " invalid "
+ "16r0553" 16rFFFF " invalid "
+ "16r0554" 16rFFFF " invalid "
+ "16r0555" 16rFFFF " invalid "
+ "16r0556" 16rFFFF " invalid "
+ "16r0557" 16rFFFF " invalid "
+ "16r0558" 16rFFFF " invalid "
+ "16r0559" 16rFFFF " invalid "
+ "16r055A" 16rFFFF " invalid "
+ "16r055B" 16rFFFF " invalid "
+ "16r055C" 16rFFFF " invalid "
+ "16r055D" 16rFFFF " invalid "
+ "16r055E" 16rFFFF " invalid "
+ "16r055F" 16rFFFF " invalid "
+ "16r0560" 16rFFFF " invalid "
+ "16r0561" 16rFFFF " invalid "
+ "16r0562" 16rFFFF " invalid "
+ "16r0563" 16rFFFF " invalid "
+ "16r0564" 16rFFFF " invalid "
+ "16r0565" 16rFFFF " invalid "
+ "16r0566" 16rFFFF " invalid "
+ "16r0567" 16rFFFF " invalid "
+ "16r0568" 16rFFFF " invalid "
+ "16r0569" 16rFFFF " invalid "
+ "16r056A" 16rFFFF " invalid "
+ "16r056B" 16rFFFF " invalid "
+ "16r056C" 16rFFFF " invalid "
+ "16r056D" 16rFFFF " invalid "
+ "16r056E" 16rFFFF " invalid "
+ "16r056F" 16rFFFF " invalid "
+ "16r0570" 16rFFFF " invalid "
+ "16r0571" 16rFFFF " invalid "
+ "16r0572" 16rFFFF " invalid "
+ "16r0573" 16rFFFF " invalid "
+ "16r0574" 16rFFFF " invalid "
+ "16r0575" 16rFFFF " invalid "
+ "16r0576" 16rFFFF " invalid "
+ "16r0577" 16rFFFF " invalid "
+ "16r0578" 16rFFFF " invalid "
+ "16r0579" 16rFFFF " invalid "
+ "16r057A" 16rFFFF " invalid "
+ "16r057B" 16rFFFF " invalid "
+ "16r057C" 16rFFFF " invalid "
+ "16r057D" 16rFFFF " invalid "
+ "16r057E" 16rFFFF " invalid "
+ "16r057F" 16rFFFF " invalid "
+ "16r0580" 16rFFFF " invalid "
+ "16r0581" 16rFFFF " invalid "
+ "16r0582" 16rFFFF " invalid "
+ "16r0583" 16rFFFF " invalid "
+ "16r0584" 16rFFFF " invalid "
+ "16r0585" 16rFFFF " invalid "
+ "16r0586" 16rFFFF " invalid "
+ "16r0587" 16rFFFF " invalid "
+ "16r0588" 16rFFFF " invalid "
+ "16r0589" 16rFFFF " invalid "
+ "16r058A" 16rFFFF " invalid "
+ "16r058B" 16rFFFF " invalid "
+ "16r058C" 16rFFFF " invalid "
+ "16r058D" 16rFFFF " invalid "
+ "16r058E" 16rFFFF " invalid "
+ "16r058F" 16rFFFF " invalid "
+ "16r0590" 16rFFFF " invalid "
+ "16r0591" 16rFFFF " invalid "
+ "16r0592" 16rFFFF " invalid "
+ "16r0593" 16rFFFF " invalid "
+ "16r0594" 16rFFFF " invalid "
+ "16r0595" 16rFFFF " invalid "
+ "16r0596" 16rFFFF " invalid "
+ "16r0597" 16rFFFF " invalid "
+ "16r0598" 16rFFFF " invalid "
+ "16r0599" 16rFFFF " invalid "
+ "16r059A" 16rFFFF " invalid "
+ "16r059B" 16rFFFF " invalid "
+ "16r059C" 16rFFFF " invalid "
+ "16r059D" 16rFFFF " invalid "
+ "16r059E" 16rFFFF " invalid "
+ "16r059F" 16rFFFF " invalid "
+ "16r05A0" 16rFFFF " invalid "
+ "16r05A1" 16rFFFF " invalid "
+ "16r05A2" 16rFFFF " invalid "
+ "16r05A3" 16rFFFF " invalid "
+ "16r05A4" 16rFFFF " invalid "
+ "16r05A5" 16rFFFF " invalid "
+ "16r05A6" 16rFFFF " invalid "
+ "16r05A7" 16rFFFF " invalid "
+ "16r05A8" 16rFFFF " invalid "
+ "16r05A9" 16rFFFF " invalid "
+ "16r05AA" 16rFFFF " invalid "
+ "16r05AB" 16rFFFF " invalid "
+ "16r05AC" 16rFFFF " invalid "
+ "16r05AD" 16rFFFF " invalid "
+ "16r05AE" 16rFFFF " invalid "
+ "16r05AF" 16rFFFF " invalid "
+ "16r05B0" 16rFFFF " invalid "
+ "16r05B1" 16rFFFF " invalid "
+ "16r05B2" 16rFFFF " invalid "
+ "16r05B3" 16rFFFF " invalid "
+ "16r05B4" 16rFFFF " invalid "
+ "16r05B5" 16rFFFF " invalid "
+ "16r05B6" 16rFFFF " invalid "
+ "16r05B7" 16rFFFF " invalid "
+ "16r05B8" 16rFFFF " invalid "
+ "16r05B9" 16rFFFF " invalid "
+ "16r05BA" 16rFFFF " invalid "
+ "16r05BB" 16rFFFF " invalid "
+ "16r05BC" 16rFFFF " invalid "
+ "16r05BD" 16rFFFF " invalid "
+ "16r05BE" 16rFFFF " invalid "
+ "16r05BF" 16rFFFF " invalid "
+ "16r05C0" 16rFFFF " invalid "
+ "16r05C1" 16rFFFF " invalid "
+ "16r05C2" 16rFFFF " invalid "
+ "16r05C3" 16rFFFF " invalid "
+ "16r05C4" 16rFFFF " invalid "
+ "16r05C5" 16rFFFF " invalid "
+ "16r05C6" 16rFFFF " invalid "
+ "16r05C7" 16rFFFF " invalid "
+ "16r05C8" 16rFFFF " invalid "
+ "16r05C9" 16rFFFF " invalid "
+ "16r05CA" 16rFFFF " invalid "
+ "16r05CB" 16rFFFF " invalid "
+ "16r05CC" 16rFFFF " invalid "
+ "16r05CD" 16rFFFF " invalid "
+ "16r05CE" 16rFFFF " invalid "
+ "16r05CF" 16rFFFF " invalid "
+ "16r05D0" 16rFFFF " invalid "
+ "16r05D1" 16rFFFF " invalid "
+ "16r05D2" 16rFFFF " invalid "
+ "16r05D3" 16rFFFF " invalid "
+ "16r05D4" 16rFFFF " invalid "
+ "16r05D5" 16rFFFF " invalid "
+ "16r05D6" 16rFFFF " invalid "
+ "16r05D7" 16rFFFF " invalid "
+ "16r05D8" 16rFFFF " invalid "
+ "16r05D9" 16rFFFF " invalid "
+ "16r05DA" 16rFFFF " invalid "
+ "16r05DB" 16rFFFF " invalid "
+ "16r05DC" 16rFFFF " invalid "
+ "16r05DD" 16rFFFF " invalid "
+ "16r05DE" 16rFFFF " invalid "
+ "16r05DF" 16rFFFF " invalid "
+ "16r05E0" 16rFFFF " invalid "
+ "16r05E1" 16rFFFF " invalid "
+ "16r05E2" 16rFFFF " invalid "
+ "16r05E3" 16rFFFF " invalid "
+ "16r05E4" 16rFFFF " invalid "
+ "16r05E5" 16rFFFF " invalid "
+ "16r05E6" 16rFFFF " invalid "
+ "16r05E7" 16rFFFF " invalid "
+ "16r05E8" 16rFFFF " invalid "
+ "16r05E9" 16rFFFF " invalid "
+ "16r05EA" 16rFFFF " invalid "
+ "16r05EB" 16rFFFF " invalid "
+ "16r05EC" 16rFFFF " invalid "
+ "16r05ED" 16rFFFF " invalid "
+ "16r05EE" 16rFFFF " invalid "
+ "16r05EF" 16rFFFF " invalid "
+ "16r05F0" 16rFFFF " invalid "
+ "16r05F1" 16rFFFF " invalid "
+ "16r05F2" 16rFFFF " invalid "
+ "16r05F3" 16rFFFF " invalid "
+ "16r05F4" 16rFFFF " invalid "
+ "16r05F5" 16rFFFF " invalid "
+ "16r05F6" 16rFFFF " invalid "
+ "16r05F7" 16rFFFF " invalid "
+ "16r05F8" 16rFFFF " invalid "
+ "16r05F9" 16rFFFF " invalid "
+ "16r05FA" 16rFFFF " invalid "
+ "16r05FB" 16rFFFF " invalid "
+ "16r05FC" 16rFFFF " invalid "
+ "16r05FD" 16rFFFF " invalid "
+ "16r05FE" 16rFFFF " invalid "
+ "16r05FF" 16rFFFF " invalid "
+ "16r0600" 16rFFFF " invalid "
+ "16r0601" 16rFFFF " invalid "
+ "16r0602" 16rFFFF " invalid "
+ "16r0603" 16rFFFF " invalid "
+ "16r0604" 16rFFFF " invalid "
+ "16r0605" 16rFFFF " invalid "
+ "16r0606" 16rFFFF " invalid "
+ "16r0607" 16rFFFF " invalid "
+ "16r0608" 16rFFFF " invalid "
+ "16r0609" 16rFFFF " invalid "
+ "16r060A" 16rFFFF " invalid "
+ "16r060B" 16rFFFF " invalid "
+ "16r060C" 16rFFFF " invalid "
+ "16r060D" 16rFFFF " invalid "
+ "16r060E" 16rFFFF " invalid "
+ "16r060F" 16rFFFF " invalid "
+ "16r0610" 16rFFFF " invalid "
+ "16r0611" 16rFFFF " invalid "
+ "16r0612" 16rFFFF " invalid "
+ "16r0613" 16rFFFF " invalid "
+ "16r0614" 16rFFFF " invalid "
+ "16r0615" 16rFFFF " invalid "
+ "16r0616" 16rFFFF " invalid "
+ "16r0617" 16rFFFF " invalid "
+ "16r0618" 16rFFFF " invalid "
+ "16r0619" 16rFFFF " invalid "
+ "16r061A" 16rFFFF " invalid "
+ "16r061B" 16rFFFF " invalid "
+ "16r061C" 16rFFFF " invalid "
+ "16r061D" 16rFFFF " invalid "
+ "16r061E" 16rFFFF " invalid "
+ "16r061F" 16rFFFF " invalid "
+ "16r0620" 16rFFFF " invalid "
+ "16r0621" 16rFFFF " invalid "
+ "16r0622" 16rFFFF " invalid "
+ "16r0623" 16rFFFF " invalid "
+ "16r0624" 16rFFFF " invalid "
+ "16r0625" 16rFFFF " invalid "
+ "16r0626" 16rFFFF " invalid "
+ "16r0627" 16rFFFF " invalid "
+ "16r0628" 16rFFFF " invalid "
+ "16r0629" 16rFFFF " invalid "
+ "16r062A" 16rFFFF " invalid "
+ "16r062B" 16rFFFF " invalid "
+ "16r062C" 16rFFFF " invalid "
+ "16r062D" 16rFFFF " invalid "
+ "16r062E" 16rFFFF " invalid "
+ "16r062F" 16rFFFF " invalid "
+ "16r0630" 16rFFFF " invalid "
+ "16r0631" 16rFFFF " invalid "
+ "16r0632" 16rFFFF " invalid "
+ "16r0633" 16rFFFF " invalid "
+ "16r0634" 16rFFFF " invalid "
+ "16r0635" 16rFFFF " invalid "
+ "16r0636" 16rFFFF " invalid "
+ "16r0637" 16rFFFF " invalid "
+ "16r0638" 16rFFFF " invalid "
+ "16r0639" 16rFFFF " invalid "
+ "16r063A" 16rFFFF " invalid "
+ "16r063B" 16rFFFF " invalid "
+ "16r063C" 16rFFFF " invalid "
+ "16r063D" 16rFFFF " invalid "
+ "16r063E" 16rFFFF " invalid "
+ "16r063F" 16rFFFF " invalid "
+ "16r0640" 16rFFFF " invalid "
+ "16r0641" 16rFFFF " invalid "
+ "16r0642" 16rFFFF " invalid "
+ "16r0643" 16rFFFF " invalid "
+ "16r0644" 16rFFFF " invalid "
+ "16r0645" 16rFFFF " invalid "
+ "16r0646" 16rFFFF " invalid "
+ "16r0647" 16rFFFF " invalid "
+ "16r0648" 16rFFFF " invalid "
+ "16r0649" 16rFFFF " invalid "
+ "16r064A" 16rFFFF " invalid "
+ "16r064B" 16rFFFF " invalid "
+ "16r064C" 16rFFFF " invalid "
+ "16r064D" 16rFFFF " invalid "
+ "16r064E" 16rFFFF " invalid "
+ "16r064F" 16rFFFF " invalid "
+ "16r0650" 16rFFFF " invalid "
+ "16r0651" 16rFFFF " invalid "
+ "16r0652" 16rFFFF " invalid "
+ "16r0653" 16rFFFF " invalid "
+ "16r0654" 16rFFFF " invalid "
+ "16r0655" 16rFFFF " invalid "
+ "16r0656" 16rFFFF " invalid "
+ "16r0657" 16rFFFF " invalid "
+ "16r0658" 16rFFFF " invalid "
+ "16r0659" 16rFFFF " invalid "
+ "16r065A" 16rFFFF " invalid "
+ "16r065B" 16rFFFF " invalid "
+ "16r065C" 16rFFFF " invalid "
+ "16r065D" 16rFFFF " invalid "
+ "16r065E" 16rFFFF " invalid "
+ "16r065F" 16rFFFF " invalid "
+ "16r0660" 16rFFFF " invalid "
+ "16r0661" 16rFFFF " invalid "
+ "16r0662" 16rFFFF " invalid "
+ "16r0663" 16rFFFF " invalid "
+ "16r0664" 16rFFFF " invalid "
+ "16r0665" 16rFFFF " invalid "
+ "16r0666" 16rFFFF " invalid "
+ "16r0667" 16rFFFF " invalid "
+ "16r0668" 16rFFFF " invalid "
+ "16r0669" 16rFFFF " invalid "
+ "16r066A" 16rFFFF " invalid "
+ "16r066B" 16rFFFF " invalid "
+ "16r066C" 16rFFFF " invalid "
+ "16r066D" 16rFFFF " invalid "
+ "16r066E" 16rFFFF " invalid "
+ "16r066F" 16rFFFF " invalid "
+ "16r0670" 16rFFFF " invalid "
+ "16r0671" 16rFFFF " invalid "
+ "16r0672" 16rFFFF " invalid "
+ "16r0673" 16rFFFF " invalid "
+ "16r0674" 16rFFFF " invalid "
+ "16r0675" 16rFFFF " invalid "
+ "16r0676" 16rFFFF " invalid "
+ "16r0677" 16rFFFF " invalid "
+ "16r0678" 16rFFFF " invalid "
+ "16r0679" 16rFFFF " invalid "
+ "16r067A" 16rFFFF " invalid "
+ "16r067B" 16rFFFF " invalid "
+ "16r067C" 16rFFFF " invalid "
+ "16r067D" 16rFFFF " invalid "
+ "16r067E" 16rFFFF " invalid "
+ "16r067F" 16rFFFF " invalid "
+ "16r0680" 16rFFFF " invalid "
+ "16r0681" 16rFFFF " invalid "
+ "16r0682" 16rFFFF " invalid "
+ "16r0683" 16rFFFF " invalid "
+ "16r0684" 16rFFFF " invalid "
+ "16r0685" 16rFFFF " invalid "
+ "16r0686" 16rFFFF " invalid "
+ "16r0687" 16rFFFF " invalid "
+ "16r0688" 16rFFFF " invalid "
+ "16r0689" 16rFFFF " invalid "
+ "16r068A" 16rFFFF " invalid "
+ "16r068B" 16rFFFF " invalid "
+ "16r068C" 16rFFFF " invalid "
+ "16r068D" 16rFFFF " invalid "
+ "16r068E" 16rFFFF " invalid "
+ "16r068F" 16rFFFF " invalid "
+ "16r0690" 16rFFFF " invalid "
+ "16r0691" 16rFFFF " invalid "
+ "16r0692" 16rFFFF " invalid "
+ "16r0693" 16rFFFF " invalid "
+ "16r0694" 16rFFFF " invalid "
+ "16r0695" 16rFFFF " invalid "
+ "16r0696" 16rFFFF " invalid "
+ "16r0697" 16rFFFF " invalid "
+ "16r0698" 16rFFFF " invalid "
+ "16r0699" 16rFFFF " invalid "
+ "16r069A" 16rFFFF " invalid "
+ "16r069B" 16rFFFF " invalid "
+ "16r069C" 16rFFFF " invalid "
+ "16r069D" 16rFFFF " invalid "
+ "16r069E" 16rFFFF " invalid "
+ "16r069F" 16rFFFF " invalid "
+ "16r06A0" 16rFFFF " invalid "
+ "16r06A1" 16rFFFF " invalid "
+ "16r06A2" 16rFFFF " invalid "
+ "16r06A3" 16rFFFF " invalid "
+ "16r06A4" 16rFFFF " invalid "
+ "16r06A5" 16rFFFF " invalid "
+ "16r06A6" 16rFFFF " invalid "
+ "16r06A7" 16rFFFF " invalid "
+ "16r06A8" 16rFFFF " invalid "
+ "16r06A9" 16rFFFF " invalid "
+ "16r06AA" 16rFFFF " invalid "
+ "16r06AB" 16rFFFF " invalid "
+ "16r06AC" 16rFFFF " invalid "
+ "16r06AD" 16rFFFF " invalid "
+ "16r06AE" 16rFFFF " invalid "
+ "16r06AF" 16rFFFF " invalid "
+ "16r06B0" 16rFFFF " invalid "
+ "16r06B1" 16rFFFF " invalid "
+ "16r06B2" 16rFFFF " invalid "
+ "16r06B3" 16rFFFF " invalid "
+ "16r06B4" 16rFFFF " invalid "
+ "16r06B5" 16rFFFF " invalid "
+ "16r06B6" 16rFFFF " invalid "
+ "16r06B7" 16rFFFF " invalid "
+ "16r06B8" 16rFFFF " invalid "
+ "16r06B9" 16rFFFF " invalid "
+ "16r06BA" 16rFFFF " invalid "
+ "16r06BB" 16rFFFF " invalid "
+ "16r06BC" 16rFFFF " invalid "
+ "16r06BD" 16rFFFF " invalid "
+ "16r06BE" 16rFFFF " invalid "
+ "16r06BF" 16rFFFF " invalid "
+ "16r06C0" 16rFFFF " invalid "
+ "16r06C1" 16rFFFF " invalid "
+ "16r06C2" 16rFFFF " invalid "
+ "16r06C3" 16rFFFF " invalid "
+ "16r06C4" 16rFFFF " invalid "
+ "16r06C5" 16rFFFF " invalid "
+ "16r06C6" 16rFFFF " invalid "
+ "16r06C7" 16rFFFF " invalid "
+ "16r06C8" 16rFFFF " invalid "
+ "16r06C9" 16rFFFF " invalid "
+ "16r06CA" 16rFFFF " invalid "
+ "16r06CB" 16rFFFF " invalid "
+ "16r06CC" 16rFFFF " invalid "
+ "16r06CD" 16rFFFF " invalid "
+ "16r06CE" 16rFFFF " invalid "
+ "16r06CF" 16rFFFF " invalid "
+ "16r06D0" 16rFFFF " invalid "
+ "16r06D1" 16rFFFF " invalid "
+ "16r06D2" 16rFFFF " invalid "
+ "16r06D3" 16rFFFF " invalid "
+ "16r06D4" 16rFFFF " invalid "
+ "16r06D5" 16rFFFF " invalid "
+ "16r06D6" 16rFFFF " invalid "
+ "16r06D7" 16rFFFF " invalid "
+ "16r06D8" 16rFFFF " invalid "
+ "16r06D9" 16rFFFF " invalid "
+ "16r06DA" 16rFFFF " invalid "
+ "16r06DB" 16rFFFF " invalid "
+ "16r06DC" 16rFFFF " invalid "
+ "16r06DD" 16rFFFF " invalid "
+ "16r06DE" 16rFFFF " invalid "
+ "16r06DF" 16rFFFF " invalid "
+ "16r06E0" 16rFFFF " invalid "
+ "16r06E1" 16rFFFF " invalid "
+ "16r06E2" 16rFFFF " invalid "
+ "16r06E3" 16rFFFF " invalid "
+ "16r06E4" 16rFFFF " invalid "
+ "16r06E5" 16rFFFF " invalid "
+ "16r06E6" 16rFFFF " invalid "
+ "16r06E7" 16rFFFF " invalid "
+ "16r06E8" 16rFFFF " invalid "
+ "16r06E9" 16rFFFF " invalid "
+ "16r06EA" 16rFFFF " invalid "
+ "16r06EB" 16rFFFF " invalid "
+ "16r06EC" 16rFFFF " invalid "
+ "16r06ED" 16rFFFF " invalid "
+ "16r06EE" 16rFFFF " invalid "
+ "16r06EF" 16rFFFF " invalid "
+ "16r06F0" 16rFFFF " invalid "
+ "16r06F1" 16rFFFF " invalid "
+ "16r06F2" 16rFFFF " invalid "
+ "16r06F3" 16rFFFF " invalid "
+ "16r06F4" 16rFFFF " invalid "
+ "16r06F5" 16rFFFF " invalid "
+ "16r06F6" 16rFFFF " invalid "
+ "16r06F7" 16rFFFF " invalid "
+ "16r06F8" 16rFFFF " invalid "
+ "16r06F9" 16rFFFF " invalid "
+ "16r06FA" 16rFFFF " invalid "
+ "16r06FB" 16rFFFF " invalid "
+ "16r06FC" 16rFFFF " invalid "
+ "16r06FD" 16rFFFF " invalid "
+ "16r06FE" 16rFFFF " invalid "
+ "16r06FF" 16rFFFF " invalid "
+ "16r0700" 16rFFFF " invalid "
+ "16r0701" 16rFFFF " invalid "
+ "16r0702" 16rFFFF " invalid "
+ "16r0703" 16rFFFF " invalid "
+ "16r0704" 16rFFFF " invalid "
+ "16r0705" 16rFFFF " invalid "
+ "16r0706" 16rFFFF " invalid "
+ "16r0707" 16rFFFF " invalid "
+ "16r0708" 16rFFFF " invalid "
+ "16r0709" 16rFFFF " invalid "
+ "16r070A" 16rFFFF " invalid "
+ "16r070B" 16rFFFF " invalid "
+ "16r070C" 16rFFFF " invalid "
+ "16r070D" 16rFFFF " invalid "
+ "16r070E" 16rFFFF " invalid "
+ "16r070F" 16rFFFF " invalid "
+ "16r0710" 16rFFFF " invalid "
+ "16r0711" 16rFFFF " invalid "
+ "16r0712" 16rFFFF " invalid "
+ "16r0713" 16rFFFF " invalid "
+ "16r0714" 16rFFFF " invalid "
+ "16r0715" 16rFFFF " invalid "
+ "16r0716" 16rFFFF " invalid "
+ "16r0717" 16rFFFF " invalid "
+ "16r0718" 16rFFFF " invalid "
+ "16r0719" 16rFFFF " invalid "
+ "16r071A" 16rFFFF " invalid "
+ "16r071B" 16rFFFF " invalid "
+ "16r071C" 16rFFFF " invalid "
+ "16r071D" 16rFFFF " invalid "
+ "16r071E" 16rFFFF " invalid "
+ "16r071F" 16rFFFF " invalid "
+ "16r0720" 16rFFFF " invalid "
+ "16r0721" 16rFFFF " invalid "
+ "16r0722" 16rFFFF " invalid "
+ "16r0723" 16rFFFF " invalid "
+ "16r0724" 16rFFFF " invalid "
+ "16r0725" 16rFFFF " invalid "
+ "16r0726" 16rFFFF " invalid "
+ "16r0727" 16rFFFF " invalid "
+ "16r0728" 16rFFFF " invalid "
+ "16r0729" 16rFFFF " invalid "
+ "16r072A" 16rFFFF " invalid "
+ "16r072B" 16rFFFF " invalid "
+ "16r072C" 16rFFFF " invalid "
+ "16r072D" 16rFFFF " invalid "
+ "16r072E" 16rFFFF " invalid "
+ "16r072F" 16rFFFF " invalid "
+ "16r0730" 16rFFFF " invalid "
+ "16r0731" 16rFFFF " invalid "
+ "16r0732" 16rFFFF " invalid "
+ "16r0733" 16rFFFF " invalid "
+ "16r0734" 16rFFFF " invalid "
+ "16r0735" 16rFFFF " invalid "
+ "16r0736" 16rFFFF " invalid "
+ "16r0737" 16rFFFF " invalid "
+ "16r0738" 16rFFFF " invalid "
+ "16r0739" 16rFFFF " invalid "
+ "16r073A" 16rFFFF " invalid "
+ "16r073B" 16rFFFF " invalid "
+ "16r073C" 16rFFFF " invalid "
+ "16r073D" 16rFFFF " invalid "
+ "16r073E" 16rFFFF " invalid "
+ "16r073F" 16rFFFF " invalid "
+ "16r0740" 16rFFFF " invalid "
+ "16r0741" 16rFFFF " invalid "
+ "16r0742" 16rFFFF " invalid "
+ "16r0743" 16rFFFF " invalid "
+ "16r0744" 16rFFFF " invalid "
+ "16r0745" 16rFFFF " invalid "
+ "16r0746" 16rFFFF " invalid "
+ "16r0747" 16rFFFF " invalid "
+ "16r0748" 16rFFFF " invalid "
+ "16r0749" 16rFFFF " invalid "
+ "16r074A" 16rFFFF " invalid "
+ "16r074B" 16rFFFF " invalid "
+ "16r074C" 16rFFFF " invalid "
+ "16r074D" 16rFFFF " invalid "
+ "16r074E" 16rFFFF " invalid "
+ "16r074F" 16rFFFF " invalid "
+ "16r0750" 16rFFFF " invalid "
+ "16r0751" 16rFFFF " invalid "
+ "16r0752" 16rFFFF " invalid "
+ "16r0753" 16rFFFF " invalid "
+ "16r0754" 16rFFFF " invalid "
+ "16r0755" 16rFFFF " invalid "
+ "16r0756" 16rFFFF " invalid "
+ "16r0757" 16rFFFF " invalid "
+ "16r0758" 16rFFFF " invalid "
+ "16r0759" 16rFFFF " invalid "
+ "16r075A" 16rFFFF " invalid "
+ "16r075B" 16rFFFF " invalid "
+ "16r075C" 16rFFFF " invalid "
+ "16r075D" 16rFFFF " invalid "
+ "16r075E" 16rFFFF " invalid "
+ "16r075F" 16rFFFF " invalid "
+ "16r0760" 16rFFFF " invalid "
+ "16r0761" 16rFFFF " invalid "
+ "16r0762" 16rFFFF " invalid "
+ "16r0763" 16rFFFF " invalid "
+ "16r0764" 16rFFFF " invalid "
+ "16r0765" 16rFFFF " invalid "
+ "16r0766" 16rFFFF " invalid "
+ "16r0767" 16rFFFF " invalid "
+ "16r0768" 16rFFFF " invalid "
+ "16r0769" 16rFFFF " invalid "
+ "16r076A" 16rFFFF " invalid "
+ "16r076B" 16rFFFF " invalid "
+ "16r076C" 16rFFFF " invalid "
+ "16r076D" 16rFFFF " invalid "
+ "16r076E" 16rFFFF " invalid "
+ "16r076F" 16rFFFF " invalid "
+ "16r0770" 16rFFFF " invalid "
+ "16r0771" 16rFFFF " invalid "
+ "16r0772" 16rFFFF " invalid "
+ "16r0773" 16rFFFF " invalid "
+ "16r0774" 16rFFFF " invalid "
+ "16r0775" 16rFFFF " invalid "
+ "16r0776" 16rFFFF " invalid "
+ "16r0777" 16rFFFF " invalid "
+ "16r0778" 16rFFFF " invalid "
+ "16r0779" 16rFFFF " invalid "
+ "16r077A" 16rFFFF " invalid "
+ "16r077B" 16rFFFF " invalid "
+ "16r077C" 16rFFFF " invalid "
+ "16r077D" 16rFFFF " invalid "
+ "16r077E" 16rFFFF " invalid "
+ "16r077F" 16rFFFF " invalid "
+ "16r0780" 16rFFFF " invalid "
+ "16r0781" 16rFFFF " invalid "
+ "16r0782" 16rFFFF " invalid "
+ "16r0783" 16rFFFF " invalid "
+ "16r0784" 16rFFFF " invalid "
+ "16r0785" 16rFFFF " invalid "
+ "16r0786" 16rFFFF " invalid "
+ "16r0787" 16rFFFF " invalid "
+ "16r0788" 16rFFFF " invalid "
+ "16r0789" 16rFFFF " invalid "
+ "16r078A" 16rFFFF " invalid "
+ "16r078B" 16rFFFF " invalid "
+ "16r078C" 16rFFFF " invalid "
+ "16r078D" 16rFFFF " invalid "
+ "16r078E" 16rFFFF " invalid "
+ "16r078F" 16rFFFF " invalid "
+ "16r0790" 16rFFFF " invalid "
+ "16r0791" 16rFFFF " invalid "
+ "16r0792" 16rFFFF " invalid "
+ "16r0793" 16rFFFF " invalid "
+ "16r0794" 16rFFFF " invalid "
+ "16r0795" 16rFFFF " invalid "
+ "16r0796" 16rFFFF " invalid "
+ "16r0797" 16rFFFF " invalid "
+ "16r0798" 16rFFFF " invalid "
+ "16r0799" 16rFFFF " invalid "
+ "16r079A" 16rFFFF " invalid "
+ "16r079B" 16rFFFF " invalid "
+ "16r079C" 16rFFFF " invalid "
+ "16r079D" 16rFFFF " invalid "
+ "16r079E" 16rFFFF " invalid "
+ "16r079F" 16rFFFF " invalid "
+ "16r07A0" 16rFFFF " invalid "
+ "16r07A1" 16rFFFF " invalid "
+ "16r07A2" 16rFFFF " invalid "
+ "16r07A3" 16rFFFF " invalid "
+ "16r07A4" 16rFFFF " invalid "
+ "16r07A5" 16rFFFF " invalid "
+ "16r07A6" 16rFFFF " invalid "
+ "16r07A7" 16rFFFF " invalid "
+ "16r07A8" 16rFFFF " invalid "
+ "16r07A9" 16rFFFF " invalid "
+ "16r07AA" 16rFFFF " invalid "
+ "16r07AB" 16rFFFF " invalid "
+ "16r07AC" 16rFFFF " invalid "
+ "16r07AD" 16rFFFF " invalid "
+ "16r07AE" 16rFFFF " invalid "
+ "16r07AF" 16rFFFF " invalid "
+ "16r07B0" 16rFFFF " invalid "
+ "16r07B1" 16rFFFF " invalid "
+ "16r07B2" 16rFFFF " invalid "
+ "16r07B3" 16rFFFF " invalid "
+ "16r07B4" 16rFFFF " invalid "
+ "16r07B5" 16rFFFF " invalid "
+ "16r07B6" 16rFFFF " invalid "
+ "16r07B7" 16rFFFF " invalid "
+ "16r07B8" 16rFFFF " invalid "
+ "16r07B9" 16rFFFF " invalid "
+ "16r07BA" 16rFFFF " invalid "
+ "16r07BB" 16rFFFF " invalid "
+ "16r07BC" 16rFFFF " invalid "
+ "16r07BD" 16rFFFF " invalid "
+ "16r07BE" 16rFFFF " invalid "
+ "16r07BF" 16rFFFF " invalid "
+ "16r07C0" 16rFFFF " invalid "
+ "16r07C1" 16rFFFF " invalid "
+ "16r07C2" 16rFFFF " invalid "
+ "16r07C3" 16rFFFF " invalid "
+ "16r07C4" 16rFFFF " invalid "
+ "16r07C5" 16rFFFF " invalid "
+ "16r07C6" 16rFFFF " invalid "
+ "16r07C7" 16rFFFF " invalid "
+ "16r07C8" 16rFFFF " invalid "
+ "16r07C9" 16rFFFF " invalid "
+ "16r07CA" 16rFFFF " invalid "
+ "16r07CB" 16rFFFF " invalid "
+ "16r07CC" 16rFFFF " invalid "
+ "16r07CD" 16rFFFF " invalid "
+ "16r07CE" 16rFFFF " invalid "
+ "16r07CF" 16rFFFF " invalid "
+ "16r07D0" 16rFFFF " invalid "
+ "16r07D1" 16rFFFF " invalid "
+ "16r07D2" 16rFFFF " invalid "
+ "16r07D3" 16rFFFF " invalid "
+ "16r07D4" 16rFFFF " invalid "
+ "16r07D5" 16rFFFF " invalid "
+ "16r07D6" 16rFFFF " invalid "
+ "16r07D7" 16rFFFF " invalid "
+ "16r07D8" 16rFFFF " invalid "
+ "16r07D9" 16rFFFF " invalid "
+ "16r07DA" 16rFFFF " invalid "
+ "16r07DB" 16rFFFF " invalid "
+ "16r07DC" 16rFFFF " invalid "
+ "16r07DD" 16rFFFF " invalid "
+ "16r07DE" 16rFFFF " invalid "
+ "16r07DF" 16rFFFF " invalid "
+ "16r07E0" 16rFFFF " invalid "
+ "16r07E1" 16rFFFF " invalid "
+ "16r07E2" 16rFFFF " invalid "
+ "16r07E3" 16rFFFF " invalid "
+ "16r07E4" 16rFFFF " invalid "
+ "16r07E5" 16rFFFF " invalid "
+ "16r07E6" 16rFFFF " invalid "
+ "16r07E7" 16rFFFF " invalid "
+ "16r07E8" 16rFFFF " invalid "
+ "16r07E9" 16rFFFF " invalid "
+ "16r07EA" 16rFFFF " invalid "
+ "16r07EB" 16rFFFF " invalid "
+ "16r07EC" 16rFFFF " invalid "
+ "16r07ED" 16rFFFF " invalid "
+ "16r07EE" 16rFFFF " invalid "
+ "16r07EF" 16rFFFF " invalid "
+ "16r07F0" 16rFFFF " invalid "
+ "16r07F1" 16rFFFF " invalid "
+ "16r07F2" 16rFFFF " invalid "
+ "16r07F3" 16rFFFF " invalid "
+ "16r07F4" 16rFFFF " invalid "
+ "16r07F5" 16rFFFF " invalid "
+ "16r07F6" 16rFFFF " invalid "
+ "16r07F7" 16rFFFF " invalid "
+ "16r07F8" 16rFFFF " invalid "
+ "16r07F9" 16rFFFF " invalid "
+ "16r07FA" 16rFFFF " invalid "
+ "16r07FB" 16rFFFF " invalid "
+ "16r07FC" 16rFFFF " invalid "
+ "16r07FD" 16rFFFF " invalid "
+ "16r07FE" 16rFFFF " invalid "
+ "16r07FF" 16rFFFF " invalid "
+ "16r0800" 16rFFFF " invalid "
+ "16r0801" 16rFFFF " invalid "
+ "16r0802" 16rFFFF " invalid "
+ "16r0803" 16rFFFF " invalid "
+ "16r0804" 16rFFFF " invalid "
+ "16r0805" 16rFFFF " invalid "
+ "16r0806" 16rFFFF " invalid "
+ "16r0807" 16rFFFF " invalid "
+ "16r0808" 16rFFFF " invalid "
+ "16r0809" 16rFFFF " invalid "
+ "16r080A" 16rFFFF " invalid "
+ "16r080B" 16rFFFF " invalid "
+ "16r080C" 16rFFFF " invalid "
+ "16r080D" 16rFFFF " invalid "
+ "16r080E" 16rFFFF " invalid "
+ "16r080F" 16rFFFF " invalid "
+ "16r0810" 16rFFFF " invalid "
+ "16r0811" 16rFFFF " invalid "
+ "16r0812" 16rFFFF " invalid "
+ "16r0813" 16rFFFF " invalid "
+ "16r0814" 16rFFFF " invalid "
+ "16r0815" 16rFFFF " invalid "
+ "16r0816" 16rFFFF " invalid "
+ "16r0817" 16rFFFF " invalid "
+ "16r0818" 16rFFFF " invalid "
+ "16r0819" 16rFFFF " invalid "
+ "16r081A" 16rFFFF " invalid "
+ "16r081B" 16rFFFF " invalid "
+ "16r081C" 16rFFFF " invalid "
+ "16r081D" 16rFFFF " invalid "
+ "16r081E" 16rFFFF " invalid "
+ "16r081F" 16rFFFF " invalid "
+ "16r0820" 16rFFFF " invalid "
+ "16r0821" 16rFFFF " invalid "
+ "16r0822" 16rFFFF " invalid "
+ "16r0823" 16rFFFF " invalid "
+ "16r0824" 16rFFFF " invalid "
+ "16r0825" 16rFFFF " invalid "
+ "16r0826" 16rFFFF " invalid "
+ "16r0827" 16rFFFF " invalid "
+ "16r0828" 16rFFFF " invalid "
+ "16r0829" 16rFFFF " invalid "
+ "16r082A" 16rFFFF " invalid "
+ "16r082B" 16rFFFF " invalid "
+ "16r082C" 16rFFFF " invalid "
+ "16r082D" 16rFFFF " invalid "
+ "16r082E" 16rFFFF " invalid "
+ "16r082F" 16rFFFF " invalid "
+ "16r0830" 16rFFFF " invalid "
+ "16r0831" 16rFFFF " invalid "
+ "16r0832" 16rFFFF " invalid "
+ "16r0833" 16rFFFF " invalid "
+ "16r0834" 16rFFFF " invalid "
+ "16r0835" 16rFFFF " invalid "
+ "16r0836" 16rFFFF " invalid "
+ "16r0837" 16rFFFF " invalid "
+ "16r0838" 16rFFFF " invalid "
+ "16r0839" 16rFFFF " invalid "
+ "16r083A" 16rFFFF " invalid "
+ "16r083B" 16rFFFF " invalid "
+ "16r083C" 16rFFFF " invalid "
+ "16r083D" 16rFFFF " invalid "
+ "16r083E" 16rFFFF " invalid "
+ "16r083F" 16rFFFF " invalid "
+ "16r0840" 16rFFFF " invalid "
+ "16r0841" 16rFFFF " invalid "
+ "16r0842" 16rFFFF " invalid "
+ "16r0843" 16rFFFF " invalid "
+ "16r0844" 16rFFFF " invalid "
+ "16r0845" 16rFFFF " invalid "
+ "16r0846" 16rFFFF " invalid "
+ "16r0847" 16rFFFF " invalid "
+ "16r0848" 16rFFFF " invalid "
+ "16r0849" 16rFFFF " invalid "
+ "16r084A" 16rFFFF " invalid "
+ "16r084B" 16rFFFF " invalid "
+ "16r084C" 16rFFFF " invalid "
+ "16r084D" 16rFFFF " invalid "
+ "16r084E" 16rFFFF " invalid "
+ "16r084F" 16rFFFF " invalid "
+ "16r0850" 16rFFFF " invalid "
+ "16r0851" 16rFFFF " invalid "
+ "16r0852" 16rFFFF " invalid "
+ "16r0853" 16rFFFF " invalid "
+ "16r0854" 16rFFFF " invalid "
+ "16r0855" 16rFFFF " invalid "
+ "16r0856" 16rFFFF " invalid "
+ "16r0857" 16rFFFF " invalid "
+ "16r0858" 16rFFFF " invalid "
+ "16r0859" 16rFFFF " invalid "
+ "16r085A" 16rFFFF " invalid "
+ "16r085B" 16rFFFF " invalid "
+ "16r085C" 16rFFFF " invalid "
+ "16r085D" 16rFFFF " invalid "
+ "16r085E" 16rFFFF " invalid "
+ "16r085F" 16rFFFF " invalid "
+ "16r0860" 16rFFFF " invalid "
+ "16r0861" 16rFFFF " invalid "
+ "16r0862" 16rFFFF " invalid "
+ "16r0863" 16rFFFF " invalid "
+ "16r0864" 16rFFFF " invalid "
+ "16r0865" 16rFFFF " invalid "
+ "16r0866" 16rFFFF " invalid "
+ "16r0867" 16rFFFF " invalid "
+ "16r0868" 16rFFFF " invalid "
+ "16r0869" 16rFFFF " invalid "
+ "16r086A" 16rFFFF " invalid "
+ "16r086B" 16rFFFF " invalid "
+ "16r086C" 16rFFFF " invalid "
+ "16r086D" 16rFFFF " invalid "
+ "16r086E" 16rFFFF " invalid "
+ "16r086F" 16rFFFF " invalid "
+ "16r0870" 16rFFFF " invalid "
+ "16r0871" 16rFFFF " invalid "
+ "16r0872" 16rFFFF " invalid "
+ "16r0873" 16rFFFF " invalid "
+ "16r0874" 16rFFFF " invalid "
+ "16r0875" 16rFFFF " invalid "
+ "16r0876" 16rFFFF " invalid "
+ "16r0877" 16rFFFF " invalid "
+ "16r0878" 16rFFFF " invalid "
+ "16r0879" 16rFFFF " invalid "
+ "16r087A" 16rFFFF " invalid "
+ "16r087B" 16rFFFF " invalid "
+ "16r087C" 16rFFFF " invalid "
+ "16r087D" 16rFFFF " invalid "
+ "16r087E" 16rFFFF " invalid "
+ "16r087F" 16rFFFF " invalid "
+ "16r0880" 16rFFFF " invalid "
+ "16r0881" 16rFFFF " invalid "
+ "16r0882" 16rFFFF " invalid "
+ "16r0883" 16rFFFF " invalid "
+ "16r0884" 16rFFFF " invalid "
+ "16r0885" 16rFFFF " invalid "
+ "16r0886" 16rFFFF " invalid "
+ "16r0887" 16rFFFF " invalid "
+ "16r0888" 16rFFFF " invalid "
+ "16r0889" 16rFFFF " invalid "
+ "16r088A" 16rFFFF " invalid "
+ "16r088B" 16rFFFF " invalid "
+ "16r088C" 16rFFFF " invalid "
+ "16r088D" 16rFFFF " invalid "
+ "16r088E" 16rFFFF " invalid "
+ "16r088F" 16rFFFF " invalid "
+ "16r0890" 16rFFFF " invalid "
+ "16r0891" 16rFFFF " invalid "
+ "16r0892" 16rFFFF " invalid "
+ "16r0893" 16rFFFF " invalid "
+ "16r0894" 16rFFFF " invalid "
+ "16r0895" 16rFFFF " invalid "
+ "16r0896" 16rFFFF " invalid "
+ "16r0897" 16rFFFF " invalid "
+ "16r0898" 16rFFFF " invalid "
+ "16r0899" 16rFFFF " invalid "
+ "16r089A" 16rFFFF " invalid "
+ "16r089B" 16rFFFF " invalid "
+ "16r089C" 16rFFFF " invalid "
+ "16r089D" 16rFFFF " invalid "
+ "16r089E" 16rFFFF " invalid "
+ "16r089F" 16rFFFF " invalid "
+ "16r08A0" 16rFFFF " invalid "
+ "16r08A1" 16rFFFF " invalid "
+ "16r08A2" 16rFFFF " invalid "
+ "16r08A3" 16rFFFF " invalid "
+ "16r08A4" 16rFFFF " invalid "
+ "16r08A5" 16rFFFF " invalid "
+ "16r08A6" 16rFFFF " invalid "
+ "16r08A7" 16rFFFF " invalid "
+ "16r08A8" 16rFFFF " invalid "
+ "16r08A9" 16rFFFF " invalid "
+ "16r08AA" 16rFFFF " invalid "
+ "16r08AB" 16rFFFF " invalid "
+ "16r08AC" 16rFFFF " invalid "
+ "16r08AD" 16rFFFF " invalid "
+ "16r08AE" 16rFFFF " invalid "
+ "16r08AF" 16rFFFF " invalid "
+ "16r08B0" 16rFFFF " invalid "
+ "16r08B1" 16rFFFF " invalid "
+ "16r08B2" 16rFFFF " invalid "
+ "16r08B3" 16rFFFF " invalid "
+ "16r08B4" 16rFFFF " invalid "
+ "16r08B5" 16rFFFF " invalid "
+ "16r08B6" 16rFFFF " invalid "
+ "16r08B7" 16rFFFF " invalid "
+ "16r08B8" 16rFFFF " invalid "
+ "16r08B9" 16rFFFF " invalid "
+ "16r08BA" 16rFFFF " invalid "
+ "16r08BB" 16rFFFF " invalid "
+ "16r08BC" 16rFFFF " invalid "
+ "16r08BD" 16rFFFF " invalid "
+ "16r08BE" 16rFFFF " invalid "
+ "16r08BF" 16rFFFF " invalid "
+ "16r08C0" 16rFFFF " invalid "
+ "16r08C1" 16rFFFF " invalid "
+ "16r08C2" 16rFFFF " invalid "
+ "16r08C3" 16rFFFF " invalid "
+ "16r08C4" 16rFFFF " invalid "
+ "16r08C5" 16rFFFF " invalid "
+ "16r08C6" 16rFFFF " invalid "
+ "16r08C7" 16rFFFF " invalid "
+ "16r08C8" 16rFFFF " invalid "
+ "16r08C9" 16rFFFF " invalid "
+ "16r08CA" 16rFFFF " invalid "
+ "16r08CB" 16rFFFF " invalid "
+ "16r08CC" 16rFFFF " invalid "
+ "16r08CD" 16rFFFF " invalid "
+ "16r08CE" 16rFFFF " invalid "
+ "16r08CF" 16rFFFF " invalid "
+ "16r08D0" 16rFFFF " invalid "
+ "16r08D1" 16rFFFF " invalid "
+ "16r08D2" 16rFFFF " invalid "
+ "16r08D3" 16rFFFF " invalid "
+ "16r08D4" 16rFFFF " invalid "
+ "16r08D5" 16rFFFF " invalid "
+ "16r08D6" 16rFFFF " invalid "
+ "16r08D7" 16rFFFF " invalid "
+ "16r08D8" 16rFFFF " invalid "
+ "16r08D9" 16rFFFF " invalid "
+ "16r08DA" 16rFFFF " invalid "
+ "16r08DB" 16rFFFF " invalid "
+ "16r08DC" 16rFFFF " invalid "
+ "16r08DD" 16rFFFF " invalid "
+ "16r08DE" 16rFFFF " invalid "
+ "16r08DF" 16rFFFF " invalid "
+ "16r08E0" 16rFFFF " invalid "
+ "16r08E1" 16rFFFF " invalid "
+ "16r08E2" 16rFFFF " invalid "
+ "16r08E3" 16rFFFF " invalid "
+ "16r08E4" 16rFFFF " invalid "
+ "16r08E5" 16rFFFF " invalid "
+ "16r08E6" 16rFFFF " invalid "
+ "16r08E7" 16rFFFF " invalid "
+ "16r08E8" 16rFFFF " invalid "
+ "16r08E9" 16rFFFF " invalid "
+ "16r08EA" 16rFFFF " invalid "
+ "16r08EB" 16rFFFF " invalid "
+ "16r08EC" 16rFFFF " invalid "
+ "16r08ED" 16rFFFF " invalid "
+ "16r08EE" 16rFFFF " invalid "
+ "16r08EF" 16rFFFF " invalid "
+ "16r08F0" 16rFFFF " invalid "
+ "16r08F1" 16rFFFF " invalid "
+ "16r08F2" 16rFFFF " invalid "
+ "16r08F3" 16rFFFF " invalid "
+ "16r08F4" 16rFFFF " invalid "
+ "16r08F5" 16rFFFF " invalid "
+ "16r08F6" 16rFFFF " invalid "
+ "16r08F7" 16rFFFF " invalid "
+ "16r08F8" 16rFFFF " invalid "
+ "16r08F9" 16rFFFF " invalid "
+ "16r08FA" 16rFFFF " invalid "
+ "16r08FB" 16rFFFF " invalid "
+ "16r08FC" 16rFFFF " invalid "
+ "16r08FD" 16rFFFF " invalid "
+ "16r08FE" 16rFFFF " invalid "
+ "16r08FF" 16rFFFF " invalid "
+ "16r0900" 16rFFFF " invalid "
+ "16r0901" 16rFFFF " invalid "
+ "16r0902" 16rFFFF " invalid "
+ "16r0903" 16rFFFF " invalid "
+ "16r0904" 16rFFFF " invalid "
+ "16r0905" 16rFFFF " invalid "
+ "16r0906" 16rFFFF " invalid "
+ "16r0907" 16rFFFF " invalid "
+ "16r0908" 16rFFFF " invalid "
+ "16r0909" 16rFFFF " invalid "
+ "16r090A" 16rFFFF " invalid "
+ "16r090B" 16rFFFF " invalid "
+ "16r090C" 16rFFFF " invalid "
+ "16r090D" 16rFFFF " invalid "
+ "16r090E" 16rFFFF " invalid "
+ "16r090F" 16rFFFF " invalid "
+ "16r0910" 16rFFFF " invalid "
+ "16r0911" 16rFFFF " invalid "
+ "16r0912" 16rFFFF " invalid "
+ "16r0913" 16rFFFF " invalid "
+ "16r0914" 16rFFFF " invalid "
+ "16r0915" 16rFFFF " invalid "
+ "16r0916" 16rFFFF " invalid "
+ "16r0917" 16rFFFF " invalid "
+ "16r0918" 16rFFFF " invalid "
+ "16r0919" 16rFFFF " invalid "
+ "16r091A" 16rFFFF " invalid "
+ "16r091B" 16rFFFF " invalid "
+ "16r091C" 16rFFFF " invalid "
+ "16r091D" 16rFFFF " invalid "
+ "16r091E" 16rFFFF " invalid "
+ "16r091F" 16rFFFF " invalid "
+ "16r0920" 16rFFFF " invalid "
+ "16r0921" 16rFFFF " invalid "
+ "16r0922" 16rFFFF " invalid "
+ "16r0923" 16rFFFF " invalid "
+ "16r0924" 16rFFFF " invalid "
+ "16r0925" 16rFFFF " invalid "
+ "16r0926" 16rFFFF " invalid "
+ "16r0927" 16rFFFF " invalid "
+ "16r0928" 16rFFFF " invalid "
+ "16r0929" 16rFFFF " invalid "
+ "16r092A" 16rFFFF " invalid "
+ "16r092B" 16rFFFF " invalid "
+ "16r092C" 16rFFFF " invalid "
+ "16r092D" 16rFFFF " invalid "
+ "16r092E" 16rFFFF " invalid "
+ "16r092F" 16rFFFF " invalid "
+ "16r0930" 16rFFFF " invalid "
+ "16r0931" 16rFFFF " invalid "
+ "16r0932" 16rFFFF " invalid "
+ "16r0933" 16rFFFF " invalid "
+ "16r0934" 16rFFFF " invalid "
+ "16r0935" 16rFFFF " invalid "
+ "16r0936" 16rFFFF " invalid "
+ "16r0937" 16rFFFF " invalid "
+ "16r0938" 16rFFFF " invalid "
+ "16r0939" 16rFFFF " invalid "
+ "16r093A" 16rFFFF " invalid "
+ "16r093B" 16rFFFF " invalid "
+ "16r093C" 16rFFFF " invalid "
+ "16r093D" 16rFFFF " invalid "
+ "16r093E" 16rFFFF " invalid "
+ "16r093F" 16rFFFF " invalid "
+ "16r0940" 16rFFFF " invalid "
+ "16r0941" 16rFFFF " invalid "
+ "16r0942" 16rFFFF " invalid "
+ "16r0943" 16rFFFF " invalid "
+ "16r0944" 16rFFFF " invalid "
+ "16r0945" 16rFFFF " invalid "
+ "16r0946" 16rFFFF " invalid "
+ "16r0947" 16rFFFF " invalid "
+ "16r0948" 16rFFFF " invalid "
+ "16r0949" 16rFFFF " invalid "
+ "16r094A" 16rFFFF " invalid "
+ "16r094B" 16rFFFF " invalid "
+ "16r094C" 16rFFFF " invalid "
+ "16r094D" 16rFFFF " invalid "
+ "16r094E" 16rFFFF " invalid "
+ "16r094F" 16rFFFF " invalid "
+ "16r0950" 16rFFFF " invalid "
+ "16r0951" 16rFFFF " invalid "
+ "16r0952" 16rFFFF " invalid "
+ "16r0953" 16rFFFF " invalid "
+ "16r0954" 16rFFFF " invalid "
+ "16r0955" 16rFFFF " invalid "
+ "16r0956" 16rFFFF " invalid "
+ "16r0957" 16rFFFF " invalid "
+ "16r0958" 16rFFFF " invalid "
+ "16r0959" 16rFFFF " invalid "
+ "16r095A" 16rFFFF " invalid "
+ "16r095B" 16rFFFF " invalid "
+ "16r095C" 16rFFFF " invalid "
+ "16r095D" 16rFFFF " invalid "
+ "16r095E" 16rFFFF " invalid "
+ "16r095F" 16rFFFF " invalid "
+ "16r0960" 16rFFFF " invalid "
+ "16r0961" 16rFFFF " invalid "
+ "16r0962" 16rFFFF " invalid "
+ "16r0963" 16rFFFF " invalid "
+ "16r0964" 16rFFFF " invalid "
+ "16r0965" 16rFFFF " invalid "
+ "16r0966" 16rFFFF " invalid "
+ "16r0967" 16rFFFF " invalid "
+ "16r0968" 16rFFFF " invalid "
+ "16r0969" 16rFFFF " invalid "
+ "16r096A" 16rFFFF " invalid "
+ "16r096B" 16rFFFF " invalid "
+ "16r096C" 16rFFFF " invalid "
+ "16r096D" 16rFFFF " invalid "
+ "16r096E" 16rFFFF " invalid "
+ "16r096F" 16rFFFF " invalid "
+ "16r0970" 16rFFFF " invalid "
+ "16r0971" 16rFFFF " invalid "
+ "16r0972" 16rFFFF " invalid "
+ "16r0973" 16rFFFF " invalid "
+ "16r0974" 16rFFFF " invalid "
+ "16r0975" 16rFFFF " invalid "
+ "16r0976" 16rFFFF " invalid "
+ "16r0977" 16rFFFF " invalid "
+ "16r0978" 16rFFFF " invalid "
+ "16r0979" 16rFFFF " invalid "
+ "16r097A" 16rFFFF " invalid "
+ "16r097B" 16rFFFF " invalid "
+ "16r097C" 16rFFFF " invalid "
+ "16r097D" 16rFFFF " invalid "
+ "16r097E" 16rFFFF " invalid "
+ "16r097F" 16rFFFF " invalid "
+ "16r0980" 16rFFFF " invalid "
+ "16r0981" 16rFFFF " invalid "
+ "16r0982" 16rFFFF " invalid "
+ "16r0983" 16rFFFF " invalid "
+ "16r0984" 16rFFFF " invalid "
+ "16r0985" 16rFFFF " invalid "
+ "16r0986" 16rFFFF " invalid "
+ "16r0987" 16rFFFF " invalid "
+ "16r0988" 16rFFFF " invalid "
+ "16r0989" 16rFFFF " invalid "
+ "16r098A" 16rFFFF " invalid "
+ "16r098B" 16rFFFF " invalid "
+ "16r098C" 16rFFFF " invalid "
+ "16r098D" 16rFFFF " invalid "
+ "16r098E" 16rFFFF " invalid "
+ "16r098F" 16rFFFF " invalid "
+ "16r0990" 16rFFFF " invalid "
+ "16r0991" 16rFFFF " invalid "
+ "16r0992" 16rFFFF " invalid "
+ "16r0993" 16rFFFF " invalid "
+ "16r0994" 16rFFFF " invalid "
+ "16r0995" 16rFFFF " invalid "
+ "16r0996" 16rFFFF " invalid "
+ "16r0997" 16rFFFF " invalid "
+ "16r0998" 16rFFFF " invalid "
+ "16r0999" 16rFFFF " invalid "
+ "16r099A" 16rFFFF " invalid "
+ "16r099B" 16rFFFF " invalid "
+ "16r099C" 16rFFFF " invalid "
+ "16r099D" 16rFFFF " invalid "
+ "16r099E" 16rFFFF " invalid "
+ "16r099F" 16rFFFF " invalid "
+ "16r09A0" 16rFFFF " invalid "
+ "16r09A1" 16rFFFF " invalid "
+ "16r09A2" 16rFFFF " invalid "
+ "16r09A3" 16rFFFF " invalid "
+ "16r09A4" 16rFFFF " invalid "
+ "16r09A5" 16rFFFF " invalid "
+ "16r09A6" 16rFFFF " invalid "
+ "16r09A7" 16rFFFF " invalid "
+ "16r09A8" 16rFFFF " invalid "
+ "16r09A9" 16rFFFF " invalid "
+ "16r09AA" 16rFFFF " invalid "
+ "16r09AB" 16rFFFF " invalid "
+ "16r09AC" 16rFFFF " invalid "
+ "16r09AD" 16rFFFF " invalid "
+ "16r09AE" 16rFFFF " invalid "
+ "16r09AF" 16rFFFF " invalid "
+ "16r09B0" 16rFFFF " invalid "
+ "16r09B1" 16rFFFF " invalid "
+ "16r09B2" 16rFFFF " invalid "
+ "16r09B3" 16rFFFF " invalid "
+ "16r09B4" 16rFFFF " invalid "
+ "16r09B5" 16rFFFF " invalid "
+ "16r09B6" 16rFFFF " invalid "
+ "16r09B7" 16rFFFF " invalid "
+ "16r09B8" 16rFFFF " invalid "
+ "16r09B9" 16rFFFF " invalid "
+ "16r09BA" 16rFFFF " invalid "
+ "16r09BB" 16rFFFF " invalid "
+ "16r09BC" 16rFFFF " invalid "
+ "16r09BD" 16rFFFF " invalid "
+ "16r09BE" 16rFFFF " invalid "
+ "16r09BF" 16rFFFF " invalid "
+ "16r09C0" 16rFFFF " invalid "
+ "16r09C1" 16rFFFF " invalid "
+ "16r09C2" 16rFFFF " invalid "
+ "16r09C3" 16rFFFF " invalid "
+ "16r09C4" 16rFFFF " invalid "
+ "16r09C5" 16rFFFF " invalid "
+ "16r09C6" 16rFFFF " invalid "
+ "16r09C7" 16rFFFF " invalid "
+ "16r09C8" 16rFFFF " invalid "
+ "16r09C9" 16rFFFF " invalid "
+ "16r09CA" 16rFFFF " invalid "
+ "16r09CB" 16rFFFF " invalid "
+ "16r09CC" 16rFFFF " invalid "
+ "16r09CD" 16rFFFF " invalid "
+ "16r09CE" 16rFFFF " invalid "
+ "16r09CF" 16rFFFF " invalid "
+ "16r09D0" 16rFFFF " invalid "
+ "16r09D1" 16rFFFF " invalid "
+ "16r09D2" 16rFFFF " invalid "
+ "16r09D3" 16rFFFF " invalid "
+ "16r09D4" 16rFFFF " invalid "
+ "16r09D5" 16rFFFF " invalid "
+ "16r09D6" 16rFFFF " invalid "
+ "16r09D7" 16rFFFF " invalid "
+ "16r09D8" 16rFFFF " invalid "
+ "16r09D9" 16rFFFF " invalid "
+ "16r09DA" 16rFFFF " invalid "
+ "16r09DB" 16rFFFF " invalid "
+ "16r09DC" 16rFFFF " invalid "
+ "16r09DD" 16rFFFF " invalid "
+ "16r09DE" 16rFFFF " invalid "
+ "16r09DF" 16rFFFF " invalid "
+ "16r09E0" 16rFFFF " invalid "
+ "16r09E1" 16rFFFF " invalid "
+ "16r09E2" 16rFFFF " invalid "
+ "16r09E3" 16rFFFF " invalid "
+ "16r09E4" 16rFFFF " invalid "
+ "16r09E5" 16rFFFF " invalid "
+ "16r09E6" 16rFFFF " invalid "
+ "16r09E7" 16rFFFF " invalid "
+ "16r09E8" 16rFFFF " invalid "
+ "16r09E9" 16rFFFF " invalid "
+ "16r09EA" 16rFFFF " invalid "
+ "16r09EB" 16rFFFF " invalid "
+ "16r09EC" 16rFFFF " invalid "
+ "16r09ED" 16rFFFF " invalid "
+ "16r09EE" 16rFFFF " invalid "
+ "16r09EF" 16rFFFF " invalid "
+ "16r09F0" 16rFFFF " invalid "
+ "16r09F1" 16rFFFF " invalid "
+ "16r09F2" 16rFFFF " invalid "
+ "16r09F3" 16rFFFF " invalid "
+ "16r09F4" 16rFFFF " invalid "
+ "16r09F5" 16rFFFF " invalid "
+ "16r09F6" 16rFFFF " invalid "
+ "16r09F7" 16rFFFF " invalid "
+ "16r09F8" 16rFFFF " invalid "
+ "16r09F9" 16rFFFF " invalid "
+ "16r09FA" 16rFFFF " invalid "
+ "16r09FB" 16rFFFF " invalid "
+ "16r09FC" 16rFFFF " invalid "
+ "16r09FD" 16rFFFF " invalid "
+ "16r09FE" 16rFFFF " invalid "
+ "16r09FF" 16rFFFF " invalid "
+ "16r0A00" 16rFFFF " invalid "
+ "16r0A01" 16rFFFF " invalid "
+ "16r0A02" 16rFFFF " invalid "
+ "16r0A03" 16rFFFF " invalid "
+ "16r0A04" 16rFFFF " invalid "
+ "16r0A05" 16rFFFF " invalid "
+ "16r0A06" 16rFFFF " invalid "
+ "16r0A07" 16rFFFF " invalid "
+ "16r0A08" 16rFFFF " invalid "
+ "16r0A09" 16rFFFF " invalid "
+ "16r0A0A" 16rFFFF " invalid "
+ "16r0A0B" 16rFFFF " invalid "
+ "16r0A0C" 16rFFFF " invalid "
+ "16r0A0D" 16rFFFF " invalid "
+ "16r0A0E" 16rFFFF " invalid "
+ "16r0A0F" 16rFFFF " invalid "
+ "16r0A10" 16rFFFF " invalid "
+ "16r0A11" 16rFFFF " invalid "
+ "16r0A12" 16rFFFF " invalid "
+ "16r0A13" 16rFFFF " invalid "
+ "16r0A14" 16rFFFF " invalid "
+ "16r0A15" 16rFFFF " invalid "
+ "16r0A16" 16rFFFF " invalid "
+ "16r0A17" 16rFFFF " invalid "
+ "16r0A18" 16rFFFF " invalid "
+ "16r0A19" 16rFFFF " invalid "
+ "16r0A1A" 16rFFFF " invalid "
+ "16r0A1B" 16rFFFF " invalid "
+ "16r0A1C" 16rFFFF " invalid "
+ "16r0A1D" 16rFFFF " invalid "
+ "16r0A1E" 16rFFFF " invalid "
+ "16r0A1F" 16rFFFF " invalid "
+ "16r0A20" 16rFFFF " invalid "
+ "16r0A21" 16rFFFF " invalid "
+ "16r0A22" 16rFFFF " invalid "
+ "16r0A23" 16rFFFF " invalid "
+ "16r0A24" 16rFFFF " invalid "
+ "16r0A25" 16rFFFF " invalid "
+ "16r0A26" 16rFFFF " invalid "
+ "16r0A27" 16rFFFF " invalid "
+ "16r0A28" 16rFFFF " invalid "
+ "16r0A29" 16rFFFF " invalid "
+ "16r0A2A" 16rFFFF " invalid "
+ "16r0A2B" 16rFFFF " invalid "
+ "16r0A2C" 16rFFFF " invalid "
+ "16r0A2D" 16rFFFF " invalid "
+ "16r0A2E" 16rFFFF " invalid "
+ "16r0A2F" 16rFFFF " invalid "
+ "16r0A30" 16rFFFF " invalid "
+ "16r0A31" 16rFFFF " invalid "
+ "16r0A32" 16rFFFF " invalid "
+ "16r0A33" 16rFFFF " invalid "
+ "16r0A34" 16rFFFF " invalid "
+ "16r0A35" 16rFFFF " invalid "
+ "16r0A36" 16rFFFF " invalid "
+ "16r0A37" 16rFFFF " invalid "
+ "16r0A38" 16rFFFF " invalid "
+ "16r0A39" 16rFFFF " invalid "
+ "16r0A3A" 16rFFFF " invalid "
+ "16r0A3B" 16rFFFF " invalid "
+ "16r0A3C" 16rFFFF " invalid "
+ "16r0A3D" 16rFFFF " invalid "
+ "16r0A3E" 16rFFFF " invalid "
+ "16r0A3F" 16rFFFF " invalid "
+ "16r0A40" 16rFFFF " invalid "
+ "16r0A41" 16rFFFF " invalid "
+ "16r0A42" 16rFFFF " invalid "
+ "16r0A43" 16rFFFF " invalid "
+ "16r0A44" 16rFFFF " invalid "
+ "16r0A45" 16rFFFF " invalid "
+ "16r0A46" 16rFFFF " invalid "
+ "16r0A47" 16rFFFF " invalid "
+ "16r0A48" 16rFFFF " invalid "
+ "16r0A49" 16rFFFF " invalid "
+ "16r0A4A" 16rFFFF " invalid "
+ "16r0A4B" 16rFFFF " invalid "
+ "16r0A4C" 16rFFFF " invalid "
+ "16r0A4D" 16rFFFF " invalid "
+ "16r0A4E" 16rFFFF " invalid "
+ "16r0A4F" 16rFFFF " invalid "
+ "16r0A50" 16rFFFF " invalid "
+ "16r0A51" 16rFFFF " invalid "
+ "16r0A52" 16rFFFF " invalid "
+ "16r0A53" 16rFFFF " invalid "
+ "16r0A54" 16rFFFF " invalid "
+ "16r0A55" 16rFFFF " invalid "
+ "16r0A56" 16rFFFF " invalid "
+ "16r0A57" 16rFFFF " invalid "
+ "16r0A58" 16rFFFF " invalid "
+ "16r0A59" 16rFFFF " invalid "
+ "16r0A5A" 16rFFFF " invalid "
+ "16r0A5B" 16rFFFF " invalid "
+ "16r0A5C" 16rFFFF " invalid "
+ "16r0A5D" 16rFFFF " invalid "
+ "16r0A5E" 16rFFFF " invalid "
+ "16r0A5F" 16rFFFF " invalid "
+ "16r0A60" 16rFFFF " invalid "
+ "16r0A61" 16rFFFF " invalid "
+ "16r0A62" 16rFFFF " invalid "
+ "16r0A63" 16rFFFF " invalid "
+ "16r0A64" 16rFFFF " invalid "
+ "16r0A65" 16rFFFF " invalid "
+ "16r0A66" 16rFFFF " invalid "
+ "16r0A67" 16rFFFF " invalid "
+ "16r0A68" 16rFFFF " invalid "
+ "16r0A69" 16rFFFF " invalid "
+ "16r0A6A" 16rFFFF " invalid "
+ "16r0A6B" 16rFFFF " invalid "
+ "16r0A6C" 16rFFFF " invalid "
+ "16r0A6D" 16rFFFF " invalid "
+ "16r0A6E" 16rFFFF " invalid "
+ "16r0A6F" 16rFFFF " invalid "
+ "16r0A70" 16rFFFF " invalid "
+ "16r0A71" 16rFFFF " invalid "
+ "16r0A72" 16rFFFF " invalid "
+ "16r0A73" 16rFFFF " invalid "
+ "16r0A74" 16rFFFF " invalid "
+ "16r0A75" 16rFFFF " invalid "
+ "16r0A76" 16rFFFF " invalid "
+ "16r0A77" 16rFFFF " invalid "
+ "16r0A78" 16rFFFF " invalid "
+ "16r0A79" 16rFFFF " invalid "
+ "16r0A7A" 16rFFFF " invalid "
+ "16r0A7B" 16rFFFF " invalid "
+ "16r0A7C" 16rFFFF " invalid "
+ "16r0A7D" 16rFFFF " invalid "
+ "16r0A7E" 16rFFFF " invalid "
+ "16r0A7F" 16rFFFF " invalid "
+ "16r0A80" 16rFFFF " invalid "
+ "16r0A81" 16rFFFF " invalid "
+ "16r0A82" 16rFFFF " invalid "
+ "16r0A83" 16rFFFF " invalid "
+ "16r0A84" 16rFFFF " invalid "
+ "16r0A85" 16rFFFF " invalid "
+ "16r0A86" 16rFFFF " invalid "
+ "16r0A87" 16rFFFF " invalid "
+ "16r0A88" 16rFFFF " invalid "
+ "16r0A89" 16rFFFF " invalid "
+ "16r0A8A" 16rFFFF " invalid "
+ "16r0A8B" 16rFFFF " invalid "
+ "16r0A8C" 16rFFFF " invalid "
+ "16r0A8D" 16rFFFF " invalid "
+ "16r0A8E" 16rFFFF " invalid "
+ "16r0A8F" 16rFFFF " invalid "
+ "16r0A90" 16rFFFF " invalid "
+ "16r0A91" 16rFFFF " invalid "
+ "16r0A92" 16rFFFF " invalid "
+ "16r0A93" 16rFFFF " invalid "
+ "16r0A94" 16rFFFF " invalid "
+ "16r0A95" 16rFFFF " invalid "
+ "16r0A96" 16rFFFF " invalid "
+ "16r0A97" 16rFFFF " invalid "
+ "16r0A98" 16rFFFF " invalid "
+ "16r0A99" 16rFFFF " invalid "
+ "16r0A9A" 16rFFFF " invalid "
+ "16r0A9B" 16rFFFF " invalid "
+ "16r0A9C" 16rFFFF " invalid "
+ "16r0A9D" 16rFFFF " invalid "
+ "16r0A9E" 16rFFFF " invalid "
+ "16r0A9F" 16rFFFF " invalid "
+ "16r0AA0" 16rFFFF " invalid "
+ "16r0AA1" 16rFFFF " invalid "
+ "16r0AA2" 16rFFFF " invalid "
+ "16r0AA3" 16rFFFF " invalid "
+ "16r0AA4" 16rFFFF " invalid "
+ "16r0AA5" 16rFFFF " invalid "
+ "16r0AA6" 16rFFFF " invalid "
+ "16r0AA7" 16rFFFF " invalid "
+ "16r0AA8" 16rFFFF " invalid "
+ "16r0AA9" 16rFFFF " invalid "
+ "16r0AAA" 16rFFFF " invalid "
+ "16r0AAB" 16rFFFF " invalid "
+ "16r0AAC" 16rFFFF " invalid "
+ "16r0AAD" 16rFFFF " invalid "
+ "16r0AAE" 16rFFFF " invalid "
+ "16r0AAF" 16rFFFF " invalid "
+ "16r0AB0" 16rFFFF " invalid "
+ "16r0AB1" 16rFFFF " invalid "
+ "16r0AB2" 16rFFFF " invalid "
+ "16r0AB3" 16rFFFF " invalid "
+ "16r0AB4" 16rFFFF " invalid "
+ "16r0AB5" 16rFFFF " invalid "
+ "16r0AB6" 16rFFFF " invalid "
+ "16r0AB7" 16rFFFF " invalid "
+ "16r0AB8" 16rFFFF " invalid "
+ "16r0AB9" 16rFFFF " invalid "
+ "16r0ABA" 16rFFFF " invalid "
+ "16r0ABB" 16rFFFF " invalid "
+ "16r0ABC" 16rFFFF " invalid "
+ "16r0ABD" 16rFFFF " invalid "
+ "16r0ABE" 16rFFFF " invalid "
+ "16r0ABF" 16rFFFF " invalid "
+ "16r0AC0" 16rFFFF " invalid "
+ "16r0AC1" 16rFFFF " invalid "
+ "16r0AC2" 16rFFFF " invalid "
+ "16r0AC3" 16rFFFF " invalid "
+ "16r0AC4" 16rFFFF " invalid "
+ "16r0AC5" 16rFFFF " invalid "
+ "16r0AC6" 16rFFFF " invalid "
+ "16r0AC7" 16rFFFF " invalid "
+ "16r0AC8" 16rFFFF " invalid "
+ "16r0AC9" 16rFFFF " invalid "
+ "16r0ACA" 16rFFFF " invalid "
+ "16r0ACB" 16rFFFF " invalid "
+ "16r0ACC" 16rFFFF " invalid "
+ "16r0ACD" 16rFFFF " invalid "
+ "16r0ACE" 16rFFFF " invalid "
+ "16r0ACF" 16rFFFF " invalid "
+ "16r0AD0" 16rFFFF " invalid "
+ "16r0AD1" 16rFFFF " invalid "
+ "16r0AD2" 16rFFFF " invalid "
+ "16r0AD3" 16rFFFF " invalid "
+ "16r0AD4" 16rFFFF " invalid "
+ "16r0AD5" 16rFFFF " invalid "
+ "16r0AD6" 16rFFFF " invalid "
+ "16r0AD7" 16rFFFF " invalid "
+ "16r0AD8" 16rFFFF " invalid "
+ "16r0AD9" 16rFFFF " invalid "
+ "16r0ADA" 16rFFFF " invalid "
+ "16r0ADB" 16rFFFF " invalid "
+ "16r0ADC" 16rFFFF " invalid "
+ "16r0ADD" 16rFFFF " invalid "
+ "16r0ADE" 16rFFFF " invalid "
+ "16r0ADF" 16rFFFF " invalid "
+ "16r0AE0" 16rFFFF " invalid "
+ "16r0AE1" 16rFFFF " invalid "
+ "16r0AE2" 16rFFFF " invalid "
+ "16r0AE3" 16rFFFF " invalid "
+ "16r0AE4" 16rFFFF " invalid "
+ "16r0AE5" 16rFFFF " invalid "
+ "16r0AE6" 16rFFFF " invalid "
+ "16r0AE7" 16rFFFF " invalid "
+ "16r0AE8" 16rFFFF " invalid "
+ "16r0AE9" 16rFFFF " invalid "
+ "16r0AEA" 16rFFFF " invalid "
+ "16r0AEB" 16rFFFF " invalid "
+ "16r0AEC" 16rFFFF " invalid "
+ "16r0AED" 16rFFFF " invalid "
+ "16r0AEE" 16rFFFF " invalid "
+ "16r0AEF" 16rFFFF " invalid "
+ "16r0AF0" 16rFFFF " invalid "
+ "16r0AF1" 16rFFFF " invalid "
+ "16r0AF2" 16rFFFF " invalid "
+ "16r0AF3" 16rFFFF " invalid "
+ "16r0AF4" 16rFFFF " invalid "
+ "16r0AF5" 16rFFFF " invalid "
+ "16r0AF6" 16rFFFF " invalid "
+ "16r0AF7" 16rFFFF " invalid "
+ "16r0AF8" 16rFFFF " invalid "
+ "16r0AF9" 16rFFFF " invalid "
+ "16r0AFA" 16rFFFF " invalid "
+ "16r0AFB" 16rFFFF " invalid "
+ "16r0AFC" 16rFFFF " invalid "
+ "16r0AFD" 16rFFFF " invalid "
+ "16r0AFE" 16rFFFF " invalid "
+ "16r0AFF" 16rFFFF " invalid "
+ "16r0B00" 16rFFFF " invalid "
+ "16r0B01" 16rFFFF " invalid "
+ "16r0B02" 16rFFFF " invalid "
+ "16r0B03" 16rFFFF " invalid "
+ "16r0B04" 16rFFFF " invalid "
+ "16r0B05" 16rFFFF " invalid "
+ "16r0B06" 16rFFFF " invalid "
+ "16r0B07" 16rFFFF " invalid "
+ "16r0B08" 16rFFFF " invalid "
+ "16r0B09" 16rFFFF " invalid "
+ "16r0B0A" 16rFFFF " invalid "
+ "16r0B0B" 16rFFFF " invalid "
+ "16r0B0C" 16rFFFF " invalid "
+ "16r0B0D" 16rFFFF " invalid "
+ "16r0B0E" 16rFFFF " invalid "
+ "16r0B0F" 16rFFFF " invalid "
+ "16r0B10" 16rFFFF " invalid "
+ "16r0B11" 16rFFFF " invalid "
+ "16r0B12" 16rFFFF " invalid "
+ "16r0B13" 16rFFFF " invalid "
+ "16r0B14" 16rFFFF " invalid "
+ "16r0B15" 16rFFFF " invalid "
+ "16r0B16" 16rFFFF " invalid "
+ "16r0B17" 16rFFFF " invalid "
+ "16r0B18" 16rFFFF " invalid "
+ "16r0B19" 16rFFFF " invalid "
+ "16r0B1A" 16rFFFF " invalid "
+ "16r0B1B" 16rFFFF " invalid "
+ "16r0B1C" 16rFFFF " invalid "
+ "16r0B1D" 16rFFFF " invalid "
+ "16r0B1E" 16rFFFF " invalid "
+ "16r0B1F" 16rFFFF " invalid "
+ "16r0B20" 16rFFFF " invalid "
+ "16r0B21" 16rFFFF " invalid "
+ "16r0B22" 16rFFFF " invalid "
+ "16r0B23" 16rFFFF " invalid "
+ "16r0B24" 16rFFFF " invalid "
+ "16r0B25" 16rFFFF " invalid "
+ "16r0B26" 16rFFFF " invalid "
+ "16r0B27" 16rFFFF " invalid "
+ "16r0B28" 16rFFFF " invalid "
+ "16r0B29" 16rFFFF " invalid "
+ "16r0B2A" 16rFFFF " invalid "
+ "16r0B2B" 16rFFFF " invalid "
+ "16r0B2C" 16rFFFF " invalid "
+ "16r0B2D" 16rFFFF " invalid "
+ "16r0B2E" 16rFFFF " invalid "
+ "16r0B2F" 16rFFFF " invalid "
+ "16r0B30" 16rFFFF " invalid "
+ "16r0B31" 16rFFFF " invalid "
+ "16r0B32" 16rFFFF " invalid "
+ "16r0B33" 16rFFFF " invalid "
+ "16r0B34" 16rFFFF " invalid "
+ "16r0B35" 16rFFFF " invalid "
+ "16r0B36" 16rFFFF " invalid "
+ "16r0B37" 16rFFFF " invalid "
+ "16r0B38" 16rFFFF " invalid "
+ "16r0B39" 16rFFFF " invalid "
+ "16r0B3A" 16rFFFF " invalid "
+ "16r0B3B" 16rFFFF " invalid "
+ "16r0B3C" 16rFFFF " invalid "
+ "16r0B3D" 16rFFFF " invalid "
+ "16r0B3E" 16rFFFF " invalid "
+ "16r0B3F" 16rFFFF " invalid "
+ "16r0B40" 16rFFFF " invalid "
+ "16r0B41" 16rFFFF " invalid "
+ "16r0B42" 16rFFFF " invalid "
+ "16r0B43" 16rFFFF " invalid "
+ "16r0B44" 16rFFFF " invalid "
+ "16r0B45" 16rFFFF " invalid "
+ "16r0B46" 16rFFFF " invalid "
+ "16r0B47" 16rFFFF " invalid "
+ "16r0B48" 16rFFFF " invalid "
+ "16r0B49" 16rFFFF " invalid "
+ "16r0B4A" 16rFFFF " invalid "
+ "16r0B4B" 16rFFFF " invalid "
+ "16r0B4C" 16rFFFF " invalid "
+ "16r0B4D" 16rFFFF " invalid "
+ "16r0B4E" 16rFFFF " invalid "
+ "16r0B4F" 16rFFFF " invalid "
+ "16r0B50" 16rFFFF " invalid "
+ "16r0B51" 16rFFFF " invalid "
+ "16r0B52" 16rFFFF " invalid "
+ "16r0B53" 16rFFFF " invalid "
+ "16r0B54" 16rFFFF " invalid "
+ "16r0B55" 16rFFFF " invalid "
+ "16r0B56" 16rFFFF " invalid "
+ "16r0B57" 16rFFFF " invalid "
+ "16r0B58" 16rFFFF " invalid "
+ "16r0B59" 16rFFFF " invalid "
+ "16r0B5A" 16rFFFF " invalid "
+ "16r0B5B" 16rFFFF " invalid "
+ "16r0B5C" 16rFFFF " invalid "
+ "16r0B5D" 16rFFFF " invalid "
+ "16r0B5E" 16rFFFF " invalid "
+ "16r0B5F" 16rFFFF " invalid "
+ "16r0B60" 16rFFFF " invalid "
+ "16r0B61" 16rFFFF " invalid "
+ "16r0B62" 16rFFFF " invalid "
+ "16r0B63" 16rFFFF " invalid "
+ "16r0B64" 16rFFFF " invalid "
+ "16r0B65" 16rFFFF " invalid "
+ "16r0B66" 16rFFFF " invalid "
+ "16r0B67" 16rFFFF " invalid "
+ "16r0B68" 16rFFFF " invalid "
+ "16r0B69" 16rFFFF " invalid "
+ "16r0B6A" 16rFFFF " invalid "
+ "16r0B6B" 16rFFFF " invalid "
+ "16r0B6C" 16rFFFF " invalid "
+ "16r0B6D" 16rFFFF " invalid "
+ "16r0B6E" 16rFFFF " invalid "
+ "16r0B6F" 16rFFFF " invalid "
+ "16r0B70" 16rFFFF " invalid "
+ "16r0B71" 16rFFFF " invalid "
+ "16r0B72" 16rFFFF " invalid "
+ "16r0B73" 16rFFFF " invalid "
+ "16r0B74" 16rFFFF " invalid "
+ "16r0B75" 16rFFFF " invalid "
+ "16r0B76" 16rFFFF " invalid "
+ "16r0B77" 16rFFFF " invalid "
+ "16r0B78" 16rFFFF " invalid "
+ "16r0B79" 16rFFFF " invalid "
+ "16r0B7A" 16rFFFF " invalid "
+ "16r0B7B" 16rFFFF " invalid "
+ "16r0B7C" 16rFFFF " invalid "
+ "16r0B7D" 16rFFFF " invalid "
+ "16r0B7E" 16rFFFF " invalid "
+ "16r0B7F" 16rFFFF " invalid "
+ "16r0B80" 16rFFFF " invalid "
+ "16r0B81" 16rFFFF " invalid "
+ "16r0B82" 16rFFFF " invalid "
+ "16r0B83" 16rFFFF " invalid "
+ "16r0B84" 16rFFFF " invalid "
+ "16r0B85" 16rFFFF " invalid "
+ "16r0B86" 16rFFFF " invalid "
+ "16r0B87" 16rFFFF " invalid "
+ "16r0B88" 16rFFFF " invalid "
+ "16r0B89" 16rFFFF " invalid "
+ "16r0B8A" 16rFFFF " invalid "
+ "16r0B8B" 16rFFFF " invalid "
+ "16r0B8C" 16rFFFF " invalid "
+ "16r0B8D" 16rFFFF " invalid "
+ "16r0B8E" 16rFFFF " invalid "
+ "16r0B8F" 16rFFFF " invalid "
+ "16r0B90" 16rFFFF " invalid "
+ "16r0B91" 16rFFFF " invalid "
+ "16r0B92" 16rFFFF " invalid "
+ "16r0B93" 16rFFFF " invalid "
+ "16r0B94" 16rFFFF " invalid "
+ "16r0B95" 16rFFFF " invalid "
+ "16r0B96" 16rFFFF " invalid "
+ "16r0B97" 16rFFFF " invalid "
+ "16r0B98" 16rFFFF " invalid "
+ "16r0B99" 16rFFFF " invalid "
+ "16r0B9A" 16rFFFF " invalid "
+ "16r0B9B" 16rFFFF " invalid "
+ "16r0B9C" 16rFFFF " invalid "
+ "16r0B9D" 16rFFFF " invalid "
+ "16r0B9E" 16rFFFF " invalid "
+ "16r0B9F" 16rFFFF " invalid "
+ "16r0BA0" 16rFFFF " invalid "
+ "16r0BA1" 16rFFFF " invalid "
+ "16r0BA2" 16rFFFF " invalid "
+ "16r0BA3" 16rFFFF " invalid "
+ "16r0BA4" 16rFFFF " invalid "
+ "16r0BA5" 16rFFFF " invalid "
+ "16r0BA6" 16rFFFF " invalid "
+ "16r0BA7" 16rFFFF " invalid "
+ "16r0BA8" 16rFFFF " invalid "
+ "16r0BA9" 16rFFFF " invalid "
+ "16r0BAA" 16rFFFF " invalid "
+ "16r0BAB" 16rFFFF " invalid "
+ "16r0BAC" 16rFFFF " invalid "
+ "16r0BAD" 16rFFFF " invalid "
+ "16r0BAE" 16rFFFF " invalid "
+ "16r0BAF" 16rFFFF " invalid "
+ "16r0BB0" 16rFFFF " invalid "
+ "16r0BB1" 16rFFFF " invalid "
+ "16r0BB2" 16rFFFF " invalid "
+ "16r0BB3" 16rFFFF " invalid "
+ "16r0BB4" 16rFFFF " invalid "
+ "16r0BB5" 16rFFFF " invalid "
+ "16r0BB6" 16rFFFF " invalid "
+ "16r0BB7" 16rFFFF " invalid "
+ "16r0BB8" 16rFFFF " invalid "
+ "16r0BB9" 16rFFFF " invalid "
+ "16r0BBA" 16rFFFF " invalid "
+ "16r0BBB" 16rFFFF " invalid "
+ "16r0BBC" 16rFFFF " invalid "
+ "16r0BBD" 16rFFFF " invalid "
+ "16r0BBE" 16rFFFF " invalid "
+ "16r0BBF" 16rFFFF " invalid "
+ "16r0BC0" 16rFFFF " invalid "
+ "16r0BC1" 16rFFFF " invalid "
+ "16r0BC2" 16rFFFF " invalid "
+ "16r0BC3" 16rFFFF " invalid "
+ "16r0BC4" 16rFFFF " invalid "
+ "16r0BC5" 16rFFFF " invalid "
+ "16r0BC6" 16rFFFF " invalid "
+ "16r0BC7" 16rFFFF " invalid "
+ "16r0BC8" 16rFFFF " invalid "
+ "16r0BC9" 16rFFFF " invalid "
+ "16r0BCA" 16rFFFF " invalid "
+ "16r0BCB" 16rFFFF " invalid "
+ "16r0BCC" 16rFFFF " invalid "
+ "16r0BCD" 16rFFFF " invalid "
+ "16r0BCE" 16rFFFF " invalid "
+ "16r0BCF" 16rFFFF " invalid "
+ "16r0BD0" 16rFFFF " invalid "
+ "16r0BD1" 16rFFFF " invalid "
+ "16r0BD2" 16rFFFF " invalid "
+ "16r0BD3" 16rFFFF " invalid "
+ "16r0BD4" 16rFFFF " invalid "
+ "16r0BD5" 16rFFFF " invalid "
+ "16r0BD6" 16rFFFF " invalid "
+ "16r0BD7" 16rFFFF " invalid "
+ "16r0BD8" 16rFFFF " invalid "
+ "16r0BD9" 16rFFFF " invalid "
+ "16r0BDA" 16rFFFF " invalid "
+ "16r0BDB" 16rFFFF " invalid "
+ "16r0BDC" 16rFFFF " invalid "
+ "16r0BDD" 16rFFFF " invalid "
+ "16r0BDE" 16rFFFF " invalid "
+ "16r0BDF" 16rFFFF " invalid "
+ "16r0BE0" 16rFFFF " invalid "
+ "16r0BE1" 16rFFFF " invalid "
+ "16r0BE2" 16rFFFF " invalid "
+ "16r0BE3" 16rFFFF " invalid "
+ "16r0BE4" 16rFFFF " invalid "
+ "16r0BE5" 16rFFFF " invalid "
+ "16r0BE6" 16rFFFF " invalid "
+ "16r0BE7" 16rFFFF " invalid "
+ "16r0BE8" 16rFFFF " invalid "
+ "16r0BE9" 16rFFFF " invalid "
+ "16r0BEA" 16rFFFF " invalid "
+ "16r0BEB" 16rFFFF " invalid "
+ "16r0BEC" 16rFFFF " invalid "
+ "16r0BED" 16rFFFF " invalid "
+ "16r0BEE" 16rFFFF " invalid "
+ "16r0BEF" 16rFFFF " invalid "
+ "16r0BF0" 16rFFFF " invalid "
+ "16r0BF1" 16rFFFF " invalid "
+ "16r0BF2" 16rFFFF " invalid "
+ "16r0BF3" 16rFFFF " invalid "
+ "16r0BF4" 16rFFFF " invalid "
+ "16r0BF5" 16rFFFF " invalid "
+ "16r0BF6" 16rFFFF " invalid "
+ "16r0BF7" 16rFFFF " invalid "
+ "16r0BF8" 16rFFFF " invalid "
+ "16r0BF9" 16rFFFF " invalid "
+ "16r0BFA" 16rFFFF " invalid "
+ "16r0BFB" 16rFFFF " invalid "
+ "16r0BFC" 16rFFFF " invalid "
+ "16r0BFD" 16rFFFF " invalid "
+ "16r0BFE" 16rFFFF " invalid "
+ "16r0BFF" 16rFFFF " invalid "
+ "16r0C00" 16rFFFF " invalid "
+ "16r0C01" 16rFFFF " invalid "
+ "16r0C02" 16rFFFF " invalid "
+ "16r0C03" 16rFFFF " invalid "
+ "16r0C04" 16rFFFF " invalid "
+ "16r0C05" 16rFFFF " invalid "
+ "16r0C06" 16rFFFF " invalid "
+ "16r0C07" 16rFFFF " invalid "
+ "16r0C08" 16rFFFF " invalid "
+ "16r0C09" 16rFFFF " invalid "
+ "16r0C0A" 16rFFFF " invalid "
+ "16r0C0B" 16rFFFF " invalid "
+ "16r0C0C" 16rFFFF " invalid "
+ "16r0C0D" 16rFFFF " invalid "
+ "16r0C0E" 16rFFFF " invalid "
+ "16r0C0F" 16rFFFF " invalid "
+ "16r0C10" 16rFFFF " invalid "
+ "16r0C11" 16rFFFF " invalid "
+ "16r0C12" 16rFFFF " invalid "
+ "16r0C13" 16rFFFF " invalid "
+ "16r0C14" 16rFFFF " invalid "
+ "16r0C15" 16rFFFF " invalid "
+ "16r0C16" 16rFFFF " invalid "
+ "16r0C17" 16rFFFF " invalid "
+ "16r0C18" 16rFFFF " invalid "
+ "16r0C19" 16rFFFF " invalid "
+ "16r0C1A" 16rFFFF " invalid "
+ "16r0C1B" 16rFFFF " invalid "
+ "16r0C1C" 16rFFFF " invalid "
+ "16r0C1D" 16rFFFF " invalid "
+ "16r0C1E" 16rFFFF " invalid "
+ "16r0C1F" 16rFFFF " invalid "
+ "16r0C20" 16rFFFF " invalid "
+ "16r0C21" 16rFFFF " invalid "
+ "16r0C22" 16rFFFF " invalid "
+ "16r0C23" 16rFFFF " invalid "
+ "16r0C24" 16rFFFF " invalid "
+ "16r0C25" 16rFFFF " invalid "
+ "16r0C26" 16rFFFF " invalid "
+ "16r0C27" 16rFFFF " invalid "
+ "16r0C28" 16rFFFF " invalid "
+ "16r0C29" 16rFFFF " invalid "
+ "16r0C2A" 16rFFFF " invalid "
+ "16r0C2B" 16rFFFF " invalid "
+ "16r0C2C" 16rFFFF " invalid "
+ "16r0C2D" 16rFFFF " invalid "
+ "16r0C2E" 16rFFFF " invalid "
+ "16r0C2F" 16rFFFF " invalid "
+ "16r0C30" 16rFFFF " invalid "
+ "16r0C31" 16rFFFF " invalid "
+ "16r0C32" 16rFFFF " invalid "
+ "16r0C33" 16rFFFF " invalid "
+ "16r0C34" 16rFFFF " invalid "
+ "16r0C35" 16rFFFF " invalid "
+ "16r0C36" 16rFFFF " invalid "
+ "16r0C37" 16rFFFF " invalid "
+ "16r0C38" 16rFFFF " invalid "
+ "16r0C39" 16rFFFF " invalid "
+ "16r0C3A" 16rFFFF " invalid "
+ "16r0C3B" 16rFFFF " invalid "
+ "16r0C3C" 16rFFFF " invalid "
+ "16r0C3D" 16rFFFF " invalid "
+ "16r0C3E" 16rFFFF " invalid "
+ "16r0C3F" 16rFFFF " invalid "
+ "16r0C40" 16rFFFF " invalid "
+ "16r0C41" 16rFFFF " invalid "
+ "16r0C42" 16rFFFF " invalid "
+ "16r0C43" 16rFFFF " invalid "
+ "16r0C44" 16rFFFF " invalid "
+ "16r0C45" 16rFFFF " invalid "
+ "16r0C46" 16rFFFF " invalid "
+ "16r0C47" 16rFFFF " invalid "
+ "16r0C48" 16rFFFF " invalid "
+ "16r0C49" 16rFFFF " invalid "
+ "16r0C4A" 16rFFFF " invalid "
+ "16r0C4B" 16rFFFF " invalid "
+ "16r0C4C" 16rFFFF " invalid "
+ "16r0C4D" 16rFFFF " invalid "
+ "16r0C4E" 16rFFFF " invalid "
+ "16r0C4F" 16rFFFF " invalid "
+ "16r0C50" 16rFFFF " invalid "
+ "16r0C51" 16rFFFF " invalid "
+ "16r0C52" 16rFFFF " invalid "
+ "16r0C53" 16rFFFF " invalid "
+ "16r0C54" 16rFFFF " invalid "
+ "16r0C55" 16rFFFF " invalid "
+ "16r0C56" 16rFFFF " invalid "
+ "16r0C57" 16rFFFF " invalid "
+ "16r0C58" 16rFFFF " invalid "
+ "16r0C59" 16rFFFF " invalid "
+ "16r0C5A" 16rFFFF " invalid "
+ "16r0C5B" 16rFFFF " invalid "
+ "16r0C5C" 16rFFFF " invalid "
+ "16r0C5D" 16rFFFF " invalid "
+ "16r0C5E" 16rFFFF " invalid "
+ "16r0C5F" 16rFFFF " invalid "
+ "16r0C60" 16rFFFF " invalid "
+ "16r0C61" 16rFFFF " invalid "
+ "16r0C62" 16rFFFF " invalid "
+ "16r0C63" 16rFFFF " invalid "
+ "16r0C64" 16rFFFF " invalid "
+ "16r0C65" 16rFFFF " invalid "
+ "16r0C66" 16rFFFF " invalid "
+ "16r0C67" 16rFFFF " invalid "
+ "16r0C68" 16rFFFF " invalid "
+ "16r0C69" 16rFFFF " invalid "
+ "16r0C6A" 16rFFFF " invalid "
+ "16r0C6B" 16rFFFF " invalid "
+ "16r0C6C" 16rFFFF " invalid "
+ "16r0C6D" 16rFFFF " invalid "
+ "16r0C6E" 16rFFFF " invalid "
+ "16r0C6F" 16rFFFF " invalid "
+ "16r0C70" 16rFFFF " invalid "
+ "16r0C71" 16rFFFF " invalid "
+ "16r0C72" 16rFFFF " invalid "
+ "16r0C73" 16rFFFF " invalid "
+ "16r0C74" 16rFFFF " invalid "
+ "16r0C75" 16rFFFF " invalid "
+ "16r0C76" 16rFFFF " invalid "
+ "16r0C77" 16rFFFF " invalid "
+ "16r0C78" 16rFFFF " invalid "
+ "16r0C79" 16rFFFF " invalid "
+ "16r0C7A" 16rFFFF " invalid "
+ "16r0C7B" 16rFFFF " invalid "
+ "16r0C7C" 16rFFFF " invalid "
+ "16r0C7D" 16rFFFF " invalid "
+ "16r0C7E" 16rFFFF " invalid "
+ "16r0C7F" 16rFFFF " invalid "
+ "16r0C80" 16rFFFF " invalid "
+ "16r0C81" 16rFFFF " invalid "
+ "16r0C82" 16rFFFF " invalid "
+ "16r0C83" 16rFFFF " invalid "
+ "16r0C84" 16rFFFF " invalid "
+ "16r0C85" 16rFFFF " invalid "
+ "16r0C86" 16rFFFF " invalid "
+ "16r0C87" 16rFFFF " invalid "
+ "16r0C88" 16rFFFF " invalid "
+ "16r0C89" 16rFFFF " invalid "
+ "16r0C8A" 16rFFFF " invalid "
+ "16r0C8B" 16rFFFF " invalid "
+ "16r0C8C" 16rFFFF " invalid "
+ "16r0C8D" 16rFFFF " invalid "
+ "16r0C8E" 16rFFFF " invalid "
+ "16r0C8F" 16rFFFF " invalid "
+ "16r0C90" 16rFFFF " invalid "
+ "16r0C91" 16rFFFF " invalid "
+ "16r0C92" 16rFFFF " invalid "
+ "16r0C93" 16rFFFF " invalid "
+ "16r0C94" 16rFFFF " invalid "
+ "16r0C95" 16rFFFF " invalid "
+ "16r0C96" 16rFFFF " invalid "
+ "16r0C97" 16rFFFF " invalid "
+ "16r0C98" 16rFFFF " invalid "
+ "16r0C99" 16rFFFF " invalid "
+ "16r0C9A" 16rFFFF " invalid "
+ "16r0C9B" 16rFFFF " invalid "
+ "16r0C9C" 16rFFFF " invalid "
+ "16r0C9D" 16rFFFF " invalid "
+ "16r0C9E" 16rFFFF " invalid "
+ "16r0C9F" 16rFFFF " invalid "
+ "16r0CA0" 16rFFFF " invalid "
+ "16r0CA1" 16rFFFF " invalid "
+ "16r0CA2" 16rFFFF " invalid "
+ "16r0CA3" 16rFFFF " invalid "
+ "16r0CA4" 16rFFFF " invalid "
+ "16r0CA5" 16rFFFF " invalid "
+ "16r0CA6" 16rFFFF " invalid "
+ "16r0CA7" 16rFFFF " invalid "
+ "16r0CA8" 16rFFFF " invalid "
+ "16r0CA9" 16rFFFF " invalid "
+ "16r0CAA" 16rFFFF " invalid "
+ "16r0CAB" 16rFFFF " invalid "
+ "16r0CAC" 16rFFFF " invalid "
+ "16r0CAD" 16rFFFF " invalid "
+ "16r0CAE" 16rFFFF " invalid "
+ "16r0CAF" 16rFFFF " invalid "
+ "16r0CB0" 16rFFFF " invalid "
+ "16r0CB1" 16rFFFF " invalid "
+ "16r0CB2" 16rFFFF " invalid "
+ "16r0CB3" 16rFFFF " invalid "
+ "16r0CB4" 16rFFFF " invalid "
+ "16r0CB5" 16rFFFF " invalid "
+ "16r0CB6" 16rFFFF " invalid "
+ "16r0CB7" 16rFFFF " invalid "
+ "16r0CB8" 16rFFFF " invalid "
+ "16r0CB9" 16rFFFF " invalid "
+ "16r0CBA" 16rFFFF " invalid "
+ "16r0CBB" 16rFFFF " invalid "
+ "16r0CBC" 16rFFFF " invalid "
+ "16r0CBD" 16rFFFF " invalid "
+ "16r0CBE" 16rFFFF " invalid "
+ "16r0CBF" 16rFFFF " invalid "
+ "16r0CC0" 16rFFFF " invalid "
+ "16r0CC1" 16rFFFF " invalid "
+ "16r0CC2" 16rFFFF " invalid "
+ "16r0CC3" 16rFFFF " invalid "
+ "16r0CC4" 16rFFFF " invalid "
+ "16r0CC5" 16rFFFF " invalid "
+ "16r0CC6" 16rFFFF " invalid "
+ "16r0CC7" 16rFFFF " invalid "
+ "16r0CC8" 16rFFFF " invalid "
+ "16r0CC9" 16rFFFF " invalid "
+ "16r0CCA" 16rFFFF " invalid "
+ "16r0CCB" 16rFFFF " invalid "
+ "16r0CCC" 16rFFFF " invalid "
+ "16r0CCD" 16rFFFF " invalid "
+ "16r0CCE" 16rFFFF " invalid "
+ "16r0CCF" 16rFFFF " invalid "
+ "16r0CD0" 16rFFFF " invalid "
+ "16r0CD1" 16rFFFF " invalid "
+ "16r0CD2" 16rFFFF " invalid "
+ "16r0CD3" 16rFFFF " invalid "
+ "16r0CD4" 16rFFFF " invalid "
+ "16r0CD5" 16rFFFF " invalid "
+ "16r0CD6" 16rFFFF " invalid "
+ "16r0CD7" 16rFFFF " invalid "
+ "16r0CD8" 16rFFFF " invalid "
+ "16r0CD9" 16rFFFF " invalid "
+ "16r0CDA" 16rFFFF " invalid "
+ "16r0CDB" 16rFFFF " invalid "
+ "16r0CDC" 16rFFFF " invalid "
+ "16r0CDD" 16rFFFF " invalid "
+ "16r0CDE" 16rFFFF " invalid "
+ "16r0CDF" 16rFFFF " invalid "
+ "16r0CE0" 16rFFFF " invalid "
+ "16r0CE1" 16rFFFF " invalid "
+ "16r0CE2" 16rFFFF " invalid "
+ "16r0CE3" 16rFFFF " invalid "
+ "16r0CE4" 16rFFFF " invalid "
+ "16r0CE5" 16rFFFF " invalid "
+ "16r0CE6" 16rFFFF " invalid "
+ "16r0CE7" 16rFFFF " invalid "
+ "16r0CE8" 16rFFFF " invalid "
+ "16r0CE9" 16rFFFF " invalid "
+ "16r0CEA" 16rFFFF " invalid "
+ "16r0CEB" 16rFFFF " invalid "
+ "16r0CEC" 16rFFFF " invalid "
+ "16r0CED" 16rFFFF " invalid "
+ "16r0CEE" 16rFFFF " invalid "
+ "16r0CEF" 16rFFFF " invalid "
+ "16r0CF0" 16rFFFF " invalid "
+ "16r0CF1" 16rFFFF " invalid "
+ "16r0CF2" 16rFFFF " invalid "
+ "16r0CF3" 16rFFFF " invalid "
+ "16r0CF4" 16rFFFF " invalid "
+ "16r0CF5" 16rFFFF " invalid "
+ "16r0CF6" 16rFFFF " invalid "
+ "16r0CF7" 16rFFFF " invalid "
+ "16r0CF8" 16rFFFF " invalid "
+ "16r0CF9" 16rFFFF " invalid "
+ "16r0CFA" 16rFFFF " invalid "
+ "16r0CFB" 16rFFFF " invalid "
+ "16r0CFC" 16rFFFF " invalid "
+ "16r0CFD" 16rFFFF " invalid "
+ "16r0CFE" 16rFFFF " invalid "
+ "16r0CFF" 16rFFFF " invalid "
+ "16r0D00" 16rFFFF " invalid "
+ "16r0D01" 16rFFFF " invalid "
+ "16r0D02" 16rFFFF " invalid "
+ "16r0D03" 16rFFFF " invalid "
+ "16r0D04" 16rFFFF " invalid "
+ "16r0D05" 16rFFFF " invalid "
+ "16r0D06" 16rFFFF " invalid "
+ "16r0D07" 16rFFFF " invalid "
+ "16r0D08" 16rFFFF " invalid "
+ "16r0D09" 16rFFFF " invalid "
+ "16r0D0A" 16rFFFF " invalid "
+ "16r0D0B" 16rFFFF " invalid "
+ "16r0D0C" 16rFFFF " invalid "
+ "16r0D0D" 16rFFFF " invalid "
+ "16r0D0E" 16rFFFF " invalid "
+ "16r0D0F" 16rFFFF " invalid "
+ "16r0D10" 16rFFFF " invalid "
+ "16r0D11" 16rFFFF " invalid "
+ "16r0D12" 16rFFFF " invalid "
+ "16r0D13" 16rFFFF " invalid "
+ "16r0D14" 16rFFFF " invalid "
+ "16r0D15" 16rFFFF " invalid "
+ "16r0D16" 16rFFFF " invalid "
+ "16r0D17" 16rFFFF " invalid "
+ "16r0D18" 16rFFFF " invalid "
+ "16r0D19" 16rFFFF " invalid "
+ "16r0D1A" 16rFFFF " invalid "
+ "16r0D1B" 16rFFFF " invalid "
+ "16r0D1C" 16rFFFF " invalid "
+ "16r0D1D" 16rFFFF " invalid "
+ "16r0D1E" 16rFFFF " invalid "
+ "16r0D1F" 16rFFFF " invalid "
+ "16r0D20" 16rFFFF " invalid "
+ "16r0D21" 16rFFFF " invalid "
+ "16r0D22" 16rFFFF " invalid "
+ "16r0D23" 16rFFFF " invalid "
+ "16r0D24" 16rFFFF " invalid "
+ "16r0D25" 16rFFFF " invalid "
+ "16r0D26" 16rFFFF " invalid "
+ "16r0D27" 16rFFFF " invalid "
+ "16r0D28" 16rFFFF " invalid "
+ "16r0D29" 16rFFFF " invalid "
+ "16r0D2A" 16rFFFF " invalid "
+ "16r0D2B" 16rFFFF " invalid "
+ "16r0D2C" 16rFFFF " invalid "
+ "16r0D2D" 16rFFFF " invalid "
+ "16r0D2E" 16rFFFF " invalid "
+ "16r0D2F" 16rFFFF " invalid "
+ "16r0D30" 16rFFFF " invalid "
+ "16r0D31" 16rFFFF " invalid "
+ "16r0D32" 16rFFFF " invalid "
+ "16r0D33" 16rFFFF " invalid "
+ "16r0D34" 16rFFFF " invalid "
+ "16r0D35" 16rFFFF " invalid "
+ "16r0D36" 16rFFFF " invalid "
+ "16r0D37" 16rFFFF " invalid "
+ "16r0D38" 16rFFFF " invalid "
+ "16r0D39" 16rFFFF " invalid "
+ "16r0D3A" 16rFFFF " invalid "
+ "16r0D3B" 16rFFFF " invalid "
+ "16r0D3C" 16rFFFF " invalid "
+ "16r0D3D" 16rFFFF " invalid "
+ "16r0D3E" 16rFFFF " invalid "
+ "16r0D3F" 16rFFFF " invalid "
+ "16r0D40" 16rFFFF " invalid "
+ "16r0D41" 16rFFFF " invalid "
+ "16r0D42" 16rFFFF " invalid "
+ "16r0D43" 16rFFFF " invalid "
+ "16r0D44" 16rFFFF " invalid "
+ "16r0D45" 16rFFFF " invalid "
+ "16r0D46" 16rFFFF " invalid "
+ "16r0D47" 16rFFFF " invalid "
+ "16r0D48" 16rFFFF " invalid "
+ "16r0D49" 16rFFFF " invalid "
+ "16r0D4A" 16rFFFF " invalid "
+ "16r0D4B" 16rFFFF " invalid "
+ "16r0D4C" 16rFFFF " invalid "
+ "16r0D4D" 16rFFFF " invalid "
+ "16r0D4E" 16rFFFF " invalid "
+ "16r0D4F" 16rFFFF " invalid "
+ "16r0D50" 16rFFFF " invalid "
+ "16r0D51" 16rFFFF " invalid "
+ "16r0D52" 16rFFFF " invalid "
+ "16r0D53" 16rFFFF " invalid "
+ "16r0D54" 16rFFFF " invalid "
+ "16r0D55" 16rFFFF " invalid "
+ "16r0D56" 16rFFFF " invalid "
+ "16r0D57" 16rFFFF " invalid "
+ "16r0D58" 16rFFFF " invalid "
+ "16r0D59" 16rFFFF " invalid "
+ "16r0D5A" 16rFFFF " invalid "
+ "16r0D5B" 16rFFFF " invalid "
+ "16r0D5C" 16rFFFF " invalid "
+ "16r0D5D" 16rFFFF " invalid "
+ "16r0D5E" 16rFFFF " invalid "
+ "16r0D5F" 16rFFFF " invalid "
+ "16r0D60" 16rFFFF " invalid "
+ "16r0D61" 16rFFFF " invalid "
+ "16r0D62" 16rFFFF " invalid "
+ "16r0D63" 16rFFFF " invalid "
+ "16r0D64" 16rFFFF " invalid "
+ "16r0D65" 16rFFFF " invalid "
+ "16r0D66" 16rFFFF " invalid "
+ "16r0D67" 16rFFFF " invalid "
+ "16r0D68" 16rFFFF " invalid "
+ "16r0D69" 16rFFFF " invalid "
+ "16r0D6A" 16rFFFF " invalid "
+ "16r0D6B" 16rFFFF " invalid "
+ "16r0D6C" 16rFFFF " invalid "
+ "16r0D6D" 16rFFFF " invalid "
+ "16r0D6E" 16rFFFF " invalid "
+ "16r0D6F" 16rFFFF " invalid "
+ "16r0D70" 16rFFFF " invalid "
+ "16r0D71" 16rFFFF " invalid "
+ "16r0D72" 16rFFFF " invalid "
+ "16r0D73" 16rFFFF " invalid "
+ "16r0D74" 16rFFFF " invalid "
+ "16r0D75" 16rFFFF " invalid "
+ "16r0D76" 16rFFFF " invalid "
+ "16r0D77" 16rFFFF " invalid "
+ "16r0D78" 16rFFFF " invalid "
+ "16r0D79" 16rFFFF " invalid "
+ "16r0D7A" 16rFFFF " invalid "
+ "16r0D7B" 16rFFFF " invalid "
+ "16r0D7C" 16rFFFF " invalid "
+ "16r0D7D" 16rFFFF " invalid "
+ "16r0D7E" 16rFFFF " invalid "
+ "16r0D7F" 16rFFFF " invalid "
+ "16r0D80" 16rFFFF " invalid "
+ "16r0D81" 16rFFFF " invalid "
+ "16r0D82" 16rFFFF " invalid "
+ "16r0D83" 16rFFFF " invalid "
+ "16r0D84" 16rFFFF " invalid "
+ "16r0D85" 16rFFFF " invalid "
+ "16r0D86" 16rFFFF " invalid "
+ "16r0D87" 16rFFFF " invalid "
+ "16r0D88" 16rFFFF " invalid "
+ "16r0D89" 16rFFFF " invalid "
+ "16r0D8A" 16rFFFF " invalid "
+ "16r0D8B" 16rFFFF " invalid "
+ "16r0D8C" 16rFFFF " invalid "
+ "16r0D8D" 16rFFFF " invalid "
+ "16r0D8E" 16rFFFF " invalid "
+ "16r0D8F" 16rFFFF " invalid "
+ "16r0D90" 16rFFFF " invalid "
+ "16r0D91" 16rFFFF " invalid "
+ "16r0D92" 16rFFFF " invalid "
+ "16r0D93" 16rFFFF " invalid "
+ "16r0D94" 16rFFFF " invalid "
+ "16r0D95" 16rFFFF " invalid "
+ "16r0D96" 16rFFFF " invalid "
+ "16r0D97" 16rFFFF " invalid "
+ "16r0D98" 16rFFFF " invalid "
+ "16r0D99" 16rFFFF " invalid "
+ "16r0D9A" 16rFFFF " invalid "
+ "16r0D9B" 16rFFFF " invalid "
+ "16r0D9C" 16rFFFF " invalid "
+ "16r0D9D" 16rFFFF " invalid "
+ "16r0D9E" 16rFFFF " invalid "
+ "16r0D9F" 16rFFFF " invalid "
+ "16r0DA0" 16rFFFF " invalid "
+ "16r0DA1" 16rFFFF " invalid "
+ "16r0DA2" 16rFFFF " invalid "
+ "16r0DA3" 16rFFFF " invalid "
+ "16r0DA4" 16rFFFF " invalid "
+ "16r0DA5" 16rFFFF " invalid "
+ "16r0DA6" 16rFFFF " invalid "
+ "16r0DA7" 16rFFFF " invalid "
+ "16r0DA8" 16rFFFF " invalid "
+ "16r0DA9" 16rFFFF " invalid "
+ "16r0DAA" 16rFFFF " invalid "
+ "16r0DAB" 16rFFFF " invalid "
+ "16r0DAC" 16rFFFF " invalid "
+ "16r0DAD" 16rFFFF " invalid "
+ "16r0DAE" 16rFFFF " invalid "
+ "16r0DAF" 16rFFFF " invalid "
+ "16r0DB0" 16rFFFF " invalid "
+ "16r0DB1" 16rFFFF " invalid "
+ "16r0DB2" 16rFFFF " invalid "
+ "16r0DB3" 16rFFFF " invalid "
+ "16r0DB4" 16rFFFF " invalid "
+ "16r0DB5" 16rFFFF " invalid "
+ "16r0DB6" 16rFFFF " invalid "
+ "16r0DB7" 16rFFFF " invalid "
+ "16r0DB8" 16rFFFF " invalid "
+ "16r0DB9" 16rFFFF " invalid "
+ "16r0DBA" 16rFFFF " invalid "
+ "16r0DBB" 16rFFFF " invalid "
+ "16r0DBC" 16rFFFF " invalid "
+ "16r0DBD" 16rFFFF " invalid "
+ "16r0DBE" 16rFFFF " invalid "
+ "16r0DBF" 16rFFFF " invalid "
+ "16r0DC0" 16rFFFF " invalid "
+ "16r0DC1" 16rFFFF " invalid "
+ "16r0DC2" 16rFFFF " invalid "
+ "16r0DC3" 16rFFFF " invalid "
+ "16r0DC4" 16rFFFF " invalid "
+ "16r0DC5" 16rFFFF " invalid "
+ "16r0DC6" 16rFFFF " invalid "
+ "16r0DC7" 16rFFFF " invalid "
+ "16r0DC8" 16rFFFF " invalid "
+ "16r0DC9" 16rFFFF " invalid "
+ "16r0DCA" 16rFFFF " invalid "
+ "16r0DCB" 16rFFFF " invalid "
+ "16r0DCC" 16rFFFF " invalid "
+ "16r0DCD" 16rFFFF " invalid "
+ "16r0DCE" 16rFFFF " invalid "
+ "16r0DCF" 16rFFFF " invalid "
+ "16r0DD0" 16rFFFF " invalid "
+ "16r0DD1" 16rFFFF " invalid "
+ "16r0DD2" 16rFFFF " invalid "
+ "16r0DD3" 16rFFFF " invalid "
+ "16r0DD4" 16rFFFF " invalid "
+ "16r0DD5" 16rFFFF " invalid "
+ "16r0DD6" 16rFFFF " invalid "
+ "16r0DD7" 16rFFFF " invalid "
+ "16r0DD8" 16rFFFF " invalid "
+ "16r0DD9" 16rFFFF " invalid "
+ "16r0DDA" 16rFFFF " invalid "
+ "16r0DDB" 16rFFFF " invalid "
+ "16r0DDC" 16rFFFF " invalid "
+ "16r0DDD" 16rFFFF " invalid "
+ "16r0DDE" 16rFFFF " invalid "
+ "16r0DDF" 16rFFFF " invalid "
+ "16r0DE0" 16rFFFF " invalid "
+ "16r0DE1" 16rFFFF " invalid "
+ "16r0DE2" 16rFFFF " invalid "
+ "16r0DE3" 16rFFFF " invalid "
+ "16r0DE4" 16rFFFF " invalid "
+ "16r0DE5" 16rFFFF " invalid "
+ "16r0DE6" 16rFFFF " invalid "
+ "16r0DE7" 16rFFFF " invalid "
+ "16r0DE8" 16rFFFF " invalid "
+ "16r0DE9" 16rFFFF " invalid "
+ "16r0DEA" 16rFFFF " invalid "
+ "16r0DEB" 16rFFFF " invalid "
+ "16r0DEC" 16rFFFF " invalid "
+ "16r0DED" 16rFFFF " invalid "
+ "16r0DEE" 16rFFFF " invalid "
+ "16r0DEF" 16rFFFF " invalid "
+ "16r0DF0" 16rFFFF " invalid "
+ "16r0DF1" 16rFFFF " invalid "
+ "16r0DF2" 16rFFFF " invalid "
+ "16r0DF3" 16rFFFF " invalid "
+ "16r0DF4" 16rFFFF " invalid "
+ "16r0DF5" 16rFFFF " invalid "
+ "16r0DF6" 16rFFFF " invalid "
+ "16r0DF7" 16rFFFF " invalid "
+ "16r0DF8" 16rFFFF " invalid "
+ "16r0DF9" 16rFFFF " invalid "
+ "16r0DFA" 16rFFFF " invalid "
+ "16r0DFB" 16rFFFF " invalid "
+ "16r0DFC" 16rFFFF " invalid "
+ "16r0DFD" 16rFFFF " invalid "
+ "16r0DFE" 16rFFFF " invalid "
+ "16r0DFF" 16rFFFF " invalid "
+ "16r0E00" 16rFFFF " invalid "
+ "16r0E01" 16rFFFF " invalid "
+ "16r0E02" 16rFFFF " invalid "
+ "16r0E03" 16rFFFF " invalid "
+ "16r0E04" 16rFFFF " invalid "
+ "16r0E05" 16rFFFF " invalid "
+ "16r0E06" 16rFFFF " invalid "
+ "16r0E07" 16rFFFF " invalid "
+ "16r0E08" 16rFFFF " invalid "
+ "16r0E09" 16rFFFF " invalid "
+ "16r0E0A" 16rFFFF " invalid "
+ "16r0E0B" 16rFFFF " invalid "
+ "16r0E0C" 16rFFFF " invalid "
+ "16r0E0D" 16rFFFF " invalid "
+ "16r0E0E" 16rFFFF " invalid "
+ "16r0E0F" 16rFFFF " invalid "
+ "16r0E10" 16rFFFF " invalid "
+ "16r0E11" 16rFFFF " invalid "
+ "16r0E12" 16rFFFF " invalid "
+ "16r0E13" 16rFFFF " invalid "
+ "16r0E14" 16rFFFF " invalid "
+ "16r0E15" 16rFFFF " invalid "
+ "16r0E16" 16rFFFF " invalid "
+ "16r0E17" 16rFFFF " invalid "
+ "16r0E18" 16rFFFF " invalid "
+ "16r0E19" 16rFFFF " invalid "
+ "16r0E1A" 16rFFFF " invalid "
+ "16r0E1B" 16rFFFF " invalid "
+ "16r0E1C" 16rFFFF " invalid "
+ "16r0E1D" 16rFFFF " invalid "
+ "16r0E1E" 16rFFFF " invalid "
+ "16r0E1F" 16rFFFF " invalid "
+ "16r0E20" 16rFFFF " invalid "
+ "16r0E21" 16rFFFF " invalid "
+ "16r0E22" 16rFFFF " invalid "
+ "16r0E23" 16rFFFF " invalid "
+ "16r0E24" 16rFFFF " invalid "
+ "16r0E25" 16rFFFF " invalid "
+ "16r0E26" 16rFFFF " invalid "
+ "16r0E27" 16rFFFF " invalid "
+ "16r0E28" 16rFFFF " invalid "
+ "16r0E29" 16rFFFF " invalid "
+ "16r0E2A" 16rFFFF " invalid "
+ "16r0E2B" 16rFFFF " invalid "
+ "16r0E2C" 16rFFFF " invalid "
+ "16r0E2D" 16rFFFF " invalid "
+ "16r0E2E" 16rFFFF " invalid "
+ "16r0E2F" 16rFFFF " invalid "
+ "16r0E30" 16rFFFF " invalid "
+ "16r0E31" 16rFFFF " invalid "
+ "16r0E32" 16rFFFF " invalid "
+ "16r0E33" 16rFFFF " invalid "
+ "16r0E34" 16rFFFF " invalid "
+ "16r0E35" 16rFFFF " invalid "
+ "16r0E36" 16rFFFF " invalid "
+ "16r0E37" 16rFFFF " invalid "
+ "16r0E38" 16rFFFF " invalid "
+ "16r0E39" 16rFFFF " invalid "
+ "16r0E3A" 16rFFFF " invalid "
+ "16r0E3B" 16rFFFF " invalid "
+ "16r0E3C" 16rFFFF " invalid "
+ "16r0E3D" 16rFFFF " invalid "
+ "16r0E3E" 16rFFFF " invalid "
+ "16r0E3F" 16rFFFF " invalid "
+ "16r0E40" 16rFFFF " invalid "
+ "16r0E41" 16rFFFF " invalid "
+ "16r0E42" 16rFFFF " invalid "
+ "16r0E43" 16rFFFF " invalid "
+ "16r0E44" 16rFFFF " invalid "
+ "16r0E45" 16rFFFF " invalid "
+ "16r0E46" 16rFFFF " invalid "
+ "16r0E47" 16rFFFF " invalid "
+ "16r0E48" 16rFFFF " invalid "
+ "16r0E49" 16rFFFF " invalid "
+ "16r0E4A" 16rFFFF " invalid "
+ "16r0E4B" 16rFFFF " invalid "
+ "16r0E4C" 16rFFFF " invalid "
+ "16r0E4D" 16rFFFF " invalid "
+ "16r0E4E" 16rFFFF " invalid "
+ "16r0E4F" 16rFFFF " invalid "
+ "16r0E50" 16rFFFF " invalid "
+ "16r0E51" 16rFFFF " invalid "
+ "16r0E52" 16rFFFF " invalid "
+ "16r0E53" 16rFFFF " invalid "
+ "16r0E54" 16rFFFF " invalid "
+ "16r0E55" 16rFFFF " invalid "
+ "16r0E56" 16rFFFF " invalid "
+ "16r0E57" 16rFFFF " invalid "
+ "16r0E58" 16rFFFF " invalid "
+ "16r0E59" 16rFFFF " invalid "
+ "16r0E5A" 16rFFFF " invalid "
+ "16r0E5B" 16rFFFF " invalid "
+ "16r0E5C" 16rFFFF " invalid "
+ "16r0E5D" 16rFFFF " invalid "
+ "16r0E5E" 16rFFFF " invalid "
+ "16r0E5F" 16rFFFF " invalid "
+ "16r0E60" 16rFFFF " invalid "
+ "16r0E61" 16rFFFF " invalid "
+ "16r0E62" 16rFFFF " invalid "
+ "16r0E63" 16rFFFF " invalid "
+ "16r0E64" 16rFFFF " invalid "
+ "16r0E65" 16rFFFF " invalid "
+ "16r0E66" 16rFFFF " invalid "
+ "16r0E67" 16rFFFF " invalid "
+ "16r0E68" 16rFFFF " invalid "
+ "16r0E69" 16rFFFF " invalid "
+ "16r0E6A" 16rFFFF " invalid "
+ "16r0E6B" 16rFFFF " invalid "
+ "16r0E6C" 16rFFFF " invalid "
+ "16r0E6D" 16rFFFF " invalid "
+ "16r0E6E" 16rFFFF " invalid "
+ "16r0E6F" 16rFFFF " invalid "
+ "16r0E70" 16rFFFF " invalid "
+ "16r0E71" 16rFFFF " invalid "
+ "16r0E72" 16rFFFF " invalid "
+ "16r0E73" 16rFFFF " invalid "
+ "16r0E74" 16rFFFF " invalid "
+ "16r0E75" 16rFFFF " invalid "
+ "16r0E76" 16rFFFF " invalid "
+ "16r0E77" 16rFFFF " invalid "
+ "16r0E78" 16rFFFF " invalid "
+ "16r0E79" 16rFFFF " invalid "
+ "16r0E7A" 16rFFFF " invalid "
+ "16r0E7B" 16rFFFF " invalid "
+ "16r0E7C" 16rFFFF " invalid "
+ "16r0E7D" 16rFFFF " invalid "
+ "16r0E7E" 16rFFFF " invalid "
+ "16r0E7F" 16rFFFF " invalid "
+ "16r0E80" 16rFFFF " invalid "
+ "16r0E81" 16rFFFF " invalid "
+ "16r0E82" 16rFFFF " invalid "
+ "16r0E83" 16rFFFF " invalid "
+ "16r0E84" 16rFFFF " invalid "
+ "16r0E85" 16rFFFF " invalid "
+ "16r0E86" 16rFFFF " invalid "
+ "16r0E87" 16rFFFF " invalid "
+ "16r0E88" 16rFFFF " invalid "
+ "16r0E89" 16rFFFF " invalid "
+ "16r0E8A" 16rFFFF " invalid "
+ "16r0E8B" 16rFFFF " invalid "
+ "16r0E8C" 16rFFFF " invalid "
+ "16r0E8D" 16rFFFF " invalid "
+ "16r0E8E" 16rFFFF " invalid "
+ "16r0E8F" 16rFFFF " invalid "
+ "16r0E90" 16rFFFF " invalid "
+ "16r0E91" 16rFFFF " invalid "
+ "16r0E92" 16rFFFF " invalid "
+ "16r0E93" 16rFFFF " invalid "
+ "16r0E94" 16rFFFF " invalid "
+ "16r0E95" 16rFFFF " invalid "
+ "16r0E96" 16rFFFF " invalid "
+ "16r0E97" 16rFFFF " invalid "
+ "16r0E98" 16rFFFF " invalid "
+ "16r0E99" 16rFFFF " invalid "
+ "16r0E9A" 16rFFFF " invalid "
+ "16r0E9B" 16rFFFF " invalid "
+ "16r0E9C" 16rFFFF " invalid "
+ "16r0E9D" 16rFFFF " invalid "
+ "16r0E9E" 16rFFFF " invalid "
+ "16r0E9F" 16rFFFF " invalid "
+ "16r0EA0" 16rFFFF " invalid "
+ "16r0EA1" 16rFFFF " invalid "
+ "16r0EA2" 16rFFFF " invalid "
+ "16r0EA3" 16rFFFF " invalid "
+ "16r0EA4" 16rFFFF " invalid "
+ "16r0EA5" 16rFFFF " invalid "
+ "16r0EA6" 16rFFFF " invalid "
+ "16r0EA7" 16rFFFF " invalid "
+ "16r0EA8" 16rFFFF " invalid "
+ "16r0EA9" 16rFFFF " invalid "
+ "16r0EAA" 16rFFFF " invalid "
+ "16r0EAB" 16rFFFF " invalid "
+ "16r0EAC" 16rFFFF " invalid "
+ "16r0EAD" 16rFFFF " invalid "
+ "16r0EAE" 16rFFFF " invalid "
+ "16r0EAF" 16rFFFF " invalid "
+ "16r0EB0" 16rFFFF " invalid "
+ "16r0EB1" 16rFFFF " invalid "
+ "16r0EB2" 16rFFFF " invalid "
+ "16r0EB3" 16rFFFF " invalid "
+ "16r0EB4" 16rFFFF " invalid "
+ "16r0EB5" 16rFFFF " invalid "
+ "16r0EB6" 16rFFFF " invalid "
+ "16r0EB7" 16rFFFF " invalid "
+ "16r0EB8" 16rFFFF " invalid "
+ "16r0EB9" 16rFFFF " invalid "
+ "16r0EBA" 16rFFFF " invalid "
+ "16r0EBB" 16rFFFF " invalid "
+ "16r0EBC" 16rFFFF " invalid "
+ "16r0EBD" 16rFFFF " invalid "
+ "16r0EBE" 16rFFFF " invalid "
+ "16r0EBF" 16rFFFF " invalid "
+ "16r0EC0" 16rFFFF " invalid "
+ "16r0EC1" 16rFFFF " invalid "
+ "16r0EC2" 16rFFFF " invalid "
+ "16r0EC3" 16rFFFF " invalid "
+ "16r0EC4" 16rFFFF " invalid "
+ "16r0EC5" 16rFFFF " invalid "
+ "16r0EC6" 16rFFFF " invalid "
+ "16r0EC7" 16rFFFF " invalid "
+ "16r0EC8" 16rFFFF " invalid "
+ "16r0EC9" 16rFFFF " invalid "
+ "16r0ECA" 16rFFFF " invalid "
+ "16r0ECB" 16rFFFF " invalid "
+ "16r0ECC" 16rFFFF " invalid "
+ "16r0ECD" 16rFFFF " invalid "
+ "16r0ECE" 16rFFFF " invalid "
+ "16r0ECF" 16rFFFF " invalid "
+ "16r0ED0" 16rFFFF " invalid "
+ "16r0ED1" 16rFFFF " invalid "
+ "16r0ED2" 16rFFFF " invalid "
+ "16r0ED3" 16rFFFF " invalid "
+ "16r0ED4" 16rFFFF " invalid "
+ "16r0ED5" 16rFFFF " invalid "
+ "16r0ED6" 16rFFFF " invalid "
+ "16r0ED7" 16rFFFF " invalid "
+ "16r0ED8" 16rFFFF " invalid "
+ "16r0ED9" 16rFFFF " invalid "
+ "16r0EDA" 16rFFFF " invalid "
+ "16r0EDB" 16rFFFF " invalid "
+ "16r0EDC" 16rFFFF " invalid "
+ "16r0EDD" 16rFFFF " invalid "
+ "16r0EDE" 16rFFFF " invalid "
+ "16r0EDF" 16rFFFF " invalid "
+ "16r0EE0" 16rFFFF " invalid "
+ "16r0EE1" 16rFFFF " invalid "
+ "16r0EE2" 16rFFFF " invalid "
+ "16r0EE3" 16rFFFF " invalid "
+ "16r0EE4" 16rFFFF " invalid "
+ "16r0EE5" 16rFFFF " invalid "
+ "16r0EE6" 16rFFFF " invalid "
+ "16r0EE7" 16rFFFF " invalid "
+ "16r0EE8" 16rFFFF " invalid "
+ "16r0EE9" 16rFFFF " invalid "
+ "16r0EEA" 16rFFFF " invalid "
+ "16r0EEB" 16rFFFF " invalid "
+ "16r0EEC" 16rFFFF " invalid "
+ "16r0EED" 16rFFFF " invalid "
+ "16r0EEE" 16rFFFF " invalid "
+ "16r0EEF" 16rFFFF " invalid "
+ "16r0EF0" 16rFFFF " invalid "
+ "16r0EF1" 16rFFFF " invalid "
+ "16r0EF2" 16rFFFF " invalid "
+ "16r0EF3" 16rFFFF " invalid "
+ "16r0EF4" 16rFFFF " invalid "
+ "16r0EF5" 16rFFFF " invalid "
+ "16r0EF6" 16rFFFF " invalid "
+ "16r0EF7" 16rFFFF " invalid "
+ "16r0EF8" 16rFFFF " invalid "
+ "16r0EF9" 16rFFFF " invalid "
+ "16r0EFA" 16rFFFF " invalid "
+ "16r0EFB" 16rFFFF " invalid "
+ "16r0EFC" 16rFFFF " invalid "
+ "16r0EFD" 16rFFFF " invalid "
+ "16r0EFE" 16rFFFF " invalid "
+ "16r0EFF" 16rFFFF " invalid "
+ "16r0F00" 16rFFFF " invalid "
+ "16r0F01" 16rFFFF " invalid "
+ "16r0F02" 16rFFFF " invalid "
+ "16r0F03" 16rFFFF " invalid "
+ "16r0F04" 16rFFFF " invalid "
+ "16r0F05" 16rFFFF " invalid "
+ "16r0F06" 16rFFFF " invalid "
+ "16r0F07" 16rFFFF " invalid "
+ "16r0F08" 16rFFFF " invalid "
+ "16r0F09" 16rFFFF " invalid "
+ "16r0F0A" 16rFFFF " invalid "
+ "16r0F0B" 16rFFFF " invalid "
+ "16r0F0C" 16rFFFF " invalid "
+ "16r0F0D" 16rFFFF " invalid "
+ "16r0F0E" 16rFFFF " invalid "
+ "16r0F0F" 16rFFFF " invalid "
+ "16r0F10" 16rFFFF " invalid "
+ "16r0F11" 16rFFFF " invalid "
+ "16r0F12" 16rFFFF " invalid "
+ "16r0F13" 16rFFFF " invalid "
+ "16r0F14" 16rFFFF " invalid "
+ "16r0F15" 16rFFFF " invalid "
+ "16r0F16" 16rFFFF " invalid "
+ "16r0F17" 16rFFFF " invalid "
+ "16r0F18" 16rFFFF " invalid "
+ "16r0F19" 16rFFFF " invalid "
+ "16r0F1A" 16rFFFF " invalid "
+ "16r0F1B" 16rFFFF " invalid "
+ "16r0F1C" 16rFFFF " invalid "
+ "16r0F1D" 16rFFFF " invalid "
+ "16r0F1E" 16rFFFF " invalid "
+ "16r0F1F" 16rFFFF " invalid "
+ "16r0F20" 16rFFFF " invalid "
+ "16r0F21" 16rFFFF " invalid "
+ "16r0F22" 16rFFFF " invalid "
+ "16r0F23" 16rFFFF " invalid "
+ "16r0F24" 16rFFFF " invalid "
+ "16r0F25" 16rFFFF " invalid "
+ "16r0F26" 16rFFFF " invalid "
+ "16r0F27" 16rFFFF " invalid "
+ "16r0F28" 16rFFFF " invalid "
+ "16r0F29" 16rFFFF " invalid "
+ "16r0F2A" 16rFFFF " invalid "
+ "16r0F2B" 16rFFFF " invalid "
+ "16r0F2C" 16rFFFF " invalid "
+ "16r0F2D" 16rFFFF " invalid "
+ "16r0F2E" 16rFFFF " invalid "
+ "16r0F2F" 16rFFFF " invalid "
+ "16r0F30" 16rFFFF " invalid "
+ "16r0F31" 16rFFFF " invalid "
+ "16r0F32" 16rFFFF " invalid "
+ "16r0F33" 16rFFFF " invalid "
+ "16r0F34" 16rFFFF " invalid "
+ "16r0F35" 16rFFFF " invalid "
+ "16r0F36" 16rFFFF " invalid "
+ "16r0F37" 16rFFFF " invalid "
+ "16r0F38" 16rFFFF " invalid "
+ "16r0F39" 16rFFFF " invalid "
+ "16r0F3A" 16rFFFF " invalid "
+ "16r0F3B" 16rFFFF " invalid "
+ "16r0F3C" 16rFFFF " invalid "
+ "16r0F3D" 16rFFFF " invalid "
+ "16r0F3E" 16rFFFF " invalid "
+ "16r0F3F" 16rFFFF " invalid "
+ "16r0F40" 16rFFFF " invalid "
+ "16r0F41" 16rFFFF " invalid "
+ "16r0F42" 16rFFFF " invalid "
+ "16r0F43" 16rFFFF " invalid "
+ "16r0F44" 16rFFFF " invalid "
+ "16r0F45" 16rFFFF " invalid "
+ "16r0F46" 16rFFFF " invalid "
+ "16r0F47" 16rFFFF " invalid "
+ "16r0F48" 16rFFFF " invalid "
+ "16r0F49" 16rFFFF " invalid "
+ "16r0F4A" 16rFFFF " invalid "
+ "16r0F4B" 16rFFFF " invalid "
+ "16r0F4C" 16rFFFF " invalid "
+ "16r0F4D" 16rFFFF " invalid "
+ "16r0F4E" 16rFFFF " invalid "
+ "16r0F4F" 16rFFFF " invalid "
+ "16r0F50" 16rFFFF " invalid "
+ "16r0F51" 16rFFFF " invalid "
+ "16r0F52" 16rFFFF " invalid "
+ "16r0F53" 16rFFFF " invalid "
+ "16r0F54" 16rFFFF " invalid "
+ "16r0F55" 16rFFFF " invalid "
+ "16r0F56" 16rFFFF " invalid "
+ "16r0F57" 16rFFFF " invalid "
+ "16r0F58" 16rFFFF " invalid "
+ "16r0F59" 16rFFFF " invalid "
+ "16r0F5A" 16rFFFF " invalid "
+ "16r0F5B" 16rFFFF " invalid "
+ "16r0F5C" 16rFFFF " invalid "
+ "16r0F5D" 16rFFFF " invalid "
+ "16r0F5E" 16rFFFF " invalid "
+ "16r0F5F" 16rFFFF " invalid "
+ "16r0F60" 16rFFFF " invalid "
+ "16r0F61" 16rFFFF " invalid "
+ "16r0F62" 16rFFFF " invalid "
+ "16r0F63" 16rFFFF " invalid "
+ "16r0F64" 16rFFFF " invalid "
+ "16r0F65" 16rFFFF " invalid "
+ "16r0F66" 16rFFFF " invalid "
+ "16r0F67" 16rFFFF " invalid "
+ "16r0F68" 16rFFFF " invalid "
+ "16r0F69" 16rFFFF " invalid "
+ "16r0F6A" 16rFFFF " invalid "
+ "16r0F6B" 16rFFFF " invalid "
+ "16r0F6C" 16rFFFF " invalid "
+ "16r0F6D" 16rFFFF " invalid "
+ "16r0F6E" 16rFFFF " invalid "
+ "16r0F6F" 16rFFFF " invalid "
+ "16r0F70" 16rFFFF " invalid "
+ "16r0F71" 16rFFFF " invalid "
+ "16r0F72" 16rFFFF " invalid "
+ "16r0F73" 16rFFFF " invalid "
+ "16r0F74" 16rFFFF " invalid "
+ "16r0F75" 16rFFFF " invalid "
+ "16r0F76" 16rFFFF " invalid "
+ "16r0F77" 16rFFFF " invalid "
+ "16r0F78" 16rFFFF " invalid "
+ "16r0F79" 16rFFFF " invalid "
+ "16r0F7A" 16rFFFF " invalid "
+ "16r0F7B" 16rFFFF " invalid "
+ "16r0F7C" 16rFFFF " invalid "
+ "16r0F7D" 16rFFFF " invalid "
+ "16r0F7E" 16rFFFF " invalid "
+ "16r0F7F" 16rFFFF " invalid "
+ "16r0F80" 16rFFFF " invalid "
+ "16r0F81" 16rFFFF " invalid "
+ "16r0F82" 16rFFFF " invalid "
+ "16r0F83" 16rFFFF " invalid "
+ "16r0F84" 16rFFFF " invalid "
+ "16r0F85" 16rFFFF " invalid "
+ "16r0F86" 16rFFFF " invalid "
+ "16r0F87" 16rFFFF " invalid "
+ "16r0F88" 16rFFFF " invalid "
+ "16r0F89" 16rFFFF " invalid "
+ "16r0F8A" 16rFFFF " invalid "
+ "16r0F8B" 16rFFFF " invalid "
+ "16r0F8C" 16rFFFF " invalid "
+ "16r0F8D" 16rFFFF " invalid "
+ "16r0F8E" 16rFFFF " invalid "
+ "16r0F8F" 16rFFFF " invalid "
+ "16r0F90" 16rFFFF " invalid "
+ "16r0F91" 16rFFFF " invalid "
+ "16r0F92" 16rFFFF " invalid "
+ "16r0F93" 16rFFFF " invalid "
+ "16r0F94" 16rFFFF " invalid "
+ "16r0F95" 16rFFFF " invalid "
+ "16r0F96" 16rFFFF " invalid "
+ "16r0F97" 16rFFFF " invalid "
+ "16r0F98" 16rFFFF " invalid "
+ "16r0F99" 16rFFFF " invalid "
+ "16r0F9A" 16rFFFF " invalid "
+ "16r0F9B" 16rFFFF " invalid "
+ "16r0F9C" 16rFFFF " invalid "
+ "16r0F9D" 16rFFFF " invalid "
+ "16r0F9E" 16rFFFF " invalid "
+ "16r0F9F" 16rFFFF " invalid "
+ "16r0FA0" 16rFFFF " invalid "
+ "16r0FA1" 16rFFFF " invalid "
+ "16r0FA2" 16rFFFF " invalid "
+ "16r0FA3" 16rFFFF " invalid "
+ "16r0FA4" 16rFFFF " invalid "
+ "16r0FA5" 16rFFFF " invalid "
+ "16r0FA6" 16rFFFF " invalid "
+ "16r0FA7" 16rFFFF " invalid "
+ "16r0FA8" 16rFFFF " invalid "
+ "16r0FA9" 16rFFFF " invalid "
+ "16r0FAA" 16rFFFF " invalid "
+ "16r0FAB" 16rFFFF " invalid "
+ "16r0FAC" 16rFFFF " invalid "
+ "16r0FAD" 16rFFFF " invalid "
+ "16r0FAE" 16rFFFF " invalid "
+ "16r0FAF" 16rFFFF " invalid "
+ "16r0FB0" 16rFFFF " invalid "
+ "16r0FB1" 16rFFFF " invalid "
+ "16r0FB2" 16rFFFF " invalid "
+ "16r0FB3" 16rFFFF " invalid "
+ "16r0FB4" 16rFFFF " invalid "
+ "16r0FB5" 16rFFFF " invalid "
+ "16r0FB6" 16rFFFF " invalid "
+ "16r0FB7" 16rFFFF " invalid "
+ "16r0FB8" 16rFFFF " invalid "
+ "16r0FB9" 16rFFFF " invalid "
+ "16r0FBA" 16rFFFF " invalid "
+ "16r0FBB" 16rFFFF " invalid "
+ "16r0FBC" 16rFFFF " invalid "
+ "16r0FBD" 16rFFFF " invalid "
+ "16r0FBE" 16rFFFF " invalid "
+ "16r0FBF" 16rFFFF " invalid "
+ "16r0FC0" 16rFFFF " invalid "
+ "16r0FC1" 16rFFFF " invalid "
+ "16r0FC2" 16rFFFF " invalid "
+ "16r0FC3" 16rFFFF " invalid "
+ "16r0FC4" 16rFFFF " invalid "
+ "16r0FC5" 16rFFFF " invalid "
+ "16r0FC6" 16rFFFF " invalid "
+ "16r0FC7" 16rFFFF " invalid "
+ "16r0FC8" 16rFFFF " invalid "
+ "16r0FC9" 16rFFFF " invalid "
+ "16r0FCA" 16rFFFF " invalid "
+ "16r0FCB" 16rFFFF " invalid "
+ "16r0FCC" 16rFFFF " invalid "
+ "16r0FCD" 16rFFFF " invalid "
+ "16r0FCE" 16rFFFF " invalid "
+ "16r0FCF" 16rFFFF " invalid "
+ "16r0FD0" 16rFFFF " invalid "
+ "16r0FD1" 16rFFFF " invalid "
+ "16r0FD2" 16rFFFF " invalid "
+ "16r0FD3" 16rFFFF " invalid "
+ "16r0FD4" 16rFFFF " invalid "
+ "16r0FD5" 16rFFFF " invalid "
+ "16r0FD6" 16rFFFF " invalid "
+ "16r0FD7" 16rFFFF " invalid "
+ "16r0FD8" 16rFFFF " invalid "
+ "16r0FD9" 16rFFFF " invalid "
+ "16r0FDA" 16rFFFF " invalid "
+ "16r0FDB" 16rFFFF " invalid "
+ "16r0FDC" 16rFFFF " invalid "
+ "16r0FDD" 16rFFFF " invalid "
+ "16r0FDE" 16rFFFF " invalid "
+ "16r0FDF" 16rFFFF " invalid "
+ "16r0FE0" 16rFFFF " invalid "
+ "16r0FE1" 16rFFFF " invalid "
+ "16r0FE2" 16rFFFF " invalid "
+ "16r0FE3" 16rFFFF " invalid "
+ "16r0FE4" 16rFFFF " invalid "
+ "16r0FE5" 16rFFFF " invalid "
+ "16r0FE6" 16rFFFF " invalid "
+ "16r0FE7" 16rFFFF " invalid "
+ "16r0FE8" 16rFFFF " invalid "
+ "16r0FE9" 16rFFFF " invalid "
+ "16r0FEA" 16rFFFF " invalid "
+ "16r0FEB" 16rFFFF " invalid "
+ "16r0FEC" 16rFFFF " invalid "
+ "16r0FED" 16rFFFF " invalid "
+ "16r0FEE" 16rFFFF " invalid "
+ "16r0FEF" 16rFFFF " invalid "
+ "16r0FF0" 16rFFFF " invalid "
+ "16r0FF1" 16rFFFF " invalid "
+ "16r0FF2" 16rFFFF " invalid "
+ "16r0FF3" 16rFFFF " invalid "
+ "16r0FF4" 16rFFFF " invalid "
+ "16r0FF5" 16rFFFF " invalid "
+ "16r0FF6" 16rFFFF " invalid "
+ "16r0FF7" 16rFFFF " invalid "
+ "16r0FF8" 16rFFFF " invalid "
+ "16r0FF9" 16rFFFF " invalid "
+ "16r0FFA" 16rFFFF " invalid "
+ "16r0FFB" 16rFFFF " invalid "
+ "16r0FFC" 16rFFFF " invalid "
+ "16r0FFD" 16rFFFF " invalid "
+ "16r0FFE" 16rFFFF " invalid "
+ "16r0FFF" 16rFFFF " invalid "
+ "16r1000" 16rFFFF " invalid "
+ "16r1001" 16rFFFF " invalid "
+ "16r1002" 16rFFFF " invalid "
+ "16r1003" 16rFFFF " invalid "
+ "16r1004" 16rFFFF " invalid "
+ "16r1005" 16rFFFF " invalid "
+ "16r1006" 16rFFFF " invalid "
+ "16r1007" 16rFFFF " invalid "
+ "16r1008" 16rFFFF " invalid "
+ "16r1009" 16rFFFF " invalid "
+ "16r100A" 16rFFFF " invalid "
+ "16r100B" 16rFFFF " invalid "
+ "16r100C" 16rFFFF " invalid "
+ "16r100D" 16rFFFF " invalid "
+ "16r100E" 16rFFFF " invalid "
+ "16r100F" 16rFFFF " invalid "
+ "16r1010" 16rFFFF " invalid "
+ "16r1011" 16rFFFF " invalid "
+ "16r1012" 16rFFFF " invalid "
+ "16r1013" 16rFFFF " invalid "
+ "16r1014" 16rFFFF " invalid "
+ "16r1015" 16rFFFF " invalid "
+ "16r1016" 16rFFFF " invalid "
+ "16r1017" 16rFFFF " invalid "
+ "16r1018" 16rFFFF " invalid "
+ "16r1019" 16rFFFF " invalid "
+ "16r101A" 16rFFFF " invalid "
+ "16r101B" 16rFFFF " invalid "
+ "16r101C" 16rFFFF " invalid "
+ "16r101D" 16rFFFF " invalid "
+ "16r101E" 16rFFFF " invalid "
+ "16r101F" 16rFFFF " invalid "
+ "16r1020" 16rFFFF " invalid "
+ "16r1021" 16rFFFF " invalid "
+ "16r1022" 16rFFFF " invalid "
+ "16r1023" 16rFFFF " invalid "
+ "16r1024" 16rFFFF " invalid "
+ "16r1025" 16rFFFF " invalid "
+ "16r1026" 16rFFFF " invalid "
+ "16r1027" 16rFFFF " invalid "
+ "16r1028" 16rFFFF " invalid "
+ "16r1029" 16rFFFF " invalid "
+ "16r102A" 16rFFFF " invalid "
+ "16r102B" 16rFFFF " invalid "
+ "16r102C" 16rFFFF " invalid "
+ "16r102D" 16rFFFF " invalid "
+ "16r102E" 16rFFFF " invalid "
+ "16r102F" 16rFFFF " invalid "
+ "16r1030" 16rFFFF " invalid "
+ "16r1031" 16rFFFF " invalid "
+ "16r1032" 16rFFFF " invalid "
+ "16r1033" 16rFFFF " invalid "
+ "16r1034" 16rFFFF " invalid "
+ "16r1035" 16rFFFF " invalid "
+ "16r1036" 16rFFFF " invalid "
+ "16r1037" 16rFFFF " invalid "
+ "16r1038" 16rFFFF " invalid "
+ "16r1039" 16rFFFF " invalid "
+ "16r103A" 16rFFFF " invalid "
+ "16r103B" 16rFFFF " invalid "
+ "16r103C" 16rFFFF " invalid "
+ "16r103D" 16rFFFF " invalid "
+ "16r103E" 16rFFFF " invalid "
+ "16r103F" 16rFFFF " invalid "
+ "16r1040" 16rFFFF " invalid "
+ "16r1041" 16rFFFF " invalid "
+ "16r1042" 16rFFFF " invalid "
+ "16r1043" 16rFFFF " invalid "
+ "16r1044" 16rFFFF " invalid "
+ "16r1045" 16rFFFF " invalid "
+ "16r1046" 16rFFFF " invalid "
+ "16r1047" 16rFFFF " invalid "
+ "16r1048" 16rFFFF " invalid "
+ "16r1049" 16rFFFF " invalid "
+ "16r104A" 16rFFFF " invalid "
+ "16r104B" 16rFFFF " invalid "
+ "16r104C" 16rFFFF " invalid "
+ "16r104D" 16rFFFF " invalid "
+ "16r104E" 16rFFFF " invalid "
+ "16r104F" 16rFFFF " invalid "
+ "16r1050" 16rFFFF " invalid "
+ "16r1051" 16rFFFF " invalid "
+ "16r1052" 16rFFFF " invalid "
+ "16r1053" 16rFFFF " invalid "
+ "16r1054" 16rFFFF " invalid "
+ "16r1055" 16rFFFF " invalid "
+ "16r1056" 16rFFFF " invalid "
+ "16r1057" 16rFFFF " invalid "
+ "16r1058" 16rFFFF " invalid "
+ "16r1059" 16rFFFF " invalid "
+ "16r105A" 16rFFFF " invalid "
+ "16r105B" 16rFFFF " invalid "
+ "16r105C" 16rFFFF " invalid "
+ "16r105D" 16rFFFF " invalid "
+ "16r105E" 16rFFFF " invalid "
+ "16r105F" 16rFFFF " invalid "
+ "16r1060" 16rFFFF " invalid "
+ "16r1061" 16rFFFF " invalid "
+ "16r1062" 16rFFFF " invalid "
+ "16r1063" 16rFFFF " invalid "
+ "16r1064" 16rFFFF " invalid "
+ "16r1065" 16rFFFF " invalid "
+ "16r1066" 16rFFFF " invalid "
+ "16r1067" 16rFFFF " invalid "
+ "16r1068" 16rFFFF " invalid "
+ "16r1069" 16rFFFF " invalid "
+ "16r106A" 16rFFFF " invalid "
+ "16r106B" 16rFFFF " invalid "
+ "16r106C" 16rFFFF " invalid "
+ "16r106D" 16rFFFF " invalid "
+ "16r106E" 16rFFFF " invalid "
+ "16r106F" 16rFFFF " invalid "
+ "16r1070" 16rFFFF " invalid "
+ "16r1071" 16rFFFF " invalid "
+ "16r1072" 16rFFFF " invalid "
+ "16r1073" 16rFFFF " invalid "
+ "16r1074" 16rFFFF " invalid "
+ "16r1075" 16rFFFF " invalid "
+ "16r1076" 16rFFFF " invalid "
+ "16r1077" 16rFFFF " invalid "
+ "16r1078" 16rFFFF " invalid "
+ "16r1079" 16rFFFF " invalid "
+ "16r107A" 16rFFFF " invalid "
+ "16r107B" 16rFFFF " invalid "
+ "16r107C" 16rFFFF " invalid "
+ "16r107D" 16rFFFF " invalid "
+ "16r107E" 16rFFFF " invalid "
+ "16r107F" 16rFFFF " invalid "
+ "16r1080" 16rFFFF " invalid "
+ "16r1081" 16rFFFF " invalid "
+ "16r1082" 16rFFFF " invalid "
+ "16r1083" 16rFFFF " invalid "
+ "16r1084" 16rFFFF " invalid "
+ "16r1085" 16rFFFF " invalid "
+ "16r1086" 16rFFFF " invalid "
+ "16r1087" 16rFFFF " invalid "
+ "16r1088" 16rFFFF " invalid "
+ "16r1089" 16rFFFF " invalid "
+ "16r108A" 16rFFFF " invalid "
+ "16r108B" 16rFFFF " invalid "
+ "16r108C" 16rFFFF " invalid "
+ "16r108D" 16rFFFF " invalid "
+ "16r108E" 16rFFFF " invalid "
+ "16r108F" 16rFFFF " invalid "
+ "16r1090" 16rFFFF " invalid "
+ "16r1091" 16rFFFF " invalid "
+ "16r1092" 16rFFFF " invalid "
+ "16r1093" 16rFFFF " invalid "
+ "16r1094" 16rFFFF " invalid "
+ "16r1095" 16rFFFF " invalid "
+ "16r1096" 16rFFFF " invalid "
+ "16r1097" 16rFFFF " invalid "
+ "16r1098" 16rFFFF " invalid "
+ "16r1099" 16rFFFF " invalid "
+ "16r109A" 16rFFFF " invalid "
+ "16r109B" 16rFFFF " invalid "
+ "16r109C" 16rFFFF " invalid "
+ "16r109D" 16rFFFF " invalid "
+ "16r109E" 16rFFFF " invalid "
+ "16r109F" 16rFFFF " invalid "
+ "16r10A0" 16rFFFF " invalid "
+ "16r10A1" 16rFFFF " invalid "
+ "16r10A2" 16rFFFF " invalid "
+ "16r10A3" 16rFFFF " invalid "
+ "16r10A4" 16rFFFF " invalid "
+ "16r10A5" 16rFFFF " invalid "
+ "16r10A6" 16rFFFF " invalid "
+ "16r10A7" 16rFFFF " invalid "
+ "16r10A8" 16rFFFF " invalid "
+ "16r10A9" 16rFFFF " invalid "
+ "16r10AA" 16rFFFF " invalid "
+ "16r10AB" 16rFFFF " invalid "
+ "16r10AC" 16rFFFF " invalid "
+ "16r10AD" 16rFFFF " invalid "
+ "16r10AE" 16rFFFF " invalid "
+ "16r10AF" 16rFFFF " invalid "
+ "16r10B0" 16rFFFF " invalid "
+ "16r10B1" 16rFFFF " invalid "
+ "16r10B2" 16rFFFF " invalid "
+ "16r10B3" 16rFFFF " invalid "
+ "16r10B4" 16rFFFF " invalid "
+ "16r10B5" 16rFFFF " invalid "
+ "16r10B6" 16rFFFF " invalid "
+ "16r10B7" 16rFFFF " invalid "
+ "16r10B8" 16rFFFF " invalid "
+ "16r10B9" 16rFFFF " invalid "
+ "16r10BA" 16rFFFF " invalid "
+ "16r10BB" 16rFFFF " invalid "
+ "16r10BC" 16rFFFF " invalid "
+ "16r10BD" 16rFFFF " invalid "
+ "16r10BE" 16rFFFF " invalid "
+ "16r10BF" 16rFFFF " invalid "
+ "16r10C0" 16rFFFF " invalid "
+ "16r10C1" 16rFFFF " invalid "
+ "16r10C2" 16rFFFF " invalid "
+ "16r10C3" 16rFFFF " invalid "
+ "16r10C4" 16rFFFF " invalid "
+ "16r10C5" 16rFFFF " invalid "
+ "16r10C6" 16rFFFF " invalid "
+ "16r10C7" 16rFFFF " invalid "
+ "16r10C8" 16rFFFF " invalid "
+ "16r10C9" 16rFFFF " invalid "
+ "16r10CA" 16rFFFF " invalid "
+ "16r10CB" 16rFFFF " invalid "
+ "16r10CC" 16rFFFF " invalid "
+ "16r10CD" 16rFFFF " invalid "
+ "16r10CE" 16rFFFF " invalid "
+ "16r10CF" 16rFFFF " invalid "
+ "16r10D0" 16rFFFF " invalid "
+ "16r10D1" 16rFFFF " invalid "
+ "16r10D2" 16rFFFF " invalid "
+ "16r10D3" 16rFFFF " invalid "
+ "16r10D4" 16rFFFF " invalid "
+ "16r10D5" 16rFFFF " invalid "
+ "16r10D6" 16rFFFF " invalid "
+ "16r10D7" 16rFFFF " invalid "
+ "16r10D8" 16rFFFF " invalid "
+ "16r10D9" 16rFFFF " invalid "
+ "16r10DA" 16rFFFF " invalid "
+ "16r10DB" 16rFFFF " invalid "
+ "16r10DC" 16rFFFF " invalid "
+ "16r10DD" 16rFFFF " invalid "
+ "16r10DE" 16rFFFF " invalid "
+ "16r10DF" 16rFFFF " invalid "
+ "16r10E0" 16rFFFF " invalid "
+ "16r10E1" 16rFFFF " invalid "
+ "16r10E2" 16rFFFF " invalid "
+ "16r10E3" 16rFFFF " invalid "
+ "16r10E4" 16rFFFF " invalid "
+ "16r10E5" 16rFFFF " invalid "
+ "16r10E6" 16rFFFF " invalid "
+ "16r10E7" 16rFFFF " invalid "
+ "16r10E8" 16rFFFF " invalid "
+ "16r10E9" 16rFFFF " invalid "
+ "16r10EA" 16rFFFF " invalid "
+ "16r10EB" 16rFFFF " invalid "
+ "16r10EC" 16rFFFF " invalid "
+ "16r10ED" 16rFFFF " invalid "
+ "16r10EE" 16rFFFF " invalid "
+ "16r10EF" 16rFFFF " invalid "
+ "16r10F0" 16rFFFF " invalid "
+ "16r10F1" 16rFFFF " invalid "
+ "16r10F2" 16rFFFF " invalid "
+ "16r10F3" 16rFFFF " invalid "
+ "16r10F4" 16rFFFF " invalid "
+ "16r10F5" 16rFFFF " invalid "
+ "16r10F6" 16rFFFF " invalid "
+ "16r10F7" 16rFFFF " invalid "
+ "16r10F8" 16rFFFF " invalid "
+ "16r10F9" 16rFFFF " invalid "
+ "16r10FA" 16rFFFF " invalid "
+ "16r10FB" 16rFFFF " invalid "
+ "16r10FC" 16rFFFF " invalid "
+ "16r10FD" 16rFFFF " invalid "
+ "16r10FE" 16rFFFF " invalid "
+ "16r10FF" 16rFFFF " invalid "
+ "16r1100" 16rFFFF " invalid "
+ "16r1101" 16rFFFF " invalid "
+ "16r1102" 16rFFFF " invalid "
+ "16r1103" 16rFFFF " invalid "
+ "16r1104" 16rFFFF " invalid "
+ "16r1105" 16rFFFF " invalid "
+ "16r1106" 16rFFFF " invalid "
+ "16r1107" 16rFFFF " invalid "
+ "16r1108" 16rFFFF " invalid "
+ "16r1109" 16rFFFF " invalid "
+ "16r110A" 16rFFFF " invalid "
+ "16r110B" 16rFFFF " invalid "
+ "16r110C" 16rFFFF " invalid "
+ "16r110D" 16rFFFF " invalid "
+ "16r110E" 16rFFFF " invalid "
+ "16r110F" 16rFFFF " invalid "
+ "16r1110" 16rFFFF " invalid "
+ "16r1111" 16rFFFF " invalid "
+ "16r1112" 16rFFFF " invalid "
+ "16r1113" 16rFFFF " invalid "
+ "16r1114" 16rFFFF " invalid "
+ "16r1115" 16rFFFF " invalid "
+ "16r1116" 16rFFFF " invalid "
+ "16r1117" 16rFFFF " invalid "
+ "16r1118" 16rFFFF " invalid "
+ "16r1119" 16rFFFF " invalid "
+ "16r111A" 16rFFFF " invalid "
+ "16r111B" 16rFFFF " invalid "
+ "16r111C" 16rFFFF " invalid "
+ "16r111D" 16rFFFF " invalid "
+ "16r111E" 16rFFFF " invalid "
+ "16r111F" 16rFFFF " invalid "
+ "16r1120" 16rFFFF " invalid "
+ "16r1121" 16rFFFF " invalid "
+ "16r1122" 16rFFFF " invalid "
+ "16r1123" 16rFFFF " invalid "
+ "16r1124" 16rFFFF " invalid "
+ "16r1125" 16rFFFF " invalid "
+ "16r1126" 16rFFFF " invalid "
+ "16r1127" 16rFFFF " invalid "
+ "16r1128" 16rFFFF " invalid "
+ "16r1129" 16rFFFF " invalid "
+ "16r112A" 16rFFFF " invalid "
+ "16r112B" 16rFFFF " invalid "
+ "16r112C" 16rFFFF " invalid "
+ "16r112D" 16rFFFF " invalid "
+ "16r112E" 16rFFFF " invalid "
+ "16r112F" 16rFFFF " invalid "
+ "16r1130" 16rFFFF " invalid "
+ "16r1131" 16rFFFF " invalid "
+ "16r1132" 16rFFFF " invalid "
+ "16r1133" 16rFFFF " invalid "
+ "16r1134" 16rFFFF " invalid "
+ "16r1135" 16rFFFF " invalid "
+ "16r1136" 16rFFFF " invalid "
+ "16r1137" 16rFFFF " invalid "
+ "16r1138" 16rFFFF " invalid "
+ "16r1139" 16rFFFF " invalid "
+ "16r113A" 16rFFFF " invalid "
+ "16r113B" 16rFFFF " invalid "
+ "16r113C" 16rFFFF " invalid "
+ "16r113D" 16rFFFF " invalid "
+ "16r113E" 16rFFFF " invalid "
+ "16r113F" 16rFFFF " invalid "
+ "16r1140" 16rFFFF " invalid "
+ "16r1141" 16rFFFF " invalid "
+ "16r1142" 16rFFFF " invalid "
+ "16r1143" 16rFFFF " invalid "
+ "16r1144" 16rFFFF " invalid "
+ "16r1145" 16rFFFF " invalid "
+ "16r1146" 16rFFFF " invalid "
+ "16r1147" 16rFFFF " invalid "
+ "16r1148" 16rFFFF " invalid "
+ "16r1149" 16rFFFF " invalid "
+ "16r114A" 16rFFFF " invalid "
+ "16r114B" 16rFFFF " invalid "
+ "16r114C" 16rFFFF " invalid "
+ "16r114D" 16rFFFF " invalid "
+ "16r114E" 16rFFFF " invalid "
+ "16r114F" 16rFFFF " invalid "
+ "16r1150" 16rFFFF " invalid "
+ "16r1151" 16rFFFF " invalid "
+ "16r1152" 16rFFFF " invalid "
+ "16r1153" 16rFFFF " invalid "
+ "16r1154" 16rFFFF " invalid "
+ "16r1155" 16rFFFF " invalid "
+ "16r1156" 16rFFFF " invalid "
+ "16r1157" 16rFFFF " invalid "
+ "16r1158" 16rFFFF " invalid "
+ "16r1159" 16rFFFF " invalid "
+ "16r115A" 16rFFFF " invalid "
+ "16r115B" 16rFFFF " invalid "
+ "16r115C" 16rFFFF " invalid "
+ "16r115D" 16rFFFF " invalid "
+ "16r115E" 16rFFFF " invalid "
+ "16r115F" 16rFFFF " invalid "
+ "16r1160" 16rFFFF " invalid "
+ "16r1161" 16rFFFF " invalid "
+ "16r1162" 16rFFFF " invalid "
+ "16r1163" 16rFFFF " invalid "
+ "16r1164" 16rFFFF " invalid "
+ "16r1165" 16rFFFF " invalid "
+ "16r1166" 16rFFFF " invalid "
+ "16r1167" 16rFFFF " invalid "
+ "16r1168" 16rFFFF " invalid "
+ "16r1169" 16rFFFF " invalid "
+ "16r116A" 16rFFFF " invalid "
+ "16r116B" 16rFFFF " invalid "
+ "16r116C" 16rFFFF " invalid "
+ "16r116D" 16rFFFF " invalid "
+ "16r116E" 16rFFFF " invalid "
+ "16r116F" 16rFFFF " invalid "
+ "16r1170" 16rFFFF " invalid "
+ "16r1171" 16rFFFF " invalid "
+ "16r1172" 16rFFFF " invalid "
+ "16r1173" 16rFFFF " invalid "
+ "16r1174" 16rFFFF " invalid "
+ "16r1175" 16rFFFF " invalid "
+ "16r1176" 16rFFFF " invalid "
+ "16r1177" 16rFFFF " invalid "
+ "16r1178" 16rFFFF " invalid "
+ "16r1179" 16rFFFF " invalid "
+ "16r117A" 16rFFFF " invalid "
+ "16r117B" 16rFFFF " invalid "
+ "16r117C" 16rFFFF " invalid "
+ "16r117D" 16rFFFF " invalid "
+ "16r117E" 16rFFFF " invalid "
+ "16r117F" 16rFFFF " invalid "
+ "16r1180" 16rFFFF " invalid "
+ "16r1181" 16rFFFF " invalid "
+ "16r1182" 16rFFFF " invalid "
+ "16r1183" 16rFFFF " invalid "
+ "16r1184" 16rFFFF " invalid "
+ "16r1185" 16rFFFF " invalid "
+ "16r1186" 16rFFFF " invalid "
+ "16r1187" 16rFFFF " invalid "
+ "16r1188" 16rFFFF " invalid "
+ "16r1189" 16rFFFF " invalid "
+ "16r118A" 16rFFFF " invalid "
+ "16r118B" 16rFFFF " invalid "
+ "16r118C" 16rFFFF " invalid "
+ "16r118D" 16rFFFF " invalid "
+ "16r118E" 16rFFFF " invalid "
+ "16r118F" 16rFFFF " invalid "
+ "16r1190" 16rFFFF " invalid "
+ "16r1191" 16rFFFF " invalid "
+ "16r1192" 16rFFFF " invalid "
+ "16r1193" 16rFFFF " invalid "
+ "16r1194" 16rFFFF " invalid "
+ "16r1195" 16rFFFF " invalid "
+ "16r1196" 16rFFFF " invalid "
+ "16r1197" 16rFFFF " invalid "
+ "16r1198" 16rFFFF " invalid "
+ "16r1199" 16rFFFF " invalid "
+ "16r119A" 16rFFFF " invalid "
+ "16r119B" 16rFFFF " invalid "
+ "16r119C" 16rFFFF " invalid "
+ "16r119D" 16rFFFF " invalid "
+ "16r119E" 16rFFFF " invalid "
+ "16r119F" 16rFFFF " invalid "
+ "16r11A0" 16rFFFF " invalid "
+ "16r11A1" 16rFFFF " invalid "
+ "16r11A2" 16rFFFF " invalid "
+ "16r11A3" 16rFFFF " invalid "
+ "16r11A4" 16rFFFF " invalid "
+ "16r11A5" 16rFFFF " invalid "
+ "16r11A6" 16rFFFF " invalid "
+ "16r11A7" 16rFFFF " invalid "
+ "16r11A8" 16rFFFF " invalid "
+ "16r11A9" 16rFFFF " invalid "
+ "16r11AA" 16rFFFF " invalid "
+ "16r11AB" 16rFFFF " invalid "
+ "16r11AC" 16rFFFF " invalid "
+ "16r11AD" 16rFFFF " invalid "
+ "16r11AE" 16rFFFF " invalid "
+ "16r11AF" 16rFFFF " invalid "
+ "16r11B0" 16rFFFF " invalid "
+ "16r11B1" 16rFFFF " invalid "
+ "16r11B2" 16rFFFF " invalid "
+ "16r11B3" 16rFFFF " invalid "
+ "16r11B4" 16rFFFF " invalid "
+ "16r11B5" 16rFFFF " invalid "
+ "16r11B6" 16rFFFF " invalid "
+ "16r11B7" 16rFFFF " invalid "
+ "16r11B8" 16rFFFF " invalid "
+ "16r11B9" 16rFFFF " invalid "
+ "16r11BA" 16rFFFF " invalid "
+ "16r11BB" 16rFFFF " invalid "
+ "16r11BC" 16rFFFF " invalid "
+ "16r11BD" 16rFFFF " invalid "
+ "16r11BE" 16rFFFF " invalid "
+ "16r11BF" 16rFFFF " invalid "
+ "16r11C0" 16rFFFF " invalid "
+ "16r11C1" 16rFFFF " invalid "
+ "16r11C2" 16rFFFF " invalid "
+ "16r11C3" 16rFFFF " invalid "
+ "16r11C4" 16rFFFF " invalid "
+ "16r11C5" 16rFFFF " invalid "
+ "16r11C6" 16rFFFF " invalid "
+ "16r11C7" 16rFFFF " invalid "
+ "16r11C8" 16rFFFF " invalid "
+ "16r11C9" 16rFFFF " invalid "
+ "16r11CA" 16rFFFF " invalid "
+ "16r11CB" 16rFFFF " invalid "
+ "16r11CC" 16rFFFF " invalid "
+ "16r11CD" 16rFFFF " invalid "
+ "16r11CE" 16rFFFF " invalid "
+ "16r11CF" 16rFFFF " invalid "
+ "16r11D0" 16rFFFF " invalid "
+ "16r11D1" 16rFFFF " invalid "
+ "16r11D2" 16rFFFF " invalid "
+ "16r11D3" 16rFFFF " invalid "
+ "16r11D4" 16rFFFF " invalid "
+ "16r11D5" 16rFFFF " invalid "
+ "16r11D6" 16rFFFF " invalid "
+ "16r11D7" 16rFFFF " invalid "
+ "16r11D8" 16rFFFF " invalid "
+ "16r11D9" 16rFFFF " invalid "
+ "16r11DA" 16rFFFF " invalid "
+ "16r11DB" 16rFFFF " invalid "
+ "16r11DC" 16rFFFF " invalid "
+ "16r11DD" 16rFFFF " invalid "
+ "16r11DE" 16rFFFF " invalid "
+ "16r11DF" 16rFFFF " invalid "
+ "16r11E0" 16rFFFF " invalid "
+ "16r11E1" 16rFFFF " invalid "
+ "16r11E2" 16rFFFF " invalid "
+ "16r11E3" 16rFFFF " invalid "
+ "16r11E4" 16rFFFF " invalid "
+ "16r11E5" 16rFFFF " invalid "
+ "16r11E6" 16rFFFF " invalid "
+ "16r11E7" 16rFFFF " invalid "
+ "16r11E8" 16rFFFF " invalid "
+ "16r11E9" 16rFFFF " invalid "
+ "16r11EA" 16rFFFF " invalid "
+ "16r11EB" 16rFFFF " invalid "
+ "16r11EC" 16rFFFF " invalid "
+ "16r11ED" 16rFFFF " invalid "
+ "16r11EE" 16rFFFF " invalid "
+ "16r11EF" 16rFFFF " invalid "
+ "16r11F0" 16rFFFF " invalid "
+ "16r11F1" 16rFFFF " invalid "
+ "16r11F2" 16rFFFF " invalid "
+ "16r11F3" 16rFFFF " invalid "
+ "16r11F4" 16rFFFF " invalid "
+ "16r11F5" 16rFFFF " invalid "
+ "16r11F6" 16rFFFF " invalid "
+ "16r11F7" 16rFFFF " invalid "
+ "16r11F8" 16rFFFF " invalid "
+ "16r11F9" 16rFFFF " invalid "
+ "16r11FA" 16rFFFF " invalid "
+ "16r11FB" 16rFFFF " invalid "
+ "16r11FC" 16rFFFF " invalid "
+ "16r11FD" 16rFFFF " invalid "
+ "16r11FE" 16rFFFF " invalid "
+ "16r11FF" 16rFFFF " invalid "
+ "16r1200" 16rFFFF " invalid "
+ "16r1201" 16rFFFF " invalid "
+ "16r1202" 16rFFFF " invalid "
+ "16r1203" 16rFFFF " invalid "
+ "16r1204" 16rFFFF " invalid "
+ "16r1205" 16rFFFF " invalid "
+ "16r1206" 16rFFFF " invalid "
+ "16r1207" 16rFFFF " invalid "
+ "16r1208" 16rFFFF " invalid "
+ "16r1209" 16rFFFF " invalid "
+ "16r120A" 16rFFFF " invalid "
+ "16r120B" 16rFFFF " invalid "
+ "16r120C" 16rFFFF " invalid "
+ "16r120D" 16rFFFF " invalid "
+ "16r120E" 16rFFFF " invalid "
+ "16r120F" 16rFFFF " invalid "
+ "16r1210" 16rFFFF " invalid "
+ "16r1211" 16rFFFF " invalid "
+ "16r1212" 16rFFFF " invalid "
+ "16r1213" 16rFFFF " invalid "
+ "16r1214" 16rFFFF " invalid "
+ "16r1215" 16rFFFF " invalid "
+ "16r1216" 16rFFFF " invalid "
+ "16r1217" 16rFFFF " invalid "
+ "16r1218" 16rFFFF " invalid "
+ "16r1219" 16rFFFF " invalid "
+ "16r121A" 16rFFFF " invalid "
+ "16r121B" 16rFFFF " invalid "
+ "16r121C" 16rFFFF " invalid "
+ "16r121D" 16rFFFF " invalid "
+ "16r121E" 16rFFFF " invalid "
+ "16r121F" 16rFFFF " invalid "
+ "16r1220" 16rFFFF " invalid "
+ "16r1221" 16rFFFF " invalid "
+ "16r1222" 16rFFFF " invalid "
+ "16r1223" 16rFFFF " invalid "
+ "16r1224" 16rFFFF " invalid "
+ "16r1225" 16rFFFF " invalid "
+ "16r1226" 16rFFFF " invalid "
+ "16r1227" 16rFFFF " invalid "
+ "16r1228" 16rFFFF " invalid "
+ "16r1229" 16rFFFF " invalid "
+ "16r122A" 16rFFFF " invalid "
+ "16r122B" 16rFFFF " invalid "
+ "16r122C" 16rFFFF " invalid "
+ "16r122D" 16rFFFF " invalid "
+ "16r122E" 16rFFFF " invalid "
+ "16r122F" 16rFFFF " invalid "
+ "16r1230" 16rFFFF " invalid "
+ "16r1231" 16rFFFF " invalid "
+ "16r1232" 16rFFFF " invalid "
+ "16r1233" 16rFFFF " invalid "
+ "16r1234" 16rFFFF " invalid "
+ "16r1235" 16rFFFF " invalid "
+ "16r1236" 16rFFFF " invalid "
+ "16r1237" 16rFFFF " invalid "
+ "16r1238" 16rFFFF " invalid "
+ "16r1239" 16rFFFF " invalid "
+ "16r123A" 16rFFFF " invalid "
+ "16r123B" 16rFFFF " invalid "
+ "16r123C" 16rFFFF " invalid "
+ "16r123D" 16rFFFF " invalid "
+ "16r123E" 16rFFFF " invalid "
+ "16r123F" 16rFFFF " invalid "
+ "16r1240" 16rFFFF " invalid "
+ "16r1241" 16rFFFF " invalid "
+ "16r1242" 16rFFFF " invalid "
+ "16r1243" 16rFFFF " invalid "
+ "16r1244" 16rFFFF " invalid "
+ "16r1245" 16rFFFF " invalid "
+ "16r1246" 16rFFFF " invalid "
+ "16r1247" 16rFFFF " invalid "
+ "16r1248" 16rFFFF " invalid "
+ "16r1249" 16rFFFF " invalid "
+ "16r124A" 16rFFFF " invalid "
+ "16r124B" 16rFFFF " invalid "
+ "16r124C" 16rFFFF " invalid "
+ "16r124D" 16rFFFF " invalid "
+ "16r124E" 16rFFFF " invalid "
+ "16r124F" 16rFFFF " invalid "
+ "16r1250" 16rFFFF " invalid "
+ "16r1251" 16rFFFF " invalid "
+ "16r1252" 16rFFFF " invalid "
+ "16r1253" 16rFFFF " invalid "
+ "16r1254" 16rFFFF " invalid "
+ "16r1255" 16rFFFF " invalid "
+ "16r1256" 16rFFFF " invalid "
+ "16r1257" 16rFFFF " invalid "
+ "16r1258" 16rFFFF " invalid "
+ "16r1259" 16rFFFF " invalid "
+ "16r125A" 16rFFFF " invalid "
+ "16r125B" 16rFFFF " invalid "
+ "16r125C" 16rFFFF " invalid "
+ "16r125D" 16rFFFF " invalid "
+ "16r125E" 16rFFFF " invalid "
+ "16r125F" 16rFFFF " invalid "
+ "16r1260" 16rFFFF " invalid "
+ "16r1261" 16rFFFF " invalid "
+ "16r1262" 16rFFFF " invalid "
+ "16r1263" 16rFFFF " invalid "
+ "16r1264" 16rFFFF " invalid "
+ "16r1265" 16rFFFF " invalid "
+ "16r1266" 16rFFFF " invalid "
+ "16r1267" 16rFFFF " invalid "
+ "16r1268" 16rFFFF " invalid "
+ "16r1269" 16rFFFF " invalid "
+ "16r126A" 16rFFFF " invalid "
+ "16r126B" 16rFFFF " invalid "
+ "16r126C" 16rFFFF " invalid "
+ "16r126D" 16rFFFF " invalid "
+ "16r126E" 16rFFFF " invalid "
+ "16r126F" 16rFFFF " invalid "
+ "16r1270" 16rFFFF " invalid "
+ "16r1271" 16rFFFF " invalid "
+ "16r1272" 16rFFFF " invalid "
+ "16r1273" 16rFFFF " invalid "
+ "16r1274" 16rFFFF " invalid "
+ "16r1275" 16rFFFF " invalid "
+ "16r1276" 16rFFFF " invalid "
+ "16r1277" 16rFFFF " invalid "
+ "16r1278" 16rFFFF " invalid "
+ "16r1279" 16rFFFF " invalid "
+ "16r127A" 16rFFFF " invalid "
+ "16r127B" 16rFFFF " invalid "
+ "16r127C" 16rFFFF " invalid "
+ "16r127D" 16rFFFF " invalid "
+ "16r127E" 16rFFFF " invalid "
+ "16r127F" 16rFFFF " invalid "
+ "16r1280" 16rFFFF " invalid "
+ "16r1281" 16rFFFF " invalid "
+ "16r1282" 16rFFFF " invalid "
+ "16r1283" 16rFFFF " invalid "
+ "16r1284" 16rFFFF " invalid "
+ "16r1285" 16rFFFF " invalid "
+ "16r1286" 16rFFFF " invalid "
+ "16r1287" 16rFFFF " invalid "
+ "16r1288" 16rFFFF " invalid "
+ "16r1289" 16rFFFF " invalid "
+ "16r128A" 16rFFFF " invalid "
+ "16r128B" 16rFFFF " invalid "
+ "16r128C" 16rFFFF " invalid "
+ "16r128D" 16rFFFF " invalid "
+ "16r128E" 16rFFFF " invalid "
+ "16r128F" 16rFFFF " invalid "
+ "16r1290" 16rFFFF " invalid "
+ "16r1291" 16rFFFF " invalid "
+ "16r1292" 16rFFFF " invalid "
+ "16r1293" 16rFFFF " invalid "
+ "16r1294" 16rFFFF " invalid "
+ "16r1295" 16rFFFF " invalid "
+ "16r1296" 16rFFFF " invalid "
+ "16r1297" 16rFFFF " invalid "
+ "16r1298" 16rFFFF " invalid "
+ "16r1299" 16rFFFF " invalid "
+ "16r129A" 16rFFFF " invalid "
+ "16r129B" 16rFFFF " invalid "
+ "16r129C" 16rFFFF " invalid "
+ "16r129D" 16rFFFF " invalid "
+ "16r129E" 16rFFFF " invalid "
+ "16r129F" 16rFFFF " invalid "
+ "16r12A0" 16rFFFF " invalid "
+ "16r12A1" 16rFFFF " invalid "
+ "16r12A2" 16rFFFF " invalid "
+ "16r12A3" 16rFFFF " invalid "
+ "16r12A4" 16rFFFF " invalid "
+ "16r12A5" 16rFFFF " invalid "
+ "16r12A6" 16rFFFF " invalid "
+ "16r12A7" 16rFFFF " invalid "
+ "16r12A8" 16rFFFF " invalid "
+ "16r12A9" 16rFFFF " invalid "
+ "16r12AA" 16rFFFF " invalid "
+ "16r12AB" 16rFFFF " invalid "
+ "16r12AC" 16rFFFF " invalid "
+ "16r12AD" 16rFFFF " invalid "
+ "16r12AE" 16rFFFF " invalid "
+ "16r12AF" 16rFFFF " invalid "
+ "16r12B0" 16rFFFF " invalid "
+ "16r12B1" 16rFFFF " invalid "
+ "16r12B2" 16rFFFF " invalid "
+ "16r12B3" 16rFFFF " invalid "
+ "16r12B4" 16rFFFF " invalid "
+ "16r12B5" 16rFFFF " invalid "
+ "16r12B6" 16rFFFF " invalid "
+ "16r12B7" 16rFFFF " invalid "
+ "16r12B8" 16rFFFF " invalid "
+ "16r12B9" 16rFFFF " invalid "
+ "16r12BA" 16rFFFF " invalid "
+ "16r12BB" 16rFFFF " invalid "
+ "16r12BC" 16rFFFF " invalid "
+ "16r12BD" 16rFFFF " invalid "
+ "16r12BE" 16rFFFF " invalid "
+ "16r12BF" 16rFFFF " invalid "
+ "16r12C0" 16rFFFF " invalid "
+ "16r12C1" 16rFFFF " invalid "
+ "16r12C2" 16rFFFF " invalid "
+ "16r12C3" 16rFFFF " invalid "
+ "16r12C4" 16rFFFF " invalid "
+ "16r12C5" 16rFFFF " invalid "
+ "16r12C6" 16rFFFF " invalid "
+ "16r12C7" 16rFFFF " invalid "
+ "16r12C8" 16rFFFF " invalid "
+ "16r12C9" 16rFFFF " invalid "
+ "16r12CA" 16rFFFF " invalid "
+ "16r12CB" 16rFFFF " invalid "
+ "16r12CC" 16rFFFF " invalid "
+ "16r12CD" 16rFFFF " invalid "
+ "16r12CE" 16rFFFF " invalid "
+ "16r12CF" 16rFFFF " invalid "
+ "16r12D0" 16rFFFF " invalid "
+ "16r12D1" 16rFFFF " invalid "
+ "16r12D2" 16rFFFF " invalid "
+ "16r12D3" 16rFFFF " invalid "
+ "16r12D4" 16rFFFF " invalid "
+ "16r12D5" 16rFFFF " invalid "
+ "16r12D6" 16rFFFF " invalid "
+ "16r12D7" 16rFFFF " invalid "
+ "16r12D8" 16rFFFF " invalid "
+ "16r12D9" 16rFFFF " invalid "
+ "16r12DA" 16rFFFF " invalid "
+ "16r12DB" 16rFFFF " invalid "
+ "16r12DC" 16rFFFF " invalid "
+ "16r12DD" 16rFFFF " invalid "
+ "16r12DE" 16rFFFF " invalid "
+ "16r12DF" 16rFFFF " invalid "
+ "16r12E0" 16rFFFF " invalid "
+ "16r12E1" 16rFFFF " invalid "
+ "16r12E2" 16rFFFF " invalid "
+ "16r12E3" 16rFFFF " invalid "
+ "16r12E4" 16rFFFF " invalid "
+ "16r12E5" 16rFFFF " invalid "
+ "16r12E6" 16rFFFF " invalid "
+ "16r12E7" 16rFFFF " invalid "
+ "16r12E8" 16rFFFF " invalid "
+ "16r12E9" 16rFFFF " invalid "
+ "16r12EA" 16rFFFF " invalid "
+ "16r12EB" 16rFFFF " invalid "
+ "16r12EC" 16rFFFF " invalid "
+ "16r12ED" 16rFFFF " invalid "
+ "16r12EE" 16rFFFF " invalid "
+ "16r12EF" 16rFFFF " invalid "
+ "16r12F0" 16rFFFF " invalid "
+ "16r12F1" 16rFFFF " invalid "
+ "16r12F2" 16rFFFF " invalid "
+ "16r12F3" 16rFFFF " invalid "
+ "16r12F4" 16rFFFF " invalid "
+ "16r12F5" 16rFFFF " invalid "
+ "16r12F6" 16rFFFF " invalid "
+ "16r12F7" 16rFFFF " invalid "
+ "16r12F8" 16rFFFF " invalid "
+ "16r12F9" 16rFFFF " invalid "
+ "16r12FA" 16rFFFF " invalid "
+ "16r12FB" 16rFFFF " invalid "
+ "16r12FC" 16rFFFF " invalid "
+ "16r12FD" 16rFFFF " invalid "
+ "16r12FE" 16rFFFF " invalid "
+ "16r12FF" 16rFFFF " invalid "
+ "16r1300" 16rFFFF " invalid "
+ "16r1301" 16rFFFF " invalid "
+ "16r1302" 16rFFFF " invalid "
+ "16r1303" 16rFFFF " invalid "
+ "16r1304" 16rFFFF " invalid "
+ "16r1305" 16rFFFF " invalid "
+ "16r1306" 16rFFFF " invalid "
+ "16r1307" 16rFFFF " invalid "
+ "16r1308" 16rFFFF " invalid "
+ "16r1309" 16rFFFF " invalid "
+ "16r130A" 16rFFFF " invalid "
+ "16r130B" 16rFFFF " invalid "
+ "16r130C" 16rFFFF " invalid "
+ "16r130D" 16rFFFF " invalid "
+ "16r130E" 16rFFFF " invalid "
+ "16r130F" 16rFFFF " invalid "
+ "16r1310" 16rFFFF " invalid "
+ "16r1311" 16rFFFF " invalid "
+ "16r1312" 16rFFFF " invalid "
+ "16r1313" 16rFFFF " invalid "
+ "16r1314" 16rFFFF " invalid "
+ "16r1315" 16rFFFF " invalid "
+ "16r1316" 16rFFFF " invalid "
+ "16r1317" 16rFFFF " invalid "
+ "16r1318" 16rFFFF " invalid "
+ "16r1319" 16rFFFF " invalid "
+ "16r131A" 16rFFFF " invalid "
+ "16r131B" 16rFFFF " invalid "
+ "16r131C" 16rFFFF " invalid "
+ "16r131D" 16rFFFF " invalid "
+ "16r131E" 16rFFFF " invalid "
+ "16r131F" 16rFFFF " invalid "
+ "16r1320" 16rFFFF " invalid "
+ "16r1321" 16rFFFF " invalid "
+ "16r1322" 16rFFFF " invalid "
+ "16r1323" 16rFFFF " invalid "
+ "16r1324" 16rFFFF " invalid "
+ "16r1325" 16rFFFF " invalid "
+ "16r1326" 16rFFFF " invalid "
+ "16r1327" 16rFFFF " invalid "
+ "16r1328" 16rFFFF " invalid "
+ "16r1329" 16rFFFF " invalid "
+ "16r132A" 16rFFFF " invalid "
+ "16r132B" 16rFFFF " invalid "
+ "16r132C" 16rFFFF " invalid "
+ "16r132D" 16rFFFF " invalid "
+ "16r132E" 16rFFFF " invalid "
+ "16r132F" 16rFFFF " invalid "
+ "16r1330" 16rFFFF " invalid "
+ "16r1331" 16rFFFF " invalid "
+ "16r1332" 16rFFFF " invalid "
+ "16r1333" 16rFFFF " invalid "
+ "16r1334" 16rFFFF " invalid "
+ "16r1335" 16rFFFF " invalid "
+ "16r1336" 16rFFFF " invalid "
+ "16r1337" 16rFFFF " invalid "
+ "16r1338" 16rFFFF " invalid "
+ "16r1339" 16rFFFF " invalid "
+ "16r133A" 16rFFFF " invalid "
+ "16r133B" 16rFFFF " invalid "
+ "16r133C" 16rFFFF " invalid "
+ "16r133D" 16rFFFF " invalid "
+ "16r133E" 16rFFFF " invalid "
+ "16r133F" 16rFFFF " invalid "
+ "16r1340" 16rFFFF " invalid "
+ "16r1341" 16rFFFF " invalid "
+ "16r1342" 16rFFFF " invalid "
+ "16r1343" 16rFFFF " invalid "
+ "16r1344" 16rFFFF " invalid "
+ "16r1345" 16rFFFF " invalid "
+ "16r1346" 16rFFFF " invalid "
+ "16r1347" 16rFFFF " invalid "
+ "16r1348" 16rFFFF " invalid "
+ "16r1349" 16rFFFF " invalid "
+ "16r134A" 16rFFFF " invalid "
+ "16r134B" 16rFFFF " invalid "
+ "16r134C" 16rFFFF " invalid "
+ "16r134D" 16rFFFF " invalid "
+ "16r134E" 16rFFFF " invalid "
+ "16r134F" 16rFFFF " invalid "
+ "16r1350" 16rFFFF " invalid "
+ "16r1351" 16rFFFF " invalid "
+ "16r1352" 16rFFFF " invalid "
+ "16r1353" 16rFFFF " invalid "
+ "16r1354" 16rFFFF " invalid "
+ "16r1355" 16rFFFF " invalid "
+ "16r1356" 16rFFFF " invalid "
+ "16r1357" 16rFFFF " invalid "
+ "16r1358" 16rFFFF " invalid "
+ "16r1359" 16rFFFF " invalid "
+ "16r135A" 16rFFFF " invalid "
+ "16r135B" 16rFFFF " invalid "
+ "16r135C" 16rFFFF " invalid "
+ "16r135D" 16rFFFF " invalid "
+ "16r135E" 16rFFFF " invalid "
+ "16r135F" 16rFFFF " invalid "
+ "16r1360" 16rFFFF " invalid "
+ "16r1361" 16rFFFF " invalid "
+ "16r1362" 16rFFFF " invalid "
+ "16r1363" 16rFFFF " invalid "
+ "16r1364" 16rFFFF " invalid "
+ "16r1365" 16rFFFF " invalid "
+ "16r1366" 16rFFFF " invalid "
+ "16r1367" 16rFFFF " invalid "
+ "16r1368" 16rFFFF " invalid "
+ "16r1369" 16rFFFF " invalid "
+ "16r136A" 16rFFFF " invalid "
+ "16r136B" 16rFFFF " invalid "
+ "16r136C" 16rFFFF " invalid "
+ "16r136D" 16rFFFF " invalid "
+ "16r136E" 16rFFFF " invalid "
+ "16r136F" 16rFFFF " invalid "
+ "16r1370" 16rFFFF " invalid "
+ "16r1371" 16rFFFF " invalid "
+ "16r1372" 16rFFFF " invalid "
+ "16r1373" 16rFFFF " invalid "
+ "16r1374" 16rFFFF " invalid "
+ "16r1375" 16rFFFF " invalid "
+ "16r1376" 16rFFFF " invalid "
+ "16r1377" 16rFFFF " invalid "
+ "16r1378" 16rFFFF " invalid "
+ "16r1379" 16rFFFF " invalid "
+ "16r137A" 16rFFFF " invalid "
+ "16r137B" 16rFFFF " invalid "
+ "16r137C" 16rFFFF " invalid "
+ "16r137D" 16rFFFF " invalid "
+ "16r137E" 16rFFFF " invalid "
+ "16r137F" 16rFFFF " invalid "
+ "16r1380" 16rFFFF " invalid "
+ "16r1381" 16rFFFF " invalid "
+ "16r1382" 16rFFFF " invalid "
+ "16r1383" 16rFFFF " invalid "
+ "16r1384" 16rFFFF " invalid "
+ "16r1385" 16rFFFF " invalid "
+ "16r1386" 16rFFFF " invalid "
+ "16r1387" 16rFFFF " invalid "
+ "16r1388" 16rFFFF " invalid "
+ "16r1389" 16rFFFF " invalid "
+ "16r138A" 16rFFFF " invalid "
+ "16r138B" 16rFFFF " invalid "
+ "16r138C" 16rFFFF " invalid "
+ "16r138D" 16rFFFF " invalid "
+ "16r138E" 16rFFFF " invalid "
+ "16r138F" 16rFFFF " invalid "
+ "16r1390" 16rFFFF " invalid "
+ "16r1391" 16rFFFF " invalid "
+ "16r1392" 16rFFFF " invalid "
+ "16r1393" 16rFFFF " invalid "
+ "16r1394" 16rFFFF " invalid "
+ "16r1395" 16rFFFF " invalid "
+ "16r1396" 16rFFFF " invalid "
+ "16r1397" 16rFFFF " invalid "
+ "16r1398" 16rFFFF " invalid "
+ "16r1399" 16rFFFF " invalid "
+ "16r139A" 16rFFFF " invalid "
+ "16r139B" 16rFFFF " invalid "
+ "16r139C" 16rFFFF " invalid "
+ "16r139D" 16rFFFF " invalid "
+ "16r139E" 16rFFFF " invalid "
+ "16r139F" 16rFFFF " invalid "
+ "16r13A0" 16rFFFF " invalid "
+ "16r13A1" 16rFFFF " invalid "
+ "16r13A2" 16rFFFF " invalid "
+ "16r13A3" 16rFFFF " invalid "
+ "16r13A4" 16rFFFF " invalid "
+ "16r13A5" 16rFFFF " invalid "
+ "16r13A6" 16rFFFF " invalid "
+ "16r13A7" 16rFFFF " invalid "
+ "16r13A8" 16rFFFF " invalid "
+ "16r13A9" 16rFFFF " invalid "
+ "16r13AA" 16rFFFF " invalid "
+ "16r13AB" 16rFFFF " invalid "
+ "16r13AC" 16rFFFF " invalid "
+ "16r13AD" 16rFFFF " invalid "
+ "16r13AE" 16rFFFF " invalid "
+ "16r13AF" 16rFFFF " invalid "
+ "16r13B0" 16rFFFF " invalid "
+ "16r13B1" 16rFFFF " invalid "
+ "16r13B2" 16rFFFF " invalid "
+ "16r13B3" 16rFFFF " invalid "
+ "16r13B4" 16rFFFF " invalid "
+ "16r13B5" 16rFFFF " invalid "
+ "16r13B6" 16rFFFF " invalid "
+ "16r13B7" 16rFFFF " invalid "
+ "16r13B8" 16rFFFF " invalid "
+ "16r13B9" 16rFFFF " invalid "
+ "16r13BA" 16rFFFF " invalid "
+ "16r13BB" 16rFFFF " invalid "
+ "16r13BC" 16rFFFF " invalid "
+ "16r13BD" 16rFFFF " invalid "
+ "16r13BE" 16rFFFF " invalid "
+ "16r13BF" 16rFFFF " invalid "
+ "16r13C0" 16rFFFF " invalid "
+ "16r13C1" 16rFFFF " invalid "
+ "16r13C2" 16rFFFF " invalid "
+ "16r13C3" 16rFFFF " invalid "
+ "16r13C4" 16rFFFF " invalid "
+ "16r13C5" 16rFFFF " invalid "
+ "16r13C6" 16rFFFF " invalid "
+ "16r13C7" 16rFFFF " invalid "
+ "16r13C8" 16rFFFF " invalid "
+ "16r13C9" 16rFFFF " invalid "
+ "16r13CA" 16rFFFF " invalid "
+ "16r13CB" 16rFFFF " invalid "
+ "16r13CC" 16rFFFF " invalid "
+ "16r13CD" 16rFFFF " invalid "
+ "16r13CE" 16rFFFF " invalid "
+ "16r13CF" 16rFFFF " invalid "
+ "16r13D0" 16rFFFF " invalid "
+ "16r13D1" 16rFFFF " invalid "
+ "16r13D2" 16rFFFF " invalid "
+ "16r13D3" 16rFFFF " invalid "
+ "16r13D4" 16rFFFF " invalid "
+ "16r13D5" 16rFFFF " invalid "
+ "16r13D6" 16rFFFF " invalid "
+ "16r13D7" 16rFFFF " invalid "
+ "16r13D8" 16rFFFF " invalid "
+ "16r13D9" 16rFFFF " invalid "
+ "16r13DA" 16rFFFF " invalid "
+ "16r13DB" 16rFFFF " invalid "
+ "16r13DC" 16rFFFF " invalid "
+ "16r13DD" 16rFFFF " invalid "
+ "16r13DE" 16rFFFF " invalid "
+ "16r13DF" 16rFFFF " invalid "
+ "16r13E0" 16rFFFF " invalid "
+ "16r13E1" 16rFFFF " invalid "
+ "16r13E2" 16rFFFF " invalid "
+ "16r13E3" 16rFFFF " invalid "
+ "16r13E4" 16rFFFF " invalid "
+ "16r13E5" 16rFFFF " invalid "
+ "16r13E6" 16rFFFF " invalid "
+ "16r13E7" 16rFFFF " invalid "
+ "16r13E8" 16rFFFF " invalid "
+ "16r13E9" 16rFFFF " invalid "
+ "16r13EA" 16rFFFF " invalid "
+ "16r13EB" 16rFFFF " invalid "
+ "16r13EC" 16rFFFF " invalid "
+ "16r13ED" 16rFFFF " invalid "
+ "16r13EE" 16rFFFF " invalid "
+ "16r13EF" 16rFFFF " invalid "
+ "16r13F0" 16rFFFF " invalid "
+ "16r13F1" 16rFFFF " invalid "
+ "16r13F2" 16rFFFF " invalid "
+ "16r13F3" 16rFFFF " invalid "
+ "16r13F4" 16rFFFF " invalid "
+ "16r13F5" 16rFFFF " invalid "
+ "16r13F6" 16rFFFF " invalid "
+ "16r13F7" 16rFFFF " invalid "
+ "16r13F8" 16rFFFF " invalid "
+ "16r13F9" 16rFFFF " invalid "
+ "16r13FA" 16rFFFF " invalid "
+ "16r13FB" 16rFFFF " invalid "
+ "16r13FC" 16rFFFF " invalid "
+ "16r13FD" 16rFFFF " invalid "
+ "16r13FE" 16rFFFF " invalid "
+ "16r13FF" 16rFFFF " invalid "
+ "16r1400" 16rFFFF " invalid "
+ "16r1401" 16rFFFF " invalid "
+ "16r1402" 16rFFFF " invalid "
+ "16r1403" 16rFFFF " invalid "
+ "16r1404" 16rFFFF " invalid "
+ "16r1405" 16rFFFF " invalid "
+ "16r1406" 16rFFFF " invalid "
+ "16r1407" 16rFFFF " invalid "
+ "16r1408" 16rFFFF " invalid "
+ "16r1409" 16rFFFF " invalid "
+ "16r140A" 16rFFFF " invalid "
+ "16r140B" 16rFFFF " invalid "
+ "16r140C" 16rFFFF " invalid "
+ "16r140D" 16rFFFF " invalid "
+ "16r140E" 16rFFFF " invalid "
+ "16r140F" 16rFFFF " invalid "
+ "16r1410" 16rFFFF " invalid "
+ "16r1411" 16rFFFF " invalid "
+ "16r1412" 16rFFFF " invalid "
+ "16r1413" 16rFFFF " invalid "
+ "16r1414" 16rFFFF " invalid "
+ "16r1415" 16rFFFF " invalid "
+ "16r1416" 16rFFFF " invalid "
+ "16r1417" 16rFFFF " invalid "
+ "16r1418" 16rFFFF " invalid "
+ "16r1419" 16rFFFF " invalid "
+ "16r141A" 16rFFFF " invalid "
+ "16r141B" 16rFFFF " invalid "
+ "16r141C" 16rFFFF " invalid "
+ "16r141D" 16rFFFF " invalid "
+ "16r141E" 16rFFFF " invalid "
+ "16r141F" 16rFFFF " invalid "
+ "16r1420" 16rFFFF " invalid "
+ "16r1421" 16rFFFF " invalid "
+ "16r1422" 16rFFFF " invalid "
+ "16r1423" 16rFFFF " invalid "
+ "16r1424" 16rFFFF " invalid "
+ "16r1425" 16rFFFF " invalid "
+ "16r1426" 16rFFFF " invalid "
+ "16r1427" 16rFFFF " invalid "
+ "16r1428" 16rFFFF " invalid "
+ "16r1429" 16rFFFF " invalid "
+ "16r142A" 16rFFFF " invalid "
+ "16r142B" 16rFFFF " invalid "
+ "16r142C" 16rFFFF " invalid "
+ "16r142D" 16rFFFF " invalid "
+ "16r142E" 16rFFFF " invalid "
+ "16r142F" 16rFFFF " invalid "
+ "16r1430" 16rFFFF " invalid "
+ "16r1431" 16rFFFF " invalid "
+ "16r1432" 16rFFFF " invalid "
+ "16r1433" 16rFFFF " invalid "
+ "16r1434" 16rFFFF " invalid "
+ "16r1435" 16rFFFF " invalid "
+ "16r1436" 16rFFFF " invalid "
+ "16r1437" 16rFFFF " invalid "
+ "16r1438" 16rFFFF " invalid "
+ "16r1439" 16rFFFF " invalid "
+ "16r143A" 16rFFFF " invalid "
+ "16r143B" 16rFFFF " invalid "
+ "16r143C" 16rFFFF " invalid "
+ "16r143D" 16rFFFF " invalid "
+ "16r143E" 16rFFFF " invalid "
+ "16r143F" 16rFFFF " invalid "
+ "16r1440" 16rFFFF " invalid "
+ "16r1441" 16rFFFF " invalid "
+ "16r1442" 16rFFFF " invalid "
+ "16r1443" 16rFFFF " invalid "
+ "16r1444" 16rFFFF " invalid "
+ "16r1445" 16rFFFF " invalid "
+ "16r1446" 16rFFFF " invalid "
+ "16r1447" 16rFFFF " invalid "
+ "16r1448" 16rFFFF " invalid "
+ "16r1449" 16rFFFF " invalid "
+ "16r144A" 16rFFFF " invalid "
+ "16r144B" 16rFFFF " invalid "
+ "16r144C" 16rFFFF " invalid "
+ "16r144D" 16rFFFF " invalid "
+ "16r144E" 16rFFFF " invalid "
+ "16r144F" 16rFFFF " invalid "
+ "16r1450" 16rFFFF " invalid "
+ "16r1451" 16rFFFF " invalid "
+ "16r1452" 16rFFFF " invalid "
+ "16r1453" 16rFFFF " invalid "
+ "16r1454" 16rFFFF " invalid "
+ "16r1455" 16rFFFF " invalid "
+ "16r1456" 16rFFFF " invalid "
+ "16r1457" 16rFFFF " invalid "
+ "16r1458" 16rFFFF " invalid "
+ "16r1459" 16rFFFF " invalid "
+ "16r145A" 16rFFFF " invalid "
+ "16r145B" 16rFFFF " invalid "
+ "16r145C" 16rFFFF " invalid "
+ "16r145D" 16rFFFF " invalid "
+ "16r145E" 16rFFFF " invalid "
+ "16r145F" 16rFFFF " invalid "
+ "16r1460" 16rFFFF " invalid "
+ "16r1461" 16rFFFF " invalid "
+ "16r1462" 16rFFFF " invalid "
+ "16r1463" 16rFFFF " invalid "
+ "16r1464" 16rFFFF " invalid "
+ "16r1465" 16rFFFF " invalid "
+ "16r1466" 16rFFFF " invalid "
+ "16r1467" 16rFFFF " invalid "
+ "16r1468" 16rFFFF " invalid "
+ "16r1469" 16rFFFF " invalid "
+ "16r146A" 16rFFFF " invalid "
+ "16r146B" 16rFFFF " invalid "
+ "16r146C" 16rFFFF " invalid "
+ "16r146D" 16rFFFF " invalid "
+ "16r146E" 16rFFFF " invalid "
+ "16r146F" 16rFFFF " invalid "
+ "16r1470" 16rFFFF " invalid "
+ "16r1471" 16rFFFF " invalid "
+ "16r1472" 16rFFFF " invalid "
+ "16r1473" 16rFFFF " invalid "
+ "16r1474" 16rFFFF " invalid "
+ "16r1475" 16rFFFF " invalid "
+ "16r1476" 16rFFFF " invalid "
+ "16r1477" 16rFFFF " invalid "
+ "16r1478" 16rFFFF " invalid "
+ "16r1479" 16rFFFF " invalid "
+ "16r147A" 16rFFFF " invalid "
+ "16r147B" 16rFFFF " invalid "
+ "16r147C" 16rFFFF " invalid "
+ "16r147D" 16rFFFF " invalid "
+ "16r147E" 16rFFFF " invalid "
+ "16r147F" 16rFFFF " invalid "
+ "16r1480" 16rFFFF " invalid "
+ "16r1481" 16rFFFF " invalid "
+ "16r1482" 16rFFFF " invalid "
+ "16r1483" 16rFFFF " invalid "
+ "16r1484" 16rFFFF " invalid "
+ "16r1485" 16rFFFF " invalid "
+ "16r1486" 16rFFFF " invalid "
+ "16r1487" 16rFFFF " invalid "
+ "16r1488" 16rFFFF " invalid "
+ "16r1489" 16rFFFF " invalid "
+ "16r148A" 16rFFFF " invalid "
+ "16r148B" 16rFFFF " invalid "
+ "16r148C" 16rFFFF " invalid "
+ "16r148D" 16rFFFF " invalid "
+ "16r148E" 16rFFFF " invalid "
+ "16r148F" 16rFFFF " invalid "
+ "16r1490" 16rFFFF " invalid "
+ "16r1491" 16rFFFF " invalid "
+ "16r1492" 16rFFFF " invalid "
+ "16r1493" 16rFFFF " invalid "
+ "16r1494" 16rFFFF " invalid "
+ "16r1495" 16rFFFF " invalid "
+ "16r1496" 16rFFFF " invalid "
+ "16r1497" 16rFFFF " invalid "
+ "16r1498" 16rFFFF " invalid "
+ "16r1499" 16rFFFF " invalid "
+ "16r149A" 16rFFFF " invalid "
+ "16r149B" 16rFFFF " invalid "
+ "16r149C" 16rFFFF " invalid "
+ "16r149D" 16rFFFF " invalid "
+ "16r149E" 16rFFFF " invalid "
+ "16r149F" 16rFFFF " invalid "
+ "16r14A0" 16rFFFF " invalid "
+ "16r14A1" 16rFFFF " invalid "
+ "16r14A2" 16rFFFF " invalid "
+ "16r14A3" 16rFFFF " invalid "
+ "16r14A4" 16rFFFF " invalid "
+ "16r14A5" 16rFFFF " invalid "
+ "16r14A6" 16rFFFF " invalid "
+ "16r14A7" 16rFFFF " invalid "
+ "16r14A8" 16rFFFF " invalid "
+ "16r14A9" 16rFFFF " invalid "
+ "16r14AA" 16rFFFF " invalid "
+ "16r14AB" 16rFFFF " invalid "
+ "16r14AC" 16rFFFF " invalid "
+ "16r14AD" 16rFFFF " invalid "
+ "16r14AE" 16rFFFF " invalid "
+ "16r14AF" 16rFFFF " invalid "
+ "16r14B0" 16rFFFF " invalid "
+ "16r14B1" 16rFFFF " invalid "
+ "16r14B2" 16rFFFF " invalid "
+ "16r14B3" 16rFFFF " invalid "
+ "16r14B4" 16rFFFF " invalid "
+ "16r14B5" 16rFFFF " invalid "
+ "16r14B6" 16rFFFF " invalid "
+ "16r14B7" 16rFFFF " invalid "
+ "16r14B8" 16rFFFF " invalid "
+ "16r14B9" 16rFFFF " invalid "
+ "16r14BA" 16rFFFF " invalid "
+ "16r14BB" 16rFFFF " invalid "
+ "16r14BC" 16rFFFF " invalid "
+ "16r14BD" 16rFFFF " invalid "
+ "16r14BE" 16rFFFF " invalid "
+ "16r14BF" 16rFFFF " invalid "
+ "16r14C0" 16rFFFF " invalid "
+ "16r14C1" 16rFFFF " invalid "
+ "16r14C2" 16rFFFF " invalid "
+ "16r14C3" 16rFFFF " invalid "
+ "16r14C4" 16rFFFF " invalid "
+ "16r14C5" 16rFFFF " invalid "
+ "16r14C6" 16rFFFF " invalid "
+ "16r14C7" 16rFFFF " invalid "
+ "16r14C8" 16rFFFF " invalid "
+ "16r14C9" 16rFFFF " invalid "
+ "16r14CA" 16rFFFF " invalid "
+ "16r14CB" 16rFFFF " invalid "
+ "16r14CC" 16rFFFF " invalid "
+ "16r14CD" 16rFFFF " invalid "
+ "16r14CE" 16rFFFF " invalid "
+ "16r14CF" 16rFFFF " invalid "
+ "16r14D0" 16rFFFF " invalid "
+ "16r14D1" 16rFFFF " invalid "
+ "16r14D2" 16rFFFF " invalid "
+ "16r14D3" 16rFFFF " invalid "
+ "16r14D4" 16rFFFF " invalid "
+ "16r14D5" 16rFFFF " invalid "
+ "16r14D6" 16rFFFF " invalid "
+ "16r14D7" 16rFFFF " invalid "
+ "16r14D8" 16rFFFF " invalid "
+ "16r14D9" 16rFFFF " invalid "
+ "16r14DA" 16rFFFF " invalid "
+ "16r14DB" 16rFFFF " invalid "
+ "16r14DC" 16rFFFF " invalid "
+ "16r14DD" 16rFFFF " invalid "
+ "16r14DE" 16rFFFF " invalid "
+ "16r14DF" 16rFFFF " invalid "
+ "16r14E0" 16rFFFF " invalid "
+ "16r14E1" 16rFFFF " invalid "
+ "16r14E2" 16rFFFF " invalid "
+ "16r14E3" 16rFFFF " invalid "
+ "16r14E4" 16rFFFF " invalid "
+ "16r14E5" 16rFFFF " invalid "
+ "16r14E6" 16rFFFF " invalid "
+ "16r14E7" 16rFFFF " invalid "
+ "16r14E8" 16rFFFF " invalid "
+ "16r14E9" 16rFFFF " invalid "
+ "16r14EA" 16rFFFF " invalid "
+ "16r14EB" 16rFFFF " invalid "
+ "16r14EC" 16rFFFF " invalid "
+ "16r14ED" 16rFFFF " invalid "
+ "16r14EE" 16rFFFF " invalid "
+ "16r14EF" 16rFFFF " invalid "
+ "16r14F0" 16rFFFF " invalid "
+ "16r14F1" 16rFFFF " invalid "
+ "16r14F2" 16rFFFF " invalid "
+ "16r14F3" 16rFFFF " invalid "
+ "16r14F4" 16rFFFF " invalid "
+ "16r14F5" 16rFFFF " invalid "
+ "16r14F6" 16rFFFF " invalid "
+ "16r14F7" 16rFFFF " invalid "
+ "16r14F8" 16rFFFF " invalid "
+ "16r14F9" 16rFFFF " invalid "
+ "16r14FA" 16rFFFF " invalid "
+ "16r14FB" 16rFFFF " invalid "
+ "16r14FC" 16rFFFF " invalid "
+ "16r14FD" 16rFFFF " invalid "
+ "16r14FE" 16rFFFF " invalid "
+ "16r14FF" 16rFFFF " invalid "
+ "16r1500" 16rFFFF " invalid "
+ "16r1501" 16rFFFF " invalid "
+ "16r1502" 16rFFFF " invalid "
+ "16r1503" 16rFFFF " invalid "
+ "16r1504" 16rFFFF " invalid "
+ "16r1505" 16rFFFF " invalid "
+ "16r1506" 16rFFFF " invalid "
+ "16r1507" 16rFFFF " invalid "
+ "16r1508" 16rFFFF " invalid "
+ "16r1509" 16rFFFF " invalid "
+ "16r150A" 16rFFFF " invalid "
+ "16r150B" 16rFFFF " invalid "
+ "16r150C" 16rFFFF " invalid "
+ "16r150D" 16rFFFF " invalid "
+ "16r150E" 16rFFFF " invalid "
+ "16r150F" 16rFFFF " invalid "
+ "16r1510" 16rFFFF " invalid "
+ "16r1511" 16rFFFF " invalid "
+ "16r1512" 16rFFFF " invalid "
+ "16r1513" 16rFFFF " invalid "
+ "16r1514" 16rFFFF " invalid "
+ "16r1515" 16rFFFF " invalid "
+ "16r1516" 16rFFFF " invalid "
+ "16r1517" 16rFFFF " invalid "
+ "16r1518" 16rFFFF " invalid "
+ "16r1519" 16rFFFF " invalid "
+ "16r151A" 16rFFFF " invalid "
+ "16r151B" 16rFFFF " invalid "
+ "16r151C" 16rFFFF " invalid "
+ "16r151D" 16rFFFF " invalid "
+ "16r151E" 16rFFFF " invalid "
+ "16r151F" 16rFFFF " invalid "
+ "16r1520" 16rFFFF " invalid "
+ "16r1521" 16rFFFF " invalid "
+ "16r1522" 16rFFFF " invalid "
+ "16r1523" 16rFFFF " invalid "
+ "16r1524" 16rFFFF " invalid "
+ "16r1525" 16rFFFF " invalid "
+ "16r1526" 16rFFFF " invalid "
+ "16r1527" 16rFFFF " invalid "
+ "16r1528" 16rFFFF " invalid "
+ "16r1529" 16rFFFF " invalid "
+ "16r152A" 16rFFFF " invalid "
+ "16r152B" 16rFFFF " invalid "
+ "16r152C" 16rFFFF " invalid "
+ "16r152D" 16rFFFF " invalid "
+ "16r152E" 16rFFFF " invalid "
+ "16r152F" 16rFFFF " invalid "
+ "16r1530" 16rFFFF " invalid "
+ "16r1531" 16rFFFF " invalid "
+ "16r1532" 16rFFFF " invalid "
+ "16r1533" 16rFFFF " invalid "
+ "16r1534" 16rFFFF " invalid "
+ "16r1535" 16rFFFF " invalid "
+ "16r1536" 16rFFFF " invalid "
+ "16r1537" 16rFFFF " invalid "
+ "16r1538" 16rFFFF " invalid "
+ "16r1539" 16rFFFF " invalid "
+ "16r153A" 16rFFFF " invalid "
+ "16r153B" 16rFFFF " invalid "
+ "16r153C" 16rFFFF " invalid "
+ "16r153D" 16rFFFF " invalid "
+ "16r153E" 16rFFFF " invalid "
+ "16r153F" 16rFFFF " invalid "
+ "16r1540" 16rFFFF " invalid "
+ "16r1541" 16rFFFF " invalid "
+ "16r1542" 16rFFFF " invalid "
+ "16r1543" 16rFFFF " invalid "
+ "16r1544" 16rFFFF " invalid "
+ "16r1545" 16rFFFF " invalid "
+ "16r1546" 16rFFFF " invalid "
+ "16r1547" 16rFFFF " invalid "
+ "16r1548" 16rFFFF " invalid "
+ "16r1549" 16rFFFF " invalid "
+ "16r154A" 16rFFFF " invalid "
+ "16r154B" 16rFFFF " invalid "
+ "16r154C" 16rFFFF " invalid "
+ "16r154D" 16rFFFF " invalid "
+ "16r154E" 16rFFFF " invalid "
+ "16r154F" 16rFFFF " invalid "
+ "16r1550" 16rFFFF " invalid "
+ "16r1551" 16rFFFF " invalid "
+ "16r1552" 16rFFFF " invalid "
+ "16r1553" 16rFFFF " invalid "
+ "16r1554" 16rFFFF " invalid "
+ "16r1555" 16rFFFF " invalid "
+ "16r1556" 16rFFFF " invalid "
+ "16r1557" 16rFFFF " invalid "
+ "16r1558" 16rFFFF " invalid "
+ "16r1559" 16rFFFF " invalid "
+ "16r155A" 16rFFFF " invalid "
+ "16r155B" 16rFFFF " invalid "
+ "16r155C" 16rFFFF " invalid "
+ "16r155D" 16rFFFF " invalid "
+ "16r155E" 16rFFFF " invalid "
+ "16r155F" 16rFFFF " invalid "
+ "16r1560" 16rFFFF " invalid "
+ "16r1561" 16rFFFF " invalid "
+ "16r1562" 16rFFFF " invalid "
+ "16r1563" 16rFFFF " invalid "
+ "16r1564" 16rFFFF " invalid "
+ "16r1565" 16rFFFF " invalid "
+ "16r1566" 16rFFFF " invalid "
+ "16r1567" 16rFFFF " invalid "
+ "16r1568" 16rFFFF " invalid "
+ "16r1569" 16rFFFF " invalid "
+ "16r156A" 16rFFFF " invalid "
+ "16r156B" 16rFFFF " invalid "
+ "16r156C" 16rFFFF " invalid "
+ "16r156D" 16rFFFF " invalid "
+ "16r156E" 16rFFFF " invalid "
+ "16r156F" 16rFFFF " invalid "
+ "16r1570" 16rFFFF " invalid "
+ "16r1571" 16rFFFF " invalid "
+ "16r1572" 16rFFFF " invalid "
+ "16r1573" 16rFFFF " invalid "
+ "16r1574" 16rFFFF " invalid "
+ "16r1575" 16rFFFF " invalid "
+ "16r1576" 16rFFFF " invalid "
+ "16r1577" 16rFFFF " invalid "
+ "16r1578" 16rFFFF " invalid "
+ "16r1579" 16rFFFF " invalid "
+ "16r157A" 16rFFFF " invalid "
+ "16r157B" 16rFFFF " invalid "
+ "16r157C" 16rFFFF " invalid "
+ "16r157D" 16rFFFF " invalid "
+ "16r157E" 16rFFFF " invalid "
+ "16r157F" 16rFFFF " invalid "
+ "16r1580" 16rFFFF " invalid "
+ "16r1581" 16rFFFF " invalid "
+ "16r1582" 16rFFFF " invalid "
+ "16r1583" 16rFFFF " invalid "
+ "16r1584" 16rFFFF " invalid "
+ "16r1585" 16rFFFF " invalid "
+ "16r1586" 16rFFFF " invalid "
+ "16r1587" 16rFFFF " invalid "
+ "16r1588" 16rFFFF " invalid "
+ "16r1589" 16rFFFF " invalid "
+ "16r158A" 16rFFFF " invalid "
+ "16r158B" 16rFFFF " invalid "
+ "16r158C" 16rFFFF " invalid "
+ "16r158D" 16rFFFF " invalid "
+ "16r158E" 16rFFFF " invalid "
+ "16r158F" 16rFFFF " invalid "
+ "16r1590" 16rFFFF " invalid "
+ "16r1591" 16rFFFF " invalid "
+ "16r1592" 16rFFFF " invalid "
+ "16r1593" 16rFFFF " invalid "
+ "16r1594" 16rFFFF " invalid "
+ "16r1595" 16rFFFF " invalid "
+ "16r1596" 16rFFFF " invalid "
+ "16r1597" 16rFFFF " invalid "
+ "16r1598" 16rFFFF " invalid "
+ "16r1599" 16rFFFF " invalid "
+ "16r159A" 16rFFFF " invalid "
+ "16r159B" 16rFFFF " invalid "
+ "16r159C" 16rFFFF " invalid "
+ "16r159D" 16rFFFF " invalid "
+ "16r159E" 16rFFFF " invalid "
+ "16r159F" 16rFFFF " invalid "
+ "16r15A0" 16rFFFF " invalid "
+ "16r15A1" 16rFFFF " invalid "
+ "16r15A2" 16rFFFF " invalid "
+ "16r15A3" 16rFFFF " invalid "
+ "16r15A4" 16rFFFF " invalid "
+ "16r15A5" 16rFFFF " invalid "
+ "16r15A6" 16rFFFF " invalid "
+ "16r15A7" 16rFFFF " invalid "
+ "16r15A8" 16rFFFF " invalid "
+ "16r15A9" 16rFFFF " invalid "
+ "16r15AA" 16rFFFF " invalid "
+ "16r15AB" 16rFFFF " invalid "
+ "16r15AC" 16rFFFF " invalid "
+ "16r15AD" 16rFFFF " invalid "
+ "16r15AE" 16rFFFF " invalid "
+ "16r15AF" 16rFFFF " invalid "
+ "16r15B0" 16rFFFF " invalid "
+ "16r15B1" 16rFFFF " invalid "
+ "16r15B2" 16rFFFF " invalid "
+ "16r15B3" 16rFFFF " invalid "
+ "16r15B4" 16rFFFF " invalid "
+ "16r15B5" 16rFFFF " invalid "
+ "16r15B6" 16rFFFF " invalid "
+ "16r15B7" 16rFFFF " invalid "
+ "16r15B8" 16rFFFF " invalid "
+ "16r15B9" 16rFFFF " invalid "
+ "16r15BA" 16rFFFF " invalid "
+ "16r15BB" 16rFFFF " invalid "
+ "16r15BC" 16rFFFF " invalid "
+ "16r15BD" 16rFFFF " invalid "
+ "16r15BE" 16rFFFF " invalid "
+ "16r15BF" 16rFFFF " invalid "
+ "16r15C0" 16rFFFF " invalid "
+ "16r15C1" 16rFFFF " invalid "
+ "16r15C2" 16rFFFF " invalid "
+ "16r15C3" 16rFFFF " invalid "
+ "16r15C4" 16rFFFF " invalid "
+ "16r15C5" 16rFFFF " invalid "
+ "16r15C6" 16rFFFF " invalid "
+ "16r15C7" 16rFFFF " invalid "
+ "16r15C8" 16rFFFF " invalid "
+ "16r15C9" 16rFFFF " invalid "
+ "16r15CA" 16rFFFF " invalid "
+ "16r15CB" 16rFFFF " invalid "
+ "16r15CC" 16rFFFF " invalid "
+ "16r15CD" 16rFFFF " invalid "
+ "16r15CE" 16rFFFF " invalid "
+ "16r15CF" 16rFFFF " invalid "
+ "16r15D0" 16rFFFF " invalid "
+ "16r15D1" 16rFFFF " invalid "
+ "16r15D2" 16rFFFF " invalid "
+ "16r15D3" 16rFFFF " invalid "
+ "16r15D4" 16rFFFF " invalid "
+ "16r15D5" 16rFFFF " invalid "
+ "16r15D6" 16rFFFF " invalid "
+ "16r15D7" 16rFFFF " invalid "
+ "16r15D8" 16rFFFF " invalid "
+ "16r15D9" 16rFFFF " invalid "
+ "16r15DA" 16rFFFF " invalid "
+ "16r15DB" 16rFFFF " invalid "
+ "16r15DC" 16rFFFF " invalid "
+ "16r15DD" 16rFFFF " invalid "
+ "16r15DE" 16rFFFF " invalid "
+ "16r15DF" 16rFFFF " invalid "
+ "16r15E0" 16rFFFF " invalid "
+ "16r15E1" 16rFFFF " invalid "
+ "16r15E2" 16rFFFF " invalid "
+ "16r15E3" 16rFFFF " invalid "
+ "16r15E4" 16rFFFF " invalid "
+ "16r15E5" 16rFFFF " invalid "
+ "16r15E6" 16rFFFF " invalid "
+ "16r15E7" 16rFFFF " invalid "
+ "16r15E8" 16rFFFF " invalid "
+ "16r15E9" 16rFFFF " invalid "
+ "16r15EA" 16rFFFF " invalid "
+ "16r15EB" 16rFFFF " invalid "
+ "16r15EC" 16rFFFF " invalid "
+ "16r15ED" 16rFFFF " invalid "
+ "16r15EE" 16rFFFF " invalid "
+ "16r15EF" 16rFFFF " invalid "
+ "16r15F0" 16rFFFF " invalid "
+ "16r15F1" 16rFFFF " invalid "
+ "16r15F2" 16rFFFF " invalid "
+ "16r15F3" 16rFFFF " invalid "
+ "16r15F4" 16rFFFF " invalid "
+ "16r15F5" 16rFFFF " invalid "
+ "16r15F6" 16rFFFF " invalid "
+ "16r15F7" 16rFFFF " invalid "
+ "16r15F8" 16rFFFF " invalid "
+ "16r15F9" 16rFFFF " invalid "
+ "16r15FA" 16rFFFF " invalid "
+ "16r15FB" 16rFFFF " invalid "
+ "16r15FC" 16rFFFF " invalid "
+ "16r15FD" 16rFFFF " invalid "
+ "16r15FE" 16rFFFF " invalid "
+ "16r15FF" 16rFFFF " invalid "
+ "16r1600" 16rFFFF " invalid "
+ "16r1601" 16rFFFF " invalid "
+ "16r1602" 16rFFFF " invalid "
+ "16r1603" 16rFFFF " invalid "
+ "16r1604" 16rFFFF " invalid "
+ "16r1605" 16rFFFF " invalid "
+ "16r1606" 16rFFFF " invalid "
+ "16r1607" 16rFFFF " invalid "
+ "16r1608" 16rFFFF " invalid "
+ "16r1609" 16rFFFF " invalid "
+ "16r160A" 16rFFFF " invalid "
+ "16r160B" 16rFFFF " invalid "
+ "16r160C" 16rFFFF " invalid "
+ "16r160D" 16rFFFF " invalid "
+ "16r160E" 16rFFFF " invalid "
+ "16r160F" 16rFFFF " invalid "
+ "16r1610" 16rFFFF " invalid "
+ "16r1611" 16rFFFF " invalid "
+ "16r1612" 16rFFFF " invalid "
+ "16r1613" 16rFFFF " invalid "
+ "16r1614" 16rFFFF " invalid "
+ "16r1615" 16rFFFF " invalid "
+ "16r1616" 16rFFFF " invalid "
+ "16r1617" 16rFFFF " invalid "
+ "16r1618" 16rFFFF " invalid "
+ "16r1619" 16rFFFF " invalid "
+ "16r161A" 16rFFFF " invalid "
+ "16r161B" 16rFFFF " invalid "
+ "16r161C" 16rFFFF " invalid "
+ "16r161D" 16rFFFF " invalid "
+ "16r161E" 16rFFFF " invalid "
+ "16r161F" 16rFFFF " invalid "
+ "16r1620" 16rFFFF " invalid "
+ "16r1621" 16rFFFF " invalid "
+ "16r1622" 16rFFFF " invalid "
+ "16r1623" 16rFFFF " invalid "
+ "16r1624" 16rFFFF " invalid "
+ "16r1625" 16rFFFF " invalid "
+ "16r1626" 16rFFFF " invalid "
+ "16r1627" 16rFFFF " invalid "
+ "16r1628" 16rFFFF " invalid "
+ "16r1629" 16rFFFF " invalid "
+ "16r162A" 16rFFFF " invalid "
+ "16r162B" 16rFFFF " invalid "
+ "16r162C" 16rFFFF " invalid "
+ "16r162D" 16rFFFF " invalid "
+ "16r162E" 16rFFFF " invalid "
+ "16r162F" 16rFFFF " invalid "
+ "16r1630" 16rFFFF " invalid "
+ "16r1631" 16rFFFF " invalid "
+ "16r1632" 16rFFFF " invalid "
+ "16r1633" 16rFFFF " invalid "
+ "16r1634" 16rFFFF " invalid "
+ "16r1635" 16rFFFF " invalid "
+ "16r1636" 16rFFFF " invalid "
+ "16r1637" 16rFFFF " invalid "
+ "16r1638" 16rFFFF " invalid "
+ "16r1639" 16rFFFF " invalid "
+ "16r163A" 16rFFFF " invalid "
+ "16r163B" 16rFFFF " invalid "
+ "16r163C" 16rFFFF " invalid "
+ "16r163D" 16rFFFF " invalid "
+ "16r163E" 16rFFFF " invalid "
+ "16r163F" 16rFFFF " invalid "
+ "16r1640" 16rFFFF " invalid "
+ "16r1641" 16rFFFF " invalid "
+ "16r1642" 16rFFFF " invalid "
+ "16r1643" 16rFFFF " invalid "
+ "16r1644" 16rFFFF " invalid "
+ "16r1645" 16rFFFF " invalid "
+ "16r1646" 16rFFFF " invalid "
+ "16r1647" 16rFFFF " invalid "
+ "16r1648" 16rFFFF " invalid "
+ "16r1649" 16rFFFF " invalid "
+ "16r164A" 16rFFFF " invalid "
+ "16r164B" 16rFFFF " invalid "
+ "16r164C" 16rFFFF " invalid "
+ "16r164D" 16rFFFF " invalid "
+ "16r164E" 16rFFFF " invalid "
+ "16r164F" 16rFFFF " invalid "
+ "16r1650" 16rFFFF " invalid "
+ "16r1651" 16rFFFF " invalid "
+ "16r1652" 16rFFFF " invalid "
+ "16r1653" 16rFFFF " invalid "
+ "16r1654" 16rFFFF " invalid "
+ "16r1655" 16rFFFF " invalid "
+ "16r1656" 16rFFFF " invalid "
+ "16r1657" 16rFFFF " invalid "
+ "16r1658" 16rFFFF " invalid "
+ "16r1659" 16rFFFF " invalid "
+ "16r165A" 16rFFFF " invalid "
+ "16r165B" 16rFFFF " invalid "
+ "16r165C" 16rFFFF " invalid "
+ "16r165D" 16rFFFF " invalid "
+ "16r165E" 16rFFFF " invalid "
+ "16r165F" 16rFFFF " invalid "
+ "16r1660" 16rFFFF " invalid "
+ "16r1661" 16rFFFF " invalid "
+ "16r1662" 16rFFFF " invalid "
+ "16r1663" 16rFFFF " invalid "
+ "16r1664" 16rFFFF " invalid "
+ "16r1665" 16rFFFF " invalid "
+ "16r1666" 16rFFFF " invalid "
+ "16r1667" 16rFFFF " invalid "
+ "16r1668" 16rFFFF " invalid "
+ "16r1669" 16rFFFF " invalid "
+ "16r166A" 16rFFFF " invalid "
+ "16r166B" 16rFFFF " invalid "
+ "16r166C" 16rFFFF " invalid "
+ "16r166D" 16rFFFF " invalid "
+ "16r166E" 16rFFFF " invalid "
+ "16r166F" 16rFFFF " invalid "
+ "16r1670" 16rFFFF " invalid "
+ "16r1671" 16rFFFF " invalid "
+ "16r1672" 16rFFFF " invalid "
+ "16r1673" 16rFFFF " invalid "
+ "16r1674" 16rFFFF " invalid "
+ "16r1675" 16rFFFF " invalid "
+ "16r1676" 16rFFFF " invalid "
+ "16r1677" 16rFFFF " invalid "
+ "16r1678" 16rFFFF " invalid "
+ "16r1679" 16rFFFF " invalid "
+ "16r167A" 16rFFFF " invalid "
+ "16r167B" 16rFFFF " invalid "
+ "16r167C" 16rFFFF " invalid "
+ "16r167D" 16rFFFF " invalid "
+ "16r167E" 16rFFFF " invalid "
+ "16r167F" 16rFFFF " invalid "
+ "16r1680" 16rFFFF " invalid "
+ "16r1681" 16rFFFF " invalid "
+ "16r1682" 16rFFFF " invalid "
+ "16r1683" 16rFFFF " invalid "
+ "16r1684" 16rFFFF " invalid "
+ "16r1685" 16rFFFF " invalid "
+ "16r1686" 16rFFFF " invalid "
+ "16r1687" 16rFFFF " invalid "
+ "16r1688" 16rFFFF " invalid "
+ "16r1689" 16rFFFF " invalid "
+ "16r168A" 16rFFFF " invalid "
+ "16r168B" 16rFFFF " invalid "
+ "16r168C" 16rFFFF " invalid "
+ "16r168D" 16rFFFF " invalid "
+ "16r168E" 16rFFFF " invalid "
+ "16r168F" 16rFFFF " invalid "
+ "16r1690" 16rFFFF " invalid "
+ "16r1691" 16rFFFF " invalid "
+ "16r1692" 16rFFFF " invalid "
+ "16r1693" 16rFFFF " invalid "
+ "16r1694" 16rFFFF " invalid "
+ "16r1695" 16rFFFF " invalid "
+ "16r1696" 16rFFFF " invalid "
+ "16r1697" 16rFFFF " invalid "
+ "16r1698" 16rFFFF " invalid "
+ "16r1699" 16rFFFF " invalid "
+ "16r169A" 16rFFFF " invalid "
+ "16r169B" 16rFFFF " invalid "
+ "16r169C" 16rFFFF " invalid "
+ "16r169D" 16rFFFF " invalid "
+ "16r169E" 16rFFFF " invalid "
+ "16r169F" 16rFFFF " invalid "
+ "16r16A0" 16rFFFF " invalid "
+ "16r16A1" 16rFFFF " invalid "
+ "16r16A2" 16rFFFF " invalid "
+ "16r16A3" 16rFFFF " invalid "
+ "16r16A4" 16rFFFF " invalid "
+ "16r16A5" 16rFFFF " invalid "
+ "16r16A6" 16rFFFF " invalid "
+ "16r16A7" 16rFFFF " invalid "
+ "16r16A8" 16rFFFF " invalid "
+ "16r16A9" 16rFFFF " invalid "
+ "16r16AA" 16rFFFF " invalid "
+ "16r16AB" 16rFFFF " invalid "
+ "16r16AC" 16rFFFF " invalid "
+ "16r16AD" 16rFFFF " invalid "
+ "16r16AE" 16rFFFF " invalid "
+ "16r16AF" 16rFFFF " invalid "
+ "16r16B0" 16rFFFF " invalid "
+ "16r16B1" 16rFFFF " invalid "
+ "16r16B2" 16rFFFF " invalid "
+ "16r16B3" 16rFFFF " invalid "
+ "16r16B4" 16rFFFF " invalid "
+ "16r16B5" 16rFFFF " invalid "
+ "16r16B6" 16rFFFF " invalid "
+ "16r16B7" 16rFFFF " invalid "
+ "16r16B8" 16rFFFF " invalid "
+ "16r16B9" 16rFFFF " invalid "
+ "16r16BA" 16rFFFF " invalid "
+ "16r16BB" 16rFFFF " invalid "
+ "16r16BC" 16rFFFF " invalid "
+ "16r16BD" 16rFFFF " invalid "
+ "16r16BE" 16rFFFF " invalid "
+ "16r16BF" 16rFFFF " invalid "
+ "16r16C0" 16rFFFF " invalid "
+ "16r16C1" 16rFFFF " invalid "
+ "16r16C2" 16rFFFF " invalid "
+ "16r16C3" 16rFFFF " invalid "
+ "16r16C4" 16rFFFF " invalid "
+ "16r16C5" 16rFFFF " invalid "
+ "16r16C6" 16rFFFF " invalid "
+ "16r16C7" 16rFFFF " invalid "
+ "16r16C8" 16rFFFF " invalid "
+ "16r16C9" 16rFFFF " invalid "
+ "16r16CA" 16rFFFF " invalid "
+ "16r16CB" 16rFFFF " invalid "
+ "16r16CC" 16rFFFF " invalid "
+ "16r16CD" 16rFFFF " invalid "
+ "16r16CE" 16rFFFF " invalid "
+ "16r16CF" 16rFFFF " invalid "
+ "16r16D0" 16rFFFF " invalid "
+ "16r16D1" 16rFFFF " invalid "
+ "16r16D2" 16rFFFF " invalid "
+ "16r16D3" 16rFFFF " invalid "
+ "16r16D4" 16rFFFF " invalid "
+ "16r16D5" 16rFFFF " invalid "
+ "16r16D6" 16rFFFF " invalid "
+ "16r16D7" 16rFFFF " invalid "
+ "16r16D8" 16rFFFF " invalid "
+ "16r16D9" 16rFFFF " invalid "
+ "16r16DA" 16rFFFF " invalid "
+ "16r16DB" 16rFFFF " invalid "
+ "16r16DC" 16rFFFF " invalid "
+ "16r16DD" 16rFFFF " invalid "
+ "16r16DE" 16rFFFF " invalid "
+ "16r16DF" 16rFFFF " invalid "
+ "16r16E0" 16rFFFF " invalid "
+ "16r16E1" 16rFFFF " invalid "
+ "16r16E2" 16rFFFF " invalid "
+ "16r16E3" 16rFFFF " invalid "
+ "16r16E4" 16rFFFF " invalid "
+ "16r16E5" 16rFFFF " invalid "
+ "16r16E6" 16rFFFF " invalid "
+ "16r16E7" 16rFFFF " invalid "
+ "16r16E8" 16rFFFF " invalid "
+ "16r16E9" 16rFFFF " invalid "
+ "16r16EA" 16rFFFF " invalid "
+ "16r16EB" 16rFFFF " invalid "
+ "16r16EC" 16rFFFF " invalid "
+ "16r16ED" 16rFFFF " invalid "
+ "16r16EE" 16rFFFF " invalid "
+ "16r16EF" 16rFFFF " invalid "
+ "16r16F0" 16rFFFF " invalid "
+ "16r16F1" 16rFFFF " invalid "
+ "16r16F2" 16rFFFF " invalid "
+ "16r16F3" 16rFFFF " invalid "
+ "16r16F4" 16rFFFF " invalid "
+ "16r16F5" 16rFFFF " invalid "
+ "16r16F6" 16rFFFF " invalid "
+ "16r16F7" 16rFFFF " invalid "
+ "16r16F8" 16rFFFF " invalid "
+ "16r16F9" 16rFFFF " invalid "
+ "16r16FA" 16rFFFF " invalid "
+ "16r16FB" 16rFFFF " invalid "
+ "16r16FC" 16rFFFF " invalid "
+ "16r16FD" 16rFFFF " invalid "
+ "16r16FE" 16rFFFF " invalid "
+ "16r16FF" 16rFFFF " invalid "
+ "16r1700" 16rFFFF " invalid "
+ "16r1701" 16rFFFF " invalid "
+ "16r1702" 16rFFFF " invalid "
+ "16r1703" 16rFFFF " invalid "
+ "16r1704" 16rFFFF " invalid "
+ "16r1705" 16rFFFF " invalid "
+ "16r1706" 16rFFFF " invalid "
+ "16r1707" 16rFFFF " invalid "
+ "16r1708" 16rFFFF " invalid "
+ "16r1709" 16rFFFF " invalid "
+ "16r170A" 16rFFFF " invalid "
+ "16r170B" 16rFFFF " invalid "
+ "16r170C" 16rFFFF " invalid "
+ "16r170D" 16rFFFF " invalid "
+ "16r170E" 16rFFFF " invalid "
+ "16r170F" 16rFFFF " invalid "
+ "16r1710" 16rFFFF " invalid "
+ "16r1711" 16rFFFF " invalid "
+ "16r1712" 16rFFFF " invalid "
+ "16r1713" 16rFFFF " invalid "
+ "16r1714" 16rFFFF " invalid "
+ "16r1715" 16rFFFF " invalid "
+ "16r1716" 16rFFFF " invalid "
+ "16r1717" 16rFFFF " invalid "
+ "16r1718" 16rFFFF " invalid "
+ "16r1719" 16rFFFF " invalid "
+ "16r171A" 16rFFFF " invalid "
+ "16r171B" 16rFFFF " invalid "
+ "16r171C" 16rFFFF " invalid "
+ "16r171D" 16rFFFF " invalid "
+ "16r171E" 16rFFFF " invalid "
+ "16r171F" 16rFFFF " invalid "
+ "16r1720" 16rFFFF " invalid "
+ "16r1721" 16rFFFF " invalid "
+ "16r1722" 16rFFFF " invalid "
+ "16r1723" 16rFFFF " invalid "
+ "16r1724" 16rFFFF " invalid "
+ "16r1725" 16rFFFF " invalid "
+ "16r1726" 16rFFFF " invalid "
+ "16r1727" 16rFFFF " invalid "
+ "16r1728" 16rFFFF " invalid "
+ "16r1729" 16rFFFF " invalid "
+ "16r172A" 16rFFFF " invalid "
+ "16r172B" 16rFFFF " invalid "
+ "16r172C" 16rFFFF " invalid "
+ "16r172D" 16rFFFF " invalid "
+ "16r172E" 16rFFFF " invalid "
+ "16r172F" 16rFFFF " invalid "
+ "16r1730" 16rFFFF " invalid "
+ "16r1731" 16rFFFF " invalid "
+ "16r1732" 16rFFFF " invalid "
+ "16r1733" 16rFFFF " invalid "
+ "16r1734" 16rFFFF " invalid "
+ "16r1735" 16rFFFF " invalid "
+ "16r1736" 16rFFFF " invalid "
+ "16r1737" 16rFFFF " invalid "
+ "16r1738" 16rFFFF " invalid "
+ "16r1739" 16rFFFF " invalid "
+ "16r173A" 16rFFFF " invalid "
+ "16r173B" 16rFFFF " invalid "
+ "16r173C" 16rFFFF " invalid "
+ "16r173D" 16rFFFF " invalid "
+ "16r173E" 16rFFFF " invalid "
+ "16r173F" 16rFFFF " invalid "
+ "16r1740" 16rFFFF " invalid "
+ "16r1741" 16rFFFF " invalid "
+ "16r1742" 16rFFFF " invalid "
+ "16r1743" 16rFFFF " invalid "
+ "16r1744" 16rFFFF " invalid "
+ "16r1745" 16rFFFF " invalid "
+ "16r1746" 16rFFFF " invalid "
+ "16r1747" 16rFFFF " invalid "
+ "16r1748" 16rFFFF " invalid "
+ "16r1749" 16rFFFF " invalid "
+ "16r174A" 16rFFFF " invalid "
+ "16r174B" 16rFFFF " invalid "
+ "16r174C" 16rFFFF " invalid "
+ "16r174D" 16rFFFF " invalid "
+ "16r174E" 16rFFFF " invalid "
+ "16r174F" 16rFFFF " invalid "
+ "16r1750" 16rFFFF " invalid "
+ "16r1751" 16rFFFF " invalid "
+ "16r1752" 16rFFFF " invalid "
+ "16r1753" 16rFFFF " invalid "
+ "16r1754" 16rFFFF " invalid "
+ "16r1755" 16rFFFF " invalid "
+ "16r1756" 16rFFFF " invalid "
+ "16r1757" 16rFFFF " invalid "
+ "16r1758" 16rFFFF " invalid "
+ "16r1759" 16rFFFF " invalid "
+ "16r175A" 16rFFFF " invalid "
+ "16r175B" 16rFFFF " invalid "
+ "16r175C" 16rFFFF " invalid "
+ "16r175D" 16rFFFF " invalid "
+ "16r175E" 16rFFFF " invalid "
+ "16r175F" 16rFFFF " invalid "
+ "16r1760" 16rFFFF " invalid "
+ "16r1761" 16rFFFF " invalid "
+ "16r1762" 16rFFFF " invalid "
+ "16r1763" 16rFFFF " invalid "
+ "16r1764" 16rFFFF " invalid "
+ "16r1765" 16rFFFF " invalid "
+ "16r1766" 16rFFFF " invalid "
+ "16r1767" 16rFFFF " invalid "
+ "16r1768" 16rFFFF " invalid "
+ "16r1769" 16rFFFF " invalid "
+ "16r176A" 16rFFFF " invalid "
+ "16r176B" 16rFFFF " invalid "
+ "16r176C" 16rFFFF " invalid "
+ "16r176D" 16rFFFF " invalid "
+ "16r176E" 16rFFFF " invalid "
+ "16r176F" 16rFFFF " invalid "
+ "16r1770" 16rFFFF " invalid "
+ "16r1771" 16rFFFF " invalid "
+ "16r1772" 16rFFFF " invalid "
+ "16r1773" 16rFFFF " invalid "
+ "16r1774" 16rFFFF " invalid "
+ "16r1775" 16rFFFF " invalid "
+ "16r1776" 16rFFFF " invalid "
+ "16r1777" 16rFFFF " invalid "
+ "16r1778" 16rFFFF " invalid "
+ "16r1779" 16rFFFF " invalid "
+ "16r177A" 16rFFFF " invalid "
+ "16r177B" 16rFFFF " invalid "
+ "16r177C" 16rFFFF " invalid "
+ "16r177D" 16rFFFF " invalid "
+ "16r177E" 16rFFFF " invalid "
+ "16r177F" 16rFFFF " invalid "
+ "16r1780" 16rFFFF " invalid "
+ "16r1781" 16rFFFF " invalid "
+ "16r1782" 16rFFFF " invalid "
+ "16r1783" 16rFFFF " invalid "
+ "16r1784" 16rFFFF " invalid "
+ "16r1785" 16rFFFF " invalid "
+ "16r1786" 16rFFFF " invalid "
+ "16r1787" 16rFFFF " invalid "
+ "16r1788" 16rFFFF " invalid "
+ "16r1789" 16rFFFF " invalid "
+ "16r178A" 16rFFFF " invalid "
+ "16r178B" 16rFFFF " invalid "
+ "16r178C" 16rFFFF " invalid "
+ "16r178D" 16rFFFF " invalid "
+ "16r178E" 16rFFFF " invalid "
+ "16r178F" 16rFFFF " invalid "
+ "16r1790" 16rFFFF " invalid "
+ "16r1791" 16rFFFF " invalid "
+ "16r1792" 16rFFFF " invalid "
+ "16r1793" 16rFFFF " invalid "
+ "16r1794" 16rFFFF " invalid "
+ "16r1795" 16rFFFF " invalid "
+ "16r1796" 16rFFFF " invalid "
+ "16r1797" 16rFFFF " invalid "
+ "16r1798" 16rFFFF " invalid "
+ "16r1799" 16rFFFF " invalid "
+ "16r179A" 16rFFFF " invalid "
+ "16r179B" 16rFFFF " invalid "
+ "16r179C" 16rFFFF " invalid "
+ "16r179D" 16rFFFF " invalid "
+ "16r179E" 16rFFFF " invalid "
+ "16r179F" 16rFFFF " invalid "
+ "16r17A0" 16rFFFF " invalid "
+ "16r17A1" 16rFFFF " invalid "
+ "16r17A2" 16rFFFF " invalid "
+ "16r17A3" 16rFFFF " invalid "
+ "16r17A4" 16rFFFF " invalid "
+ "16r17A5" 16rFFFF " invalid "
+ "16r17A6" 16rFFFF " invalid "
+ "16r17A7" 16rFFFF " invalid "
+ "16r17A8" 16rFFFF " invalid "
+ "16r17A9" 16rFFFF " invalid "
+ "16r17AA" 16rFFFF " invalid "
+ "16r17AB" 16rFFFF " invalid "
+ "16r17AC" 16rFFFF " invalid "
+ "16r17AD" 16rFFFF " invalid "
+ "16r17AE" 16rFFFF " invalid "
+ "16r17AF" 16rFFFF " invalid "
+ "16r17B0" 16rFFFF " invalid "
+ "16r17B1" 16rFFFF " invalid "
+ "16r17B2" 16rFFFF " invalid "
+ "16r17B3" 16rFFFF " invalid "
+ "16r17B4" 16rFFFF " invalid "
+ "16r17B5" 16rFFFF " invalid "
+ "16r17B6" 16rFFFF " invalid "
+ "16r17B7" 16rFFFF " invalid "
+ "16r17B8" 16rFFFF " invalid "
+ "16r17B9" 16rFFFF " invalid "
+ "16r17BA" 16rFFFF " invalid "
+ "16r17BB" 16rFFFF " invalid "
+ "16r17BC" 16rFFFF " invalid "
+ "16r17BD" 16rFFFF " invalid "
+ "16r17BE" 16rFFFF " invalid "
+ "16r17BF" 16rFFFF " invalid "
+ "16r17C0" 16rFFFF " invalid "
+ "16r17C1" 16rFFFF " invalid "
+ "16r17C2" 16rFFFF " invalid "
+ "16r17C3" 16rFFFF " invalid "
+ "16r17C4" 16rFFFF " invalid "
+ "16r17C5" 16rFFFF " invalid "
+ "16r17C6" 16rFFFF " invalid "
+ "16r17C7" 16rFFFF " invalid "
+ "16r17C8" 16rFFFF " invalid "
+ "16r17C9" 16rFFFF " invalid "
+ "16r17CA" 16rFFFF " invalid "
+ "16r17CB" 16rFFFF " invalid "
+ "16r17CC" 16rFFFF " invalid "
+ "16r17CD" 16rFFFF " invalid "
+ "16r17CE" 16rFFFF " invalid "
+ "16r17CF" 16rFFFF " invalid "
+ "16r17D0" 16rFFFF " invalid "
+ "16r17D1" 16rFFFF " invalid "
+ "16r17D2" 16rFFFF " invalid "
+ "16r17D3" 16rFFFF " invalid "
+ "16r17D4" 16rFFFF " invalid "
+ "16r17D5" 16rFFFF " invalid "
+ "16r17D6" 16rFFFF " invalid "
+ "16r17D7" 16rFFFF " invalid "
+ "16r17D8" 16rFFFF " invalid "
+ "16r17D9" 16rFFFF " invalid "
+ "16r17DA" 16rFFFF " invalid "
+ "16r17DB" 16rFFFF " invalid "
+ "16r17DC" 16rFFFF " invalid "
+ "16r17DD" 16rFFFF " invalid "
+ "16r17DE" 16rFFFF " invalid "
+ "16r17DF" 16rFFFF " invalid "
+ "16r17E0" 16rFFFF " invalid "
+ "16r17E1" 16rFFFF " invalid "
+ "16r17E2" 16rFFFF " invalid "
+ "16r17E3" 16rFFFF " invalid "
+ "16r17E4" 16rFFFF " invalid "
+ "16r17E5" 16rFFFF " invalid "
+ "16r17E6" 16rFFFF " invalid "
+ "16r17E7" 16rFFFF " invalid "
+ "16r17E8" 16rFFFF " invalid "
+ "16r17E9" 16rFFFF " invalid "
+ "16r17EA" 16rFFFF " invalid "
+ "16r17EB" 16rFFFF " invalid "
+ "16r17EC" 16rFFFF " invalid "
+ "16r17ED" 16rFFFF " invalid "
+ "16r17EE" 16rFFFF " invalid "
+ "16r17EF" 16rFFFF " invalid "
+ "16r17F0" 16rFFFF " invalid "
+ "16r17F1" 16rFFFF " invalid "
+ "16r17F2" 16rFFFF " invalid "
+ "16r17F3" 16rFFFF " invalid "
+ "16r17F4" 16rFFFF " invalid "
+ "16r17F5" 16rFFFF " invalid "
+ "16r17F6" 16rFFFF " invalid "
+ "16r17F7" 16rFFFF " invalid "
+ "16r17F8" 16rFFFF " invalid "
+ "16r17F9" 16rFFFF " invalid "
+ "16r17FA" 16rFFFF " invalid "
+ "16r17FB" 16rFFFF " invalid "
+ "16r17FC" 16rFFFF " invalid "
+ "16r17FD" 16rFFFF " invalid "
+ "16r17FE" 16rFFFF " invalid "
+ "16r17FF" 16rFFFF " invalid "
+ "16r1800" 16rFFFF " invalid "
+ "16r1801" 16rFFFF " invalid "
+ "16r1802" 16rFFFF " invalid "
+ "16r1803" 16rFFFF " invalid "
+ "16r1804" 16rFFFF " invalid "
+ "16r1805" 16rFFFF " invalid "
+ "16r1806" 16rFFFF " invalid "
+ "16r1807" 16rFFFF " invalid "
+ "16r1808" 16rFFFF " invalid "
+ "16r1809" 16rFFFF " invalid "
+ "16r180A" 16rFFFF " invalid "
+ "16r180B" 16rFFFF " invalid "
+ "16r180C" 16rFFFF " invalid "
+ "16r180D" 16rFFFF " invalid "
+ "16r180E" 16rFFFF " invalid "
+ "16r180F" 16rFFFF " invalid "
+ "16r1810" 16rFFFF " invalid "
+ "16r1811" 16rFFFF " invalid "
+ "16r1812" 16rFFFF " invalid "
+ "16r1813" 16rFFFF " invalid "
+ "16r1814" 16rFFFF " invalid "
+ "16r1815" 16rFFFF " invalid "
+ "16r1816" 16rFFFF " invalid "
+ "16r1817" 16rFFFF " invalid "
+ "16r1818" 16rFFFF " invalid "
+ "16r1819" 16rFFFF " invalid "
+ "16r181A" 16rFFFF " invalid "
+ "16r181B" 16rFFFF " invalid "
+ "16r181C" 16rFFFF " invalid "
+ "16r181D" 16rFFFF " invalid "
+ "16r181E" 16rFFFF " invalid "
+ "16r181F" 16rFFFF " invalid "
+ "16r1820" 16rFFFF " invalid "
+ "16r1821" 16rFFFF " invalid "
+ "16r1822" 16rFFFF " invalid "
+ "16r1823" 16rFFFF " invalid "
+ "16r1824" 16rFFFF " invalid "
+ "16r1825" 16rFFFF " invalid "
+ "16r1826" 16rFFFF " invalid "
+ "16r1827" 16rFFFF " invalid "
+ "16r1828" 16rFFFF " invalid "
+ "16r1829" 16rFFFF " invalid "
+ "16r182A" 16rFFFF " invalid "
+ "16r182B" 16rFFFF " invalid "
+ "16r182C" 16rFFFF " invalid "
+ "16r182D" 16rFFFF " invalid "
+ "16r182E" 16rFFFF " invalid "
+ "16r182F" 16rFFFF " invalid "
+ "16r1830" 16rFFFF " invalid "
+ "16r1831" 16rFFFF " invalid "
+ "16r1832" 16rFFFF " invalid "
+ "16r1833" 16rFFFF " invalid "
+ "16r1834" 16rFFFF " invalid "
+ "16r1835" 16rFFFF " invalid "
+ "16r1836" 16rFFFF " invalid "
+ "16r1837" 16rFFFF " invalid "
+ "16r1838" 16rFFFF " invalid "
+ "16r1839" 16rFFFF " invalid "
+ "16r183A" 16rFFFF " invalid "
+ "16r183B" 16rFFFF " invalid "
+ "16r183C" 16rFFFF " invalid "
+ "16r183D" 16rFFFF " invalid "
+ "16r183E" 16rFFFF " invalid "
+ "16r183F" 16rFFFF " invalid "
+ "16r1840" 16rFFFF " invalid "
+ "16r1841" 16rFFFF " invalid "
+ "16r1842" 16rFFFF " invalid "
+ "16r1843" 16rFFFF " invalid "
+ "16r1844" 16rFFFF " invalid "
+ "16r1845" 16rFFFF " invalid "
+ "16r1846" 16rFFFF " invalid "
+ "16r1847" 16rFFFF " invalid "
+ "16r1848" 16rFFFF " invalid "
+ "16r1849" 16rFFFF " invalid "
+ "16r184A" 16rFFFF " invalid "
+ "16r184B" 16rFFFF " invalid "
+ "16r184C" 16rFFFF " invalid "
+ "16r184D" 16rFFFF " invalid "
+ "16r184E" 16rFFFF " invalid "
+ "16r184F" 16rFFFF " invalid "
+ "16r1850" 16rFFFF " invalid "
+ "16r1851" 16rFFFF " invalid "
+ "16r1852" 16rFFFF " invalid "
+ "16r1853" 16rFFFF " invalid "
+ "16r1854" 16rFFFF " invalid "
+ "16r1855" 16rFFFF " invalid "
+ "16r1856" 16rFFFF " invalid "
+ "16r1857" 16rFFFF " invalid "
+ "16r1858" 16rFFFF " invalid "
+ "16r1859" 16rFFFF " invalid "
+ "16r185A" 16rFFFF " invalid "
+ "16r185B" 16rFFFF " invalid "
+ "16r185C" 16rFFFF " invalid "
+ "16r185D" 16rFFFF " invalid "
+ "16r185E" 16rFFFF " invalid "
+ "16r185F" 16rFFFF " invalid "
+ "16r1860" 16rFFFF " invalid "
+ "16r1861" 16rFFFF " invalid "
+ "16r1862" 16rFFFF " invalid "
+ "16r1863" 16rFFFF " invalid "
+ "16r1864" 16rFFFF " invalid "
+ "16r1865" 16rFFFF " invalid "
+ "16r1866" 16rFFFF " invalid "
+ "16r1867" 16rFFFF " invalid "
+ "16r1868" 16rFFFF " invalid "
+ "16r1869" 16rFFFF " invalid "
+ "16r186A" 16rFFFF " invalid "
+ "16r186B" 16rFFFF " invalid "
+ "16r186C" 16rFFFF " invalid "
+ "16r186D" 16rFFFF " invalid "
+ "16r186E" 16rFFFF " invalid "
+ "16r186F" 16rFFFF " invalid "
+ "16r1870" 16rFFFF " invalid "
+ "16r1871" 16rFFFF " invalid "
+ "16r1872" 16rFFFF " invalid "
+ "16r1873" 16rFFFF " invalid "
+ "16r1874" 16rFFFF " invalid "
+ "16r1875" 16rFFFF " invalid "
+ "16r1876" 16rFFFF " invalid "
+ "16r1877" 16rFFFF " invalid "
+ "16r1878" 16rFFFF " invalid "
+ "16r1879" 16rFFFF " invalid "
+ "16r187A" 16rFFFF " invalid "
+ "16r187B" 16rFFFF " invalid "
+ "16r187C" 16rFFFF " invalid "
+ "16r187D" 16rFFFF " invalid "
+ "16r187E" 16rFFFF " invalid "
+ "16r187F" 16rFFFF " invalid "
+ "16r1880" 16rFFFF " invalid "
+ "16r1881" 16rFFFF " invalid "
+ "16r1882" 16rFFFF " invalid "
+ "16r1883" 16rFFFF " invalid "
+ "16r1884" 16rFFFF " invalid "
+ "16r1885" 16rFFFF " invalid "
+ "16r1886" 16rFFFF " invalid "
+ "16r1887" 16rFFFF " invalid "
+ "16r1888" 16rFFFF " invalid "
+ "16r1889" 16rFFFF " invalid "
+ "16r188A" 16rFFFF " invalid "
+ "16r188B" 16rFFFF " invalid "
+ "16r188C" 16rFFFF " invalid "
+ "16r188D" 16rFFFF " invalid "
+ "16r188E" 16rFFFF " invalid "
+ "16r188F" 16rFFFF " invalid "
+ "16r1890" 16rFFFF " invalid "
+ "16r1891" 16rFFFF " invalid "
+ "16r1892" 16rFFFF " invalid "
+ "16r1893" 16rFFFF " invalid "
+ "16r1894" 16rFFFF " invalid "
+ "16r1895" 16rFFFF " invalid "
+ "16r1896" 16rFFFF " invalid "
+ "16r1897" 16rFFFF " invalid "
+ "16r1898" 16rFFFF " invalid "
+ "16r1899" 16rFFFF " invalid "
+ "16r189A" 16rFFFF " invalid "
+ "16r189B" 16rFFFF " invalid "
+ "16r189C" 16rFFFF " invalid "
+ "16r189D" 16rFFFF " invalid "
+ "16r189E" 16rFFFF " invalid "
+ "16r189F" 16rFFFF " invalid "
+ "16r18A0" 16rFFFF " invalid "
+ "16r18A1" 16rFFFF " invalid "
+ "16r18A2" 16rFFFF " invalid "
+ "16r18A3" 16rFFFF " invalid "
+ "16r18A4" 16rFFFF " invalid "
+ "16r18A5" 16rFFFF " invalid "
+ "16r18A6" 16rFFFF " invalid "
+ "16r18A7" 16rFFFF " invalid "
+ "16r18A8" 16rFFFF " invalid "
+ "16r18A9" 16rFFFF " invalid "
+ "16r18AA" 16rFFFF " invalid "
+ "16r18AB" 16rFFFF " invalid "
+ "16r18AC" 16rFFFF " invalid "
+ "16r18AD" 16rFFFF " invalid "
+ "16r18AE" 16rFFFF " invalid "
+ "16r18AF" 16rFFFF " invalid "
+ "16r18B0" 16rFFFF " invalid "
+ "16r18B1" 16rFFFF " invalid "
+ "16r18B2" 16rFFFF " invalid "
+ "16r18B3" 16rFFFF " invalid "
+ "16r18B4" 16rFFFF " invalid "
+ "16r18B5" 16rFFFF " invalid "
+ "16r18B6" 16rFFFF " invalid "
+ "16r18B7" 16rFFFF " invalid "
+ "16r18B8" 16rFFFF " invalid "
+ "16r18B9" 16rFFFF " invalid "
+ "16r18BA" 16rFFFF " invalid "
+ "16r18BB" 16rFFFF " invalid "
+ "16r18BC" 16rFFFF " invalid "
+ "16r18BD" 16rFFFF " invalid "
+ "16r18BE" 16rFFFF " invalid "
+ "16r18BF" 16rFFFF " invalid "
+ "16r18C0" 16rFFFF " invalid "
+ "16r18C1" 16rFFFF " invalid "
+ "16r18C2" 16rFFFF " invalid "
+ "16r18C3" 16rFFFF " invalid "
+ "16r18C4" 16rFFFF " invalid "
+ "16r18C5" 16rFFFF " invalid "
+ "16r18C6" 16rFFFF " invalid "
+ "16r18C7" 16rFFFF " invalid "
+ "16r18C8" 16rFFFF " invalid "
+ "16r18C9" 16rFFFF " invalid "
+ "16r18CA" 16rFFFF " invalid "
+ "16r18CB" 16rFFFF " invalid "
+ "16r18CC" 16rFFFF " invalid "
+ "16r18CD" 16rFFFF " invalid "
+ "16r18CE" 16rFFFF " invalid "
+ "16r18CF" 16rFFFF " invalid "
+ "16r18D0" 16rFFFF " invalid "
+ "16r18D1" 16rFFFF " invalid "
+ "16r18D2" 16rFFFF " invalid "
+ "16r18D3" 16rFFFF " invalid "
+ "16r18D4" 16rFFFF " invalid "
+ "16r18D5" 16rFFFF " invalid "
+ "16r18D6" 16rFFFF " invalid "
+ "16r18D7" 16rFFFF " invalid "
+ "16r18D8" 16rFFFF " invalid "
+ "16r18D9" 16rFFFF " invalid "
+ "16r18DA" 16rFFFF " invalid "
+ "16r18DB" 16rFFFF " invalid "
+ "16r18DC" 16rFFFF " invalid "
+ "16r18DD" 16rFFFF " invalid "
+ "16r18DE" 16rFFFF " invalid "
+ "16r18DF" 16rFFFF " invalid "
+ "16r18E0" 16rFFFF " invalid "
+ "16r18E1" 16rFFFF " invalid "
+ "16r18E2" 16rFFFF " invalid "
+ "16r18E3" 16rFFFF " invalid "
+ "16r18E4" 16rFFFF " invalid "
+ "16r18E5" 16rFFFF " invalid "
+ "16r18E6" 16rFFFF " invalid "
+ "16r18E7" 16rFFFF " invalid "
+ "16r18E8" 16rFFFF " invalid "
+ "16r18E9" 16rFFFF " invalid "
+ "16r18EA" 16rFFFF " invalid "
+ "16r18EB" 16rFFFF " invalid "
+ "16r18EC" 16rFFFF " invalid "
+ "16r18ED" 16rFFFF " invalid "
+ "16r18EE" 16rFFFF " invalid "
+ "16r18EF" 16rFFFF " invalid "
+ "16r18F0" 16rFFFF " invalid "
+ "16r18F1" 16rFFFF " invalid "
+ "16r18F2" 16rFFFF " invalid "
+ "16r18F3" 16rFFFF " invalid "
+ "16r18F4" 16rFFFF " invalid "
+ "16r18F5" 16rFFFF " invalid "
+ "16r18F6" 16rFFFF " invalid "
+ "16r18F7" 16rFFFF " invalid "
+ "16r18F8" 16rFFFF " invalid "
+ "16r18F9" 16rFFFF " invalid "
+ "16r18FA" 16rFFFF " invalid "
+ "16r18FB" 16rFFFF " invalid "
+ "16r18FC" 16rFFFF " invalid "
+ "16r18FD" 16rFFFF " invalid "
+ "16r18FE" 16rFFFF " invalid "
+ "16r18FF" 16rFFFF " invalid "
+ "16r1900" 16rFFFF " invalid "
+ "16r1901" 16rFFFF " invalid "
+ "16r1902" 16rFFFF " invalid "
+ "16r1903" 16rFFFF " invalid "
+ "16r1904" 16rFFFF " invalid "
+ "16r1905" 16rFFFF " invalid "
+ "16r1906" 16rFFFF " invalid "
+ "16r1907" 16rFFFF " invalid "
+ "16r1908" 16rFFFF " invalid "
+ "16r1909" 16rFFFF " invalid "
+ "16r190A" 16rFFFF " invalid "
+ "16r190B" 16rFFFF " invalid "
+ "16r190C" 16rFFFF " invalid "
+ "16r190D" 16rFFFF " invalid "
+ "16r190E" 16rFFFF " invalid "
+ "16r190F" 16rFFFF " invalid "
+ "16r1910" 16rFFFF " invalid "
+ "16r1911" 16rFFFF " invalid "
+ "16r1912" 16rFFFF " invalid "
+ "16r1913" 16rFFFF " invalid "
+ "16r1914" 16rFFFF " invalid "
+ "16r1915" 16rFFFF " invalid "
+ "16r1916" 16rFFFF " invalid "
+ "16r1917" 16rFFFF " invalid "
+ "16r1918" 16rFFFF " invalid "
+ "16r1919" 16rFFFF " invalid "
+ "16r191A" 16rFFFF " invalid "
+ "16r191B" 16rFFFF " invalid "
+ "16r191C" 16rFFFF " invalid "
+ "16r191D" 16rFFFF " invalid "
+ "16r191E" 16rFFFF " invalid "
+ "16r191F" 16rFFFF " invalid "
+ "16r1920" 16rFFFF " invalid "
+ "16r1921" 16rFFFF " invalid "
+ "16r1922" 16rFFFF " invalid "
+ "16r1923" 16rFFFF " invalid "
+ "16r1924" 16rFFFF " invalid "
+ "16r1925" 16rFFFF " invalid "
+ "16r1926" 16rFFFF " invalid "
+ "16r1927" 16rFFFF " invalid "
+ "16r1928" 16rFFFF " invalid "
+ "16r1929" 16rFFFF " invalid "
+ "16r192A" 16rFFFF " invalid "
+ "16r192B" 16rFFFF " invalid "
+ "16r192C" 16rFFFF " invalid "
+ "16r192D" 16rFFFF " invalid "
+ "16r192E" 16rFFFF " invalid "
+ "16r192F" 16rFFFF " invalid "
+ "16r1930" 16rFFFF " invalid "
+ "16r1931" 16rFFFF " invalid "
+ "16r1932" 16rFFFF " invalid "
+ "16r1933" 16rFFFF " invalid "
+ "16r1934" 16rFFFF " invalid "
+ "16r1935" 16rFFFF " invalid "
+ "16r1936" 16rFFFF " invalid "
+ "16r1937" 16rFFFF " invalid "
+ "16r1938" 16rFFFF " invalid "
+ "16r1939" 16rFFFF " invalid "
+ "16r193A" 16rFFFF " invalid "
+ "16r193B" 16rFFFF " invalid "
+ "16r193C" 16rFFFF " invalid "
+ "16r193D" 16rFFFF " invalid "
+ "16r193E" 16rFFFF " invalid "
+ "16r193F" 16rFFFF " invalid "
+ "16r1940" 16rFFFF " invalid "
+ "16r1941" 16rFFFF " invalid "
+ "16r1942" 16rFFFF " invalid "
+ "16r1943" 16rFFFF " invalid "
+ "16r1944" 16rFFFF " invalid "
+ "16r1945" 16rFFFF " invalid "
+ "16r1946" 16rFFFF " invalid "
+ "16r1947" 16rFFFF " invalid "
+ "16r1948" 16rFFFF " invalid "
+ "16r1949" 16rFFFF " invalid "
+ "16r194A" 16rFFFF " invalid "
+ "16r194B" 16rFFFF " invalid "
+ "16r194C" 16rFFFF " invalid "
+ "16r194D" 16rFFFF " invalid "
+ "16r194E" 16rFFFF " invalid "
+ "16r194F" 16rFFFF " invalid "
+ "16r1950" 16rFFFF " invalid "
+ "16r1951" 16rFFFF " invalid "
+ "16r1952" 16rFFFF " invalid "
+ "16r1953" 16rFFFF " invalid "
+ "16r1954" 16rFFFF " invalid "
+ "16r1955" 16rFFFF " invalid "
+ "16r1956" 16rFFFF " invalid "
+ "16r1957" 16rFFFF " invalid "
+ "16r1958" 16rFFFF " invalid "
+ "16r1959" 16rFFFF " invalid "
+ "16r195A" 16rFFFF " invalid "
+ "16r195B" 16rFFFF " invalid "
+ "16r195C" 16rFFFF " invalid "
+ "16r195D" 16rFFFF " invalid "
+ "16r195E" 16rFFFF " invalid "
+ "16r195F" 16rFFFF " invalid "
+ "16r1960" 16rFFFF " invalid "
+ "16r1961" 16rFFFF " invalid "
+ "16r1962" 16rFFFF " invalid "
+ "16r1963" 16rFFFF " invalid "
+ "16r1964" 16rFFFF " invalid "
+ "16r1965" 16rFFFF " invalid "
+ "16r1966" 16rFFFF " invalid "
+ "16r1967" 16rFFFF " invalid "
+ "16r1968" 16rFFFF " invalid "
+ "16r1969" 16rFFFF " invalid "
+ "16r196A" 16rFFFF " invalid "
+ "16r196B" 16rFFFF " invalid "
+ "16r196C" 16rFFFF " invalid "
+ "16r196D" 16rFFFF " invalid "
+ "16r196E" 16rFFFF " invalid "
+ "16r196F" 16rFFFF " invalid "
+ "16r1970" 16rFFFF " invalid "
+ "16r1971" 16rFFFF " invalid "
+ "16r1972" 16rFFFF " invalid "
+ "16r1973" 16rFFFF " invalid "
+ "16r1974" 16rFFFF " invalid "
+ "16r1975" 16rFFFF " invalid "
+ "16r1976" 16rFFFF " invalid "
+ "16r1977" 16rFFFF " invalid "
+ "16r1978" 16rFFFF " invalid "
+ "16r1979" 16rFFFF " invalid "
+ "16r197A" 16rFFFF " invalid "
+ "16r197B" 16rFFFF " invalid "
+ "16r197C" 16rFFFF " invalid "
+ "16r197D" 16rFFFF " invalid "
+ "16r197E" 16rFFFF " invalid "
+ "16r197F" 16rFFFF " invalid "
+ "16r1980" 16rFFFF " invalid "
+ "16r1981" 16rFFFF " invalid "
+ "16r1982" 16rFFFF " invalid "
+ "16r1983" 16rFFFF " invalid "
+ "16r1984" 16rFFFF " invalid "
+ "16r1985" 16rFFFF " invalid "
+ "16r1986" 16rFFFF " invalid "
+ "16r1987" 16rFFFF " invalid "
+ "16r1988" 16rFFFF " invalid "
+ "16r1989" 16rFFFF " invalid "
+ "16r198A" 16rFFFF " invalid "
+ "16r198B" 16rFFFF " invalid "
+ "16r198C" 16rFFFF " invalid "
+ "16r198D" 16rFFFF " invalid "
+ "16r198E" 16rFFFF " invalid "
+ "16r198F" 16rFFFF " invalid "
+ "16r1990" 16rFFFF " invalid "
+ "16r1991" 16rFFFF " invalid "
+ "16r1992" 16rFFFF " invalid "
+ "16r1993" 16rFFFF " invalid "
+ "16r1994" 16rFFFF " invalid "
+ "16r1995" 16rFFFF " invalid "
+ "16r1996" 16rFFFF " invalid "
+ "16r1997" 16rFFFF " invalid "
+ "16r1998" 16rFFFF " invalid "
+ "16r1999" 16rFFFF " invalid "
+ "16r199A" 16rFFFF " invalid "
+ "16r199B" 16rFFFF " invalid "
+ "16r199C" 16rFFFF " invalid "
+ "16r199D" 16rFFFF " invalid "
+ "16r199E" 16rFFFF " invalid "
+ "16r199F" 16rFFFF " invalid "
+ "16r19A0" 16rFFFF " invalid "
+ "16r19A1" 16rFFFF " invalid "
+ "16r19A2" 16rFFFF " invalid "
+ "16r19A3" 16rFFFF " invalid "
+ "16r19A4" 16rFFFF " invalid "
+ "16r19A5" 16rFFFF " invalid "
+ "16r19A6" 16rFFFF " invalid "
+ "16r19A7" 16rFFFF " invalid "
+ "16r19A8" 16rFFFF " invalid "
+ "16r19A9" 16rFFFF " invalid "
+ "16r19AA" 16rFFFF " invalid "
+ "16r19AB" 16rFFFF " invalid "
+ "16r19AC" 16rFFFF " invalid "
+ "16r19AD" 16rFFFF " invalid "
+ "16r19AE" 16rFFFF " invalid "
+ "16r19AF" 16rFFFF " invalid "
+ "16r19B0" 16rFFFF " invalid "
+ "16r19B1" 16rFFFF " invalid "
+ "16r19B2" 16rFFFF " invalid "
+ "16r19B3" 16rFFFF " invalid "
+ "16r19B4" 16rFFFF " invalid "
+ "16r19B5" 16rFFFF " invalid "
+ "16r19B6" 16rFFFF " invalid "
+ "16r19B7" 16rFFFF " invalid "
+ "16r19B8" 16rFFFF " invalid "
+ "16r19B9" 16rFFFF " invalid "
+ "16r19BA" 16rFFFF " invalid "
+ "16r19BB" 16rFFFF " invalid "
+ "16r19BC" 16rFFFF " invalid "
+ "16r19BD" 16rFFFF " invalid "
+ "16r19BE" 16rFFFF " invalid "
+ "16r19BF" 16rFFFF " invalid "
+ "16r19C0" 16rFFFF " invalid "
+ "16r19C1" 16rFFFF " invalid "
+ "16r19C2" 16rFFFF " invalid "
+ "16r19C3" 16rFFFF " invalid "
+ "16r19C4" 16rFFFF " invalid "
+ "16r19C5" 16rFFFF " invalid "
+ "16r19C6" 16rFFFF " invalid "
+ "16r19C7" 16rFFFF " invalid "
+ "16r19C8" 16rFFFF " invalid "
+ "16r19C9" 16rFFFF " invalid "
+ "16r19CA" 16rFFFF " invalid "
+ "16r19CB" 16rFFFF " invalid "
+ "16r19CC" 16rFFFF " invalid "
+ "16r19CD" 16rFFFF " invalid "
+ "16r19CE" 16rFFFF " invalid "
+ "16r19CF" 16rFFFF " invalid "
+ "16r19D0" 16rFFFF " invalid "
+ "16r19D1" 16rFFFF " invalid "
+ "16r19D2" 16rFFFF " invalid "
+ "16r19D3" 16rFFFF " invalid "
+ "16r19D4" 16rFFFF " invalid "
+ "16r19D5" 16rFFFF " invalid "
+ "16r19D6" 16rFFFF " invalid "
+ "16r19D7" 16rFFFF " invalid "
+ "16r19D8" 16rFFFF " invalid "
+ "16r19D9" 16rFFFF " invalid "
+ "16r19DA" 16rFFFF " invalid "
+ "16r19DB" 16rFFFF " invalid "
+ "16r19DC" 16rFFFF " invalid "
+ "16r19DD" 16rFFFF " invalid "
+ "16r19DE" 16rFFFF " invalid "
+ "16r19DF" 16rFFFF " invalid "
+ "16r19E0" 16rFFFF " invalid "
+ "16r19E1" 16rFFFF " invalid "
+ "16r19E2" 16rFFFF " invalid "
+ "16r19E3" 16rFFFF " invalid "
+ "16r19E4" 16rFFFF " invalid "
+ "16r19E5" 16rFFFF " invalid "
+ "16r19E6" 16rFFFF " invalid "
+ "16r19E7" 16rFFFF " invalid "
+ "16r19E8" 16rFFFF " invalid "
+ "16r19E9" 16rFFFF " invalid "
+ "16r19EA" 16rFFFF " invalid "
+ "16r19EB" 16rFFFF " invalid "
+ "16r19EC" 16rFFFF " invalid "
+ "16r19ED" 16rFFFF " invalid "
+ "16r19EE" 16rFFFF " invalid "
+ "16r19EF" 16rFFFF " invalid "
+ "16r19F0" 16rFFFF " invalid "
+ "16r19F1" 16rFFFF " invalid "
+ "16r19F2" 16rFFFF " invalid "
+ "16r19F3" 16rFFFF " invalid "
+ "16r19F4" 16rFFFF " invalid "
+ "16r19F5" 16rFFFF " invalid "
+ "16r19F6" 16rFFFF " invalid "
+ "16r19F7" 16rFFFF " invalid "
+ "16r19F8" 16rFFFF " invalid "
+ "16r19F9" 16rFFFF " invalid "
+ "16r19FA" 16rFFFF " invalid "
+ "16r19FB" 16rFFFF " invalid "
+ "16r19FC" 16rFFFF " invalid "
+ "16r19FD" 16rFFFF " invalid "
+ "16r19FE" 16rFFFF " invalid "
+ "16r19FF" 16rFFFF " invalid "
+ "16r1A00" 16rFFFF " invalid "
+ "16r1A01" 16rFFFF " invalid "
+ "16r1A02" 16rFFFF " invalid "
+ "16r1A03" 16rFFFF " invalid "
+ "16r1A04" 16rFFFF " invalid "
+ "16r1A05" 16rFFFF " invalid "
+ "16r1A06" 16rFFFF " invalid "
+ "16r1A07" 16rFFFF " invalid "
+ "16r1A08" 16rFFFF " invalid "
+ "16r1A09" 16rFFFF " invalid "
+ "16r1A0A" 16rFFFF " invalid "
+ "16r1A0B" 16rFFFF " invalid "
+ "16r1A0C" 16rFFFF " invalid "
+ "16r1A0D" 16rFFFF " invalid "
+ "16r1A0E" 16rFFFF " invalid "
+ "16r1A0F" 16rFFFF " invalid "
+ "16r1A10" 16rFFFF " invalid "
+ "16r1A11" 16rFFFF " invalid "
+ "16r1A12" 16rFFFF " invalid "
+ "16r1A13" 16rFFFF " invalid "
+ "16r1A14" 16rFFFF " invalid "
+ "16r1A15" 16rFFFF " invalid "
+ "16r1A16" 16rFFFF " invalid "
+ "16r1A17" 16rFFFF " invalid "
+ "16r1A18" 16rFFFF " invalid "
+ "16r1A19" 16rFFFF " invalid "
+ "16r1A1A" 16rFFFF " invalid "
+ "16r1A1B" 16rFFFF " invalid "
+ "16r1A1C" 16rFFFF " invalid "
+ "16r1A1D" 16rFFFF " invalid "
+ "16r1A1E" 16rFFFF " invalid "
+ "16r1A1F" 16rFFFF " invalid "
+ "16r1A20" 16rFFFF " invalid "
+ "16r1A21" 16rFFFF " invalid "
+ "16r1A22" 16rFFFF " invalid "
+ "16r1A23" 16rFFFF " invalid "
+ "16r1A24" 16rFFFF " invalid "
+ "16r1A25" 16rFFFF " invalid "
+ "16r1A26" 16rFFFF " invalid "
+ "16r1A27" 16rFFFF " invalid "
+ "16r1A28" 16rFFFF " invalid "
+ "16r1A29" 16rFFFF " invalid "
+ "16r1A2A" 16rFFFF " invalid "
+ "16r1A2B" 16rFFFF " invalid "
+ "16r1A2C" 16rFFFF " invalid "
+ "16r1A2D" 16rFFFF " invalid "
+ "16r1A2E" 16rFFFF " invalid "
+ "16r1A2F" 16rFFFF " invalid "
+ "16r1A30" 16rFFFF " invalid "
+ "16r1A31" 16rFFFF " invalid "
+ "16r1A32" 16rFFFF " invalid "
+ "16r1A33" 16rFFFF " invalid "
+ "16r1A34" 16rFFFF " invalid "
+ "16r1A35" 16rFFFF " invalid "
+ "16r1A36" 16rFFFF " invalid "
+ "16r1A37" 16rFFFF " invalid "
+ "16r1A38" 16rFFFF " invalid "
+ "16r1A39" 16rFFFF " invalid "
+ "16r1A3A" 16rFFFF " invalid "
+ "16r1A3B" 16rFFFF " invalid "
+ "16r1A3C" 16rFFFF " invalid "
+ "16r1A3D" 16rFFFF " invalid "
+ "16r1A3E" 16rFFFF " invalid "
+ "16r1A3F" 16rFFFF " invalid "
+ "16r1A40" 16rFFFF " invalid "
+ "16r1A41" 16rFFFF " invalid "
+ "16r1A42" 16rFFFF " invalid "
+ "16r1A43" 16rFFFF " invalid "
+ "16r1A44" 16rFFFF " invalid "
+ "16r1A45" 16rFFFF " invalid "
+ "16r1A46" 16rFFFF " invalid "
+ "16r1A47" 16rFFFF " invalid "
+ "16r1A48" 16rFFFF " invalid "
+ "16r1A49" 16rFFFF " invalid "
+ "16r1A4A" 16rFFFF " invalid "
+ "16r1A4B" 16rFFFF " invalid "
+ "16r1A4C" 16rFFFF " invalid "
+ "16r1A4D" 16rFFFF " invalid "
+ "16r1A4E" 16rFFFF " invalid "
+ "16r1A4F" 16rFFFF " invalid "
+ "16r1A50" 16rFFFF " invalid "
+ "16r1A51" 16rFFFF " invalid "
+ "16r1A52" 16rFFFF " invalid "
+ "16r1A53" 16rFFFF " invalid "
+ "16r1A54" 16rFFFF " invalid "
+ "16r1A55" 16rFFFF " invalid "
+ "16r1A56" 16rFFFF " invalid "
+ "16r1A57" 16rFFFF " invalid "
+ "16r1A58" 16rFFFF " invalid "
+ "16r1A59" 16rFFFF " invalid "
+ "16r1A5A" 16rFFFF " invalid "
+ "16r1A5B" 16rFFFF " invalid "
+ "16r1A5C" 16rFFFF " invalid "
+ "16r1A5D" 16rFFFF " invalid "
+ "16r1A5E" 16rFFFF " invalid "
+ "16r1A5F" 16rFFFF " invalid "
+ "16r1A60" 16rFFFF " invalid "
+ "16r1A61" 16rFFFF " invalid "
+ "16r1A62" 16rFFFF " invalid "
+ "16r1A63" 16rFFFF " invalid "
+ "16r1A64" 16rFFFF " invalid "
+ "16r1A65" 16rFFFF " invalid "
+ "16r1A66" 16rFFFF " invalid "
+ "16r1A67" 16rFFFF " invalid "
+ "16r1A68" 16rFFFF " invalid "
+ "16r1A69" 16rFFFF " invalid "
+ "16r1A6A" 16rFFFF " invalid "
+ "16r1A6B" 16rFFFF " invalid "
+ "16r1A6C" 16rFFFF " invalid "
+ "16r1A6D" 16rFFFF " invalid "
+ "16r1A6E" 16rFFFF " invalid "
+ "16r1A6F" 16rFFFF " invalid "
+ "16r1A70" 16rFFFF " invalid "
+ "16r1A71" 16rFFFF " invalid "
+ "16r1A72" 16rFFFF " invalid "
+ "16r1A73" 16rFFFF " invalid "
+ "16r1A74" 16rFFFF " invalid "
+ "16r1A75" 16rFFFF " invalid "
+ "16r1A76" 16rFFFF " invalid "
+ "16r1A77" 16rFFFF " invalid "
+ "16r1A78" 16rFFFF " invalid "
+ "16r1A79" 16rFFFF " invalid "
+ "16r1A7A" 16rFFFF " invalid "
+ "16r1A7B" 16rFFFF " invalid "
+ "16r1A7C" 16rFFFF " invalid "
+ "16r1A7D" 16rFFFF " invalid "
+ "16r1A7E" 16rFFFF " invalid "
+ "16r1A7F" 16rFFFF " invalid "
+ "16r1A80" 16rFFFF " invalid "
+ "16r1A81" 16rFFFF " invalid "
+ "16r1A82" 16rFFFF " invalid "
+ "16r1A83" 16rFFFF " invalid "
+ "16r1A84" 16rFFFF " invalid "
+ "16r1A85" 16rFFFF " invalid "
+ "16r1A86" 16rFFFF " invalid "
+ "16r1A87" 16rFFFF " invalid "
+ "16r1A88" 16rFFFF " invalid "
+ "16r1A89" 16rFFFF " invalid "
+ "16r1A8A" 16rFFFF " invalid "
+ "16r1A8B" 16rFFFF " invalid "
+ "16r1A8C" 16rFFFF " invalid "
+ "16r1A8D" 16rFFFF " invalid "
+ "16r1A8E" 16rFFFF " invalid "
+ "16r1A8F" 16rFFFF " invalid "
+ "16r1A90" 16rFFFF " invalid "
+ "16r1A91" 16rFFFF " invalid "
+ "16r1A92" 16rFFFF " invalid "
+ "16r1A93" 16rFFFF " invalid "
+ "16r1A94" 16rFFFF " invalid "
+ "16r1A95" 16rFFFF " invalid "
+ "16r1A96" 16rFFFF " invalid "
+ "16r1A97" 16rFFFF " invalid "
+ "16r1A98" 16rFFFF " invalid "
+ "16r1A99" 16rFFFF " invalid "
+ "16r1A9A" 16rFFFF " invalid "
+ "16r1A9B" 16rFFFF " invalid "
+ "16r1A9C" 16rFFFF " invalid "
+ "16r1A9D" 16rFFFF " invalid "
+ "16r1A9E" 16rFFFF " invalid "
+ "16r1A9F" 16rFFFF " invalid "
+ "16r1AA0" 16rFFFF " invalid "
+ "16r1AA1" 16rFFFF " invalid "
+ "16r1AA2" 16rFFFF " invalid "
+ "16r1AA3" 16rFFFF " invalid "
+ "16r1AA4" 16rFFFF " invalid "
+ "16r1AA5" 16rFFFF " invalid "
+ "16r1AA6" 16rFFFF " invalid "
+ "16r1AA7" 16rFFFF " invalid "
+ "16r1AA8" 16rFFFF " invalid "
+ "16r1AA9" 16rFFFF " invalid "
+ "16r1AAA" 16rFFFF " invalid "
+ "16r1AAB" 16rFFFF " invalid "
+ "16r1AAC" 16rFFFF " invalid "
+ "16r1AAD" 16rFFFF " invalid "
+ "16r1AAE" 16rFFFF " invalid "
+ "16r1AAF" 16rFFFF " invalid "
+ "16r1AB0" 16rFFFF " invalid "
+ "16r1AB1" 16rFFFF " invalid "
+ "16r1AB2" 16rFFFF " invalid "
+ "16r1AB3" 16rFFFF " invalid "
+ "16r1AB4" 16rFFFF " invalid "
+ "16r1AB5" 16rFFFF " invalid "
+ "16r1AB6" 16rFFFF " invalid "
+ "16r1AB7" 16rFFFF " invalid "
+ "16r1AB8" 16rFFFF " invalid "
+ "16r1AB9" 16rFFFF " invalid "
+ "16r1ABA" 16rFFFF " invalid "
+ "16r1ABB" 16rFFFF " invalid "
+ "16r1ABC" 16rFFFF " invalid "
+ "16r1ABD" 16rFFFF " invalid "
+ "16r1ABE" 16rFFFF " invalid "
+ "16r1ABF" 16rFFFF " invalid "
+ "16r1AC0" 16rFFFF " invalid "
+ "16r1AC1" 16rFFFF " invalid "
+ "16r1AC2" 16rFFFF " invalid "
+ "16r1AC3" 16rFFFF " invalid "
+ "16r1AC4" 16rFFFF " invalid "
+ "16r1AC5" 16rFFFF " invalid "
+ "16r1AC6" 16rFFFF " invalid "
+ "16r1AC7" 16rFFFF " invalid "
+ "16r1AC8" 16rFFFF " invalid "
+ "16r1AC9" 16rFFFF " invalid "
+ "16r1ACA" 16rFFFF " invalid "
+ "16r1ACB" 16rFFFF " invalid "
+ "16r1ACC" 16rFFFF " invalid "
+ "16r1ACD" 16rFFFF " invalid "
+ "16r1ACE" 16rFFFF " invalid "
+ "16r1ACF" 16rFFFF " invalid "
+ "16r1AD0" 16rFFFF " invalid "
+ "16r1AD1" 16rFFFF " invalid "
+ "16r1AD2" 16rFFFF " invalid "
+ "16r1AD3" 16rFFFF " invalid "
+ "16r1AD4" 16rFFFF " invalid "
+ "16r1AD5" 16rFFFF " invalid "
+ "16r1AD6" 16rFFFF " invalid "
+ "16r1AD7" 16rFFFF " invalid "
+ "16r1AD8" 16rFFFF " invalid "
+ "16r1AD9" 16rFFFF " invalid "
+ "16r1ADA" 16rFFFF " invalid "
+ "16r1ADB" 16rFFFF " invalid "
+ "16r1ADC" 16rFFFF " invalid "
+ "16r1ADD" 16rFFFF " invalid "
+ "16r1ADE" 16rFFFF " invalid "
+ "16r1ADF" 16rFFFF " invalid "
+ "16r1AE0" 16rFFFF " invalid "
+ "16r1AE1" 16rFFFF " invalid "
+ "16r1AE2" 16rFFFF " invalid "
+ "16r1AE3" 16rFFFF " invalid "
+ "16r1AE4" 16rFFFF " invalid "
+ "16r1AE5" 16rFFFF " invalid "
+ "16r1AE6" 16rFFFF " invalid "
+ "16r1AE7" 16rFFFF " invalid "
+ "16r1AE8" 16rFFFF " invalid "
+ "16r1AE9" 16rFFFF " invalid "
+ "16r1AEA" 16rFFFF " invalid "
+ "16r1AEB" 16rFFFF " invalid "
+ "16r1AEC" 16rFFFF " invalid "
+ "16r1AED" 16rFFFF " invalid "
+ "16r1AEE" 16rFFFF " invalid "
+ "16r1AEF" 16rFFFF " invalid "
+ "16r1AF0" 16rFFFF " invalid "
+ "16r1AF1" 16rFFFF " invalid "
+ "16r1AF2" 16rFFFF " invalid "
+ "16r1AF3" 16rFFFF " invalid "
+ "16r1AF4" 16rFFFF " invalid "
+ "16r1AF5" 16rFFFF " invalid "
+ "16r1AF6" 16rFFFF " invalid "
+ "16r1AF7" 16rFFFF " invalid "
+ "16r1AF8" 16rFFFF " invalid "
+ "16r1AF9" 16rFFFF " invalid "
+ "16r1AFA" 16rFFFF " invalid "
+ "16r1AFB" 16rFFFF " invalid "
+ "16r1AFC" 16rFFFF " invalid "
+ "16r1AFD" 16rFFFF " invalid "
+ "16r1AFE" 16rFFFF " invalid "
+ "16r1AFF" 16rFFFF " invalid "
+ "16r1B00" 16rFFFF " invalid "
+ "16r1B01" 16rFFFF " invalid "
+ "16r1B02" 16rFFFF " invalid "
+ "16r1B03" 16rFFFF " invalid "
+ "16r1B04" 16rFFFF " invalid "
+ "16r1B05" 16rFFFF " invalid "
+ "16r1B06" 16rFFFF " invalid "
+ "16r1B07" 16rFFFF " invalid "
+ "16r1B08" 16rFFFF " invalid "
+ "16r1B09" 16rFFFF " invalid "
+ "16r1B0A" 16r000C " FORM FEED "
+ "16r1B0B" 16rFFFF " invalid "
+ "16r1B0C" 16rFFFF " invalid "
+ "16r1B0D" 16rFFFF " invalid "
+ "16r1B0E" 16rFFFF " invalid "
+ "16r1B0F" 16rFFFF " invalid "
+ "16r1B10" 16rFFFF " invalid "
+ "16r1B11" 16rFFFF " invalid "
+ "16r1B12" 16rFFFF " invalid "
+ "16r1B13" 16rFFFF " invalid "
+ "16r1B14" 16r005E " CIRCUMFLEX ACCENT "
+ "16r1B15" 16rFFFF " invalid "
+ "16r1B16" 16rFFFF " invalid "
+ "16r1B17" 16rFFFF " invalid "
+ "16r1B18" 16rFFFF " invalid "
+ "16r1B19" 16rFFFF " invalid "
+ "16r1B1A" 16rFFFF " invalid "
+ "16r1B1B" 16rFFFF " invalid "
+ "16r1B1C" 16rFFFF " invalid "
+ "16r1B1D" 16rFFFF " invalid "
+ "16r1B1E" 16rFFFF " invalid "
+ "16r1B1F" 16rFFFF " invalid "
+ "16r1B20" 16rFFFF " invalid "
+ "16r1B21" 16rFFFF " invalid "
+ "16r1B22" 16rFFFF " invalid "
+ "16r1B23" 16rFFFF " invalid "
+ "16r1B24" 16rFFFF " invalid "
+ "16r1B25" 16rFFFF " invalid "
+ "16r1B26" 16rFFFF " invalid "
+ "16r1B27" 16rFFFF " invalid "
+ "16r1B28" 16r007B " LEFT CURLY BRACKET "
+ "16r1B29" 16r007D " RIGHT CURLY BRACKET "
+ "16r1B2A" 16rFFFF " invalid "
+ "16r1B2B" 16rFFFF " invalid "
+ "16r1B2C" 16rFFFF " invalid "
+ "16r1B2D" 16rFFFF " invalid "
+ "16r1B2E" 16rFFFF " invalid "
+ "16r1B2F" 16r005C " REVERSE SOLIDUS "
+ "16r1B30" 16rFFFF " invalid "
+ "16r1B31" 16rFFFF " invalid "
+ "16r1B32" 16rFFFF " invalid "
+ "16r1B33" 16rFFFF " invalid "
+ "16r1B34" 16rFFFF " invalid "
+ "16r1B35" 16rFFFF " invalid "
+ "16r1B36" 16rFFFF " invalid "
+ "16r1B37" 16rFFFF " invalid "
+ "16r1B38" 16rFFFF " invalid "
+ "16r1B39" 16rFFFF " invalid "
+ "16r1B3A" 16rFFFF " invalid "
+ "16r1B3B" 16rFFFF " invalid "
+ "16r1B3C" 16r005B " LEFT SQUARE BRACKET "
+ "16r1B3D" 16r007E " TILDE "
+ "16r1B3E" 16r005D " RIGHT SQUARE BRACKET "
+ "16r1B3F" 16rFFFF " invalid "
+ "16r1B40" 16r007C " VERTICAL LINE "
+ "16r1B41" 16rFFFF " invalid "
+ "16r1B42" 16rFFFF " invalid "
+ "16r1B43" 16rFFFF " invalid "
+ "16r1B44" 16rFFFF " invalid "
+ "16r1B45" 16rFFFF " invalid "
+ "16r1B46" 16rFFFF " invalid "
+ "16r1B47" 16rFFFF " invalid "
+ "16r1B48" 16rFFFF " invalid "
+ "16r1B49" 16rFFFF " invalid "
+ "16r1B4A" 16rFFFF " invalid "
+ "16r1B4B" 16rFFFF " invalid "
+ "16r1B4C" 16rFFFF " invalid "
+ "16r1B4D" 16rFFFF " invalid "
+ "16r1B4E" 16rFFFF " invalid "
+ "16r1B4F" 16rFFFF " invalid "
+ "16r1B50" 16rFFFF " invalid "
+ "16r1B51" 16rFFFF " invalid "
+ "16r1B52" 16rFFFF " invalid "
+ "16r1B53" 16rFFFF " invalid "
+ "16r1B54" 16rFFFF " invalid "
+ "16r1B55" 16rFFFF " invalid "
+ "16r1B56" 16rFFFF " invalid "
+ "16r1B57" 16rFFFF " invalid "
+ "16r1B58" 16rFFFF " invalid "
+ "16r1B59" 16rFFFF " invalid "
+ "16r1B5A" 16rFFFF " invalid "
+ "16r1B5B" 16rFFFF " invalid "
+ "16r1B5C" 16rFFFF " invalid "
+ "16r1B5D" 16rFFFF " invalid "
+ "16r1B5E" 16rFFFF " invalid "
+ "16r1B5F" 16rFFFF " invalid "
+ "16r1B60" 16rFFFF " invalid "
+ "16r1B61" 16rFFFF " invalid "
+ "16r1B62" 16rFFFF " invalid "
+ "16r1B63" 16rFFFF " invalid "
+ "16r1B64" 16rFFFF " invalid "
+ "16r1B65" 16r20AC " EURO SIGN "
+ ) at:(code - -1)
! !
!CharacterEncoder::HANGUL class methodsFor:'mapping'!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/KSC/HANGUL.TXT'
-! !
-
-!CharacterEncoder::ISO8859_1 class methodsFor:'defaults'!
-
-alternativeNamesOfEncoding
- ^ #( 'latin-1' )
+mappingURL1_relativePathName
+ ^ 'OBSOLETE/EASTASIA/KSC/HANGUL.TXT'
! !
!CharacterEncoder::ISO8859_1 class methodsFor:'mapping'!
@@ -1351,28 +9141,40 @@
"
!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-1.TXT'
-!
-
-mappingURL2_baseName
+mappingURL2_relativePathName
^ 'LATIN1'
+
+ "
+ self generateCode
+ "
+! !
+
+!CharacterEncoder::ISO8859_1 class methodsFor:'queries'!
+
+alternativeNamesOfEncoding
+ ^ #( 'latin-1' 'iso-ir-100' 'ibm-819' 'ms-cp819')
! !
!CharacterEncoder::ISO8859_1 methodsFor:'encoding & decoding'!
decode:code
- "automatically generated by generateEncoderCode"
-
+ "decode from my encoding into unicode.
+ Do not modify - automatically generated by generateCode"
+
+ code > 255 ifTrue:[
+ ^ self decodingError.
+ ].
^ code.
!
-encode:uniCodePoint
- uniCodePoint > 16r00FF ifTrue:[
- self error:'unicode codePoint cannot be represented'.
- ^ $? asciiValue
- ].
- ^ uniCodePoint
+encode:unicode
+ "encode from unicode into my encoding.
+ Do not modify - automatically generated by generateCode"
+
+ unicode > 255 ifTrue:[
+ ^ self encodingError.
+ ].
+ ^ unicode.
! !
!CharacterEncoder::ISO8859_1 methodsFor:'private'!
@@ -1694,21 +9496,28 @@
"
!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-10.TXT'
+mappingURL1_relativePathName
+ ^ 'ISO8859/8859-10.TXT'
+! !
+
+!CharacterEncoder::ISO8859_10 class methodsFor:'queries'!
+
+alternativeNamesOfEncoding
+ ^ #( 'latin-6' 'iso-ir-157')
! !
!CharacterEncoder::ISO8859_10 methodsFor:'encoding & decoding'!
decode:code
- "automatically generated by generateEncoderCode"
+ "decode from my encoding into unicode.
+ Do not modify - automatically generated by generateCode"
code < 161 ifTrue:[ ^ code ].
code > 255 ifTrue:[
- self error:'invalid code'.
- ^ $? asciiValue
- ].
- ^ #(
+ ^ self decodingError.
+ ].
+ ^
+#(
"16r00A1" 16r0104 " LATIN CAPITAL LETTER A WITH OGONEK "
"16r00A2" 16r0112 " LATIN CAPITAL LETTER E WITH MACRON "
"16r00A3" 16r0122 " LATIN CAPITAL LETTER G WITH CEDILLA "
@@ -1804,7 +9613,261 @@
"16r00FD" 16r00FD " LATIN SMALL LETTER Y WITH ACUTE "
"16r00FE" 16r00FE " LATIN SMALL LETTER THORN (Icelandic) "
"16r00FF" 16r0138 " LATIN SMALL LETTER KRA "
- ) at:(code - 160)
+ ) at:(code - 160).
+!
+
+encode:unicode
+ "encode from unicode into my encoding.
+ Do not modify - automatically generated by generateCode"
+
+ unicode < 161 ifTrue:[ ^ unicode ].
+ unicode > 8213 ifTrue:[
+ ^ self encodingError.
+ ].
+ unicode < 256 ifTrue:[
+ (#[
+ "16r00A1" 0 " invalid "
+ "16r00A2" 0 " invalid "
+ "16r00A3" 0 " invalid "
+ "16r00A4" 0 " invalid "
+ "16r00A5" 0 " invalid "
+ "16r00A6" 0 " invalid "
+ "16r00A7" 1 " SECTION SIGN "
+ "16r00A8" 0 " invalid "
+ "16r00A9" 0 " invalid "
+ "16r00AA" 0 " invalid "
+ "16r00AB" 0 " invalid "
+ "16r00AC" 0 " invalid "
+ "16r00AD" 1 " SOFT HYPHEN "
+ "16r00AE" 0 " invalid "
+ "16r00AF" 0 " invalid "
+ "16r00B0" 1 " DEGREE SIGN "
+ "16r00B1" 0 " invalid "
+ "16r00B2" 0 " invalid "
+ "16r00B3" 0 " invalid "
+ "16r00B4" 0 " invalid "
+ "16r00B5" 0 " invalid "
+ "16r00B6" 0 " invalid "
+ "16r00B7" 1 " MIDDLE DOT "
+ "16r00B8" 0 " invalid "
+ "16r00B9" 0 " invalid "
+ "16r00BA" 0 " invalid "
+ "16r00BB" 0 " invalid "
+ "16r00BC" 0 " invalid "
+ "16r00BD" 0 " invalid "
+ "16r00BE" 0 " invalid "
+ "16r00BF" 0 " invalid "
+ "16r00C0" 0 " invalid "
+ "16r00C1" 1 " LATIN CAPITAL LETTER A WITH ACUTE "
+ "16r00C2" 1 " LATIN CAPITAL LETTER A WITH CIRCUMFLEX "
+ "16r00C3" 1 " LATIN CAPITAL LETTER A WITH TILDE "
+ "16r00C4" 1 " LATIN CAPITAL LETTER A WITH DIAERESIS "
+ "16r00C5" 1 " LATIN CAPITAL LETTER A WITH RING ABOVE "
+ "16r00C6" 1 " LATIN CAPITAL LETTER AE "
+ "16r00C7" 0 " invalid "
+ "16r00C8" 0 " invalid "
+ "16r00C9" 1 " LATIN CAPITAL LETTER E WITH ACUTE "
+ "16r00CA" 0 " invalid "
+ "16r00CB" 1 " LATIN CAPITAL LETTER E WITH DIAERESIS "
+ "16r00CC" 0 " invalid "
+ "16r00CD" 1 " LATIN CAPITAL LETTER I WITH ACUTE "
+ "16r00CE" 1 " LATIN CAPITAL LETTER I WITH CIRCUMFLEX "
+ "16r00CF" 1 " LATIN CAPITAL LETTER I WITH DIAERESIS "
+ "16r00D0" 1 " LATIN CAPITAL LETTER ETH (Icelandic) "
+ "16r00D1" 0 " invalid "
+ "16r00D2" 0 " invalid "
+ "16r00D3" 1 " LATIN CAPITAL LETTER O WITH ACUTE "
+ "16r00D4" 1 " LATIN CAPITAL LETTER O WITH CIRCUMFLEX "
+ "16r00D5" 1 " LATIN CAPITAL LETTER O WITH TILDE "
+ "16r00D6" 1 " LATIN CAPITAL LETTER O WITH DIAERESIS "
+ "16r00D7" 0 " invalid "
+ "16r00D8" 1 " LATIN CAPITAL LETTER O WITH STROKE "
+ "16r00D9" 0 " invalid "
+ "16r00DA" 1 " LATIN CAPITAL LETTER U WITH ACUTE "
+ "16r00DB" 1 " LATIN CAPITAL LETTER U WITH CIRCUMFLEX "
+ "16r00DC" 1 " LATIN CAPITAL LETTER U WITH DIAERESIS "
+ "16r00DD" 1 " LATIN CAPITAL LETTER Y WITH ACUTE "
+ "16r00DE" 1 " LATIN CAPITAL LETTER THORN (Icelandic) "
+ "16r00DF" 1 " LATIN SMALL LETTER SHARP S (German) "
+ "16r00E0" 0 " invalid "
+ "16r00E1" 1 " LATIN SMALL LETTER A WITH ACUTE "
+ "16r00E2" 1 " LATIN SMALL LETTER A WITH CIRCUMFLEX "
+ "16r00E3" 1 " LATIN SMALL LETTER A WITH TILDE "
+ "16r00E4" 1 " LATIN SMALL LETTER A WITH DIAERESIS "
+ "16r00E5" 1 " LATIN SMALL LETTER A WITH RING ABOVE "
+ "16r00E6" 1 " LATIN SMALL LETTER AE "
+ "16r00E7" 0 " invalid "
+ "16r00E8" 0 " invalid "
+ "16r00E9" 1 " LATIN SMALL LETTER E WITH ACUTE "
+ "16r00EA" 0 " invalid "
+ "16r00EB" 1 " LATIN SMALL LETTER E WITH DIAERESIS "
+ "16r00EC" 0 " invalid "
+ "16r00ED" 1 " LATIN SMALL LETTER I WITH ACUTE "
+ "16r00EE" 1 " LATIN SMALL LETTER I WITH CIRCUMFLEX "
+ "16r00EF" 1 " LATIN SMALL LETTER I WITH DIAERESIS "
+ "16r00F0" 1 " LATIN SMALL LETTER ETH (Icelandic) "
+ "16r00F1" 0 " invalid "
+ "16r00F2" 0 " invalid "
+ "16r00F3" 1 " LATIN SMALL LETTER O WITH ACUTE "
+ "16r00F4" 1 " LATIN SMALL LETTER O WITH CIRCUMFLEX "
+ "16r00F5" 1 " LATIN SMALL LETTER O WITH TILDE "
+ "16r00F6" 1 " LATIN SMALL LETTER O WITH DIAERESIS "
+ "16r00F7" 0 " invalid "
+ "16r00F8" 1 " LATIN SMALL LETTER O WITH STROKE "
+ "16r00F9" 0 " invalid "
+ "16r00FA" 1 " LATIN SMALL LETTER U WITH ACUTE "
+ "16r00FB" 1 " LATIN SMALL LETTER U WITH CIRCUMFLEX "
+ "16r00FC" 1 " LATIN SMALL LETTER U WITH DIAERESIS "
+ "16r00FD" 1 " LATIN SMALL LETTER Y WITH ACUTE "
+ "16r00FE" 1 " LATIN SMALL LETTER THORN (Icelandic) "
+ "16r00FF" 0 " invalid "
+ ] at:(unicode - 160)) ~~ 0 ifTrue:[^ unicode].
+ ^ self encodingError.
+ ].
+ unicode < 383 ifTrue:[
+ [
+ |t|
+ t :=
+#[
+ "16r0100" 16rC0 " LATIN CAPITAL LETTER A WITH MACRON "
+ "16r0101" 16rE0 " LATIN SMALL LETTER A WITH MACRON "
+ "16r0102" 16r00 " invalid "
+ "16r0103" 16r00 " invalid "
+ "16r0104" 16rA1 " LATIN CAPITAL LETTER A WITH OGONEK "
+ "16r0105" 16rB1 " LATIN SMALL LETTER A WITH OGONEK "
+ "16r0106" 16r00 " invalid "
+ "16r0107" 16r00 " invalid "
+ "16r0108" 16r00 " invalid "
+ "16r0109" 16r00 " invalid "
+ "16r010A" 16r00 " invalid "
+ "16r010B" 16r00 " invalid "
+ "16r010C" 16rC8 " LATIN CAPITAL LETTER C WITH CARON "
+ "16r010D" 16rE8 " LATIN SMALL LETTER C WITH CARON "
+ "16r010E" 16r00 " invalid "
+ "16r010F" 16r00 " invalid "
+ "16r0110" 16rA9 " LATIN CAPITAL LETTER D WITH STROKE "
+ "16r0111" 16rB9 " LATIN SMALL LETTER D WITH STROKE "
+ "16r0112" 16rA2 " LATIN CAPITAL LETTER E WITH MACRON "
+ "16r0113" 16rB2 " LATIN SMALL LETTER E WITH MACRON "
+ "16r0114" 16r00 " invalid "
+ "16r0115" 16r00 " invalid "
+ "16r0116" 16rCC " LATIN CAPITAL LETTER E WITH DOT ABOVE "
+ "16r0117" 16rEC " LATIN SMALL LETTER E WITH DOT ABOVE "
+ "16r0118" 16rCA " LATIN CAPITAL LETTER E WITH OGONEK "
+ "16r0119" 16rEA " LATIN SMALL LETTER E WITH OGONEK "
+ "16r011A" 16r00 " invalid "
+ "16r011B" 16r00 " invalid "
+ "16r011C" 16r00 " invalid "
+ "16r011D" 16r00 " invalid "
+ "16r011E" 16r00 " invalid "
+ "16r011F" 16r00 " invalid "
+ "16r0120" 16r00 " invalid "
+ "16r0121" 16r00 " invalid "
+ "16r0122" 16rA3 " LATIN CAPITAL LETTER G WITH CEDILLA "
+ "16r0123" 16rB3 " LATIN SMALL LETTER G WITH CEDILLA "
+ "16r0124" 16r00 " invalid "
+ "16r0125" 16r00 " invalid "
+ "16r0126" 16r00 " invalid "
+ "16r0127" 16r00 " invalid "
+ "16r0128" 16rA5 " LATIN CAPITAL LETTER I WITH TILDE "
+ "16r0129" 16rB5 " LATIN SMALL LETTER I WITH TILDE "
+ "16r012A" 16rA4 " LATIN CAPITAL LETTER I WITH MACRON "
+ "16r012B" 16rB4 " LATIN SMALL LETTER I WITH MACRON "
+ "16r012C" 16r00 " invalid "
+ "16r012D" 16r00 " invalid "
+ "16r012E" 16rC7 " LATIN CAPITAL LETTER I WITH OGONEK "
+ "16r012F" 16rE7 " LATIN SMALL LETTER I WITH OGONEK "
+ "16r0130" 16r00 " invalid "
+ "16r0131" 16r00 " invalid "
+ "16r0132" 16r00 " invalid "
+ "16r0133" 16r00 " invalid "
+ "16r0134" 16r00 " invalid "
+ "16r0135" 16r00 " invalid "
+ "16r0136" 16rA6 " LATIN CAPITAL LETTER K WITH CEDILLA "
+ "16r0137" 16rB6 " LATIN SMALL LETTER K WITH CEDILLA "
+ "16r0138" 16rFF " LATIN SMALL LETTER KRA "
+ "16r0139" 16r00 " invalid "
+ "16r013A" 16r00 " invalid "
+ "16r013B" 16rA8 " LATIN CAPITAL LETTER L WITH CEDILLA "
+ "16r013C" 16rB8 " LATIN SMALL LETTER L WITH CEDILLA "
+ "16r013D" 16r00 " invalid "
+ "16r013E" 16r00 " invalid "
+ "16r013F" 16r00 " invalid "
+ "16r0140" 16r00 " invalid "
+ "16r0141" 16r00 " invalid "
+ "16r0142" 16r00 " invalid "
+ "16r0143" 16r00 " invalid "
+ "16r0144" 16r00 " invalid "
+ "16r0145" 16rD1 " LATIN CAPITAL LETTER N WITH CEDILLA "
+ "16r0146" 16rF1 " LATIN SMALL LETTER N WITH CEDILLA "
+ "16r0147" 16r00 " invalid "
+ "16r0148" 16r00 " invalid "
+ "16r0149" 16r00 " invalid "
+ "16r014A" 16rAF " LATIN CAPITAL LETTER ENG "
+ "16r014B" 16rBF " LATIN SMALL LETTER ENG "
+ "16r014C" 16rD2 " LATIN CAPITAL LETTER O WITH MACRON "
+ "16r014D" 16rF2 " LATIN SMALL LETTER O WITH MACRON "
+ "16r014E" 16r00 " invalid "
+ "16r014F" 16r00 " invalid "
+ "16r0150" 16r00 " invalid "
+ "16r0151" 16r00 " invalid "
+ "16r0152" 16r00 " invalid "
+ "16r0153" 16r00 " invalid "
+ "16r0154" 16r00 " invalid "
+ "16r0155" 16r00 " invalid "
+ "16r0156" 16r00 " invalid "
+ "16r0157" 16r00 " invalid "
+ "16r0158" 16r00 " invalid "
+ "16r0159" 16r00 " invalid "
+ "16r015A" 16r00 " invalid "
+ "16r015B" 16r00 " invalid "
+ "16r015C" 16r00 " invalid "
+ "16r015D" 16r00 " invalid "
+ "16r015E" 16r00 " invalid "
+ "16r015F" 16r00 " invalid "
+ "16r0160" 16rAA " LATIN CAPITAL LETTER S WITH CARON "
+ "16r0161" 16rBA " LATIN SMALL LETTER S WITH CARON "
+ "16r0162" 16r00 " invalid "
+ "16r0163" 16r00 " invalid "
+ "16r0164" 16r00 " invalid "
+ "16r0165" 16r00 " invalid "
+ "16r0166" 16rAB " LATIN CAPITAL LETTER T WITH STROKE "
+ "16r0167" 16rBB " LATIN SMALL LETTER T WITH STROKE "
+ "16r0168" 16rD7 " LATIN CAPITAL LETTER U WITH TILDE "
+ "16r0169" 16rF7 " LATIN SMALL LETTER U WITH TILDE "
+ "16r016A" 16rAE " LATIN CAPITAL LETTER U WITH MACRON "
+ "16r016B" 16rBE " LATIN SMALL LETTER U WITH MACRON "
+ "16r016C" 16r00 " invalid "
+ "16r016D" 16r00 " invalid "
+ "16r016E" 16r00 " invalid "
+ "16r016F" 16r00 " invalid "
+ "16r0170" 16r00 " invalid "
+ "16r0171" 16r00 " invalid "
+ "16r0172" 16rD9 " LATIN CAPITAL LETTER U WITH OGONEK "
+ "16r0173" 16rF9 " LATIN SMALL LETTER U WITH OGONEK "
+ "16r0174" 16r00 " invalid "
+ "16r0175" 16r00 " invalid "
+ "16r0176" 16r00 " invalid "
+ "16r0177" 16r00 " invalid "
+ "16r0178" 16r00 " invalid "
+ "16r0179" 16r00 " invalid "
+ "16r017A" 16r00 " invalid "
+ "16r017B" 16r00 " invalid "
+ "16r017C" 16r00 " invalid "
+ "16r017D" 16rAC " LATIN CAPITAL LETTER Z WITH CARON "
+ "16r017E" 16rBC " LATIN SMALL LETTER Z WITH CARON "
+ ] at:(unicode - 255).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 8212 ifTrue:[
+ ^ self encodingError.
+ ].
+ ^
+#[
+ "16r2015" 16rBD " HORIZONTAL BAR "
+ ] at:(unicode - 8212).
! !
!CharacterEncoder::ISO8859_11 class methodsFor:'mapping'!
@@ -2114,21 +10177,24 @@
"
!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-11.TXT'
+mappingURL1_relativePathName
+ ^ 'ISO8859/8859-11.TXT'
! !
!CharacterEncoder::ISO8859_11 methodsFor:'encoding & decoding'!
decode:code
- "automatically generated by generateEncoderCode"
+ "decode from my encoding into unicode.
+ Do not modify - automatically generated by generateCode"
code < 161 ifTrue:[ ^ code ].
code > 251 ifTrue:[
- self error:'invalid code'.
- ^ $? asciiValue
- ].
- ^ #(
+ ^ self decodingError.
+ ].
+ [
+ |t|
+ t :=
+#(
"16r00A1" 16r0E01 " THAI CHARACTER KO KAI "
"16r00A2" 16r0E02 " THAI CHARACTER KHO KHAI "
"16r00A3" 16r0E03 " THAI CHARACTER KHO KHUAT "
@@ -2187,10 +10253,10 @@
"16r00D8" 16r0E38 " THAI CHARACTER SARA U "
"16r00D9" 16r0E39 " THAI CHARACTER SARA UU "
"16r00DA" 16r0E3A " THAI CHARACTER PHINTHU "
- "16r00DB" 16rFFFF " invalid "
- "16r00DC" 16rFFFF " invalid "
- "16r00DD" 16rFFFF " invalid "
- "16r00DE" 16rFFFF " invalid "
+ "16r00DB" 16r0000 " invalid "
+ "16r00DC" 16r0000 " invalid "
+ "16r00DD" 16r0000 " invalid "
+ "16r00DE" 16r0000 " invalid "
"16r00DF" 16r0E3F " THAI CURRENCY SYMBOL BAHT "
"16r00E0" 16r0E40 " THAI CHARACTER SARA E "
"16r00E1" 16r0E41 " THAI CHARACTER SARA AE "
@@ -2220,7 +10286,3548 @@
"16r00F9" 16r0E59 " THAI DIGIT NINE "
"16r00FA" 16r0E5A " THAI CHARACTER ANGKHANKHU "
"16r00FB" 16r0E5B " THAI CHARACTER KHOMUT "
- ) at:(code - 160)
+ ) at:(code - 160).
+ t == 0 ifFalse:[^ t].
+ ^ self decodingError.
+ ] value.
+!
+
+encode:unicode
+ "encode from unicode into my encoding.
+ Do not modify - automatically generated by generateCode"
+
+ unicode < 161 ifTrue:[ ^ unicode ].
+ unicode > 3675 ifTrue:[
+ ^ self encodingError.
+ ].
+ unicode < 3585 ifTrue:[
+ (#[
+ "16r00A1" 0 " invalid "
+ "16r00A2" 0 " invalid "
+ "16r00A3" 0 " invalid "
+ "16r00A4" 0 " invalid "
+ "16r00A5" 0 " invalid "
+ "16r00A6" 0 " invalid "
+ "16r00A7" 0 " invalid "
+ "16r00A8" 0 " invalid "
+ "16r00A9" 0 " invalid "
+ "16r00AA" 0 " invalid "
+ "16r00AB" 0 " invalid "
+ "16r00AC" 0 " invalid "
+ "16r00AD" 0 " invalid "
+ "16r00AE" 0 " invalid "
+ "16r00AF" 0 " invalid "
+ "16r00B0" 0 " invalid "
+ "16r00B1" 0 " invalid "
+ "16r00B2" 0 " invalid "
+ "16r00B3" 0 " invalid "
+ "16r00B4" 0 " invalid "
+ "16r00B5" 0 " invalid "
+ "16r00B6" 0 " invalid "
+ "16r00B7" 0 " invalid "
+ "16r00B8" 0 " invalid "
+ "16r00B9" 0 " invalid "
+ "16r00BA" 0 " invalid "
+ "16r00BB" 0 " invalid "
+ "16r00BC" 0 " invalid "
+ "16r00BD" 0 " invalid "
+ "16r00BE" 0 " invalid "
+ "16r00BF" 0 " invalid "
+ "16r00C0" 0 " invalid "
+ "16r00C1" 0 " invalid "
+ "16r00C2" 0 " invalid "
+ "16r00C3" 0 " invalid "
+ "16r00C4" 0 " invalid "
+ "16r00C5" 0 " invalid "
+ "16r00C6" 0 " invalid "
+ "16r00C7" 0 " invalid "
+ "16r00C8" 0 " invalid "
+ "16r00C9" 0 " invalid "
+ "16r00CA" 0 " invalid "
+ "16r00CB" 0 " invalid "
+ "16r00CC" 0 " invalid "
+ "16r00CD" 0 " invalid "
+ "16r00CE" 0 " invalid "
+ "16r00CF" 0 " invalid "
+ "16r00D0" 0 " invalid "
+ "16r00D1" 0 " invalid "
+ "16r00D2" 0 " invalid "
+ "16r00D3" 0 " invalid "
+ "16r00D4" 0 " invalid "
+ "16r00D5" 0 " invalid "
+ "16r00D6" 0 " invalid "
+ "16r00D7" 0 " invalid "
+ "16r00D8" 0 " invalid "
+ "16r00D9" 0 " invalid "
+ "16r00DA" 0 " invalid "
+ "16r00DB" 0 " invalid "
+ "16r00DC" 0 " invalid "
+ "16r00DD" 0 " invalid "
+ "16r00DE" 0 " invalid "
+ "16r00DF" 0 " invalid "
+ "16r00E0" 0 " invalid "
+ "16r00E1" 0 " invalid "
+ "16r00E2" 0 " invalid "
+ "16r00E3" 0 " invalid "
+ "16r00E4" 0 " invalid "
+ "16r00E5" 0 " invalid "
+ "16r00E6" 0 " invalid "
+ "16r00E7" 0 " invalid "
+ "16r00E8" 0 " invalid "
+ "16r00E9" 0 " invalid "
+ "16r00EA" 0 " invalid "
+ "16r00EB" 0 " invalid "
+ "16r00EC" 0 " invalid "
+ "16r00ED" 0 " invalid "
+ "16r00EE" 0 " invalid "
+ "16r00EF" 0 " invalid "
+ "16r00F0" 0 " invalid "
+ "16r00F1" 0 " invalid "
+ "16r00F2" 0 " invalid "
+ "16r00F3" 0 " invalid "
+ "16r00F4" 0 " invalid "
+ "16r00F5" 0 " invalid "
+ "16r00F6" 0 " invalid "
+ "16r00F7" 0 " invalid "
+ "16r00F8" 0 " invalid "
+ "16r00F9" 0 " invalid "
+ "16r00FA" 0 " invalid "
+ "16r00FB" 0 " invalid "
+ "16r00FC" 0 " invalid "
+ "16r00FD" 0 " invalid "
+ "16r00FE" 0 " invalid "
+ "16r00FF" 0 " invalid "
+ "16r0100" 0 " invalid "
+ "16r0101" 0 " invalid "
+ "16r0102" 0 " invalid "
+ "16r0103" 0 " invalid "
+ "16r0104" 0 " invalid "
+ "16r0105" 0 " invalid "
+ "16r0106" 0 " invalid "
+ "16r0107" 0 " invalid "
+ "16r0108" 0 " invalid "
+ "16r0109" 0 " invalid "
+ "16r010A" 0 " invalid "
+ "16r010B" 0 " invalid "
+ "16r010C" 0 " invalid "
+ "16r010D" 0 " invalid "
+ "16r010E" 0 " invalid "
+ "16r010F" 0 " invalid "
+ "16r0110" 0 " invalid "
+ "16r0111" 0 " invalid "
+ "16r0112" 0 " invalid "
+ "16r0113" 0 " invalid "
+ "16r0114" 0 " invalid "
+ "16r0115" 0 " invalid "
+ "16r0116" 0 " invalid "
+ "16r0117" 0 " invalid "
+ "16r0118" 0 " invalid "
+ "16r0119" 0 " invalid "
+ "16r011A" 0 " invalid "
+ "16r011B" 0 " invalid "
+ "16r011C" 0 " invalid "
+ "16r011D" 0 " invalid "
+ "16r011E" 0 " invalid "
+ "16r011F" 0 " invalid "
+ "16r0120" 0 " invalid "
+ "16r0121" 0 " invalid "
+ "16r0122" 0 " invalid "
+ "16r0123" 0 " invalid "
+ "16r0124" 0 " invalid "
+ "16r0125" 0 " invalid "
+ "16r0126" 0 " invalid "
+ "16r0127" 0 " invalid "
+ "16r0128" 0 " invalid "
+ "16r0129" 0 " invalid "
+ "16r012A" 0 " invalid "
+ "16r012B" 0 " invalid "
+ "16r012C" 0 " invalid "
+ "16r012D" 0 " invalid "
+ "16r012E" 0 " invalid "
+ "16r012F" 0 " invalid "
+ "16r0130" 0 " invalid "
+ "16r0131" 0 " invalid "
+ "16r0132" 0 " invalid "
+ "16r0133" 0 " invalid "
+ "16r0134" 0 " invalid "
+ "16r0135" 0 " invalid "
+ "16r0136" 0 " invalid "
+ "16r0137" 0 " invalid "
+ "16r0138" 0 " invalid "
+ "16r0139" 0 " invalid "
+ "16r013A" 0 " invalid "
+ "16r013B" 0 " invalid "
+ "16r013C" 0 " invalid "
+ "16r013D" 0 " invalid "
+ "16r013E" 0 " invalid "
+ "16r013F" 0 " invalid "
+ "16r0140" 0 " invalid "
+ "16r0141" 0 " invalid "
+ "16r0142" 0 " invalid "
+ "16r0143" 0 " invalid "
+ "16r0144" 0 " invalid "
+ "16r0145" 0 " invalid "
+ "16r0146" 0 " invalid "
+ "16r0147" 0 " invalid "
+ "16r0148" 0 " invalid "
+ "16r0149" 0 " invalid "
+ "16r014A" 0 " invalid "
+ "16r014B" 0 " invalid "
+ "16r014C" 0 " invalid "
+ "16r014D" 0 " invalid "
+ "16r014E" 0 " invalid "
+ "16r014F" 0 " invalid "
+ "16r0150" 0 " invalid "
+ "16r0151" 0 " invalid "
+ "16r0152" 0 " invalid "
+ "16r0153" 0 " invalid "
+ "16r0154" 0 " invalid "
+ "16r0155" 0 " invalid "
+ "16r0156" 0 " invalid "
+ "16r0157" 0 " invalid "
+ "16r0158" 0 " invalid "
+ "16r0159" 0 " invalid "
+ "16r015A" 0 " invalid "
+ "16r015B" 0 " invalid "
+ "16r015C" 0 " invalid "
+ "16r015D" 0 " invalid "
+ "16r015E" 0 " invalid "
+ "16r015F" 0 " invalid "
+ "16r0160" 0 " invalid "
+ "16r0161" 0 " invalid "
+ "16r0162" 0 " invalid "
+ "16r0163" 0 " invalid "
+ "16r0164" 0 " invalid "
+ "16r0165" 0 " invalid "
+ "16r0166" 0 " invalid "
+ "16r0167" 0 " invalid "
+ "16r0168" 0 " invalid "
+ "16r0169" 0 " invalid "
+ "16r016A" 0 " invalid "
+ "16r016B" 0 " invalid "
+ "16r016C" 0 " invalid "
+ "16r016D" 0 " invalid "
+ "16r016E" 0 " invalid "
+ "16r016F" 0 " invalid "
+ "16r0170" 0 " invalid "
+ "16r0171" 0 " invalid "
+ "16r0172" 0 " invalid "
+ "16r0173" 0 " invalid "
+ "16r0174" 0 " invalid "
+ "16r0175" 0 " invalid "
+ "16r0176" 0 " invalid "
+ "16r0177" 0 " invalid "
+ "16r0178" 0 " invalid "
+ "16r0179" 0 " invalid "
+ "16r017A" 0 " invalid "
+ "16r017B" 0 " invalid "
+ "16r017C" 0 " invalid "
+ "16r017D" 0 " invalid "
+ "16r017E" 0 " invalid "
+ "16r017F" 0 " invalid "
+ "16r0180" 0 " invalid "
+ "16r0181" 0 " invalid "
+ "16r0182" 0 " invalid "
+ "16r0183" 0 " invalid "
+ "16r0184" 0 " invalid "
+ "16r0185" 0 " invalid "
+ "16r0186" 0 " invalid "
+ "16r0187" 0 " invalid "
+ "16r0188" 0 " invalid "
+ "16r0189" 0 " invalid "
+ "16r018A" 0 " invalid "
+ "16r018B" 0 " invalid "
+ "16r018C" 0 " invalid "
+ "16r018D" 0 " invalid "
+ "16r018E" 0 " invalid "
+ "16r018F" 0 " invalid "
+ "16r0190" 0 " invalid "
+ "16r0191" 0 " invalid "
+ "16r0192" 0 " invalid "
+ "16r0193" 0 " invalid "
+ "16r0194" 0 " invalid "
+ "16r0195" 0 " invalid "
+ "16r0196" 0 " invalid "
+ "16r0197" 0 " invalid "
+ "16r0198" 0 " invalid "
+ "16r0199" 0 " invalid "
+ "16r019A" 0 " invalid "
+ "16r019B" 0 " invalid "
+ "16r019C" 0 " invalid "
+ "16r019D" 0 " invalid "
+ "16r019E" 0 " invalid "
+ "16r019F" 0 " invalid "
+ "16r01A0" 0 " invalid "
+ "16r01A1" 0 " invalid "
+ "16r01A2" 0 " invalid "
+ "16r01A3" 0 " invalid "
+ "16r01A4" 0 " invalid "
+ "16r01A5" 0 " invalid "
+ "16r01A6" 0 " invalid "
+ "16r01A7" 0 " invalid "
+ "16r01A8" 0 " invalid "
+ "16r01A9" 0 " invalid "
+ "16r01AA" 0 " invalid "
+ "16r01AB" 0 " invalid "
+ "16r01AC" 0 " invalid "
+ "16r01AD" 0 " invalid "
+ "16r01AE" 0 " invalid "
+ "16r01AF" 0 " invalid "
+ "16r01B0" 0 " invalid "
+ "16r01B1" 0 " invalid "
+ "16r01B2" 0 " invalid "
+ "16r01B3" 0 " invalid "
+ "16r01B4" 0 " invalid "
+ "16r01B5" 0 " invalid "
+ "16r01B6" 0 " invalid "
+ "16r01B7" 0 " invalid "
+ "16r01B8" 0 " invalid "
+ "16r01B9" 0 " invalid "
+ "16r01BA" 0 " invalid "
+ "16r01BB" 0 " invalid "
+ "16r01BC" 0 " invalid "
+ "16r01BD" 0 " invalid "
+ "16r01BE" 0 " invalid "
+ "16r01BF" 0 " invalid "
+ "16r01C0" 0 " invalid "
+ "16r01C1" 0 " invalid "
+ "16r01C2" 0 " invalid "
+ "16r01C3" 0 " invalid "
+ "16r01C4" 0 " invalid "
+ "16r01C5" 0 " invalid "
+ "16r01C6" 0 " invalid "
+ "16r01C7" 0 " invalid "
+ "16r01C8" 0 " invalid "
+ "16r01C9" 0 " invalid "
+ "16r01CA" 0 " invalid "
+ "16r01CB" 0 " invalid "
+ "16r01CC" 0 " invalid "
+ "16r01CD" 0 " invalid "
+ "16r01CE" 0 " invalid "
+ "16r01CF" 0 " invalid "
+ "16r01D0" 0 " invalid "
+ "16r01D1" 0 " invalid "
+ "16r01D2" 0 " invalid "
+ "16r01D3" 0 " invalid "
+ "16r01D4" 0 " invalid "
+ "16r01D5" 0 " invalid "
+ "16r01D6" 0 " invalid "
+ "16r01D7" 0 " invalid "
+ "16r01D8" 0 " invalid "
+ "16r01D9" 0 " invalid "
+ "16r01DA" 0 " invalid "
+ "16r01DB" 0 " invalid "
+ "16r01DC" 0 " invalid "
+ "16r01DD" 0 " invalid "
+ "16r01DE" 0 " invalid "
+ "16r01DF" 0 " invalid "
+ "16r01E0" 0 " invalid "
+ "16r01E1" 0 " invalid "
+ "16r01E2" 0 " invalid "
+ "16r01E3" 0 " invalid "
+ "16r01E4" 0 " invalid "
+ "16r01E5" 0 " invalid "
+ "16r01E6" 0 " invalid "
+ "16r01E7" 0 " invalid "
+ "16r01E8" 0 " invalid "
+ "16r01E9" 0 " invalid "
+ "16r01EA" 0 " invalid "
+ "16r01EB" 0 " invalid "
+ "16r01EC" 0 " invalid "
+ "16r01ED" 0 " invalid "
+ "16r01EE" 0 " invalid "
+ "16r01EF" 0 " invalid "
+ "16r01F0" 0 " invalid "
+ "16r01F1" 0 " invalid "
+ "16r01F2" 0 " invalid "
+ "16r01F3" 0 " invalid "
+ "16r01F4" 0 " invalid "
+ "16r01F5" 0 " invalid "
+ "16r01F6" 0 " invalid "
+ "16r01F7" 0 " invalid "
+ "16r01F8" 0 " invalid "
+ "16r01F9" 0 " invalid "
+ "16r01FA" 0 " invalid "
+ "16r01FB" 0 " invalid "
+ "16r01FC" 0 " invalid "
+ "16r01FD" 0 " invalid "
+ "16r01FE" 0 " invalid "
+ "16r01FF" 0 " invalid "
+ "16r0200" 0 " invalid "
+ "16r0201" 0 " invalid "
+ "16r0202" 0 " invalid "
+ "16r0203" 0 " invalid "
+ "16r0204" 0 " invalid "
+ "16r0205" 0 " invalid "
+ "16r0206" 0 " invalid "
+ "16r0207" 0 " invalid "
+ "16r0208" 0 " invalid "
+ "16r0209" 0 " invalid "
+ "16r020A" 0 " invalid "
+ "16r020B" 0 " invalid "
+ "16r020C" 0 " invalid "
+ "16r020D" 0 " invalid "
+ "16r020E" 0 " invalid "
+ "16r020F" 0 " invalid "
+ "16r0210" 0 " invalid "
+ "16r0211" 0 " invalid "
+ "16r0212" 0 " invalid "
+ "16r0213" 0 " invalid "
+ "16r0214" 0 " invalid "
+ "16r0215" 0 " invalid "
+ "16r0216" 0 " invalid "
+ "16r0217" 0 " invalid "
+ "16r0218" 0 " invalid "
+ "16r0219" 0 " invalid "
+ "16r021A" 0 " invalid "
+ "16r021B" 0 " invalid "
+ "16r021C" 0 " invalid "
+ "16r021D" 0 " invalid "
+ "16r021E" 0 " invalid "
+ "16r021F" 0 " invalid "
+ "16r0220" 0 " invalid "
+ "16r0221" 0 " invalid "
+ "16r0222" 0 " invalid "
+ "16r0223" 0 " invalid "
+ "16r0224" 0 " invalid "
+ "16r0225" 0 " invalid "
+ "16r0226" 0 " invalid "
+ "16r0227" 0 " invalid "
+ "16r0228" 0 " invalid "
+ "16r0229" 0 " invalid "
+ "16r022A" 0 " invalid "
+ "16r022B" 0 " invalid "
+ "16r022C" 0 " invalid "
+ "16r022D" 0 " invalid "
+ "16r022E" 0 " invalid "
+ "16r022F" 0 " invalid "
+ "16r0230" 0 " invalid "
+ "16r0231" 0 " invalid "
+ "16r0232" 0 " invalid "
+ "16r0233" 0 " invalid "
+ "16r0234" 0 " invalid "
+ "16r0235" 0 " invalid "
+ "16r0236" 0 " invalid "
+ "16r0237" 0 " invalid "
+ "16r0238" 0 " invalid "
+ "16r0239" 0 " invalid "
+ "16r023A" 0 " invalid "
+ "16r023B" 0 " invalid "
+ "16r023C" 0 " invalid "
+ "16r023D" 0 " invalid "
+ "16r023E" 0 " invalid "
+ "16r023F" 0 " invalid "
+ "16r0240" 0 " invalid "
+ "16r0241" 0 " invalid "
+ "16r0242" 0 " invalid "
+ "16r0243" 0 " invalid "
+ "16r0244" 0 " invalid "
+ "16r0245" 0 " invalid "
+ "16r0246" 0 " invalid "
+ "16r0247" 0 " invalid "
+ "16r0248" 0 " invalid "
+ "16r0249" 0 " invalid "
+ "16r024A" 0 " invalid "
+ "16r024B" 0 " invalid "
+ "16r024C" 0 " invalid "
+ "16r024D" 0 " invalid "
+ "16r024E" 0 " invalid "
+ "16r024F" 0 " invalid "
+ "16r0250" 0 " invalid "
+ "16r0251" 0 " invalid "
+ "16r0252" 0 " invalid "
+ "16r0253" 0 " invalid "
+ "16r0254" 0 " invalid "
+ "16r0255" 0 " invalid "
+ "16r0256" 0 " invalid "
+ "16r0257" 0 " invalid "
+ "16r0258" 0 " invalid "
+ "16r0259" 0 " invalid "
+ "16r025A" 0 " invalid "
+ "16r025B" 0 " invalid "
+ "16r025C" 0 " invalid "
+ "16r025D" 0 " invalid "
+ "16r025E" 0 " invalid "
+ "16r025F" 0 " invalid "
+ "16r0260" 0 " invalid "
+ "16r0261" 0 " invalid "
+ "16r0262" 0 " invalid "
+ "16r0263" 0 " invalid "
+ "16r0264" 0 " invalid "
+ "16r0265" 0 " invalid "
+ "16r0266" 0 " invalid "
+ "16r0267" 0 " invalid "
+ "16r0268" 0 " invalid "
+ "16r0269" 0 " invalid "
+ "16r026A" 0 " invalid "
+ "16r026B" 0 " invalid "
+ "16r026C" 0 " invalid "
+ "16r026D" 0 " invalid "
+ "16r026E" 0 " invalid "
+ "16r026F" 0 " invalid "
+ "16r0270" 0 " invalid "
+ "16r0271" 0 " invalid "
+ "16r0272" 0 " invalid "
+ "16r0273" 0 " invalid "
+ "16r0274" 0 " invalid "
+ "16r0275" 0 " invalid "
+ "16r0276" 0 " invalid "
+ "16r0277" 0 " invalid "
+ "16r0278" 0 " invalid "
+ "16r0279" 0 " invalid "
+ "16r027A" 0 " invalid "
+ "16r027B" 0 " invalid "
+ "16r027C" 0 " invalid "
+ "16r027D" 0 " invalid "
+ "16r027E" 0 " invalid "
+ "16r027F" 0 " invalid "
+ "16r0280" 0 " invalid "
+ "16r0281" 0 " invalid "
+ "16r0282" 0 " invalid "
+ "16r0283" 0 " invalid "
+ "16r0284" 0 " invalid "
+ "16r0285" 0 " invalid "
+ "16r0286" 0 " invalid "
+ "16r0287" 0 " invalid "
+ "16r0288" 0 " invalid "
+ "16r0289" 0 " invalid "
+ "16r028A" 0 " invalid "
+ "16r028B" 0 " invalid "
+ "16r028C" 0 " invalid "
+ "16r028D" 0 " invalid "
+ "16r028E" 0 " invalid "
+ "16r028F" 0 " invalid "
+ "16r0290" 0 " invalid "
+ "16r0291" 0 " invalid "
+ "16r0292" 0 " invalid "
+ "16r0293" 0 " invalid "
+ "16r0294" 0 " invalid "
+ "16r0295" 0 " invalid "
+ "16r0296" 0 " invalid "
+ "16r0297" 0 " invalid "
+ "16r0298" 0 " invalid "
+ "16r0299" 0 " invalid "
+ "16r029A" 0 " invalid "
+ "16r029B" 0 " invalid "
+ "16r029C" 0 " invalid "
+ "16r029D" 0 " invalid "
+ "16r029E" 0 " invalid "
+ "16r029F" 0 " invalid "
+ "16r02A0" 0 " invalid "
+ "16r02A1" 0 " invalid "
+ "16r02A2" 0 " invalid "
+ "16r02A3" 0 " invalid "
+ "16r02A4" 0 " invalid "
+ "16r02A5" 0 " invalid "
+ "16r02A6" 0 " invalid "
+ "16r02A7" 0 " invalid "
+ "16r02A8" 0 " invalid "
+ "16r02A9" 0 " invalid "
+ "16r02AA" 0 " invalid "
+ "16r02AB" 0 " invalid "
+ "16r02AC" 0 " invalid "
+ "16r02AD" 0 " invalid "
+ "16r02AE" 0 " invalid "
+ "16r02AF" 0 " invalid "
+ "16r02B0" 0 " invalid "
+ "16r02B1" 0 " invalid "
+ "16r02B2" 0 " invalid "
+ "16r02B3" 0 " invalid "
+ "16r02B4" 0 " invalid "
+ "16r02B5" 0 " invalid "
+ "16r02B6" 0 " invalid "
+ "16r02B7" 0 " invalid "
+ "16r02B8" 0 " invalid "
+ "16r02B9" 0 " invalid "
+ "16r02BA" 0 " invalid "
+ "16r02BB" 0 " invalid "
+ "16r02BC" 0 " invalid "
+ "16r02BD" 0 " invalid "
+ "16r02BE" 0 " invalid "
+ "16r02BF" 0 " invalid "
+ "16r02C0" 0 " invalid "
+ "16r02C1" 0 " invalid "
+ "16r02C2" 0 " invalid "
+ "16r02C3" 0 " invalid "
+ "16r02C4" 0 " invalid "
+ "16r02C5" 0 " invalid "
+ "16r02C6" 0 " invalid "
+ "16r02C7" 0 " invalid "
+ "16r02C8" 0 " invalid "
+ "16r02C9" 0 " invalid "
+ "16r02CA" 0 " invalid "
+ "16r02CB" 0 " invalid "
+ "16r02CC" 0 " invalid "
+ "16r02CD" 0 " invalid "
+ "16r02CE" 0 " invalid "
+ "16r02CF" 0 " invalid "
+ "16r02D0" 0 " invalid "
+ "16r02D1" 0 " invalid "
+ "16r02D2" 0 " invalid "
+ "16r02D3" 0 " invalid "
+ "16r02D4" 0 " invalid "
+ "16r02D5" 0 " invalid "
+ "16r02D6" 0 " invalid "
+ "16r02D7" 0 " invalid "
+ "16r02D8" 0 " invalid "
+ "16r02D9" 0 " invalid "
+ "16r02DA" 0 " invalid "
+ "16r02DB" 0 " invalid "
+ "16r02DC" 0 " invalid "
+ "16r02DD" 0 " invalid "
+ "16r02DE" 0 " invalid "
+ "16r02DF" 0 " invalid "
+ "16r02E0" 0 " invalid "
+ "16r02E1" 0 " invalid "
+ "16r02E2" 0 " invalid "
+ "16r02E3" 0 " invalid "
+ "16r02E4" 0 " invalid "
+ "16r02E5" 0 " invalid "
+ "16r02E6" 0 " invalid "
+ "16r02E7" 0 " invalid "
+ "16r02E8" 0 " invalid "
+ "16r02E9" 0 " invalid "
+ "16r02EA" 0 " invalid "
+ "16r02EB" 0 " invalid "
+ "16r02EC" 0 " invalid "
+ "16r02ED" 0 " invalid "
+ "16r02EE" 0 " invalid "
+ "16r02EF" 0 " invalid "
+ "16r02F0" 0 " invalid "
+ "16r02F1" 0 " invalid "
+ "16r02F2" 0 " invalid "
+ "16r02F3" 0 " invalid "
+ "16r02F4" 0 " invalid "
+ "16r02F5" 0 " invalid "
+ "16r02F6" 0 " invalid "
+ "16r02F7" 0 " invalid "
+ "16r02F8" 0 " invalid "
+ "16r02F9" 0 " invalid "
+ "16r02FA" 0 " invalid "
+ "16r02FB" 0 " invalid "
+ "16r02FC" 0 " invalid "
+ "16r02FD" 0 " invalid "
+ "16r02FE" 0 " invalid "
+ "16r02FF" 0 " invalid "
+ "16r0300" 0 " invalid "
+ "16r0301" 0 " invalid "
+ "16r0302" 0 " invalid "
+ "16r0303" 0 " invalid "
+ "16r0304" 0 " invalid "
+ "16r0305" 0 " invalid "
+ "16r0306" 0 " invalid "
+ "16r0307" 0 " invalid "
+ "16r0308" 0 " invalid "
+ "16r0309" 0 " invalid "
+ "16r030A" 0 " invalid "
+ "16r030B" 0 " invalid "
+ "16r030C" 0 " invalid "
+ "16r030D" 0 " invalid "
+ "16r030E" 0 " invalid "
+ "16r030F" 0 " invalid "
+ "16r0310" 0 " invalid "
+ "16r0311" 0 " invalid "
+ "16r0312" 0 " invalid "
+ "16r0313" 0 " invalid "
+ "16r0314" 0 " invalid "
+ "16r0315" 0 " invalid "
+ "16r0316" 0 " invalid "
+ "16r0317" 0 " invalid "
+ "16r0318" 0 " invalid "
+ "16r0319" 0 " invalid "
+ "16r031A" 0 " invalid "
+ "16r031B" 0 " invalid "
+ "16r031C" 0 " invalid "
+ "16r031D" 0 " invalid "
+ "16r031E" 0 " invalid "
+ "16r031F" 0 " invalid "
+ "16r0320" 0 " invalid "
+ "16r0321" 0 " invalid "
+ "16r0322" 0 " invalid "
+ "16r0323" 0 " invalid "
+ "16r0324" 0 " invalid "
+ "16r0325" 0 " invalid "
+ "16r0326" 0 " invalid "
+ "16r0327" 0 " invalid "
+ "16r0328" 0 " invalid "
+ "16r0329" 0 " invalid "
+ "16r032A" 0 " invalid "
+ "16r032B" 0 " invalid "
+ "16r032C" 0 " invalid "
+ "16r032D" 0 " invalid "
+ "16r032E" 0 " invalid "
+ "16r032F" 0 " invalid "
+ "16r0330" 0 " invalid "
+ "16r0331" 0 " invalid "
+ "16r0332" 0 " invalid "
+ "16r0333" 0 " invalid "
+ "16r0334" 0 " invalid "
+ "16r0335" 0 " invalid "
+ "16r0336" 0 " invalid "
+ "16r0337" 0 " invalid "
+ "16r0338" 0 " invalid "
+ "16r0339" 0 " invalid "
+ "16r033A" 0 " invalid "
+ "16r033B" 0 " invalid "
+ "16r033C" 0 " invalid "
+ "16r033D" 0 " invalid "
+ "16r033E" 0 " invalid "
+ "16r033F" 0 " invalid "
+ "16r0340" 0 " invalid "
+ "16r0341" 0 " invalid "
+ "16r0342" 0 " invalid "
+ "16r0343" 0 " invalid "
+ "16r0344" 0 " invalid "
+ "16r0345" 0 " invalid "
+ "16r0346" 0 " invalid "
+ "16r0347" 0 " invalid "
+ "16r0348" 0 " invalid "
+ "16r0349" 0 " invalid "
+ "16r034A" 0 " invalid "
+ "16r034B" 0 " invalid "
+ "16r034C" 0 " invalid "
+ "16r034D" 0 " invalid "
+ "16r034E" 0 " invalid "
+ "16r034F" 0 " invalid "
+ "16r0350" 0 " invalid "
+ "16r0351" 0 " invalid "
+ "16r0352" 0 " invalid "
+ "16r0353" 0 " invalid "
+ "16r0354" 0 " invalid "
+ "16r0355" 0 " invalid "
+ "16r0356" 0 " invalid "
+ "16r0357" 0 " invalid "
+ "16r0358" 0 " invalid "
+ "16r0359" 0 " invalid "
+ "16r035A" 0 " invalid "
+ "16r035B" 0 " invalid "
+ "16r035C" 0 " invalid "
+ "16r035D" 0 " invalid "
+ "16r035E" 0 " invalid "
+ "16r035F" 0 " invalid "
+ "16r0360" 0 " invalid "
+ "16r0361" 0 " invalid "
+ "16r0362" 0 " invalid "
+ "16r0363" 0 " invalid "
+ "16r0364" 0 " invalid "
+ "16r0365" 0 " invalid "
+ "16r0366" 0 " invalid "
+ "16r0367" 0 " invalid "
+ "16r0368" 0 " invalid "
+ "16r0369" 0 " invalid "
+ "16r036A" 0 " invalid "
+ "16r036B" 0 " invalid "
+ "16r036C" 0 " invalid "
+ "16r036D" 0 " invalid "
+ "16r036E" 0 " invalid "
+ "16r036F" 0 " invalid "
+ "16r0370" 0 " invalid "
+ "16r0371" 0 " invalid "
+ "16r0372" 0 " invalid "
+ "16r0373" 0 " invalid "
+ "16r0374" 0 " invalid "
+ "16r0375" 0 " invalid "
+ "16r0376" 0 " invalid "
+ "16r0377" 0 " invalid "
+ "16r0378" 0 " invalid "
+ "16r0379" 0 " invalid "
+ "16r037A" 0 " invalid "
+ "16r037B" 0 " invalid "
+ "16r037C" 0 " invalid "
+ "16r037D" 0 " invalid "
+ "16r037E" 0 " invalid "
+ "16r037F" 0 " invalid "
+ "16r0380" 0 " invalid "
+ "16r0381" 0 " invalid "
+ "16r0382" 0 " invalid "
+ "16r0383" 0 " invalid "
+ "16r0384" 0 " invalid "
+ "16r0385" 0 " invalid "
+ "16r0386" 0 " invalid "
+ "16r0387" 0 " invalid "
+ "16r0388" 0 " invalid "
+ "16r0389" 0 " invalid "
+ "16r038A" 0 " invalid "
+ "16r038B" 0 " invalid "
+ "16r038C" 0 " invalid "
+ "16r038D" 0 " invalid "
+ "16r038E" 0 " invalid "
+ "16r038F" 0 " invalid "
+ "16r0390" 0 " invalid "
+ "16r0391" 0 " invalid "
+ "16r0392" 0 " invalid "
+ "16r0393" 0 " invalid "
+ "16r0394" 0 " invalid "
+ "16r0395" 0 " invalid "
+ "16r0396" 0 " invalid "
+ "16r0397" 0 " invalid "
+ "16r0398" 0 " invalid "
+ "16r0399" 0 " invalid "
+ "16r039A" 0 " invalid "
+ "16r039B" 0 " invalid "
+ "16r039C" 0 " invalid "
+ "16r039D" 0 " invalid "
+ "16r039E" 0 " invalid "
+ "16r039F" 0 " invalid "
+ "16r03A0" 0 " invalid "
+ "16r03A1" 0 " invalid "
+ "16r03A2" 0 " invalid "
+ "16r03A3" 0 " invalid "
+ "16r03A4" 0 " invalid "
+ "16r03A5" 0 " invalid "
+ "16r03A6" 0 " invalid "
+ "16r03A7" 0 " invalid "
+ "16r03A8" 0 " invalid "
+ "16r03A9" 0 " invalid "
+ "16r03AA" 0 " invalid "
+ "16r03AB" 0 " invalid "
+ "16r03AC" 0 " invalid "
+ "16r03AD" 0 " invalid "
+ "16r03AE" 0 " invalid "
+ "16r03AF" 0 " invalid "
+ "16r03B0" 0 " invalid "
+ "16r03B1" 0 " invalid "
+ "16r03B2" 0 " invalid "
+ "16r03B3" 0 " invalid "
+ "16r03B4" 0 " invalid "
+ "16r03B5" 0 " invalid "
+ "16r03B6" 0 " invalid "
+ "16r03B7" 0 " invalid "
+ "16r03B8" 0 " invalid "
+ "16r03B9" 0 " invalid "
+ "16r03BA" 0 " invalid "
+ "16r03BB" 0 " invalid "
+ "16r03BC" 0 " invalid "
+ "16r03BD" 0 " invalid "
+ "16r03BE" 0 " invalid "
+ "16r03BF" 0 " invalid "
+ "16r03C0" 0 " invalid "
+ "16r03C1" 0 " invalid "
+ "16r03C2" 0 " invalid "
+ "16r03C3" 0 " invalid "
+ "16r03C4" 0 " invalid "
+ "16r03C5" 0 " invalid "
+ "16r03C6" 0 " invalid "
+ "16r03C7" 0 " invalid "
+ "16r03C8" 0 " invalid "
+ "16r03C9" 0 " invalid "
+ "16r03CA" 0 " invalid "
+ "16r03CB" 0 " invalid "
+ "16r03CC" 0 " invalid "
+ "16r03CD" 0 " invalid "
+ "16r03CE" 0 " invalid "
+ "16r03CF" 0 " invalid "
+ "16r03D0" 0 " invalid "
+ "16r03D1" 0 " invalid "
+ "16r03D2" 0 " invalid "
+ "16r03D3" 0 " invalid "
+ "16r03D4" 0 " invalid "
+ "16r03D5" 0 " invalid "
+ "16r03D6" 0 " invalid "
+ "16r03D7" 0 " invalid "
+ "16r03D8" 0 " invalid "
+ "16r03D9" 0 " invalid "
+ "16r03DA" 0 " invalid "
+ "16r03DB" 0 " invalid "
+ "16r03DC" 0 " invalid "
+ "16r03DD" 0 " invalid "
+ "16r03DE" 0 " invalid "
+ "16r03DF" 0 " invalid "
+ "16r03E0" 0 " invalid "
+ "16r03E1" 0 " invalid "
+ "16r03E2" 0 " invalid "
+ "16r03E3" 0 " invalid "
+ "16r03E4" 0 " invalid "
+ "16r03E5" 0 " invalid "
+ "16r03E6" 0 " invalid "
+ "16r03E7" 0 " invalid "
+ "16r03E8" 0 " invalid "
+ "16r03E9" 0 " invalid "
+ "16r03EA" 0 " invalid "
+ "16r03EB" 0 " invalid "
+ "16r03EC" 0 " invalid "
+ "16r03ED" 0 " invalid "
+ "16r03EE" 0 " invalid "
+ "16r03EF" 0 " invalid "
+ "16r03F0" 0 " invalid "
+ "16r03F1" 0 " invalid "
+ "16r03F2" 0 " invalid "
+ "16r03F3" 0 " invalid "
+ "16r03F4" 0 " invalid "
+ "16r03F5" 0 " invalid "
+ "16r03F6" 0 " invalid "
+ "16r03F7" 0 " invalid "
+ "16r03F8" 0 " invalid "
+ "16r03F9" 0 " invalid "
+ "16r03FA" 0 " invalid "
+ "16r03FB" 0 " invalid "
+ "16r03FC" 0 " invalid "
+ "16r03FD" 0 " invalid "
+ "16r03FE" 0 " invalid "
+ "16r03FF" 0 " invalid "
+ "16r0400" 0 " invalid "
+ "16r0401" 0 " invalid "
+ "16r0402" 0 " invalid "
+ "16r0403" 0 " invalid "
+ "16r0404" 0 " invalid "
+ "16r0405" 0 " invalid "
+ "16r0406" 0 " invalid "
+ "16r0407" 0 " invalid "
+ "16r0408" 0 " invalid "
+ "16r0409" 0 " invalid "
+ "16r040A" 0 " invalid "
+ "16r040B" 0 " invalid "
+ "16r040C" 0 " invalid "
+ "16r040D" 0 " invalid "
+ "16r040E" 0 " invalid "
+ "16r040F" 0 " invalid "
+ "16r0410" 0 " invalid "
+ "16r0411" 0 " invalid "
+ "16r0412" 0 " invalid "
+ "16r0413" 0 " invalid "
+ "16r0414" 0 " invalid "
+ "16r0415" 0 " invalid "
+ "16r0416" 0 " invalid "
+ "16r0417" 0 " invalid "
+ "16r0418" 0 " invalid "
+ "16r0419" 0 " invalid "
+ "16r041A" 0 " invalid "
+ "16r041B" 0 " invalid "
+ "16r041C" 0 " invalid "
+ "16r041D" 0 " invalid "
+ "16r041E" 0 " invalid "
+ "16r041F" 0 " invalid "
+ "16r0420" 0 " invalid "
+ "16r0421" 0 " invalid "
+ "16r0422" 0 " invalid "
+ "16r0423" 0 " invalid "
+ "16r0424" 0 " invalid "
+ "16r0425" 0 " invalid "
+ "16r0426" 0 " invalid "
+ "16r0427" 0 " invalid "
+ "16r0428" 0 " invalid "
+ "16r0429" 0 " invalid "
+ "16r042A" 0 " invalid "
+ "16r042B" 0 " invalid "
+ "16r042C" 0 " invalid "
+ "16r042D" 0 " invalid "
+ "16r042E" 0 " invalid "
+ "16r042F" 0 " invalid "
+ "16r0430" 0 " invalid "
+ "16r0431" 0 " invalid "
+ "16r0432" 0 " invalid "
+ "16r0433" 0 " invalid "
+ "16r0434" 0 " invalid "
+ "16r0435" 0 " invalid "
+ "16r0436" 0 " invalid "
+ "16r0437" 0 " invalid "
+ "16r0438" 0 " invalid "
+ "16r0439" 0 " invalid "
+ "16r043A" 0 " invalid "
+ "16r043B" 0 " invalid "
+ "16r043C" 0 " invalid "
+ "16r043D" 0 " invalid "
+ "16r043E" 0 " invalid "
+ "16r043F" 0 " invalid "
+ "16r0440" 0 " invalid "
+ "16r0441" 0 " invalid "
+ "16r0442" 0 " invalid "
+ "16r0443" 0 " invalid "
+ "16r0444" 0 " invalid "
+ "16r0445" 0 " invalid "
+ "16r0446" 0 " invalid "
+ "16r0447" 0 " invalid "
+ "16r0448" 0 " invalid "
+ "16r0449" 0 " invalid "
+ "16r044A" 0 " invalid "
+ "16r044B" 0 " invalid "
+ "16r044C" 0 " invalid "
+ "16r044D" 0 " invalid "
+ "16r044E" 0 " invalid "
+ "16r044F" 0 " invalid "
+ "16r0450" 0 " invalid "
+ "16r0451" 0 " invalid "
+ "16r0452" 0 " invalid "
+ "16r0453" 0 " invalid "
+ "16r0454" 0 " invalid "
+ "16r0455" 0 " invalid "
+ "16r0456" 0 " invalid "
+ "16r0457" 0 " invalid "
+ "16r0458" 0 " invalid "
+ "16r0459" 0 " invalid "
+ "16r045A" 0 " invalid "
+ "16r045B" 0 " invalid "
+ "16r045C" 0 " invalid "
+ "16r045D" 0 " invalid "
+ "16r045E" 0 " invalid "
+ "16r045F" 0 " invalid "
+ "16r0460" 0 " invalid "
+ "16r0461" 0 " invalid "
+ "16r0462" 0 " invalid "
+ "16r0463" 0 " invalid "
+ "16r0464" 0 " invalid "
+ "16r0465" 0 " invalid "
+ "16r0466" 0 " invalid "
+ "16r0467" 0 " invalid "
+ "16r0468" 0 " invalid "
+ "16r0469" 0 " invalid "
+ "16r046A" 0 " invalid "
+ "16r046B" 0 " invalid "
+ "16r046C" 0 " invalid "
+ "16r046D" 0 " invalid "
+ "16r046E" 0 " invalid "
+ "16r046F" 0 " invalid "
+ "16r0470" 0 " invalid "
+ "16r0471" 0 " invalid "
+ "16r0472" 0 " invalid "
+ "16r0473" 0 " invalid "
+ "16r0474" 0 " invalid "
+ "16r0475" 0 " invalid "
+ "16r0476" 0 " invalid "
+ "16r0477" 0 " invalid "
+ "16r0478" 0 " invalid "
+ "16r0479" 0 " invalid "
+ "16r047A" 0 " invalid "
+ "16r047B" 0 " invalid "
+ "16r047C" 0 " invalid "
+ "16r047D" 0 " invalid "
+ "16r047E" 0 " invalid "
+ "16r047F" 0 " invalid "
+ "16r0480" 0 " invalid "
+ "16r0481" 0 " invalid "
+ "16r0482" 0 " invalid "
+ "16r0483" 0 " invalid "
+ "16r0484" 0 " invalid "
+ "16r0485" 0 " invalid "
+ "16r0486" 0 " invalid "
+ "16r0487" 0 " invalid "
+ "16r0488" 0 " invalid "
+ "16r0489" 0 " invalid "
+ "16r048A" 0 " invalid "
+ "16r048B" 0 " invalid "
+ "16r048C" 0 " invalid "
+ "16r048D" 0 " invalid "
+ "16r048E" 0 " invalid "
+ "16r048F" 0 " invalid "
+ "16r0490" 0 " invalid "
+ "16r0491" 0 " invalid "
+ "16r0492" 0 " invalid "
+ "16r0493" 0 " invalid "
+ "16r0494" 0 " invalid "
+ "16r0495" 0 " invalid "
+ "16r0496" 0 " invalid "
+ "16r0497" 0 " invalid "
+ "16r0498" 0 " invalid "
+ "16r0499" 0 " invalid "
+ "16r049A" 0 " invalid "
+ "16r049B" 0 " invalid "
+ "16r049C" 0 " invalid "
+ "16r049D" 0 " invalid "
+ "16r049E" 0 " invalid "
+ "16r049F" 0 " invalid "
+ "16r04A0" 0 " invalid "
+ "16r04A1" 0 " invalid "
+ "16r04A2" 0 " invalid "
+ "16r04A3" 0 " invalid "
+ "16r04A4" 0 " invalid "
+ "16r04A5" 0 " invalid "
+ "16r04A6" 0 " invalid "
+ "16r04A7" 0 " invalid "
+ "16r04A8" 0 " invalid "
+ "16r04A9" 0 " invalid "
+ "16r04AA" 0 " invalid "
+ "16r04AB" 0 " invalid "
+ "16r04AC" 0 " invalid "
+ "16r04AD" 0 " invalid "
+ "16r04AE" 0 " invalid "
+ "16r04AF" 0 " invalid "
+ "16r04B0" 0 " invalid "
+ "16r04B1" 0 " invalid "
+ "16r04B2" 0 " invalid "
+ "16r04B3" 0 " invalid "
+ "16r04B4" 0 " invalid "
+ "16r04B5" 0 " invalid "
+ "16r04B6" 0 " invalid "
+ "16r04B7" 0 " invalid "
+ "16r04B8" 0 " invalid "
+ "16r04B9" 0 " invalid "
+ "16r04BA" 0 " invalid "
+ "16r04BB" 0 " invalid "
+ "16r04BC" 0 " invalid "
+ "16r04BD" 0 " invalid "
+ "16r04BE" 0 " invalid "
+ "16r04BF" 0 " invalid "
+ "16r04C0" 0 " invalid "
+ "16r04C1" 0 " invalid "
+ "16r04C2" 0 " invalid "
+ "16r04C3" 0 " invalid "
+ "16r04C4" 0 " invalid "
+ "16r04C5" 0 " invalid "
+ "16r04C6" 0 " invalid "
+ "16r04C7" 0 " invalid "
+ "16r04C8" 0 " invalid "
+ "16r04C9" 0 " invalid "
+ "16r04CA" 0 " invalid "
+ "16r04CB" 0 " invalid "
+ "16r04CC" 0 " invalid "
+ "16r04CD" 0 " invalid "
+ "16r04CE" 0 " invalid "
+ "16r04CF" 0 " invalid "
+ "16r04D0" 0 " invalid "
+ "16r04D1" 0 " invalid "
+ "16r04D2" 0 " invalid "
+ "16r04D3" 0 " invalid "
+ "16r04D4" 0 " invalid "
+ "16r04D5" 0 " invalid "
+ "16r04D6" 0 " invalid "
+ "16r04D7" 0 " invalid "
+ "16r04D8" 0 " invalid "
+ "16r04D9" 0 " invalid "
+ "16r04DA" 0 " invalid "
+ "16r04DB" 0 " invalid "
+ "16r04DC" 0 " invalid "
+ "16r04DD" 0 " invalid "
+ "16r04DE" 0 " invalid "
+ "16r04DF" 0 " invalid "
+ "16r04E0" 0 " invalid "
+ "16r04E1" 0 " invalid "
+ "16r04E2" 0 " invalid "
+ "16r04E3" 0 " invalid "
+ "16r04E4" 0 " invalid "
+ "16r04E5" 0 " invalid "
+ "16r04E6" 0 " invalid "
+ "16r04E7" 0 " invalid "
+ "16r04E8" 0 " invalid "
+ "16r04E9" 0 " invalid "
+ "16r04EA" 0 " invalid "
+ "16r04EB" 0 " invalid "
+ "16r04EC" 0 " invalid "
+ "16r04ED" 0 " invalid "
+ "16r04EE" 0 " invalid "
+ "16r04EF" 0 " invalid "
+ "16r04F0" 0 " invalid "
+ "16r04F1" 0 " invalid "
+ "16r04F2" 0 " invalid "
+ "16r04F3" 0 " invalid "
+ "16r04F4" 0 " invalid "
+ "16r04F5" 0 " invalid "
+ "16r04F6" 0 " invalid "
+ "16r04F7" 0 " invalid "
+ "16r04F8" 0 " invalid "
+ "16r04F9" 0 " invalid "
+ "16r04FA" 0 " invalid "
+ "16r04FB" 0 " invalid "
+ "16r04FC" 0 " invalid "
+ "16r04FD" 0 " invalid "
+ "16r04FE" 0 " invalid "
+ "16r04FF" 0 " invalid "
+ "16r0500" 0 " invalid "
+ "16r0501" 0 " invalid "
+ "16r0502" 0 " invalid "
+ "16r0503" 0 " invalid "
+ "16r0504" 0 " invalid "
+ "16r0505" 0 " invalid "
+ "16r0506" 0 " invalid "
+ "16r0507" 0 " invalid "
+ "16r0508" 0 " invalid "
+ "16r0509" 0 " invalid "
+ "16r050A" 0 " invalid "
+ "16r050B" 0 " invalid "
+ "16r050C" 0 " invalid "
+ "16r050D" 0 " invalid "
+ "16r050E" 0 " invalid "
+ "16r050F" 0 " invalid "
+ "16r0510" 0 " invalid "
+ "16r0511" 0 " invalid "
+ "16r0512" 0 " invalid "
+ "16r0513" 0 " invalid "
+ "16r0514" 0 " invalid "
+ "16r0515" 0 " invalid "
+ "16r0516" 0 " invalid "
+ "16r0517" 0 " invalid "
+ "16r0518" 0 " invalid "
+ "16r0519" 0 " invalid "
+ "16r051A" 0 " invalid "
+ "16r051B" 0 " invalid "
+ "16r051C" 0 " invalid "
+ "16r051D" 0 " invalid "
+ "16r051E" 0 " invalid "
+ "16r051F" 0 " invalid "
+ "16r0520" 0 " invalid "
+ "16r0521" 0 " invalid "
+ "16r0522" 0 " invalid "
+ "16r0523" 0 " invalid "
+ "16r0524" 0 " invalid "
+ "16r0525" 0 " invalid "
+ "16r0526" 0 " invalid "
+ "16r0527" 0 " invalid "
+ "16r0528" 0 " invalid "
+ "16r0529" 0 " invalid "
+ "16r052A" 0 " invalid "
+ "16r052B" 0 " invalid "
+ "16r052C" 0 " invalid "
+ "16r052D" 0 " invalid "
+ "16r052E" 0 " invalid "
+ "16r052F" 0 " invalid "
+ "16r0530" 0 " invalid "
+ "16r0531" 0 " invalid "
+ "16r0532" 0 " invalid "
+ "16r0533" 0 " invalid "
+ "16r0534" 0 " invalid "
+ "16r0535" 0 " invalid "
+ "16r0536" 0 " invalid "
+ "16r0537" 0 " invalid "
+ "16r0538" 0 " invalid "
+ "16r0539" 0 " invalid "
+ "16r053A" 0 " invalid "
+ "16r053B" 0 " invalid "
+ "16r053C" 0 " invalid "
+ "16r053D" 0 " invalid "
+ "16r053E" 0 " invalid "
+ "16r053F" 0 " invalid "
+ "16r0540" 0 " invalid "
+ "16r0541" 0 " invalid "
+ "16r0542" 0 " invalid "
+ "16r0543" 0 " invalid "
+ "16r0544" 0 " invalid "
+ "16r0545" 0 " invalid "
+ "16r0546" 0 " invalid "
+ "16r0547" 0 " invalid "
+ "16r0548" 0 " invalid "
+ "16r0549" 0 " invalid "
+ "16r054A" 0 " invalid "
+ "16r054B" 0 " invalid "
+ "16r054C" 0 " invalid "
+ "16r054D" 0 " invalid "
+ "16r054E" 0 " invalid "
+ "16r054F" 0 " invalid "
+ "16r0550" 0 " invalid "
+ "16r0551" 0 " invalid "
+ "16r0552" 0 " invalid "
+ "16r0553" 0 " invalid "
+ "16r0554" 0 " invalid "
+ "16r0555" 0 " invalid "
+ "16r0556" 0 " invalid "
+ "16r0557" 0 " invalid "
+ "16r0558" 0 " invalid "
+ "16r0559" 0 " invalid "
+ "16r055A" 0 " invalid "
+ "16r055B" 0 " invalid "
+ "16r055C" 0 " invalid "
+ "16r055D" 0 " invalid "
+ "16r055E" 0 " invalid "
+ "16r055F" 0 " invalid "
+ "16r0560" 0 " invalid "
+ "16r0561" 0 " invalid "
+ "16r0562" 0 " invalid "
+ "16r0563" 0 " invalid "
+ "16r0564" 0 " invalid "
+ "16r0565" 0 " invalid "
+ "16r0566" 0 " invalid "
+ "16r0567" 0 " invalid "
+ "16r0568" 0 " invalid "
+ "16r0569" 0 " invalid "
+ "16r056A" 0 " invalid "
+ "16r056B" 0 " invalid "
+ "16r056C" 0 " invalid "
+ "16r056D" 0 " invalid "
+ "16r056E" 0 " invalid "
+ "16r056F" 0 " invalid "
+ "16r0570" 0 " invalid "
+ "16r0571" 0 " invalid "
+ "16r0572" 0 " invalid "
+ "16r0573" 0 " invalid "
+ "16r0574" 0 " invalid "
+ "16r0575" 0 " invalid "
+ "16r0576" 0 " invalid "
+ "16r0577" 0 " invalid "
+ "16r0578" 0 " invalid "
+ "16r0579" 0 " invalid "
+ "16r057A" 0 " invalid "
+ "16r057B" 0 " invalid "
+ "16r057C" 0 " invalid "
+ "16r057D" 0 " invalid "
+ "16r057E" 0 " invalid "
+ "16r057F" 0 " invalid "
+ "16r0580" 0 " invalid "
+ "16r0581" 0 " invalid "
+ "16r0582" 0 " invalid "
+ "16r0583" 0 " invalid "
+ "16r0584" 0 " invalid "
+ "16r0585" 0 " invalid "
+ "16r0586" 0 " invalid "
+ "16r0587" 0 " invalid "
+ "16r0588" 0 " invalid "
+ "16r0589" 0 " invalid "
+ "16r058A" 0 " invalid "
+ "16r058B" 0 " invalid "
+ "16r058C" 0 " invalid "
+ "16r058D" 0 " invalid "
+ "16r058E" 0 " invalid "
+ "16r058F" 0 " invalid "
+ "16r0590" 0 " invalid "
+ "16r0591" 0 " invalid "
+ "16r0592" 0 " invalid "
+ "16r0593" 0 " invalid "
+ "16r0594" 0 " invalid "
+ "16r0595" 0 " invalid "
+ "16r0596" 0 " invalid "
+ "16r0597" 0 " invalid "
+ "16r0598" 0 " invalid "
+ "16r0599" 0 " invalid "
+ "16r059A" 0 " invalid "
+ "16r059B" 0 " invalid "
+ "16r059C" 0 " invalid "
+ "16r059D" 0 " invalid "
+ "16r059E" 0 " invalid "
+ "16r059F" 0 " invalid "
+ "16r05A0" 0 " invalid "
+ "16r05A1" 0 " invalid "
+ "16r05A2" 0 " invalid "
+ "16r05A3" 0 " invalid "
+ "16r05A4" 0 " invalid "
+ "16r05A5" 0 " invalid "
+ "16r05A6" 0 " invalid "
+ "16r05A7" 0 " invalid "
+ "16r05A8" 0 " invalid "
+ "16r05A9" 0 " invalid "
+ "16r05AA" 0 " invalid "
+ "16r05AB" 0 " invalid "
+ "16r05AC" 0 " invalid "
+ "16r05AD" 0 " invalid "
+ "16r05AE" 0 " invalid "
+ "16r05AF" 0 " invalid "
+ "16r05B0" 0 " invalid "
+ "16r05B1" 0 " invalid "
+ "16r05B2" 0 " invalid "
+ "16r05B3" 0 " invalid "
+ "16r05B4" 0 " invalid "
+ "16r05B5" 0 " invalid "
+ "16r05B6" 0 " invalid "
+ "16r05B7" 0 " invalid "
+ "16r05B8" 0 " invalid "
+ "16r05B9" 0 " invalid "
+ "16r05BA" 0 " invalid "
+ "16r05BB" 0 " invalid "
+ "16r05BC" 0 " invalid "
+ "16r05BD" 0 " invalid "
+ "16r05BE" 0 " invalid "
+ "16r05BF" 0 " invalid "
+ "16r05C0" 0 " invalid "
+ "16r05C1" 0 " invalid "
+ "16r05C2" 0 " invalid "
+ "16r05C3" 0 " invalid "
+ "16r05C4" 0 " invalid "
+ "16r05C5" 0 " invalid "
+ "16r05C6" 0 " invalid "
+ "16r05C7" 0 " invalid "
+ "16r05C8" 0 " invalid "
+ "16r05C9" 0 " invalid "
+ "16r05CA" 0 " invalid "
+ "16r05CB" 0 " invalid "
+ "16r05CC" 0 " invalid "
+ "16r05CD" 0 " invalid "
+ "16r05CE" 0 " invalid "
+ "16r05CF" 0 " invalid "
+ "16r05D0" 0 " invalid "
+ "16r05D1" 0 " invalid "
+ "16r05D2" 0 " invalid "
+ "16r05D3" 0 " invalid "
+ "16r05D4" 0 " invalid "
+ "16r05D5" 0 " invalid "
+ "16r05D6" 0 " invalid "
+ "16r05D7" 0 " invalid "
+ "16r05D8" 0 " invalid "
+ "16r05D9" 0 " invalid "
+ "16r05DA" 0 " invalid "
+ "16r05DB" 0 " invalid "
+ "16r05DC" 0 " invalid "
+ "16r05DD" 0 " invalid "
+ "16r05DE" 0 " invalid "
+ "16r05DF" 0 " invalid "
+ "16r05E0" 0 " invalid "
+ "16r05E1" 0 " invalid "
+ "16r05E2" 0 " invalid "
+ "16r05E3" 0 " invalid "
+ "16r05E4" 0 " invalid "
+ "16r05E5" 0 " invalid "
+ "16r05E6" 0 " invalid "
+ "16r05E7" 0 " invalid "
+ "16r05E8" 0 " invalid "
+ "16r05E9" 0 " invalid "
+ "16r05EA" 0 " invalid "
+ "16r05EB" 0 " invalid "
+ "16r05EC" 0 " invalid "
+ "16r05ED" 0 " invalid "
+ "16r05EE" 0 " invalid "
+ "16r05EF" 0 " invalid "
+ "16r05F0" 0 " invalid "
+ "16r05F1" 0 " invalid "
+ "16r05F2" 0 " invalid "
+ "16r05F3" 0 " invalid "
+ "16r05F4" 0 " invalid "
+ "16r05F5" 0 " invalid "
+ "16r05F6" 0 " invalid "
+ "16r05F7" 0 " invalid "
+ "16r05F8" 0 " invalid "
+ "16r05F9" 0 " invalid "
+ "16r05FA" 0 " invalid "
+ "16r05FB" 0 " invalid "
+ "16r05FC" 0 " invalid "
+ "16r05FD" 0 " invalid "
+ "16r05FE" 0 " invalid "
+ "16r05FF" 0 " invalid "
+ "16r0600" 0 " invalid "
+ "16r0601" 0 " invalid "
+ "16r0602" 0 " invalid "
+ "16r0603" 0 " invalid "
+ "16r0604" 0 " invalid "
+ "16r0605" 0 " invalid "
+ "16r0606" 0 " invalid "
+ "16r0607" 0 " invalid "
+ "16r0608" 0 " invalid "
+ "16r0609" 0 " invalid "
+ "16r060A" 0 " invalid "
+ "16r060B" 0 " invalid "
+ "16r060C" 0 " invalid "
+ "16r060D" 0 " invalid "
+ "16r060E" 0 " invalid "
+ "16r060F" 0 " invalid "
+ "16r0610" 0 " invalid "
+ "16r0611" 0 " invalid "
+ "16r0612" 0 " invalid "
+ "16r0613" 0 " invalid "
+ "16r0614" 0 " invalid "
+ "16r0615" 0 " invalid "
+ "16r0616" 0 " invalid "
+ "16r0617" 0 " invalid "
+ "16r0618" 0 " invalid "
+ "16r0619" 0 " invalid "
+ "16r061A" 0 " invalid "
+ "16r061B" 0 " invalid "
+ "16r061C" 0 " invalid "
+ "16r061D" 0 " invalid "
+ "16r061E" 0 " invalid "
+ "16r061F" 0 " invalid "
+ "16r0620" 0 " invalid "
+ "16r0621" 0 " invalid "
+ "16r0622" 0 " invalid "
+ "16r0623" 0 " invalid "
+ "16r0624" 0 " invalid "
+ "16r0625" 0 " invalid "
+ "16r0626" 0 " invalid "
+ "16r0627" 0 " invalid "
+ "16r0628" 0 " invalid "
+ "16r0629" 0 " invalid "
+ "16r062A" 0 " invalid "
+ "16r062B" 0 " invalid "
+ "16r062C" 0 " invalid "
+ "16r062D" 0 " invalid "
+ "16r062E" 0 " invalid "
+ "16r062F" 0 " invalid "
+ "16r0630" 0 " invalid "
+ "16r0631" 0 " invalid "
+ "16r0632" 0 " invalid "
+ "16r0633" 0 " invalid "
+ "16r0634" 0 " invalid "
+ "16r0635" 0 " invalid "
+ "16r0636" 0 " invalid "
+ "16r0637" 0 " invalid "
+ "16r0638" 0 " invalid "
+ "16r0639" 0 " invalid "
+ "16r063A" 0 " invalid "
+ "16r063B" 0 " invalid "
+ "16r063C" 0 " invalid "
+ "16r063D" 0 " invalid "
+ "16r063E" 0 " invalid "
+ "16r063F" 0 " invalid "
+ "16r0640" 0 " invalid "
+ "16r0641" 0 " invalid "
+ "16r0642" 0 " invalid "
+ "16r0643" 0 " invalid "
+ "16r0644" 0 " invalid "
+ "16r0645" 0 " invalid "
+ "16r0646" 0 " invalid "
+ "16r0647" 0 " invalid "
+ "16r0648" 0 " invalid "
+ "16r0649" 0 " invalid "
+ "16r064A" 0 " invalid "
+ "16r064B" 0 " invalid "
+ "16r064C" 0 " invalid "
+ "16r064D" 0 " invalid "
+ "16r064E" 0 " invalid "
+ "16r064F" 0 " invalid "
+ "16r0650" 0 " invalid "
+ "16r0651" 0 " invalid "
+ "16r0652" 0 " invalid "
+ "16r0653" 0 " invalid "
+ "16r0654" 0 " invalid "
+ "16r0655" 0 " invalid "
+ "16r0656" 0 " invalid "
+ "16r0657" 0 " invalid "
+ "16r0658" 0 " invalid "
+ "16r0659" 0 " invalid "
+ "16r065A" 0 " invalid "
+ "16r065B" 0 " invalid "
+ "16r065C" 0 " invalid "
+ "16r065D" 0 " invalid "
+ "16r065E" 0 " invalid "
+ "16r065F" 0 " invalid "
+ "16r0660" 0 " invalid "
+ "16r0661" 0 " invalid "
+ "16r0662" 0 " invalid "
+ "16r0663" 0 " invalid "
+ "16r0664" 0 " invalid "
+ "16r0665" 0 " invalid "
+ "16r0666" 0 " invalid "
+ "16r0667" 0 " invalid "
+ "16r0668" 0 " invalid "
+ "16r0669" 0 " invalid "
+ "16r066A" 0 " invalid "
+ "16r066B" 0 " invalid "
+ "16r066C" 0 " invalid "
+ "16r066D" 0 " invalid "
+ "16r066E" 0 " invalid "
+ "16r066F" 0 " invalid "
+ "16r0670" 0 " invalid "
+ "16r0671" 0 " invalid "
+ "16r0672" 0 " invalid "
+ "16r0673" 0 " invalid "
+ "16r0674" 0 " invalid "
+ "16r0675" 0 " invalid "
+ "16r0676" 0 " invalid "
+ "16r0677" 0 " invalid "
+ "16r0678" 0 " invalid "
+ "16r0679" 0 " invalid "
+ "16r067A" 0 " invalid "
+ "16r067B" 0 " invalid "
+ "16r067C" 0 " invalid "
+ "16r067D" 0 " invalid "
+ "16r067E" 0 " invalid "
+ "16r067F" 0 " invalid "
+ "16r0680" 0 " invalid "
+ "16r0681" 0 " invalid "
+ "16r0682" 0 " invalid "
+ "16r0683" 0 " invalid "
+ "16r0684" 0 " invalid "
+ "16r0685" 0 " invalid "
+ "16r0686" 0 " invalid "
+ "16r0687" 0 " invalid "
+ "16r0688" 0 " invalid "
+ "16r0689" 0 " invalid "
+ "16r068A" 0 " invalid "
+ "16r068B" 0 " invalid "
+ "16r068C" 0 " invalid "
+ "16r068D" 0 " invalid "
+ "16r068E" 0 " invalid "
+ "16r068F" 0 " invalid "
+ "16r0690" 0 " invalid "
+ "16r0691" 0 " invalid "
+ "16r0692" 0 " invalid "
+ "16r0693" 0 " invalid "
+ "16r0694" 0 " invalid "
+ "16r0695" 0 " invalid "
+ "16r0696" 0 " invalid "
+ "16r0697" 0 " invalid "
+ "16r0698" 0 " invalid "
+ "16r0699" 0 " invalid "
+ "16r069A" 0 " invalid "
+ "16r069B" 0 " invalid "
+ "16r069C" 0 " invalid "
+ "16r069D" 0 " invalid "
+ "16r069E" 0 " invalid "
+ "16r069F" 0 " invalid "
+ "16r06A0" 0 " invalid "
+ "16r06A1" 0 " invalid "
+ "16r06A2" 0 " invalid "
+ "16r06A3" 0 " invalid "
+ "16r06A4" 0 " invalid "
+ "16r06A5" 0 " invalid "
+ "16r06A6" 0 " invalid "
+ "16r06A7" 0 " invalid "
+ "16r06A8" 0 " invalid "
+ "16r06A9" 0 " invalid "
+ "16r06AA" 0 " invalid "
+ "16r06AB" 0 " invalid "
+ "16r06AC" 0 " invalid "
+ "16r06AD" 0 " invalid "
+ "16r06AE" 0 " invalid "
+ "16r06AF" 0 " invalid "
+ "16r06B0" 0 " invalid "
+ "16r06B1" 0 " invalid "
+ "16r06B2" 0 " invalid "
+ "16r06B3" 0 " invalid "
+ "16r06B4" 0 " invalid "
+ "16r06B5" 0 " invalid "
+ "16r06B6" 0 " invalid "
+ "16r06B7" 0 " invalid "
+ "16r06B8" 0 " invalid "
+ "16r06B9" 0 " invalid "
+ "16r06BA" 0 " invalid "
+ "16r06BB" 0 " invalid "
+ "16r06BC" 0 " invalid "
+ "16r06BD" 0 " invalid "
+ "16r06BE" 0 " invalid "
+ "16r06BF" 0 " invalid "
+ "16r06C0" 0 " invalid "
+ "16r06C1" 0 " invalid "
+ "16r06C2" 0 " invalid "
+ "16r06C3" 0 " invalid "
+ "16r06C4" 0 " invalid "
+ "16r06C5" 0 " invalid "
+ "16r06C6" 0 " invalid "
+ "16r06C7" 0 " invalid "
+ "16r06C8" 0 " invalid "
+ "16r06C9" 0 " invalid "
+ "16r06CA" 0 " invalid "
+ "16r06CB" 0 " invalid "
+ "16r06CC" 0 " invalid "
+ "16r06CD" 0 " invalid "
+ "16r06CE" 0 " invalid "
+ "16r06CF" 0 " invalid "
+ "16r06D0" 0 " invalid "
+ "16r06D1" 0 " invalid "
+ "16r06D2" 0 " invalid "
+ "16r06D3" 0 " invalid "
+ "16r06D4" 0 " invalid "
+ "16r06D5" 0 " invalid "
+ "16r06D6" 0 " invalid "
+ "16r06D7" 0 " invalid "
+ "16r06D8" 0 " invalid "
+ "16r06D9" 0 " invalid "
+ "16r06DA" 0 " invalid "
+ "16r06DB" 0 " invalid "
+ "16r06DC" 0 " invalid "
+ "16r06DD" 0 " invalid "
+ "16r06DE" 0 " invalid "
+ "16r06DF" 0 " invalid "
+ "16r06E0" 0 " invalid "
+ "16r06E1" 0 " invalid "
+ "16r06E2" 0 " invalid "
+ "16r06E3" 0 " invalid "
+ "16r06E4" 0 " invalid "
+ "16r06E5" 0 " invalid "
+ "16r06E6" 0 " invalid "
+ "16r06E7" 0 " invalid "
+ "16r06E8" 0 " invalid "
+ "16r06E9" 0 " invalid "
+ "16r06EA" 0 " invalid "
+ "16r06EB" 0 " invalid "
+ "16r06EC" 0 " invalid "
+ "16r06ED" 0 " invalid "
+ "16r06EE" 0 " invalid "
+ "16r06EF" 0 " invalid "
+ "16r06F0" 0 " invalid "
+ "16r06F1" 0 " invalid "
+ "16r06F2" 0 " invalid "
+ "16r06F3" 0 " invalid "
+ "16r06F4" 0 " invalid "
+ "16r06F5" 0 " invalid "
+ "16r06F6" 0 " invalid "
+ "16r06F7" 0 " invalid "
+ "16r06F8" 0 " invalid "
+ "16r06F9" 0 " invalid "
+ "16r06FA" 0 " invalid "
+ "16r06FB" 0 " invalid "
+ "16r06FC" 0 " invalid "
+ "16r06FD" 0 " invalid "
+ "16r06FE" 0 " invalid "
+ "16r06FF" 0 " invalid "
+ "16r0700" 0 " invalid "
+ "16r0701" 0 " invalid "
+ "16r0702" 0 " invalid "
+ "16r0703" 0 " invalid "
+ "16r0704" 0 " invalid "
+ "16r0705" 0 " invalid "
+ "16r0706" 0 " invalid "
+ "16r0707" 0 " invalid "
+ "16r0708" 0 " invalid "
+ "16r0709" 0 " invalid "
+ "16r070A" 0 " invalid "
+ "16r070B" 0 " invalid "
+ "16r070C" 0 " invalid "
+ "16r070D" 0 " invalid "
+ "16r070E" 0 " invalid "
+ "16r070F" 0 " invalid "
+ "16r0710" 0 " invalid "
+ "16r0711" 0 " invalid "
+ "16r0712" 0 " invalid "
+ "16r0713" 0 " invalid "
+ "16r0714" 0 " invalid "
+ "16r0715" 0 " invalid "
+ "16r0716" 0 " invalid "
+ "16r0717" 0 " invalid "
+ "16r0718" 0 " invalid "
+ "16r0719" 0 " invalid "
+ "16r071A" 0 " invalid "
+ "16r071B" 0 " invalid "
+ "16r071C" 0 " invalid "
+ "16r071D" 0 " invalid "
+ "16r071E" 0 " invalid "
+ "16r071F" 0 " invalid "
+ "16r0720" 0 " invalid "
+ "16r0721" 0 " invalid "
+ "16r0722" 0 " invalid "
+ "16r0723" 0 " invalid "
+ "16r0724" 0 " invalid "
+ "16r0725" 0 " invalid "
+ "16r0726" 0 " invalid "
+ "16r0727" 0 " invalid "
+ "16r0728" 0 " invalid "
+ "16r0729" 0 " invalid "
+ "16r072A" 0 " invalid "
+ "16r072B" 0 " invalid "
+ "16r072C" 0 " invalid "
+ "16r072D" 0 " invalid "
+ "16r072E" 0 " invalid "
+ "16r072F" 0 " invalid "
+ "16r0730" 0 " invalid "
+ "16r0731" 0 " invalid "
+ "16r0732" 0 " invalid "
+ "16r0733" 0 " invalid "
+ "16r0734" 0 " invalid "
+ "16r0735" 0 " invalid "
+ "16r0736" 0 " invalid "
+ "16r0737" 0 " invalid "
+ "16r0738" 0 " invalid "
+ "16r0739" 0 " invalid "
+ "16r073A" 0 " invalid "
+ "16r073B" 0 " invalid "
+ "16r073C" 0 " invalid "
+ "16r073D" 0 " invalid "
+ "16r073E" 0 " invalid "
+ "16r073F" 0 " invalid "
+ "16r0740" 0 " invalid "
+ "16r0741" 0 " invalid "
+ "16r0742" 0 " invalid "
+ "16r0743" 0 " invalid "
+ "16r0744" 0 " invalid "
+ "16r0745" 0 " invalid "
+ "16r0746" 0 " invalid "
+ "16r0747" 0 " invalid "
+ "16r0748" 0 " invalid "
+ "16r0749" 0 " invalid "
+ "16r074A" 0 " invalid "
+ "16r074B" 0 " invalid "
+ "16r074C" 0 " invalid "
+ "16r074D" 0 " invalid "
+ "16r074E" 0 " invalid "
+ "16r074F" 0 " invalid "
+ "16r0750" 0 " invalid "
+ "16r0751" 0 " invalid "
+ "16r0752" 0 " invalid "
+ "16r0753" 0 " invalid "
+ "16r0754" 0 " invalid "
+ "16r0755" 0 " invalid "
+ "16r0756" 0 " invalid "
+ "16r0757" 0 " invalid "
+ "16r0758" 0 " invalid "
+ "16r0759" 0 " invalid "
+ "16r075A" 0 " invalid "
+ "16r075B" 0 " invalid "
+ "16r075C" 0 " invalid "
+ "16r075D" 0 " invalid "
+ "16r075E" 0 " invalid "
+ "16r075F" 0 " invalid "
+ "16r0760" 0 " invalid "
+ "16r0761" 0 " invalid "
+ "16r0762" 0 " invalid "
+ "16r0763" 0 " invalid "
+ "16r0764" 0 " invalid "
+ "16r0765" 0 " invalid "
+ "16r0766" 0 " invalid "
+ "16r0767" 0 " invalid "
+ "16r0768" 0 " invalid "
+ "16r0769" 0 " invalid "
+ "16r076A" 0 " invalid "
+ "16r076B" 0 " invalid "
+ "16r076C" 0 " invalid "
+ "16r076D" 0 " invalid "
+ "16r076E" 0 " invalid "
+ "16r076F" 0 " invalid "
+ "16r0770" 0 " invalid "
+ "16r0771" 0 " invalid "
+ "16r0772" 0 " invalid "
+ "16r0773" 0 " invalid "
+ "16r0774" 0 " invalid "
+ "16r0775" 0 " invalid "
+ "16r0776" 0 " invalid "
+ "16r0777" 0 " invalid "
+ "16r0778" 0 " invalid "
+ "16r0779" 0 " invalid "
+ "16r077A" 0 " invalid "
+ "16r077B" 0 " invalid "
+ "16r077C" 0 " invalid "
+ "16r077D" 0 " invalid "
+ "16r077E" 0 " invalid "
+ "16r077F" 0 " invalid "
+ "16r0780" 0 " invalid "
+ "16r0781" 0 " invalid "
+ "16r0782" 0 " invalid "
+ "16r0783" 0 " invalid "
+ "16r0784" 0 " invalid "
+ "16r0785" 0 " invalid "
+ "16r0786" 0 " invalid "
+ "16r0787" 0 " invalid "
+ "16r0788" 0 " invalid "
+ "16r0789" 0 " invalid "
+ "16r078A" 0 " invalid "
+ "16r078B" 0 " invalid "
+ "16r078C" 0 " invalid "
+ "16r078D" 0 " invalid "
+ "16r078E" 0 " invalid "
+ "16r078F" 0 " invalid "
+ "16r0790" 0 " invalid "
+ "16r0791" 0 " invalid "
+ "16r0792" 0 " invalid "
+ "16r0793" 0 " invalid "
+ "16r0794" 0 " invalid "
+ "16r0795" 0 " invalid "
+ "16r0796" 0 " invalid "
+ "16r0797" 0 " invalid "
+ "16r0798" 0 " invalid "
+ "16r0799" 0 " invalid "
+ "16r079A" 0 " invalid "
+ "16r079B" 0 " invalid "
+ "16r079C" 0 " invalid "
+ "16r079D" 0 " invalid "
+ "16r079E" 0 " invalid "
+ "16r079F" 0 " invalid "
+ "16r07A0" 0 " invalid "
+ "16r07A1" 0 " invalid "
+ "16r07A2" 0 " invalid "
+ "16r07A3" 0 " invalid "
+ "16r07A4" 0 " invalid "
+ "16r07A5" 0 " invalid "
+ "16r07A6" 0 " invalid "
+ "16r07A7" 0 " invalid "
+ "16r07A8" 0 " invalid "
+ "16r07A9" 0 " invalid "
+ "16r07AA" 0 " invalid "
+ "16r07AB" 0 " invalid "
+ "16r07AC" 0 " invalid "
+ "16r07AD" 0 " invalid "
+ "16r07AE" 0 " invalid "
+ "16r07AF" 0 " invalid "
+ "16r07B0" 0 " invalid "
+ "16r07B1" 0 " invalid "
+ "16r07B2" 0 " invalid "
+ "16r07B3" 0 " invalid "
+ "16r07B4" 0 " invalid "
+ "16r07B5" 0 " invalid "
+ "16r07B6" 0 " invalid "
+ "16r07B7" 0 " invalid "
+ "16r07B8" 0 " invalid "
+ "16r07B9" 0 " invalid "
+ "16r07BA" 0 " invalid "
+ "16r07BB" 0 " invalid "
+ "16r07BC" 0 " invalid "
+ "16r07BD" 0 " invalid "
+ "16r07BE" 0 " invalid "
+ "16r07BF" 0 " invalid "
+ "16r07C0" 0 " invalid "
+ "16r07C1" 0 " invalid "
+ "16r07C2" 0 " invalid "
+ "16r07C3" 0 " invalid "
+ "16r07C4" 0 " invalid "
+ "16r07C5" 0 " invalid "
+ "16r07C6" 0 " invalid "
+ "16r07C7" 0 " invalid "
+ "16r07C8" 0 " invalid "
+ "16r07C9" 0 " invalid "
+ "16r07CA" 0 " invalid "
+ "16r07CB" 0 " invalid "
+ "16r07CC" 0 " invalid "
+ "16r07CD" 0 " invalid "
+ "16r07CE" 0 " invalid "
+ "16r07CF" 0 " invalid "
+ "16r07D0" 0 " invalid "
+ "16r07D1" 0 " invalid "
+ "16r07D2" 0 " invalid "
+ "16r07D3" 0 " invalid "
+ "16r07D4" 0 " invalid "
+ "16r07D5" 0 " invalid "
+ "16r07D6" 0 " invalid "
+ "16r07D7" 0 " invalid "
+ "16r07D8" 0 " invalid "
+ "16r07D9" 0 " invalid "
+ "16r07DA" 0 " invalid "
+ "16r07DB" 0 " invalid "
+ "16r07DC" 0 " invalid "
+ "16r07DD" 0 " invalid "
+ "16r07DE" 0 " invalid "
+ "16r07DF" 0 " invalid "
+ "16r07E0" 0 " invalid "
+ "16r07E1" 0 " invalid "
+ "16r07E2" 0 " invalid "
+ "16r07E3" 0 " invalid "
+ "16r07E4" 0 " invalid "
+ "16r07E5" 0 " invalid "
+ "16r07E6" 0 " invalid "
+ "16r07E7" 0 " invalid "
+ "16r07E8" 0 " invalid "
+ "16r07E9" 0 " invalid "
+ "16r07EA" 0 " invalid "
+ "16r07EB" 0 " invalid "
+ "16r07EC" 0 " invalid "
+ "16r07ED" 0 " invalid "
+ "16r07EE" 0 " invalid "
+ "16r07EF" 0 " invalid "
+ "16r07F0" 0 " invalid "
+ "16r07F1" 0 " invalid "
+ "16r07F2" 0 " invalid "
+ "16r07F3" 0 " invalid "
+ "16r07F4" 0 " invalid "
+ "16r07F5" 0 " invalid "
+ "16r07F6" 0 " invalid "
+ "16r07F7" 0 " invalid "
+ "16r07F8" 0 " invalid "
+ "16r07F9" 0 " invalid "
+ "16r07FA" 0 " invalid "
+ "16r07FB" 0 " invalid "
+ "16r07FC" 0 " invalid "
+ "16r07FD" 0 " invalid "
+ "16r07FE" 0 " invalid "
+ "16r07FF" 0 " invalid "
+ "16r0800" 0 " invalid "
+ "16r0801" 0 " invalid "
+ "16r0802" 0 " invalid "
+ "16r0803" 0 " invalid "
+ "16r0804" 0 " invalid "
+ "16r0805" 0 " invalid "
+ "16r0806" 0 " invalid "
+ "16r0807" 0 " invalid "
+ "16r0808" 0 " invalid "
+ "16r0809" 0 " invalid "
+ "16r080A" 0 " invalid "
+ "16r080B" 0 " invalid "
+ "16r080C" 0 " invalid "
+ "16r080D" 0 " invalid "
+ "16r080E" 0 " invalid "
+ "16r080F" 0 " invalid "
+ "16r0810" 0 " invalid "
+ "16r0811" 0 " invalid "
+ "16r0812" 0 " invalid "
+ "16r0813" 0 " invalid "
+ "16r0814" 0 " invalid "
+ "16r0815" 0 " invalid "
+ "16r0816" 0 " invalid "
+ "16r0817" 0 " invalid "
+ "16r0818" 0 " invalid "
+ "16r0819" 0 " invalid "
+ "16r081A" 0 " invalid "
+ "16r081B" 0 " invalid "
+ "16r081C" 0 " invalid "
+ "16r081D" 0 " invalid "
+ "16r081E" 0 " invalid "
+ "16r081F" 0 " invalid "
+ "16r0820" 0 " invalid "
+ "16r0821" 0 " invalid "
+ "16r0822" 0 " invalid "
+ "16r0823" 0 " invalid "
+ "16r0824" 0 " invalid "
+ "16r0825" 0 " invalid "
+ "16r0826" 0 " invalid "
+ "16r0827" 0 " invalid "
+ "16r0828" 0 " invalid "
+ "16r0829" 0 " invalid "
+ "16r082A" 0 " invalid "
+ "16r082B" 0 " invalid "
+ "16r082C" 0 " invalid "
+ "16r082D" 0 " invalid "
+ "16r082E" 0 " invalid "
+ "16r082F" 0 " invalid "
+ "16r0830" 0 " invalid "
+ "16r0831" 0 " invalid "
+ "16r0832" 0 " invalid "
+ "16r0833" 0 " invalid "
+ "16r0834" 0 " invalid "
+ "16r0835" 0 " invalid "
+ "16r0836" 0 " invalid "
+ "16r0837" 0 " invalid "
+ "16r0838" 0 " invalid "
+ "16r0839" 0 " invalid "
+ "16r083A" 0 " invalid "
+ "16r083B" 0 " invalid "
+ "16r083C" 0 " invalid "
+ "16r083D" 0 " invalid "
+ "16r083E" 0 " invalid "
+ "16r083F" 0 " invalid "
+ "16r0840" 0 " invalid "
+ "16r0841" 0 " invalid "
+ "16r0842" 0 " invalid "
+ "16r0843" 0 " invalid "
+ "16r0844" 0 " invalid "
+ "16r0845" 0 " invalid "
+ "16r0846" 0 " invalid "
+ "16r0847" 0 " invalid "
+ "16r0848" 0 " invalid "
+ "16r0849" 0 " invalid "
+ "16r084A" 0 " invalid "
+ "16r084B" 0 " invalid "
+ "16r084C" 0 " invalid "
+ "16r084D" 0 " invalid "
+ "16r084E" 0 " invalid "
+ "16r084F" 0 " invalid "
+ "16r0850" 0 " invalid "
+ "16r0851" 0 " invalid "
+ "16r0852" 0 " invalid "
+ "16r0853" 0 " invalid "
+ "16r0854" 0 " invalid "
+ "16r0855" 0 " invalid "
+ "16r0856" 0 " invalid "
+ "16r0857" 0 " invalid "
+ "16r0858" 0 " invalid "
+ "16r0859" 0 " invalid "
+ "16r085A" 0 " invalid "
+ "16r085B" 0 " invalid "
+ "16r085C" 0 " invalid "
+ "16r085D" 0 " invalid "
+ "16r085E" 0 " invalid "
+ "16r085F" 0 " invalid "
+ "16r0860" 0 " invalid "
+ "16r0861" 0 " invalid "
+ "16r0862" 0 " invalid "
+ "16r0863" 0 " invalid "
+ "16r0864" 0 " invalid "
+ "16r0865" 0 " invalid "
+ "16r0866" 0 " invalid "
+ "16r0867" 0 " invalid "
+ "16r0868" 0 " invalid "
+ "16r0869" 0 " invalid "
+ "16r086A" 0 " invalid "
+ "16r086B" 0 " invalid "
+ "16r086C" 0 " invalid "
+ "16r086D" 0 " invalid "
+ "16r086E" 0 " invalid "
+ "16r086F" 0 " invalid "
+ "16r0870" 0 " invalid "
+ "16r0871" 0 " invalid "
+ "16r0872" 0 " invalid "
+ "16r0873" 0 " invalid "
+ "16r0874" 0 " invalid "
+ "16r0875" 0 " invalid "
+ "16r0876" 0 " invalid "
+ "16r0877" 0 " invalid "
+ "16r0878" 0 " invalid "
+ "16r0879" 0 " invalid "
+ "16r087A" 0 " invalid "
+ "16r087B" 0 " invalid "
+ "16r087C" 0 " invalid "
+ "16r087D" 0 " invalid "
+ "16r087E" 0 " invalid "
+ "16r087F" 0 " invalid "
+ "16r0880" 0 " invalid "
+ "16r0881" 0 " invalid "
+ "16r0882" 0 " invalid "
+ "16r0883" 0 " invalid "
+ "16r0884" 0 " invalid "
+ "16r0885" 0 " invalid "
+ "16r0886" 0 " invalid "
+ "16r0887" 0 " invalid "
+ "16r0888" 0 " invalid "
+ "16r0889" 0 " invalid "
+ "16r088A" 0 " invalid "
+ "16r088B" 0 " invalid "
+ "16r088C" 0 " invalid "
+ "16r088D" 0 " invalid "
+ "16r088E" 0 " invalid "
+ "16r088F" 0 " invalid "
+ "16r0890" 0 " invalid "
+ "16r0891" 0 " invalid "
+ "16r0892" 0 " invalid "
+ "16r0893" 0 " invalid "
+ "16r0894" 0 " invalid "
+ "16r0895" 0 " invalid "
+ "16r0896" 0 " invalid "
+ "16r0897" 0 " invalid "
+ "16r0898" 0 " invalid "
+ "16r0899" 0 " invalid "
+ "16r089A" 0 " invalid "
+ "16r089B" 0 " invalid "
+ "16r089C" 0 " invalid "
+ "16r089D" 0 " invalid "
+ "16r089E" 0 " invalid "
+ "16r089F" 0 " invalid "
+ "16r08A0" 0 " invalid "
+ "16r08A1" 0 " invalid "
+ "16r08A2" 0 " invalid "
+ "16r08A3" 0 " invalid "
+ "16r08A4" 0 " invalid "
+ "16r08A5" 0 " invalid "
+ "16r08A6" 0 " invalid "
+ "16r08A7" 0 " invalid "
+ "16r08A8" 0 " invalid "
+ "16r08A9" 0 " invalid "
+ "16r08AA" 0 " invalid "
+ "16r08AB" 0 " invalid "
+ "16r08AC" 0 " invalid "
+ "16r08AD" 0 " invalid "
+ "16r08AE" 0 " invalid "
+ "16r08AF" 0 " invalid "
+ "16r08B0" 0 " invalid "
+ "16r08B1" 0 " invalid "
+ "16r08B2" 0 " invalid "
+ "16r08B3" 0 " invalid "
+ "16r08B4" 0 " invalid "
+ "16r08B5" 0 " invalid "
+ "16r08B6" 0 " invalid "
+ "16r08B7" 0 " invalid "
+ "16r08B8" 0 " invalid "
+ "16r08B9" 0 " invalid "
+ "16r08BA" 0 " invalid "
+ "16r08BB" 0 " invalid "
+ "16r08BC" 0 " invalid "
+ "16r08BD" 0 " invalid "
+ "16r08BE" 0 " invalid "
+ "16r08BF" 0 " invalid "
+ "16r08C0" 0 " invalid "
+ "16r08C1" 0 " invalid "
+ "16r08C2" 0 " invalid "
+ "16r08C3" 0 " invalid "
+ "16r08C4" 0 " invalid "
+ "16r08C5" 0 " invalid "
+ "16r08C6" 0 " invalid "
+ "16r08C7" 0 " invalid "
+ "16r08C8" 0 " invalid "
+ "16r08C9" 0 " invalid "
+ "16r08CA" 0 " invalid "
+ "16r08CB" 0 " invalid "
+ "16r08CC" 0 " invalid "
+ "16r08CD" 0 " invalid "
+ "16r08CE" 0 " invalid "
+ "16r08CF" 0 " invalid "
+ "16r08D0" 0 " invalid "
+ "16r08D1" 0 " invalid "
+ "16r08D2" 0 " invalid "
+ "16r08D3" 0 " invalid "
+ "16r08D4" 0 " invalid "
+ "16r08D5" 0 " invalid "
+ "16r08D6" 0 " invalid "
+ "16r08D7" 0 " invalid "
+ "16r08D8" 0 " invalid "
+ "16r08D9" 0 " invalid "
+ "16r08DA" 0 " invalid "
+ "16r08DB" 0 " invalid "
+ "16r08DC" 0 " invalid "
+ "16r08DD" 0 " invalid "
+ "16r08DE" 0 " invalid "
+ "16r08DF" 0 " invalid "
+ "16r08E0" 0 " invalid "
+ "16r08E1" 0 " invalid "
+ "16r08E2" 0 " invalid "
+ "16r08E3" 0 " invalid "
+ "16r08E4" 0 " invalid "
+ "16r08E5" 0 " invalid "
+ "16r08E6" 0 " invalid "
+ "16r08E7" 0 " invalid "
+ "16r08E8" 0 " invalid "
+ "16r08E9" 0 " invalid "
+ "16r08EA" 0 " invalid "
+ "16r08EB" 0 " invalid "
+ "16r08EC" 0 " invalid "
+ "16r08ED" 0 " invalid "
+ "16r08EE" 0 " invalid "
+ "16r08EF" 0 " invalid "
+ "16r08F0" 0 " invalid "
+ "16r08F1" 0 " invalid "
+ "16r08F2" 0 " invalid "
+ "16r08F3" 0 " invalid "
+ "16r08F4" 0 " invalid "
+ "16r08F5" 0 " invalid "
+ "16r08F6" 0 " invalid "
+ "16r08F7" 0 " invalid "
+ "16r08F8" 0 " invalid "
+ "16r08F9" 0 " invalid "
+ "16r08FA" 0 " invalid "
+ "16r08FB" 0 " invalid "
+ "16r08FC" 0 " invalid "
+ "16r08FD" 0 " invalid "
+ "16r08FE" 0 " invalid "
+ "16r08FF" 0 " invalid "
+ "16r0900" 0 " invalid "
+ "16r0901" 0 " invalid "
+ "16r0902" 0 " invalid "
+ "16r0903" 0 " invalid "
+ "16r0904" 0 " invalid "
+ "16r0905" 0 " invalid "
+ "16r0906" 0 " invalid "
+ "16r0907" 0 " invalid "
+ "16r0908" 0 " invalid "
+ "16r0909" 0 " invalid "
+ "16r090A" 0 " invalid "
+ "16r090B" 0 " invalid "
+ "16r090C" 0 " invalid "
+ "16r090D" 0 " invalid "
+ "16r090E" 0 " invalid "
+ "16r090F" 0 " invalid "
+ "16r0910" 0 " invalid "
+ "16r0911" 0 " invalid "
+ "16r0912" 0 " invalid "
+ "16r0913" 0 " invalid "
+ "16r0914" 0 " invalid "
+ "16r0915" 0 " invalid "
+ "16r0916" 0 " invalid "
+ "16r0917" 0 " invalid "
+ "16r0918" 0 " invalid "
+ "16r0919" 0 " invalid "
+ "16r091A" 0 " invalid "
+ "16r091B" 0 " invalid "
+ "16r091C" 0 " invalid "
+ "16r091D" 0 " invalid "
+ "16r091E" 0 " invalid "
+ "16r091F" 0 " invalid "
+ "16r0920" 0 " invalid "
+ "16r0921" 0 " invalid "
+ "16r0922" 0 " invalid "
+ "16r0923" 0 " invalid "
+ "16r0924" 0 " invalid "
+ "16r0925" 0 " invalid "
+ "16r0926" 0 " invalid "
+ "16r0927" 0 " invalid "
+ "16r0928" 0 " invalid "
+ "16r0929" 0 " invalid "
+ "16r092A" 0 " invalid "
+ "16r092B" 0 " invalid "
+ "16r092C" 0 " invalid "
+ "16r092D" 0 " invalid "
+ "16r092E" 0 " invalid "
+ "16r092F" 0 " invalid "
+ "16r0930" 0 " invalid "
+ "16r0931" 0 " invalid "
+ "16r0932" 0 " invalid "
+ "16r0933" 0 " invalid "
+ "16r0934" 0 " invalid "
+ "16r0935" 0 " invalid "
+ "16r0936" 0 " invalid "
+ "16r0937" 0 " invalid "
+ "16r0938" 0 " invalid "
+ "16r0939" 0 " invalid "
+ "16r093A" 0 " invalid "
+ "16r093B" 0 " invalid "
+ "16r093C" 0 " invalid "
+ "16r093D" 0 " invalid "
+ "16r093E" 0 " invalid "
+ "16r093F" 0 " invalid "
+ "16r0940" 0 " invalid "
+ "16r0941" 0 " invalid "
+ "16r0942" 0 " invalid "
+ "16r0943" 0 " invalid "
+ "16r0944" 0 " invalid "
+ "16r0945" 0 " invalid "
+ "16r0946" 0 " invalid "
+ "16r0947" 0 " invalid "
+ "16r0948" 0 " invalid "
+ "16r0949" 0 " invalid "
+ "16r094A" 0 " invalid "
+ "16r094B" 0 " invalid "
+ "16r094C" 0 " invalid "
+ "16r094D" 0 " invalid "
+ "16r094E" 0 " invalid "
+ "16r094F" 0 " invalid "
+ "16r0950" 0 " invalid "
+ "16r0951" 0 " invalid "
+ "16r0952" 0 " invalid "
+ "16r0953" 0 " invalid "
+ "16r0954" 0 " invalid "
+ "16r0955" 0 " invalid "
+ "16r0956" 0 " invalid "
+ "16r0957" 0 " invalid "
+ "16r0958" 0 " invalid "
+ "16r0959" 0 " invalid "
+ "16r095A" 0 " invalid "
+ "16r095B" 0 " invalid "
+ "16r095C" 0 " invalid "
+ "16r095D" 0 " invalid "
+ "16r095E" 0 " invalid "
+ "16r095F" 0 " invalid "
+ "16r0960" 0 " invalid "
+ "16r0961" 0 " invalid "
+ "16r0962" 0 " invalid "
+ "16r0963" 0 " invalid "
+ "16r0964" 0 " invalid "
+ "16r0965" 0 " invalid "
+ "16r0966" 0 " invalid "
+ "16r0967" 0 " invalid "
+ "16r0968" 0 " invalid "
+ "16r0969" 0 " invalid "
+ "16r096A" 0 " invalid "
+ "16r096B" 0 " invalid "
+ "16r096C" 0 " invalid "
+ "16r096D" 0 " invalid "
+ "16r096E" 0 " invalid "
+ "16r096F" 0 " invalid "
+ "16r0970" 0 " invalid "
+ "16r0971" 0 " invalid "
+ "16r0972" 0 " invalid "
+ "16r0973" 0 " invalid "
+ "16r0974" 0 " invalid "
+ "16r0975" 0 " invalid "
+ "16r0976" 0 " invalid "
+ "16r0977" 0 " invalid "
+ "16r0978" 0 " invalid "
+ "16r0979" 0 " invalid "
+ "16r097A" 0 " invalid "
+ "16r097B" 0 " invalid "
+ "16r097C" 0 " invalid "
+ "16r097D" 0 " invalid "
+ "16r097E" 0 " invalid "
+ "16r097F" 0 " invalid "
+ "16r0980" 0 " invalid "
+ "16r0981" 0 " invalid "
+ "16r0982" 0 " invalid "
+ "16r0983" 0 " invalid "
+ "16r0984" 0 " invalid "
+ "16r0985" 0 " invalid "
+ "16r0986" 0 " invalid "
+ "16r0987" 0 " invalid "
+ "16r0988" 0 " invalid "
+ "16r0989" 0 " invalid "
+ "16r098A" 0 " invalid "
+ "16r098B" 0 " invalid "
+ "16r098C" 0 " invalid "
+ "16r098D" 0 " invalid "
+ "16r098E" 0 " invalid "
+ "16r098F" 0 " invalid "
+ "16r0990" 0 " invalid "
+ "16r0991" 0 " invalid "
+ "16r0992" 0 " invalid "
+ "16r0993" 0 " invalid "
+ "16r0994" 0 " invalid "
+ "16r0995" 0 " invalid "
+ "16r0996" 0 " invalid "
+ "16r0997" 0 " invalid "
+ "16r0998" 0 " invalid "
+ "16r0999" 0 " invalid "
+ "16r099A" 0 " invalid "
+ "16r099B" 0 " invalid "
+ "16r099C" 0 " invalid "
+ "16r099D" 0 " invalid "
+ "16r099E" 0 " invalid "
+ "16r099F" 0 " invalid "
+ "16r09A0" 0 " invalid "
+ "16r09A1" 0 " invalid "
+ "16r09A2" 0 " invalid "
+ "16r09A3" 0 " invalid "
+ "16r09A4" 0 " invalid "
+ "16r09A5" 0 " invalid "
+ "16r09A6" 0 " invalid "
+ "16r09A7" 0 " invalid "
+ "16r09A8" 0 " invalid "
+ "16r09A9" 0 " invalid "
+ "16r09AA" 0 " invalid "
+ "16r09AB" 0 " invalid "
+ "16r09AC" 0 " invalid "
+ "16r09AD" 0 " invalid "
+ "16r09AE" 0 " invalid "
+ "16r09AF" 0 " invalid "
+ "16r09B0" 0 " invalid "
+ "16r09B1" 0 " invalid "
+ "16r09B2" 0 " invalid "
+ "16r09B3" 0 " invalid "
+ "16r09B4" 0 " invalid "
+ "16r09B5" 0 " invalid "
+ "16r09B6" 0 " invalid "
+ "16r09B7" 0 " invalid "
+ "16r09B8" 0 " invalid "
+ "16r09B9" 0 " invalid "
+ "16r09BA" 0 " invalid "
+ "16r09BB" 0 " invalid "
+ "16r09BC" 0 " invalid "
+ "16r09BD" 0 " invalid "
+ "16r09BE" 0 " invalid "
+ "16r09BF" 0 " invalid "
+ "16r09C0" 0 " invalid "
+ "16r09C1" 0 " invalid "
+ "16r09C2" 0 " invalid "
+ "16r09C3" 0 " invalid "
+ "16r09C4" 0 " invalid "
+ "16r09C5" 0 " invalid "
+ "16r09C6" 0 " invalid "
+ "16r09C7" 0 " invalid "
+ "16r09C8" 0 " invalid "
+ "16r09C9" 0 " invalid "
+ "16r09CA" 0 " invalid "
+ "16r09CB" 0 " invalid "
+ "16r09CC" 0 " invalid "
+ "16r09CD" 0 " invalid "
+ "16r09CE" 0 " invalid "
+ "16r09CF" 0 " invalid "
+ "16r09D0" 0 " invalid "
+ "16r09D1" 0 " invalid "
+ "16r09D2" 0 " invalid "
+ "16r09D3" 0 " invalid "
+ "16r09D4" 0 " invalid "
+ "16r09D5" 0 " invalid "
+ "16r09D6" 0 " invalid "
+ "16r09D7" 0 " invalid "
+ "16r09D8" 0 " invalid "
+ "16r09D9" 0 " invalid "
+ "16r09DA" 0 " invalid "
+ "16r09DB" 0 " invalid "
+ "16r09DC" 0 " invalid "
+ "16r09DD" 0 " invalid "
+ "16r09DE" 0 " invalid "
+ "16r09DF" 0 " invalid "
+ "16r09E0" 0 " invalid "
+ "16r09E1" 0 " invalid "
+ "16r09E2" 0 " invalid "
+ "16r09E3" 0 " invalid "
+ "16r09E4" 0 " invalid "
+ "16r09E5" 0 " invalid "
+ "16r09E6" 0 " invalid "
+ "16r09E7" 0 " invalid "
+ "16r09E8" 0 " invalid "
+ "16r09E9" 0 " invalid "
+ "16r09EA" 0 " invalid "
+ "16r09EB" 0 " invalid "
+ "16r09EC" 0 " invalid "
+ "16r09ED" 0 " invalid "
+ "16r09EE" 0 " invalid "
+ "16r09EF" 0 " invalid "
+ "16r09F0" 0 " invalid "
+ "16r09F1" 0 " invalid "
+ "16r09F2" 0 " invalid "
+ "16r09F3" 0 " invalid "
+ "16r09F4" 0 " invalid "
+ "16r09F5" 0 " invalid "
+ "16r09F6" 0 " invalid "
+ "16r09F7" 0 " invalid "
+ "16r09F8" 0 " invalid "
+ "16r09F9" 0 " invalid "
+ "16r09FA" 0 " invalid "
+ "16r09FB" 0 " invalid "
+ "16r09FC" 0 " invalid "
+ "16r09FD" 0 " invalid "
+ "16r09FE" 0 " invalid "
+ "16r09FF" 0 " invalid "
+ "16r0A00" 0 " invalid "
+ "16r0A01" 0 " invalid "
+ "16r0A02" 0 " invalid "
+ "16r0A03" 0 " invalid "
+ "16r0A04" 0 " invalid "
+ "16r0A05" 0 " invalid "
+ "16r0A06" 0 " invalid "
+ "16r0A07" 0 " invalid "
+ "16r0A08" 0 " invalid "
+ "16r0A09" 0 " invalid "
+ "16r0A0A" 0 " invalid "
+ "16r0A0B" 0 " invalid "
+ "16r0A0C" 0 " invalid "
+ "16r0A0D" 0 " invalid "
+ "16r0A0E" 0 " invalid "
+ "16r0A0F" 0 " invalid "
+ "16r0A10" 0 " invalid "
+ "16r0A11" 0 " invalid "
+ "16r0A12" 0 " invalid "
+ "16r0A13" 0 " invalid "
+ "16r0A14" 0 " invalid "
+ "16r0A15" 0 " invalid "
+ "16r0A16" 0 " invalid "
+ "16r0A17" 0 " invalid "
+ "16r0A18" 0 " invalid "
+ "16r0A19" 0 " invalid "
+ "16r0A1A" 0 " invalid "
+ "16r0A1B" 0 " invalid "
+ "16r0A1C" 0 " invalid "
+ "16r0A1D" 0 " invalid "
+ "16r0A1E" 0 " invalid "
+ "16r0A1F" 0 " invalid "
+ "16r0A20" 0 " invalid "
+ "16r0A21" 0 " invalid "
+ "16r0A22" 0 " invalid "
+ "16r0A23" 0 " invalid "
+ "16r0A24" 0 " invalid "
+ "16r0A25" 0 " invalid "
+ "16r0A26" 0 " invalid "
+ "16r0A27" 0 " invalid "
+ "16r0A28" 0 " invalid "
+ "16r0A29" 0 " invalid "
+ "16r0A2A" 0 " invalid "
+ "16r0A2B" 0 " invalid "
+ "16r0A2C" 0 " invalid "
+ "16r0A2D" 0 " invalid "
+ "16r0A2E" 0 " invalid "
+ "16r0A2F" 0 " invalid "
+ "16r0A30" 0 " invalid "
+ "16r0A31" 0 " invalid "
+ "16r0A32" 0 " invalid "
+ "16r0A33" 0 " invalid "
+ "16r0A34" 0 " invalid "
+ "16r0A35" 0 " invalid "
+ "16r0A36" 0 " invalid "
+ "16r0A37" 0 " invalid "
+ "16r0A38" 0 " invalid "
+ "16r0A39" 0 " invalid "
+ "16r0A3A" 0 " invalid "
+ "16r0A3B" 0 " invalid "
+ "16r0A3C" 0 " invalid "
+ "16r0A3D" 0 " invalid "
+ "16r0A3E" 0 " invalid "
+ "16r0A3F" 0 " invalid "
+ "16r0A40" 0 " invalid "
+ "16r0A41" 0 " invalid "
+ "16r0A42" 0 " invalid "
+ "16r0A43" 0 " invalid "
+ "16r0A44" 0 " invalid "
+ "16r0A45" 0 " invalid "
+ "16r0A46" 0 " invalid "
+ "16r0A47" 0 " invalid "
+ "16r0A48" 0 " invalid "
+ "16r0A49" 0 " invalid "
+ "16r0A4A" 0 " invalid "
+ "16r0A4B" 0 " invalid "
+ "16r0A4C" 0 " invalid "
+ "16r0A4D" 0 " invalid "
+ "16r0A4E" 0 " invalid "
+ "16r0A4F" 0 " invalid "
+ "16r0A50" 0 " invalid "
+ "16r0A51" 0 " invalid "
+ "16r0A52" 0 " invalid "
+ "16r0A53" 0 " invalid "
+ "16r0A54" 0 " invalid "
+ "16r0A55" 0 " invalid "
+ "16r0A56" 0 " invalid "
+ "16r0A57" 0 " invalid "
+ "16r0A58" 0 " invalid "
+ "16r0A59" 0 " invalid "
+ "16r0A5A" 0 " invalid "
+ "16r0A5B" 0 " invalid "
+ "16r0A5C" 0 " invalid "
+ "16r0A5D" 0 " invalid "
+ "16r0A5E" 0 " invalid "
+ "16r0A5F" 0 " invalid "
+ "16r0A60" 0 " invalid "
+ "16r0A61" 0 " invalid "
+ "16r0A62" 0 " invalid "
+ "16r0A63" 0 " invalid "
+ "16r0A64" 0 " invalid "
+ "16r0A65" 0 " invalid "
+ "16r0A66" 0 " invalid "
+ "16r0A67" 0 " invalid "
+ "16r0A68" 0 " invalid "
+ "16r0A69" 0 " invalid "
+ "16r0A6A" 0 " invalid "
+ "16r0A6B" 0 " invalid "
+ "16r0A6C" 0 " invalid "
+ "16r0A6D" 0 " invalid "
+ "16r0A6E" 0 " invalid "
+ "16r0A6F" 0 " invalid "
+ "16r0A70" 0 " invalid "
+ "16r0A71" 0 " invalid "
+ "16r0A72" 0 " invalid "
+ "16r0A73" 0 " invalid "
+ "16r0A74" 0 " invalid "
+ "16r0A75" 0 " invalid "
+ "16r0A76" 0 " invalid "
+ "16r0A77" 0 " invalid "
+ "16r0A78" 0 " invalid "
+ "16r0A79" 0 " invalid "
+ "16r0A7A" 0 " invalid "
+ "16r0A7B" 0 " invalid "
+ "16r0A7C" 0 " invalid "
+ "16r0A7D" 0 " invalid "
+ "16r0A7E" 0 " invalid "
+ "16r0A7F" 0 " invalid "
+ "16r0A80" 0 " invalid "
+ "16r0A81" 0 " invalid "
+ "16r0A82" 0 " invalid "
+ "16r0A83" 0 " invalid "
+ "16r0A84" 0 " invalid "
+ "16r0A85" 0 " invalid "
+ "16r0A86" 0 " invalid "
+ "16r0A87" 0 " invalid "
+ "16r0A88" 0 " invalid "
+ "16r0A89" 0 " invalid "
+ "16r0A8A" 0 " invalid "
+ "16r0A8B" 0 " invalid "
+ "16r0A8C" 0 " invalid "
+ "16r0A8D" 0 " invalid "
+ "16r0A8E" 0 " invalid "
+ "16r0A8F" 0 " invalid "
+ "16r0A90" 0 " invalid "
+ "16r0A91" 0 " invalid "
+ "16r0A92" 0 " invalid "
+ "16r0A93" 0 " invalid "
+ "16r0A94" 0 " invalid "
+ "16r0A95" 0 " invalid "
+ "16r0A96" 0 " invalid "
+ "16r0A97" 0 " invalid "
+ "16r0A98" 0 " invalid "
+ "16r0A99" 0 " invalid "
+ "16r0A9A" 0 " invalid "
+ "16r0A9B" 0 " invalid "
+ "16r0A9C" 0 " invalid "
+ "16r0A9D" 0 " invalid "
+ "16r0A9E" 0 " invalid "
+ "16r0A9F" 0 " invalid "
+ "16r0AA0" 0 " invalid "
+ "16r0AA1" 0 " invalid "
+ "16r0AA2" 0 " invalid "
+ "16r0AA3" 0 " invalid "
+ "16r0AA4" 0 " invalid "
+ "16r0AA5" 0 " invalid "
+ "16r0AA6" 0 " invalid "
+ "16r0AA7" 0 " invalid "
+ "16r0AA8" 0 " invalid "
+ "16r0AA9" 0 " invalid "
+ "16r0AAA" 0 " invalid "
+ "16r0AAB" 0 " invalid "
+ "16r0AAC" 0 " invalid "
+ "16r0AAD" 0 " invalid "
+ "16r0AAE" 0 " invalid "
+ "16r0AAF" 0 " invalid "
+ "16r0AB0" 0 " invalid "
+ "16r0AB1" 0 " invalid "
+ "16r0AB2" 0 " invalid "
+ "16r0AB3" 0 " invalid "
+ "16r0AB4" 0 " invalid "
+ "16r0AB5" 0 " invalid "
+ "16r0AB6" 0 " invalid "
+ "16r0AB7" 0 " invalid "
+ "16r0AB8" 0 " invalid "
+ "16r0AB9" 0 " invalid "
+ "16r0ABA" 0 " invalid "
+ "16r0ABB" 0 " invalid "
+ "16r0ABC" 0 " invalid "
+ "16r0ABD" 0 " invalid "
+ "16r0ABE" 0 " invalid "
+ "16r0ABF" 0 " invalid "
+ "16r0AC0" 0 " invalid "
+ "16r0AC1" 0 " invalid "
+ "16r0AC2" 0 " invalid "
+ "16r0AC3" 0 " invalid "
+ "16r0AC4" 0 " invalid "
+ "16r0AC5" 0 " invalid "
+ "16r0AC6" 0 " invalid "
+ "16r0AC7" 0 " invalid "
+ "16r0AC8" 0 " invalid "
+ "16r0AC9" 0 " invalid "
+ "16r0ACA" 0 " invalid "
+ "16r0ACB" 0 " invalid "
+ "16r0ACC" 0 " invalid "
+ "16r0ACD" 0 " invalid "
+ "16r0ACE" 0 " invalid "
+ "16r0ACF" 0 " invalid "
+ "16r0AD0" 0 " invalid "
+ "16r0AD1" 0 " invalid "
+ "16r0AD2" 0 " invalid "
+ "16r0AD3" 0 " invalid "
+ "16r0AD4" 0 " invalid "
+ "16r0AD5" 0 " invalid "
+ "16r0AD6" 0 " invalid "
+ "16r0AD7" 0 " invalid "
+ "16r0AD8" 0 " invalid "
+ "16r0AD9" 0 " invalid "
+ "16r0ADA" 0 " invalid "
+ "16r0ADB" 0 " invalid "
+ "16r0ADC" 0 " invalid "
+ "16r0ADD" 0 " invalid "
+ "16r0ADE" 0 " invalid "
+ "16r0ADF" 0 " invalid "
+ "16r0AE0" 0 " invalid "
+ "16r0AE1" 0 " invalid "
+ "16r0AE2" 0 " invalid "
+ "16r0AE3" 0 " invalid "
+ "16r0AE4" 0 " invalid "
+ "16r0AE5" 0 " invalid "
+ "16r0AE6" 0 " invalid "
+ "16r0AE7" 0 " invalid "
+ "16r0AE8" 0 " invalid "
+ "16r0AE9" 0 " invalid "
+ "16r0AEA" 0 " invalid "
+ "16r0AEB" 0 " invalid "
+ "16r0AEC" 0 " invalid "
+ "16r0AED" 0 " invalid "
+ "16r0AEE" 0 " invalid "
+ "16r0AEF" 0 " invalid "
+ "16r0AF0" 0 " invalid "
+ "16r0AF1" 0 " invalid "
+ "16r0AF2" 0 " invalid "
+ "16r0AF3" 0 " invalid "
+ "16r0AF4" 0 " invalid "
+ "16r0AF5" 0 " invalid "
+ "16r0AF6" 0 " invalid "
+ "16r0AF7" 0 " invalid "
+ "16r0AF8" 0 " invalid "
+ "16r0AF9" 0 " invalid "
+ "16r0AFA" 0 " invalid "
+ "16r0AFB" 0 " invalid "
+ "16r0AFC" 0 " invalid "
+ "16r0AFD" 0 " invalid "
+ "16r0AFE" 0 " invalid "
+ "16r0AFF" 0 " invalid "
+ "16r0B00" 0 " invalid "
+ "16r0B01" 0 " invalid "
+ "16r0B02" 0 " invalid "
+ "16r0B03" 0 " invalid "
+ "16r0B04" 0 " invalid "
+ "16r0B05" 0 " invalid "
+ "16r0B06" 0 " invalid "
+ "16r0B07" 0 " invalid "
+ "16r0B08" 0 " invalid "
+ "16r0B09" 0 " invalid "
+ "16r0B0A" 0 " invalid "
+ "16r0B0B" 0 " invalid "
+ "16r0B0C" 0 " invalid "
+ "16r0B0D" 0 " invalid "
+ "16r0B0E" 0 " invalid "
+ "16r0B0F" 0 " invalid "
+ "16r0B10" 0 " invalid "
+ "16r0B11" 0 " invalid "
+ "16r0B12" 0 " invalid "
+ "16r0B13" 0 " invalid "
+ "16r0B14" 0 " invalid "
+ "16r0B15" 0 " invalid "
+ "16r0B16" 0 " invalid "
+ "16r0B17" 0 " invalid "
+ "16r0B18" 0 " invalid "
+ "16r0B19" 0 " invalid "
+ "16r0B1A" 0 " invalid "
+ "16r0B1B" 0 " invalid "
+ "16r0B1C" 0 " invalid "
+ "16r0B1D" 0 " invalid "
+ "16r0B1E" 0 " invalid "
+ "16r0B1F" 0 " invalid "
+ "16r0B20" 0 " invalid "
+ "16r0B21" 0 " invalid "
+ "16r0B22" 0 " invalid "
+ "16r0B23" 0 " invalid "
+ "16r0B24" 0 " invalid "
+ "16r0B25" 0 " invalid "
+ "16r0B26" 0 " invalid "
+ "16r0B27" 0 " invalid "
+ "16r0B28" 0 " invalid "
+ "16r0B29" 0 " invalid "
+ "16r0B2A" 0 " invalid "
+ "16r0B2B" 0 " invalid "
+ "16r0B2C" 0 " invalid "
+ "16r0B2D" 0 " invalid "
+ "16r0B2E" 0 " invalid "
+ "16r0B2F" 0 " invalid "
+ "16r0B30" 0 " invalid "
+ "16r0B31" 0 " invalid "
+ "16r0B32" 0 " invalid "
+ "16r0B33" 0 " invalid "
+ "16r0B34" 0 " invalid "
+ "16r0B35" 0 " invalid "
+ "16r0B36" 0 " invalid "
+ "16r0B37" 0 " invalid "
+ "16r0B38" 0 " invalid "
+ "16r0B39" 0 " invalid "
+ "16r0B3A" 0 " invalid "
+ "16r0B3B" 0 " invalid "
+ "16r0B3C" 0 " invalid "
+ "16r0B3D" 0 " invalid "
+ "16r0B3E" 0 " invalid "
+ "16r0B3F" 0 " invalid "
+ "16r0B40" 0 " invalid "
+ "16r0B41" 0 " invalid "
+ "16r0B42" 0 " invalid "
+ "16r0B43" 0 " invalid "
+ "16r0B44" 0 " invalid "
+ "16r0B45" 0 " invalid "
+ "16r0B46" 0 " invalid "
+ "16r0B47" 0 " invalid "
+ "16r0B48" 0 " invalid "
+ "16r0B49" 0 " invalid "
+ "16r0B4A" 0 " invalid "
+ "16r0B4B" 0 " invalid "
+ "16r0B4C" 0 " invalid "
+ "16r0B4D" 0 " invalid "
+ "16r0B4E" 0 " invalid "
+ "16r0B4F" 0 " invalid "
+ "16r0B50" 0 " invalid "
+ "16r0B51" 0 " invalid "
+ "16r0B52" 0 " invalid "
+ "16r0B53" 0 " invalid "
+ "16r0B54" 0 " invalid "
+ "16r0B55" 0 " invalid "
+ "16r0B56" 0 " invalid "
+ "16r0B57" 0 " invalid "
+ "16r0B58" 0 " invalid "
+ "16r0B59" 0 " invalid "
+ "16r0B5A" 0 " invalid "
+ "16r0B5B" 0 " invalid "
+ "16r0B5C" 0 " invalid "
+ "16r0B5D" 0 " invalid "
+ "16r0B5E" 0 " invalid "
+ "16r0B5F" 0 " invalid "
+ "16r0B60" 0 " invalid "
+ "16r0B61" 0 " invalid "
+ "16r0B62" 0 " invalid "
+ "16r0B63" 0 " invalid "
+ "16r0B64" 0 " invalid "
+ "16r0B65" 0 " invalid "
+ "16r0B66" 0 " invalid "
+ "16r0B67" 0 " invalid "
+ "16r0B68" 0 " invalid "
+ "16r0B69" 0 " invalid "
+ "16r0B6A" 0 " invalid "
+ "16r0B6B" 0 " invalid "
+ "16r0B6C" 0 " invalid "
+ "16r0B6D" 0 " invalid "
+ "16r0B6E" 0 " invalid "
+ "16r0B6F" 0 " invalid "
+ "16r0B70" 0 " invalid "
+ "16r0B71" 0 " invalid "
+ "16r0B72" 0 " invalid "
+ "16r0B73" 0 " invalid "
+ "16r0B74" 0 " invalid "
+ "16r0B75" 0 " invalid "
+ "16r0B76" 0 " invalid "
+ "16r0B77" 0 " invalid "
+ "16r0B78" 0 " invalid "
+ "16r0B79" 0 " invalid "
+ "16r0B7A" 0 " invalid "
+ "16r0B7B" 0 " invalid "
+ "16r0B7C" 0 " invalid "
+ "16r0B7D" 0 " invalid "
+ "16r0B7E" 0 " invalid "
+ "16r0B7F" 0 " invalid "
+ "16r0B80" 0 " invalid "
+ "16r0B81" 0 " invalid "
+ "16r0B82" 0 " invalid "
+ "16r0B83" 0 " invalid "
+ "16r0B84" 0 " invalid "
+ "16r0B85" 0 " invalid "
+ "16r0B86" 0 " invalid "
+ "16r0B87" 0 " invalid "
+ "16r0B88" 0 " invalid "
+ "16r0B89" 0 " invalid "
+ "16r0B8A" 0 " invalid "
+ "16r0B8B" 0 " invalid "
+ "16r0B8C" 0 " invalid "
+ "16r0B8D" 0 " invalid "
+ "16r0B8E" 0 " invalid "
+ "16r0B8F" 0 " invalid "
+ "16r0B90" 0 " invalid "
+ "16r0B91" 0 " invalid "
+ "16r0B92" 0 " invalid "
+ "16r0B93" 0 " invalid "
+ "16r0B94" 0 " invalid "
+ "16r0B95" 0 " invalid "
+ "16r0B96" 0 " invalid "
+ "16r0B97" 0 " invalid "
+ "16r0B98" 0 " invalid "
+ "16r0B99" 0 " invalid "
+ "16r0B9A" 0 " invalid "
+ "16r0B9B" 0 " invalid "
+ "16r0B9C" 0 " invalid "
+ "16r0B9D" 0 " invalid "
+ "16r0B9E" 0 " invalid "
+ "16r0B9F" 0 " invalid "
+ "16r0BA0" 0 " invalid "
+ "16r0BA1" 0 " invalid "
+ "16r0BA2" 0 " invalid "
+ "16r0BA3" 0 " invalid "
+ "16r0BA4" 0 " invalid "
+ "16r0BA5" 0 " invalid "
+ "16r0BA6" 0 " invalid "
+ "16r0BA7" 0 " invalid "
+ "16r0BA8" 0 " invalid "
+ "16r0BA9" 0 " invalid "
+ "16r0BAA" 0 " invalid "
+ "16r0BAB" 0 " invalid "
+ "16r0BAC" 0 " invalid "
+ "16r0BAD" 0 " invalid "
+ "16r0BAE" 0 " invalid "
+ "16r0BAF" 0 " invalid "
+ "16r0BB0" 0 " invalid "
+ "16r0BB1" 0 " invalid "
+ "16r0BB2" 0 " invalid "
+ "16r0BB3" 0 " invalid "
+ "16r0BB4" 0 " invalid "
+ "16r0BB5" 0 " invalid "
+ "16r0BB6" 0 " invalid "
+ "16r0BB7" 0 " invalid "
+ "16r0BB8" 0 " invalid "
+ "16r0BB9" 0 " invalid "
+ "16r0BBA" 0 " invalid "
+ "16r0BBB" 0 " invalid "
+ "16r0BBC" 0 " invalid "
+ "16r0BBD" 0 " invalid "
+ "16r0BBE" 0 " invalid "
+ "16r0BBF" 0 " invalid "
+ "16r0BC0" 0 " invalid "
+ "16r0BC1" 0 " invalid "
+ "16r0BC2" 0 " invalid "
+ "16r0BC3" 0 " invalid "
+ "16r0BC4" 0 " invalid "
+ "16r0BC5" 0 " invalid "
+ "16r0BC6" 0 " invalid "
+ "16r0BC7" 0 " invalid "
+ "16r0BC8" 0 " invalid "
+ "16r0BC9" 0 " invalid "
+ "16r0BCA" 0 " invalid "
+ "16r0BCB" 0 " invalid "
+ "16r0BCC" 0 " invalid "
+ "16r0BCD" 0 " invalid "
+ "16r0BCE" 0 " invalid "
+ "16r0BCF" 0 " invalid "
+ "16r0BD0" 0 " invalid "
+ "16r0BD1" 0 " invalid "
+ "16r0BD2" 0 " invalid "
+ "16r0BD3" 0 " invalid "
+ "16r0BD4" 0 " invalid "
+ "16r0BD5" 0 " invalid "
+ "16r0BD6" 0 " invalid "
+ "16r0BD7" 0 " invalid "
+ "16r0BD8" 0 " invalid "
+ "16r0BD9" 0 " invalid "
+ "16r0BDA" 0 " invalid "
+ "16r0BDB" 0 " invalid "
+ "16r0BDC" 0 " invalid "
+ "16r0BDD" 0 " invalid "
+ "16r0BDE" 0 " invalid "
+ "16r0BDF" 0 " invalid "
+ "16r0BE0" 0 " invalid "
+ "16r0BE1" 0 " invalid "
+ "16r0BE2" 0 " invalid "
+ "16r0BE3" 0 " invalid "
+ "16r0BE4" 0 " invalid "
+ "16r0BE5" 0 " invalid "
+ "16r0BE6" 0 " invalid "
+ "16r0BE7" 0 " invalid "
+ "16r0BE8" 0 " invalid "
+ "16r0BE9" 0 " invalid "
+ "16r0BEA" 0 " invalid "
+ "16r0BEB" 0 " invalid "
+ "16r0BEC" 0 " invalid "
+ "16r0BED" 0 " invalid "
+ "16r0BEE" 0 " invalid "
+ "16r0BEF" 0 " invalid "
+ "16r0BF0" 0 " invalid "
+ "16r0BF1" 0 " invalid "
+ "16r0BF2" 0 " invalid "
+ "16r0BF3" 0 " invalid "
+ "16r0BF4" 0 " invalid "
+ "16r0BF5" 0 " invalid "
+ "16r0BF6" 0 " invalid "
+ "16r0BF7" 0 " invalid "
+ "16r0BF8" 0 " invalid "
+ "16r0BF9" 0 " invalid "
+ "16r0BFA" 0 " invalid "
+ "16r0BFB" 0 " invalid "
+ "16r0BFC" 0 " invalid "
+ "16r0BFD" 0 " invalid "
+ "16r0BFE" 0 " invalid "
+ "16r0BFF" 0 " invalid "
+ "16r0C00" 0 " invalid "
+ "16r0C01" 0 " invalid "
+ "16r0C02" 0 " invalid "
+ "16r0C03" 0 " invalid "
+ "16r0C04" 0 " invalid "
+ "16r0C05" 0 " invalid "
+ "16r0C06" 0 " invalid "
+ "16r0C07" 0 " invalid "
+ "16r0C08" 0 " invalid "
+ "16r0C09" 0 " invalid "
+ "16r0C0A" 0 " invalid "
+ "16r0C0B" 0 " invalid "
+ "16r0C0C" 0 " invalid "
+ "16r0C0D" 0 " invalid "
+ "16r0C0E" 0 " invalid "
+ "16r0C0F" 0 " invalid "
+ "16r0C10" 0 " invalid "
+ "16r0C11" 0 " invalid "
+ "16r0C12" 0 " invalid "
+ "16r0C13" 0 " invalid "
+ "16r0C14" 0 " invalid "
+ "16r0C15" 0 " invalid "
+ "16r0C16" 0 " invalid "
+ "16r0C17" 0 " invalid "
+ "16r0C18" 0 " invalid "
+ "16r0C19" 0 " invalid "
+ "16r0C1A" 0 " invalid "
+ "16r0C1B" 0 " invalid "
+ "16r0C1C" 0 " invalid "
+ "16r0C1D" 0 " invalid "
+ "16r0C1E" 0 " invalid "
+ "16r0C1F" 0 " invalid "
+ "16r0C20" 0 " invalid "
+ "16r0C21" 0 " invalid "
+ "16r0C22" 0 " invalid "
+ "16r0C23" 0 " invalid "
+ "16r0C24" 0 " invalid "
+ "16r0C25" 0 " invalid "
+ "16r0C26" 0 " invalid "
+ "16r0C27" 0 " invalid "
+ "16r0C28" 0 " invalid "
+ "16r0C29" 0 " invalid "
+ "16r0C2A" 0 " invalid "
+ "16r0C2B" 0 " invalid "
+ "16r0C2C" 0 " invalid "
+ "16r0C2D" 0 " invalid "
+ "16r0C2E" 0 " invalid "
+ "16r0C2F" 0 " invalid "
+ "16r0C30" 0 " invalid "
+ "16r0C31" 0 " invalid "
+ "16r0C32" 0 " invalid "
+ "16r0C33" 0 " invalid "
+ "16r0C34" 0 " invalid "
+ "16r0C35" 0 " invalid "
+ "16r0C36" 0 " invalid "
+ "16r0C37" 0 " invalid "
+ "16r0C38" 0 " invalid "
+ "16r0C39" 0 " invalid "
+ "16r0C3A" 0 " invalid "
+ "16r0C3B" 0 " invalid "
+ "16r0C3C" 0 " invalid "
+ "16r0C3D" 0 " invalid "
+ "16r0C3E" 0 " invalid "
+ "16r0C3F" 0 " invalid "
+ "16r0C40" 0 " invalid "
+ "16r0C41" 0 " invalid "
+ "16r0C42" 0 " invalid "
+ "16r0C43" 0 " invalid "
+ "16r0C44" 0 " invalid "
+ "16r0C45" 0 " invalid "
+ "16r0C46" 0 " invalid "
+ "16r0C47" 0 " invalid "
+ "16r0C48" 0 " invalid "
+ "16r0C49" 0 " invalid "
+ "16r0C4A" 0 " invalid "
+ "16r0C4B" 0 " invalid "
+ "16r0C4C" 0 " invalid "
+ "16r0C4D" 0 " invalid "
+ "16r0C4E" 0 " invalid "
+ "16r0C4F" 0 " invalid "
+ "16r0C50" 0 " invalid "
+ "16r0C51" 0 " invalid "
+ "16r0C52" 0 " invalid "
+ "16r0C53" 0 " invalid "
+ "16r0C54" 0 " invalid "
+ "16r0C55" 0 " invalid "
+ "16r0C56" 0 " invalid "
+ "16r0C57" 0 " invalid "
+ "16r0C58" 0 " invalid "
+ "16r0C59" 0 " invalid "
+ "16r0C5A" 0 " invalid "
+ "16r0C5B" 0 " invalid "
+ "16r0C5C" 0 " invalid "
+ "16r0C5D" 0 " invalid "
+ "16r0C5E" 0 " invalid "
+ "16r0C5F" 0 " invalid "
+ "16r0C60" 0 " invalid "
+ "16r0C61" 0 " invalid "
+ "16r0C62" 0 " invalid "
+ "16r0C63" 0 " invalid "
+ "16r0C64" 0 " invalid "
+ "16r0C65" 0 " invalid "
+ "16r0C66" 0 " invalid "
+ "16r0C67" 0 " invalid "
+ "16r0C68" 0 " invalid "
+ "16r0C69" 0 " invalid "
+ "16r0C6A" 0 " invalid "
+ "16r0C6B" 0 " invalid "
+ "16r0C6C" 0 " invalid "
+ "16r0C6D" 0 " invalid "
+ "16r0C6E" 0 " invalid "
+ "16r0C6F" 0 " invalid "
+ "16r0C70" 0 " invalid "
+ "16r0C71" 0 " invalid "
+ "16r0C72" 0 " invalid "
+ "16r0C73" 0 " invalid "
+ "16r0C74" 0 " invalid "
+ "16r0C75" 0 " invalid "
+ "16r0C76" 0 " invalid "
+ "16r0C77" 0 " invalid "
+ "16r0C78" 0 " invalid "
+ "16r0C79" 0 " invalid "
+ "16r0C7A" 0 " invalid "
+ "16r0C7B" 0 " invalid "
+ "16r0C7C" 0 " invalid "
+ "16r0C7D" 0 " invalid "
+ "16r0C7E" 0 " invalid "
+ "16r0C7F" 0 " invalid "
+ "16r0C80" 0 " invalid "
+ "16r0C81" 0 " invalid "
+ "16r0C82" 0 " invalid "
+ "16r0C83" 0 " invalid "
+ "16r0C84" 0 " invalid "
+ "16r0C85" 0 " invalid "
+ "16r0C86" 0 " invalid "
+ "16r0C87" 0 " invalid "
+ "16r0C88" 0 " invalid "
+ "16r0C89" 0 " invalid "
+ "16r0C8A" 0 " invalid "
+ "16r0C8B" 0 " invalid "
+ "16r0C8C" 0 " invalid "
+ "16r0C8D" 0 " invalid "
+ "16r0C8E" 0 " invalid "
+ "16r0C8F" 0 " invalid "
+ "16r0C90" 0 " invalid "
+ "16r0C91" 0 " invalid "
+ "16r0C92" 0 " invalid "
+ "16r0C93" 0 " invalid "
+ "16r0C94" 0 " invalid "
+ "16r0C95" 0 " invalid "
+ "16r0C96" 0 " invalid "
+ "16r0C97" 0 " invalid "
+ "16r0C98" 0 " invalid "
+ "16r0C99" 0 " invalid "
+ "16r0C9A" 0 " invalid "
+ "16r0C9B" 0 " invalid "
+ "16r0C9C" 0 " invalid "
+ "16r0C9D" 0 " invalid "
+ "16r0C9E" 0 " invalid "
+ "16r0C9F" 0 " invalid "
+ "16r0CA0" 0 " invalid "
+ "16r0CA1" 0 " invalid "
+ "16r0CA2" 0 " invalid "
+ "16r0CA3" 0 " invalid "
+ "16r0CA4" 0 " invalid "
+ "16r0CA5" 0 " invalid "
+ "16r0CA6" 0 " invalid "
+ "16r0CA7" 0 " invalid "
+ "16r0CA8" 0 " invalid "
+ "16r0CA9" 0 " invalid "
+ "16r0CAA" 0 " invalid "
+ "16r0CAB" 0 " invalid "
+ "16r0CAC" 0 " invalid "
+ "16r0CAD" 0 " invalid "
+ "16r0CAE" 0 " invalid "
+ "16r0CAF" 0 " invalid "
+ "16r0CB0" 0 " invalid "
+ "16r0CB1" 0 " invalid "
+ "16r0CB2" 0 " invalid "
+ "16r0CB3" 0 " invalid "
+ "16r0CB4" 0 " invalid "
+ "16r0CB5" 0 " invalid "
+ "16r0CB6" 0 " invalid "
+ "16r0CB7" 0 " invalid "
+ "16r0CB8" 0 " invalid "
+ "16r0CB9" 0 " invalid "
+ "16r0CBA" 0 " invalid "
+ "16r0CBB" 0 " invalid "
+ "16r0CBC" 0 " invalid "
+ "16r0CBD" 0 " invalid "
+ "16r0CBE" 0 " invalid "
+ "16r0CBF" 0 " invalid "
+ "16r0CC0" 0 " invalid "
+ "16r0CC1" 0 " invalid "
+ "16r0CC2" 0 " invalid "
+ "16r0CC3" 0 " invalid "
+ "16r0CC4" 0 " invalid "
+ "16r0CC5" 0 " invalid "
+ "16r0CC6" 0 " invalid "
+ "16r0CC7" 0 " invalid "
+ "16r0CC8" 0 " invalid "
+ "16r0CC9" 0 " invalid "
+ "16r0CCA" 0 " invalid "
+ "16r0CCB" 0 " invalid "
+ "16r0CCC" 0 " invalid "
+ "16r0CCD" 0 " invalid "
+ "16r0CCE" 0 " invalid "
+ "16r0CCF" 0 " invalid "
+ "16r0CD0" 0 " invalid "
+ "16r0CD1" 0 " invalid "
+ "16r0CD2" 0 " invalid "
+ "16r0CD3" 0 " invalid "
+ "16r0CD4" 0 " invalid "
+ "16r0CD5" 0 " invalid "
+ "16r0CD6" 0 " invalid "
+ "16r0CD7" 0 " invalid "
+ "16r0CD8" 0 " invalid "
+ "16r0CD9" 0 " invalid "
+ "16r0CDA" 0 " invalid "
+ "16r0CDB" 0 " invalid "
+ "16r0CDC" 0 " invalid "
+ "16r0CDD" 0 " invalid "
+ "16r0CDE" 0 " invalid "
+ "16r0CDF" 0 " invalid "
+ "16r0CE0" 0 " invalid "
+ "16r0CE1" 0 " invalid "
+ "16r0CE2" 0 " invalid "
+ "16r0CE3" 0 " invalid "
+ "16r0CE4" 0 " invalid "
+ "16r0CE5" 0 " invalid "
+ "16r0CE6" 0 " invalid "
+ "16r0CE7" 0 " invalid "
+ "16r0CE8" 0 " invalid "
+ "16r0CE9" 0 " invalid "
+ "16r0CEA" 0 " invalid "
+ "16r0CEB" 0 " invalid "
+ "16r0CEC" 0 " invalid "
+ "16r0CED" 0 " invalid "
+ "16r0CEE" 0 " invalid "
+ "16r0CEF" 0 " invalid "
+ "16r0CF0" 0 " invalid "
+ "16r0CF1" 0 " invalid "
+ "16r0CF2" 0 " invalid "
+ "16r0CF3" 0 " invalid "
+ "16r0CF4" 0 " invalid "
+ "16r0CF5" 0 " invalid "
+ "16r0CF6" 0 " invalid "
+ "16r0CF7" 0 " invalid "
+ "16r0CF8" 0 " invalid "
+ "16r0CF9" 0 " invalid "
+ "16r0CFA" 0 " invalid "
+ "16r0CFB" 0 " invalid "
+ "16r0CFC" 0 " invalid "
+ "16r0CFD" 0 " invalid "
+ "16r0CFE" 0 " invalid "
+ "16r0CFF" 0 " invalid "
+ "16r0D00" 0 " invalid "
+ "16r0D01" 0 " invalid "
+ "16r0D02" 0 " invalid "
+ "16r0D03" 0 " invalid "
+ "16r0D04" 0 " invalid "
+ "16r0D05" 0 " invalid "
+ "16r0D06" 0 " invalid "
+ "16r0D07" 0 " invalid "
+ "16r0D08" 0 " invalid "
+ "16r0D09" 0 " invalid "
+ "16r0D0A" 0 " invalid "
+ "16r0D0B" 0 " invalid "
+ "16r0D0C" 0 " invalid "
+ "16r0D0D" 0 " invalid "
+ "16r0D0E" 0 " invalid "
+ "16r0D0F" 0 " invalid "
+ "16r0D10" 0 " invalid "
+ "16r0D11" 0 " invalid "
+ "16r0D12" 0 " invalid "
+ "16r0D13" 0 " invalid "
+ "16r0D14" 0 " invalid "
+ "16r0D15" 0 " invalid "
+ "16r0D16" 0 " invalid "
+ "16r0D17" 0 " invalid "
+ "16r0D18" 0 " invalid "
+ "16r0D19" 0 " invalid "
+ "16r0D1A" 0 " invalid "
+ "16r0D1B" 0 " invalid "
+ "16r0D1C" 0 " invalid "
+ "16r0D1D" 0 " invalid "
+ "16r0D1E" 0 " invalid "
+ "16r0D1F" 0 " invalid "
+ "16r0D20" 0 " invalid "
+ "16r0D21" 0 " invalid "
+ "16r0D22" 0 " invalid "
+ "16r0D23" 0 " invalid "
+ "16r0D24" 0 " invalid "
+ "16r0D25" 0 " invalid "
+ "16r0D26" 0 " invalid "
+ "16r0D27" 0 " invalid "
+ "16r0D28" 0 " invalid "
+ "16r0D29" 0 " invalid "
+ "16r0D2A" 0 " invalid "
+ "16r0D2B" 0 " invalid "
+ "16r0D2C" 0 " invalid "
+ "16r0D2D" 0 " invalid "
+ "16r0D2E" 0 " invalid "
+ "16r0D2F" 0 " invalid "
+ "16r0D30" 0 " invalid "
+ "16r0D31" 0 " invalid "
+ "16r0D32" 0 " invalid "
+ "16r0D33" 0 " invalid "
+ "16r0D34" 0 " invalid "
+ "16r0D35" 0 " invalid "
+ "16r0D36" 0 " invalid "
+ "16r0D37" 0 " invalid "
+ "16r0D38" 0 " invalid "
+ "16r0D39" 0 " invalid "
+ "16r0D3A" 0 " invalid "
+ "16r0D3B" 0 " invalid "
+ "16r0D3C" 0 " invalid "
+ "16r0D3D" 0 " invalid "
+ "16r0D3E" 0 " invalid "
+ "16r0D3F" 0 " invalid "
+ "16r0D40" 0 " invalid "
+ "16r0D41" 0 " invalid "
+ "16r0D42" 0 " invalid "
+ "16r0D43" 0 " invalid "
+ "16r0D44" 0 " invalid "
+ "16r0D45" 0 " invalid "
+ "16r0D46" 0 " invalid "
+ "16r0D47" 0 " invalid "
+ "16r0D48" 0 " invalid "
+ "16r0D49" 0 " invalid "
+ "16r0D4A" 0 " invalid "
+ "16r0D4B" 0 " invalid "
+ "16r0D4C" 0 " invalid "
+ "16r0D4D" 0 " invalid "
+ "16r0D4E" 0 " invalid "
+ "16r0D4F" 0 " invalid "
+ "16r0D50" 0 " invalid "
+ "16r0D51" 0 " invalid "
+ "16r0D52" 0 " invalid "
+ "16r0D53" 0 " invalid "
+ "16r0D54" 0 " invalid "
+ "16r0D55" 0 " invalid "
+ "16r0D56" 0 " invalid "
+ "16r0D57" 0 " invalid "
+ "16r0D58" 0 " invalid "
+ "16r0D59" 0 " invalid "
+ "16r0D5A" 0 " invalid "
+ "16r0D5B" 0 " invalid "
+ "16r0D5C" 0 " invalid "
+ "16r0D5D" 0 " invalid "
+ "16r0D5E" 0 " invalid "
+ "16r0D5F" 0 " invalid "
+ "16r0D60" 0 " invalid "
+ "16r0D61" 0 " invalid "
+ "16r0D62" 0 " invalid "
+ "16r0D63" 0 " invalid "
+ "16r0D64" 0 " invalid "
+ "16r0D65" 0 " invalid "
+ "16r0D66" 0 " invalid "
+ "16r0D67" 0 " invalid "
+ "16r0D68" 0 " invalid "
+ "16r0D69" 0 " invalid "
+ "16r0D6A" 0 " invalid "
+ "16r0D6B" 0 " invalid "
+ "16r0D6C" 0 " invalid "
+ "16r0D6D" 0 " invalid "
+ "16r0D6E" 0 " invalid "
+ "16r0D6F" 0 " invalid "
+ "16r0D70" 0 " invalid "
+ "16r0D71" 0 " invalid "
+ "16r0D72" 0 " invalid "
+ "16r0D73" 0 " invalid "
+ "16r0D74" 0 " invalid "
+ "16r0D75" 0 " invalid "
+ "16r0D76" 0 " invalid "
+ "16r0D77" 0 " invalid "
+ "16r0D78" 0 " invalid "
+ "16r0D79" 0 " invalid "
+ "16r0D7A" 0 " invalid "
+ "16r0D7B" 0 " invalid "
+ "16r0D7C" 0 " invalid "
+ "16r0D7D" 0 " invalid "
+ "16r0D7E" 0 " invalid "
+ "16r0D7F" 0 " invalid "
+ "16r0D80" 0 " invalid "
+ "16r0D81" 0 " invalid "
+ "16r0D82" 0 " invalid "
+ "16r0D83" 0 " invalid "
+ "16r0D84" 0 " invalid "
+ "16r0D85" 0 " invalid "
+ "16r0D86" 0 " invalid "
+ "16r0D87" 0 " invalid "
+ "16r0D88" 0 " invalid "
+ "16r0D89" 0 " invalid "
+ "16r0D8A" 0 " invalid "
+ "16r0D8B" 0 " invalid "
+ "16r0D8C" 0 " invalid "
+ "16r0D8D" 0 " invalid "
+ "16r0D8E" 0 " invalid "
+ "16r0D8F" 0 " invalid "
+ "16r0D90" 0 " invalid "
+ "16r0D91" 0 " invalid "
+ "16r0D92" 0 " invalid "
+ "16r0D93" 0 " invalid "
+ "16r0D94" 0 " invalid "
+ "16r0D95" 0 " invalid "
+ "16r0D96" 0 " invalid "
+ "16r0D97" 0 " invalid "
+ "16r0D98" 0 " invalid "
+ "16r0D99" 0 " invalid "
+ "16r0D9A" 0 " invalid "
+ "16r0D9B" 0 " invalid "
+ "16r0D9C" 0 " invalid "
+ "16r0D9D" 0 " invalid "
+ "16r0D9E" 0 " invalid "
+ "16r0D9F" 0 " invalid "
+ "16r0DA0" 0 " invalid "
+ "16r0DA1" 0 " invalid "
+ "16r0DA2" 0 " invalid "
+ "16r0DA3" 0 " invalid "
+ "16r0DA4" 0 " invalid "
+ "16r0DA5" 0 " invalid "
+ "16r0DA6" 0 " invalid "
+ "16r0DA7" 0 " invalid "
+ "16r0DA8" 0 " invalid "
+ "16r0DA9" 0 " invalid "
+ "16r0DAA" 0 " invalid "
+ "16r0DAB" 0 " invalid "
+ "16r0DAC" 0 " invalid "
+ "16r0DAD" 0 " invalid "
+ "16r0DAE" 0 " invalid "
+ "16r0DAF" 0 " invalid "
+ "16r0DB0" 0 " invalid "
+ "16r0DB1" 0 " invalid "
+ "16r0DB2" 0 " invalid "
+ "16r0DB3" 0 " invalid "
+ "16r0DB4" 0 " invalid "
+ "16r0DB5" 0 " invalid "
+ "16r0DB6" 0 " invalid "
+ "16r0DB7" 0 " invalid "
+ "16r0DB8" 0 " invalid "
+ "16r0DB9" 0 " invalid "
+ "16r0DBA" 0 " invalid "
+ "16r0DBB" 0 " invalid "
+ "16r0DBC" 0 " invalid "
+ "16r0DBD" 0 " invalid "
+ "16r0DBE" 0 " invalid "
+ "16r0DBF" 0 " invalid "
+ "16r0DC0" 0 " invalid "
+ "16r0DC1" 0 " invalid "
+ "16r0DC2" 0 " invalid "
+ "16r0DC3" 0 " invalid "
+ "16r0DC4" 0 " invalid "
+ "16r0DC5" 0 " invalid "
+ "16r0DC6" 0 " invalid "
+ "16r0DC7" 0 " invalid "
+ "16r0DC8" 0 " invalid "
+ "16r0DC9" 0 " invalid "
+ "16r0DCA" 0 " invalid "
+ "16r0DCB" 0 " invalid "
+ "16r0DCC" 0 " invalid "
+ "16r0DCD" 0 " invalid "
+ "16r0DCE" 0 " invalid "
+ "16r0DCF" 0 " invalid "
+ "16r0DD0" 0 " invalid "
+ "16r0DD1" 0 " invalid "
+ "16r0DD2" 0 " invalid "
+ "16r0DD3" 0 " invalid "
+ "16r0DD4" 0 " invalid "
+ "16r0DD5" 0 " invalid "
+ "16r0DD6" 0 " invalid "
+ "16r0DD7" 0 " invalid "
+ "16r0DD8" 0 " invalid "
+ "16r0DD9" 0 " invalid "
+ "16r0DDA" 0 " invalid "
+ "16r0DDB" 0 " invalid "
+ "16r0DDC" 0 " invalid "
+ "16r0DDD" 0 " invalid "
+ "16r0DDE" 0 " invalid "
+ "16r0DDF" 0 " invalid "
+ "16r0DE0" 0 " invalid "
+ "16r0DE1" 0 " invalid "
+ "16r0DE2" 0 " invalid "
+ "16r0DE3" 0 " invalid "
+ "16r0DE4" 0 " invalid "
+ "16r0DE5" 0 " invalid "
+ "16r0DE6" 0 " invalid "
+ "16r0DE7" 0 " invalid "
+ "16r0DE8" 0 " invalid "
+ "16r0DE9" 0 " invalid "
+ "16r0DEA" 0 " invalid "
+ "16r0DEB" 0 " invalid "
+ "16r0DEC" 0 " invalid "
+ "16r0DED" 0 " invalid "
+ "16r0DEE" 0 " invalid "
+ "16r0DEF" 0 " invalid "
+ "16r0DF0" 0 " invalid "
+ "16r0DF1" 0 " invalid "
+ "16r0DF2" 0 " invalid "
+ "16r0DF3" 0 " invalid "
+ "16r0DF4" 0 " invalid "
+ "16r0DF5" 0 " invalid "
+ "16r0DF6" 0 " invalid "
+ "16r0DF7" 0 " invalid "
+ "16r0DF8" 0 " invalid "
+ "16r0DF9" 0 " invalid "
+ "16r0DFA" 0 " invalid "
+ "16r0DFB" 0 " invalid "
+ "16r0DFC" 0 " invalid "
+ "16r0DFD" 0 " invalid "
+ "16r0DFE" 0 " invalid "
+ "16r0DFF" 0 " invalid "
+ "16r0E00" 0 " invalid "
+ ] at:(unicode - 160)) ~~ 0 ifTrue:[^ unicode].
+ ^ self encodingError.
+ ].
+ [
+ |t|
+ t :=
+#[
+ "16r0E01" 16rA1 " THAI CHARACTER KO KAI "
+ "16r0E02" 16rA2 " THAI CHARACTER KHO KHAI "
+ "16r0E03" 16rA3 " THAI CHARACTER KHO KHUAT "
+ "16r0E04" 16rA4 " THAI CHARACTER KHO KHWAI "
+ "16r0E05" 16rA5 " THAI CHARACTER KHO KHON "
+ "16r0E06" 16rA6 " THAI CHARACTER KHO RAKHANG "
+ "16r0E07" 16rA7 " THAI CHARACTER NGO NGU "
+ "16r0E08" 16rA8 " THAI CHARACTER CHO CHAN "
+ "16r0E09" 16rA9 " THAI CHARACTER CHO CHING "
+ "16r0E0A" 16rAA " THAI CHARACTER CHO CHANG "
+ "16r0E0B" 16rAB " THAI CHARACTER SO SO "
+ "16r0E0C" 16rAC " THAI CHARACTER CHO CHOE "
+ "16r0E0D" 16rAD " THAI CHARACTER YO YING "
+ "16r0E0E" 16rAE " THAI CHARACTER DO CHADA "
+ "16r0E0F" 16rAF " THAI CHARACTER TO PATAK "
+ "16r0E10" 16rB0 " THAI CHARACTER THO THAN "
+ "16r0E11" 16rB1 " THAI CHARACTER THO NANGMONTHO "
+ "16r0E12" 16rB2 " THAI CHARACTER THO PHUTHAO "
+ "16r0E13" 16rB3 " THAI CHARACTER NO NEN "
+ "16r0E14" 16rB4 " THAI CHARACTER DO DEK "
+ "16r0E15" 16rB5 " THAI CHARACTER TO TAO "
+ "16r0E16" 16rB6 " THAI CHARACTER THO THUNG "
+ "16r0E17" 16rB7 " THAI CHARACTER THO THAHAN "
+ "16r0E18" 16rB8 " THAI CHARACTER THO THONG "
+ "16r0E19" 16rB9 " THAI CHARACTER NO NU "
+ "16r0E1A" 16rBA " THAI CHARACTER BO BAIMAI "
+ "16r0E1B" 16rBB " THAI CHARACTER PO PLA "
+ "16r0E1C" 16rBC " THAI CHARACTER PHO PHUNG "
+ "16r0E1D" 16rBD " THAI CHARACTER FO FA "
+ "16r0E1E" 16rBE " THAI CHARACTER PHO PHAN "
+ "16r0E1F" 16rBF " THAI CHARACTER FO FAN "
+ "16r0E20" 16rC0 " THAI CHARACTER PHO SAMPHAO "
+ "16r0E21" 16rC1 " THAI CHARACTER MO MA "
+ "16r0E22" 16rC2 " THAI CHARACTER YO YAK "
+ "16r0E23" 16rC3 " THAI CHARACTER RO RUA "
+ "16r0E24" 16rC4 " THAI CHARACTER RU "
+ "16r0E25" 16rC5 " THAI CHARACTER LO LING "
+ "16r0E26" 16rC6 " THAI CHARACTER LU "
+ "16r0E27" 16rC7 " THAI CHARACTER WO WAEN "
+ "16r0E28" 16rC8 " THAI CHARACTER SO SALA "
+ "16r0E29" 16rC9 " THAI CHARACTER SO RUSI "
+ "16r0E2A" 16rCA " THAI CHARACTER SO SUA "
+ "16r0E2B" 16rCB " THAI CHARACTER HO HIP "
+ "16r0E2C" 16rCC " THAI CHARACTER LO CHULA "
+ "16r0E2D" 16rCD " THAI CHARACTER O ANG "
+ "16r0E2E" 16rCE " THAI CHARACTER HO NOKHUK "
+ "16r0E2F" 16rCF " THAI CHARACTER PAIYANNOI "
+ "16r0E30" 16rD0 " THAI CHARACTER SARA A "
+ "16r0E31" 16rD1 " THAI CHARACTER MAI HAN-AKAT "
+ "16r0E32" 16rD2 " THAI CHARACTER SARA AA "
+ "16r0E33" 16rD3 " THAI CHARACTER SARA AM "
+ "16r0E34" 16rD4 " THAI CHARACTER SARA I "
+ "16r0E35" 16rD5 " THAI CHARACTER SARA II "
+ "16r0E36" 16rD6 " THAI CHARACTER SARA UE "
+ "16r0E37" 16rD7 " THAI CHARACTER SARA UEE "
+ "16r0E38" 16rD8 " THAI CHARACTER SARA U "
+ "16r0E39" 16rD9 " THAI CHARACTER SARA UU "
+ "16r0E3A" 16rDA " THAI CHARACTER PHINTHU "
+ "16r0E3B" 16r00 " invalid "
+ "16r0E3C" 16r00 " invalid "
+ "16r0E3D" 16r00 " invalid "
+ "16r0E3E" 16r00 " invalid "
+ "16r0E3F" 16rDF " THAI CURRENCY SYMBOL BAHT "
+ "16r0E40" 16rE0 " THAI CHARACTER SARA E "
+ "16r0E41" 16rE1 " THAI CHARACTER SARA AE "
+ "16r0E42" 16rE2 " THAI CHARACTER SARA O "
+ "16r0E43" 16rE3 " THAI CHARACTER SARA AI MAIMUAN "
+ "16r0E44" 16rE4 " THAI CHARACTER SARA AI MAIMALAI "
+ "16r0E45" 16rE5 " THAI CHARACTER LAKKHANGYAO "
+ "16r0E46" 16rE6 " THAI CHARACTER MAIYAMOK "
+ "16r0E47" 16rE7 " THAI CHARACTER MAITAIKHU "
+ "16r0E48" 16rE8 " THAI CHARACTER MAI EK "
+ "16r0E49" 16rE9 " THAI CHARACTER MAI THO "
+ "16r0E4A" 16rEA " THAI CHARACTER MAI TRI "
+ "16r0E4B" 16rEB " THAI CHARACTER MAI CHATTAWA "
+ "16r0E4C" 16rEC " THAI CHARACTER THANTHAKHAT "
+ "16r0E4D" 16rED " THAI CHARACTER NIKHAHIT "
+ "16r0E4E" 16rEE " THAI CHARACTER YAMAKKAN "
+ "16r0E4F" 16rEF " THAI CHARACTER FONGMAN "
+ "16r0E50" 16rF0 " THAI DIGIT ZERO "
+ "16r0E51" 16rF1 " THAI DIGIT ONE "
+ "16r0E52" 16rF2 " THAI DIGIT TWO "
+ "16r0E53" 16rF3 " THAI DIGIT THREE "
+ "16r0E54" 16rF4 " THAI DIGIT FOUR "
+ "16r0E55" 16rF5 " THAI DIGIT FIVE "
+ "16r0E56" 16rF6 " THAI DIGIT SIX "
+ "16r0E57" 16rF7 " THAI DIGIT SEVEN "
+ "16r0E58" 16rF8 " THAI DIGIT EIGHT "
+ "16r0E59" 16rF9 " THAI DIGIT NINE "
+ "16r0E5A" 16rFA " THAI CHARACTER ANGKHANKHU "
+ "16r0E5B" 16rFB " THAI CHARACTER KHOMUT "
+ ] at:(unicode - 3584).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
! !
!CharacterEncoder::ISO8859_13 class methodsFor:'mapping'!
@@ -2532,21 +14139,22 @@
"
!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-13.TXT'
+mappingURL1_relativePathName
+ ^ 'ISO8859/8859-13.TXT'
! !
!CharacterEncoder::ISO8859_13 methodsFor:'encoding & decoding'!
decode:code
- "automatically generated by generateEncoderCode"
+ "decode from my encoding into unicode.
+ Do not modify - automatically generated by generateCode"
code < 161 ifTrue:[ ^ code ].
code > 255 ifTrue:[
- self error:'invalid code'.
- ^ $? asciiValue
- ].
- ^ #(
+ ^ self decodingError.
+ ].
+ ^
+#(
"16r00A1" 16r201D " RIGHT DOUBLE QUOTATION MARK "
"16r00A2" 16r00A2 " CENT SIGN "
"16r00A3" 16r00A3 " POUND SIGN "
@@ -2642,7 +14250,266 @@
"16r00FD" 16r017C " LATIN SMALL LETTER Z WITH DOT ABOVE "
"16r00FE" 16r017E " LATIN SMALL LETTER Z WITH CARON "
"16r00FF" 16r2019 " RIGHT SINGLE QUOTATION MARK "
- ) at:(code - 160)
+ ) at:(code - 160).
+!
+
+encode:unicode
+ "encode from unicode into my encoding.
+ Do not modify - automatically generated by generateCode"
+
+ unicode < 161 ifTrue:[ ^ unicode ].
+ unicode > 8222 ifTrue:[
+ ^ self encodingError.
+ ].
+ unicode < 383 ifTrue:[
+ [
+ |t|
+ t :=
+#[
+ "16r00A1" 16r00 " invalid "
+ "16r00A2" 16rA2 " CENT SIGN "
+ "16r00A3" 16rA3 " POUND SIGN "
+ "16r00A4" 16rA4 " CURRENCY SIGN "
+ "16r00A5" 16r00 " invalid "
+ "16r00A6" 16rA6 " BROKEN BAR "
+ "16r00A7" 16rA7 " SECTION SIGN "
+ "16r00A8" 16r00 " invalid "
+ "16r00A9" 16rA9 " COPYRIGHT SIGN "
+ "16r00AA" 16r00 " invalid "
+ "16r00AB" 16rAB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00AC" 16rAC " NOT SIGN "
+ "16r00AD" 16rAD " SOFT HYPHEN "
+ "16r00AE" 16rAE " REGISTERED SIGN "
+ "16r00AF" 16r00 " invalid "
+ "16r00B0" 16rB0 " DEGREE SIGN "
+ "16r00B1" 16rB1 " PLUS-MINUS SIGN "
+ "16r00B2" 16rB2 " SUPERSCRIPT TWO "
+ "16r00B3" 16rB3 " SUPERSCRIPT THREE "
+ "16r00B4" 16r00 " invalid "
+ "16r00B5" 16rB5 " MICRO SIGN "
+ "16r00B6" 16rB6 " PILCROW SIGN "
+ "16r00B7" 16rB7 " MIDDLE DOT "
+ "16r00B8" 16r00 " invalid "
+ "16r00B9" 16rB9 " SUPERSCRIPT ONE "
+ "16r00BA" 16r00 " invalid "
+ "16r00BB" 16rBB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00BC" 16rBC " VULGAR FRACTION ONE QUARTER "
+ "16r00BD" 16rBD " VULGAR FRACTION ONE HALF "
+ "16r00BE" 16rBE " VULGAR FRACTION THREE QUARTERS "
+ "16r00BF" 16r00 " invalid "
+ "16r00C0" 16r00 " invalid "
+ "16r00C1" 16r00 " invalid "
+ "16r00C2" 16r00 " invalid "
+ "16r00C3" 16r00 " invalid "
+ "16r00C4" 16rC4 " LATIN CAPITAL LETTER A WITH DIAERESIS "
+ "16r00C5" 16rC5 " LATIN CAPITAL LETTER A WITH RING ABOVE "
+ "16r00C6" 16rAF " LATIN CAPITAL LETTER AE "
+ "16r00C7" 16r00 " invalid "
+ "16r00C8" 16r00 " invalid "
+ "16r00C9" 16rC9 " LATIN CAPITAL LETTER E WITH ACUTE "
+ "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" 16rD3 " LATIN CAPITAL LETTER O WITH ACUTE "
+ "16r00D4" 16r00 " invalid "
+ "16r00D5" 16rD5 " LATIN CAPITAL LETTER O WITH TILDE "
+ "16r00D6" 16rD6 " LATIN CAPITAL LETTER O WITH DIAERESIS "
+ "16r00D7" 16rD7 " MULTIPLICATION SIGN "
+ "16r00D8" 16rA8 " LATIN CAPITAL LETTER O WITH STROKE "
+ "16r00D9" 16r00 " invalid "
+ "16r00DA" 16r00 " invalid "
+ "16r00DB" 16r00 " invalid "
+ "16r00DC" 16rDC " LATIN CAPITAL LETTER U WITH DIAERESIS "
+ "16r00DD" 16r00 " invalid "
+ "16r00DE" 16r00 " invalid "
+ "16r00DF" 16rDF " LATIN SMALL LETTER SHARP S (German) "
+ "16r00E0" 16r00 " invalid "
+ "16r00E1" 16r00 " invalid "
+ "16r00E2" 16r00 " invalid "
+ "16r00E3" 16r00 " invalid "
+ "16r00E4" 16rE4 " LATIN SMALL LETTER A WITH DIAERESIS "
+ "16r00E5" 16rE5 " LATIN SMALL LETTER A WITH RING ABOVE "
+ "16r00E6" 16rBF " LATIN SMALL LETTER AE "
+ "16r00E7" 16r00 " invalid "
+ "16r00E8" 16r00 " invalid "
+ "16r00E9" 16rE9 " LATIN SMALL LETTER E WITH ACUTE "
+ "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" 16rF3 " LATIN SMALL LETTER O WITH ACUTE "
+ "16r00F4" 16r00 " invalid "
+ "16r00F5" 16rF5 " LATIN SMALL LETTER O WITH TILDE "
+ "16r00F6" 16rF6 " LATIN SMALL LETTER O WITH DIAERESIS "
+ "16r00F7" 16rF7 " DIVISION SIGN "
+ "16r00F8" 16rB8 " LATIN SMALL LETTER O WITH STROKE "
+ "16r00F9" 16r00 " invalid "
+ "16r00FA" 16r00 " invalid "
+ "16r00FB" 16r00 " invalid "
+ "16r00FC" 16rFC " LATIN SMALL LETTER U WITH DIAERESIS "
+ "16r00FD" 16r00 " invalid "
+ "16r00FE" 16r00 " invalid "
+ "16r00FF" 16r00 " invalid "
+ "16r0100" 16rC2 " LATIN CAPITAL LETTER A WITH MACRON "
+ "16r0101" 16rE2 " LATIN SMALL LETTER A WITH MACRON "
+ "16r0102" 16r00 " invalid "
+ "16r0103" 16r00 " invalid "
+ "16r0104" 16rC0 " LATIN CAPITAL LETTER A WITH OGONEK "
+ "16r0105" 16rE0 " LATIN SMALL LETTER A WITH OGONEK "
+ "16r0106" 16rC3 " LATIN CAPITAL LETTER C WITH ACUTE "
+ "16r0107" 16rE3 " LATIN SMALL LETTER C WITH ACUTE "
+ "16r0108" 16r00 " invalid "
+ "16r0109" 16r00 " invalid "
+ "16r010A" 16r00 " invalid "
+ "16r010B" 16r00 " invalid "
+ "16r010C" 16rC8 " LATIN CAPITAL LETTER C WITH CARON "
+ "16r010D" 16rE8 " LATIN SMALL LETTER C WITH CARON "
+ "16r010E" 16r00 " invalid "
+ "16r010F" 16r00 " invalid "
+ "16r0110" 16r00 " invalid "
+ "16r0111" 16r00 " invalid "
+ "16r0112" 16rC7 " LATIN CAPITAL LETTER E WITH MACRON "
+ "16r0113" 16rE7 " LATIN SMALL LETTER E WITH MACRON "
+ "16r0114" 16r00 " invalid "
+ "16r0115" 16r00 " invalid "
+ "16r0116" 16rCB " LATIN CAPITAL LETTER E WITH DOT ABOVE "
+ "16r0117" 16rEB " LATIN SMALL LETTER E WITH DOT ABOVE "
+ "16r0118" 16rC6 " LATIN CAPITAL LETTER E WITH OGONEK "
+ "16r0119" 16rE6 " LATIN SMALL LETTER E WITH OGONEK "
+ "16r011A" 16r00 " invalid "
+ "16r011B" 16r00 " invalid "
+ "16r011C" 16r00 " invalid "
+ "16r011D" 16r00 " invalid "
+ "16r011E" 16r00 " invalid "
+ "16r011F" 16r00 " invalid "
+ "16r0120" 16r00 " invalid "
+ "16r0121" 16r00 " invalid "
+ "16r0122" 16rCC " LATIN CAPITAL LETTER G WITH CEDILLA "
+ "16r0123" 16rEC " LATIN SMALL LETTER G WITH CEDILLA "
+ "16r0124" 16r00 " invalid "
+ "16r0125" 16r00 " invalid "
+ "16r0126" 16r00 " invalid "
+ "16r0127" 16r00 " invalid "
+ "16r0128" 16r00 " invalid "
+ "16r0129" 16r00 " invalid "
+ "16r012A" 16rCE " LATIN CAPITAL LETTER I WITH MACRON "
+ "16r012B" 16rEE " LATIN SMALL LETTER I WITH MACRON "
+ "16r012C" 16r00 " invalid "
+ "16r012D" 16r00 " invalid "
+ "16r012E" 16rC1 " LATIN CAPITAL LETTER I WITH OGONEK "
+ "16r012F" 16rE1 " LATIN SMALL LETTER I WITH OGONEK "
+ "16r0130" 16r00 " invalid "
+ "16r0131" 16r00 " invalid "
+ "16r0132" 16r00 " invalid "
+ "16r0133" 16r00 " invalid "
+ "16r0134" 16r00 " invalid "
+ "16r0135" 16r00 " invalid "
+ "16r0136" 16rCD " LATIN CAPITAL LETTER K WITH CEDILLA "
+ "16r0137" 16rED " LATIN SMALL LETTER K WITH CEDILLA "
+ "16r0138" 16r00 " invalid "
+ "16r0139" 16r00 " invalid "
+ "16r013A" 16r00 " invalid "
+ "16r013B" 16rCF " LATIN CAPITAL LETTER L WITH CEDILLA "
+ "16r013C" 16rEF " LATIN SMALL LETTER L WITH CEDILLA "
+ "16r013D" 16r00 " invalid "
+ "16r013E" 16r00 " invalid "
+ "16r013F" 16r00 " invalid "
+ "16r0140" 16r00 " invalid "
+ "16r0141" 16rD9 " LATIN CAPITAL LETTER L WITH STROKE "
+ "16r0142" 16rF9 " LATIN SMALL LETTER L WITH STROKE "
+ "16r0143" 16rD1 " LATIN CAPITAL LETTER N WITH ACUTE "
+ "16r0144" 16rF1 " LATIN SMALL LETTER N WITH ACUTE "
+ "16r0145" 16rD2 " LATIN CAPITAL LETTER N WITH CEDILLA "
+ "16r0146" 16rF2 " LATIN SMALL LETTER N WITH CEDILLA "
+ "16r0147" 16r00 " invalid "
+ "16r0148" 16r00 " invalid "
+ "16r0149" 16r00 " invalid "
+ "16r014A" 16r00 " invalid "
+ "16r014B" 16r00 " invalid "
+ "16r014C" 16rD4 " LATIN CAPITAL LETTER O WITH MACRON "
+ "16r014D" 16rF4 " LATIN SMALL LETTER O WITH MACRON "
+ "16r014E" 16r00 " invalid "
+ "16r014F" 16r00 " invalid "
+ "16r0150" 16r00 " invalid "
+ "16r0151" 16r00 " invalid "
+ "16r0152" 16r00 " invalid "
+ "16r0153" 16r00 " invalid "
+ "16r0154" 16r00 " invalid "
+ "16r0155" 16r00 " invalid "
+ "16r0156" 16rAA " LATIN CAPITAL LETTER R WITH CEDILLA "
+ "16r0157" 16rBA " LATIN SMALL LETTER R WITH CEDILLA "
+ "16r0158" 16r00 " invalid "
+ "16r0159" 16r00 " invalid "
+ "16r015A" 16rDA " LATIN CAPITAL LETTER S WITH ACUTE "
+ "16r015B" 16rFA " LATIN SMALL LETTER S WITH ACUTE "
+ "16r015C" 16r00 " invalid "
+ "16r015D" 16r00 " invalid "
+ "16r015E" 16r00 " invalid "
+ "16r015F" 16r00 " invalid "
+ "16r0160" 16rD0 " LATIN CAPITAL LETTER S WITH CARON "
+ "16r0161" 16rF0 " LATIN SMALL LETTER S WITH CARON "
+ "16r0162" 16r00 " invalid "
+ "16r0163" 16r00 " invalid "
+ "16r0164" 16r00 " invalid "
+ "16r0165" 16r00 " invalid "
+ "16r0166" 16r00 " invalid "
+ "16r0167" 16r00 " invalid "
+ "16r0168" 16r00 " invalid "
+ "16r0169" 16r00 " invalid "
+ "16r016A" 16rDB " LATIN CAPITAL LETTER U WITH MACRON "
+ "16r016B" 16rFB " LATIN SMALL LETTER U WITH MACRON "
+ "16r016C" 16r00 " invalid "
+ "16r016D" 16r00 " invalid "
+ "16r016E" 16r00 " invalid "
+ "16r016F" 16r00 " invalid "
+ "16r0170" 16r00 " invalid "
+ "16r0171" 16r00 " invalid "
+ "16r0172" 16rD8 " LATIN CAPITAL LETTER U WITH OGONEK "
+ "16r0173" 16rF8 " LATIN SMALL LETTER U WITH OGONEK "
+ "16r0174" 16r00 " invalid "
+ "16r0175" 16r00 " invalid "
+ "16r0176" 16r00 " invalid "
+ "16r0177" 16r00 " invalid "
+ "16r0178" 16r00 " invalid "
+ "16r0179" 16rCA " LATIN CAPITAL LETTER Z WITH ACUTE "
+ "16r017A" 16rEA " LATIN SMALL LETTER Z WITH ACUTE "
+ "16r017B" 16rDD " LATIN CAPITAL LETTER Z WITH DOT ABOVE "
+ "16r017C" 16rFD " LATIN SMALL LETTER Z WITH DOT ABOVE "
+ "16r017D" 16rDE " LATIN CAPITAL LETTER Z WITH CARON "
+ "16r017E" 16rFE " LATIN SMALL LETTER Z WITH CARON "
+ ] at:(unicode - 160).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 8216 ifTrue:[
+ ^ self encodingError.
+ ].
+ [
+ |t|
+ t :=
+#[
+ "16r2019" 16rFF " RIGHT SINGLE QUOTATION MARK "
+ "16r201A" 16r00 " invalid "
+ "16r201B" 16r00 " invalid "
+ "16r201C" 16rB4 " LEFT DOUBLE QUOTATION MARK "
+ "16r201D" 16rA1 " RIGHT DOUBLE QUOTATION MARK "
+ "16r201E" 16rA5 " DOUBLE LOW-9 QUOTATION MARK "
+ ] at:(unicode - 8216).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
! !
!CharacterEncoder::ISO8859_14 class methodsFor:'mapping'!
@@ -2956,21 +14823,22 @@
"
!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-14.TXT'
+mappingURL1_relativePathName
+ ^ 'ISO8859/8859-14.TXT'
! !
!CharacterEncoder::ISO8859_14 methodsFor:'encoding & decoding'!
decode:code
- "automatically generated by generateEncoderCode"
+ "decode from my encoding into unicode.
+ Do not modify - automatically generated by generateCode"
code < 161 ifTrue:[ ^ code ].
code > 255 ifTrue:[
- self error:'invalid code'.
- ^ $? asciiValue
- ].
- ^ #(
+ ^ self decodingError.
+ ].
+ ^
+#(
"16r00A1" 16r1E02 " LATIN CAPITAL LETTER B WITH DOT ABOVE "
"16r00A2" 16r1E03 " LATIN SMALL LETTER B WITH DOT ABOVE "
"16r00A3" 16r00A3 " POUND SIGN "
@@ -3065,7 +14933,327 @@
"16r00FC" 16r00FC " LATIN SMALL LETTER U WITH DIAERESIS "
"16r00FD" 16r00FD " LATIN SMALL LETTER Y WITH ACUTE "
"16r00FE" 16r0177 " LATIN SMALL LETTER Y WITH CIRCUMFLEX "
- ) at:(code - 160)
+ ) at:(code - 160).
+!
+
+encode:unicode
+ "encode from unicode into my encoding.
+ Do not modify - automatically generated by generateCode"
+
+ unicode < 161 ifTrue:[ ^ unicode ].
+ unicode > 7923 ifTrue:[
+ ^ self encodingError.
+ ].
+ unicode < 266 ifTrue:[
+ (#[
+ "16r00A1" 0 " invalid "
+ "16r00A2" 0 " invalid "
+ "16r00A3" 1 " POUND SIGN "
+ "16r00A4" 0 " invalid "
+ "16r00A5" 0 " invalid "
+ "16r00A6" 0 " invalid "
+ "16r00A7" 1 " SECTION SIGN "
+ "16r00A8" 0 " invalid "
+ "16r00A9" 1 " COPYRIGHT SIGN "
+ "16r00AA" 0 " invalid "
+ "16r00AB" 0 " invalid "
+ "16r00AC" 0 " invalid "
+ "16r00AD" 1 " SOFT HYPHEN "
+ "16r00AE" 1 " REGISTERED SIGN "
+ "16r00AF" 0 " invalid "
+ "16r00B0" 0 " invalid "
+ "16r00B1" 0 " invalid "
+ "16r00B2" 0 " invalid "
+ "16r00B3" 0 " invalid "
+ "16r00B4" 0 " invalid "
+ "16r00B5" 0 " invalid "
+ "16r00B6" 1 " PILCROW SIGN "
+ "16r00B7" 0 " invalid "
+ "16r00B8" 0 " invalid "
+ "16r00B9" 0 " invalid "
+ "16r00BA" 0 " invalid "
+ "16r00BB" 0 " invalid "
+ "16r00BC" 0 " invalid "
+ "16r00BD" 0 " invalid "
+ "16r00BE" 0 " invalid "
+ "16r00BF" 0 " invalid "
+ "16r00C0" 1 " LATIN CAPITAL LETTER A WITH GRAVE "
+ "16r00C1" 1 " LATIN CAPITAL LETTER A WITH ACUTE "
+ "16r00C2" 1 " LATIN CAPITAL LETTER A WITH CIRCUMFLEX "
+ "16r00C3" 1 " LATIN CAPITAL LETTER A WITH TILDE "
+ "16r00C4" 1 " LATIN CAPITAL LETTER A WITH DIAERESIS "
+ "16r00C5" 1 " LATIN CAPITAL LETTER A WITH RING ABOVE "
+ "16r00C6" 1 " LATIN CAPITAL LETTER AE "
+ "16r00C7" 1 " LATIN CAPITAL LETTER C WITH CEDILLA "
+ "16r00C8" 1 " LATIN CAPITAL LETTER E WITH GRAVE "
+ "16r00C9" 1 " LATIN CAPITAL LETTER E WITH ACUTE "
+ "16r00CA" 1 " LATIN CAPITAL LETTER E WITH CIRCUMFLEX "
+ "16r00CB" 1 " LATIN CAPITAL LETTER E WITH DIAERESIS "
+ "16r00CC" 1 " LATIN CAPITAL LETTER I WITH GRAVE "
+ "16r00CD" 1 " LATIN CAPITAL LETTER I WITH ACUTE "
+ "16r00CE" 1 " LATIN CAPITAL LETTER I WITH CIRCUMFLEX "
+ "16r00CF" 1 " LATIN CAPITAL LETTER I WITH DIAERESIS "
+ "16r00D0" 0 " invalid "
+ "16r00D1" 1 " LATIN CAPITAL LETTER N WITH TILDE "
+ "16r00D2" 1 " LATIN CAPITAL LETTER O WITH GRAVE "
+ "16r00D3" 1 " LATIN CAPITAL LETTER O WITH ACUTE "
+ "16r00D4" 1 " LATIN CAPITAL LETTER O WITH CIRCUMFLEX "
+ "16r00D5" 1 " LATIN CAPITAL LETTER O WITH TILDE "
+ "16r00D6" 1 " LATIN CAPITAL LETTER O WITH DIAERESIS "
+ "16r00D7" 0 " invalid "
+ "16r00D8" 1 " LATIN CAPITAL LETTER O WITH STROKE "
+ "16r00D9" 1 " LATIN CAPITAL LETTER U WITH GRAVE "
+ "16r00DA" 1 " LATIN CAPITAL LETTER U WITH ACUTE "
+ "16r00DB" 1 " LATIN CAPITAL LETTER U WITH CIRCUMFLEX "
+ "16r00DC" 1 " LATIN CAPITAL LETTER U WITH DIAERESIS "
+ "16r00DD" 1 " LATIN CAPITAL LETTER Y WITH ACUTE "
+ "16r00DE" 0 " invalid "
+ "16r00DF" 1 " LATIN SMALL LETTER SHARP S "
+ "16r00E0" 1 " LATIN SMALL LETTER A WITH GRAVE "
+ "16r00E1" 1 " LATIN SMALL LETTER A WITH ACUTE "
+ "16r00E2" 1 " LATIN SMALL LETTER A WITH CIRCUMFLEX "
+ "16r00E3" 1 " LATIN SMALL LETTER A WITH TILDE "
+ "16r00E4" 1 " LATIN SMALL LETTER A WITH DIAERESIS "
+ "16r00E5" 1 " LATIN SMALL LETTER A WITH RING ABOVE "
+ "16r00E6" 1 " LATIN SMALL LETTER AE "
+ "16r00E7" 1 " LATIN SMALL LETTER C WITH CEDILLA "
+ "16r00E8" 1 " LATIN SMALL LETTER E WITH GRAVE "
+ "16r00E9" 1 " LATIN SMALL LETTER E WITH ACUTE "
+ "16r00EA" 1 " LATIN SMALL LETTER E WITH CIRCUMFLEX "
+ "16r00EB" 1 " LATIN SMALL LETTER E WITH DIAERESIS "
+ "16r00EC" 1 " LATIN SMALL LETTER I WITH GRAVE "
+ "16r00ED" 1 " LATIN SMALL LETTER I WITH ACUTE "
+ "16r00EE" 1 " LATIN SMALL LETTER I WITH CIRCUMFLEX "
+ "16r00EF" 1 " LATIN SMALL LETTER I WITH DIAERESIS "
+ "16r00F0" 0 " invalid "
+ "16r00F1" 1 " LATIN SMALL LETTER N WITH TILDE "
+ "16r00F2" 1 " LATIN SMALL LETTER O WITH GRAVE "
+ "16r00F3" 1 " LATIN SMALL LETTER O WITH ACUTE "
+ "16r00F4" 1 " LATIN SMALL LETTER O WITH CIRCUMFLEX "
+ "16r00F5" 1 " LATIN SMALL LETTER O WITH TILDE "
+ "16r00F6" 1 " LATIN SMALL LETTER O WITH DIAERESIS "
+ "16r00F7" 0 " invalid "
+ "16r00F8" 1 " LATIN SMALL LETTER O WITH STROKE "
+ "16r00F9" 1 " LATIN SMALL LETTER U WITH GRAVE "
+ "16r00FA" 1 " LATIN SMALL LETTER U WITH ACUTE "
+ "16r00FB" 1 " LATIN SMALL LETTER U WITH CIRCUMFLEX "
+ "16r00FC" 1 " LATIN SMALL LETTER U WITH DIAERESIS "
+ "16r00FD" 1 " LATIN SMALL LETTER Y WITH ACUTE "
+ "16r00FE" 0 " invalid "
+ "16r00FF" 1 " LATIN SMALL LETTER Y WITH DIAERESIS "
+ "16r0100" 0 " invalid "
+ "16r0101" 0 " invalid "
+ "16r0102" 0 " invalid "
+ "16r0103" 0 " invalid "
+ "16r0104" 0 " invalid "
+ "16r0105" 0 " invalid "
+ "16r0106" 0 " invalid "
+ "16r0107" 0 " invalid "
+ "16r0108" 0 " invalid "
+ "16r0109" 0 " invalid "
+ ] at:(unicode - 160)) ~~ 0 ifTrue:[^ unicode].
+ ^ self encodingError.
+ ].
+ unicode < 377 ifTrue:[
+ unicode < 290 ifTrue:[
+ [
+ |t|
+ t :=
+#[
+ "16r010A" 16rA4 " LATIN CAPITAL LETTER C WITH DOT ABOVE "
+ "16r010B" 16rA5 " LATIN SMALL LETTER C WITH DOT ABOVE "
+ "16r010C" 16r00 " invalid "
+ "16r010D" 16r00 " invalid "
+ "16r010E" 16r00 " invalid "
+ "16r010F" 16r00 " invalid "
+ "16r0110" 16r00 " invalid "
+ "16r0111" 16r00 " invalid "
+ "16r0112" 16r00 " invalid "
+ "16r0113" 16r00 " invalid "
+ "16r0114" 16r00 " invalid "
+ "16r0115" 16r00 " invalid "
+ "16r0116" 16r00 " invalid "
+ "16r0117" 16r00 " invalid "
+ "16r0118" 16r00 " invalid "
+ "16r0119" 16r00 " invalid "
+ "16r011A" 16r00 " invalid "
+ "16r011B" 16r00 " invalid "
+ "16r011C" 16r00 " invalid "
+ "16r011D" 16r00 " invalid "
+ "16r011E" 16r00 " invalid "
+ "16r011F" 16r00 " invalid "
+ "16r0120" 16rB2 " LATIN CAPITAL LETTER G WITH DOT ABOVE "
+ "16r0121" 16rB3 " LATIN SMALL LETTER G WITH DOT ABOVE "
+ ] at:(unicode - 265).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 371 ifTrue:[
+ ^ self encodingError.
+ ].
+ ^
+#[
+ "16r0174" 16rD0 " LATIN CAPITAL LETTER W WITH CIRCUMFLEX "
+ "16r0175" 16rF0 " LATIN SMALL LETTER W WITH CIRCUMFLEX "
+ "16r0176" 16rDE " LATIN CAPITAL LETTER Y WITH CIRCUMFLEX "
+ "16r0177" 16rFE " LATIN SMALL LETTER Y WITH CIRCUMFLEX "
+ "16r0178" 16rAF " LATIN CAPITAL LETTER Y WITH DIAERESIS "
+ ] at:(unicode - 371).
+ ].
+ unicode <= 7681 ifTrue:[
+ ^ self encodingError.
+ ].
+ unicode < 7814 ifTrue:[
+ [
+ |t|
+ t :=
+#[
+ "16r1E02" 16rA1 " LATIN CAPITAL LETTER B WITH DOT ABOVE "
+ "16r1E03" 16rA2 " LATIN SMALL LETTER B WITH DOT ABOVE "
+ "16r1E04" 16r00 " invalid "
+ "16r1E05" 16r00 " invalid "
+ "16r1E06" 16r00 " invalid "
+ "16r1E07" 16r00 " invalid "
+ "16r1E08" 16r00 " invalid "
+ "16r1E09" 16r00 " invalid "
+ "16r1E0A" 16rA6 " LATIN CAPITAL LETTER D WITH DOT ABOVE "
+ "16r1E0B" 16rAB " LATIN SMALL LETTER D WITH DOT ABOVE "
+ "16r1E0C" 16r00 " invalid "
+ "16r1E0D" 16r00 " invalid "
+ "16r1E0E" 16r00 " invalid "
+ "16r1E0F" 16r00 " invalid "
+ "16r1E10" 16r00 " invalid "
+ "16r1E11" 16r00 " invalid "
+ "16r1E12" 16r00 " invalid "
+ "16r1E13" 16r00 " invalid "
+ "16r1E14" 16r00 " invalid "
+ "16r1E15" 16r00 " invalid "
+ "16r1E16" 16r00 " invalid "
+ "16r1E17" 16r00 " invalid "
+ "16r1E18" 16r00 " invalid "
+ "16r1E19" 16r00 " invalid "
+ "16r1E1A" 16r00 " invalid "
+ "16r1E1B" 16r00 " invalid "
+ "16r1E1C" 16r00 " invalid "
+ "16r1E1D" 16r00 " invalid "
+ "16r1E1E" 16rB0 " LATIN CAPITAL LETTER F WITH DOT ABOVE "
+ "16r1E1F" 16rB1 " LATIN SMALL LETTER F WITH DOT ABOVE "
+ "16r1E20" 16r00 " invalid "
+ "16r1E21" 16r00 " invalid "
+ "16r1E22" 16r00 " invalid "
+ "16r1E23" 16r00 " invalid "
+ "16r1E24" 16r00 " invalid "
+ "16r1E25" 16r00 " invalid "
+ "16r1E26" 16r00 " invalid "
+ "16r1E27" 16r00 " invalid "
+ "16r1E28" 16r00 " invalid "
+ "16r1E29" 16r00 " invalid "
+ "16r1E2A" 16r00 " invalid "
+ "16r1E2B" 16r00 " invalid "
+ "16r1E2C" 16r00 " invalid "
+ "16r1E2D" 16r00 " invalid "
+ "16r1E2E" 16r00 " invalid "
+ "16r1E2F" 16r00 " invalid "
+ "16r1E30" 16r00 " invalid "
+ "16r1E31" 16r00 " invalid "
+ "16r1E32" 16r00 " invalid "
+ "16r1E33" 16r00 " invalid "
+ "16r1E34" 16r00 " invalid "
+ "16r1E35" 16r00 " invalid "
+ "16r1E36" 16r00 " invalid "
+ "16r1E37" 16r00 " invalid "
+ "16r1E38" 16r00 " invalid "
+ "16r1E39" 16r00 " invalid "
+ "16r1E3A" 16r00 " invalid "
+ "16r1E3B" 16r00 " invalid "
+ "16r1E3C" 16r00 " invalid "
+ "16r1E3D" 16r00 " invalid "
+ "16r1E3E" 16r00 " invalid "
+ "16r1E3F" 16r00 " invalid "
+ "16r1E40" 16rB4 " LATIN CAPITAL LETTER M WITH DOT ABOVE "
+ "16r1E41" 16rB5 " LATIN SMALL LETTER M WITH DOT ABOVE "
+ "16r1E42" 16r00 " invalid "
+ "16r1E43" 16r00 " invalid "
+ "16r1E44" 16r00 " invalid "
+ "16r1E45" 16r00 " invalid "
+ "16r1E46" 16r00 " invalid "
+ "16r1E47" 16r00 " invalid "
+ "16r1E48" 16r00 " invalid "
+ "16r1E49" 16r00 " invalid "
+ "16r1E4A" 16r00 " invalid "
+ "16r1E4B" 16r00 " invalid "
+ "16r1E4C" 16r00 " invalid "
+ "16r1E4D" 16r00 " invalid "
+ "16r1E4E" 16r00 " invalid "
+ "16r1E4F" 16r00 " invalid "
+ "16r1E50" 16r00 " invalid "
+ "16r1E51" 16r00 " invalid "
+ "16r1E52" 16r00 " invalid "
+ "16r1E53" 16r00 " invalid "
+ "16r1E54" 16r00 " invalid "
+ "16r1E55" 16r00 " invalid "
+ "16r1E56" 16rB7 " LATIN CAPITAL LETTER P WITH DOT ABOVE "
+ "16r1E57" 16rB9 " LATIN SMALL LETTER P WITH DOT ABOVE "
+ "16r1E58" 16r00 " invalid "
+ "16r1E59" 16r00 " invalid "
+ "16r1E5A" 16r00 " invalid "
+ "16r1E5B" 16r00 " invalid "
+ "16r1E5C" 16r00 " invalid "
+ "16r1E5D" 16r00 " invalid "
+ "16r1E5E" 16r00 " invalid "
+ "16r1E5F" 16r00 " invalid "
+ "16r1E60" 16rBB " LATIN CAPITAL LETTER S WITH DOT ABOVE "
+ "16r1E61" 16rBF " LATIN SMALL LETTER S WITH DOT ABOVE "
+ "16r1E62" 16r00 " invalid "
+ "16r1E63" 16r00 " invalid "
+ "16r1E64" 16r00 " invalid "
+ "16r1E65" 16r00 " invalid "
+ "16r1E66" 16r00 " invalid "
+ "16r1E67" 16r00 " invalid "
+ "16r1E68" 16r00 " invalid "
+ "16r1E69" 16r00 " invalid "
+ "16r1E6A" 16rD7 " LATIN CAPITAL LETTER T WITH DOT ABOVE "
+ "16r1E6B" 16rF7 " LATIN SMALL LETTER T WITH DOT ABOVE "
+ "16r1E6C" 16r00 " invalid "
+ "16r1E6D" 16r00 " invalid "
+ "16r1E6E" 16r00 " invalid "
+ "16r1E6F" 16r00 " invalid "
+ "16r1E70" 16r00 " invalid "
+ "16r1E71" 16r00 " invalid "
+ "16r1E72" 16r00 " invalid "
+ "16r1E73" 16r00 " invalid "
+ "16r1E74" 16r00 " invalid "
+ "16r1E75" 16r00 " invalid "
+ "16r1E76" 16r00 " invalid "
+ "16r1E77" 16r00 " invalid "
+ "16r1E78" 16r00 " invalid "
+ "16r1E79" 16r00 " invalid "
+ "16r1E7A" 16r00 " invalid "
+ "16r1E7B" 16r00 " invalid "
+ "16r1E7C" 16r00 " invalid "
+ "16r1E7D" 16r00 " invalid "
+ "16r1E7E" 16r00 " invalid "
+ "16r1E7F" 16r00 " invalid "
+ "16r1E80" 16rA8 " LATIN CAPITAL LETTER W WITH GRAVE "
+ "16r1E81" 16rB8 " LATIN SMALL LETTER W WITH GRAVE "
+ "16r1E82" 16rAA " LATIN CAPITAL LETTER W WITH ACUTE "
+ "16r1E83" 16rBA " LATIN SMALL LETTER W WITH ACUTE "
+ "16r1E84" 16rBD " LATIN CAPITAL LETTER W WITH DIAERESIS "
+ "16r1E85" 16rBE " LATIN SMALL LETTER W WITH DIAERESIS "
+ ] at:(unicode - 7681).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 7921 ifTrue:[
+ ^ self encodingError.
+ ].
+ ^
+#[
+ "16r1EF2" 16rAC " LATIN CAPITAL LETTER Y WITH GRAVE "
+ "16r1EF3" 16rBC " LATIN SMALL LETTER Y WITH GRAVE "
+ ] at:(unicode - 7921).
! !
!CharacterEncoder::ISO8859_15 class methodsFor:'mapping'!
@@ -3381,21 +15569,28 @@
"
!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-15.TXT'
+mappingURL1_relativePathName
+ ^ 'ISO8859/8859-15.TXT'
+! !
+
+!CharacterEncoder::ISO8859_15 class methodsFor:'queries'!
+
+alternativeNamesOfEncoding
+ ^ #( 'latin-9' 'iso-ir-203')
! !
!CharacterEncoder::ISO8859_15 methodsFor:'encoding & decoding'!
decode:code
- "automatically generated by generateEncoderCode"
+ "decode from my encoding into unicode.
+ Do not modify - automatically generated by generateCode"
code < 164 ifTrue:[ ^ code ].
code > 255 ifTrue:[
- self error:'invalid code'.
- ^ $? asciiValue
- ].
- ^ #(
+ ^ self decodingError.
+ ].
+ ^
+#(
"16r00A4" 16r20AC " EURO SIGN "
"16r00A5" 16r00A5 " YEN SIGN "
"16r00A6" 16r0160 " LATIN CAPITAL LETTER S WITH CARON "
@@ -3423,7 +15618,258 @@
"16r00BC" 16r0152 " LATIN CAPITAL LIGATURE OE "
"16r00BD" 16r0153 " LATIN SMALL LIGATURE OE "
"16r00BE" 16r0178 " LATIN CAPITAL LETTER Y WITH DIAERESIS "
- ) at:(code - 163)
+ ) at:(code - 163).
+!
+
+encode:unicode
+ "encode from unicode into my encoding.
+ Do not modify - automatically generated by generateCode"
+
+ unicode < 164 ifTrue:[ ^ unicode ].
+ unicode > 8364 ifTrue:[
+ ^ self encodingError.
+ ].
+ unicode < 338 ifTrue:[
+ (#[
+ "16r00A4" 0 " invalid "
+ "16r00A5" 1 " YEN SIGN "
+ "16r00A6" 0 " invalid "
+ "16r00A7" 1 " SECTION SIGN "
+ "16r00A8" 0 " invalid "
+ "16r00A9" 1 " COPYRIGHT SIGN "
+ "16r00AA" 1 " FEMININE ORDINAL INDICATOR "
+ "16r00AB" 1 " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00AC" 1 " NOT SIGN "
+ "16r00AD" 1 " SOFT HYPHEN "
+ "16r00AE" 1 " REGISTERED SIGN "
+ "16r00AF" 1 " MACRON "
+ "16r00B0" 1 " DEGREE SIGN "
+ "16r00B1" 1 " PLUS-MINUS SIGN "
+ "16r00B2" 1 " SUPERSCRIPT TWO "
+ "16r00B3" 1 " SUPERSCRIPT THREE "
+ "16r00B4" 0 " invalid "
+ "16r00B5" 1 " MICRO SIGN "
+ "16r00B6" 1 " PILCROW SIGN "
+ "16r00B7" 1 " MIDDLE DOT "
+ "16r00B8" 0 " invalid "
+ "16r00B9" 1 " SUPERSCRIPT ONE "
+ "16r00BA" 1 " MASCULINE ORDINAL INDICATOR "
+ "16r00BB" 1 " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00BC" 0 " invalid "
+ "16r00BD" 0 " invalid "
+ "16r00BE" 0 " invalid "
+ "16r00BF" 1 " INVERTED QUESTION MARK "
+ "16r00C0" 1 " LATIN CAPITAL LETTER A WITH GRAVE "
+ "16r00C1" 1 " LATIN CAPITAL LETTER A WITH ACUTE "
+ "16r00C2" 1 " LATIN CAPITAL LETTER A WITH CIRCUMFLEX "
+ "16r00C3" 1 " LATIN CAPITAL LETTER A WITH TILDE "
+ "16r00C4" 1 " LATIN CAPITAL LETTER A WITH DIAERESIS "
+ "16r00C5" 1 " LATIN CAPITAL LETTER A WITH RING ABOVE "
+ "16r00C6" 1 " LATIN CAPITAL LETTER AE "
+ "16r00C7" 1 " LATIN CAPITAL LETTER C WITH CEDILLA "
+ "16r00C8" 1 " LATIN CAPITAL LETTER E WITH GRAVE "
+ "16r00C9" 1 " LATIN CAPITAL LETTER E WITH ACUTE "
+ "16r00CA" 1 " LATIN CAPITAL LETTER E WITH CIRCUMFLEX "
+ "16r00CB" 1 " LATIN CAPITAL LETTER E WITH DIAERESIS "
+ "16r00CC" 1 " LATIN CAPITAL LETTER I WITH GRAVE "
+ "16r00CD" 1 " LATIN CAPITAL LETTER I WITH ACUTE "
+ "16r00CE" 1 " LATIN CAPITAL LETTER I WITH CIRCUMFLEX "
+ "16r00CF" 1 " LATIN CAPITAL LETTER I WITH DIAERESIS "
+ "16r00D0" 1 " LATIN CAPITAL LETTER ETH "
+ "16r00D1" 1 " LATIN CAPITAL LETTER N WITH TILDE "
+ "16r00D2" 1 " LATIN CAPITAL LETTER O WITH GRAVE "
+ "16r00D3" 1 " LATIN CAPITAL LETTER O WITH ACUTE "
+ "16r00D4" 1 " LATIN CAPITAL LETTER O WITH CIRCUMFLEX "
+ "16r00D5" 1 " LATIN CAPITAL LETTER O WITH TILDE "
+ "16r00D6" 1 " LATIN CAPITAL LETTER O WITH DIAERESIS "
+ "16r00D7" 1 " MULTIPLICATION SIGN "
+ "16r00D8" 1 " LATIN CAPITAL LETTER O WITH STROKE "
+ "16r00D9" 1 " LATIN CAPITAL LETTER U WITH GRAVE "
+ "16r00DA" 1 " LATIN CAPITAL LETTER U WITH ACUTE "
+ "16r00DB" 1 " LATIN CAPITAL LETTER U WITH CIRCUMFLEX "
+ "16r00DC" 1 " LATIN CAPITAL LETTER U WITH DIAERESIS "
+ "16r00DD" 1 " LATIN CAPITAL LETTER Y WITH ACUTE "
+ "16r00DE" 1 " LATIN CAPITAL LETTER THORN "
+ "16r00DF" 1 " LATIN SMALL LETTER SHARP S "
+ "16r00E0" 1 " LATIN SMALL LETTER A WITH GRAVE "
+ "16r00E1" 1 " LATIN SMALL LETTER A WITH ACUTE "
+ "16r00E2" 1 " LATIN SMALL LETTER A WITH CIRCUMFLEX "
+ "16r00E3" 1 " LATIN SMALL LETTER A WITH TILDE "
+ "16r00E4" 1 " LATIN SMALL LETTER A WITH DIAERESIS "
+ "16r00E5" 1 " LATIN SMALL LETTER A WITH RING ABOVE "
+ "16r00E6" 1 " LATIN SMALL LETTER AE "
+ "16r00E7" 1 " LATIN SMALL LETTER C WITH CEDILLA "
+ "16r00E8" 1 " LATIN SMALL LETTER E WITH GRAVE "
+ "16r00E9" 1 " LATIN SMALL LETTER E WITH ACUTE "
+ "16r00EA" 1 " LATIN SMALL LETTER E WITH CIRCUMFLEX "
+ "16r00EB" 1 " LATIN SMALL LETTER E WITH DIAERESIS "
+ "16r00EC" 1 " LATIN SMALL LETTER I WITH GRAVE "
+ "16r00ED" 1 " LATIN SMALL LETTER I WITH ACUTE "
+ "16r00EE" 1 " LATIN SMALL LETTER I WITH CIRCUMFLEX "
+ "16r00EF" 1 " LATIN SMALL LETTER I WITH DIAERESIS "
+ "16r00F0" 1 " LATIN SMALL LETTER ETH "
+ "16r00F1" 1 " LATIN SMALL LETTER N WITH TILDE "
+ "16r00F2" 1 " LATIN SMALL LETTER O WITH GRAVE "
+ "16r00F3" 1 " LATIN SMALL LETTER O WITH ACUTE "
+ "16r00F4" 1 " LATIN SMALL LETTER O WITH CIRCUMFLEX "
+ "16r00F5" 1 " LATIN SMALL LETTER O WITH TILDE "
+ "16r00F6" 1 " LATIN SMALL LETTER O WITH DIAERESIS "
+ "16r00F7" 1 " DIVISION SIGN "
+ "16r00F8" 1 " LATIN SMALL LETTER O WITH STROKE "
+ "16r00F9" 1 " LATIN SMALL LETTER U WITH GRAVE "
+ "16r00FA" 1 " LATIN SMALL LETTER U WITH ACUTE "
+ "16r00FB" 1 " LATIN SMALL LETTER U WITH CIRCUMFLEX "
+ "16r00FC" 1 " LATIN SMALL LETTER U WITH DIAERESIS "
+ "16r00FD" 1 " LATIN SMALL LETTER Y WITH ACUTE "
+ "16r00FE" 1 " LATIN SMALL LETTER THORN "
+ "16r00FF" 1 " LATIN SMALL LETTER Y WITH DIAERESIS "
+ "16r0100" 0 " invalid "
+ "16r0101" 0 " invalid "
+ "16r0102" 0 " invalid "
+ "16r0103" 0 " invalid "
+ "16r0104" 0 " invalid "
+ "16r0105" 0 " invalid "
+ "16r0106" 0 " invalid "
+ "16r0107" 0 " invalid "
+ "16r0108" 0 " invalid "
+ "16r0109" 0 " invalid "
+ "16r010A" 0 " invalid "
+ "16r010B" 0 " invalid "
+ "16r010C" 0 " invalid "
+ "16r010D" 0 " invalid "
+ "16r010E" 0 " invalid "
+ "16r010F" 0 " invalid "
+ "16r0110" 0 " invalid "
+ "16r0111" 0 " invalid "
+ "16r0112" 0 " invalid "
+ "16r0113" 0 " invalid "
+ "16r0114" 0 " invalid "
+ "16r0115" 0 " invalid "
+ "16r0116" 0 " invalid "
+ "16r0117" 0 " invalid "
+ "16r0118" 0 " invalid "
+ "16r0119" 0 " invalid "
+ "16r011A" 0 " invalid "
+ "16r011B" 0 " invalid "
+ "16r011C" 0 " invalid "
+ "16r011D" 0 " invalid "
+ "16r011E" 0 " invalid "
+ "16r011F" 0 " invalid "
+ "16r0120" 0 " invalid "
+ "16r0121" 0 " invalid "
+ "16r0122" 0 " invalid "
+ "16r0123" 0 " invalid "
+ "16r0124" 0 " invalid "
+ "16r0125" 0 " invalid "
+ "16r0126" 0 " invalid "
+ "16r0127" 0 " invalid "
+ "16r0128" 0 " invalid "
+ "16r0129" 0 " invalid "
+ "16r012A" 0 " invalid "
+ "16r012B" 0 " invalid "
+ "16r012C" 0 " invalid "
+ "16r012D" 0 " invalid "
+ "16r012E" 0 " invalid "
+ "16r012F" 0 " invalid "
+ "16r0130" 0 " invalid "
+ "16r0131" 0 " invalid "
+ "16r0132" 0 " invalid "
+ "16r0133" 0 " invalid "
+ "16r0134" 0 " invalid "
+ "16r0135" 0 " invalid "
+ "16r0136" 0 " invalid "
+ "16r0137" 0 " invalid "
+ "16r0138" 0 " invalid "
+ "16r0139" 0 " invalid "
+ "16r013A" 0 " invalid "
+ "16r013B" 0 " invalid "
+ "16r013C" 0 " invalid "
+ "16r013D" 0 " invalid "
+ "16r013E" 0 " invalid "
+ "16r013F" 0 " invalid "
+ "16r0140" 0 " invalid "
+ "16r0141" 0 " invalid "
+ "16r0142" 0 " invalid "
+ "16r0143" 0 " invalid "
+ "16r0144" 0 " invalid "
+ "16r0145" 0 " invalid "
+ "16r0146" 0 " invalid "
+ "16r0147" 0 " invalid "
+ "16r0148" 0 " invalid "
+ "16r0149" 0 " invalid "
+ "16r014A" 0 " invalid "
+ "16r014B" 0 " invalid "
+ "16r014C" 0 " invalid "
+ "16r014D" 0 " invalid "
+ "16r014E" 0 " invalid "
+ "16r014F" 0 " invalid "
+ "16r0150" 0 " invalid "
+ "16r0151" 0 " invalid "
+ ] at:(unicode - 163)) ~~ 0 ifTrue:[^ unicode].
+ ^ self encodingError.
+ ].
+ unicode < 383 ifTrue:[
+ [
+ |t|
+ t :=
+#[
+ "16r0152" 16rBC " LATIN CAPITAL LIGATURE OE "
+ "16r0153" 16rBD " LATIN SMALL LIGATURE OE "
+ "16r0154" 16r00 " invalid "
+ "16r0155" 16r00 " invalid "
+ "16r0156" 16r00 " invalid "
+ "16r0157" 16r00 " invalid "
+ "16r0158" 16r00 " invalid "
+ "16r0159" 16r00 " invalid "
+ "16r015A" 16r00 " invalid "
+ "16r015B" 16r00 " invalid "
+ "16r015C" 16r00 " invalid "
+ "16r015D" 16r00 " invalid "
+ "16r015E" 16r00 " invalid "
+ "16r015F" 16r00 " invalid "
+ "16r0160" 16rA6 " LATIN CAPITAL LETTER S WITH CARON "
+ "16r0161" 16rA8 " LATIN SMALL LETTER S WITH CARON "
+ "16r0162" 16r00 " invalid "
+ "16r0163" 16r00 " invalid "
+ "16r0164" 16r00 " invalid "
+ "16r0165" 16r00 " invalid "
+ "16r0166" 16r00 " invalid "
+ "16r0167" 16r00 " invalid "
+ "16r0168" 16r00 " invalid "
+ "16r0169" 16r00 " invalid "
+ "16r016A" 16r00 " invalid "
+ "16r016B" 16r00 " invalid "
+ "16r016C" 16r00 " invalid "
+ "16r016D" 16r00 " invalid "
+ "16r016E" 16r00 " invalid "
+ "16r016F" 16r00 " invalid "
+ "16r0170" 16r00 " invalid "
+ "16r0171" 16r00 " invalid "
+ "16r0172" 16r00 " invalid "
+ "16r0173" 16r00 " invalid "
+ "16r0174" 16r00 " invalid "
+ "16r0175" 16r00 " invalid "
+ "16r0176" 16r00 " invalid "
+ "16r0177" 16r00 " invalid "
+ "16r0178" 16rBE " LATIN CAPITAL LETTER Y WITH DIAERESIS "
+ "16r0179" 16r00 " invalid "
+ "16r017A" 16r00 " invalid "
+ "16r017B" 16r00 " invalid "
+ "16r017C" 16r00 " invalid "
+ "16r017D" 16rB4 " LATIN CAPITAL LETTER Z WITH CARON "
+ "16r017E" 16rB8 " LATIN SMALL LETTER Z WITH CARON "
+ ] at:(unicode - 337).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 8363 ifTrue:[
+ ^ self encodingError.
+ ].
+ ^
+#[
+ "16r20AC" 16rA4 " EURO SIGN "
+ ] at:(unicode - 8363).
! !
!CharacterEncoder::ISO8859_16 class methodsFor:'mapping'!
@@ -3735,21 +16181,22 @@
"
!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-16.TXT'
+mappingURL1_relativePathName
+ ^ 'ISO8859/8859-16.TXT'
! !
!CharacterEncoder::ISO8859_16 methodsFor:'encoding & decoding'!
decode:code
- "automatically generated by generateEncoderCode"
+ "decode from my encoding into unicode.
+ Do not modify - automatically generated by generateCode"
code < 161 ifTrue:[ ^ code ].
code > 255 ifTrue:[
- self error:'invalid code'.
- ^ $? asciiValue
- ].
- ^ #(
+ ^ self decodingError.
+ ].
+ ^
+#(
"16r00A1" 16r0104 " LATIN CAPITAL LETTER A WITH OGONEK "
"16r00A2" 16r0105 " LATIN SMALL LETTER A WITH OGONEK "
"16r00A3" 16r0141 " LATIN CAPITAL LETTER L WITH STROKE "
@@ -3844,13 +16291,293 @@
"16r00FC" 16r00FC " LATIN SMALL LETTER U WITH DIAERESIS "
"16r00FD" 16r0119 " LATIN SMALL LETTER E WITH OGONEK "
"16r00FE" 16r021B " LATIN SMALL LETTER T WITH COMMA BELOW "
- ) at:(code - 160)
+ ) at:(code - 160).
+!
+
+encode:unicode
+ "encode from unicode into my encoding.
+ Do not modify - automatically generated by generateCode"
+
+ unicode < 161 ifTrue:[ ^ unicode ].
+ unicode > 8364 ifTrue:[
+ ^ self encodingError.
+ ].
+ unicode < 258 ifTrue:[
+ (#[
+ "16r00A1" 0 " invalid "
+ "16r00A2" 0 " invalid "
+ "16r00A3" 0 " invalid "
+ "16r00A4" 0 " invalid "
+ "16r00A5" 0 " invalid "
+ "16r00A6" 0 " invalid "
+ "16r00A7" 1 " SECTION SIGN "
+ "16r00A8" 0 " invalid "
+ "16r00A9" 1 " COPYRIGHT SIGN "
+ "16r00AA" 0 " invalid "
+ "16r00AB" 1 " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00AC" 0 " invalid "
+ "16r00AD" 1 " SOFT HYPHEN "
+ "16r00AE" 0 " invalid "
+ "16r00AF" 0 " invalid "
+ "16r00B0" 1 " DEGREE SIGN "
+ "16r00B1" 1 " PLUS-MINUS SIGN "
+ "16r00B2" 0 " invalid "
+ "16r00B3" 0 " invalid "
+ "16r00B4" 0 " invalid "
+ "16r00B5" 0 " invalid "
+ "16r00B6" 1 " PILCROW SIGN "
+ "16r00B7" 1 " MIDDLE DOT "
+ "16r00B8" 0 " invalid "
+ "16r00B9" 0 " invalid "
+ "16r00BA" 0 " invalid "
+ "16r00BB" 1 " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00BC" 0 " invalid "
+ "16r00BD" 0 " invalid "
+ "16r00BE" 0 " invalid "
+ "16r00BF" 0 " invalid "
+ "16r00C0" 1 " LATIN CAPITAL LETTER A WITH GRAVE "
+ "16r00C1" 1 " LATIN CAPITAL LETTER A WITH ACUTE "
+ "16r00C2" 1 " LATIN CAPITAL LETTER A WITH CIRCUMFLEX "
+ "16r00C3" 0 " invalid "
+ "16r00C4" 1 " LATIN CAPITAL LETTER A WITH DIAERESIS "
+ "16r00C5" 0 " invalid "
+ "16r00C6" 1 " LATIN CAPITAL LETTER AE "
+ "16r00C7" 1 " LATIN CAPITAL LETTER C WITH CEDILLA "
+ "16r00C8" 1 " LATIN CAPITAL LETTER E WITH GRAVE "
+ "16r00C9" 1 " LATIN CAPITAL LETTER E WITH ACUTE "
+ "16r00CA" 1 " LATIN CAPITAL LETTER E WITH CIRCUMFLEX "
+ "16r00CB" 1 " LATIN CAPITAL LETTER E WITH DIAERESIS "
+ "16r00CC" 1 " LATIN CAPITAL LETTER I WITH GRAVE "
+ "16r00CD" 1 " LATIN CAPITAL LETTER I WITH ACUTE "
+ "16r00CE" 1 " LATIN CAPITAL LETTER I WITH CIRCUMFLEX "
+ "16r00CF" 1 " LATIN CAPITAL LETTER I WITH DIAERESIS "
+ "16r00D0" 0 " invalid "
+ "16r00D1" 0 " invalid "
+ "16r00D2" 1 " LATIN CAPITAL LETTER O WITH GRAVE "
+ "16r00D3" 1 " LATIN CAPITAL LETTER O WITH ACUTE "
+ "16r00D4" 1 " LATIN CAPITAL LETTER O WITH CIRCUMFLEX "
+ "16r00D5" 0 " invalid "
+ "16r00D6" 1 " LATIN CAPITAL LETTER O WITH DIAERESIS "
+ "16r00D7" 0 " invalid "
+ "16r00D8" 0 " invalid "
+ "16r00D9" 1 " LATIN CAPITAL LETTER U WITH GRAVE "
+ "16r00DA" 1 " LATIN CAPITAL LETTER U WITH ACUTE "
+ "16r00DB" 1 " LATIN CAPITAL LETTER U WITH CIRCUMFLEX "
+ "16r00DC" 1 " LATIN CAPITAL LETTER U WITH DIAERESIS "
+ "16r00DD" 0 " invalid "
+ "16r00DE" 0 " invalid "
+ "16r00DF" 1 " LATIN SMALL LETTER SHARP S "
+ "16r00E0" 1 " LATIN SMALL LETTER A WITH GRAVE "
+ "16r00E1" 1 " LATIN SMALL LETTER A WITH ACUTE "
+ "16r00E2" 1 " LATIN SMALL LETTER A WITH CIRCUMFLEX "
+ "16r00E3" 0 " invalid "
+ "16r00E4" 1 " LATIN SMALL LETTER A WITH DIAERESIS "
+ "16r00E5" 0 " invalid "
+ "16r00E6" 1 " LATIN SMALL LETTER AE "
+ "16r00E7" 1 " LATIN SMALL LETTER C WITH CEDILLA "
+ "16r00E8" 1 " LATIN SMALL LETTER E WITH GRAVE "
+ "16r00E9" 1 " LATIN SMALL LETTER E WITH ACUTE "
+ "16r00EA" 1 " LATIN SMALL LETTER E WITH CIRCUMFLEX "
+ "16r00EB" 1 " LATIN SMALL LETTER E WITH DIAERESIS "
+ "16r00EC" 1 " LATIN SMALL LETTER I WITH GRAVE "
+ "16r00ED" 1 " LATIN SMALL LETTER I WITH ACUTE "
+ "16r00EE" 1 " LATIN SMALL LETTER I WITH CIRCUMFLEX "
+ "16r00EF" 1 " LATIN SMALL LETTER I WITH DIAERESIS "
+ "16r00F0" 0 " invalid "
+ "16r00F1" 0 " invalid "
+ "16r00F2" 1 " LATIN SMALL LETTER O WITH GRAVE "
+ "16r00F3" 1 " LATIN SMALL LETTER O WITH ACUTE "
+ "16r00F4" 1 " LATIN SMALL LETTER O WITH CIRCUMFLEX "
+ "16r00F5" 0 " invalid "
+ "16r00F6" 1 " LATIN SMALL LETTER O WITH DIAERESIS "
+ "16r00F7" 0 " invalid "
+ "16r00F8" 0 " invalid "
+ "16r00F9" 1 " LATIN SMALL LETTER U WITH GRAVE "
+ "16r00FA" 1 " LATIN SMALL LETTER U WITH ACUTE "
+ "16r00FB" 1 " LATIN SMALL LETTER U WITH CIRCUMFLEX "
+ "16r00FC" 1 " LATIN SMALL LETTER U WITH DIAERESIS "
+ "16r00FD" 0 " invalid "
+ "16r00FE" 0 " invalid "
+ "16r00FF" 1 " LATIN SMALL LETTER Y WITH DIAERESIS "
+ "16r0100" 0 " invalid "
+ "16r0101" 0 " invalid "
+ ] at:(unicode - 160)) ~~ 0 ifTrue:[^ unicode].
+ ^ self encodingError.
+ ].
+ unicode < 540 ifTrue:[
+ unicode < 383 ifTrue:[
+ [
+ |t|
+ t :=
+#[
+ "16r0102" 16rC3 " LATIN CAPITAL LETTER A WITH BREVE "
+ "16r0103" 16rE3 " LATIN SMALL LETTER A WITH BREVE "
+ "16r0104" 16rA1 " LATIN CAPITAL LETTER A WITH OGONEK "
+ "16r0105" 16rA2 " LATIN SMALL LETTER A WITH OGONEK "
+ "16r0106" 16rC5 " LATIN CAPITAL LETTER C WITH ACUTE "
+ "16r0107" 16rE5 " LATIN SMALL LETTER C WITH ACUTE "
+ "16r0108" 16r00 " invalid "
+ "16r0109" 16r00 " invalid "
+ "16r010A" 16r00 " invalid "
+ "16r010B" 16r00 " invalid "
+ "16r010C" 16rB2 " LATIN CAPITAL LETTER C WITH CARON "
+ "16r010D" 16rB9 " LATIN SMALL LETTER C WITH CARON "
+ "16r010E" 16r00 " invalid "
+ "16r010F" 16r00 " invalid "
+ "16r0110" 16rD0 " LATIN CAPITAL LETTER D WITH STROKE "
+ "16r0111" 16rF0 " LATIN SMALL LETTER D WITH STROKE "
+ "16r0112" 16r00 " invalid "
+ "16r0113" 16r00 " invalid "
+ "16r0114" 16r00 " invalid "
+ "16r0115" 16r00 " invalid "
+ "16r0116" 16r00 " invalid "
+ "16r0117" 16r00 " invalid "
+ "16r0118" 16rDD " LATIN CAPITAL LETTER E WITH OGONEK "
+ "16r0119" 16rFD " LATIN SMALL LETTER E WITH OGONEK "
+ "16r011A" 16r00 " invalid "
+ "16r011B" 16r00 " invalid "
+ "16r011C" 16r00 " invalid "
+ "16r011D" 16r00 " invalid "
+ "16r011E" 16r00 " invalid "
+ "16r011F" 16r00 " invalid "
+ "16r0120" 16r00 " invalid "
+ "16r0121" 16r00 " invalid "
+ "16r0122" 16r00 " invalid "
+ "16r0123" 16r00 " invalid "
+ "16r0124" 16r00 " invalid "
+ "16r0125" 16r00 " invalid "
+ "16r0126" 16r00 " invalid "
+ "16r0127" 16r00 " invalid "
+ "16r0128" 16r00 " invalid "
+ "16r0129" 16r00 " invalid "
+ "16r012A" 16r00 " invalid "
+ "16r012B" 16r00 " invalid "
+ "16r012C" 16r00 " invalid "
+ "16r012D" 16r00 " invalid "
+ "16r012E" 16r00 " invalid "
+ "16r012F" 16r00 " invalid "
+ "16r0130" 16r00 " invalid "
+ "16r0131" 16r00 " invalid "
+ "16r0132" 16r00 " invalid "
+ "16r0133" 16r00 " invalid "
+ "16r0134" 16r00 " invalid "
+ "16r0135" 16r00 " invalid "
+ "16r0136" 16r00 " invalid "
+ "16r0137" 16r00 " invalid "
+ "16r0138" 16r00 " invalid "
+ "16r0139" 16r00 " invalid "
+ "16r013A" 16r00 " invalid "
+ "16r013B" 16r00 " invalid "
+ "16r013C" 16r00 " invalid "
+ "16r013D" 16r00 " invalid "
+ "16r013E" 16r00 " invalid "
+ "16r013F" 16r00 " invalid "
+ "16r0140" 16r00 " invalid "
+ "16r0141" 16rA3 " LATIN CAPITAL LETTER L WITH STROKE "
+ "16r0142" 16rB3 " LATIN SMALL LETTER L WITH STROKE "
+ "16r0143" 16rD1 " LATIN CAPITAL LETTER N WITH ACUTE "
+ "16r0144" 16rF1 " LATIN SMALL LETTER N WITH ACUTE "
+ "16r0145" 16r00 " invalid "
+ "16r0146" 16r00 " invalid "
+ "16r0147" 16r00 " invalid "
+ "16r0148" 16r00 " invalid "
+ "16r0149" 16r00 " invalid "
+ "16r014A" 16r00 " invalid "
+ "16r014B" 16r00 " invalid "
+ "16r014C" 16r00 " invalid "
+ "16r014D" 16r00 " invalid "
+ "16r014E" 16r00 " invalid "
+ "16r014F" 16r00 " invalid "
+ "16r0150" 16rD5 " LATIN CAPITAL LETTER O WITH DOUBLE ACUTE "
+ "16r0151" 16rF5 " LATIN SMALL LETTER O WITH DOUBLE ACUTE "
+ "16r0152" 16rBC " LATIN CAPITAL LIGATURE OE "
+ "16r0153" 16rBD " LATIN SMALL LIGATURE OE "
+ "16r0154" 16r00 " invalid "
+ "16r0155" 16r00 " invalid "
+ "16r0156" 16r00 " invalid "
+ "16r0157" 16r00 " invalid "
+ "16r0158" 16r00 " invalid "
+ "16r0159" 16r00 " invalid "
+ "16r015A" 16rD7 " LATIN CAPITAL LETTER S WITH ACUTE "
+ "16r015B" 16rF7 " LATIN SMALL LETTER S WITH ACUTE "
+ "16r015C" 16r00 " invalid "
+ "16r015D" 16r00 " invalid "
+ "16r015E" 16r00 " invalid "
+ "16r015F" 16r00 " invalid "
+ "16r0160" 16rA6 " LATIN CAPITAL LETTER S WITH CARON "
+ "16r0161" 16rA8 " LATIN SMALL LETTER S WITH CARON "
+ "16r0162" 16r00 " invalid "
+ "16r0163" 16r00 " invalid "
+ "16r0164" 16r00 " invalid "
+ "16r0165" 16r00 " invalid "
+ "16r0166" 16r00 " invalid "
+ "16r0167" 16r00 " invalid "
+ "16r0168" 16r00 " invalid "
+ "16r0169" 16r00 " invalid "
+ "16r016A" 16r00 " invalid "
+ "16r016B" 16r00 " invalid "
+ "16r016C" 16r00 " invalid "
+ "16r016D" 16r00 " invalid "
+ "16r016E" 16r00 " invalid "
+ "16r016F" 16r00 " invalid "
+ "16r0170" 16rD8 " LATIN CAPITAL LETTER U WITH DOUBLE ACUTE "
+ "16r0171" 16rF8 " LATIN SMALL LETTER U WITH DOUBLE ACUTE "
+ "16r0172" 16r00 " invalid "
+ "16r0173" 16r00 " invalid "
+ "16r0174" 16r00 " invalid "
+ "16r0175" 16r00 " invalid "
+ "16r0176" 16r00 " invalid "
+ "16r0177" 16r00 " invalid "
+ "16r0178" 16rBE " LATIN CAPITAL LETTER Y WITH DIAERESIS "
+ "16r0179" 16rAC " LATIN CAPITAL LETTER Z WITH ACUTE "
+ "16r017A" 16rAE " LATIN SMALL LETTER Z WITH ACUTE "
+ "16r017B" 16rAF " LATIN CAPITAL LETTER Z WITH DOT ABOVE "
+ "16r017C" 16rBF " LATIN SMALL LETTER Z WITH DOT ABOVE "
+ "16r017D" 16rB4 " LATIN CAPITAL LETTER Z WITH CARON "
+ "16r017E" 16rB8 " LATIN SMALL LETTER Z WITH CARON "
+ ] at:(unicode - 257).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 535 ifTrue:[
+ ^ self encodingError.
+ ].
+ ^
+#[
+ "16r0218" 16rAA " LATIN CAPITAL LETTER S WITH COMMA BELOW "
+ "16r0219" 16rBA " LATIN SMALL LETTER S WITH COMMA BELOW "
+ "16r021A" 16rDE " LATIN CAPITAL LETTER T WITH COMMA BELOW "
+ "16r021B" 16rFE " LATIN SMALL LETTER T WITH COMMA BELOW "
+ ] at:(unicode - 535).
+ ].
+ unicode <= 8220 ifTrue:[
+ ^ self encodingError.
+ ].
+ unicode < 8223 ifTrue:[
+ ^
+#[
+ "16r201D" 16rB5 " RIGHT DOUBLE QUOTATION MARK "
+ "16r201E" 16rA5 " DOUBLE LOW-9 QUOTATION MARK "
+ ] at:(unicode - 8220).
+ ].
+ unicode <= 8363 ifTrue:[
+ ^ self encodingError.
+ ].
+ ^
+#[
+ "16r20AC" 16rA4 " EURO SIGN "
+ ] at:(unicode - 8363).
! !
!CharacterEncoder::ISO8859_2 class methodsFor:'encoding & decoding'!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-2.TXT'
+mappingURL1_relativePathName
+ ^ 'ISO8859/8859-2.TXT'
+
+ "
+ self generateCode
+ "
! !
!CharacterEncoder::ISO8859_2 class methodsFor:'mapping'!
@@ -4166,17 +16893,24 @@
"
! !
+!CharacterEncoder::ISO8859_2 class methodsFor:'queries'!
+
+alternativeNamesOfEncoding
+ ^ #( 'latin-2' 'iso-ir-101')
+! !
+
!CharacterEncoder::ISO8859_2 methodsFor:'encoding & decoding'!
decode:code
- "automatically generated by generateEncoderCode"
+ "decode from my encoding into unicode.
+ Do not modify - automatically generated by generateCode"
code < 161 ifTrue:[ ^ code ].
code > 255 ifTrue:[
- self error:'invalid code'.
- ^ $? asciiValue
- ].
- ^ #(
+ ^ self decodingError.
+ ].
+ ^
+#(
"16r00A1" 16r0104 " LATIN CAPITAL LETTER A WITH OGONEK "
"16r00A2" 16r02D8 " BREVE "
"16r00A3" 16r0141 " LATIN CAPITAL LETTER L WITH STROKE "
@@ -4272,116 +17006,288 @@
"16r00FD" 16r00FD " LATIN SMALL LETTER Y WITH ACUTE "
"16r00FE" 16r0163 " LATIN SMALL LETTER T WITH CEDILLA "
"16r00FF" 16r02D9 " DOT ABOVE "
- ) at:(code - 160)
-!
-
-encode:uniCode
- |t000 t100 t200|
-
- uniCode <= 16rA0 ifTrue:[^ uniCode].
-
- t000 := #(
-"0xA0" 16r00A0 "/ # NO-BREAK SPACE
-"0xA1" 16r0104 "/ # LATIN CAPITAL LETTER A WITH OGONEK
-"0xA2" 16r02D8 "/ # BREVE
-"0xA3" 16r0141 "/ # LATIN CAPITAL LETTER L WITH STROKE
-"0xA4" 16r00A4 "/ # CURRENCY SIGN
-"0xA5" 16r013D "/ # LATIN CAPITAL LETTER L WITH CARON
-"0xA6" 16r015A "/ # LATIN CAPITAL LETTER S WITH ACUTE
-"0xA7" 16r00A7 "/ # SECTION SIGN
-"0xA8" 16r00A8 "/ # DIAERESIS
-"0xA9" 16r0160 "/ # LATIN CAPITAL LETTER S WITH CARON
-"0xAA" 16r015E "/ # LATIN CAPITAL LETTER S WITH CEDILLA
-"0xAB" 16r0164 "/ # LATIN CAPITAL LETTER T WITH CARON
-"0xAC" 16r0179 "/ # LATIN CAPITAL LETTER Z WITH ACUTE
-"0xAD" 16r00AD "/ # SOFT HYPHEN
-"0xAE" 16r017D "/ # LATIN CAPITAL LETTER Z WITH CARON
-"0xAF" 16r017B "/ # LATIN CAPITAL LETTER Z WITH DOT ABOVE
-"0xB0" 16r00B0 "/ # DEGREE SIGN
-"0xB1" 16r0105 "/ # LATIN SMALL LETTER A WITH OGONEK
-"0xB2" 16r02DB "/ # OGONEK
-"0xB3" 16r0142 "/ # LATIN SMALL LETTER L WITH STROKE
-"0xB4" 16r00B4 "/ # ACUTE ACCENT
-"0xB5" 16r013E "/ # LATIN SMALL LETTER L WITH CARON
-"0xB6" 16r015B "/ # LATIN SMALL LETTER S WITH ACUTE
-"0xB7" 16r02C7 "/ # CARON
-"0xB8" 16r00B8 "/ # CEDILLA
-"0xB9" 16r0161 "/ # LATIN SMALL LETTER S WITH CARON
-"0xBA" 16r015F "/ # LATIN SMALL LETTER S WITH CEDILLA
-"0xBB" 16r0165 "/ # LATIN SMALL LETTER T WITH CARON
-"0xBC" 16r017A "/ # LATIN SMALL LETTER Z WITH ACUTE
-"0xBD" 16r02DD "/ # DOUBLE ACUTE ACCENT
-"0xBE" 16r017E "/ # LATIN SMALL LETTER Z WITH CARON
-"0xBF" 16r017C "/ # LATIN SMALL LETTER Z WITH DOT ABOVE
-"0xC0" 16r0154 "/ # LATIN CAPITAL LETTER R WITH ACUTE
-"0xC1" 16r00C1 "/ # LATIN CAPITAL LETTER A WITH ACUTE
-"0xC2" 16r00C2 "/ # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-"0xC3" 16r0102 "/ # LATIN CAPITAL LETTER A WITH BREVE
-"0xC4" 16r00C4 "/ # LATIN CAPITAL LETTER A WITH DIAERESIS
-"0xC5" 16r0139 "/ # LATIN CAPITAL LETTER L WITH ACUTE
-"0xC6" 16r0106 "/ # LATIN CAPITAL LETTER C WITH ACUTE
-"0xC7" 16r00C7 "/ # LATIN CAPITAL LETTER C WITH CEDILLA
-"0xC8" 16r010C "/ # LATIN CAPITAL LETTER C WITH CARON
-"0xC9" 16r00C9 "/ # LATIN CAPITAL LETTER E WITH ACUTE
-"0xCA" 16r0118 "/ # LATIN CAPITAL LETTER E WITH OGONEK
-"0xCB" 16r00CB "/ # LATIN CAPITAL LETTER E WITH DIAERESIS
-"0xCC" 16r011A "/ # LATIN CAPITAL LETTER E WITH CARON
-"0xCD" 16r00CD "/ # LATIN CAPITAL LETTER I WITH ACUTE
-"0xCE" 16r00CE "/ # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-"0xCF" 16r010E "/ # LATIN CAPITAL LETTER D WITH CARON
-"0xD0" 16r0110 "/ # LATIN CAPITAL LETTER D WITH STROKE
-"0xD1" 16r0143 "/ # LATIN CAPITAL LETTER N WITH ACUTE
-"0xD2" 16r0147 "/ # LATIN CAPITAL LETTER N WITH CARON
-"0xD3" 16r00D3 "/ # LATIN CAPITAL LETTER O WITH ACUTE
-"0xD4" 16r00D4 "/ # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-"0xD5" 16r0150 "/ # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-"0xD6" 16r00D6 "/ # LATIN CAPITAL LETTER O WITH DIAERESIS
-"0xD7" 16r00D7 "/ # MULTIPLICATION SIGN
-"0xD8" 16r0158 "/ # LATIN CAPITAL LETTER R WITH CARON
-"0xD9" 16r016E "/ # LATIN CAPITAL LETTER U WITH RING ABOVE
-"0xDA" 16r00DA "/ # LATIN CAPITAL LETTER U WITH ACUTE
-"0xDB" 16r0170 "/ # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-"0xDC" 16r00DC "/ # LATIN CAPITAL LETTER U WITH DIAERESIS
-"0xDD" 16r00DD "/ # LATIN CAPITAL LETTER Y WITH ACUTE
-"0xDE" 16r0162 "/ # LATIN CAPITAL LETTER T WITH CEDILLA
-"0xDF" 16r00DF "/ # LATIN SMALL LETTER SHARP S
-"0xE0" 16r0155 "/ # LATIN SMALL LETTER R WITH ACUTE
-"0xE1" 16r00E1 "/ # LATIN SMALL LETTER A WITH ACUTE
-"0xE2" 16r00E2 "/ # LATIN SMALL LETTER A WITH CIRCUMFLEX
-"0xE3" 16r0103 "/ # LATIN SMALL LETTER A WITH BREVE
-"0xE4" 16r00E4 "/ # LATIN SMALL LETTER A WITH DIAERESIS
-"0xE5" 16r013A "/ # LATIN SMALL LETTER L WITH ACUTE
-"0xE6" 16r0107 "/ # LATIN SMALL LETTER C WITH ACUTE
-"0xE7" 16r00E7 "/ # LATIN SMALL LETTER C WITH CEDILLA
-"0xE8" 16r010D "/ # LATIN SMALL LETTER C WITH CARON
-"0xE9" 16r00E9 "/ # LATIN SMALL LETTER E WITH ACUTE
-"0xEA" 16r0119 "/ # LATIN SMALL LETTER E WITH OGONEK
-"0xEB" 16r00EB "/ # LATIN SMALL LETTER E WITH DIAERESIS
-"0xEC" 16r011B "/ # LATIN SMALL LETTER E WITH CARON
-"0xED" 16r00ED "/ # LATIN SMALL LETTER I WITH ACUTE
-"0xEE" 16r00EE "/ # LATIN SMALL LETTER I WITH CIRCUMFLEX
-"0xEF" 16r010F "/ # LATIN SMALL LETTER D WITH CARON
-"0xF0" 16r0111 "/ # LATIN SMALL LETTER D WITH STROKE
-"0xF1" 16r0144 "/ # LATIN SMALL LETTER N WITH ACUTE
-"0xF2" 16r0148 "/ # LATIN SMALL LETTER N WITH CARON
-"0xF3" 16r00F3 "/ # LATIN SMALL LETTER O WITH ACUTE
-"0xF4" 16r00F4 "/ # LATIN SMALL LETTER O WITH CIRCUMFLEX
-"0xF5" 16r0151 "/ # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-"0xF6" 16r00F6 "/ # LATIN SMALL LETTER O WITH DIAERESIS
-"0xF7" 16r00F7 "/ # DIVISION SIGN
-"0xF8" 16r0159 "/ # LATIN SMALL LETTER R WITH CARON
-"0xF9" 16r016F "/ # LATIN SMALL LETTER U WITH RING ABOVE
-"0xFA" 16r00FA "/ # LATIN SMALL LETTER U WITH ACUTE
-"0xFB" 16r0171 "/ # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-"0xFC" 16r00FC "/ # LATIN SMALL LETTER U WITH DIAERESIS
-"0xFD" 16r00FD "/ # LATIN SMALL LETTER Y WITH ACUTE
-"0xFE" 16r0163 "/ # LATIN SMALL LETTER T WITH CEDILLA
-"0xFF" 16r02D9 "/ # DOT ABOVE
- ) at:(uniCode - 16rA0 + 1)
-
- "
- self decode:16rFF
- "
+ ) at:(code - 160).
+!
+
+encode:unicode
+ "encode from unicode into my encoding.
+ Do not modify - automatically generated by generateCode"
+
+ unicode < 161 ifTrue:[ ^ unicode ].
+ unicode > 733 ifTrue:[
+ ^ self encodingError.
+ ].
+ unicode < 258 ifTrue:[
+ (#[
+ "16r00A1" 0 " invalid "
+ "16r00A2" 0 " invalid "
+ "16r00A3" 0 " invalid "
+ "16r00A4" 1 " CURRENCY SIGN "
+ "16r00A5" 0 " invalid "
+ "16r00A6" 0 " invalid "
+ "16r00A7" 1 " SECTION SIGN "
+ "16r00A8" 1 " DIAERESIS "
+ "16r00A9" 0 " invalid "
+ "16r00AA" 0 " invalid "
+ "16r00AB" 0 " invalid "
+ "16r00AC" 0 " invalid "
+ "16r00AD" 1 " SOFT HYPHEN "
+ "16r00AE" 0 " invalid "
+ "16r00AF" 0 " invalid "
+ "16r00B0" 1 " DEGREE SIGN "
+ "16r00B1" 0 " invalid "
+ "16r00B2" 0 " invalid "
+ "16r00B3" 0 " invalid "
+ "16r00B4" 1 " ACUTE ACCENT "
+ "16r00B5" 0 " invalid "
+ "16r00B6" 0 " invalid "
+ "16r00B7" 0 " invalid "
+ "16r00B8" 1 " CEDILLA "
+ "16r00B9" 0 " invalid "
+ "16r00BA" 0 " invalid "
+ "16r00BB" 0 " invalid "
+ "16r00BC" 0 " invalid "
+ "16r00BD" 0 " invalid "
+ "16r00BE" 0 " invalid "
+ "16r00BF" 0 " invalid "
+ "16r00C0" 0 " invalid "
+ "16r00C1" 1 " LATIN CAPITAL LETTER A WITH ACUTE "
+ "16r00C2" 1 " LATIN CAPITAL LETTER A WITH CIRCUMFLEX "
+ "16r00C3" 0 " invalid "
+ "16r00C4" 1 " LATIN CAPITAL LETTER A WITH DIAERESIS "
+ "16r00C5" 0 " invalid "
+ "16r00C6" 0 " invalid "
+ "16r00C7" 1 " LATIN CAPITAL LETTER C WITH CEDILLA "
+ "16r00C8" 0 " invalid "
+ "16r00C9" 1 " LATIN CAPITAL LETTER E WITH ACUTE "
+ "16r00CA" 0 " invalid "
+ "16r00CB" 1 " LATIN CAPITAL LETTER E WITH DIAERESIS "
+ "16r00CC" 0 " invalid "
+ "16r00CD" 1 " LATIN CAPITAL LETTER I WITH ACUTE "
+ "16r00CE" 1 " LATIN CAPITAL LETTER I WITH CIRCUMFLEX "
+ "16r00CF" 0 " invalid "
+ "16r00D0" 0 " invalid "
+ "16r00D1" 0 " invalid "
+ "16r00D2" 0 " invalid "
+ "16r00D3" 1 " LATIN CAPITAL LETTER O WITH ACUTE "
+ "16r00D4" 1 " LATIN CAPITAL LETTER O WITH CIRCUMFLEX "
+ "16r00D5" 0 " invalid "
+ "16r00D6" 1 " LATIN CAPITAL LETTER O WITH DIAERESIS "
+ "16r00D7" 1 " MULTIPLICATION SIGN "
+ "16r00D8" 0 " invalid "
+ "16r00D9" 0 " invalid "
+ "16r00DA" 1 " LATIN CAPITAL LETTER U WITH ACUTE "
+ "16r00DB" 0 " invalid "
+ "16r00DC" 1 " LATIN CAPITAL LETTER U WITH DIAERESIS "
+ "16r00DD" 1 " LATIN CAPITAL LETTER Y WITH ACUTE "
+ "16r00DE" 0 " invalid "
+ "16r00DF" 1 " LATIN SMALL LETTER SHARP S "
+ "16r00E0" 0 " invalid "
+ "16r00E1" 1 " LATIN SMALL LETTER A WITH ACUTE "
+ "16r00E2" 1 " LATIN SMALL LETTER A WITH CIRCUMFLEX "
+ "16r00E3" 0 " invalid "
+ "16r00E4" 1 " LATIN SMALL LETTER A WITH DIAERESIS "
+ "16r00E5" 0 " invalid "
+ "16r00E6" 0 " invalid "
+ "16r00E7" 1 " LATIN SMALL LETTER C WITH CEDILLA "
+ "16r00E8" 0 " invalid "
+ "16r00E9" 1 " LATIN SMALL LETTER E WITH ACUTE "
+ "16r00EA" 0 " invalid "
+ "16r00EB" 1 " LATIN SMALL LETTER E WITH DIAERESIS "
+ "16r00EC" 0 " invalid "
+ "16r00ED" 1 " LATIN SMALL LETTER I WITH ACUTE "
+ "16r00EE" 1 " LATIN SMALL LETTER I WITH CIRCUMFLEX "
+ "16r00EF" 0 " invalid "
+ "16r00F0" 0 " invalid "
+ "16r00F1" 0 " invalid "
+ "16r00F2" 0 " invalid "
+ "16r00F3" 1 " LATIN SMALL LETTER O WITH ACUTE "
+ "16r00F4" 1 " LATIN SMALL LETTER O WITH CIRCUMFLEX "
+ "16r00F5" 0 " invalid "
+ "16r00F6" 1 " LATIN SMALL LETTER O WITH DIAERESIS "
+ "16r00F7" 1 " DIVISION SIGN "
+ "16r00F8" 0 " invalid "
+ "16r00F9" 0 " invalid "
+ "16r00FA" 1 " LATIN SMALL LETTER U WITH ACUTE "
+ "16r00FB" 0 " invalid "
+ "16r00FC" 1 " LATIN SMALL LETTER U WITH DIAERESIS "
+ "16r00FD" 1 " LATIN SMALL LETTER Y WITH ACUTE "
+ "16r00FE" 0 " invalid "
+ "16r00FF" 0 " invalid "
+ "16r0100" 0 " invalid "
+ "16r0101" 0 " invalid "
+ ] at:(unicode - 160)) ~~ 0 ifTrue:[^ unicode].
+ ^ self encodingError.
+ ].
+ unicode < 383 ifTrue:[
+ [
+ |t|
+ t :=
+#[
+ "16r0102" 16rC3 " LATIN CAPITAL LETTER A WITH BREVE "
+ "16r0103" 16rE3 " LATIN SMALL LETTER A WITH BREVE "
+ "16r0104" 16rA1 " LATIN CAPITAL LETTER A WITH OGONEK "
+ "16r0105" 16rB1 " LATIN SMALL LETTER A WITH OGONEK "
+ "16r0106" 16rC6 " LATIN CAPITAL LETTER C WITH ACUTE "
+ "16r0107" 16rE6 " LATIN SMALL LETTER C WITH ACUTE "
+ "16r0108" 16r00 " invalid "
+ "16r0109" 16r00 " invalid "
+ "16r010A" 16r00 " invalid "
+ "16r010B" 16r00 " invalid "
+ "16r010C" 16rC8 " LATIN CAPITAL LETTER C WITH CARON "
+ "16r010D" 16rE8 " LATIN SMALL LETTER C WITH CARON "
+ "16r010E" 16rCF " LATIN CAPITAL LETTER D WITH CARON "
+ "16r010F" 16rEF " LATIN SMALL LETTER D WITH CARON "
+ "16r0110" 16rD0 " LATIN CAPITAL LETTER D WITH STROKE "
+ "16r0111" 16rF0 " LATIN SMALL LETTER D WITH STROKE "
+ "16r0112" 16r00 " invalid "
+ "16r0113" 16r00 " invalid "
+ "16r0114" 16r00 " invalid "
+ "16r0115" 16r00 " invalid "
+ "16r0116" 16r00 " invalid "
+ "16r0117" 16r00 " invalid "
+ "16r0118" 16rCA " LATIN CAPITAL LETTER E WITH OGONEK "
+ "16r0119" 16rEA " LATIN SMALL LETTER E WITH OGONEK "
+ "16r011A" 16rCC " LATIN CAPITAL LETTER E WITH CARON "
+ "16r011B" 16rEC " LATIN SMALL LETTER E WITH CARON "
+ "16r011C" 16r00 " invalid "
+ "16r011D" 16r00 " invalid "
+ "16r011E" 16r00 " invalid "
+ "16r011F" 16r00 " invalid "
+ "16r0120" 16r00 " invalid "
+ "16r0121" 16r00 " invalid "
+ "16r0122" 16r00 " invalid "
+ "16r0123" 16r00 " invalid "
+ "16r0124" 16r00 " invalid "
+ "16r0125" 16r00 " invalid "
+ "16r0126" 16r00 " invalid "
+ "16r0127" 16r00 " invalid "
+ "16r0128" 16r00 " invalid "
+ "16r0129" 16r00 " invalid "
+ "16r012A" 16r00 " invalid "
+ "16r012B" 16r00 " invalid "
+ "16r012C" 16r00 " invalid "
+ "16r012D" 16r00 " invalid "
+ "16r012E" 16r00 " invalid "
+ "16r012F" 16r00 " invalid "
+ "16r0130" 16r00 " invalid "
+ "16r0131" 16r00 " invalid "
+ "16r0132" 16r00 " invalid "
+ "16r0133" 16r00 " invalid "
+ "16r0134" 16r00 " invalid "
+ "16r0135" 16r00 " invalid "
+ "16r0136" 16r00 " invalid "
+ "16r0137" 16r00 " invalid "
+ "16r0138" 16r00 " invalid "
+ "16r0139" 16rC5 " LATIN CAPITAL LETTER L WITH ACUTE "
+ "16r013A" 16rE5 " LATIN SMALL LETTER L WITH ACUTE "
+ "16r013B" 16r00 " invalid "
+ "16r013C" 16r00 " invalid "
+ "16r013D" 16rA5 " LATIN CAPITAL LETTER L WITH CARON "
+ "16r013E" 16rB5 " LATIN SMALL LETTER L WITH CARON "
+ "16r013F" 16r00 " invalid "
+ "16r0140" 16r00 " invalid "
+ "16r0141" 16rA3 " LATIN CAPITAL LETTER L WITH STROKE "
+ "16r0142" 16rB3 " LATIN SMALL LETTER L WITH STROKE "
+ "16r0143" 16rD1 " LATIN CAPITAL LETTER N WITH ACUTE "
+ "16r0144" 16rF1 " LATIN SMALL LETTER N WITH ACUTE "
+ "16r0145" 16r00 " invalid "
+ "16r0146" 16r00 " invalid "
+ "16r0147" 16rD2 " LATIN CAPITAL LETTER N WITH CARON "
+ "16r0148" 16rF2 " LATIN SMALL LETTER N WITH CARON "
+ "16r0149" 16r00 " invalid "
+ "16r014A" 16r00 " invalid "
+ "16r014B" 16r00 " invalid "
+ "16r014C" 16r00 " invalid "
+ "16r014D" 16r00 " invalid "
+ "16r014E" 16r00 " invalid "
+ "16r014F" 16r00 " invalid "
+ "16r0150" 16rD5 " LATIN CAPITAL LETTER O WITH DOUBLE ACUTE "
+ "16r0151" 16rF5 " LATIN SMALL LETTER O WITH DOUBLE ACUTE "
+ "16r0152" 16r00 " invalid "
+ "16r0153" 16r00 " invalid "
+ "16r0154" 16rC0 " LATIN CAPITAL LETTER R WITH ACUTE "
+ "16r0155" 16rE0 " LATIN SMALL LETTER R WITH ACUTE "
+ "16r0156" 16r00 " invalid "
+ "16r0157" 16r00 " invalid "
+ "16r0158" 16rD8 " LATIN CAPITAL LETTER R WITH CARON "
+ "16r0159" 16rF8 " LATIN SMALL LETTER R WITH CARON "
+ "16r015A" 16rA6 " LATIN CAPITAL LETTER S WITH ACUTE "
+ "16r015B" 16rB6 " LATIN SMALL LETTER S WITH ACUTE "
+ "16r015C" 16r00 " invalid "
+ "16r015D" 16r00 " invalid "
+ "16r015E" 16rAA " LATIN CAPITAL LETTER S WITH CEDILLA "
+ "16r015F" 16rBA " LATIN SMALL LETTER S WITH CEDILLA "
+ "16r0160" 16rA9 " LATIN CAPITAL LETTER S WITH CARON "
+ "16r0161" 16rB9 " LATIN SMALL LETTER S WITH CARON "
+ "16r0162" 16rDE " LATIN CAPITAL LETTER T WITH CEDILLA "
+ "16r0163" 16rFE " LATIN SMALL LETTER T WITH CEDILLA "
+ "16r0164" 16rAB " LATIN CAPITAL LETTER T WITH CARON "
+ "16r0165" 16rBB " LATIN SMALL LETTER T WITH CARON "
+ "16r0166" 16r00 " invalid "
+ "16r0167" 16r00 " invalid "
+ "16r0168" 16r00 " invalid "
+ "16r0169" 16r00 " invalid "
+ "16r016A" 16r00 " invalid "
+ "16r016B" 16r00 " invalid "
+ "16r016C" 16r00 " invalid "
+ "16r016D" 16r00 " invalid "
+ "16r016E" 16rD9 " LATIN CAPITAL LETTER U WITH RING ABOVE "
+ "16r016F" 16rF9 " LATIN SMALL LETTER U WITH RING ABOVE "
+ "16r0170" 16rDB " LATIN CAPITAL LETTER U WITH DOUBLE ACUTE "
+ "16r0171" 16rFB " LATIN SMALL LETTER U WITH DOUBLE ACUTE "
+ "16r0172" 16r00 " invalid "
+ "16r0173" 16r00 " invalid "
+ "16r0174" 16r00 " invalid "
+ "16r0175" 16r00 " invalid "
+ "16r0176" 16r00 " invalid "
+ "16r0177" 16r00 " invalid "
+ "16r0178" 16r00 " invalid "
+ "16r0179" 16rAC " LATIN CAPITAL LETTER Z WITH ACUTE "
+ "16r017A" 16rBC " LATIN SMALL LETTER Z WITH ACUTE "
+ "16r017B" 16rAF " LATIN CAPITAL LETTER Z WITH DOT ABOVE "
+ "16r017C" 16rBF " LATIN SMALL LETTER Z WITH DOT ABOVE "
+ "16r017D" 16rAE " LATIN CAPITAL LETTER Z WITH CARON "
+ "16r017E" 16rBE " LATIN SMALL LETTER Z WITH CARON "
+ ] at:(unicode - 257).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 710 ifTrue:[
+ ^ self encodingError.
+ ].
+ [
+ |t|
+ t :=
+#[
+ "16r02C7" 16rB7 " CARON "
+ "16r02C8" 16r00 " invalid "
+ "16r02C9" 16r00 " invalid "
+ "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" 16rA2 " BREVE "
+ "16r02D9" 16rFF " DOT ABOVE "
+ "16r02DA" 16r00 " invalid "
+ "16r02DB" 16rB2 " OGONEK "
+ "16r02DC" 16r00 " invalid "
+ "16r02DD" 16rBD " DOUBLE ACUTE ACCENT "
+ ] at:(unicode - 710).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
! !
!CharacterEncoder::ISO8859_3 class methodsFor:'mapping'!
@@ -4690,26 +17596,35 @@
"
!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-3.TXT'
+mappingURL1_relativePathName
+ ^ 'ISO8859/8859-3.TXT'
+! !
+
+!CharacterEncoder::ISO8859_3 class methodsFor:'queries'!
+
+alternativeNamesOfEncoding
+ ^ #( 'latin-3' 'iso-ir-109')
! !
!CharacterEncoder::ISO8859_3 methodsFor:'encoding & decoding'!
decode:code
- "automatically generated by generateEncoderCode"
+ "decode from my encoding into unicode.
+ Do not modify - automatically generated by generateCode"
code < 161 ifTrue:[ ^ code ].
code > 255 ifTrue:[
- self error:'invalid code'.
- ^ $? asciiValue
- ].
- ^ #(
+ ^ self decodingError.
+ ].
+ [
+ |t|
+ t :=
+#(
"16r00A1" 16r0126 " LATIN CAPITAL LETTER H WITH STROKE "
"16r00A2" 16r02D8 " BREVE "
"16r00A3" 16r00A3 " POUND SIGN "
"16r00A4" 16r00A4 " CURRENCY SIGN "
- "16r00A5" 16rFFFF " invalid "
+ "16r00A5" 16r0000 " invalid "
"16r00A6" 16r0124 " LATIN CAPITAL LETTER H WITH CIRCUMFLEX "
"16r00A7" 16r00A7 " SECTION SIGN "
"16r00A8" 16r00A8 " DIAERESIS "
@@ -4718,7 +17633,7 @@
"16r00AB" 16r011E " LATIN CAPITAL LETTER G WITH BREVE "
"16r00AC" 16r0134 " LATIN CAPITAL LETTER J WITH CIRCUMFLEX "
"16r00AD" 16r00AD " SOFT HYPHEN "
- "16r00AE" 16rFFFF " invalid "
+ "16r00AE" 16r0000 " invalid "
"16r00AF" 16r017B " LATIN CAPITAL LETTER Z WITH DOT ABOVE "
"16r00B0" 16r00B0 " DEGREE SIGN "
"16r00B1" 16r0127 " LATIN SMALL LETTER H WITH STROKE "
@@ -4734,12 +17649,12 @@
"16r00BB" 16r011F " LATIN SMALL LETTER G WITH BREVE "
"16r00BC" 16r0135 " LATIN SMALL LETTER J WITH CIRCUMFLEX "
"16r00BD" 16r00BD " VULGAR FRACTION ONE HALF "
- "16r00BE" 16rFFFF " invalid "
+ "16r00BE" 16r0000 " invalid "
"16r00BF" 16r017C " LATIN SMALL LETTER Z WITH DOT ABOVE "
"16r00C0" 16r00C0 " LATIN CAPITAL LETTER A WITH GRAVE "
"16r00C1" 16r00C1 " LATIN CAPITAL LETTER A WITH ACUTE "
"16r00C2" 16r00C2 " LATIN CAPITAL LETTER A WITH CIRCUMFLEX "
- "16r00C3" 16rFFFF " invalid "
+ "16r00C3" 16r0000 " invalid "
"16r00C4" 16r00C4 " LATIN CAPITAL LETTER A WITH DIAERESIS "
"16r00C5" 16r010A " LATIN CAPITAL LETTER C WITH DOT ABOVE "
"16r00C6" 16r0108 " LATIN CAPITAL LETTER C WITH CIRCUMFLEX "
@@ -4752,7 +17667,7 @@
"16r00CD" 16r00CD " LATIN CAPITAL LETTER I WITH ACUTE "
"16r00CE" 16r00CE " LATIN CAPITAL LETTER I WITH CIRCUMFLEX "
"16r00CF" 16r00CF " LATIN CAPITAL LETTER I WITH DIAERESIS "
- "16r00D0" 16rFFFF " invalid "
+ "16r00D0" 16r0000 " invalid "
"16r00D1" 16r00D1 " LATIN CAPITAL LETTER N WITH TILDE "
"16r00D2" 16r00D2 " LATIN CAPITAL LETTER O WITH GRAVE "
"16r00D3" 16r00D3 " LATIN CAPITAL LETTER O WITH ACUTE "
@@ -4771,7 +17686,7 @@
"16r00E0" 16r00E0 " LATIN SMALL LETTER A WITH GRAVE "
"16r00E1" 16r00E1 " LATIN SMALL LETTER A WITH ACUTE "
"16r00E2" 16r00E2 " LATIN SMALL LETTER A WITH CIRCUMFLEX "
- "16r00E3" 16rFFFF " invalid "
+ "16r00E3" 16r0000 " invalid "
"16r00E4" 16r00E4 " LATIN SMALL LETTER A WITH DIAERESIS "
"16r00E5" 16r010B " LATIN SMALL LETTER C WITH DOT ABOVE "
"16r00E6" 16r0109 " LATIN SMALL LETTER C WITH CIRCUMFLEX "
@@ -4784,7 +17699,7 @@
"16r00ED" 16r00ED " LATIN SMALL LETTER I WITH ACUTE "
"16r00EE" 16r00EE " LATIN SMALL LETTER I WITH CIRCUMFLEX "
"16r00EF" 16r00EF " LATIN SMALL LETTER I WITH DIAERESIS "
- "16r00F0" 16rFFFF " invalid "
+ "16r00F0" 16r0000 " invalid "
"16r00F1" 16r00F1 " LATIN SMALL LETTER N WITH TILDE "
"16r00F2" 16r00F2 " LATIN SMALL LETTER O WITH GRAVE "
"16r00F3" 16r00F3 " LATIN SMALL LETTER O WITH ACUTE "
@@ -4800,7 +17715,263 @@
"16r00FD" 16r016D " LATIN SMALL LETTER U WITH BREVE "
"16r00FE" 16r015D " LATIN SMALL LETTER S WITH CIRCUMFLEX "
"16r00FF" 16r02D9 " DOT ABOVE "
- ) at:(code - 160)
+ ) at:(code - 160).
+ t == 0 ifFalse:[^ t].
+ ^ self decodingError.
+ ] value.
+!
+
+encode:unicode
+ "encode from unicode into my encoding.
+ Do not modify - automatically generated by generateCode"
+
+ unicode < 161 ifTrue:[ ^ unicode ].
+ unicode > 729 ifTrue:[
+ ^ self encodingError.
+ ].
+ unicode < 264 ifTrue:[
+ (#[
+ "16r00A1" 0 " invalid "
+ "16r00A2" 0 " invalid "
+ "16r00A3" 1 " POUND SIGN "
+ "16r00A4" 1 " CURRENCY SIGN "
+ "16r00A5" 0 " invalid "
+ "16r00A6" 0 " invalid "
+ "16r00A7" 1 " SECTION SIGN "
+ "16r00A8" 1 " DIAERESIS "
+ "16r00A9" 0 " invalid "
+ "16r00AA" 0 " invalid "
+ "16r00AB" 0 " invalid "
+ "16r00AC" 0 " invalid "
+ "16r00AD" 1 " SOFT HYPHEN "
+ "16r00AE" 0 " invalid "
+ "16r00AF" 0 " invalid "
+ "16r00B0" 1 " DEGREE SIGN "
+ "16r00B1" 0 " invalid "
+ "16r00B2" 1 " SUPERSCRIPT TWO "
+ "16r00B3" 1 " SUPERSCRIPT THREE "
+ "16r00B4" 1 " ACUTE ACCENT "
+ "16r00B5" 1 " MICRO SIGN "
+ "16r00B6" 0 " invalid "
+ "16r00B7" 1 " MIDDLE DOT "
+ "16r00B8" 1 " CEDILLA "
+ "16r00B9" 0 " invalid "
+ "16r00BA" 0 " invalid "
+ "16r00BB" 0 " invalid "
+ "16r00BC" 0 " invalid "
+ "16r00BD" 1 " VULGAR FRACTION ONE HALF "
+ "16r00BE" 0 " invalid "
+ "16r00BF" 0 " invalid "
+ "16r00C0" 1 " LATIN CAPITAL LETTER A WITH GRAVE "
+ "16r00C1" 1 " LATIN CAPITAL LETTER A WITH ACUTE "
+ "16r00C2" 1 " LATIN CAPITAL LETTER A WITH CIRCUMFLEX "
+ "16r00C3" 0 " invalid "
+ "16r00C4" 1 " LATIN CAPITAL LETTER A WITH DIAERESIS "
+ "16r00C5" 0 " invalid "
+ "16r00C6" 0 " invalid "
+ "16r00C7" 1 " LATIN CAPITAL LETTER C WITH CEDILLA "
+ "16r00C8" 1 " LATIN CAPITAL LETTER E WITH GRAVE "
+ "16r00C9" 1 " LATIN CAPITAL LETTER E WITH ACUTE "
+ "16r00CA" 1 " LATIN CAPITAL LETTER E WITH CIRCUMFLEX "
+ "16r00CB" 1 " LATIN CAPITAL LETTER E WITH DIAERESIS "
+ "16r00CC" 1 " LATIN CAPITAL LETTER I WITH GRAVE "
+ "16r00CD" 1 " LATIN CAPITAL LETTER I WITH ACUTE "
+ "16r00CE" 1 " LATIN CAPITAL LETTER I WITH CIRCUMFLEX "
+ "16r00CF" 1 " LATIN CAPITAL LETTER I WITH DIAERESIS "
+ "16r00D0" 0 " invalid "
+ "16r00D1" 1 " LATIN CAPITAL LETTER N WITH TILDE "
+ "16r00D2" 1 " LATIN CAPITAL LETTER O WITH GRAVE "
+ "16r00D3" 1 " LATIN CAPITAL LETTER O WITH ACUTE "
+ "16r00D4" 1 " LATIN CAPITAL LETTER O WITH CIRCUMFLEX "
+ "16r00D5" 0 " invalid "
+ "16r00D6" 1 " LATIN CAPITAL LETTER O WITH DIAERESIS "
+ "16r00D7" 1 " MULTIPLICATION SIGN "
+ "16r00D8" 0 " invalid "
+ "16r00D9" 1 " LATIN CAPITAL LETTER U WITH GRAVE "
+ "16r00DA" 1 " LATIN CAPITAL LETTER U WITH ACUTE "
+ "16r00DB" 1 " LATIN CAPITAL LETTER U WITH CIRCUMFLEX "
+ "16r00DC" 1 " LATIN CAPITAL LETTER U WITH DIAERESIS "
+ "16r00DD" 0 " invalid "
+ "16r00DE" 0 " invalid "
+ "16r00DF" 1 " LATIN SMALL LETTER SHARP S "
+ "16r00E0" 1 " LATIN SMALL LETTER A WITH GRAVE "
+ "16r00E1" 1 " LATIN SMALL LETTER A WITH ACUTE "
+ "16r00E2" 1 " LATIN SMALL LETTER A WITH CIRCUMFLEX "
+ "16r00E3" 0 " invalid "
+ "16r00E4" 1 " LATIN SMALL LETTER A WITH DIAERESIS "
+ "16r00E5" 0 " invalid "
+ "16r00E6" 0 " invalid "
+ "16r00E7" 1 " LATIN SMALL LETTER C WITH CEDILLA "
+ "16r00E8" 1 " LATIN SMALL LETTER E WITH GRAVE "
+ "16r00E9" 1 " LATIN SMALL LETTER E WITH ACUTE "
+ "16r00EA" 1 " LATIN SMALL LETTER E WITH CIRCUMFLEX "
+ "16r00EB" 1 " LATIN SMALL LETTER E WITH DIAERESIS "
+ "16r00EC" 1 " LATIN SMALL LETTER I WITH GRAVE "
+ "16r00ED" 1 " LATIN SMALL LETTER I WITH ACUTE "
+ "16r00EE" 1 " LATIN SMALL LETTER I WITH CIRCUMFLEX "
+ "16r00EF" 1 " LATIN SMALL LETTER I WITH DIAERESIS "
+ "16r00F0" 0 " invalid "
+ "16r00F1" 1 " LATIN SMALL LETTER N WITH TILDE "
+ "16r00F2" 1 " LATIN SMALL LETTER O WITH GRAVE "
+ "16r00F3" 1 " LATIN SMALL LETTER O WITH ACUTE "
+ "16r00F4" 1 " LATIN SMALL LETTER O WITH CIRCUMFLEX "
+ "16r00F5" 0 " invalid "
+ "16r00F6" 1 " LATIN SMALL LETTER O WITH DIAERESIS "
+ "16r00F7" 1 " DIVISION SIGN "
+ "16r00F8" 0 " invalid "
+ "16r00F9" 1 " LATIN SMALL LETTER U WITH GRAVE "
+ "16r00FA" 1 " LATIN SMALL LETTER U WITH ACUTE "
+ "16r00FB" 1 " LATIN SMALL LETTER U WITH CIRCUMFLEX "
+ "16r00FC" 1 " LATIN SMALL LETTER U WITH DIAERESIS "
+ "16r00FD" 0 " invalid "
+ "16r00FE" 0 " invalid "
+ "16r00FF" 0 " invalid "
+ "16r0100" 0 " invalid "
+ "16r0101" 0 " invalid "
+ "16r0102" 0 " invalid "
+ "16r0103" 0 " invalid "
+ "16r0104" 0 " invalid "
+ "16r0105" 0 " invalid "
+ "16r0106" 0 " invalid "
+ "16r0107" 0 " invalid "
+ ] at:(unicode - 160)) ~~ 0 ifTrue:[^ unicode].
+ ^ self encodingError.
+ ].
+ unicode < 381 ifTrue:[
+ [
+ |t|
+ t :=
+#[
+ "16r0108" 16rC6 " LATIN CAPITAL LETTER C WITH CIRCUMFLEX "
+ "16r0109" 16rE6 " LATIN SMALL LETTER C WITH CIRCUMFLEX "
+ "16r010A" 16rC5 " LATIN CAPITAL LETTER C WITH DOT ABOVE "
+ "16r010B" 16rE5 " LATIN SMALL LETTER C WITH DOT ABOVE "
+ "16r010C" 16r00 " invalid "
+ "16r010D" 16r00 " invalid "
+ "16r010E" 16r00 " invalid "
+ "16r010F" 16r00 " invalid "
+ "16r0110" 16r00 " invalid "
+ "16r0111" 16r00 " invalid "
+ "16r0112" 16r00 " invalid "
+ "16r0113" 16r00 " invalid "
+ "16r0114" 16r00 " invalid "
+ "16r0115" 16r00 " invalid "
+ "16r0116" 16r00 " invalid "
+ "16r0117" 16r00 " invalid "
+ "16r0118" 16r00 " invalid "
+ "16r0119" 16r00 " invalid "
+ "16r011A" 16r00 " invalid "
+ "16r011B" 16r00 " invalid "
+ "16r011C" 16rD8 " LATIN CAPITAL LETTER G WITH CIRCUMFLEX "
+ "16r011D" 16rF8 " LATIN SMALL LETTER G WITH CIRCUMFLEX "
+ "16r011E" 16rAB " LATIN CAPITAL LETTER G WITH BREVE "
+ "16r011F" 16rBB " LATIN SMALL LETTER G WITH BREVE "
+ "16r0120" 16rD5 " LATIN CAPITAL LETTER G WITH DOT ABOVE "
+ "16r0121" 16rF5 " LATIN SMALL LETTER G WITH DOT ABOVE "
+ "16r0122" 16r00 " invalid "
+ "16r0123" 16r00 " invalid "
+ "16r0124" 16rA6 " LATIN CAPITAL LETTER H WITH CIRCUMFLEX "
+ "16r0125" 16rB6 " LATIN SMALL LETTER H WITH CIRCUMFLEX "
+ "16r0126" 16rA1 " LATIN CAPITAL LETTER H WITH STROKE "
+ "16r0127" 16rB1 " LATIN SMALL LETTER H WITH STROKE "
+ "16r0128" 16r00 " invalid "
+ "16r0129" 16r00 " invalid "
+ "16r012A" 16r00 " invalid "
+ "16r012B" 16r00 " invalid "
+ "16r012C" 16r00 " invalid "
+ "16r012D" 16r00 " invalid "
+ "16r012E" 16r00 " invalid "
+ "16r012F" 16r00 " invalid "
+ "16r0130" 16rA9 " LATIN CAPITAL LETTER I WITH DOT ABOVE "
+ "16r0131" 16rB9 " LATIN SMALL LETTER DOTLESS I "
+ "16r0132" 16r00 " invalid "
+ "16r0133" 16r00 " invalid "
+ "16r0134" 16rAC " LATIN CAPITAL LETTER J WITH CIRCUMFLEX "
+ "16r0135" 16rBC " LATIN SMALL LETTER J WITH CIRCUMFLEX "
+ "16r0136" 16r00 " invalid "
+ "16r0137" 16r00 " invalid "
+ "16r0138" 16r00 " invalid "
+ "16r0139" 16r00 " invalid "
+ "16r013A" 16r00 " invalid "
+ "16r013B" 16r00 " invalid "
+ "16r013C" 16r00 " invalid "
+ "16r013D" 16r00 " invalid "
+ "16r013E" 16r00 " invalid "
+ "16r013F" 16r00 " invalid "
+ "16r0140" 16r00 " invalid "
+ "16r0141" 16r00 " invalid "
+ "16r0142" 16r00 " invalid "
+ "16r0143" 16r00 " invalid "
+ "16r0144" 16r00 " invalid "
+ "16r0145" 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" 16r00 " invalid "
+ "16r0153" 16r00 " invalid "
+ "16r0154" 16r00 " invalid "
+ "16r0155" 16r00 " invalid "
+ "16r0156" 16r00 " invalid "
+ "16r0157" 16r00 " invalid "
+ "16r0158" 16r00 " invalid "
+ "16r0159" 16r00 " invalid "
+ "16r015A" 16r00 " invalid "
+ "16r015B" 16r00 " invalid "
+ "16r015C" 16rDE " LATIN CAPITAL LETTER S WITH CIRCUMFLEX "
+ "16r015D" 16rFE " LATIN SMALL LETTER S WITH CIRCUMFLEX "
+ "16r015E" 16rAA " LATIN CAPITAL LETTER S WITH CEDILLA "
+ "16r015F" 16rBA " LATIN SMALL LETTER S WITH CEDILLA "
+ "16r0160" 16r00 " invalid "
+ "16r0161" 16r00 " invalid "
+ "16r0162" 16r00 " invalid "
+ "16r0163" 16r00 " invalid "
+ "16r0164" 16r00 " invalid "
+ "16r0165" 16r00 " invalid "
+ "16r0166" 16r00 " invalid "
+ "16r0167" 16r00 " invalid "
+ "16r0168" 16r00 " invalid "
+ "16r0169" 16r00 " invalid "
+ "16r016A" 16r00 " invalid "
+ "16r016B" 16r00 " invalid "
+ "16r016C" 16rDD " LATIN CAPITAL LETTER U WITH BREVE "
+ "16r016D" 16rFD " LATIN SMALL LETTER U WITH BREVE "
+ "16r016E" 16r00 " invalid "
+ "16r016F" 16r00 " invalid "
+ "16r0170" 16r00 " invalid "
+ "16r0171" 16r00 " invalid "
+ "16r0172" 16r00 " invalid "
+ "16r0173" 16r00 " invalid "
+ "16r0174" 16r00 " invalid "
+ "16r0175" 16r00 " invalid "
+ "16r0176" 16r00 " invalid "
+ "16r0177" 16r00 " invalid "
+ "16r0178" 16r00 " invalid "
+ "16r0179" 16r00 " invalid "
+ "16r017A" 16r00 " invalid "
+ "16r017B" 16rAF " LATIN CAPITAL LETTER Z WITH DOT ABOVE "
+ "16r017C" 16rBF " LATIN SMALL LETTER Z WITH DOT ABOVE "
+ ] at:(unicode - 263).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 727 ifTrue:[
+ ^ self encodingError.
+ ].
+ ^
+#[
+ "16r02D8" 16rA2 " BREVE "
+ "16r02D9" 16rFF " DOT ABOVE "
+ ] at:(unicode - 727).
! !
!CharacterEncoder::ISO8859_4 class methodsFor:'mapping'!
@@ -5116,21 +18287,28 @@
"
!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-4.TXT'
+mappingURL1_relativePathName
+ ^ 'ISO8859/8859-4.TXT'
+! !
+
+!CharacterEncoder::ISO8859_4 class methodsFor:'queries'!
+
+alternativeNamesOfEncoding
+ ^ #( 'latin-4' 'iso-ir-110')
! !
!CharacterEncoder::ISO8859_4 methodsFor:'encoding & decoding'!
decode:code
- "automatically generated by generateEncoderCode"
+ "decode from my encoding into unicode.
+ Do not modify - automatically generated by generateCode"
code < 161 ifTrue:[ ^ code ].
code > 255 ifTrue:[
- self error:'invalid code'.
- ^ $? asciiValue
- ].
- ^ #(
+ ^ self decodingError.
+ ].
+ ^
+#(
"16r00A1" 16r0104 " LATIN CAPITAL LETTER A WITH OGONEK "
"16r00A2" 16r0138 " LATIN SMALL LETTER KRA "
"16r00A3" 16r0156 " LATIN CAPITAL LETTER R WITH CEDILLA "
@@ -5226,7 +18404,286 @@
"16r00FD" 16r0169 " LATIN SMALL LETTER U WITH TILDE "
"16r00FE" 16r016B " LATIN SMALL LETTER U WITH MACRON "
"16r00FF" 16r02D9 " DOT ABOVE "
- ) at:(code - 160)
+ ) at:(code - 160).
+!
+
+encode:unicode
+ "encode from unicode into my encoding.
+ Do not modify - automatically generated by generateCode"
+
+ unicode < 161 ifTrue:[ ^ unicode ].
+ unicode > 731 ifTrue:[
+ ^ self encodingError.
+ ].
+ unicode < 256 ifTrue:[
+ (#[
+ "16r00A1" 0 " invalid "
+ "16r00A2" 0 " invalid "
+ "16r00A3" 0 " invalid "
+ "16r00A4" 1 " CURRENCY SIGN "
+ "16r00A5" 0 " invalid "
+ "16r00A6" 0 " invalid "
+ "16r00A7" 1 " SECTION SIGN "
+ "16r00A8" 1 " DIAERESIS "
+ "16r00A9" 0 " invalid "
+ "16r00AA" 0 " invalid "
+ "16r00AB" 0 " invalid "
+ "16r00AC" 0 " invalid "
+ "16r00AD" 1 " SOFT HYPHEN "
+ "16r00AE" 0 " invalid "
+ "16r00AF" 1 " MACRON "
+ "16r00B0" 1 " DEGREE SIGN "
+ "16r00B1" 0 " invalid "
+ "16r00B2" 0 " invalid "
+ "16r00B3" 0 " invalid "
+ "16r00B4" 1 " ACUTE ACCENT "
+ "16r00B5" 0 " invalid "
+ "16r00B6" 0 " invalid "
+ "16r00B7" 0 " invalid "
+ "16r00B8" 1 " CEDILLA "
+ "16r00B9" 0 " invalid "
+ "16r00BA" 0 " invalid "
+ "16r00BB" 0 " invalid "
+ "16r00BC" 0 " invalid "
+ "16r00BD" 0 " invalid "
+ "16r00BE" 0 " invalid "
+ "16r00BF" 0 " invalid "
+ "16r00C0" 0 " invalid "
+ "16r00C1" 1 " LATIN CAPITAL LETTER A WITH ACUTE "
+ "16r00C2" 1 " LATIN CAPITAL LETTER A WITH CIRCUMFLEX "
+ "16r00C3" 1 " LATIN CAPITAL LETTER A WITH TILDE "
+ "16r00C4" 1 " LATIN CAPITAL LETTER A WITH DIAERESIS "
+ "16r00C5" 1 " LATIN CAPITAL LETTER A WITH RING ABOVE "
+ "16r00C6" 1 " LATIN CAPITAL LETTER AE "
+ "16r00C7" 0 " invalid "
+ "16r00C8" 0 " invalid "
+ "16r00C9" 1 " LATIN CAPITAL LETTER E WITH ACUTE "
+ "16r00CA" 0 " invalid "
+ "16r00CB" 1 " LATIN CAPITAL LETTER E WITH DIAERESIS "
+ "16r00CC" 0 " invalid "
+ "16r00CD" 1 " LATIN CAPITAL LETTER I WITH ACUTE "
+ "16r00CE" 1 " LATIN CAPITAL LETTER I WITH CIRCUMFLEX "
+ "16r00CF" 0 " invalid "
+ "16r00D0" 0 " invalid "
+ "16r00D1" 0 " invalid "
+ "16r00D2" 0 " invalid "
+ "16r00D3" 0 " invalid "
+ "16r00D4" 1 " LATIN CAPITAL LETTER O WITH CIRCUMFLEX "
+ "16r00D5" 1 " LATIN CAPITAL LETTER O WITH TILDE "
+ "16r00D6" 1 " LATIN CAPITAL LETTER O WITH DIAERESIS "
+ "16r00D7" 1 " MULTIPLICATION SIGN "
+ "16r00D8" 1 " LATIN CAPITAL LETTER O WITH STROKE "
+ "16r00D9" 0 " invalid "
+ "16r00DA" 1 " LATIN CAPITAL LETTER U WITH ACUTE "
+ "16r00DB" 1 " LATIN CAPITAL LETTER U WITH CIRCUMFLEX "
+ "16r00DC" 1 " LATIN CAPITAL LETTER U WITH DIAERESIS "
+ "16r00DD" 0 " invalid "
+ "16r00DE" 0 " invalid "
+ "16r00DF" 1 " LATIN SMALL LETTER SHARP S "
+ "16r00E0" 0 " invalid "
+ "16r00E1" 1 " LATIN SMALL LETTER A WITH ACUTE "
+ "16r00E2" 1 " LATIN SMALL LETTER A WITH CIRCUMFLEX "
+ "16r00E3" 1 " LATIN SMALL LETTER A WITH TILDE "
+ "16r00E4" 1 " LATIN SMALL LETTER A WITH DIAERESIS "
+ "16r00E5" 1 " LATIN SMALL LETTER A WITH RING ABOVE "
+ "16r00E6" 1 " LATIN SMALL LETTER AE "
+ "16r00E7" 0 " invalid "
+ "16r00E8" 0 " invalid "
+ "16r00E9" 1 " LATIN SMALL LETTER E WITH ACUTE "
+ "16r00EA" 0 " invalid "
+ "16r00EB" 1 " LATIN SMALL LETTER E WITH DIAERESIS "
+ "16r00EC" 0 " invalid "
+ "16r00ED" 1 " LATIN SMALL LETTER I WITH ACUTE "
+ "16r00EE" 1 " LATIN SMALL LETTER I WITH CIRCUMFLEX "
+ "16r00EF" 0 " invalid "
+ "16r00F0" 0 " invalid "
+ "16r00F1" 0 " invalid "
+ "16r00F2" 0 " invalid "
+ "16r00F3" 0 " invalid "
+ "16r00F4" 1 " LATIN SMALL LETTER O WITH CIRCUMFLEX "
+ "16r00F5" 1 " LATIN SMALL LETTER O WITH TILDE "
+ "16r00F6" 1 " LATIN SMALL LETTER O WITH DIAERESIS "
+ "16r00F7" 1 " DIVISION SIGN "
+ "16r00F8" 1 " LATIN SMALL LETTER O WITH STROKE "
+ "16r00F9" 0 " invalid "
+ "16r00FA" 1 " LATIN SMALL LETTER U WITH ACUTE "
+ "16r00FB" 1 " LATIN SMALL LETTER U WITH CIRCUMFLEX "
+ "16r00FC" 1 " LATIN SMALL LETTER U WITH DIAERESIS "
+ "16r00FD" 0 " invalid "
+ "16r00FE" 0 " invalid "
+ "16r00FF" 0 " invalid "
+ ] at:(unicode - 160)) ~~ 0 ifTrue:[^ unicode].
+ ^ self encodingError.
+ ].
+ unicode < 383 ifTrue:[
+ [
+ |t|
+ t :=
+#[
+ "16r0100" 16rC0 " LATIN CAPITAL LETTER A WITH MACRON "
+ "16r0101" 16rE0 " LATIN SMALL LETTER A WITH MACRON "
+ "16r0102" 16r00 " invalid "
+ "16r0103" 16r00 " invalid "
+ "16r0104" 16rA1 " LATIN CAPITAL LETTER A WITH OGONEK "
+ "16r0105" 16rB1 " LATIN SMALL LETTER A WITH OGONEK "
+ "16r0106" 16r00 " invalid "
+ "16r0107" 16r00 " invalid "
+ "16r0108" 16r00 " invalid "
+ "16r0109" 16r00 " invalid "
+ "16r010A" 16r00 " invalid "
+ "16r010B" 16r00 " invalid "
+ "16r010C" 16rC8 " LATIN CAPITAL LETTER C WITH CARON "
+ "16r010D" 16rE8 " LATIN SMALL LETTER C WITH CARON "
+ "16r010E" 16r00 " invalid "
+ "16r010F" 16r00 " invalid "
+ "16r0110" 16rD0 " LATIN CAPITAL LETTER D WITH STROKE "
+ "16r0111" 16rF0 " LATIN SMALL LETTER D WITH STROKE "
+ "16r0112" 16rAA " LATIN CAPITAL LETTER E WITH MACRON "
+ "16r0113" 16rBA " LATIN SMALL LETTER E WITH MACRON "
+ "16r0114" 16r00 " invalid "
+ "16r0115" 16r00 " invalid "
+ "16r0116" 16rCC " LATIN CAPITAL LETTER E WITH DOT ABOVE "
+ "16r0117" 16rEC " LATIN SMALL LETTER E WITH DOT ABOVE "
+ "16r0118" 16rCA " LATIN CAPITAL LETTER E WITH OGONEK "
+ "16r0119" 16rEA " LATIN SMALL LETTER E WITH OGONEK "
+ "16r011A" 16r00 " invalid "
+ "16r011B" 16r00 " invalid "
+ "16r011C" 16r00 " invalid "
+ "16r011D" 16r00 " invalid "
+ "16r011E" 16r00 " invalid "
+ "16r011F" 16r00 " invalid "
+ "16r0120" 16r00 " invalid "
+ "16r0121" 16r00 " invalid "
+ "16r0122" 16rAB " LATIN CAPITAL LETTER G WITH CEDILLA "
+ "16r0123" 16rBB " LATIN SMALL LETTER G WITH CEDILLA "
+ "16r0124" 16r00 " invalid "
+ "16r0125" 16r00 " invalid "
+ "16r0126" 16r00 " invalid "
+ "16r0127" 16r00 " invalid "
+ "16r0128" 16rA5 " LATIN CAPITAL LETTER I WITH TILDE "
+ "16r0129" 16rB5 " LATIN SMALL LETTER I WITH TILDE "
+ "16r012A" 16rCF " LATIN CAPITAL LETTER I WITH MACRON "
+ "16r012B" 16rEF " LATIN SMALL LETTER I WITH MACRON "
+ "16r012C" 16r00 " invalid "
+ "16r012D" 16r00 " invalid "
+ "16r012E" 16rC7 " LATIN CAPITAL LETTER I WITH OGONEK "
+ "16r012F" 16rE7 " LATIN SMALL LETTER I WITH OGONEK "
+ "16r0130" 16r00 " invalid "
+ "16r0131" 16r00 " invalid "
+ "16r0132" 16r00 " invalid "
+ "16r0133" 16r00 " invalid "
+ "16r0134" 16r00 " invalid "
+ "16r0135" 16r00 " invalid "
+ "16r0136" 16rD3 " LATIN CAPITAL LETTER K WITH CEDILLA "
+ "16r0137" 16rF3 " LATIN SMALL LETTER K WITH CEDILLA "
+ "16r0138" 16rA2 " LATIN SMALL LETTER KRA "
+ "16r0139" 16r00 " invalid "
+ "16r013A" 16r00 " invalid "
+ "16r013B" 16rA6 " LATIN CAPITAL LETTER L WITH CEDILLA "
+ "16r013C" 16rB6 " LATIN SMALL LETTER L WITH CEDILLA "
+ "16r013D" 16r00 " invalid "
+ "16r013E" 16r00 " invalid "
+ "16r013F" 16r00 " invalid "
+ "16r0140" 16r00 " invalid "
+ "16r0141" 16r00 " invalid "
+ "16r0142" 16r00 " invalid "
+ "16r0143" 16r00 " invalid "
+ "16r0144" 16r00 " invalid "
+ "16r0145" 16rD1 " LATIN CAPITAL LETTER N WITH CEDILLA "
+ "16r0146" 16rF1 " LATIN SMALL LETTER N WITH CEDILLA "
+ "16r0147" 16r00 " invalid "
+ "16r0148" 16r00 " invalid "
+ "16r0149" 16r00 " invalid "
+ "16r014A" 16rBD " LATIN CAPITAL LETTER ENG "
+ "16r014B" 16rBF " LATIN SMALL LETTER ENG "
+ "16r014C" 16rD2 " LATIN CAPITAL LETTER O WITH MACRON "
+ "16r014D" 16rF2 " LATIN SMALL LETTER O WITH MACRON "
+ "16r014E" 16r00 " invalid "
+ "16r014F" 16r00 " invalid "
+ "16r0150" 16r00 " invalid "
+ "16r0151" 16r00 " invalid "
+ "16r0152" 16r00 " invalid "
+ "16r0153" 16r00 " invalid "
+ "16r0154" 16r00 " invalid "
+ "16r0155" 16r00 " invalid "
+ "16r0156" 16rA3 " LATIN CAPITAL LETTER R WITH CEDILLA "
+ "16r0157" 16rB3 " LATIN SMALL LETTER R WITH CEDILLA "
+ "16r0158" 16r00 " invalid "
+ "16r0159" 16r00 " invalid "
+ "16r015A" 16r00 " invalid "
+ "16r015B" 16r00 " invalid "
+ "16r015C" 16r00 " invalid "
+ "16r015D" 16r00 " invalid "
+ "16r015E" 16r00 " invalid "
+ "16r015F" 16r00 " invalid "
+ "16r0160" 16rA9 " LATIN CAPITAL LETTER S WITH CARON "
+ "16r0161" 16rB9 " LATIN SMALL LETTER S WITH CARON "
+ "16r0162" 16r00 " invalid "
+ "16r0163" 16r00 " invalid "
+ "16r0164" 16r00 " invalid "
+ "16r0165" 16r00 " invalid "
+ "16r0166" 16rAC " LATIN CAPITAL LETTER T WITH STROKE "
+ "16r0167" 16rBC " LATIN SMALL LETTER T WITH STROKE "
+ "16r0168" 16rDD " LATIN CAPITAL LETTER U WITH TILDE "
+ "16r0169" 16rFD " LATIN SMALL LETTER U WITH TILDE "
+ "16r016A" 16rDE " LATIN CAPITAL LETTER U WITH MACRON "
+ "16r016B" 16rFE " LATIN SMALL LETTER U WITH MACRON "
+ "16r016C" 16r00 " invalid "
+ "16r016D" 16r00 " invalid "
+ "16r016E" 16r00 " invalid "
+ "16r016F" 16r00 " invalid "
+ "16r0170" 16r00 " invalid "
+ "16r0171" 16r00 " invalid "
+ "16r0172" 16rD9 " LATIN CAPITAL LETTER U WITH OGONEK "
+ "16r0173" 16rF9 " LATIN SMALL LETTER U WITH OGONEK "
+ "16r0174" 16r00 " invalid "
+ "16r0175" 16r00 " invalid "
+ "16r0176" 16r00 " invalid "
+ "16r0177" 16r00 " invalid "
+ "16r0178" 16r00 " invalid "
+ "16r0179" 16r00 " invalid "
+ "16r017A" 16r00 " invalid "
+ "16r017B" 16r00 " invalid "
+ "16r017C" 16r00 " invalid "
+ "16r017D" 16rAE " LATIN CAPITAL LETTER Z WITH CARON "
+ "16r017E" 16rBE " LATIN SMALL LETTER Z WITH CARON "
+ ] at:(unicode - 255).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 710 ifTrue:[
+ ^ self encodingError.
+ ].
+ [
+ |t|
+ t :=
+#[
+ "16r02C7" 16rB7 " CARON "
+ "16r02C8" 16r00 " invalid "
+ "16r02C9" 16r00 " invalid "
+ "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" 16r00 " invalid "
+ "16r02D9" 16rFF " DOT ABOVE "
+ "16r02DA" 16r00 " invalid "
+ "16r02DB" 16rB2 " OGONEK "
+ ] at:(unicode - 710).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
! !
!CharacterEncoder::ISO8859_5 class methodsFor:'mapping'!
@@ -5542,21 +18999,28 @@
"
!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-5.TXT'
+mappingURL1_relativePathName
+ ^ 'ISO8859/8859-5.TXT'
+! !
+
+!CharacterEncoder::ISO8859_5 class methodsFor:'queries'!
+
+alternativeNamesOfEncoding
+ ^ #( 'cyrillic' 'iso-ir-144' )
! !
!CharacterEncoder::ISO8859_5 methodsFor:'encoding & decoding'!
decode:code
- "automatically generated by generateEncoderCode"
+ "decode from my encoding into unicode.
+ Do not modify - automatically generated by generateCode"
code < 161 ifTrue:[ ^ code ].
code > 255 ifTrue:[
- self error:'invalid code'.
- ^ $? asciiValue
- ].
- ^ #(
+ ^ self decodingError.
+ ].
+ ^
+#(
"16r00A1" 16r0401 " CYRILLIC CAPITAL LETTER IO "
"16r00A2" 16r0402 " CYRILLIC CAPITAL LETTER DJE "
"16r00A3" 16r0403 " CYRILLIC CAPITAL LETTER GJE "
@@ -5652,7 +19116,155 @@
"16r00FD" 16r00A7 " SECTION SIGN "
"16r00FE" 16r045E " CYRILLIC SMALL LETTER SHORT U "
"16r00FF" 16r045F " CYRILLIC SMALL LETTER DZHE "
- ) at:(code - 160)
+ ) at:(code - 160).
+!
+
+encode:unicode
+ "encode from unicode into my encoding.
+ Do not modify - automatically generated by generateCode"
+
+ unicode < 161 ifTrue:[ ^ unicode ].
+ unicode > 8470 ifTrue:[
+ ^ self encodingError.
+ ].
+ unicode < 1120 ifTrue:[
+ unicode < 174 ifTrue:[
+ [
+ |t|
+ t :=
+#[
+ "16r00A1" 16r00 " invalid "
+ "16r00A2" 16r00 " invalid "
+ "16r00A3" 16r00 " invalid "
+ "16r00A4" 16r00 " invalid "
+ "16r00A5" 16r00 " invalid "
+ "16r00A6" 16r00 " invalid "
+ "16r00A7" 16rFD " SECTION SIGN "
+ "16r00A8" 16r00 " invalid "
+ "16r00A9" 16r00 " invalid "
+ "16r00AA" 16r00 " invalid "
+ "16r00AB" 16r00 " invalid "
+ "16r00AC" 16r00 " invalid "
+ "16r00AD" 16rAD " SOFT HYPHEN "
+ ] at:(unicode - 160).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 1024 ifTrue:[
+ ^ self encodingError.
+ ].
+ [
+ |t|
+ t :=
+#[
+ "16r0401" 16rA1 " CYRILLIC CAPITAL LETTER IO "
+ "16r0402" 16rA2 " CYRILLIC CAPITAL LETTER DJE "
+ "16r0403" 16rA3 " CYRILLIC CAPITAL LETTER GJE "
+ "16r0404" 16rA4 " CYRILLIC CAPITAL LETTER UKRAINIAN IE "
+ "16r0405" 16rA5 " CYRILLIC CAPITAL LETTER DZE "
+ "16r0406" 16rA6 " CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I "
+ "16r0407" 16rA7 " CYRILLIC CAPITAL LETTER YI "
+ "16r0408" 16rA8 " CYRILLIC CAPITAL LETTER JE "
+ "16r0409" 16rA9 " CYRILLIC CAPITAL LETTER LJE "
+ "16r040A" 16rAA " CYRILLIC CAPITAL LETTER NJE "
+ "16r040B" 16rAB " CYRILLIC CAPITAL LETTER TSHE "
+ "16r040C" 16rAC " CYRILLIC CAPITAL LETTER KJE "
+ "16r040D" 16r00 " invalid "
+ "16r040E" 16rAE " CYRILLIC CAPITAL LETTER SHORT U "
+ "16r040F" 16rAF " CYRILLIC CAPITAL LETTER DZHE "
+ "16r0410" 16rB0 " CYRILLIC CAPITAL LETTER A "
+ "16r0411" 16rB1 " CYRILLIC CAPITAL LETTER BE "
+ "16r0412" 16rB2 " CYRILLIC CAPITAL LETTER VE "
+ "16r0413" 16rB3 " CYRILLIC CAPITAL LETTER GHE "
+ "16r0414" 16rB4 " CYRILLIC CAPITAL LETTER DE "
+ "16r0415" 16rB5 " CYRILLIC CAPITAL LETTER IE "
+ "16r0416" 16rB6 " CYRILLIC CAPITAL LETTER ZHE "
+ "16r0417" 16rB7 " CYRILLIC CAPITAL LETTER ZE "
+ "16r0418" 16rB8 " CYRILLIC CAPITAL LETTER I "
+ "16r0419" 16rB9 " CYRILLIC CAPITAL LETTER SHORT I "
+ "16r041A" 16rBA " CYRILLIC CAPITAL LETTER KA "
+ "16r041B" 16rBB " CYRILLIC CAPITAL LETTER EL "
+ "16r041C" 16rBC " CYRILLIC CAPITAL LETTER EM "
+ "16r041D" 16rBD " CYRILLIC CAPITAL LETTER EN "
+ "16r041E" 16rBE " CYRILLIC CAPITAL LETTER O "
+ "16r041F" 16rBF " CYRILLIC CAPITAL LETTER PE "
+ "16r0420" 16rC0 " CYRILLIC CAPITAL LETTER ER "
+ "16r0421" 16rC1 " CYRILLIC CAPITAL LETTER ES "
+ "16r0422" 16rC2 " CYRILLIC CAPITAL LETTER TE "
+ "16r0423" 16rC3 " CYRILLIC CAPITAL LETTER U "
+ "16r0424" 16rC4 " CYRILLIC CAPITAL LETTER EF "
+ "16r0425" 16rC5 " CYRILLIC CAPITAL LETTER HA "
+ "16r0426" 16rC6 " CYRILLIC CAPITAL LETTER TSE "
+ "16r0427" 16rC7 " CYRILLIC CAPITAL LETTER CHE "
+ "16r0428" 16rC8 " CYRILLIC CAPITAL LETTER SHA "
+ "16r0429" 16rC9 " CYRILLIC CAPITAL LETTER SHCHA "
+ "16r042A" 16rCA " CYRILLIC CAPITAL LETTER HARD SIGN "
+ "16r042B" 16rCB " CYRILLIC CAPITAL LETTER YERU "
+ "16r042C" 16rCC " CYRILLIC CAPITAL LETTER SOFT SIGN "
+ "16r042D" 16rCD " CYRILLIC CAPITAL LETTER E "
+ "16r042E" 16rCE " CYRILLIC CAPITAL LETTER YU "
+ "16r042F" 16rCF " CYRILLIC CAPITAL LETTER YA "
+ "16r0430" 16rD0 " CYRILLIC SMALL LETTER A "
+ "16r0431" 16rD1 " CYRILLIC SMALL LETTER BE "
+ "16r0432" 16rD2 " CYRILLIC SMALL LETTER VE "
+ "16r0433" 16rD3 " CYRILLIC SMALL LETTER GHE "
+ "16r0434" 16rD4 " CYRILLIC SMALL LETTER DE "
+ "16r0435" 16rD5 " CYRILLIC SMALL LETTER IE "
+ "16r0436" 16rD6 " CYRILLIC SMALL LETTER ZHE "
+ "16r0437" 16rD7 " CYRILLIC SMALL LETTER ZE "
+ "16r0438" 16rD8 " CYRILLIC SMALL LETTER I "
+ "16r0439" 16rD9 " CYRILLIC SMALL LETTER SHORT I "
+ "16r043A" 16rDA " CYRILLIC SMALL LETTER KA "
+ "16r043B" 16rDB " CYRILLIC SMALL LETTER EL "
+ "16r043C" 16rDC " CYRILLIC SMALL LETTER EM "
+ "16r043D" 16rDD " CYRILLIC SMALL LETTER EN "
+ "16r043E" 16rDE " CYRILLIC SMALL LETTER O "
+ "16r043F" 16rDF " CYRILLIC SMALL LETTER PE "
+ "16r0440" 16rE0 " CYRILLIC SMALL LETTER ER "
+ "16r0441" 16rE1 " CYRILLIC SMALL LETTER ES "
+ "16r0442" 16rE2 " CYRILLIC SMALL LETTER TE "
+ "16r0443" 16rE3 " CYRILLIC SMALL LETTER U "
+ "16r0444" 16rE4 " CYRILLIC SMALL LETTER EF "
+ "16r0445" 16rE5 " CYRILLIC SMALL LETTER HA "
+ "16r0446" 16rE6 " CYRILLIC SMALL LETTER TSE "
+ "16r0447" 16rE7 " CYRILLIC SMALL LETTER CHE "
+ "16r0448" 16rE8 " CYRILLIC SMALL LETTER SHA "
+ "16r0449" 16rE9 " CYRILLIC SMALL LETTER SHCHA "
+ "16r044A" 16rEA " CYRILLIC SMALL LETTER HARD SIGN "
+ "16r044B" 16rEB " CYRILLIC SMALL LETTER YERU "
+ "16r044C" 16rEC " CYRILLIC SMALL LETTER SOFT SIGN "
+ "16r044D" 16rED " CYRILLIC SMALL LETTER E "
+ "16r044E" 16rEE " CYRILLIC SMALL LETTER YU "
+ "16r044F" 16rEF " CYRILLIC SMALL LETTER YA "
+ "16r0450" 16r00 " invalid "
+ "16r0451" 16rF1 " CYRILLIC SMALL LETTER IO "
+ "16r0452" 16rF2 " CYRILLIC SMALL LETTER DJE "
+ "16r0453" 16rF3 " CYRILLIC SMALL LETTER GJE "
+ "16r0454" 16rF4 " CYRILLIC SMALL LETTER UKRAINIAN IE "
+ "16r0455" 16rF5 " CYRILLIC SMALL LETTER DZE "
+ "16r0456" 16rF6 " CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I "
+ "16r0457" 16rF7 " CYRILLIC SMALL LETTER YI "
+ "16r0458" 16rF8 " CYRILLIC SMALL LETTER JE "
+ "16r0459" 16rF9 " CYRILLIC SMALL LETTER LJE "
+ "16r045A" 16rFA " CYRILLIC SMALL LETTER NJE "
+ "16r045B" 16rFB " CYRILLIC SMALL LETTER TSHE "
+ "16r045C" 16rFC " CYRILLIC SMALL LETTER KJE "
+ "16r045D" 16r00 " invalid "
+ "16r045E" 16rFE " CYRILLIC SMALL LETTER SHORT U "
+ "16r045F" 16rFF " CYRILLIC SMALL LETTER DZHE "
+ ] at:(unicode - 1024).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 8469 ifTrue:[
+ ^ self encodingError.
+ ].
+ ^
+#[
+ "16r2116" 16rF0 " NUMERO SIGN "
+ ] at:(unicode - 8469).
! !
!CharacterEncoder::ISO8859_6 class methodsFor:'mapping'!
@@ -5925,53 +19537,62 @@
"
!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-6.TXT'
+mappingURL1_relativePathName
+ ^ 'ISO8859/8859-6.TXT'
+! !
+
+!CharacterEncoder::ISO8859_6 class methodsFor:'queries'!
+
+alternativeNamesOfEncoding
+ ^ #( 'arabic' 'asmo-708' 'ecma-114' 'iso-ir-127' )
! !
!CharacterEncoder::ISO8859_6 methodsFor:'encoding & decoding'!
decode:code
- "automatically generated by generateEncoderCode"
+ "decode from my encoding into unicode.
+ Do not modify - automatically generated by generateCode"
code < 161 ifTrue:[ ^ code ].
code > 242 ifTrue:[
- self error:'invalid code'.
- ^ $? asciiValue
- ].
- ^ #(
- "16r00A1" 16rFFFF " invalid "
- "16r00A2" 16rFFFF " invalid "
- "16r00A3" 16rFFFF " invalid "
+ ^ self decodingError.
+ ].
+ [
+ |t|
+ t :=
+#(
+ "16r00A1" 16r0000 " invalid "
+ "16r00A2" 16r0000 " invalid "
+ "16r00A3" 16r0000 " invalid "
"16r00A4" 16r00A4 " CURRENCY SIGN "
- "16r00A5" 16rFFFF " invalid "
- "16r00A6" 16rFFFF " invalid "
- "16r00A7" 16rFFFF " invalid "
- "16r00A8" 16rFFFF " invalid "
- "16r00A9" 16rFFFF " invalid "
- "16r00AA" 16rFFFF " invalid "
- "16r00AB" 16rFFFF " invalid "
+ "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" 16rFFFF " invalid "
- "16r00AF" 16rFFFF " invalid "
- "16r00B0" 16rFFFF " invalid "
- "16r00B1" 16rFFFF " invalid "
- "16r00B2" 16rFFFF " invalid "
- "16r00B3" 16rFFFF " invalid "
- "16r00B4" 16rFFFF " invalid "
- "16r00B5" 16rFFFF " invalid "
- "16r00B6" 16rFFFF " invalid "
- "16r00B7" 16rFFFF " invalid "
- "16r00B8" 16rFFFF " invalid "
- "16r00B9" 16rFFFF " invalid "
- "16r00BA" 16rFFFF " invalid "
+ "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" 16rFFFF " invalid "
- "16r00BD" 16rFFFF " invalid "
- "16r00BE" 16rFFFF " invalid "
+ "16r00BC" 16r0000 " invalid "
+ "16r00BD" 16r0000 " invalid "
+ "16r00BE" 16r0000 " invalid "
"16r00BF" 16r061F " ARABIC QUESTION MARK "
- "16r00C0" 16rFFFF " invalid "
+ "16r00C0" 16r0000 " invalid "
"16r00C1" 16r0621 " ARABIC LETTER HAMZA "
"16r00C2" 16r0622 " ARABIC LETTER ALEF WITH MADDA ABOVE "
"16r00C3" 16r0623 " ARABIC LETTER ALEF WITH HAMZA ABOVE "
@@ -5998,11 +19619,11 @@
"16r00D8" 16r0638 " ARABIC LETTER ZAH "
"16r00D9" 16r0639 " ARABIC LETTER AIN "
"16r00DA" 16r063A " ARABIC LETTER GHAIN "
- "16r00DB" 16rFFFF " invalid "
- "16r00DC" 16rFFFF " invalid "
- "16r00DD" 16rFFFF " invalid "
- "16r00DE" 16rFFFF " invalid "
- "16r00DF" 16rFFFF " invalid "
+ "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 "
@@ -6022,7 +19643,1491 @@
"16r00F0" 16r0650 " ARABIC KASRA "
"16r00F1" 16r0651 " ARABIC SHADDA "
"16r00F2" 16r0652 " ARABIC SUKUN "
- ) at:(code - 160)
+ ) at:(code - 160).
+ t == 0 ifFalse:[^ t].
+ ^ self decodingError.
+ ] value.
+!
+
+encode:unicode
+ "encode from unicode into my encoding.
+ Do not modify - automatically generated by generateCode"
+
+ unicode < 161 ifTrue:[ ^ unicode ].
+ unicode > 1618 ifTrue:[
+ ^ self encodingError.
+ ].
+ unicode < 1548 ifTrue:[
+ (#[
+ "16r00A1" 0 " invalid "
+ "16r00A2" 0 " invalid "
+ "16r00A3" 0 " invalid "
+ "16r00A4" 1 " CURRENCY SIGN "
+ "16r00A5" 0 " invalid "
+ "16r00A6" 0 " invalid "
+ "16r00A7" 0 " invalid "
+ "16r00A8" 0 " invalid "
+ "16r00A9" 0 " invalid "
+ "16r00AA" 0 " invalid "
+ "16r00AB" 0 " invalid "
+ "16r00AC" 0 " invalid "
+ "16r00AD" 1 " SOFT HYPHEN "
+ "16r00AE" 0 " invalid "
+ "16r00AF" 0 " invalid "
+ "16r00B0" 0 " invalid "
+ "16r00B1" 0 " invalid "
+ "16r00B2" 0 " invalid "
+ "16r00B3" 0 " invalid "
+ "16r00B4" 0 " invalid "
+ "16r00B5" 0 " invalid "
+ "16r00B6" 0 " invalid "
+ "16r00B7" 0 " invalid "
+ "16r00B8" 0 " invalid "
+ "16r00B9" 0 " invalid "
+ "16r00BA" 0 " invalid "
+ "16r00BB" 0 " invalid "
+ "16r00BC" 0 " invalid "
+ "16r00BD" 0 " invalid "
+ "16r00BE" 0 " invalid "
+ "16r00BF" 0 " invalid "
+ "16r00C0" 0 " invalid "
+ "16r00C1" 0 " invalid "
+ "16r00C2" 0 " invalid "
+ "16r00C3" 0 " invalid "
+ "16r00C4" 0 " invalid "
+ "16r00C5" 0 " invalid "
+ "16r00C6" 0 " invalid "
+ "16r00C7" 0 " invalid "
+ "16r00C8" 0 " invalid "
+ "16r00C9" 0 " invalid "
+ "16r00CA" 0 " invalid "
+ "16r00CB" 0 " invalid "
+ "16r00CC" 0 " invalid "
+ "16r00CD" 0 " invalid "
+ "16r00CE" 0 " invalid "
+ "16r00CF" 0 " invalid "
+ "16r00D0" 0 " invalid "
+ "16r00D1" 0 " invalid "
+ "16r00D2" 0 " invalid "
+ "16r00D3" 0 " invalid "
+ "16r00D4" 0 " invalid "
+ "16r00D5" 0 " invalid "
+ "16r00D6" 0 " invalid "
+ "16r00D7" 0 " invalid "
+ "16r00D8" 0 " invalid "
+ "16r00D9" 0 " invalid "
+ "16r00DA" 0 " invalid "
+ "16r00DB" 0 " invalid "
+ "16r00DC" 0 " invalid "
+ "16r00DD" 0 " invalid "
+ "16r00DE" 0 " invalid "
+ "16r00DF" 0 " invalid "
+ "16r00E0" 0 " invalid "
+ "16r00E1" 0 " invalid "
+ "16r00E2" 0 " invalid "
+ "16r00E3" 0 " invalid "
+ "16r00E4" 0 " invalid "
+ "16r00E5" 0 " invalid "
+ "16r00E6" 0 " invalid "
+ "16r00E7" 0 " invalid "
+ "16r00E8" 0 " invalid "
+ "16r00E9" 0 " invalid "
+ "16r00EA" 0 " invalid "
+ "16r00EB" 0 " invalid "
+ "16r00EC" 0 " invalid "
+ "16r00ED" 0 " invalid "
+ "16r00EE" 0 " invalid "
+ "16r00EF" 0 " invalid "
+ "16r00F0" 0 " invalid "
+ "16r00F1" 0 " invalid "
+ "16r00F2" 0 " invalid "
+ "16r00F3" 0 " invalid "
+ "16r00F4" 0 " invalid "
+ "16r00F5" 0 " invalid "
+ "16r00F6" 0 " invalid "
+ "16r00F7" 0 " invalid "
+ "16r00F8" 0 " invalid "
+ "16r00F9" 0 " invalid "
+ "16r00FA" 0 " invalid "
+ "16r00FB" 0 " invalid "
+ "16r00FC" 0 " invalid "
+ "16r00FD" 0 " invalid "
+ "16r00FE" 0 " invalid "
+ "16r00FF" 0 " invalid "
+ "16r0100" 0 " invalid "
+ "16r0101" 0 " invalid "
+ "16r0102" 0 " invalid "
+ "16r0103" 0 " invalid "
+ "16r0104" 0 " invalid "
+ "16r0105" 0 " invalid "
+ "16r0106" 0 " invalid "
+ "16r0107" 0 " invalid "
+ "16r0108" 0 " invalid "
+ "16r0109" 0 " invalid "
+ "16r010A" 0 " invalid "
+ "16r010B" 0 " invalid "
+ "16r010C" 0 " invalid "
+ "16r010D" 0 " invalid "
+ "16r010E" 0 " invalid "
+ "16r010F" 0 " invalid "
+ "16r0110" 0 " invalid "
+ "16r0111" 0 " invalid "
+ "16r0112" 0 " invalid "
+ "16r0113" 0 " invalid "
+ "16r0114" 0 " invalid "
+ "16r0115" 0 " invalid "
+ "16r0116" 0 " invalid "
+ "16r0117" 0 " invalid "
+ "16r0118" 0 " invalid "
+ "16r0119" 0 " invalid "
+ "16r011A" 0 " invalid "
+ "16r011B" 0 " invalid "
+ "16r011C" 0 " invalid "
+ "16r011D" 0 " invalid "
+ "16r011E" 0 " invalid "
+ "16r011F" 0 " invalid "
+ "16r0120" 0 " invalid "
+ "16r0121" 0 " invalid "
+ "16r0122" 0 " invalid "
+ "16r0123" 0 " invalid "
+ "16r0124" 0 " invalid "
+ "16r0125" 0 " invalid "
+ "16r0126" 0 " invalid "
+ "16r0127" 0 " invalid "
+ "16r0128" 0 " invalid "
+ "16r0129" 0 " invalid "
+ "16r012A" 0 " invalid "
+ "16r012B" 0 " invalid "
+ "16r012C" 0 " invalid "
+ "16r012D" 0 " invalid "
+ "16r012E" 0 " invalid "
+ "16r012F" 0 " invalid "
+ "16r0130" 0 " invalid "
+ "16r0131" 0 " invalid "
+ "16r0132" 0 " invalid "
+ "16r0133" 0 " invalid "
+ "16r0134" 0 " invalid "
+ "16r0135" 0 " invalid "
+ "16r0136" 0 " invalid "
+ "16r0137" 0 " invalid "
+ "16r0138" 0 " invalid "
+ "16r0139" 0 " invalid "
+ "16r013A" 0 " invalid "
+ "16r013B" 0 " invalid "
+ "16r013C" 0 " invalid "
+ "16r013D" 0 " invalid "
+ "16r013E" 0 " invalid "
+ "16r013F" 0 " invalid "
+ "16r0140" 0 " invalid "
+ "16r0141" 0 " invalid "
+ "16r0142" 0 " invalid "
+ "16r0143" 0 " invalid "
+ "16r0144" 0 " invalid "
+ "16r0145" 0 " invalid "
+ "16r0146" 0 " invalid "
+ "16r0147" 0 " invalid "
+ "16r0148" 0 " invalid "
+ "16r0149" 0 " invalid "
+ "16r014A" 0 " invalid "
+ "16r014B" 0 " invalid "
+ "16r014C" 0 " invalid "
+ "16r014D" 0 " invalid "
+ "16r014E" 0 " invalid "
+ "16r014F" 0 " invalid "
+ "16r0150" 0 " invalid "
+ "16r0151" 0 " invalid "
+ "16r0152" 0 " invalid "
+ "16r0153" 0 " invalid "
+ "16r0154" 0 " invalid "
+ "16r0155" 0 " invalid "
+ "16r0156" 0 " invalid "
+ "16r0157" 0 " invalid "
+ "16r0158" 0 " invalid "
+ "16r0159" 0 " invalid "
+ "16r015A" 0 " invalid "
+ "16r015B" 0 " invalid "
+ "16r015C" 0 " invalid "
+ "16r015D" 0 " invalid "
+ "16r015E" 0 " invalid "
+ "16r015F" 0 " invalid "
+ "16r0160" 0 " invalid "
+ "16r0161" 0 " invalid "
+ "16r0162" 0 " invalid "
+ "16r0163" 0 " invalid "
+ "16r0164" 0 " invalid "
+ "16r0165" 0 " invalid "
+ "16r0166" 0 " invalid "
+ "16r0167" 0 " invalid "
+ "16r0168" 0 " invalid "
+ "16r0169" 0 " invalid "
+ "16r016A" 0 " invalid "
+ "16r016B" 0 " invalid "
+ "16r016C" 0 " invalid "
+ "16r016D" 0 " invalid "
+ "16r016E" 0 " invalid "
+ "16r016F" 0 " invalid "
+ "16r0170" 0 " invalid "
+ "16r0171" 0 " invalid "
+ "16r0172" 0 " invalid "
+ "16r0173" 0 " invalid "
+ "16r0174" 0 " invalid "
+ "16r0175" 0 " invalid "
+ "16r0176" 0 " invalid "
+ "16r0177" 0 " invalid "
+ "16r0178" 0 " invalid "
+ "16r0179" 0 " invalid "
+ "16r017A" 0 " invalid "
+ "16r017B" 0 " invalid "
+ "16r017C" 0 " invalid "
+ "16r017D" 0 " invalid "
+ "16r017E" 0 " invalid "
+ "16r017F" 0 " invalid "
+ "16r0180" 0 " invalid "
+ "16r0181" 0 " invalid "
+ "16r0182" 0 " invalid "
+ "16r0183" 0 " invalid "
+ "16r0184" 0 " invalid "
+ "16r0185" 0 " invalid "
+ "16r0186" 0 " invalid "
+ "16r0187" 0 " invalid "
+ "16r0188" 0 " invalid "
+ "16r0189" 0 " invalid "
+ "16r018A" 0 " invalid "
+ "16r018B" 0 " invalid "
+ "16r018C" 0 " invalid "
+ "16r018D" 0 " invalid "
+ "16r018E" 0 " invalid "
+ "16r018F" 0 " invalid "
+ "16r0190" 0 " invalid "
+ "16r0191" 0 " invalid "
+ "16r0192" 0 " invalid "
+ "16r0193" 0 " invalid "
+ "16r0194" 0 " invalid "
+ "16r0195" 0 " invalid "
+ "16r0196" 0 " invalid "
+ "16r0197" 0 " invalid "
+ "16r0198" 0 " invalid "
+ "16r0199" 0 " invalid "
+ "16r019A" 0 " invalid "
+ "16r019B" 0 " invalid "
+ "16r019C" 0 " invalid "
+ "16r019D" 0 " invalid "
+ "16r019E" 0 " invalid "
+ "16r019F" 0 " invalid "
+ "16r01A0" 0 " invalid "
+ "16r01A1" 0 " invalid "
+ "16r01A2" 0 " invalid "
+ "16r01A3" 0 " invalid "
+ "16r01A4" 0 " invalid "
+ "16r01A5" 0 " invalid "
+ "16r01A6" 0 " invalid "
+ "16r01A7" 0 " invalid "
+ "16r01A8" 0 " invalid "
+ "16r01A9" 0 " invalid "
+ "16r01AA" 0 " invalid "
+ "16r01AB" 0 " invalid "
+ "16r01AC" 0 " invalid "
+ "16r01AD" 0 " invalid "
+ "16r01AE" 0 " invalid "
+ "16r01AF" 0 " invalid "
+ "16r01B0" 0 " invalid "
+ "16r01B1" 0 " invalid "
+ "16r01B2" 0 " invalid "
+ "16r01B3" 0 " invalid "
+ "16r01B4" 0 " invalid "
+ "16r01B5" 0 " invalid "
+ "16r01B6" 0 " invalid "
+ "16r01B7" 0 " invalid "
+ "16r01B8" 0 " invalid "
+ "16r01B9" 0 " invalid "
+ "16r01BA" 0 " invalid "
+ "16r01BB" 0 " invalid "
+ "16r01BC" 0 " invalid "
+ "16r01BD" 0 " invalid "
+ "16r01BE" 0 " invalid "
+ "16r01BF" 0 " invalid "
+ "16r01C0" 0 " invalid "
+ "16r01C1" 0 " invalid "
+ "16r01C2" 0 " invalid "
+ "16r01C3" 0 " invalid "
+ "16r01C4" 0 " invalid "
+ "16r01C5" 0 " invalid "
+ "16r01C6" 0 " invalid "
+ "16r01C7" 0 " invalid "
+ "16r01C8" 0 " invalid "
+ "16r01C9" 0 " invalid "
+ "16r01CA" 0 " invalid "
+ "16r01CB" 0 " invalid "
+ "16r01CC" 0 " invalid "
+ "16r01CD" 0 " invalid "
+ "16r01CE" 0 " invalid "
+ "16r01CF" 0 " invalid "
+ "16r01D0" 0 " invalid "
+ "16r01D1" 0 " invalid "
+ "16r01D2" 0 " invalid "
+ "16r01D3" 0 " invalid "
+ "16r01D4" 0 " invalid "
+ "16r01D5" 0 " invalid "
+ "16r01D6" 0 " invalid "
+ "16r01D7" 0 " invalid "
+ "16r01D8" 0 " invalid "
+ "16r01D9" 0 " invalid "
+ "16r01DA" 0 " invalid "
+ "16r01DB" 0 " invalid "
+ "16r01DC" 0 " invalid "
+ "16r01DD" 0 " invalid "
+ "16r01DE" 0 " invalid "
+ "16r01DF" 0 " invalid "
+ "16r01E0" 0 " invalid "
+ "16r01E1" 0 " invalid "
+ "16r01E2" 0 " invalid "
+ "16r01E3" 0 " invalid "
+ "16r01E4" 0 " invalid "
+ "16r01E5" 0 " invalid "
+ "16r01E6" 0 " invalid "
+ "16r01E7" 0 " invalid "
+ "16r01E8" 0 " invalid "
+ "16r01E9" 0 " invalid "
+ "16r01EA" 0 " invalid "
+ "16r01EB" 0 " invalid "
+ "16r01EC" 0 " invalid "
+ "16r01ED" 0 " invalid "
+ "16r01EE" 0 " invalid "
+ "16r01EF" 0 " invalid "
+ "16r01F0" 0 " invalid "
+ "16r01F1" 0 " invalid "
+ "16r01F2" 0 " invalid "
+ "16r01F3" 0 " invalid "
+ "16r01F4" 0 " invalid "
+ "16r01F5" 0 " invalid "
+ "16r01F6" 0 " invalid "
+ "16r01F7" 0 " invalid "
+ "16r01F8" 0 " invalid "
+ "16r01F9" 0 " invalid "
+ "16r01FA" 0 " invalid "
+ "16r01FB" 0 " invalid "
+ "16r01FC" 0 " invalid "
+ "16r01FD" 0 " invalid "
+ "16r01FE" 0 " invalid "
+ "16r01FF" 0 " invalid "
+ "16r0200" 0 " invalid "
+ "16r0201" 0 " invalid "
+ "16r0202" 0 " invalid "
+ "16r0203" 0 " invalid "
+ "16r0204" 0 " invalid "
+ "16r0205" 0 " invalid "
+ "16r0206" 0 " invalid "
+ "16r0207" 0 " invalid "
+ "16r0208" 0 " invalid "
+ "16r0209" 0 " invalid "
+ "16r020A" 0 " invalid "
+ "16r020B" 0 " invalid "
+ "16r020C" 0 " invalid "
+ "16r020D" 0 " invalid "
+ "16r020E" 0 " invalid "
+ "16r020F" 0 " invalid "
+ "16r0210" 0 " invalid "
+ "16r0211" 0 " invalid "
+ "16r0212" 0 " invalid "
+ "16r0213" 0 " invalid "
+ "16r0214" 0 " invalid "
+ "16r0215" 0 " invalid "
+ "16r0216" 0 " invalid "
+ "16r0217" 0 " invalid "
+ "16r0218" 0 " invalid "
+ "16r0219" 0 " invalid "
+ "16r021A" 0 " invalid "
+ "16r021B" 0 " invalid "
+ "16r021C" 0 " invalid "
+ "16r021D" 0 " invalid "
+ "16r021E" 0 " invalid "
+ "16r021F" 0 " invalid "
+ "16r0220" 0 " invalid "
+ "16r0221" 0 " invalid "
+ "16r0222" 0 " invalid "
+ "16r0223" 0 " invalid "
+ "16r0224" 0 " invalid "
+ "16r0225" 0 " invalid "
+ "16r0226" 0 " invalid "
+ "16r0227" 0 " invalid "
+ "16r0228" 0 " invalid "
+ "16r0229" 0 " invalid "
+ "16r022A" 0 " invalid "
+ "16r022B" 0 " invalid "
+ "16r022C" 0 " invalid "
+ "16r022D" 0 " invalid "
+ "16r022E" 0 " invalid "
+ "16r022F" 0 " invalid "
+ "16r0230" 0 " invalid "
+ "16r0231" 0 " invalid "
+ "16r0232" 0 " invalid "
+ "16r0233" 0 " invalid "
+ "16r0234" 0 " invalid "
+ "16r0235" 0 " invalid "
+ "16r0236" 0 " invalid "
+ "16r0237" 0 " invalid "
+ "16r0238" 0 " invalid "
+ "16r0239" 0 " invalid "
+ "16r023A" 0 " invalid "
+ "16r023B" 0 " invalid "
+ "16r023C" 0 " invalid "
+ "16r023D" 0 " invalid "
+ "16r023E" 0 " invalid "
+ "16r023F" 0 " invalid "
+ "16r0240" 0 " invalid "
+ "16r0241" 0 " invalid "
+ "16r0242" 0 " invalid "
+ "16r0243" 0 " invalid "
+ "16r0244" 0 " invalid "
+ "16r0245" 0 " invalid "
+ "16r0246" 0 " invalid "
+ "16r0247" 0 " invalid "
+ "16r0248" 0 " invalid "
+ "16r0249" 0 " invalid "
+ "16r024A" 0 " invalid "
+ "16r024B" 0 " invalid "
+ "16r024C" 0 " invalid "
+ "16r024D" 0 " invalid "
+ "16r024E" 0 " invalid "
+ "16r024F" 0 " invalid "
+ "16r0250" 0 " invalid "
+ "16r0251" 0 " invalid "
+ "16r0252" 0 " invalid "
+ "16r0253" 0 " invalid "
+ "16r0254" 0 " invalid "
+ "16r0255" 0 " invalid "
+ "16r0256" 0 " invalid "
+ "16r0257" 0 " invalid "
+ "16r0258" 0 " invalid "
+ "16r0259" 0 " invalid "
+ "16r025A" 0 " invalid "
+ "16r025B" 0 " invalid "
+ "16r025C" 0 " invalid "
+ "16r025D" 0 " invalid "
+ "16r025E" 0 " invalid "
+ "16r025F" 0 " invalid "
+ "16r0260" 0 " invalid "
+ "16r0261" 0 " invalid "
+ "16r0262" 0 " invalid "
+ "16r0263" 0 " invalid "
+ "16r0264" 0 " invalid "
+ "16r0265" 0 " invalid "
+ "16r0266" 0 " invalid "
+ "16r0267" 0 " invalid "
+ "16r0268" 0 " invalid "
+ "16r0269" 0 " invalid "
+ "16r026A" 0 " invalid "
+ "16r026B" 0 " invalid "
+ "16r026C" 0 " invalid "
+ "16r026D" 0 " invalid "
+ "16r026E" 0 " invalid "
+ "16r026F" 0 " invalid "
+ "16r0270" 0 " invalid "
+ "16r0271" 0 " invalid "
+ "16r0272" 0 " invalid "
+ "16r0273" 0 " invalid "
+ "16r0274" 0 " invalid "
+ "16r0275" 0 " invalid "
+ "16r0276" 0 " invalid "
+ "16r0277" 0 " invalid "
+ "16r0278" 0 " invalid "
+ "16r0279" 0 " invalid "
+ "16r027A" 0 " invalid "
+ "16r027B" 0 " invalid "
+ "16r027C" 0 " invalid "
+ "16r027D" 0 " invalid "
+ "16r027E" 0 " invalid "
+ "16r027F" 0 " invalid "
+ "16r0280" 0 " invalid "
+ "16r0281" 0 " invalid "
+ "16r0282" 0 " invalid "
+ "16r0283" 0 " invalid "
+ "16r0284" 0 " invalid "
+ "16r0285" 0 " invalid "
+ "16r0286" 0 " invalid "
+ "16r0287" 0 " invalid "
+ "16r0288" 0 " invalid "
+ "16r0289" 0 " invalid "
+ "16r028A" 0 " invalid "
+ "16r028B" 0 " invalid "
+ "16r028C" 0 " invalid "
+ "16r028D" 0 " invalid "
+ "16r028E" 0 " invalid "
+ "16r028F" 0 " invalid "
+ "16r0290" 0 " invalid "
+ "16r0291" 0 " invalid "
+ "16r0292" 0 " invalid "
+ "16r0293" 0 " invalid "
+ "16r0294" 0 " invalid "
+ "16r0295" 0 " invalid "
+ "16r0296" 0 " invalid "
+ "16r0297" 0 " invalid "
+ "16r0298" 0 " invalid "
+ "16r0299" 0 " invalid "
+ "16r029A" 0 " invalid "
+ "16r029B" 0 " invalid "
+ "16r029C" 0 " invalid "
+ "16r029D" 0 " invalid "
+ "16r029E" 0 " invalid "
+ "16r029F" 0 " invalid "
+ "16r02A0" 0 " invalid "
+ "16r02A1" 0 " invalid "
+ "16r02A2" 0 " invalid "
+ "16r02A3" 0 " invalid "
+ "16r02A4" 0 " invalid "
+ "16r02A5" 0 " invalid "
+ "16r02A6" 0 " invalid "
+ "16r02A7" 0 " invalid "
+ "16r02A8" 0 " invalid "
+ "16r02A9" 0 " invalid "
+ "16r02AA" 0 " invalid "
+ "16r02AB" 0 " invalid "
+ "16r02AC" 0 " invalid "
+ "16r02AD" 0 " invalid "
+ "16r02AE" 0 " invalid "
+ "16r02AF" 0 " invalid "
+ "16r02B0" 0 " invalid "
+ "16r02B1" 0 " invalid "
+ "16r02B2" 0 " invalid "
+ "16r02B3" 0 " invalid "
+ "16r02B4" 0 " invalid "
+ "16r02B5" 0 " invalid "
+ "16r02B6" 0 " invalid "
+ "16r02B7" 0 " invalid "
+ "16r02B8" 0 " invalid "
+ "16r02B9" 0 " invalid "
+ "16r02BA" 0 " invalid "
+ "16r02BB" 0 " invalid "
+ "16r02BC" 0 " invalid "
+ "16r02BD" 0 " invalid "
+ "16r02BE" 0 " invalid "
+ "16r02BF" 0 " invalid "
+ "16r02C0" 0 " invalid "
+ "16r02C1" 0 " invalid "
+ "16r02C2" 0 " invalid "
+ "16r02C3" 0 " invalid "
+ "16r02C4" 0 " invalid "
+ "16r02C5" 0 " invalid "
+ "16r02C6" 0 " invalid "
+ "16r02C7" 0 " invalid "
+ "16r02C8" 0 " invalid "
+ "16r02C9" 0 " invalid "
+ "16r02CA" 0 " invalid "
+ "16r02CB" 0 " invalid "
+ "16r02CC" 0 " invalid "
+ "16r02CD" 0 " invalid "
+ "16r02CE" 0 " invalid "
+ "16r02CF" 0 " invalid "
+ "16r02D0" 0 " invalid "
+ "16r02D1" 0 " invalid "
+ "16r02D2" 0 " invalid "
+ "16r02D3" 0 " invalid "
+ "16r02D4" 0 " invalid "
+ "16r02D5" 0 " invalid "
+ "16r02D6" 0 " invalid "
+ "16r02D7" 0 " invalid "
+ "16r02D8" 0 " invalid "
+ "16r02D9" 0 " invalid "
+ "16r02DA" 0 " invalid "
+ "16r02DB" 0 " invalid "
+ "16r02DC" 0 " invalid "
+ "16r02DD" 0 " invalid "
+ "16r02DE" 0 " invalid "
+ "16r02DF" 0 " invalid "
+ "16r02E0" 0 " invalid "
+ "16r02E1" 0 " invalid "
+ "16r02E2" 0 " invalid "
+ "16r02E3" 0 " invalid "
+ "16r02E4" 0 " invalid "
+ "16r02E5" 0 " invalid "
+ "16r02E6" 0 " invalid "
+ "16r02E7" 0 " invalid "
+ "16r02E8" 0 " invalid "
+ "16r02E9" 0 " invalid "
+ "16r02EA" 0 " invalid "
+ "16r02EB" 0 " invalid "
+ "16r02EC" 0 " invalid "
+ "16r02ED" 0 " invalid "
+ "16r02EE" 0 " invalid "
+ "16r02EF" 0 " invalid "
+ "16r02F0" 0 " invalid "
+ "16r02F1" 0 " invalid "
+ "16r02F2" 0 " invalid "
+ "16r02F3" 0 " invalid "
+ "16r02F4" 0 " invalid "
+ "16r02F5" 0 " invalid "
+ "16r02F6" 0 " invalid "
+ "16r02F7" 0 " invalid "
+ "16r02F8" 0 " invalid "
+ "16r02F9" 0 " invalid "
+ "16r02FA" 0 " invalid "
+ "16r02FB" 0 " invalid "
+ "16r02FC" 0 " invalid "
+ "16r02FD" 0 " invalid "
+ "16r02FE" 0 " invalid "
+ "16r02FF" 0 " invalid "
+ "16r0300" 0 " invalid "
+ "16r0301" 0 " invalid "
+ "16r0302" 0 " invalid "
+ "16r0303" 0 " invalid "
+ "16r0304" 0 " invalid "
+ "16r0305" 0 " invalid "
+ "16r0306" 0 " invalid "
+ "16r0307" 0 " invalid "
+ "16r0308" 0 " invalid "
+ "16r0309" 0 " invalid "
+ "16r030A" 0 " invalid "
+ "16r030B" 0 " invalid "
+ "16r030C" 0 " invalid "
+ "16r030D" 0 " invalid "
+ "16r030E" 0 " invalid "
+ "16r030F" 0 " invalid "
+ "16r0310" 0 " invalid "
+ "16r0311" 0 " invalid "
+ "16r0312" 0 " invalid "
+ "16r0313" 0 " invalid "
+ "16r0314" 0 " invalid "
+ "16r0315" 0 " invalid "
+ "16r0316" 0 " invalid "
+ "16r0317" 0 " invalid "
+ "16r0318" 0 " invalid "
+ "16r0319" 0 " invalid "
+ "16r031A" 0 " invalid "
+ "16r031B" 0 " invalid "
+ "16r031C" 0 " invalid "
+ "16r031D" 0 " invalid "
+ "16r031E" 0 " invalid "
+ "16r031F" 0 " invalid "
+ "16r0320" 0 " invalid "
+ "16r0321" 0 " invalid "
+ "16r0322" 0 " invalid "
+ "16r0323" 0 " invalid "
+ "16r0324" 0 " invalid "
+ "16r0325" 0 " invalid "
+ "16r0326" 0 " invalid "
+ "16r0327" 0 " invalid "
+ "16r0328" 0 " invalid "
+ "16r0329" 0 " invalid "
+ "16r032A" 0 " invalid "
+ "16r032B" 0 " invalid "
+ "16r032C" 0 " invalid "
+ "16r032D" 0 " invalid "
+ "16r032E" 0 " invalid "
+ "16r032F" 0 " invalid "
+ "16r0330" 0 " invalid "
+ "16r0331" 0 " invalid "
+ "16r0332" 0 " invalid "
+ "16r0333" 0 " invalid "
+ "16r0334" 0 " invalid "
+ "16r0335" 0 " invalid "
+ "16r0336" 0 " invalid "
+ "16r0337" 0 " invalid "
+ "16r0338" 0 " invalid "
+ "16r0339" 0 " invalid "
+ "16r033A" 0 " invalid "
+ "16r033B" 0 " invalid "
+ "16r033C" 0 " invalid "
+ "16r033D" 0 " invalid "
+ "16r033E" 0 " invalid "
+ "16r033F" 0 " invalid "
+ "16r0340" 0 " invalid "
+ "16r0341" 0 " invalid "
+ "16r0342" 0 " invalid "
+ "16r0343" 0 " invalid "
+ "16r0344" 0 " invalid "
+ "16r0345" 0 " invalid "
+ "16r0346" 0 " invalid "
+ "16r0347" 0 " invalid "
+ "16r0348" 0 " invalid "
+ "16r0349" 0 " invalid "
+ "16r034A" 0 " invalid "
+ "16r034B" 0 " invalid "
+ "16r034C" 0 " invalid "
+ "16r034D" 0 " invalid "
+ "16r034E" 0 " invalid "
+ "16r034F" 0 " invalid "
+ "16r0350" 0 " invalid "
+ "16r0351" 0 " invalid "
+ "16r0352" 0 " invalid "
+ "16r0353" 0 " invalid "
+ "16r0354" 0 " invalid "
+ "16r0355" 0 " invalid "
+ "16r0356" 0 " invalid "
+ "16r0357" 0 " invalid "
+ "16r0358" 0 " invalid "
+ "16r0359" 0 " invalid "
+ "16r035A" 0 " invalid "
+ "16r035B" 0 " invalid "
+ "16r035C" 0 " invalid "
+ "16r035D" 0 " invalid "
+ "16r035E" 0 " invalid "
+ "16r035F" 0 " invalid "
+ "16r0360" 0 " invalid "
+ "16r0361" 0 " invalid "
+ "16r0362" 0 " invalid "
+ "16r0363" 0 " invalid "
+ "16r0364" 0 " invalid "
+ "16r0365" 0 " invalid "
+ "16r0366" 0 " invalid "
+ "16r0367" 0 " invalid "
+ "16r0368" 0 " invalid "
+ "16r0369" 0 " invalid "
+ "16r036A" 0 " invalid "
+ "16r036B" 0 " invalid "
+ "16r036C" 0 " invalid "
+ "16r036D" 0 " invalid "
+ "16r036E" 0 " invalid "
+ "16r036F" 0 " invalid "
+ "16r0370" 0 " invalid "
+ "16r0371" 0 " invalid "
+ "16r0372" 0 " invalid "
+ "16r0373" 0 " invalid "
+ "16r0374" 0 " invalid "
+ "16r0375" 0 " invalid "
+ "16r0376" 0 " invalid "
+ "16r0377" 0 " invalid "
+ "16r0378" 0 " invalid "
+ "16r0379" 0 " invalid "
+ "16r037A" 0 " invalid "
+ "16r037B" 0 " invalid "
+ "16r037C" 0 " invalid "
+ "16r037D" 0 " invalid "
+ "16r037E" 0 " invalid "
+ "16r037F" 0 " invalid "
+ "16r0380" 0 " invalid "
+ "16r0381" 0 " invalid "
+ "16r0382" 0 " invalid "
+ "16r0383" 0 " invalid "
+ "16r0384" 0 " invalid "
+ "16r0385" 0 " invalid "
+ "16r0386" 0 " invalid "
+ "16r0387" 0 " invalid "
+ "16r0388" 0 " invalid "
+ "16r0389" 0 " invalid "
+ "16r038A" 0 " invalid "
+ "16r038B" 0 " invalid "
+ "16r038C" 0 " invalid "
+ "16r038D" 0 " invalid "
+ "16r038E" 0 " invalid "
+ "16r038F" 0 " invalid "
+ "16r0390" 0 " invalid "
+ "16r0391" 0 " invalid "
+ "16r0392" 0 " invalid "
+ "16r0393" 0 " invalid "
+ "16r0394" 0 " invalid "
+ "16r0395" 0 " invalid "
+ "16r0396" 0 " invalid "
+ "16r0397" 0 " invalid "
+ "16r0398" 0 " invalid "
+ "16r0399" 0 " invalid "
+ "16r039A" 0 " invalid "
+ "16r039B" 0 " invalid "
+ "16r039C" 0 " invalid "
+ "16r039D" 0 " invalid "
+ "16r039E" 0 " invalid "
+ "16r039F" 0 " invalid "
+ "16r03A0" 0 " invalid "
+ "16r03A1" 0 " invalid "
+ "16r03A2" 0 " invalid "
+ "16r03A3" 0 " invalid "
+ "16r03A4" 0 " invalid "
+ "16r03A5" 0 " invalid "
+ "16r03A6" 0 " invalid "
+ "16r03A7" 0 " invalid "
+ "16r03A8" 0 " invalid "
+ "16r03A9" 0 " invalid "
+ "16r03AA" 0 " invalid "
+ "16r03AB" 0 " invalid "
+ "16r03AC" 0 " invalid "
+ "16r03AD" 0 " invalid "
+ "16r03AE" 0 " invalid "
+ "16r03AF" 0 " invalid "
+ "16r03B0" 0 " invalid "
+ "16r03B1" 0 " invalid "
+ "16r03B2" 0 " invalid "
+ "16r03B3" 0 " invalid "
+ "16r03B4" 0 " invalid "
+ "16r03B5" 0 " invalid "
+ "16r03B6" 0 " invalid "
+ "16r03B7" 0 " invalid "
+ "16r03B8" 0 " invalid "
+ "16r03B9" 0 " invalid "
+ "16r03BA" 0 " invalid "
+ "16r03BB" 0 " invalid "
+ "16r03BC" 0 " invalid "
+ "16r03BD" 0 " invalid "
+ "16r03BE" 0 " invalid "
+ "16r03BF" 0 " invalid "
+ "16r03C0" 0 " invalid "
+ "16r03C1" 0 " invalid "
+ "16r03C2" 0 " invalid "
+ "16r03C3" 0 " invalid "
+ "16r03C4" 0 " invalid "
+ "16r03C5" 0 " invalid "
+ "16r03C6" 0 " invalid "
+ "16r03C7" 0 " invalid "
+ "16r03C8" 0 " invalid "
+ "16r03C9" 0 " invalid "
+ "16r03CA" 0 " invalid "
+ "16r03CB" 0 " invalid "
+ "16r03CC" 0 " invalid "
+ "16r03CD" 0 " invalid "
+ "16r03CE" 0 " invalid "
+ "16r03CF" 0 " invalid "
+ "16r03D0" 0 " invalid "
+ "16r03D1" 0 " invalid "
+ "16r03D2" 0 " invalid "
+ "16r03D3" 0 " invalid "
+ "16r03D4" 0 " invalid "
+ "16r03D5" 0 " invalid "
+ "16r03D6" 0 " invalid "
+ "16r03D7" 0 " invalid "
+ "16r03D8" 0 " invalid "
+ "16r03D9" 0 " invalid "
+ "16r03DA" 0 " invalid "
+ "16r03DB" 0 " invalid "
+ "16r03DC" 0 " invalid "
+ "16r03DD" 0 " invalid "
+ "16r03DE" 0 " invalid "
+ "16r03DF" 0 " invalid "
+ "16r03E0" 0 " invalid "
+ "16r03E1" 0 " invalid "
+ "16r03E2" 0 " invalid "
+ "16r03E3" 0 " invalid "
+ "16r03E4" 0 " invalid "
+ "16r03E5" 0 " invalid "
+ "16r03E6" 0 " invalid "
+ "16r03E7" 0 " invalid "
+ "16r03E8" 0 " invalid "
+ "16r03E9" 0 " invalid "
+ "16r03EA" 0 " invalid "
+ "16r03EB" 0 " invalid "
+ "16r03EC" 0 " invalid "
+ "16r03ED" 0 " invalid "
+ "16r03EE" 0 " invalid "
+ "16r03EF" 0 " invalid "
+ "16r03F0" 0 " invalid "
+ "16r03F1" 0 " invalid "
+ "16r03F2" 0 " invalid "
+ "16r03F3" 0 " invalid "
+ "16r03F4" 0 " invalid "
+ "16r03F5" 0 " invalid "
+ "16r03F6" 0 " invalid "
+ "16r03F7" 0 " invalid "
+ "16r03F8" 0 " invalid "
+ "16r03F9" 0 " invalid "
+ "16r03FA" 0 " invalid "
+ "16r03FB" 0 " invalid "
+ "16r03FC" 0 " invalid "
+ "16r03FD" 0 " invalid "
+ "16r03FE" 0 " invalid "
+ "16r03FF" 0 " invalid "
+ "16r0400" 0 " invalid "
+ "16r0401" 0 " invalid "
+ "16r0402" 0 " invalid "
+ "16r0403" 0 " invalid "
+ "16r0404" 0 " invalid "
+ "16r0405" 0 " invalid "
+ "16r0406" 0 " invalid "
+ "16r0407" 0 " invalid "
+ "16r0408" 0 " invalid "
+ "16r0409" 0 " invalid "
+ "16r040A" 0 " invalid "
+ "16r040B" 0 " invalid "
+ "16r040C" 0 " invalid "
+ "16r040D" 0 " invalid "
+ "16r040E" 0 " invalid "
+ "16r040F" 0 " invalid "
+ "16r0410" 0 " invalid "
+ "16r0411" 0 " invalid "
+ "16r0412" 0 " invalid "
+ "16r0413" 0 " invalid "
+ "16r0414" 0 " invalid "
+ "16r0415" 0 " invalid "
+ "16r0416" 0 " invalid "
+ "16r0417" 0 " invalid "
+ "16r0418" 0 " invalid "
+ "16r0419" 0 " invalid "
+ "16r041A" 0 " invalid "
+ "16r041B" 0 " invalid "
+ "16r041C" 0 " invalid "
+ "16r041D" 0 " invalid "
+ "16r041E" 0 " invalid "
+ "16r041F" 0 " invalid "
+ "16r0420" 0 " invalid "
+ "16r0421" 0 " invalid "
+ "16r0422" 0 " invalid "
+ "16r0423" 0 " invalid "
+ "16r0424" 0 " invalid "
+ "16r0425" 0 " invalid "
+ "16r0426" 0 " invalid "
+ "16r0427" 0 " invalid "
+ "16r0428" 0 " invalid "
+ "16r0429" 0 " invalid "
+ "16r042A" 0 " invalid "
+ "16r042B" 0 " invalid "
+ "16r042C" 0 " invalid "
+ "16r042D" 0 " invalid "
+ "16r042E" 0 " invalid "
+ "16r042F" 0 " invalid "
+ "16r0430" 0 " invalid "
+ "16r0431" 0 " invalid "
+ "16r0432" 0 " invalid "
+ "16r0433" 0 " invalid "
+ "16r0434" 0 " invalid "
+ "16r0435" 0 " invalid "
+ "16r0436" 0 " invalid "
+ "16r0437" 0 " invalid "
+ "16r0438" 0 " invalid "
+ "16r0439" 0 " invalid "
+ "16r043A" 0 " invalid "
+ "16r043B" 0 " invalid "
+ "16r043C" 0 " invalid "
+ "16r043D" 0 " invalid "
+ "16r043E" 0 " invalid "
+ "16r043F" 0 " invalid "
+ "16r0440" 0 " invalid "
+ "16r0441" 0 " invalid "
+ "16r0442" 0 " invalid "
+ "16r0443" 0 " invalid "
+ "16r0444" 0 " invalid "
+ "16r0445" 0 " invalid "
+ "16r0446" 0 " invalid "
+ "16r0447" 0 " invalid "
+ "16r0448" 0 " invalid "
+ "16r0449" 0 " invalid "
+ "16r044A" 0 " invalid "
+ "16r044B" 0 " invalid "
+ "16r044C" 0 " invalid "
+ "16r044D" 0 " invalid "
+ "16r044E" 0 " invalid "
+ "16r044F" 0 " invalid "
+ "16r0450" 0 " invalid "
+ "16r0451" 0 " invalid "
+ "16r0452" 0 " invalid "
+ "16r0453" 0 " invalid "
+ "16r0454" 0 " invalid "
+ "16r0455" 0 " invalid "
+ "16r0456" 0 " invalid "
+ "16r0457" 0 " invalid "
+ "16r0458" 0 " invalid "
+ "16r0459" 0 " invalid "
+ "16r045A" 0 " invalid "
+ "16r045B" 0 " invalid "
+ "16r045C" 0 " invalid "
+ "16r045D" 0 " invalid "
+ "16r045E" 0 " invalid "
+ "16r045F" 0 " invalid "
+ "16r0460" 0 " invalid "
+ "16r0461" 0 " invalid "
+ "16r0462" 0 " invalid "
+ "16r0463" 0 " invalid "
+ "16r0464" 0 " invalid "
+ "16r0465" 0 " invalid "
+ "16r0466" 0 " invalid "
+ "16r0467" 0 " invalid "
+ "16r0468" 0 " invalid "
+ "16r0469" 0 " invalid "
+ "16r046A" 0 " invalid "
+ "16r046B" 0 " invalid "
+ "16r046C" 0 " invalid "
+ "16r046D" 0 " invalid "
+ "16r046E" 0 " invalid "
+ "16r046F" 0 " invalid "
+ "16r0470" 0 " invalid "
+ "16r0471" 0 " invalid "
+ "16r0472" 0 " invalid "
+ "16r0473" 0 " invalid "
+ "16r0474" 0 " invalid "
+ "16r0475" 0 " invalid "
+ "16r0476" 0 " invalid "
+ "16r0477" 0 " invalid "
+ "16r0478" 0 " invalid "
+ "16r0479" 0 " invalid "
+ "16r047A" 0 " invalid "
+ "16r047B" 0 " invalid "
+ "16r047C" 0 " invalid "
+ "16r047D" 0 " invalid "
+ "16r047E" 0 " invalid "
+ "16r047F" 0 " invalid "
+ "16r0480" 0 " invalid "
+ "16r0481" 0 " invalid "
+ "16r0482" 0 " invalid "
+ "16r0483" 0 " invalid "
+ "16r0484" 0 " invalid "
+ "16r0485" 0 " invalid "
+ "16r0486" 0 " invalid "
+ "16r0487" 0 " invalid "
+ "16r0488" 0 " invalid "
+ "16r0489" 0 " invalid "
+ "16r048A" 0 " invalid "
+ "16r048B" 0 " invalid "
+ "16r048C" 0 " invalid "
+ "16r048D" 0 " invalid "
+ "16r048E" 0 " invalid "
+ "16r048F" 0 " invalid "
+ "16r0490" 0 " invalid "
+ "16r0491" 0 " invalid "
+ "16r0492" 0 " invalid "
+ "16r0493" 0 " invalid "
+ "16r0494" 0 " invalid "
+ "16r0495" 0 " invalid "
+ "16r0496" 0 " invalid "
+ "16r0497" 0 " invalid "
+ "16r0498" 0 " invalid "
+ "16r0499" 0 " invalid "
+ "16r049A" 0 " invalid "
+ "16r049B" 0 " invalid "
+ "16r049C" 0 " invalid "
+ "16r049D" 0 " invalid "
+ "16r049E" 0 " invalid "
+ "16r049F" 0 " invalid "
+ "16r04A0" 0 " invalid "
+ "16r04A1" 0 " invalid "
+ "16r04A2" 0 " invalid "
+ "16r04A3" 0 " invalid "
+ "16r04A4" 0 " invalid "
+ "16r04A5" 0 " invalid "
+ "16r04A6" 0 " invalid "
+ "16r04A7" 0 " invalid "
+ "16r04A8" 0 " invalid "
+ "16r04A9" 0 " invalid "
+ "16r04AA" 0 " invalid "
+ "16r04AB" 0 " invalid "
+ "16r04AC" 0 " invalid "
+ "16r04AD" 0 " invalid "
+ "16r04AE" 0 " invalid "
+ "16r04AF" 0 " invalid "
+ "16r04B0" 0 " invalid "
+ "16r04B1" 0 " invalid "
+ "16r04B2" 0 " invalid "
+ "16r04B3" 0 " invalid "
+ "16r04B4" 0 " invalid "
+ "16r04B5" 0 " invalid "
+ "16r04B6" 0 " invalid "
+ "16r04B7" 0 " invalid "
+ "16r04B8" 0 " invalid "
+ "16r04B9" 0 " invalid "
+ "16r04BA" 0 " invalid "
+ "16r04BB" 0 " invalid "
+ "16r04BC" 0 " invalid "
+ "16r04BD" 0 " invalid "
+ "16r04BE" 0 " invalid "
+ "16r04BF" 0 " invalid "
+ "16r04C0" 0 " invalid "
+ "16r04C1" 0 " invalid "
+ "16r04C2" 0 " invalid "
+ "16r04C3" 0 " invalid "
+ "16r04C4" 0 " invalid "
+ "16r04C5" 0 " invalid "
+ "16r04C6" 0 " invalid "
+ "16r04C7" 0 " invalid "
+ "16r04C8" 0 " invalid "
+ "16r04C9" 0 " invalid "
+ "16r04CA" 0 " invalid "
+ "16r04CB" 0 " invalid "
+ "16r04CC" 0 " invalid "
+ "16r04CD" 0 " invalid "
+ "16r04CE" 0 " invalid "
+ "16r04CF" 0 " invalid "
+ "16r04D0" 0 " invalid "
+ "16r04D1" 0 " invalid "
+ "16r04D2" 0 " invalid "
+ "16r04D3" 0 " invalid "
+ "16r04D4" 0 " invalid "
+ "16r04D5" 0 " invalid "
+ "16r04D6" 0 " invalid "
+ "16r04D7" 0 " invalid "
+ "16r04D8" 0 " invalid "
+ "16r04D9" 0 " invalid "
+ "16r04DA" 0 " invalid "
+ "16r04DB" 0 " invalid "
+ "16r04DC" 0 " invalid "
+ "16r04DD" 0 " invalid "
+ "16r04DE" 0 " invalid "
+ "16r04DF" 0 " invalid "
+ "16r04E0" 0 " invalid "
+ "16r04E1" 0 " invalid "
+ "16r04E2" 0 " invalid "
+ "16r04E3" 0 " invalid "
+ "16r04E4" 0 " invalid "
+ "16r04E5" 0 " invalid "
+ "16r04E6" 0 " invalid "
+ "16r04E7" 0 " invalid "
+ "16r04E8" 0 " invalid "
+ "16r04E9" 0 " invalid "
+ "16r04EA" 0 " invalid "
+ "16r04EB" 0 " invalid "
+ "16r04EC" 0 " invalid "
+ "16r04ED" 0 " invalid "
+ "16r04EE" 0 " invalid "
+ "16r04EF" 0 " invalid "
+ "16r04F0" 0 " invalid "
+ "16r04F1" 0 " invalid "
+ "16r04F2" 0 " invalid "
+ "16r04F3" 0 " invalid "
+ "16r04F4" 0 " invalid "
+ "16r04F5" 0 " invalid "
+ "16r04F6" 0 " invalid "
+ "16r04F7" 0 " invalid "
+ "16r04F8" 0 " invalid "
+ "16r04F9" 0 " invalid "
+ "16r04FA" 0 " invalid "
+ "16r04FB" 0 " invalid "
+ "16r04FC" 0 " invalid "
+ "16r04FD" 0 " invalid "
+ "16r04FE" 0 " invalid "
+ "16r04FF" 0 " invalid "
+ "16r0500" 0 " invalid "
+ "16r0501" 0 " invalid "
+ "16r0502" 0 " invalid "
+ "16r0503" 0 " invalid "
+ "16r0504" 0 " invalid "
+ "16r0505" 0 " invalid "
+ "16r0506" 0 " invalid "
+ "16r0507" 0 " invalid "
+ "16r0508" 0 " invalid "
+ "16r0509" 0 " invalid "
+ "16r050A" 0 " invalid "
+ "16r050B" 0 " invalid "
+ "16r050C" 0 " invalid "
+ "16r050D" 0 " invalid "
+ "16r050E" 0 " invalid "
+ "16r050F" 0 " invalid "
+ "16r0510" 0 " invalid "
+ "16r0511" 0 " invalid "
+ "16r0512" 0 " invalid "
+ "16r0513" 0 " invalid "
+ "16r0514" 0 " invalid "
+ "16r0515" 0 " invalid "
+ "16r0516" 0 " invalid "
+ "16r0517" 0 " invalid "
+ "16r0518" 0 " invalid "
+ "16r0519" 0 " invalid "
+ "16r051A" 0 " invalid "
+ "16r051B" 0 " invalid "
+ "16r051C" 0 " invalid "
+ "16r051D" 0 " invalid "
+ "16r051E" 0 " invalid "
+ "16r051F" 0 " invalid "
+ "16r0520" 0 " invalid "
+ "16r0521" 0 " invalid "
+ "16r0522" 0 " invalid "
+ "16r0523" 0 " invalid "
+ "16r0524" 0 " invalid "
+ "16r0525" 0 " invalid "
+ "16r0526" 0 " invalid "
+ "16r0527" 0 " invalid "
+ "16r0528" 0 " invalid "
+ "16r0529" 0 " invalid "
+ "16r052A" 0 " invalid "
+ "16r052B" 0 " invalid "
+ "16r052C" 0 " invalid "
+ "16r052D" 0 " invalid "
+ "16r052E" 0 " invalid "
+ "16r052F" 0 " invalid "
+ "16r0530" 0 " invalid "
+ "16r0531" 0 " invalid "
+ "16r0532" 0 " invalid "
+ "16r0533" 0 " invalid "
+ "16r0534" 0 " invalid "
+ "16r0535" 0 " invalid "
+ "16r0536" 0 " invalid "
+ "16r0537" 0 " invalid "
+ "16r0538" 0 " invalid "
+ "16r0539" 0 " invalid "
+ "16r053A" 0 " invalid "
+ "16r053B" 0 " invalid "
+ "16r053C" 0 " invalid "
+ "16r053D" 0 " invalid "
+ "16r053E" 0 " invalid "
+ "16r053F" 0 " invalid "
+ "16r0540" 0 " invalid "
+ "16r0541" 0 " invalid "
+ "16r0542" 0 " invalid "
+ "16r0543" 0 " invalid "
+ "16r0544" 0 " invalid "
+ "16r0545" 0 " invalid "
+ "16r0546" 0 " invalid "
+ "16r0547" 0 " invalid "
+ "16r0548" 0 " invalid "
+ "16r0549" 0 " invalid "
+ "16r054A" 0 " invalid "
+ "16r054B" 0 " invalid "
+ "16r054C" 0 " invalid "
+ "16r054D" 0 " invalid "
+ "16r054E" 0 " invalid "
+ "16r054F" 0 " invalid "
+ "16r0550" 0 " invalid "
+ "16r0551" 0 " invalid "
+ "16r0552" 0 " invalid "
+ "16r0553" 0 " invalid "
+ "16r0554" 0 " invalid "
+ "16r0555" 0 " invalid "
+ "16r0556" 0 " invalid "
+ "16r0557" 0 " invalid "
+ "16r0558" 0 " invalid "
+ "16r0559" 0 " invalid "
+ "16r055A" 0 " invalid "
+ "16r055B" 0 " invalid "
+ "16r055C" 0 " invalid "
+ "16r055D" 0 " invalid "
+ "16r055E" 0 " invalid "
+ "16r055F" 0 " invalid "
+ "16r0560" 0 " invalid "
+ "16r0561" 0 " invalid "
+ "16r0562" 0 " invalid "
+ "16r0563" 0 " invalid "
+ "16r0564" 0 " invalid "
+ "16r0565" 0 " invalid "
+ "16r0566" 0 " invalid "
+ "16r0567" 0 " invalid "
+ "16r0568" 0 " invalid "
+ "16r0569" 0 " invalid "
+ "16r056A" 0 " invalid "
+ "16r056B" 0 " invalid "
+ "16r056C" 0 " invalid "
+ "16r056D" 0 " invalid "
+ "16r056E" 0 " invalid "
+ "16r056F" 0 " invalid "
+ "16r0570" 0 " invalid "
+ "16r0571" 0 " invalid "
+ "16r0572" 0 " invalid "
+ "16r0573" 0 " invalid "
+ "16r0574" 0 " invalid "
+ "16r0575" 0 " invalid "
+ "16r0576" 0 " invalid "
+ "16r0577" 0 " invalid "
+ "16r0578" 0 " invalid "
+ "16r0579" 0 " invalid "
+ "16r057A" 0 " invalid "
+ "16r057B" 0 " invalid "
+ "16r057C" 0 " invalid "
+ "16r057D" 0 " invalid "
+ "16r057E" 0 " invalid "
+ "16r057F" 0 " invalid "
+ "16r0580" 0 " invalid "
+ "16r0581" 0 " invalid "
+ "16r0582" 0 " invalid "
+ "16r0583" 0 " invalid "
+ "16r0584" 0 " invalid "
+ "16r0585" 0 " invalid "
+ "16r0586" 0 " invalid "
+ "16r0587" 0 " invalid "
+ "16r0588" 0 " invalid "
+ "16r0589" 0 " invalid "
+ "16r058A" 0 " invalid "
+ "16r058B" 0 " invalid "
+ "16r058C" 0 " invalid "
+ "16r058D" 0 " invalid "
+ "16r058E" 0 " invalid "
+ "16r058F" 0 " invalid "
+ "16r0590" 0 " invalid "
+ "16r0591" 0 " invalid "
+ "16r0592" 0 " invalid "
+ "16r0593" 0 " invalid "
+ "16r0594" 0 " invalid "
+ "16r0595" 0 " invalid "
+ "16r0596" 0 " invalid "
+ "16r0597" 0 " invalid "
+ "16r0598" 0 " invalid "
+ "16r0599" 0 " invalid "
+ "16r059A" 0 " invalid "
+ "16r059B" 0 " invalid "
+ "16r059C" 0 " invalid "
+ "16r059D" 0 " invalid "
+ "16r059E" 0 " invalid "
+ "16r059F" 0 " invalid "
+ "16r05A0" 0 " invalid "
+ "16r05A1" 0 " invalid "
+ "16r05A2" 0 " invalid "
+ "16r05A3" 0 " invalid "
+ "16r05A4" 0 " invalid "
+ "16r05A5" 0 " invalid "
+ "16r05A6" 0 " invalid "
+ "16r05A7" 0 " invalid "
+ "16r05A8" 0 " invalid "
+ "16r05A9" 0 " invalid "
+ "16r05AA" 0 " invalid "
+ "16r05AB" 0 " invalid "
+ "16r05AC" 0 " invalid "
+ "16r05AD" 0 " invalid "
+ "16r05AE" 0 " invalid "
+ "16r05AF" 0 " invalid "
+ "16r05B0" 0 " invalid "
+ "16r05B1" 0 " invalid "
+ "16r05B2" 0 " invalid "
+ "16r05B3" 0 " invalid "
+ "16r05B4" 0 " invalid "
+ "16r05B5" 0 " invalid "
+ "16r05B6" 0 " invalid "
+ "16r05B7" 0 " invalid "
+ "16r05B8" 0 " invalid "
+ "16r05B9" 0 " invalid "
+ "16r05BA" 0 " invalid "
+ "16r05BB" 0 " invalid "
+ "16r05BC" 0 " invalid "
+ "16r05BD" 0 " invalid "
+ "16r05BE" 0 " invalid "
+ "16r05BF" 0 " invalid "
+ "16r05C0" 0 " invalid "
+ "16r05C1" 0 " invalid "
+ "16r05C2" 0 " invalid "
+ "16r05C3" 0 " invalid "
+ "16r05C4" 0 " invalid "
+ "16r05C5" 0 " invalid "
+ "16r05C6" 0 " invalid "
+ "16r05C7" 0 " invalid "
+ "16r05C8" 0 " invalid "
+ "16r05C9" 0 " invalid "
+ "16r05CA" 0 " invalid "
+ "16r05CB" 0 " invalid "
+ "16r05CC" 0 " invalid "
+ "16r05CD" 0 " invalid "
+ "16r05CE" 0 " invalid "
+ "16r05CF" 0 " invalid "
+ "16r05D0" 0 " invalid "
+ "16r05D1" 0 " invalid "
+ "16r05D2" 0 " invalid "
+ "16r05D3" 0 " invalid "
+ "16r05D4" 0 " invalid "
+ "16r05D5" 0 " invalid "
+ "16r05D6" 0 " invalid "
+ "16r05D7" 0 " invalid "
+ "16r05D8" 0 " invalid "
+ "16r05D9" 0 " invalid "
+ "16r05DA" 0 " invalid "
+ "16r05DB" 0 " invalid "
+ "16r05DC" 0 " invalid "
+ "16r05DD" 0 " invalid "
+ "16r05DE" 0 " invalid "
+ "16r05DF" 0 " invalid "
+ "16r05E0" 0 " invalid "
+ "16r05E1" 0 " invalid "
+ "16r05E2" 0 " invalid "
+ "16r05E3" 0 " invalid "
+ "16r05E4" 0 " invalid "
+ "16r05E5" 0 " invalid "
+ "16r05E6" 0 " invalid "
+ "16r05E7" 0 " invalid "
+ "16r05E8" 0 " invalid "
+ "16r05E9" 0 " invalid "
+ "16r05EA" 0 " invalid "
+ "16r05EB" 0 " invalid "
+ "16r05EC" 0 " invalid "
+ "16r05ED" 0 " invalid "
+ "16r05EE" 0 " invalid "
+ "16r05EF" 0 " invalid "
+ "16r05F0" 0 " invalid "
+ "16r05F1" 0 " invalid "
+ "16r05F2" 0 " invalid "
+ "16r05F3" 0 " invalid "
+ "16r05F4" 0 " invalid "
+ "16r05F5" 0 " invalid "
+ "16r05F6" 0 " invalid "
+ "16r05F7" 0 " invalid "
+ "16r05F8" 0 " invalid "
+ "16r05F9" 0 " invalid "
+ "16r05FA" 0 " invalid "
+ "16r05FB" 0 " invalid "
+ "16r05FC" 0 " invalid "
+ "16r05FD" 0 " invalid "
+ "16r05FE" 0 " invalid "
+ "16r05FF" 0 " invalid "
+ "16r0600" 0 " invalid "
+ "16r0601" 0 " invalid "
+ "16r0602" 0 " invalid "
+ "16r0603" 0 " invalid "
+ "16r0604" 0 " invalid "
+ "16r0605" 0 " invalid "
+ "16r0606" 0 " invalid "
+ "16r0607" 0 " invalid "
+ "16r0608" 0 " invalid "
+ "16r0609" 0 " invalid "
+ "16r060A" 0 " invalid "
+ "16r060B" 0 " invalid "
+ ] at:(unicode - 160)) ~~ 0 ifTrue:[^ unicode].
+ ^ 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 - 1547).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
! !
!CharacterEncoder::ISO8859_7 class methodsFor:'mapping'!
@@ -6343,21 +21448,30 @@
"
!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-7.TXT'
+mappingURL1_relativePathName
+ ^ 'ISO8859/8859-7.TXT'
+! !
+
+!CharacterEncoder::ISO8859_7 class methodsFor:'queries'!
+
+alternativeNamesOfEncoding
+ ^ #( 'greek' 'iso-ir-126' 'ecma-118')
! !
!CharacterEncoder::ISO8859_7 methodsFor:'encoding & decoding'!
decode:code
- "automatically generated by generateEncoderCode"
+ "decode from my encoding into unicode.
+ Do not modify - automatically generated by generateCode"
code < 161 ifTrue:[ ^ code ].
code > 254 ifTrue:[
- self error:'invalid code'.
- ^ $? asciiValue
- ].
- ^ #(
+ ^ self decodingError.
+ ].
+ [
+ |t|
+ t :=
+#(
"16r00A1" 16r2018 " LEFT SINGLE QUOTATION MARK "
"16r00A2" 16r2019 " RIGHT SINGLE QUOTATION MARK "
"16r00A3" 16r00A3 " POUND SIGN "
@@ -6371,7 +21485,7 @@
"16r00AB" 16r00AB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK "
"16r00AC" 16r00AC " NOT SIGN "
"16r00AD" 16r00AD " SOFT HYPHEN "
- "16r00AE" 16rFFFF " invalid "
+ "16r00AE" 16r0000 " invalid "
"16r00AF" 16r2015 " HORIZONTAL BAR "
"16r00B0" 16r00B0 " DEGREE SIGN "
"16r00B1" 16r00B1 " PLUS-MINUS SIGN "
@@ -6407,7 +21521,7 @@
"16r00CF" 16r039F " GREEK CAPITAL LETTER OMICRON "
"16r00D0" 16r03A0 " GREEK CAPITAL LETTER PI "
"16r00D1" 16r03A1 " GREEK CAPITAL LETTER RHO "
- "16r00D2" 16rFFFF " invalid "
+ "16r00D2" 16r0000 " invalid "
"16r00D3" 16r03A3 " GREEK CAPITAL LETTER SIGMA "
"16r00D4" 16r03A4 " GREEK CAPITAL LETTER TAU "
"16r00D5" 16r03A5 " GREEK CAPITAL LETTER UPSILON "
@@ -6452,7 +21566,882 @@
"16r00FC" 16r03CC " GREEK SMALL LETTER OMICRON WITH TONOS "
"16r00FD" 16r03CD " GREEK SMALL LETTER UPSILON WITH TONOS "
"16r00FE" 16r03CE " GREEK SMALL LETTER OMEGA WITH TONOS "
- ) at:(code - 160)
+ ) at:(code - 160).
+ t == 0 ifFalse:[^ t].
+ ^ self decodingError.
+ ] value.
+!
+
+encode:unicode
+ "encode from unicode into my encoding.
+ Do not modify - automatically generated by generateCode"
+
+ unicode < 161 ifTrue:[ ^ unicode ].
+ unicode > 8367 ifTrue:[
+ ^ self encodingError.
+ ].
+ unicode < 890 ifTrue:[
+ (#[
+ "16r00A1" 0 " invalid "
+ "16r00A2" 0 " invalid "
+ "16r00A3" 1 " POUND SIGN "
+ "16r00A4" 0 " invalid "
+ "16r00A5" 0 " invalid "
+ "16r00A6" 1 " BROKEN BAR "
+ "16r00A7" 1 " SECTION SIGN "
+ "16r00A8" 1 " DIAERESIS "
+ "16r00A9" 1 " COPYRIGHT SIGN "
+ "16r00AA" 0 " invalid "
+ "16r00AB" 1 " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00AC" 1 " NOT SIGN "
+ "16r00AD" 1 " SOFT HYPHEN "
+ "16r00AE" 0 " invalid "
+ "16r00AF" 0 " invalid "
+ "16r00B0" 1 " DEGREE SIGN "
+ "16r00B1" 1 " PLUS-MINUS SIGN "
+ "16r00B2" 1 " SUPERSCRIPT TWO "
+ "16r00B3" 1 " SUPERSCRIPT THREE "
+ "16r00B4" 0 " invalid "
+ "16r00B5" 0 " invalid "
+ "16r00B6" 0 " invalid "
+ "16r00B7" 1 " MIDDLE DOT "
+ "16r00B8" 0 " invalid "
+ "16r00B9" 0 " invalid "
+ "16r00BA" 0 " invalid "
+ "16r00BB" 1 " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00BC" 0 " invalid "
+ "16r00BD" 1 " VULGAR FRACTION ONE HALF "
+ "16r00BE" 0 " invalid "
+ "16r00BF" 0 " invalid "
+ "16r00C0" 0 " invalid "
+ "16r00C1" 0 " invalid "
+ "16r00C2" 0 " invalid "
+ "16r00C3" 0 " invalid "
+ "16r00C4" 0 " invalid "
+ "16r00C5" 0 " invalid "
+ "16r00C6" 0 " invalid "
+ "16r00C7" 0 " invalid "
+ "16r00C8" 0 " invalid "
+ "16r00C9" 0 " invalid "
+ "16r00CA" 0 " invalid "
+ "16r00CB" 0 " invalid "
+ "16r00CC" 0 " invalid "
+ "16r00CD" 0 " invalid "
+ "16r00CE" 0 " invalid "
+ "16r00CF" 0 " invalid "
+ "16r00D0" 0 " invalid "
+ "16r00D1" 0 " invalid "
+ "16r00D2" 0 " invalid "
+ "16r00D3" 0 " invalid "
+ "16r00D4" 0 " invalid "
+ "16r00D5" 0 " invalid "
+ "16r00D6" 0 " invalid "
+ "16r00D7" 0 " invalid "
+ "16r00D8" 0 " invalid "
+ "16r00D9" 0 " invalid "
+ "16r00DA" 0 " invalid "
+ "16r00DB" 0 " invalid "
+ "16r00DC" 0 " invalid "
+ "16r00DD" 0 " invalid "
+ "16r00DE" 0 " invalid "
+ "16r00DF" 0 " invalid "
+ "16r00E0" 0 " invalid "
+ "16r00E1" 0 " invalid "
+ "16r00E2" 0 " invalid "
+ "16r00E3" 0 " invalid "
+ "16r00E4" 0 " invalid "
+ "16r00E5" 0 " invalid "
+ "16r00E6" 0 " invalid "
+ "16r00E7" 0 " invalid "
+ "16r00E8" 0 " invalid "
+ "16r00E9" 0 " invalid "
+ "16r00EA" 0 " invalid "
+ "16r00EB" 0 " invalid "
+ "16r00EC" 0 " invalid "
+ "16r00ED" 0 " invalid "
+ "16r00EE" 0 " invalid "
+ "16r00EF" 0 " invalid "
+ "16r00F0" 0 " invalid "
+ "16r00F1" 0 " invalid "
+ "16r00F2" 0 " invalid "
+ "16r00F3" 0 " invalid "
+ "16r00F4" 0 " invalid "
+ "16r00F5" 0 " invalid "
+ "16r00F6" 0 " invalid "
+ "16r00F7" 0 " invalid "
+ "16r00F8" 0 " invalid "
+ "16r00F9" 0 " invalid "
+ "16r00FA" 0 " invalid "
+ "16r00FB" 0 " invalid "
+ "16r00FC" 0 " invalid "
+ "16r00FD" 0 " invalid "
+ "16r00FE" 0 " invalid "
+ "16r00FF" 0 " invalid "
+ "16r0100" 0 " invalid "
+ "16r0101" 0 " invalid "
+ "16r0102" 0 " invalid "
+ "16r0103" 0 " invalid "
+ "16r0104" 0 " invalid "
+ "16r0105" 0 " invalid "
+ "16r0106" 0 " invalid "
+ "16r0107" 0 " invalid "
+ "16r0108" 0 " invalid "
+ "16r0109" 0 " invalid "
+ "16r010A" 0 " invalid "
+ "16r010B" 0 " invalid "
+ "16r010C" 0 " invalid "
+ "16r010D" 0 " invalid "
+ "16r010E" 0 " invalid "
+ "16r010F" 0 " invalid "
+ "16r0110" 0 " invalid "
+ "16r0111" 0 " invalid "
+ "16r0112" 0 " invalid "
+ "16r0113" 0 " invalid "
+ "16r0114" 0 " invalid "
+ "16r0115" 0 " invalid "
+ "16r0116" 0 " invalid "
+ "16r0117" 0 " invalid "
+ "16r0118" 0 " invalid "
+ "16r0119" 0 " invalid "
+ "16r011A" 0 " invalid "
+ "16r011B" 0 " invalid "
+ "16r011C" 0 " invalid "
+ "16r011D" 0 " invalid "
+ "16r011E" 0 " invalid "
+ "16r011F" 0 " invalid "
+ "16r0120" 0 " invalid "
+ "16r0121" 0 " invalid "
+ "16r0122" 0 " invalid "
+ "16r0123" 0 " invalid "
+ "16r0124" 0 " invalid "
+ "16r0125" 0 " invalid "
+ "16r0126" 0 " invalid "
+ "16r0127" 0 " invalid "
+ "16r0128" 0 " invalid "
+ "16r0129" 0 " invalid "
+ "16r012A" 0 " invalid "
+ "16r012B" 0 " invalid "
+ "16r012C" 0 " invalid "
+ "16r012D" 0 " invalid "
+ "16r012E" 0 " invalid "
+ "16r012F" 0 " invalid "
+ "16r0130" 0 " invalid "
+ "16r0131" 0 " invalid "
+ "16r0132" 0 " invalid "
+ "16r0133" 0 " invalid "
+ "16r0134" 0 " invalid "
+ "16r0135" 0 " invalid "
+ "16r0136" 0 " invalid "
+ "16r0137" 0 " invalid "
+ "16r0138" 0 " invalid "
+ "16r0139" 0 " invalid "
+ "16r013A" 0 " invalid "
+ "16r013B" 0 " invalid "
+ "16r013C" 0 " invalid "
+ "16r013D" 0 " invalid "
+ "16r013E" 0 " invalid "
+ "16r013F" 0 " invalid "
+ "16r0140" 0 " invalid "
+ "16r0141" 0 " invalid "
+ "16r0142" 0 " invalid "
+ "16r0143" 0 " invalid "
+ "16r0144" 0 " invalid "
+ "16r0145" 0 " invalid "
+ "16r0146" 0 " invalid "
+ "16r0147" 0 " invalid "
+ "16r0148" 0 " invalid "
+ "16r0149" 0 " invalid "
+ "16r014A" 0 " invalid "
+ "16r014B" 0 " invalid "
+ "16r014C" 0 " invalid "
+ "16r014D" 0 " invalid "
+ "16r014E" 0 " invalid "
+ "16r014F" 0 " invalid "
+ "16r0150" 0 " invalid "
+ "16r0151" 0 " invalid "
+ "16r0152" 0 " invalid "
+ "16r0153" 0 " invalid "
+ "16r0154" 0 " invalid "
+ "16r0155" 0 " invalid "
+ "16r0156" 0 " invalid "
+ "16r0157" 0 " invalid "
+ "16r0158" 0 " invalid "
+ "16r0159" 0 " invalid "
+ "16r015A" 0 " invalid "
+ "16r015B" 0 " invalid "
+ "16r015C" 0 " invalid "
+ "16r015D" 0 " invalid "
+ "16r015E" 0 " invalid "
+ "16r015F" 0 " invalid "
+ "16r0160" 0 " invalid "
+ "16r0161" 0 " invalid "
+ "16r0162" 0 " invalid "
+ "16r0163" 0 " invalid "
+ "16r0164" 0 " invalid "
+ "16r0165" 0 " invalid "
+ "16r0166" 0 " invalid "
+ "16r0167" 0 " invalid "
+ "16r0168" 0 " invalid "
+ "16r0169" 0 " invalid "
+ "16r016A" 0 " invalid "
+ "16r016B" 0 " invalid "
+ "16r016C" 0 " invalid "
+ "16r016D" 0 " invalid "
+ "16r016E" 0 " invalid "
+ "16r016F" 0 " invalid "
+ "16r0170" 0 " invalid "
+ "16r0171" 0 " invalid "
+ "16r0172" 0 " invalid "
+ "16r0173" 0 " invalid "
+ "16r0174" 0 " invalid "
+ "16r0175" 0 " invalid "
+ "16r0176" 0 " invalid "
+ "16r0177" 0 " invalid "
+ "16r0178" 0 " invalid "
+ "16r0179" 0 " invalid "
+ "16r017A" 0 " invalid "
+ "16r017B" 0 " invalid "
+ "16r017C" 0 " invalid "
+ "16r017D" 0 " invalid "
+ "16r017E" 0 " invalid "
+ "16r017F" 0 " invalid "
+ "16r0180" 0 " invalid "
+ "16r0181" 0 " invalid "
+ "16r0182" 0 " invalid "
+ "16r0183" 0 " invalid "
+ "16r0184" 0 " invalid "
+ "16r0185" 0 " invalid "
+ "16r0186" 0 " invalid "
+ "16r0187" 0 " invalid "
+ "16r0188" 0 " invalid "
+ "16r0189" 0 " invalid "
+ "16r018A" 0 " invalid "
+ "16r018B" 0 " invalid "
+ "16r018C" 0 " invalid "
+ "16r018D" 0 " invalid "
+ "16r018E" 0 " invalid "
+ "16r018F" 0 " invalid "
+ "16r0190" 0 " invalid "
+ "16r0191" 0 " invalid "
+ "16r0192" 0 " invalid "
+ "16r0193" 0 " invalid "
+ "16r0194" 0 " invalid "
+ "16r0195" 0 " invalid "
+ "16r0196" 0 " invalid "
+ "16r0197" 0 " invalid "
+ "16r0198" 0 " invalid "
+ "16r0199" 0 " invalid "
+ "16r019A" 0 " invalid "
+ "16r019B" 0 " invalid "
+ "16r019C" 0 " invalid "
+ "16r019D" 0 " invalid "
+ "16r019E" 0 " invalid "
+ "16r019F" 0 " invalid "
+ "16r01A0" 0 " invalid "
+ "16r01A1" 0 " invalid "
+ "16r01A2" 0 " invalid "
+ "16r01A3" 0 " invalid "
+ "16r01A4" 0 " invalid "
+ "16r01A5" 0 " invalid "
+ "16r01A6" 0 " invalid "
+ "16r01A7" 0 " invalid "
+ "16r01A8" 0 " invalid "
+ "16r01A9" 0 " invalid "
+ "16r01AA" 0 " invalid "
+ "16r01AB" 0 " invalid "
+ "16r01AC" 0 " invalid "
+ "16r01AD" 0 " invalid "
+ "16r01AE" 0 " invalid "
+ "16r01AF" 0 " invalid "
+ "16r01B0" 0 " invalid "
+ "16r01B1" 0 " invalid "
+ "16r01B2" 0 " invalid "
+ "16r01B3" 0 " invalid "
+ "16r01B4" 0 " invalid "
+ "16r01B5" 0 " invalid "
+ "16r01B6" 0 " invalid "
+ "16r01B7" 0 " invalid "
+ "16r01B8" 0 " invalid "
+ "16r01B9" 0 " invalid "
+ "16r01BA" 0 " invalid "
+ "16r01BB" 0 " invalid "
+ "16r01BC" 0 " invalid "
+ "16r01BD" 0 " invalid "
+ "16r01BE" 0 " invalid "
+ "16r01BF" 0 " invalid "
+ "16r01C0" 0 " invalid "
+ "16r01C1" 0 " invalid "
+ "16r01C2" 0 " invalid "
+ "16r01C3" 0 " invalid "
+ "16r01C4" 0 " invalid "
+ "16r01C5" 0 " invalid "
+ "16r01C6" 0 " invalid "
+ "16r01C7" 0 " invalid "
+ "16r01C8" 0 " invalid "
+ "16r01C9" 0 " invalid "
+ "16r01CA" 0 " invalid "
+ "16r01CB" 0 " invalid "
+ "16r01CC" 0 " invalid "
+ "16r01CD" 0 " invalid "
+ "16r01CE" 0 " invalid "
+ "16r01CF" 0 " invalid "
+ "16r01D0" 0 " invalid "
+ "16r01D1" 0 " invalid "
+ "16r01D2" 0 " invalid "
+ "16r01D3" 0 " invalid "
+ "16r01D4" 0 " invalid "
+ "16r01D5" 0 " invalid "
+ "16r01D6" 0 " invalid "
+ "16r01D7" 0 " invalid "
+ "16r01D8" 0 " invalid "
+ "16r01D9" 0 " invalid "
+ "16r01DA" 0 " invalid "
+ "16r01DB" 0 " invalid "
+ "16r01DC" 0 " invalid "
+ "16r01DD" 0 " invalid "
+ "16r01DE" 0 " invalid "
+ "16r01DF" 0 " invalid "
+ "16r01E0" 0 " invalid "
+ "16r01E1" 0 " invalid "
+ "16r01E2" 0 " invalid "
+ "16r01E3" 0 " invalid "
+ "16r01E4" 0 " invalid "
+ "16r01E5" 0 " invalid "
+ "16r01E6" 0 " invalid "
+ "16r01E7" 0 " invalid "
+ "16r01E8" 0 " invalid "
+ "16r01E9" 0 " invalid "
+ "16r01EA" 0 " invalid "
+ "16r01EB" 0 " invalid "
+ "16r01EC" 0 " invalid "
+ "16r01ED" 0 " invalid "
+ "16r01EE" 0 " invalid "
+ "16r01EF" 0 " invalid "
+ "16r01F0" 0 " invalid "
+ "16r01F1" 0 " invalid "
+ "16r01F2" 0 " invalid "
+ "16r01F3" 0 " invalid "
+ "16r01F4" 0 " invalid "
+ "16r01F5" 0 " invalid "
+ "16r01F6" 0 " invalid "
+ "16r01F7" 0 " invalid "
+ "16r01F8" 0 " invalid "
+ "16r01F9" 0 " invalid "
+ "16r01FA" 0 " invalid "
+ "16r01FB" 0 " invalid "
+ "16r01FC" 0 " invalid "
+ "16r01FD" 0 " invalid "
+ "16r01FE" 0 " invalid "
+ "16r01FF" 0 " invalid "
+ "16r0200" 0 " invalid "
+ "16r0201" 0 " invalid "
+ "16r0202" 0 " invalid "
+ "16r0203" 0 " invalid "
+ "16r0204" 0 " invalid "
+ "16r0205" 0 " invalid "
+ "16r0206" 0 " invalid "
+ "16r0207" 0 " invalid "
+ "16r0208" 0 " invalid "
+ "16r0209" 0 " invalid "
+ "16r020A" 0 " invalid "
+ "16r020B" 0 " invalid "
+ "16r020C" 0 " invalid "
+ "16r020D" 0 " invalid "
+ "16r020E" 0 " invalid "
+ "16r020F" 0 " invalid "
+ "16r0210" 0 " invalid "
+ "16r0211" 0 " invalid "
+ "16r0212" 0 " invalid "
+ "16r0213" 0 " invalid "
+ "16r0214" 0 " invalid "
+ "16r0215" 0 " invalid "
+ "16r0216" 0 " invalid "
+ "16r0217" 0 " invalid "
+ "16r0218" 0 " invalid "
+ "16r0219" 0 " invalid "
+ "16r021A" 0 " invalid "
+ "16r021B" 0 " invalid "
+ "16r021C" 0 " invalid "
+ "16r021D" 0 " invalid "
+ "16r021E" 0 " invalid "
+ "16r021F" 0 " invalid "
+ "16r0220" 0 " invalid "
+ "16r0221" 0 " invalid "
+ "16r0222" 0 " invalid "
+ "16r0223" 0 " invalid "
+ "16r0224" 0 " invalid "
+ "16r0225" 0 " invalid "
+ "16r0226" 0 " invalid "
+ "16r0227" 0 " invalid "
+ "16r0228" 0 " invalid "
+ "16r0229" 0 " invalid "
+ "16r022A" 0 " invalid "
+ "16r022B" 0 " invalid "
+ "16r022C" 0 " invalid "
+ "16r022D" 0 " invalid "
+ "16r022E" 0 " invalid "
+ "16r022F" 0 " invalid "
+ "16r0230" 0 " invalid "
+ "16r0231" 0 " invalid "
+ "16r0232" 0 " invalid "
+ "16r0233" 0 " invalid "
+ "16r0234" 0 " invalid "
+ "16r0235" 0 " invalid "
+ "16r0236" 0 " invalid "
+ "16r0237" 0 " invalid "
+ "16r0238" 0 " invalid "
+ "16r0239" 0 " invalid "
+ "16r023A" 0 " invalid "
+ "16r023B" 0 " invalid "
+ "16r023C" 0 " invalid "
+ "16r023D" 0 " invalid "
+ "16r023E" 0 " invalid "
+ "16r023F" 0 " invalid "
+ "16r0240" 0 " invalid "
+ "16r0241" 0 " invalid "
+ "16r0242" 0 " invalid "
+ "16r0243" 0 " invalid "
+ "16r0244" 0 " invalid "
+ "16r0245" 0 " invalid "
+ "16r0246" 0 " invalid "
+ "16r0247" 0 " invalid "
+ "16r0248" 0 " invalid "
+ "16r0249" 0 " invalid "
+ "16r024A" 0 " invalid "
+ "16r024B" 0 " invalid "
+ "16r024C" 0 " invalid "
+ "16r024D" 0 " invalid "
+ "16r024E" 0 " invalid "
+ "16r024F" 0 " invalid "
+ "16r0250" 0 " invalid "
+ "16r0251" 0 " invalid "
+ "16r0252" 0 " invalid "
+ "16r0253" 0 " invalid "
+ "16r0254" 0 " invalid "
+ "16r0255" 0 " invalid "
+ "16r0256" 0 " invalid "
+ "16r0257" 0 " invalid "
+ "16r0258" 0 " invalid "
+ "16r0259" 0 " invalid "
+ "16r025A" 0 " invalid "
+ "16r025B" 0 " invalid "
+ "16r025C" 0 " invalid "
+ "16r025D" 0 " invalid "
+ "16r025E" 0 " invalid "
+ "16r025F" 0 " invalid "
+ "16r0260" 0 " invalid "
+ "16r0261" 0 " invalid "
+ "16r0262" 0 " invalid "
+ "16r0263" 0 " invalid "
+ "16r0264" 0 " invalid "
+ "16r0265" 0 " invalid "
+ "16r0266" 0 " invalid "
+ "16r0267" 0 " invalid "
+ "16r0268" 0 " invalid "
+ "16r0269" 0 " invalid "
+ "16r026A" 0 " invalid "
+ "16r026B" 0 " invalid "
+ "16r026C" 0 " invalid "
+ "16r026D" 0 " invalid "
+ "16r026E" 0 " invalid "
+ "16r026F" 0 " invalid "
+ "16r0270" 0 " invalid "
+ "16r0271" 0 " invalid "
+ "16r0272" 0 " invalid "
+ "16r0273" 0 " invalid "
+ "16r0274" 0 " invalid "
+ "16r0275" 0 " invalid "
+ "16r0276" 0 " invalid "
+ "16r0277" 0 " invalid "
+ "16r0278" 0 " invalid "
+ "16r0279" 0 " invalid "
+ "16r027A" 0 " invalid "
+ "16r027B" 0 " invalid "
+ "16r027C" 0 " invalid "
+ "16r027D" 0 " invalid "
+ "16r027E" 0 " invalid "
+ "16r027F" 0 " invalid "
+ "16r0280" 0 " invalid "
+ "16r0281" 0 " invalid "
+ "16r0282" 0 " invalid "
+ "16r0283" 0 " invalid "
+ "16r0284" 0 " invalid "
+ "16r0285" 0 " invalid "
+ "16r0286" 0 " invalid "
+ "16r0287" 0 " invalid "
+ "16r0288" 0 " invalid "
+ "16r0289" 0 " invalid "
+ "16r028A" 0 " invalid "
+ "16r028B" 0 " invalid "
+ "16r028C" 0 " invalid "
+ "16r028D" 0 " invalid "
+ "16r028E" 0 " invalid "
+ "16r028F" 0 " invalid "
+ "16r0290" 0 " invalid "
+ "16r0291" 0 " invalid "
+ "16r0292" 0 " invalid "
+ "16r0293" 0 " invalid "
+ "16r0294" 0 " invalid "
+ "16r0295" 0 " invalid "
+ "16r0296" 0 " invalid "
+ "16r0297" 0 " invalid "
+ "16r0298" 0 " invalid "
+ "16r0299" 0 " invalid "
+ "16r029A" 0 " invalid "
+ "16r029B" 0 " invalid "
+ "16r029C" 0 " invalid "
+ "16r029D" 0 " invalid "
+ "16r029E" 0 " invalid "
+ "16r029F" 0 " invalid "
+ "16r02A0" 0 " invalid "
+ "16r02A1" 0 " invalid "
+ "16r02A2" 0 " invalid "
+ "16r02A3" 0 " invalid "
+ "16r02A4" 0 " invalid "
+ "16r02A5" 0 " invalid "
+ "16r02A6" 0 " invalid "
+ "16r02A7" 0 " invalid "
+ "16r02A8" 0 " invalid "
+ "16r02A9" 0 " invalid "
+ "16r02AA" 0 " invalid "
+ "16r02AB" 0 " invalid "
+ "16r02AC" 0 " invalid "
+ "16r02AD" 0 " invalid "
+ "16r02AE" 0 " invalid "
+ "16r02AF" 0 " invalid "
+ "16r02B0" 0 " invalid "
+ "16r02B1" 0 " invalid "
+ "16r02B2" 0 " invalid "
+ "16r02B3" 0 " invalid "
+ "16r02B4" 0 " invalid "
+ "16r02B5" 0 " invalid "
+ "16r02B6" 0 " invalid "
+ "16r02B7" 0 " invalid "
+ "16r02B8" 0 " invalid "
+ "16r02B9" 0 " invalid "
+ "16r02BA" 0 " invalid "
+ "16r02BB" 0 " invalid "
+ "16r02BC" 0 " invalid "
+ "16r02BD" 0 " invalid "
+ "16r02BE" 0 " invalid "
+ "16r02BF" 0 " invalid "
+ "16r02C0" 0 " invalid "
+ "16r02C1" 0 " invalid "
+ "16r02C2" 0 " invalid "
+ "16r02C3" 0 " invalid "
+ "16r02C4" 0 " invalid "
+ "16r02C5" 0 " invalid "
+ "16r02C6" 0 " invalid "
+ "16r02C7" 0 " invalid "
+ "16r02C8" 0 " invalid "
+ "16r02C9" 0 " invalid "
+ "16r02CA" 0 " invalid "
+ "16r02CB" 0 " invalid "
+ "16r02CC" 0 " invalid "
+ "16r02CD" 0 " invalid "
+ "16r02CE" 0 " invalid "
+ "16r02CF" 0 " invalid "
+ "16r02D0" 0 " invalid "
+ "16r02D1" 0 " invalid "
+ "16r02D2" 0 " invalid "
+ "16r02D3" 0 " invalid "
+ "16r02D4" 0 " invalid "
+ "16r02D5" 0 " invalid "
+ "16r02D6" 0 " invalid "
+ "16r02D7" 0 " invalid "
+ "16r02D8" 0 " invalid "
+ "16r02D9" 0 " invalid "
+ "16r02DA" 0 " invalid "
+ "16r02DB" 0 " invalid "
+ "16r02DC" 0 " invalid "
+ "16r02DD" 0 " invalid "
+ "16r02DE" 0 " invalid "
+ "16r02DF" 0 " invalid "
+ "16r02E0" 0 " invalid "
+ "16r02E1" 0 " invalid "
+ "16r02E2" 0 " invalid "
+ "16r02E3" 0 " invalid "
+ "16r02E4" 0 " invalid "
+ "16r02E5" 0 " invalid "
+ "16r02E6" 0 " invalid "
+ "16r02E7" 0 " invalid "
+ "16r02E8" 0 " invalid "
+ "16r02E9" 0 " invalid "
+ "16r02EA" 0 " invalid "
+ "16r02EB" 0 " invalid "
+ "16r02EC" 0 " invalid "
+ "16r02ED" 0 " invalid "
+ "16r02EE" 0 " invalid "
+ "16r02EF" 0 " invalid "
+ "16r02F0" 0 " invalid "
+ "16r02F1" 0 " invalid "
+ "16r02F2" 0 " invalid "
+ "16r02F3" 0 " invalid "
+ "16r02F4" 0 " invalid "
+ "16r02F5" 0 " invalid "
+ "16r02F6" 0 " invalid "
+ "16r02F7" 0 " invalid "
+ "16r02F8" 0 " invalid "
+ "16r02F9" 0 " invalid "
+ "16r02FA" 0 " invalid "
+ "16r02FB" 0 " invalid "
+ "16r02FC" 0 " invalid "
+ "16r02FD" 0 " invalid "
+ "16r02FE" 0 " invalid "
+ "16r02FF" 0 " invalid "
+ "16r0300" 0 " invalid "
+ "16r0301" 0 " invalid "
+ "16r0302" 0 " invalid "
+ "16r0303" 0 " invalid "
+ "16r0304" 0 " invalid "
+ "16r0305" 0 " invalid "
+ "16r0306" 0 " invalid "
+ "16r0307" 0 " invalid "
+ "16r0308" 0 " invalid "
+ "16r0309" 0 " invalid "
+ "16r030A" 0 " invalid "
+ "16r030B" 0 " invalid "
+ "16r030C" 0 " invalid "
+ "16r030D" 0 " invalid "
+ "16r030E" 0 " invalid "
+ "16r030F" 0 " invalid "
+ "16r0310" 0 " invalid "
+ "16r0311" 0 " invalid "
+ "16r0312" 0 " invalid "
+ "16r0313" 0 " invalid "
+ "16r0314" 0 " invalid "
+ "16r0315" 0 " invalid "
+ "16r0316" 0 " invalid "
+ "16r0317" 0 " invalid "
+ "16r0318" 0 " invalid "
+ "16r0319" 0 " invalid "
+ "16r031A" 0 " invalid "
+ "16r031B" 0 " invalid "
+ "16r031C" 0 " invalid "
+ "16r031D" 0 " invalid "
+ "16r031E" 0 " invalid "
+ "16r031F" 0 " invalid "
+ "16r0320" 0 " invalid "
+ "16r0321" 0 " invalid "
+ "16r0322" 0 " invalid "
+ "16r0323" 0 " invalid "
+ "16r0324" 0 " invalid "
+ "16r0325" 0 " invalid "
+ "16r0326" 0 " invalid "
+ "16r0327" 0 " invalid "
+ "16r0328" 0 " invalid "
+ "16r0329" 0 " invalid "
+ "16r032A" 0 " invalid "
+ "16r032B" 0 " invalid "
+ "16r032C" 0 " invalid "
+ "16r032D" 0 " invalid "
+ "16r032E" 0 " invalid "
+ "16r032F" 0 " invalid "
+ "16r0330" 0 " invalid "
+ "16r0331" 0 " invalid "
+ "16r0332" 0 " invalid "
+ "16r0333" 0 " invalid "
+ "16r0334" 0 " invalid "
+ "16r0335" 0 " invalid "
+ "16r0336" 0 " invalid "
+ "16r0337" 0 " invalid "
+ "16r0338" 0 " invalid "
+ "16r0339" 0 " invalid "
+ "16r033A" 0 " invalid "
+ "16r033B" 0 " invalid "
+ "16r033C" 0 " invalid "
+ "16r033D" 0 " invalid "
+ "16r033E" 0 " invalid "
+ "16r033F" 0 " invalid "
+ "16r0340" 0 " invalid "
+ "16r0341" 0 " invalid "
+ "16r0342" 0 " invalid "
+ "16r0343" 0 " invalid "
+ "16r0344" 0 " invalid "
+ "16r0345" 0 " invalid "
+ "16r0346" 0 " invalid "
+ "16r0347" 0 " invalid "
+ "16r0348" 0 " invalid "
+ "16r0349" 0 " invalid "
+ "16r034A" 0 " invalid "
+ "16r034B" 0 " invalid "
+ "16r034C" 0 " invalid "
+ "16r034D" 0 " invalid "
+ "16r034E" 0 " invalid "
+ "16r034F" 0 " invalid "
+ "16r0350" 0 " invalid "
+ "16r0351" 0 " invalid "
+ "16r0352" 0 " invalid "
+ "16r0353" 0 " invalid "
+ "16r0354" 0 " invalid "
+ "16r0355" 0 " invalid "
+ "16r0356" 0 " invalid "
+ "16r0357" 0 " invalid "
+ "16r0358" 0 " invalid "
+ "16r0359" 0 " invalid "
+ "16r035A" 0 " invalid "
+ "16r035B" 0 " invalid "
+ "16r035C" 0 " invalid "
+ "16r035D" 0 " invalid "
+ "16r035E" 0 " invalid "
+ "16r035F" 0 " invalid "
+ "16r0360" 0 " invalid "
+ "16r0361" 0 " invalid "
+ "16r0362" 0 " invalid "
+ "16r0363" 0 " invalid "
+ "16r0364" 0 " invalid "
+ "16r0365" 0 " invalid "
+ "16r0366" 0 " invalid "
+ "16r0367" 0 " invalid "
+ "16r0368" 0 " invalid "
+ "16r0369" 0 " invalid "
+ "16r036A" 0 " invalid "
+ "16r036B" 0 " invalid "
+ "16r036C" 0 " invalid "
+ "16r036D" 0 " invalid "
+ "16r036E" 0 " invalid "
+ "16r036F" 0 " invalid "
+ "16r0370" 0 " invalid "
+ "16r0371" 0 " invalid "
+ "16r0372" 0 " invalid "
+ "16r0373" 0 " invalid "
+ "16r0374" 0 " invalid "
+ "16r0375" 0 " invalid "
+ "16r0376" 0 " invalid "
+ "16r0377" 0 " invalid "
+ "16r0378" 0 " invalid "
+ "16r0379" 0 " invalid "
+ ] at:(unicode - 160)) ~~ 0 ifTrue:[^ unicode].
+ ^ self encodingError.
+ ].
+ unicode < 975 ifTrue:[
+ [
+ |t|
+ t :=
+#[
+ "16r037A" 16rAA " GREEK YPOGEGRAMMENI "
+ "16r037B" 16r00 " invalid "
+ "16r037C" 16r00 " invalid "
+ "16r037D" 16r00 " invalid "
+ "16r037E" 16r00 " invalid "
+ "16r037F" 16r00 " invalid "
+ "16r0380" 16r00 " invalid "
+ "16r0381" 16r00 " invalid "
+ "16r0382" 16r00 " invalid "
+ "16r0383" 16r00 " invalid "
+ "16r0384" 16rB4 " GREEK TONOS "
+ "16r0385" 16rB5 " GREEK DIALYTIKA TONOS "
+ "16r0386" 16rB6 " GREEK CAPITAL LETTER ALPHA WITH TONOS "
+ "16r0387" 16r00 " invalid "
+ "16r0388" 16rB8 " GREEK CAPITAL LETTER EPSILON WITH TONOS "
+ "16r0389" 16rB9 " GREEK CAPITAL LETTER ETA WITH TONOS "
+ "16r038A" 16rBA " GREEK CAPITAL LETTER IOTA WITH TONOS "
+ "16r038B" 16r00 " invalid "
+ "16r038C" 16rBC " GREEK CAPITAL LETTER OMICRON WITH TONOS "
+ "16r038D" 16r00 " invalid "
+ "16r038E" 16rBE " GREEK CAPITAL LETTER UPSILON WITH TONOS "
+ "16r038F" 16rBF " GREEK CAPITAL LETTER OMEGA WITH TONOS "
+ "16r0390" 16rC0 " GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS "
+ "16r0391" 16rC1 " GREEK CAPITAL LETTER ALPHA "
+ "16r0392" 16rC2 " GREEK CAPITAL LETTER BETA "
+ "16r0393" 16rC3 " GREEK CAPITAL LETTER GAMMA "
+ "16r0394" 16rC4 " GREEK CAPITAL LETTER DELTA "
+ "16r0395" 16rC5 " GREEK CAPITAL LETTER EPSILON "
+ "16r0396" 16rC6 " GREEK CAPITAL LETTER ZETA "
+ "16r0397" 16rC7 " GREEK CAPITAL LETTER ETA "
+ "16r0398" 16rC8 " GREEK CAPITAL LETTER THETA "
+ "16r0399" 16rC9 " GREEK CAPITAL LETTER IOTA "
+ "16r039A" 16rCA " GREEK CAPITAL LETTER KAPPA "
+ "16r039B" 16rCB " GREEK CAPITAL LETTER LAMDA "
+ "16r039C" 16rCC " GREEK CAPITAL LETTER MU "
+ "16r039D" 16rCD " GREEK CAPITAL LETTER NU "
+ "16r039E" 16rCE " GREEK CAPITAL LETTER XI "
+ "16r039F" 16rCF " GREEK CAPITAL LETTER OMICRON "
+ "16r03A0" 16rD0 " GREEK CAPITAL LETTER PI "
+ "16r03A1" 16rD1 " GREEK CAPITAL LETTER RHO "
+ "16r03A2" 16r00 " invalid "
+ "16r03A3" 16rD3 " GREEK CAPITAL LETTER SIGMA "
+ "16r03A4" 16rD4 " GREEK CAPITAL LETTER TAU "
+ "16r03A5" 16rD5 " GREEK CAPITAL LETTER UPSILON "
+ "16r03A6" 16rD6 " GREEK CAPITAL LETTER PHI "
+ "16r03A7" 16rD7 " GREEK CAPITAL LETTER CHI "
+ "16r03A8" 16rD8 " GREEK CAPITAL LETTER PSI "
+ "16r03A9" 16rD9 " GREEK CAPITAL LETTER OMEGA "
+ "16r03AA" 16rDA " GREEK CAPITAL LETTER IOTA WITH DIALYTIKA "
+ "16r03AB" 16rDB " GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA "
+ "16r03AC" 16rDC " GREEK SMALL LETTER ALPHA WITH TONOS "
+ "16r03AD" 16rDD " GREEK SMALL LETTER EPSILON WITH TONOS "
+ "16r03AE" 16rDE " GREEK SMALL LETTER ETA WITH TONOS "
+ "16r03AF" 16rDF " GREEK SMALL LETTER IOTA WITH TONOS "
+ "16r03B0" 16rE0 " GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS "
+ "16r03B1" 16rE1 " GREEK SMALL LETTER ALPHA "
+ "16r03B2" 16rE2 " GREEK SMALL LETTER BETA "
+ "16r03B3" 16rE3 " GREEK SMALL LETTER GAMMA "
+ "16r03B4" 16rE4 " GREEK SMALL LETTER DELTA "
+ "16r03B5" 16rE5 " GREEK SMALL LETTER EPSILON "
+ "16r03B6" 16rE6 " GREEK SMALL LETTER ZETA "
+ "16r03B7" 16rE7 " GREEK SMALL LETTER ETA "
+ "16r03B8" 16rE8 " GREEK SMALL LETTER THETA "
+ "16r03B9" 16rE9 " GREEK SMALL LETTER IOTA "
+ "16r03BA" 16rEA " GREEK SMALL LETTER KAPPA "
+ "16r03BB" 16rEB " GREEK SMALL LETTER LAMDA "
+ "16r03BC" 16rEC " GREEK SMALL LETTER MU "
+ "16r03BD" 16rED " GREEK SMALL LETTER NU "
+ "16r03BE" 16rEE " GREEK SMALL LETTER XI "
+ "16r03BF" 16rEF " GREEK SMALL LETTER OMICRON "
+ "16r03C0" 16rF0 " GREEK SMALL LETTER PI "
+ "16r03C1" 16rF1 " GREEK SMALL LETTER RHO "
+ "16r03C2" 16rF2 " GREEK SMALL LETTER FINAL SIGMA "
+ "16r03C3" 16rF3 " GREEK SMALL LETTER SIGMA "
+ "16r03C4" 16rF4 " GREEK SMALL LETTER TAU "
+ "16r03C5" 16rF5 " GREEK SMALL LETTER UPSILON "
+ "16r03C6" 16rF6 " GREEK SMALL LETTER PHI "
+ "16r03C7" 16rF7 " GREEK SMALL LETTER CHI "
+ "16r03C8" 16rF8 " GREEK SMALL LETTER PSI "
+ "16r03C9" 16rF9 " GREEK SMALL LETTER OMEGA "
+ "16r03CA" 16rFA " GREEK SMALL LETTER IOTA WITH DIALYTIKA "
+ "16r03CB" 16rFB " GREEK SMALL LETTER UPSILON WITH DIALYTIKA "
+ "16r03CC" 16rFC " GREEK SMALL LETTER OMICRON WITH TONOS "
+ "16r03CD" 16rFD " GREEK SMALL LETTER UPSILON WITH TONOS "
+ "16r03CE" 16rFE " GREEK SMALL LETTER OMEGA WITH TONOS "
+ ] at:(unicode - 889).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 8212 ifTrue:[
+ ^ self encodingError.
+ ].
+ unicode < 8218 ifTrue:[
+ [
+ |t|
+ t :=
+#[
+ "16r2015" 16rAF " HORIZONTAL BAR "
+ "16r2016" 16r00 " invalid "
+ "16r2017" 16r00 " invalid "
+ "16r2018" 16rA1 " LEFT SINGLE QUOTATION MARK "
+ "16r2019" 16rA2 " RIGHT SINGLE QUOTATION MARK "
+ ] at:(unicode - 8212).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 8363 ifTrue:[
+ ^ self encodingError.
+ ].
+ [
+ |t|
+ t :=
+#[
+ "16r20AC" 16rA4 " EURO SIGN "
+ "16r20AD" 16r00 " invalid "
+ "16r20AE" 16r00 " invalid "
+ "16r20AF" 16rA5 " DRACHMA SIGN "
+ ] at:(unicode - 8363).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
! !
!CharacterEncoder::ISO8859_8 class methodsFor:'mapping'!
@@ -6735,22 +22724,31 @@
"
!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-8.TXT'
+mappingURL1_relativePathName
+ ^ 'ISO8859/8859-8.TXT'
+! !
+
+!CharacterEncoder::ISO8859_8 class methodsFor:'queries'!
+
+alternativeNamesOfEncoding
+ ^ #( 'hebrew' 'iso-ir-138' )
! !
!CharacterEncoder::ISO8859_8 methodsFor:'encoding & decoding'!
decode:code
- "automatically generated by generateEncoderCode"
+ "decode from my encoding into unicode.
+ Do not modify - automatically generated by generateCode"
code < 161 ifTrue:[ ^ code ].
code > 254 ifTrue:[
- self error:'invalid code'.
- ^ $? asciiValue
- ].
- ^ #(
- "16r00A1" 16rFFFF " invalid "
+ ^ self decodingError.
+ ].
+ [
+ |t|
+ t :=
+#(
+ "16r00A1" 16r0000 " invalid "
"16r00A2" 16r00A2 " CENT SIGN "
"16r00A3" 16r00A3 " POUND SIGN "
"16r00A4" 16r00A4 " CURRENCY SIGN "
@@ -6780,38 +22778,38 @@
"16r00BC" 16r00BC " VULGAR FRACTION ONE QUARTER "
"16r00BD" 16r00BD " VULGAR FRACTION ONE HALF "
"16r00BE" 16r00BE " VULGAR FRACTION THREE QUARTERS "
- "16r00BF" 16rFFFF " invalid "
- "16r00C0" 16rFFFF " invalid "
- "16r00C1" 16rFFFF " invalid "
- "16r00C2" 16rFFFF " invalid "
- "16r00C3" 16rFFFF " invalid "
- "16r00C4" 16rFFFF " invalid "
- "16r00C5" 16rFFFF " invalid "
- "16r00C6" 16rFFFF " invalid "
- "16r00C7" 16rFFFF " invalid "
- "16r00C8" 16rFFFF " invalid "
- "16r00C9" 16rFFFF " invalid "
- "16r00CA" 16rFFFF " invalid "
- "16r00CB" 16rFFFF " invalid "
- "16r00CC" 16rFFFF " invalid "
- "16r00CD" 16rFFFF " invalid "
- "16r00CE" 16rFFFF " invalid "
- "16r00CF" 16rFFFF " invalid "
- "16r00D0" 16rFFFF " invalid "
- "16r00D1" 16rFFFF " invalid "
- "16r00D2" 16rFFFF " invalid "
- "16r00D3" 16rFFFF " invalid "
- "16r00D4" 16rFFFF " invalid "
- "16r00D5" 16rFFFF " invalid "
- "16r00D6" 16rFFFF " invalid "
- "16r00D7" 16rFFFF " invalid "
- "16r00D8" 16rFFFF " invalid "
- "16r00D9" 16rFFFF " invalid "
- "16r00DA" 16rFFFF " invalid "
- "16r00DB" 16rFFFF " invalid "
- "16r00DC" 16rFFFF " invalid "
- "16r00DD" 16rFFFF " invalid "
- "16r00DE" 16rFFFF " invalid "
+ "16r00BF" 16r0000 " invalid "
+ "16r00C0" 16r0000 " invalid "
+ "16r00C1" 16r0000 " invalid "
+ "16r00C2" 16r0000 " invalid "
+ "16r00C3" 16r0000 " invalid "
+ "16r00C4" 16r0000 " invalid "
+ "16r00C5" 16r0000 " invalid "
+ "16r00C6" 16r0000 " invalid "
+ "16r00C7" 16r0000 " invalid "
+ "16r00C8" 16r0000 " invalid "
+ "16r00C9" 16r0000 " invalid "
+ "16r00CA" 16r0000 " invalid "
+ "16r00CB" 16r0000 " invalid "
+ "16r00CC" 16r0000 " invalid "
+ "16r00CD" 16r0000 " invalid "
+ "16r00CE" 16r0000 " invalid "
+ "16r00CF" 16r0000 " invalid "
+ "16r00D0" 16r0000 " invalid "
+ "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" 16r2017 " DOUBLE LOW LINE "
"16r00E0" 16r05D0 " HEBREW LETTER ALEF "
"16r00E1" 16r05D1 " HEBREW LETTER BET "
@@ -6840,11 +22838,182 @@
"16r00F8" 16r05E8 " HEBREW LETTER RESH "
"16r00F9" 16r05E9 " HEBREW LETTER SHIN "
"16r00FA" 16r05EA " HEBREW LETTER TAV "
- "16r00FB" 16rFFFF " invalid "
- "16r00FC" 16rFFFF " invalid "
+ "16r00FB" 16r0000 " invalid "
+ "16r00FC" 16r0000 " invalid "
"16r00FD" 16r200E " LEFT-TO-RIGHT MARK "
"16r00FE" 16r200F " RIGHT-TO-LEFT MARK "
- ) at:(code - 160)
+ ) at:(code - 160).
+ t == 0 ifFalse:[^ t].
+ ^ self decodingError.
+ ] value.
+!
+
+encode:unicode
+ "encode from unicode into my encoding.
+ Do not modify - automatically generated by generateCode"
+
+ unicode < 161 ifTrue:[ ^ unicode ].
+ unicode > 8215 ifTrue:[
+ ^ self encodingError.
+ ].
+ unicode < 215 ifTrue:[
+ (#[
+ "16r00A1" 0 " invalid "
+ "16r00A2" 1 " CENT SIGN "
+ "16r00A3" 1 " POUND SIGN "
+ "16r00A4" 1 " CURRENCY SIGN "
+ "16r00A5" 1 " YEN SIGN "
+ "16r00A6" 1 " BROKEN BAR "
+ "16r00A7" 1 " SECTION SIGN "
+ "16r00A8" 1 " DIAERESIS "
+ "16r00A9" 1 " COPYRIGHT SIGN "
+ "16r00AA" 0 " invalid "
+ "16r00AB" 1 " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00AC" 1 " NOT SIGN "
+ "16r00AD" 1 " SOFT HYPHEN "
+ "16r00AE" 1 " REGISTERED SIGN "
+ "16r00AF" 1 " MACRON "
+ "16r00B0" 1 " DEGREE SIGN "
+ "16r00B1" 1 " PLUS-MINUS SIGN "
+ "16r00B2" 1 " SUPERSCRIPT TWO "
+ "16r00B3" 1 " SUPERSCRIPT THREE "
+ "16r00B4" 1 " ACUTE ACCENT "
+ "16r00B5" 1 " MICRO SIGN "
+ "16r00B6" 1 " PILCROW SIGN "
+ "16r00B7" 1 " MIDDLE DOT "
+ "16r00B8" 1 " CEDILLA "
+ "16r00B9" 1 " SUPERSCRIPT ONE "
+ "16r00BA" 0 " invalid "
+ "16r00BB" 1 " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00BC" 1 " VULGAR FRACTION ONE QUARTER "
+ "16r00BD" 1 " VULGAR FRACTION ONE HALF "
+ "16r00BE" 1 " VULGAR FRACTION THREE QUARTERS "
+ "16r00BF" 0 " invalid "
+ "16r00C0" 0 " invalid "
+ "16r00C1" 0 " invalid "
+ "16r00C2" 0 " invalid "
+ "16r00C3" 0 " invalid "
+ "16r00C4" 0 " invalid "
+ "16r00C5" 0 " invalid "
+ "16r00C6" 0 " invalid "
+ "16r00C7" 0 " invalid "
+ "16r00C8" 0 " invalid "
+ "16r00C9" 0 " invalid "
+ "16r00CA" 0 " invalid "
+ "16r00CB" 0 " invalid "
+ "16r00CC" 0 " invalid "
+ "16r00CD" 0 " invalid "
+ "16r00CE" 0 " invalid "
+ "16r00CF" 0 " invalid "
+ "16r00D0" 0 " invalid "
+ "16r00D1" 0 " invalid "
+ "16r00D2" 0 " invalid "
+ "16r00D3" 0 " invalid "
+ "16r00D4" 0 " invalid "
+ "16r00D5" 0 " invalid "
+ "16r00D6" 0 " invalid "
+ ] at:(unicode - 160)) ~~ 0 ifTrue:[^ unicode].
+ ^ self encodingError.
+ ].
+ unicode < 1515 ifTrue:[
+ unicode < 248 ifTrue:[
+ [
+ |t|
+ t :=
+#[
+ "16r00D7" 16rAA " MULTIPLICATION SIGN "
+ "16r00D8" 16r00 " invalid "
+ "16r00D9" 16r00 " invalid "
+ "16r00DA" 16r00 " invalid "
+ "16r00DB" 16r00 " invalid "
+ "16r00DC" 16r00 " invalid "
+ "16r00DD" 16r00 " invalid "
+ "16r00DE" 16r00 " invalid "
+ "16r00DF" 16r00 " invalid "
+ "16r00E0" 16r00 " invalid "
+ "16r00E1" 16r00 " invalid "
+ "16r00E2" 16r00 " invalid "
+ "16r00E3" 16r00 " invalid "
+ "16r00E4" 16r00 " invalid "
+ "16r00E5" 16r00 " invalid "
+ "16r00E6" 16r00 " invalid "
+ "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" 16rBA " DIVISION SIGN "
+ ] at:(unicode - 214).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 1487 ifTrue:[
+ ^ self encodingError.
+ ].
+ ^
+#[
+ "16r05D0" 16rE0 " HEBREW LETTER ALEF "
+ "16r05D1" 16rE1 " HEBREW LETTER BET "
+ "16r05D2" 16rE2 " HEBREW LETTER GIMEL "
+ "16r05D3" 16rE3 " HEBREW LETTER DALET "
+ "16r05D4" 16rE4 " HEBREW LETTER HE "
+ "16r05D5" 16rE5 " HEBREW LETTER VAV "
+ "16r05D6" 16rE6 " HEBREW LETTER ZAYIN "
+ "16r05D7" 16rE7 " HEBREW LETTER HET "
+ "16r05D8" 16rE8 " HEBREW LETTER TET "
+ "16r05D9" 16rE9 " HEBREW LETTER YOD "
+ "16r05DA" 16rEA " HEBREW LETTER FINAL KAF "
+ "16r05DB" 16rEB " HEBREW LETTER KAF "
+ "16r05DC" 16rEC " HEBREW LETTER LAMED "
+ "16r05DD" 16rED " HEBREW LETTER FINAL MEM "
+ "16r05DE" 16rEE " HEBREW LETTER MEM "
+ "16r05DF" 16rEF " HEBREW LETTER FINAL NUN "
+ "16r05E0" 16rF0 " HEBREW LETTER NUN "
+ "16r05E1" 16rF1 " HEBREW LETTER SAMEKH "
+ "16r05E2" 16rF2 " HEBREW LETTER AYIN "
+ "16r05E3" 16rF3 " HEBREW LETTER FINAL PE "
+ "16r05E4" 16rF4 " HEBREW LETTER PE "
+ "16r05E5" 16rF5 " HEBREW LETTER FINAL TSADI "
+ "16r05E6" 16rF6 " HEBREW LETTER TSADI "
+ "16r05E7" 16rF7 " HEBREW LETTER QOF "
+ "16r05E8" 16rF8 " HEBREW LETTER RESH "
+ "16r05E9" 16rF9 " HEBREW LETTER SHIN "
+ "16r05EA" 16rFA " HEBREW LETTER TAV "
+ ] at:(unicode - 1487).
+ ].
+ unicode <= 8205 ifTrue:[
+ ^ self encodingError.
+ ].
+ [
+ |t|
+ t :=
+#[
+ "16r200E" 16rFD " LEFT-TO-RIGHT MARK "
+ "16r200F" 16rFE " RIGHT-TO-LEFT MARK "
+ "16r2010" 16r00 " invalid "
+ "16r2011" 16r00 " invalid "
+ "16r2012" 16r00 " invalid "
+ "16r2013" 16r00 " invalid "
+ "16r2014" 16r00 " invalid "
+ "16r2015" 16r00 " invalid "
+ "16r2016" 16r00 " invalid "
+ "16r2017" 16rDF " DOUBLE LOW LINE "
+ ] at:(unicode - 8205).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
! !
!CharacterEncoder::ISO8859_9 class methodsFor:'mapping'!
@@ -7164,21 +23333,28 @@
"
!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-9.TXT'
+mappingURL1_relativePathName
+ ^ 'ISO8859/8859-9.TXT'
+! !
+
+!CharacterEncoder::ISO8859_9 class methodsFor:'queries'!
+
+alternativeNamesOfEncoding
+ ^ #( 'latin-5' 'iso-ir-148')
! !
!CharacterEncoder::ISO8859_9 methodsFor:'encoding & decoding'!
decode:code
- "automatically generated by generateEncoderCode"
+ "decode from my encoding into unicode.
+ Do not modify - automatically generated by generateCode"
code < 208 ifTrue:[ ^ code ].
code > 255 ifTrue:[
- self error:'invalid code'.
- ^ $? asciiValue
- ].
- ^ #(
+ ^ self decodingError.
+ ].
+ ^
+#(
"16r00D0" 16r011E " LATIN CAPITAL LETTER G WITH BREVE "
"16r00D1" 16r00D1 " LATIN CAPITAL LETTER N WITH TILDE "
"16r00D2" 16r00D2 " LATIN CAPITAL LETTER O WITH GRAVE "
@@ -7226,31 +23402,198 @@
"16r00FC" 16r00FC " LATIN SMALL LETTER U WITH DIAERESIS "
"16r00FD" 16r0131 " LATIN SMALL LETTER DOTLESS I "
"16r00FE" 16r015F " LATIN SMALL LETTER S WITH CEDILLA "
- ) at:(code - 207)
+ ) at:(code - 207).
+!
+
+encode:unicode
+ "encode from unicode into my encoding.
+ Do not modify - automatically generated by generateCode"
+
+ unicode < 208 ifTrue:[ ^ unicode ].
+ unicode > 351 ifTrue:[
+ ^ self encodingError.
+ ].
+ unicode < 286 ifTrue:[
+ (#[
+ "16r00D0" 0 " invalid "
+ "16r00D1" 1 " LATIN CAPITAL LETTER N WITH TILDE "
+ "16r00D2" 1 " LATIN CAPITAL LETTER O WITH GRAVE "
+ "16r00D3" 1 " LATIN CAPITAL LETTER O WITH ACUTE "
+ "16r00D4" 1 " LATIN CAPITAL LETTER O WITH CIRCUMFLEX "
+ "16r00D5" 1 " LATIN CAPITAL LETTER O WITH TILDE "
+ "16r00D6" 1 " LATIN CAPITAL LETTER O WITH DIAERESIS "
+ "16r00D7" 1 " MULTIPLICATION SIGN "
+ "16r00D8" 1 " LATIN CAPITAL LETTER O WITH STROKE "
+ "16r00D9" 1 " LATIN CAPITAL LETTER U WITH GRAVE "
+ "16r00DA" 1 " LATIN CAPITAL LETTER U WITH ACUTE "
+ "16r00DB" 1 " LATIN CAPITAL LETTER U WITH CIRCUMFLEX "
+ "16r00DC" 1 " LATIN CAPITAL LETTER U WITH DIAERESIS "
+ "16r00DD" 0 " invalid "
+ "16r00DE" 0 " invalid "
+ "16r00DF" 1 " LATIN SMALL LETTER SHARP S "
+ "16r00E0" 1 " LATIN SMALL LETTER A WITH GRAVE "
+ "16r00E1" 1 " LATIN SMALL LETTER A WITH ACUTE "
+ "16r00E2" 1 " LATIN SMALL LETTER A WITH CIRCUMFLEX "
+ "16r00E3" 1 " LATIN SMALL LETTER A WITH TILDE "
+ "16r00E4" 1 " LATIN SMALL LETTER A WITH DIAERESIS "
+ "16r00E5" 1 " LATIN SMALL LETTER A WITH RING ABOVE "
+ "16r00E6" 1 " LATIN SMALL LETTER AE "
+ "16r00E7" 1 " LATIN SMALL LETTER C WITH CEDILLA "
+ "16r00E8" 1 " LATIN SMALL LETTER E WITH GRAVE "
+ "16r00E9" 1 " LATIN SMALL LETTER E WITH ACUTE "
+ "16r00EA" 1 " LATIN SMALL LETTER E WITH CIRCUMFLEX "
+ "16r00EB" 1 " LATIN SMALL LETTER E WITH DIAERESIS "
+ "16r00EC" 1 " LATIN SMALL LETTER I WITH GRAVE "
+ "16r00ED" 1 " LATIN SMALL LETTER I WITH ACUTE "
+ "16r00EE" 1 " LATIN SMALL LETTER I WITH CIRCUMFLEX "
+ "16r00EF" 1 " LATIN SMALL LETTER I WITH DIAERESIS "
+ "16r00F0" 0 " invalid "
+ "16r00F1" 1 " LATIN SMALL LETTER N WITH TILDE "
+ "16r00F2" 1 " LATIN SMALL LETTER O WITH GRAVE "
+ "16r00F3" 1 " LATIN SMALL LETTER O WITH ACUTE "
+ "16r00F4" 1 " LATIN SMALL LETTER O WITH CIRCUMFLEX "
+ "16r00F5" 1 " LATIN SMALL LETTER O WITH TILDE "
+ "16r00F6" 1 " LATIN SMALL LETTER O WITH DIAERESIS "
+ "16r00F7" 1 " DIVISION SIGN "
+ "16r00F8" 1 " LATIN SMALL LETTER O WITH STROKE "
+ "16r00F9" 1 " LATIN SMALL LETTER U WITH GRAVE "
+ "16r00FA" 1 " LATIN SMALL LETTER U WITH ACUTE "
+ "16r00FB" 1 " LATIN SMALL LETTER U WITH CIRCUMFLEX "
+ "16r00FC" 1 " LATIN SMALL LETTER U WITH DIAERESIS "
+ "16r00FD" 0 " invalid "
+ "16r00FE" 0 " invalid "
+ "16r00FF" 1 " LATIN SMALL LETTER Y WITH DIAERESIS "
+ "16r0100" 0 " invalid "
+ "16r0101" 0 " invalid "
+ "16r0102" 0 " invalid "
+ "16r0103" 0 " invalid "
+ "16r0104" 0 " invalid "
+ "16r0105" 0 " invalid "
+ "16r0106" 0 " invalid "
+ "16r0107" 0 " invalid "
+ "16r0108" 0 " invalid "
+ "16r0109" 0 " invalid "
+ "16r010A" 0 " invalid "
+ "16r010B" 0 " invalid "
+ "16r010C" 0 " invalid "
+ "16r010D" 0 " invalid "
+ "16r010E" 0 " invalid "
+ "16r010F" 0 " invalid "
+ "16r0110" 0 " invalid "
+ "16r0111" 0 " invalid "
+ "16r0112" 0 " invalid "
+ "16r0113" 0 " invalid "
+ "16r0114" 0 " invalid "
+ "16r0115" 0 " invalid "
+ "16r0116" 0 " invalid "
+ "16r0117" 0 " invalid "
+ "16r0118" 0 " invalid "
+ "16r0119" 0 " invalid "
+ "16r011A" 0 " invalid "
+ "16r011B" 0 " invalid "
+ "16r011C" 0 " invalid "
+ "16r011D" 0 " invalid "
+ ] at:(unicode - 207)) ~~ 0 ifTrue:[^ unicode].
+ ^ self encodingError.
+ ].
+ [
+ |t|
+ t :=
+#[
+ "16r011E" 16rD0 " LATIN CAPITAL LETTER G WITH BREVE "
+ "16r011F" 16rF0 " LATIN SMALL LETTER G WITH BREVE "
+ "16r0120" 16r00 " invalid "
+ "16r0121" 16r00 " invalid "
+ "16r0122" 16r00 " invalid "
+ "16r0123" 16r00 " invalid "
+ "16r0124" 16r00 " invalid "
+ "16r0125" 16r00 " invalid "
+ "16r0126" 16r00 " invalid "
+ "16r0127" 16r00 " invalid "
+ "16r0128" 16r00 " invalid "
+ "16r0129" 16r00 " invalid "
+ "16r012A" 16r00 " invalid "
+ "16r012B" 16r00 " invalid "
+ "16r012C" 16r00 " invalid "
+ "16r012D" 16r00 " invalid "
+ "16r012E" 16r00 " invalid "
+ "16r012F" 16r00 " invalid "
+ "16r0130" 16rDD " LATIN CAPITAL LETTER I WITH DOT ABOVE "
+ "16r0131" 16rFD " LATIN SMALL LETTER DOTLESS I "
+ "16r0132" 16r00 " invalid "
+ "16r0133" 16r00 " invalid "
+ "16r0134" 16r00 " invalid "
+ "16r0135" 16r00 " invalid "
+ "16r0136" 16r00 " invalid "
+ "16r0137" 16r00 " invalid "
+ "16r0138" 16r00 " invalid "
+ "16r0139" 16r00 " invalid "
+ "16r013A" 16r00 " invalid "
+ "16r013B" 16r00 " invalid "
+ "16r013C" 16r00 " invalid "
+ "16r013D" 16r00 " invalid "
+ "16r013E" 16r00 " invalid "
+ "16r013F" 16r00 " invalid "
+ "16r0140" 16r00 " invalid "
+ "16r0141" 16r00 " invalid "
+ "16r0142" 16r00 " invalid "
+ "16r0143" 16r00 " invalid "
+ "16r0144" 16r00 " invalid "
+ "16r0145" 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" 16r00 " invalid "
+ "16r0153" 16r00 " invalid "
+ "16r0154" 16r00 " invalid "
+ "16r0155" 16r00 " invalid "
+ "16r0156" 16r00 " invalid "
+ "16r0157" 16r00 " invalid "
+ "16r0158" 16r00 " invalid "
+ "16r0159" 16r00 " invalid "
+ "16r015A" 16r00 " invalid "
+ "16r015B" 16r00 " invalid "
+ "16r015C" 16r00 " invalid "
+ "16r015D" 16r00 " invalid "
+ "16r015E" 16rDE " LATIN CAPITAL LETTER S WITH CEDILLA "
+ "16r015F" 16rFE " LATIN SMALL LETTER S WITH CEDILLA "
+ ] at:(unicode - 285).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
! !
!CharacterEncoder::JIS0201 class methodsFor:'mapping'!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/JIS/JIS0201.TXT'
+mappingURL1_relativePathName
+ ^ 'OBSOLETE/EASTASIA/JIS/JIS0201.TXT'
! !
!CharacterEncoder::JIS0208 class methodsFor:'mapping'!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/JIS/JIS0208.TXT'
+mappingURL1_relativePathName
+ ^ 'OBSOLETE/EASTASIA/JIS/JIS0208.TXT'
! !
!CharacterEncoder::JIS0212 class methodsFor:'mapping'!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/JIS/JIS0212.TXT'
+mappingURL1_relativePathName
+ ^ 'OBSOLETE/EASTASIA/JIS/JIS0212.TXT'
! !
!CharacterEncoder::JOHAB class methodsFor:'mapping'!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/KSC/JOHAB.TXT'
+mappingURL1_relativePathName
+ ^ 'OBSOLETE/EASTASIA/KSC/JOHAB.TXT'
! !
!CharacterEncoder::KOI8_R class methodsFor:'mapping'!
@@ -7565,8 +23908,8 @@
"
!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/KOI8-R.TXT'
+mappingURL1_relativePathName
+ ^ 'VENDORS/MISC/KOI8-R.TXT'
!
mappingURL_baseName
@@ -7576,14 +23919,15 @@
!CharacterEncoder::KOI8_R methodsFor:'encoding & decoding'!
decode:code
- "automatically generated by generateEncoderCode"
+ "decode from my encoding into unicode.
+ Do not modify - automatically generated by generateCode"
code < 128 ifTrue:[ ^ code ].
code > 255 ifTrue:[
- self error:'invalid code'.
- ^ $? asciiValue
- ].
- ^ #(
+ ^ self decodingError.
+ ].
+ ^
+#(
"16r0080" 16r2500 " BOX DRAWINGS LIGHT HORIZONTAL "
"16r0081" 16r2502 " BOX DRAWINGS LIGHT VERTICAL "
"16r0082" 16r250C " BOX DRAWINGS LIGHT DOWN AND RIGHT "
@@ -7712,7 +24056,429 @@
"16r00FD" 16r0429 " CYRILLIC CAPITAL LETTER SHCHA "
"16r00FE" 16r0427 " CYRILLIC CAPITAL LETTER CHE "
"16r00FF" 16r042A " CYRILLIC CAPITAL LETTER HARD SIGN "
- ) at:(code - 127)
+ ) at:(code - 127).
+!
+
+encode:unicode
+ "encode from unicode into my encoding.
+ Do not modify - automatically generated by generateCode"
+
+ unicode < 128 ifTrue:[ ^ unicode ].
+ unicode > 9632 ifTrue:[
+ ^ self encodingError.
+ ].
+ unicode < 1106 ifTrue:[
+ unicode < 248 ifTrue:[
+ unicode < 184 ifTrue:[
+ unicode < 160 ifTrue:[
+ ^ self encodingError.
+ ].
+ [
+ |t|
+ t :=
+#[
+ "16r00A0" 16r9A " NO-BREAK SPACE "
+ "16r00A1" 16r00 " invalid "
+ "16r00A2" 16r00 " invalid "
+ "16r00A3" 16r00 " invalid "
+ "16r00A4" 16r00 " invalid "
+ "16r00A5" 16r00 " invalid "
+ "16r00A6" 16r00 " invalid "
+ "16r00A7" 16r00 " invalid "
+ "16r00A8" 16r00 " invalid "
+ "16r00A9" 16rBF " COPYRIGHT SIGN "
+ "16r00AA" 16r00 " invalid "
+ "16r00AB" 16r00 " invalid "
+ "16r00AC" 16r00 " invalid "
+ "16r00AD" 16r00 " invalid "
+ "16r00AE" 16r00 " invalid "
+ "16r00AF" 16r00 " invalid "
+ "16r00B0" 16r9C " DEGREE SIGN "
+ "16r00B1" 16r00 " invalid "
+ "16r00B2" 16r9D " SUPERSCRIPT TWO "
+ "16r00B3" 16r00 " invalid "
+ "16r00B4" 16r00 " invalid "
+ "16r00B5" 16r00 " invalid "
+ "16r00B6" 16r00 " invalid "
+ "16r00B7" 16r9E " MIDDLE DOT "
+ ] at:(unicode - 159).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 246 ifTrue:[
+ ^ self encodingError.
+ ].
+ ^
+#[
+ "16r00F7" 16r9F " DIVISION SIGN "
+ ] at:(unicode - 246).
+ ].
+ unicode <= 1024 ifTrue:[
+ ^ self encodingError.
+ ].
+ [
+ |t|
+ t :=
+#[
+ "16r0401" 16rB3 " CYRILLIC CAPITAL LETTER IO "
+ "16r0402" 16r00 " invalid "
+ "16r0403" 16r00 " invalid "
+ "16r0404" 16r00 " invalid "
+ "16r0405" 16r00 " invalid "
+ "16r0406" 16r00 " invalid "
+ "16r0407" 16r00 " invalid "
+ "16r0408" 16r00 " invalid "
+ "16r0409" 16r00 " invalid "
+ "16r040A" 16r00 " invalid "
+ "16r040B" 16r00 " invalid "
+ "16r040C" 16r00 " invalid "
+ "16r040D" 16r00 " invalid "
+ "16r040E" 16r00 " invalid "
+ "16r040F" 16r00 " invalid "
+ "16r0410" 16rE1 " CYRILLIC CAPITAL LETTER A "
+ "16r0411" 16rE2 " CYRILLIC CAPITAL LETTER BE "
+ "16r0412" 16rF7 " CYRILLIC CAPITAL LETTER VE "
+ "16r0413" 16rE7 " CYRILLIC CAPITAL LETTER GHE "
+ "16r0414" 16rE4 " CYRILLIC CAPITAL LETTER DE "
+ "16r0415" 16rE5 " CYRILLIC CAPITAL LETTER IE "
+ "16r0416" 16rF6 " CYRILLIC CAPITAL LETTER ZHE "
+ "16r0417" 16rFA " CYRILLIC CAPITAL LETTER ZE "
+ "16r0418" 16rE9 " CYRILLIC CAPITAL LETTER I "
+ "16r0419" 16rEA " CYRILLIC CAPITAL LETTER SHORT I "
+ "16r041A" 16rEB " CYRILLIC CAPITAL LETTER KA "
+ "16r041B" 16rEC " CYRILLIC CAPITAL LETTER EL "
+ "16r041C" 16rED " CYRILLIC CAPITAL LETTER EM "
+ "16r041D" 16rEE " CYRILLIC CAPITAL LETTER EN "
+ "16r041E" 16rEF " CYRILLIC CAPITAL LETTER O "
+ "16r041F" 16rF0 " CYRILLIC CAPITAL LETTER PE "
+ "16r0420" 16rF2 " CYRILLIC CAPITAL LETTER ER "
+ "16r0421" 16rF3 " CYRILLIC CAPITAL LETTER ES "
+ "16r0422" 16rF4 " CYRILLIC CAPITAL LETTER TE "
+ "16r0423" 16rF5 " CYRILLIC CAPITAL LETTER U "
+ "16r0424" 16rE6 " CYRILLIC CAPITAL LETTER EF "
+ "16r0425" 16rE8 " CYRILLIC CAPITAL LETTER HA "
+ "16r0426" 16rE3 " CYRILLIC CAPITAL LETTER TSE "
+ "16r0427" 16rFE " CYRILLIC CAPITAL LETTER CHE "
+ "16r0428" 16rFB " CYRILLIC CAPITAL LETTER SHA "
+ "16r0429" 16rFD " CYRILLIC CAPITAL LETTER SHCHA "
+ "16r042A" 16rFF " CYRILLIC CAPITAL LETTER HARD SIGN "
+ "16r042B" 16rF9 " CYRILLIC CAPITAL LETTER YERU "
+ "16r042C" 16rF8 " CYRILLIC CAPITAL LETTER SOFT SIGN "
+ "16r042D" 16rFC " CYRILLIC CAPITAL LETTER E "
+ "16r042E" 16rE0 " CYRILLIC CAPITAL LETTER YU "
+ "16r042F" 16rF1 " CYRILLIC CAPITAL LETTER YA "
+ "16r0430" 16rC1 " CYRILLIC SMALL LETTER A "
+ "16r0431" 16rC2 " CYRILLIC SMALL LETTER BE "
+ "16r0432" 16rD7 " CYRILLIC SMALL LETTER VE "
+ "16r0433" 16rC7 " CYRILLIC SMALL LETTER GHE "
+ "16r0434" 16rC4 " CYRILLIC SMALL LETTER DE "
+ "16r0435" 16rC5 " CYRILLIC SMALL LETTER IE "
+ "16r0436" 16rD6 " CYRILLIC SMALL LETTER ZHE "
+ "16r0437" 16rDA " CYRILLIC SMALL LETTER ZE "
+ "16r0438" 16rC9 " CYRILLIC SMALL LETTER I "
+ "16r0439" 16rCA " CYRILLIC SMALL LETTER SHORT I "
+ "16r043A" 16rCB " CYRILLIC SMALL LETTER KA "
+ "16r043B" 16rCC " CYRILLIC SMALL LETTER EL "
+ "16r043C" 16rCD " CYRILLIC SMALL LETTER EM "
+ "16r043D" 16rCE " CYRILLIC SMALL LETTER EN "
+ "16r043E" 16rCF " CYRILLIC SMALL LETTER O "
+ "16r043F" 16rD0 " CYRILLIC SMALL LETTER PE "
+ "16r0440" 16rD2 " CYRILLIC SMALL LETTER ER "
+ "16r0441" 16rD3 " CYRILLIC SMALL LETTER ES "
+ "16r0442" 16rD4 " CYRILLIC SMALL LETTER TE "
+ "16r0443" 16rD5 " CYRILLIC SMALL LETTER U "
+ "16r0444" 16rC6 " CYRILLIC SMALL LETTER EF "
+ "16r0445" 16rC8 " CYRILLIC SMALL LETTER HA "
+ "16r0446" 16rC3 " CYRILLIC SMALL LETTER TSE "
+ "16r0447" 16rDE " CYRILLIC SMALL LETTER CHE "
+ "16r0448" 16rDB " CYRILLIC SMALL LETTER SHA "
+ "16r0449" 16rDD " CYRILLIC SMALL LETTER SHCHA "
+ "16r044A" 16rDF " CYRILLIC SMALL LETTER HARD SIGN "
+ "16r044B" 16rD9 " CYRILLIC SMALL LETTER YERU "
+ "16r044C" 16rD8 " CYRILLIC SMALL LETTER SOFT SIGN "
+ "16r044D" 16rDC " CYRILLIC SMALL LETTER E "
+ "16r044E" 16rC0 " CYRILLIC SMALL LETTER YU "
+ "16r044F" 16rD1 " CYRILLIC SMALL LETTER YA "
+ "16r0450" 16r00 " invalid "
+ "16r0451" 16rA3 " CYRILLIC SMALL LETTER IO "
+ ] at:(unicode - 1024).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 8728 ifTrue:[
+ ^ self encodingError.
+ ].
+ unicode < 8994 ifTrue:[
+ unicode < 8806 ifTrue:[
+ [
+ |t|
+ t :=
+#[
+ "16r2219" 16r95 " BULLET OPERATOR "
+ "16r221A" 16r96 " SQUARE ROOT "
+ "16r221B" 16r00 " invalid "
+ "16r221C" 16r00 " invalid "
+ "16r221D" 16r00 " invalid "
+ "16r221E" 16r00 " invalid "
+ "16r221F" 16r00 " invalid "
+ "16r2220" 16r00 " invalid "
+ "16r2221" 16r00 " invalid "
+ "16r2222" 16r00 " invalid "
+ "16r2223" 16r00 " invalid "
+ "16r2224" 16r00 " invalid "
+ "16r2225" 16r00 " invalid "
+ "16r2226" 16r00 " invalid "
+ "16r2227" 16r00 " invalid "
+ "16r2228" 16r00 " invalid "
+ "16r2229" 16r00 " invalid "
+ "16r222A" 16r00 " invalid "
+ "16r222B" 16r00 " invalid "
+ "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" 16r00 " invalid "
+ "16r2235" 16r00 " invalid "
+ "16r2236" 16r00 " invalid "
+ "16r2237" 16r00 " invalid "
+ "16r2238" 16r00 " invalid "
+ "16r2239" 16r00 " invalid "
+ "16r223A" 16r00 " invalid "
+ "16r223B" 16r00 " invalid "
+ "16r223C" 16r00 " invalid "
+ "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" 16r00 " invalid "
+ "16r2246" 16r00 " invalid "
+ "16r2247" 16r00 " invalid "
+ "16r2248" 16r97 " ALMOST EQUAL TO "
+ "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" 16r00 " invalid "
+ "16r2261" 16r00 " invalid "
+ "16r2262" 16r00 " invalid "
+ "16r2263" 16r00 " invalid "
+ "16r2264" 16r98 " LESS-THAN OR EQUAL TO "
+ "16r2265" 16r99 " GREATER-THAN OR EQUAL TO "
+ ] at:(unicode - 8728).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
+ ].
+ unicode <= 8991 ifTrue:[
+ ^ self encodingError.
+ ].
+ ^
+#[
+ "16r2320" 16r93 " TOP HALF INTEGRAL "
+ "16r2321" 16r9B " BOTTOM HALF INTEGRAL "
+ ] at:(unicode - 8991).
+ ].
+ unicode <= 9471 ifTrue:[
+ ^ self encodingError.
+ ].
+ [
+ |t|
+ t :=
+#[
+ "16r2500" 16r80 " BOX DRAWINGS LIGHT HORIZONTAL "
+ "16r2501" 16r00 " invalid "
+ "16r2502" 16r81 " BOX DRAWINGS LIGHT VERTICAL "
+ "16r2503" 16r00 " invalid "
+ "16r2504" 16r00 " invalid "
+ "16r2505" 16r00 " invalid "
+ "16r2506" 16r00 " invalid "
+ "16r2507" 16r00 " invalid "
+ "16r2508" 16r00 " invalid "
+ "16r2509" 16r00 " invalid "
+ "16r250A" 16r00 " invalid "
+ "16r250B" 16r00 " invalid "
+ "16r250C" 16r82 " BOX DRAWINGS LIGHT DOWN AND RIGHT "
+ "16r250D" 16r00 " invalid "
+ "16r250E" 16r00 " invalid "
+ "16r250F" 16r00 " invalid "
+ "16r2510" 16r83 " BOX DRAWINGS LIGHT DOWN AND LEFT "
+ "16r2511" 16r00 " invalid "
+ "16r2512" 16r00 " invalid "
+ "16r2513" 16r00 " invalid "
+ "16r2514" 16r84 " BOX DRAWINGS LIGHT UP AND RIGHT "
+ "16r2515" 16r00 " invalid "
+ "16r2516" 16r00 " invalid "
+ "16r2517" 16r00 " invalid "
+ "16r2518" 16r85 " BOX DRAWINGS LIGHT UP AND LEFT "
+ "16r2519" 16r00 " invalid "
+ "16r251A" 16r00 " invalid "
+ "16r251B" 16r00 " invalid "
+ "16r251C" 16r86 " BOX DRAWINGS LIGHT VERTICAL AND RIGHT "
+ "16r251D" 16r00 " invalid "
+ "16r251E" 16r00 " invalid "
+ "16r251F" 16r00 " invalid "
+ "16r2520" 16r00 " invalid "
+ "16r2521" 16r00 " invalid "
+ "16r2522" 16r00 " invalid "
+ "16r2523" 16r00 " invalid "
+ "16r2524" 16r87 " BOX DRAWINGS LIGHT VERTICAL AND LEFT "
+ "16r2525" 16r00 " invalid "
+ "16r2526" 16r00 " invalid "
+ "16r2527" 16r00 " invalid "
+ "16r2528" 16r00 " invalid "
+ "16r2529" 16r00 " invalid "
+ "16r252A" 16r00 " invalid "
+ "16r252B" 16r00 " invalid "
+ "16r252C" 16r88 " BOX DRAWINGS LIGHT DOWN AND HORIZONTAL "
+ "16r252D" 16r00 " invalid "
+ "16r252E" 16r00 " invalid "
+ "16r252F" 16r00 " invalid "
+ "16r2530" 16r00 " invalid "
+ "16r2531" 16r00 " invalid "
+ "16r2532" 16r00 " invalid "
+ "16r2533" 16r00 " invalid "
+ "16r2534" 16r89 " BOX DRAWINGS LIGHT UP AND HORIZONTAL "
+ "16r2535" 16r00 " invalid "
+ "16r2536" 16r00 " invalid "
+ "16r2537" 16r00 " invalid "
+ "16r2538" 16r00 " invalid "
+ "16r2539" 16r00 " invalid "
+ "16r253A" 16r00 " invalid "
+ "16r253B" 16r00 " invalid "
+ "16r253C" 16r8A " BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL "
+ "16r253D" 16r00 " invalid "
+ "16r253E" 16r00 " invalid "
+ "16r253F" 16r00 " invalid "
+ "16r2540" 16r00 " invalid "
+ "16r2541" 16r00 " invalid "
+ "16r2542" 16r00 " invalid "
+ "16r2543" 16r00 " invalid "
+ "16r2544" 16r00 " invalid "
+ "16r2545" 16r00 " invalid "
+ "16r2546" 16r00 " invalid "
+ "16r2547" 16r00 " invalid "
+ "16r2548" 16r00 " invalid "
+ "16r2549" 16r00 " invalid "
+ "16r254A" 16r00 " invalid "
+ "16r254B" 16r00 " invalid "
+ "16r254C" 16r00 " invalid "
+ "16r254D" 16r00 " invalid "
+ "16r254E" 16r00 " invalid "
+ "16r254F" 16r00 " invalid "
+ "16r2550" 16rA0 " BOX DRAWINGS DOUBLE HORIZONTAL "
+ "16r2551" 16rA1 " BOX DRAWINGS DOUBLE VERTICAL "
+ "16r2552" 16rA2 " BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE "
+ "16r2553" 16rA4 " BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE "
+ "16r2554" 16rA5 " BOX DRAWINGS DOUBLE DOWN AND RIGHT "
+ "16r2555" 16rA6 " BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE "
+ "16r2556" 16rA7 " BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE "
+ "16r2557" 16rA8 " BOX DRAWINGS DOUBLE DOWN AND LEFT "
+ "16r2558" 16rA9 " BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE "
+ "16r2559" 16rAA " BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE "
+ "16r255A" 16rAB " BOX DRAWINGS DOUBLE UP AND RIGHT "
+ "16r255B" 16rAC " BOX DRAWINGS UP SINGLE AND LEFT DOUBLE "
+ "16r255C" 16rAD " BOX DRAWINGS UP DOUBLE AND LEFT SINGLE "
+ "16r255D" 16rAE " BOX DRAWINGS DOUBLE UP AND LEFT "
+ "16r255E" 16rAF " BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE "
+ "16r255F" 16rB0 " BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE "
+ "16r2560" 16rB1 " BOX DRAWINGS DOUBLE VERTICAL AND RIGHT "
+ "16r2561" 16rB2 " BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE "
+ "16r2562" 16rB4 " BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE "
+ "16r2563" 16rB5 " BOX DRAWINGS DOUBLE VERTICAL AND LEFT "
+ "16r2564" 16rB6 " BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE "
+ "16r2565" 16rB7 " BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE "
+ "16r2566" 16rB8 " BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL "
+ "16r2567" 16rB9 " BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE "
+ "16r2568" 16rBA " BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE "
+ "16r2569" 16rBB " BOX DRAWINGS DOUBLE UP AND HORIZONTAL "
+ "16r256A" 16rBC " BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE "
+ "16r256B" 16rBD " BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE "
+ "16r256C" 16rBE " BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL "
+ "16r256D" 16r00 " invalid "
+ "16r256E" 16r00 " invalid "
+ "16r256F" 16r00 " invalid "
+ "16r2570" 16r00 " invalid "
+ "16r2571" 16r00 " invalid "
+ "16r2572" 16r00 " invalid "
+ "16r2573" 16r00 " invalid "
+ "16r2574" 16r00 " invalid "
+ "16r2575" 16r00 " invalid "
+ "16r2576" 16r00 " invalid "
+ "16r2577" 16r00 " invalid "
+ "16r2578" 16r00 " invalid "
+ "16r2579" 16r00 " invalid "
+ "16r257A" 16r00 " invalid "
+ "16r257B" 16r00 " invalid "
+ "16r257C" 16r00 " invalid "
+ "16r257D" 16r00 " invalid "
+ "16r257E" 16r00 " invalid "
+ "16r257F" 16r00 " invalid "
+ "16r2580" 16r8B " UPPER HALF BLOCK "
+ "16r2581" 16r00 " invalid "
+ "16r2582" 16r00 " invalid "
+ "16r2583" 16r00 " invalid "
+ "16r2584" 16r8C " LOWER HALF BLOCK "
+ "16r2585" 16r00 " invalid "
+ "16r2586" 16r00 " invalid "
+ "16r2587" 16r00 " invalid "
+ "16r2588" 16r8D " FULL BLOCK "
+ "16r2589" 16r00 " invalid "
+ "16r258A" 16r00 " invalid "
+ "16r258B" 16r00 " invalid "
+ "16r258C" 16r8E " LEFT HALF BLOCK "
+ "16r258D" 16r00 " invalid "
+ "16r258E" 16r00 " invalid "
+ "16r258F" 16r00 " invalid "
+ "16r2590" 16r8F " RIGHT HALF BLOCK "
+ "16r2591" 16r90 " LIGHT SHADE "
+ "16r2592" 16r91 " MEDIUM SHADE "
+ "16r2593" 16r92 " DARK SHADE "
+ "16r2594" 16r00 " invalid "
+ "16r2595" 16r00 " invalid "
+ "16r2596" 16r00 " invalid "
+ "16r2597" 16r00 " invalid "
+ "16r2598" 16r00 " invalid "
+ "16r2599" 16r00 " invalid "
+ "16r259A" 16r00 " invalid "
+ "16r259B" 16r00 " invalid "
+ "16r259C" 16r00 " invalid "
+ "16r259D" 16r00 " invalid "
+ "16r259E" 16r00 " invalid "
+ "16r259F" 16r00 " invalid "
+ "16r25A0" 16r94 " BLACK SQUARE "
+ ] at:(unicode - 9471).
+ t == 0 ifFalse:[^ t].
+ ^ self encodingError
+ ] value.
! !
!CharacterEncoder::KOI8_U class methodsFor:'mapping'!
@@ -8077,7 +24843,7 @@
"
!
-mappingURL2_baseName
+mappingURL2_relativePathName
^ 'KOI8-U'
! !
@@ -8088,8 +24854,8 @@
code < 128 ifTrue:[ ^ code ].
code > 255 ifTrue:[
- self error:'invalid code'.
- ^ $? asciiValue
+ self error:'invalid code'.
+ ^ $? asciiValue
].
^ #(
"16r0080" 16r2500 " BOX DRAWINGS LIGHT HORIZONTAL "
@@ -8225,8 +24991,8 @@
!CharacterEncoder::KSC5601 class methodsFor:'mapping'!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/KSC/KSC5601.TXT'
+mappingURL1_relativePathName
+ ^ 'OBSOLETE/EASTASIA/KSC/KSC5601.TXT'
! !
!CharacterEncoder::MAC_Arabic class methodsFor:'mapping'!
@@ -8516,18 +25282,18 @@
# context (that is, when the first 'strong' character on either side
# of the digit sequence is Arabic, or there is no strong character):
#
-# 0x2C 0x066C # ARABIC THOUSANDS SEPARATOR
-# 0x2E 0x066B # ARABIC DECIMAL SEPARATOR
-# 0x30 0x0660 # ARABIC-INDIC DIGIT ZERO
-# 0x31 0x0661 # ARABIC-INDIC DIGIT ONE
-# 0x32 0x0662 # ARABIC-INDIC DIGIT TWO
-# 0x33 0x0663 # ARABIC-INDIC DIGIT THREE
-# 0x34 0x0664 # ARABIC-INDIC DIGIT FOUR
-# 0x35 0x0665 # ARABIC-INDIC DIGIT FIVE
-# 0x36 0x0666 # ARABIC-INDIC DIGIT SIX
-# 0x37 0x0667 # ARABIC-INDIC DIGIT SEVEN
-# 0x38 0x0668 # ARABIC-INDIC DIGIT EIGHT
-# 0x39 0x0669 # ARABIC-INDIC DIGIT NINE
+# 0x2C 0x066C # ARABIC THOUSANDS SEPARATOR
+# 0x2E 0x066B # ARABIC DECIMAL SEPARATOR
+# 0x30 0x0660 # ARABIC-INDIC DIGIT ZERO
+# 0x31 0x0661 # ARABIC-INDIC DIGIT ONE
+# 0x32 0x0662 # ARABIC-INDIC DIGIT TWO
+# 0x33 0x0663 # ARABIC-INDIC DIGIT THREE
+# 0x34 0x0664 # ARABIC-INDIC DIGIT FOUR
+# 0x35 0x0665 # ARABIC-INDIC DIGIT FIVE
+# 0x36 0x0666 # ARABIC-INDIC DIGIT SIX
+# 0x37 0x0667 # ARABIC-INDIC DIGIT SEVEN
+# 0x38 0x0668 # ARABIC-INDIC DIGIT EIGHT
+# 0x39 0x0669 # ARABIC-INDIC DIGIT NINE
#
# Details of mapping changes in each version:
# -------------------------------------------
@@ -8541,236 +25307,236 @@
#
##################
-0x20 <LR>+0x0020 # SPACE, left-right
-0x21 <LR>+0x0021 # EXCLAMATION MARK, left-right
-0x22 <LR>+0x0022 # QUOTATION MARK, left-right
-0x23 <LR>+0x0023 # NUMBER SIGN, left-right
-0x24 <LR>+0x0024 # DOLLAR SIGN, left-right
-0x25 <LR>+0x0025 # PERCENT SIGN, left-right
-0x26 <LR>+0x0026 # AMPERSAND, left-right
-0x27 <LR>+0x0027 # APOSTROPHE, left-right
-0x28 <LR>+0x0028 # LEFT PARENTHESIS, left-right
-0x29 <LR>+0x0029 # RIGHT PARENTHESIS, left-right
-0x2A <LR>+0x002A # ASTERISK, left-right
-0x2B <LR>+0x002B # PLUS SIGN, left-right
-0x2C <LR>+0x002C # COMMA, left-right; in Arabic-script context, displayed as 0x066C ARABIC THOUSANDS SEPARATOR
-0x2D <LR>+0x002D # HYPHEN-MINUS, left-right
-0x2E <LR>+0x002E # FULL STOP, left-right; in Arabic-script context, displayed as 0x066B ARABIC DECIMAL SEPARATOR
-0x2F <LR>+0x002F # SOLIDUS, left-right
-0x30 0x0030 # DIGIT ZERO; in Arabic-script context, displayed as 0x0660 ARABIC-INDIC DIGIT ZERO
-0x31 0x0031 # DIGIT ONE; in Arabic-script context, displayed as 0x0661 ARABIC-INDIC DIGIT ONE
-0x32 0x0032 # DIGIT TWO; in Arabic-script context, displayed as 0x0662 ARABIC-INDIC DIGIT TWO
-0x33 0x0033 # DIGIT THREE; in Arabic-script context, displayed as 0x0663 ARABIC-INDIC DIGIT THREE
-0x34 0x0034 # DIGIT FOUR; in Arabic-script context, displayed as 0x0664 ARABIC-INDIC DIGIT FOUR
-0x35 0x0035 # DIGIT FIVE; in Arabic-script context, displayed as 0x0665 ARABIC-INDIC DIGIT FIVE
-0x36 0x0036 # DIGIT SIX; in Arabic-script context, displayed as 0x0666 ARABIC-INDIC DIGIT SIX
-0x37 0x0037 # DIGIT SEVEN; in Arabic-script context, displayed as 0x0667 ARABIC-INDIC DIGIT SEVEN
-0x38 0x0038 # DIGIT EIGHT; in Arabic-script context, displayed as 0x0668 ARABIC-INDIC DIGIT EIGHT
-0x39 0x0039 # DIGIT NINE; in Arabic-script context, displayed as 0x0669 ARABIC-INDIC DIGIT NINE
-0x3A <LR>+0x003A # COLON, left-right
-0x3B <LR>+0x003B # SEMICOLON, left-right
-0x3C <LR>+0x003C # LESS-THAN SIGN, left-right
-0x3D <LR>+0x003D # EQUALS SIGN, left-right
-0x3E <LR>+0x003E # GREATER-THAN SIGN, left-right
-0x3F <LR>+0x003F # QUESTION MARK, left-right
-0x40 0x0040 # COMMERCIAL AT
-0x41 0x0041 # LATIN CAPITAL LETTER A
-0x42 0x0042 # LATIN CAPITAL LETTER B
-0x43 0x0043 # LATIN CAPITAL LETTER C
-0x44 0x0044 # LATIN CAPITAL LETTER D
-0x45 0x0045 # LATIN CAPITAL LETTER E
-0x46 0x0046 # LATIN CAPITAL LETTER F
-0x47 0x0047 # LATIN CAPITAL LETTER G
-0x48 0x0048 # LATIN CAPITAL LETTER H
-0x49 0x0049 # LATIN CAPITAL LETTER I
-0x4A 0x004A # LATIN CAPITAL LETTER J
-0x4B 0x004B # LATIN CAPITAL LETTER K
-0x4C 0x004C # LATIN CAPITAL LETTER L
-0x4D 0x004D # LATIN CAPITAL LETTER M
-0x4E 0x004E # LATIN CAPITAL LETTER N
-0x4F 0x004F # LATIN CAPITAL LETTER O
-0x50 0x0050 # LATIN CAPITAL LETTER P
-0x51 0x0051 # LATIN CAPITAL LETTER Q
-0x52 0x0052 # LATIN CAPITAL LETTER R
-0x53 0x0053 # LATIN CAPITAL LETTER S
-0x54 0x0054 # LATIN CAPITAL LETTER T
-0x55 0x0055 # LATIN CAPITAL LETTER U
-0x56 0x0056 # LATIN CAPITAL LETTER V
-0x57 0x0057 # LATIN CAPITAL LETTER W
-0x58 0x0058 # LATIN CAPITAL LETTER X
-0x59 0x0059 # LATIN CAPITAL LETTER Y
-0x5A 0x005A # LATIN CAPITAL LETTER Z
-0x5B <LR>+0x005B # LEFT SQUARE BRACKET, left-right
-0x5C <LR>+0x005C # REVERSE SOLIDUS, left-right
-0x5D <LR>+0x005D # RIGHT SQUARE BRACKET, left-right
-0x5E <LR>+0x005E # CIRCUMFLEX ACCENT, left-right
-0x5F <LR>+0x005F # LOW LINE, left-right
-0x60 0x0060 # GRAVE ACCENT
-0x61 0x0061 # LATIN SMALL LETTER A
-0x62 0x0062 # LATIN SMALL LETTER B
-0x63 0x0063 # LATIN SMALL LETTER C
-0x64 0x0064 # LATIN SMALL LETTER D
-0x65 0x0065 # LATIN SMALL LETTER E
-0x66 0x0066 # LATIN SMALL LETTER F
-0x67 0x0067 # LATIN SMALL LETTER G
-0x68 0x0068 # LATIN SMALL LETTER H
-0x69 0x0069 # LATIN SMALL LETTER I
-0x6A 0x006A # LATIN SMALL LETTER J
-0x6B 0x006B # LATIN SMALL LETTER K
-0x6C 0x006C # LATIN SMALL LETTER L
-0x6D 0x006D # LATIN SMALL LETTER M
-0x6E 0x006E # LATIN SMALL LETTER N
-0x6F 0x006F # LATIN SMALL LETTER O
-0x70 0x0070 # LATIN SMALL LETTER P
-0x71 0x0071 # LATIN SMALL LETTER Q
-0x72 0x0072 # LATIN SMALL LETTER R
-0x73 0x0073 # LATIN SMALL LETTER S
-0x74 0x0074 # LATIN SMALL LETTER T
-0x75 0x0075 # LATIN SMALL LETTER U
-0x76 0x0076 # LATIN SMALL LETTER V
-0x77 0x0077 # LATIN SMALL LETTER W
-0x78 0x0078 # LATIN SMALL LETTER X
-0x79 0x0079 # LATIN SMALL LETTER Y
-0x7A 0x007A # LATIN SMALL LETTER Z
-0x7B <LR>+0x007B # LEFT CURLY BRACKET, left-right
-0x7C <LR>+0x007C # VERTICAL LINE, left-right
-0x7D <LR>+0x007D # RIGHT CURLY BRACKET, left-right
-0x7E 0x007E # TILDE
-#
-0x80 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
-0x81 <RL>+0x00A0 # NO-BREAK SPACE, right-left
-0x82 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA
-0x83 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
-0x84 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE
-0x85 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
-0x86 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
-0x87 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
-0x88 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
-0x89 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
-0x8A 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
-0x8B 0x06BA # ARABIC LETTER NOON GHUNNA
-0x8C <RL>+0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
-0x8D 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
-0x8E 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
-0x8F 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
-0x90 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0x91 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS
-0x92 0x00ED # LATIN SMALL LETTER I WITH ACUTE
-0x93 <RL>+0x2026 # HORIZONTAL ELLIPSIS, right-left
-0x94 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX
-0x95 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS
-0x96 0x00F1 # LATIN SMALL LETTER N WITH TILDE
-0x97 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
-0x98 <RL>+0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
-0x99 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
-0x9A 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
-0x9B <RL>+0x00F7 # DIVISION SIGN, right-left
-0x9C 0x00FA # LATIN SMALL LETTER U WITH ACUTE
-0x9D 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
-0x9E 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX
-0x9F 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
-0xA0 <RL>+0x0020 # SPACE, right-left
-0xA1 <RL>+0x0021 # EXCLAMATION MARK, right-left
-0xA2 <RL>+0x0022 # QUOTATION MARK, right-left
-0xA3 <RL>+0x0023 # NUMBER SIGN, right-left
-0xA4 <RL>+0x0024 # DOLLAR SIGN, right-left
-0xA5 0x066A # ARABIC PERCENT SIGN
-0xA6 <RL>+0x0026 # AMPERSAND, right-left
-0xA7 <RL>+0x0027 # APOSTROPHE, right-left
-0xA8 <RL>+0x0028 # LEFT PARENTHESIS, right-left
-0xA9 <RL>+0x0029 # RIGHT PARENTHESIS, right-left
-0xAA <RL>+0x002A # ASTERISK, right-left
-0xAB <RL>+0x002B # PLUS SIGN, right-left
-0xAC 0x060C # ARABIC COMMA
-0xAD <RL>+0x002D # HYPHEN-MINUS, right-left
-0xAE <RL>+0x002E # FULL STOP, right-left
-0xAF <RL>+0x002F # SOLIDUS, right-left
-0xB0 <RL>+0x0660 # ARABIC-INDIC DIGIT ZERO, right-left (need override)
-0xB1 <RL>+0x0661 # ARABIC-INDIC DIGIT ONE, right-left (need override)
-0xB2 <RL>+0x0662 # ARABIC-INDIC DIGIT TWO, right-left (need override)
-0xB3 <RL>+0x0663 # ARABIC-INDIC DIGIT THREE, right-left (need override)
-0xB4 <RL>+0x0664 # ARABIC-INDIC DIGIT FOUR, right-left (need override)
-0xB5 <RL>+0x0665 # ARABIC-INDIC DIGIT FIVE, right-left (need override)
-0xB6 <RL>+0x0666 # ARABIC-INDIC DIGIT SIX, right-left (need override)
-0xB7 <RL>+0x0667 # ARABIC-INDIC DIGIT SEVEN, right-left (need override)
-0xB8 <RL>+0x0668 # ARABIC-INDIC DIGIT EIGHT, right-left (need override)
-0xB9 <RL>+0x0669 # ARABIC-INDIC DIGIT NINE, right-left (need override)
-0xBA <RL>+0x003A # COLON, right-left
-0xBB 0x061B # ARABIC SEMICOLON
-0xBC <RL>+0x003C # LESS-THAN SIGN, right-left
-0xBD <RL>+0x003D # EQUALS SIGN, right-left
-0xBE <RL>+0x003E # GREATER-THAN SIGN, right-left
-0xBF 0x061F # ARABIC QUESTION MARK
-0xC0 <RL>+0x274A # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK, right-left
-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
-0xDB <RL>+0x005B # LEFT SQUARE BRACKET, right-left
-0xDC <RL>+0x005C # REVERSE SOLIDUS, right-left
-0xDD <RL>+0x005D # RIGHT SQUARE BRACKET, right-left
-0xDE <RL>+0x005E # CIRCUMFLEX ACCENT, right-left
-0xDF <RL>+0x005F # LOW LINE, right-left
-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
-0xF3 0x067E # ARABIC LETTER PEH
-0xF4 0x0679 # ARABIC LETTER TTEH
-0xF5 0x0686 # ARABIC LETTER TCHEH
-0xF6 0x06D5 # ARABIC LETTER AE
-0xF7 0x06A4 # ARABIC LETTER VEH
-0xF8 0x06AF # ARABIC LETTER GAF
-0xF9 0x0688 # ARABIC LETTER DDAL
-0xFA 0x0691 # ARABIC LETTER RREH
-0xFB <RL>+0x007B # LEFT CURLY BRACKET, right-left
-0xFC <RL>+0x007C # VERTICAL LINE, right-left
-0xFD <RL>+0x007D # RIGHT CURLY BRACKET, right-left
-0xFE 0x0698 # ARABIC LETTER JEH
-0xFF 0x06D2 # ARABIC LETTER YEH BARREE
-
-"
-!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/ARABIC.TXT'
+0x20 <LR>+0x0020 # SPACE, left-right
+0x21 <LR>+0x0021 # EXCLAMATION MARK, left-right
+0x22 <LR>+0x0022 # QUOTATION MARK, left-right
+0x23 <LR>+0x0023 # NUMBER SIGN, left-right
+0x24 <LR>+0x0024 # DOLLAR SIGN, left-right
+0x25 <LR>+0x0025 # PERCENT SIGN, left-right
+0x26 <LR>+0x0026 # AMPERSAND, left-right
+0x27 <LR>+0x0027 # APOSTROPHE, left-right
+0x28 <LR>+0x0028 # LEFT PARENTHESIS, left-right
+0x29 <LR>+0x0029 # RIGHT PARENTHESIS, left-right
+0x2A <LR>+0x002A # ASTERISK, left-right
+0x2B <LR>+0x002B # PLUS SIGN, left-right
+0x2C <LR>+0x002C # COMMA, left-right; in Arabic-script context, displayed as 0x066C ARABIC THOUSANDS SEPARATOR
+0x2D <LR>+0x002D # HYPHEN-MINUS, left-right
+0x2E <LR>+0x002E # FULL STOP, left-right; in Arabic-script context, displayed as 0x066B ARABIC DECIMAL SEPARATOR
+0x2F <LR>+0x002F # SOLIDUS, left-right
+0x30 0x0030 # DIGIT ZERO; in Arabic-script context, displayed as 0x0660 ARABIC-INDIC DIGIT ZERO
+0x31 0x0031 # DIGIT ONE; in Arabic-script context, displayed as 0x0661 ARABIC-INDIC DIGIT ONE
+0x32 0x0032 # DIGIT TWO; in Arabic-script context, displayed as 0x0662 ARABIC-INDIC DIGIT TWO
+0x33 0x0033 # DIGIT THREE; in Arabic-script context, displayed as 0x0663 ARABIC-INDIC DIGIT THREE
+0x34 0x0034 # DIGIT FOUR; in Arabic-script context, displayed as 0x0664 ARABIC-INDIC DIGIT FOUR
+0x35 0x0035 # DIGIT FIVE; in Arabic-script context, displayed as 0x0665 ARABIC-INDIC DIGIT FIVE
+0x36 0x0036 # DIGIT SIX; in Arabic-script context, displayed as 0x0666 ARABIC-INDIC DIGIT SIX
+0x37 0x0037 # DIGIT SEVEN; in Arabic-script context, displayed as 0x0667 ARABIC-INDIC DIGIT SEVEN
+0x38 0x0038 # DIGIT EIGHT; in Arabic-script context, displayed as 0x0668 ARABIC-INDIC DIGIT EIGHT
+0x39 0x0039 # DIGIT NINE; in Arabic-script context, displayed as 0x0669 ARABIC-INDIC DIGIT NINE
+0x3A <LR>+0x003A # COLON, left-right
+0x3B <LR>+0x003B # SEMICOLON, left-right
+0x3C <LR>+0x003C # LESS-THAN SIGN, left-right
+0x3D <LR>+0x003D # EQUALS SIGN, left-right
+0x3E <LR>+0x003E # GREATER-THAN SIGN, left-right
+0x3F <LR>+0x003F # QUESTION MARK, left-right
+0x40 0x0040 # COMMERCIAL AT
+0x41 0x0041 # LATIN CAPITAL LETTER A
+0x42 0x0042 # LATIN CAPITAL LETTER B
+0x43 0x0043 # LATIN CAPITAL LETTER C
+0x44 0x0044 # LATIN CAPITAL LETTER D
+0x45 0x0045 # LATIN CAPITAL LETTER E
+0x46 0x0046 # LATIN CAPITAL LETTER F
+0x47 0x0047 # LATIN CAPITAL LETTER G
+0x48 0x0048 # LATIN CAPITAL LETTER H
+0x49 0x0049 # LATIN CAPITAL LETTER I
+0x4A 0x004A # LATIN CAPITAL LETTER J
+0x4B 0x004B # LATIN CAPITAL LETTER K
+0x4C 0x004C # LATIN CAPITAL LETTER L
+0x4D 0x004D # LATIN CAPITAL LETTER M
+0x4E 0x004E # LATIN CAPITAL LETTER N
+0x4F 0x004F # LATIN CAPITAL LETTER O
+0x50 0x0050 # LATIN CAPITAL LETTER P
+0x51 0x0051 # LATIN CAPITAL LETTER Q
+0x52 0x0052 # LATIN CAPITAL LETTER R
+0x53 0x0053 # LATIN CAPITAL LETTER S
+0x54 0x0054 # LATIN CAPITAL LETTER T
+0x55 0x0055 # LATIN CAPITAL LETTER U
+0x56 0x0056 # LATIN CAPITAL LETTER V
+0x57 0x0057 # LATIN CAPITAL LETTER W
+0x58 0x0058 # LATIN CAPITAL LETTER X
+0x59 0x0059 # LATIN CAPITAL LETTER Y
+0x5A 0x005A # LATIN CAPITAL LETTER Z
+0x5B <LR>+0x005B # LEFT SQUARE BRACKET, left-right
+0x5C <LR>+0x005C # REVERSE SOLIDUS, left-right
+0x5D <LR>+0x005D # RIGHT SQUARE BRACKET, left-right
+0x5E <LR>+0x005E # CIRCUMFLEX ACCENT, left-right
+0x5F <LR>+0x005F # LOW LINE, left-right
+0x60 0x0060 # GRAVE ACCENT
+0x61 0x0061 # LATIN SMALL LETTER A
+0x62 0x0062 # LATIN SMALL LETTER B
+0x63 0x0063 # LATIN SMALL LETTER C
+0x64 0x0064 # LATIN SMALL LETTER D
+0x65 0x0065 # LATIN SMALL LETTER E
+0x66 0x0066 # LATIN SMALL LETTER F
+0x67 0x0067 # LATIN SMALL LETTER G
+0x68 0x0068 # LATIN SMALL LETTER H
+0x69 0x0069 # LATIN SMALL LETTER I
+0x6A 0x006A # LATIN SMALL LETTER J
+0x6B 0x006B # LATIN SMALL LETTER K
+0x6C 0x006C # LATIN SMALL LETTER L
+0x6D 0x006D # LATIN SMALL LETTER M
+0x6E 0x006E # LATIN SMALL LETTER N
+0x6F 0x006F # LATIN SMALL LETTER O
+0x70 0x0070 # LATIN SMALL LETTER P
+0x71 0x0071 # LATIN SMALL LETTER Q
+0x72 0x0072 # LATIN SMALL LETTER R
+0x73 0x0073 # LATIN SMALL LETTER S
+0x74 0x0074 # LATIN SMALL LETTER T
+0x75 0x0075 # LATIN SMALL LETTER U
+0x76 0x0076 # LATIN SMALL LETTER V
+0x77 0x0077 # LATIN SMALL LETTER W
+0x78 0x0078 # LATIN SMALL LETTER X
+0x79 0x0079 # LATIN SMALL LETTER Y
+0x7A 0x007A # LATIN SMALL LETTER Z
+0x7B <LR>+0x007B # LEFT CURLY BRACKET, left-right
+0x7C <LR>+0x007C # VERTICAL LINE, left-right
+0x7D <LR>+0x007D # RIGHT CURLY BRACKET, left-right
+0x7E 0x007E # TILDE
+#
+0x80 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
+0x81 <RL>+0x00A0 # NO-BREAK SPACE, right-left
+0x82 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA
+0x83 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
+0x84 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE
+0x85 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
+0x86 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
+0x87 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
+0x88 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
+0x89 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x8A 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
+0x8B 0x06BA # ARABIC LETTER NOON GHUNNA
+0x8C <RL>+0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
+0x8D 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
+0x8E 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
+0x8F 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
+0x90 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x91 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS
+0x92 0x00ED # LATIN SMALL LETTER I WITH ACUTE
+0x93 <RL>+0x2026 # HORIZONTAL ELLIPSIS, right-left
+0x94 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x95 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS
+0x96 0x00F1 # LATIN SMALL LETTER N WITH TILDE
+0x97 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
+0x98 <RL>+0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
+0x99 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x9A 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
+0x9B <RL>+0x00F7 # DIVISION SIGN, right-left
+0x9C 0x00FA # LATIN SMALL LETTER U WITH ACUTE
+0x9D 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
+0x9E 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX
+0x9F 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
+0xA0 <RL>+0x0020 # SPACE, right-left
+0xA1 <RL>+0x0021 # EXCLAMATION MARK, right-left
+0xA2 <RL>+0x0022 # QUOTATION MARK, right-left
+0xA3 <RL>+0x0023 # NUMBER SIGN, right-left
+0xA4 <RL>+0x0024 # DOLLAR SIGN, right-left
+0xA5 0x066A # ARABIC PERCENT SIGN
+0xA6 <RL>+0x0026 # AMPERSAND, right-left
+0xA7 <RL>+0x0027 # APOSTROPHE, right-left
+0xA8 <RL>+0x0028 # LEFT PARENTHESIS, right-left
+0xA9 <RL>+0x0029 # RIGHT PARENTHESIS, right-left
+0xAA <RL>+0x002A # ASTERISK, right-left
+0xAB <RL>+0x002B # PLUS SIGN, right-left
+0xAC 0x060C # ARABIC COMMA
+0xAD <RL>+0x002D # HYPHEN-MINUS, right-left
+0xAE <RL>+0x002E # FULL STOP, right-left
+0xAF <RL>+0x002F # SOLIDUS, right-left
+0xB0 <RL>+0x0660 # ARABIC-INDIC DIGIT ZERO, right-left (need override)
+0xB1 <RL>+0x0661 # ARABIC-INDIC DIGIT ONE, right-left (need override)
+0xB2 <RL>+0x0662 # ARABIC-INDIC DIGIT TWO, right-left (need override)
+0xB3 <RL>+0x0663 # ARABIC-INDIC DIGIT THREE, right-left (need override)
+0xB4 <RL>+0x0664 # ARABIC-INDIC DIGIT FOUR, right-left (need override)
+0xB5 <RL>+0x0665 # ARABIC-INDIC DIGIT FIVE, right-left (need override)
+0xB6 <RL>+0x0666 # ARABIC-INDIC DIGIT SIX, right-left (need override)
+0xB7 <RL>+0x0667 # ARABIC-INDIC DIGIT SEVEN, right-left (need override)
+0xB8 <RL>+0x0668 # ARABIC-INDIC DIGIT EIGHT, right-left (need override)
+0xB9 <RL>+0x0669 # ARABIC-INDIC DIGIT NINE, right-left (need override)
+0xBA <RL>+0x003A # COLON, right-left
+0xBB 0x061B # ARABIC SEMICOLON
+0xBC <RL>+0x003C # LESS-THAN SIGN, right-left
+0xBD <RL>+0x003D # EQUALS SIGN, right-left
+0xBE <RL>+0x003E # GREATER-THAN SIGN, right-left
+0xBF 0x061F # ARABIC QUESTION MARK
+0xC0 <RL>+0x274A # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK, right-left
+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
+0xDB <RL>+0x005B # LEFT SQUARE BRACKET, right-left
+0xDC <RL>+0x005C # REVERSE SOLIDUS, right-left
+0xDD <RL>+0x005D # RIGHT SQUARE BRACKET, right-left
+0xDE <RL>+0x005E # CIRCUMFLEX ACCENT, right-left
+0xDF <RL>+0x005F # LOW LINE, right-left
+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
+0xF3 0x067E # ARABIC LETTER PEH
+0xF4 0x0679 # ARABIC LETTER TTEH
+0xF5 0x0686 # ARABIC LETTER TCHEH
+0xF6 0x06D5 # ARABIC LETTER AE
+0xF7 0x06A4 # ARABIC LETTER VEH
+0xF8 0x06AF # ARABIC LETTER GAF
+0xF9 0x0688 # ARABIC LETTER DDAL
+0xFA 0x0691 # ARABIC LETTER RREH
+0xFB <RL>+0x007B # LEFT CURLY BRACKET, right-left
+0xFC <RL>+0x007C # VERTICAL LINE, right-left
+0xFD <RL>+0x007D # RIGHT CURLY BRACKET, right-left
+0xFE 0x0698 # ARABIC LETTER JEH
+0xFF 0x06D2 # ARABIC LETTER YEH BARREE
+
+"
+!
+
+mappingURL1_relativePathName
+ ^ 'VENDORS/APPLE/ARABIC.TXT'
! !
!CharacterEncoder::MAC_Arabic methodsFor:'encoding & decoding'!
@@ -8780,8 +25546,8 @@
code < 32 ifTrue:[ ^ code ].
code > 255 ifTrue:[
- self error:'invalid code'.
- ^ $? asciiValue
+ self error:'invalid code'.
+ ^ $? asciiValue
].
^ #(
"16r0020" 16rFFFF
@@ -9340,8 +26106,8 @@
"
!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/CENTEURO.TXT'
+mappingURL1_relativePathName
+ ^ 'VENDORS/APPLE/CENTEURO.TXT'
! !
!CharacterEncoder::MAC_CentralEuropean methodsFor:'encoding & decoding'!
@@ -9567,7 +26333,7 @@
# Notes on Mac OS Croatian:
# -------------------------
#
-# Mac OS Croatian is used for Croatian and Slovene.
+# Mac OS Croatian is used for Croatian and Slovene.
#
# The Mac OS Croatian encoding shares the script code smRoman
# (0) with the standard Mac OS Roman encoding. To determine if
@@ -9614,236 +26380,236 @@
#
##################
-0x20 0x0020 # SPACE
-0x21 0x0021 # EXCLAMATION MARK
-0x22 0x0022 # QUOTATION MARK
-0x23 0x0023 # NUMBER SIGN
-0x24 0x0024 # DOLLAR SIGN
-0x25 0x0025 # PERCENT SIGN
-0x26 0x0026 # AMPERSAND
-0x27 0x0027 # APOSTROPHE
-0x28 0x0028 # LEFT PARENTHESIS
-0x29 0x0029 # RIGHT PARENTHESIS
-0x2A 0x002A # ASTERISK
-0x2B 0x002B # PLUS SIGN
-0x2C 0x002C # COMMA
-0x2D 0x002D # HYPHEN-MINUS
-0x2E 0x002E # FULL STOP
-0x2F 0x002F # SOLIDUS
-0x30 0x0030 # DIGIT ZERO
-0x31 0x0031 # DIGIT ONE
-0x32 0x0032 # DIGIT TWO
-0x33 0x0033 # DIGIT THREE
-0x34 0x0034 # DIGIT FOUR
-0x35 0x0035 # DIGIT FIVE
-0x36 0x0036 # DIGIT SIX
-0x37 0x0037 # DIGIT SEVEN
-0x38 0x0038 # DIGIT EIGHT
-0x39 0x0039 # DIGIT NINE
-0x3A 0x003A # COLON
-0x3B 0x003B # SEMICOLON
-0x3C 0x003C # LESS-THAN SIGN
-0x3D 0x003D # EQUALS SIGN
-0x3E 0x003E # GREATER-THAN SIGN
-0x3F 0x003F # QUESTION MARK
-0x40 0x0040 # COMMERCIAL AT
-0x41 0x0041 # LATIN CAPITAL LETTER A
-0x42 0x0042 # LATIN CAPITAL LETTER B
-0x43 0x0043 # LATIN CAPITAL LETTER C
-0x44 0x0044 # LATIN CAPITAL LETTER D
-0x45 0x0045 # LATIN CAPITAL LETTER E
-0x46 0x0046 # LATIN CAPITAL LETTER F
-0x47 0x0047 # LATIN CAPITAL LETTER G
-0x48 0x0048 # LATIN CAPITAL LETTER H
-0x49 0x0049 # LATIN CAPITAL LETTER I
-0x4A 0x004A # LATIN CAPITAL LETTER J
-0x4B 0x004B # LATIN CAPITAL LETTER K
-0x4C 0x004C # LATIN CAPITAL LETTER L
-0x4D 0x004D # LATIN CAPITAL LETTER M
-0x4E 0x004E # LATIN CAPITAL LETTER N
-0x4F 0x004F # LATIN CAPITAL LETTER O
-0x50 0x0050 # LATIN CAPITAL LETTER P
-0x51 0x0051 # LATIN CAPITAL LETTER Q
-0x52 0x0052 # LATIN CAPITAL LETTER R
-0x53 0x0053 # LATIN CAPITAL LETTER S
-0x54 0x0054 # LATIN CAPITAL LETTER T
-0x55 0x0055 # LATIN CAPITAL LETTER U
-0x56 0x0056 # LATIN CAPITAL LETTER V
-0x57 0x0057 # LATIN CAPITAL LETTER W
-0x58 0x0058 # LATIN CAPITAL LETTER X
-0x59 0x0059 # LATIN CAPITAL LETTER Y
-0x5A 0x005A # LATIN CAPITAL LETTER Z
-0x5B 0x005B # LEFT SQUARE BRACKET
-0x5C 0x005C # REVERSE SOLIDUS
-0x5D 0x005D # RIGHT SQUARE BRACKET
-0x5E 0x005E # CIRCUMFLEX ACCENT
-0x5F 0x005F # LOW LINE
-0x60 0x0060 # GRAVE ACCENT
-0x61 0x0061 # LATIN SMALL LETTER A
-0x62 0x0062 # LATIN SMALL LETTER B
-0x63 0x0063 # LATIN SMALL LETTER C
-0x64 0x0064 # LATIN SMALL LETTER D
-0x65 0x0065 # LATIN SMALL LETTER E
-0x66 0x0066 # LATIN SMALL LETTER F
-0x67 0x0067 # LATIN SMALL LETTER G
-0x68 0x0068 # LATIN SMALL LETTER H
-0x69 0x0069 # LATIN SMALL LETTER I
-0x6A 0x006A # LATIN SMALL LETTER J
-0x6B 0x006B # LATIN SMALL LETTER K
-0x6C 0x006C # LATIN SMALL LETTER L
-0x6D 0x006D # LATIN SMALL LETTER M
-0x6E 0x006E # LATIN SMALL LETTER N
-0x6F 0x006F # LATIN SMALL LETTER O
-0x70 0x0070 # LATIN SMALL LETTER P
-0x71 0x0071 # LATIN SMALL LETTER Q
-0x72 0x0072 # LATIN SMALL LETTER R
-0x73 0x0073 # LATIN SMALL LETTER S
-0x74 0x0074 # LATIN SMALL LETTER T
-0x75 0x0075 # LATIN SMALL LETTER U
-0x76 0x0076 # LATIN SMALL LETTER V
-0x77 0x0077 # LATIN SMALL LETTER W
-0x78 0x0078 # LATIN SMALL LETTER X
-0x79 0x0079 # LATIN SMALL LETTER Y
-0x7A 0x007A # LATIN SMALL LETTER Z
-0x7B 0x007B # LEFT CURLY BRACKET
-0x7C 0x007C # VERTICAL LINE
-0x7D 0x007D # RIGHT CURLY BRACKET
-0x7E 0x007E # TILDE
-#
-0x80 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
-0x81 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE
-0x82 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA
-0x83 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
-0x84 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE
-0x85 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
-0x86 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
-0x87 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
-0x88 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
-0x89 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
-0x8A 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
-0x8B 0x00E3 # LATIN SMALL LETTER A WITH TILDE
-0x8C 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE
-0x8D 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
-0x8E 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
-0x8F 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
-0x90 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0x91 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS
-0x92 0x00ED # LATIN SMALL LETTER I WITH ACUTE
-0x93 0x00EC # LATIN SMALL LETTER I WITH GRAVE
-0x94 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX
-0x95 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS
-0x96 0x00F1 # LATIN SMALL LETTER N WITH TILDE
-0x97 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
-0x98 0x00F2 # LATIN SMALL LETTER O WITH GRAVE
-0x99 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
-0x9A 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
-0x9B 0x00F5 # LATIN SMALL LETTER O WITH TILDE
-0x9C 0x00FA # LATIN SMALL LETTER U WITH ACUTE
-0x9D 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
-0x9E 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX
-0x9F 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
-0xA0 0x2020 # DAGGER
-0xA1 0x00B0 # DEGREE SIGN
-0xA2 0x00A2 # CENT SIGN
-0xA3 0x00A3 # POUND SIGN
-0xA4 0x00A7 # SECTION SIGN
-0xA5 0x2022 # BULLET
-0xA6 0x00B6 # PILCROW SIGN
-0xA7 0x00DF # LATIN SMALL LETTER SHARP S
-0xA8 0x00AE # REGISTERED SIGN
-0xA9 0x0160 # LATIN CAPITAL LETTER S WITH CARON
-0xAA 0x2122 # TRADE MARK SIGN
-0xAB 0x00B4 # ACUTE ACCENT
-0xAC 0x00A8 # DIAERESIS
-0xAD 0x2260 # NOT EQUAL TO
-0xAE 0x017D # LATIN CAPITAL LETTER Z WITH CARON
-0xAF 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE
-0xB0 0x221E # INFINITY
-0xB1 0x00B1 # PLUS-MINUS SIGN
-0xB2 0x2264 # LESS-THAN OR EQUAL TO
-0xB3 0x2265 # GREATER-THAN OR EQUAL TO
-0xB4 0x2206 # INCREMENT
-0xB5 0x00B5 # MICRO SIGN
-0xB6 0x2202 # PARTIAL DIFFERENTIAL
-0xB7 0x2211 # N-ARY SUMMATION
-0xB8 0x220F # N-ARY PRODUCT
-0xB9 0x0161 # LATIN SMALL LETTER S WITH CARON
-0xBA 0x222B # INTEGRAL
-0xBB 0x00AA # FEMININE ORDINAL INDICATOR
-0xBC 0x00BA # MASCULINE ORDINAL INDICATOR
-0xBD 0x03A9 # GREEK CAPITAL LETTER OMEGA
-0xBE 0x017E # LATIN SMALL LETTER Z WITH CARON
-0xBF 0x00F8 # LATIN SMALL LETTER O WITH STROKE
-0xC0 0x00BF # INVERTED QUESTION MARK
-0xC1 0x00A1 # INVERTED EXCLAMATION MARK
-0xC2 0x00AC # NOT SIGN
-0xC3 0x221A # SQUARE ROOT
-0xC4 0x0192 # LATIN SMALL LETTER F WITH HOOK
-0xC5 0x2248 # ALMOST EQUAL TO
-0xC6 0x0106 # LATIN CAPITAL LETTER C WITH ACUTE
-0xC7 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-0xC8 0x010C # LATIN CAPITAL LETTER C WITH CARON
-0xC9 0x2026 # HORIZONTAL ELLIPSIS
-0xCA 0x00A0 # NO-BREAK SPACE
-0xCB 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE
-0xCC 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE
-0xCD 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE
-0xCE 0x0152 # LATIN CAPITAL LIGATURE OE
-0xCF 0x0153 # LATIN SMALL LIGATURE OE
-0xD0 0x0110 # LATIN CAPITAL LETTER D WITH STROKE
-0xD1 0x2014 # EM DASH
-0xD2 0x201C # LEFT DOUBLE QUOTATION MARK
-0xD3 0x201D # RIGHT DOUBLE QUOTATION MARK
-0xD4 0x2018 # LEFT SINGLE QUOTATION MARK
-0xD5 0x2019 # RIGHT SINGLE QUOTATION MARK
-0xD6 0x00F7 # DIVISION SIGN
-0xD7 0x25CA # LOZENGE
-0xD8 0xF8FF # Apple logo
-0xD9 0x00A9 # COPYRIGHT SIGN
-0xDA 0x2044 # FRACTION SLASH
-0xDB 0x20AC # EURO SIGN
-0xDC 0x2039 # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-0xDD 0x203A # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-0xDE 0x00C6 # LATIN CAPITAL LETTER AE
-0xDF 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-0xE0 0x2013 # EN DASH
-0xE1 0x00B7 # MIDDLE DOT
-0xE2 0x201A # SINGLE LOW-9 QUOTATION MARK
-0xE3 0x201E # DOUBLE LOW-9 QUOTATION MARK
-0xE4 0x2030 # PER MILLE SIGN
-0xE5 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-0xE6 0x0107 # LATIN SMALL LETTER C WITH ACUTE
-0xE7 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE
-0xE8 0x010D # LATIN SMALL LETTER C WITH CARON
-0xE9 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE
-0xEA 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE
-0xEB 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-0xEC 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS
-0xED 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE
-0xEE 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE
-0xEF 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-0xF0 0x0111 # LATIN SMALL LETTER D WITH STROKE
-0xF1 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE
-0xF2 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE
-0xF3 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
-0xF4 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE
-0xF5 0x0131 # LATIN SMALL LETTER DOTLESS I
-0xF6 0x02C6 # MODIFIER LETTER CIRCUMFLEX ACCENT
-0xF7 0x02DC # SMALL TILDE
-0xF8 0x00AF # MACRON
-0xF9 0x03C0 # GREEK SMALL LETTER PI
-0xFA 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS
-0xFB 0x02DA # RING ABOVE
-0xFC 0x00B8 # CEDILLA
-0xFD 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0xFE 0x00E6 # LATIN SMALL LETTER AE
-0xFF 0x02C7 # CARON
-
-"
-!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/CROATIAN.TXT'
+0x20 0x0020 # SPACE
+0x21 0x0021 # EXCLAMATION MARK
+0x22 0x0022 # QUOTATION MARK
+0x23 0x0023 # NUMBER SIGN
+0x24 0x0024 # DOLLAR SIGN
+0x25 0x0025 # PERCENT SIGN
+0x26 0x0026 # AMPERSAND
+0x27 0x0027 # APOSTROPHE
+0x28 0x0028 # LEFT PARENTHESIS
+0x29 0x0029 # RIGHT PARENTHESIS
+0x2A 0x002A # ASTERISK
+0x2B 0x002B # PLUS SIGN
+0x2C 0x002C # COMMA
+0x2D 0x002D # HYPHEN-MINUS
+0x2E 0x002E # FULL STOP
+0x2F 0x002F # SOLIDUS
+0x30 0x0030 # DIGIT ZERO
+0x31 0x0031 # DIGIT ONE
+0x32 0x0032 # DIGIT TWO
+0x33 0x0033 # DIGIT THREE
+0x34 0x0034 # DIGIT FOUR
+0x35 0x0035 # DIGIT FIVE
+0x36 0x0036 # DIGIT SIX
+0x37 0x0037 # DIGIT SEVEN
+0x38 0x0038 # DIGIT EIGHT
+0x39 0x0039 # DIGIT NINE
+0x3A 0x003A # COLON
+0x3B 0x003B # SEMICOLON
+0x3C 0x003C # LESS-THAN SIGN
+0x3D 0x003D # EQUALS SIGN
+0x3E 0x003E # GREATER-THAN SIGN
+0x3F 0x003F # QUESTION MARK
+0x40 0x0040 # COMMERCIAL AT
+0x41 0x0041 # LATIN CAPITAL LETTER A
+0x42 0x0042 # LATIN CAPITAL LETTER B
+0x43 0x0043 # LATIN CAPITAL LETTER C
+0x44 0x0044 # LATIN CAPITAL LETTER D
+0x45 0x0045 # LATIN CAPITAL LETTER E
+0x46 0x0046 # LATIN CAPITAL LETTER F
+0x47 0x0047 # LATIN CAPITAL LETTER G
+0x48 0x0048 # LATIN CAPITAL LETTER H
+0x49 0x0049 # LATIN CAPITAL LETTER I
+0x4A 0x004A # LATIN CAPITAL LETTER J
+0x4B 0x004B # LATIN CAPITAL LETTER K
+0x4C 0x004C # LATIN CAPITAL LETTER L
+0x4D 0x004D # LATIN CAPITAL LETTER M
+0x4E 0x004E # LATIN CAPITAL LETTER N
+0x4F 0x004F # LATIN CAPITAL LETTER O
+0x50 0x0050 # LATIN CAPITAL LETTER P
+0x51 0x0051 # LATIN CAPITAL LETTER Q
+0x52 0x0052 # LATIN CAPITAL LETTER R
+0x53 0x0053 # LATIN CAPITAL LETTER S
+0x54 0x0054 # LATIN CAPITAL LETTER T
+0x55 0x0055 # LATIN CAPITAL LETTER U
+0x56 0x0056 # LATIN CAPITAL LETTER V
+0x57 0x0057 # LATIN CAPITAL LETTER W
+0x58 0x0058 # LATIN CAPITAL LETTER X
+0x59 0x0059 # LATIN CAPITAL LETTER Y
+0x5A 0x005A # LATIN CAPITAL LETTER Z
+0x5B 0x005B # LEFT SQUARE BRACKET
+0x5C 0x005C # REVERSE SOLIDUS
+0x5D 0x005D # RIGHT SQUARE BRACKET
+0x5E 0x005E # CIRCUMFLEX ACCENT
+0x5F 0x005F # LOW LINE
+0x60 0x0060 # GRAVE ACCENT
+0x61 0x0061 # LATIN SMALL LETTER A
+0x62 0x0062 # LATIN SMALL LETTER B
+0x63 0x0063 # LATIN SMALL LETTER C
+0x64 0x0064 # LATIN SMALL LETTER D
+0x65 0x0065 # LATIN SMALL LETTER E
+0x66 0x0066 # LATIN SMALL LETTER F
+0x67 0x0067 # LATIN SMALL LETTER G
+0x68 0x0068 # LATIN SMALL LETTER H
+0x69 0x0069 # LATIN SMALL LETTER I
+0x6A 0x006A # LATIN SMALL LETTER J
+0x6B 0x006B # LATIN SMALL LETTER K
+0x6C 0x006C # LATIN SMALL LETTER L
+0x6D 0x006D # LATIN SMALL LETTER M
+0x6E 0x006E # LATIN SMALL LETTER N
+0x6F 0x006F # LATIN SMALL LETTER O
+0x70 0x0070 # LATIN SMALL LETTER P
+0x71 0x0071 # LATIN SMALL LETTER Q
+0x72 0x0072 # LATIN SMALL LETTER R
+0x73 0x0073 # LATIN SMALL LETTER S
+0x74 0x0074 # LATIN SMALL LETTER T
+0x75 0x0075 # LATIN SMALL LETTER U
+0x76 0x0076 # LATIN SMALL LETTER V
+0x77 0x0077 # LATIN SMALL LETTER W
+0x78 0x0078 # LATIN SMALL LETTER X
+0x79 0x0079 # LATIN SMALL LETTER Y
+0x7A 0x007A # LATIN SMALL LETTER Z
+0x7B 0x007B # LEFT CURLY BRACKET
+0x7C 0x007C # VERTICAL LINE
+0x7D 0x007D # RIGHT CURLY BRACKET
+0x7E 0x007E # TILDE
+#
+0x80 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
+0x81 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE
+0x82 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA
+0x83 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
+0x84 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE
+0x85 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
+0x86 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
+0x87 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
+0x88 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
+0x89 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x8A 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
+0x8B 0x00E3 # LATIN SMALL LETTER A WITH TILDE
+0x8C 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE
+0x8D 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
+0x8E 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
+0x8F 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
+0x90 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x91 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS
+0x92 0x00ED # LATIN SMALL LETTER I WITH ACUTE
+0x93 0x00EC # LATIN SMALL LETTER I WITH GRAVE
+0x94 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x95 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS
+0x96 0x00F1 # LATIN SMALL LETTER N WITH TILDE
+0x97 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
+0x98 0x00F2 # LATIN SMALL LETTER O WITH GRAVE
+0x99 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x9A 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
+0x9B 0x00F5 # LATIN SMALL LETTER O WITH TILDE
+0x9C 0x00FA # LATIN SMALL LETTER U WITH ACUTE
+0x9D 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
+0x9E 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX
+0x9F 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
+0xA0 0x2020 # DAGGER
+0xA1 0x00B0 # DEGREE SIGN
+0xA2 0x00A2 # CENT SIGN
+0xA3 0x00A3 # POUND SIGN
+0xA4 0x00A7 # SECTION SIGN
+0xA5 0x2022 # BULLET
+0xA6 0x00B6 # PILCROW SIGN
+0xA7 0x00DF # LATIN SMALL LETTER SHARP S
+0xA8 0x00AE # REGISTERED SIGN
+0xA9 0x0160 # LATIN CAPITAL LETTER S WITH CARON
+0xAA 0x2122 # TRADE MARK SIGN
+0xAB 0x00B4 # ACUTE ACCENT
+0xAC 0x00A8 # DIAERESIS
+0xAD 0x2260 # NOT EQUAL TO
+0xAE 0x017D # LATIN CAPITAL LETTER Z WITH CARON
+0xAF 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE
+0xB0 0x221E # INFINITY
+0xB1 0x00B1 # PLUS-MINUS SIGN
+0xB2 0x2264 # LESS-THAN OR EQUAL TO
+0xB3 0x2265 # GREATER-THAN OR EQUAL TO
+0xB4 0x2206 # INCREMENT
+0xB5 0x00B5 # MICRO SIGN
+0xB6 0x2202 # PARTIAL DIFFERENTIAL
+0xB7 0x2211 # N-ARY SUMMATION
+0xB8 0x220F # N-ARY PRODUCT
+0xB9 0x0161 # LATIN SMALL LETTER S WITH CARON
+0xBA 0x222B # INTEGRAL
+0xBB 0x00AA # FEMININE ORDINAL INDICATOR
+0xBC 0x00BA # MASCULINE ORDINAL INDICATOR
+0xBD 0x03A9 # GREEK CAPITAL LETTER OMEGA
+0xBE 0x017E # LATIN SMALL LETTER Z WITH CARON
+0xBF 0x00F8 # LATIN SMALL LETTER O WITH STROKE
+0xC0 0x00BF # INVERTED QUESTION MARK
+0xC1 0x00A1 # INVERTED EXCLAMATION MARK
+0xC2 0x00AC # NOT SIGN
+0xC3 0x221A # SQUARE ROOT
+0xC4 0x0192 # LATIN SMALL LETTER F WITH HOOK
+0xC5 0x2248 # ALMOST EQUAL TO
+0xC6 0x0106 # LATIN CAPITAL LETTER C WITH ACUTE
+0xC7 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC8 0x010C # LATIN CAPITAL LETTER C WITH CARON
+0xC9 0x2026 # HORIZONTAL ELLIPSIS
+0xCA 0x00A0 # NO-BREAK SPACE
+0xCB 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE
+0xCC 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE
+0xCD 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE
+0xCE 0x0152 # LATIN CAPITAL LIGATURE OE
+0xCF 0x0153 # LATIN SMALL LIGATURE OE
+0xD0 0x0110 # LATIN CAPITAL LETTER D WITH STROKE
+0xD1 0x2014 # EM DASH
+0xD2 0x201C # LEFT DOUBLE QUOTATION MARK
+0xD3 0x201D # RIGHT DOUBLE QUOTATION MARK
+0xD4 0x2018 # LEFT SINGLE QUOTATION MARK
+0xD5 0x2019 # RIGHT SINGLE QUOTATION MARK
+0xD6 0x00F7 # DIVISION SIGN
+0xD7 0x25CA # LOZENGE
+0xD8 0xF8FF # Apple logo
+0xD9 0x00A9 # COPYRIGHT SIGN
+0xDA 0x2044 # FRACTION SLASH
+0xDB 0x20AC # EURO SIGN
+0xDC 0x2039 # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+0xDD 0x203A # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+0xDE 0x00C6 # LATIN CAPITAL LETTER AE
+0xDF 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xE0 0x2013 # EN DASH
+0xE1 0x00B7 # MIDDLE DOT
+0xE2 0x201A # SINGLE LOW-9 QUOTATION MARK
+0xE3 0x201E # DOUBLE LOW-9 QUOTATION MARK
+0xE4 0x2030 # PER MILLE SIGN
+0xE5 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xE6 0x0107 # LATIN SMALL LETTER C WITH ACUTE
+0xE7 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE
+0xE8 0x010D # LATIN SMALL LETTER C WITH CARON
+0xE9 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE
+0xEA 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE
+0xEB 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xEC 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS
+0xED 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE
+0xEE 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE
+0xEF 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xF0 0x0111 # LATIN SMALL LETTER D WITH STROKE
+0xF1 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE
+0xF2 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE
+0xF3 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xF4 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE
+0xF5 0x0131 # LATIN SMALL LETTER DOTLESS I
+0xF6 0x02C6 # MODIFIER LETTER CIRCUMFLEX ACCENT
+0xF7 0x02DC # SMALL TILDE
+0xF8 0x00AF # MACRON
+0xF9 0x03C0 # GREEK SMALL LETTER PI
+0xFA 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS
+0xFB 0x02DA # RING ABOVE
+0xFC 0x00B8 # CEDILLA
+0xFD 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xFE 0x00E6 # LATIN SMALL LETTER AE
+0xFF 0x02C7 # CARON
+
+"
+!
+
+mappingURL1_relativePathName
+ ^ 'VENDORS/APPLE/CROATIAN.TXT'
! !
!CharacterEncoder::MAC_Croatian methodsFor:'encoding & decoding'!
@@ -9853,8 +26619,8 @@
code < 127 ifTrue:[ ^ code ].
code > 255 ifTrue:[
- self error:'invalid code'.
- ^ $? asciiValue
+ self error:'invalid code'.
+ ^ $? asciiValue
].
^ #(
"16r007F" 16rFFFF " invalid "
@@ -10073,16 +26839,16 @@
#
# 1. The Cyrillic currency sign variant (used for localized Russian
# and Bulgarian systems), which had the following:
-# 0xA2 U+00A2 CENT SIGN
-# 0xB6 U+2202 PARTIAL DIFFERENTIAL
-# 0xFF U+00A4 CURRENCY SIGN
+# 0xA2 U+00A2 CENT SIGN
+# 0xB6 U+2202 PARTIAL DIFFERENTIAL
+# 0xFF U+00A4 CURRENCY SIGN
#
# 2. The Ukrainian currency sign variant (used for localized Ukrainian
# systems and the pre-9.0 Cyrillic Language Kit), which had the
# following:
-# 0xA2 U+0490 CYRILLIC CAPITAL LETTER GHE WITH UPTURN
-# 0xB6 U+0491 CYRILLIC SMALL LETTER GHE WITH UPTURN
-# 0xFF U+00A4 CURRENCY SIGN
+# 0xA2 U+0490 CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+# 0xB6 U+0491 CYRILLIC SMALL LETTER GHE WITH UPTURN
+# 0xFF U+00A4 CURRENCY SIGN
#
# This new Cyrillic Euro sign version is based on the old Ukrainian
# currency sign variant, with 0xFF changed to be EURO SIGN.
@@ -10115,236 +26881,236 @@
#
##################
-0x20 0x0020 # SPACE
-0x21 0x0021 # EXCLAMATION MARK
-0x22 0x0022 # QUOTATION MARK
-0x23 0x0023 # NUMBER SIGN
-0x24 0x0024 # DOLLAR SIGN
-0x25 0x0025 # PERCENT SIGN
-0x26 0x0026 # AMPERSAND
-0x27 0x0027 # APOSTROPHE
-0x28 0x0028 # LEFT PARENTHESIS
-0x29 0x0029 # RIGHT PARENTHESIS
-0x2A 0x002A # ASTERISK
-0x2B 0x002B # PLUS SIGN
-0x2C 0x002C # COMMA
-0x2D 0x002D # HYPHEN-MINUS
-0x2E 0x002E # FULL STOP
-0x2F 0x002F # SOLIDUS
-0x30 0x0030 # DIGIT ZERO
-0x31 0x0031 # DIGIT ONE
-0x32 0x0032 # DIGIT TWO
-0x33 0x0033 # DIGIT THREE
-0x34 0x0034 # DIGIT FOUR
-0x35 0x0035 # DIGIT FIVE
-0x36 0x0036 # DIGIT SIX
-0x37 0x0037 # DIGIT SEVEN
-0x38 0x0038 # DIGIT EIGHT
-0x39 0x0039 # DIGIT NINE
-0x3A 0x003A # COLON
-0x3B 0x003B # SEMICOLON
-0x3C 0x003C # LESS-THAN SIGN
-0x3D 0x003D # EQUALS SIGN
-0x3E 0x003E # GREATER-THAN SIGN
-0x3F 0x003F # QUESTION MARK
-0x40 0x0040 # COMMERCIAL AT
-0x41 0x0041 # LATIN CAPITAL LETTER A
-0x42 0x0042 # LATIN CAPITAL LETTER B
-0x43 0x0043 # LATIN CAPITAL LETTER C
-0x44 0x0044 # LATIN CAPITAL LETTER D
-0x45 0x0045 # LATIN CAPITAL LETTER E
-0x46 0x0046 # LATIN CAPITAL LETTER F
-0x47 0x0047 # LATIN CAPITAL LETTER G
-0x48 0x0048 # LATIN CAPITAL LETTER H
-0x49 0x0049 # LATIN CAPITAL LETTER I
-0x4A 0x004A # LATIN CAPITAL LETTER J
-0x4B 0x004B # LATIN CAPITAL LETTER K
-0x4C 0x004C # LATIN CAPITAL LETTER L
-0x4D 0x004D # LATIN CAPITAL LETTER M
-0x4E 0x004E # LATIN CAPITAL LETTER N
-0x4F 0x004F # LATIN CAPITAL LETTER O
-0x50 0x0050 # LATIN CAPITAL LETTER P
-0x51 0x0051 # LATIN CAPITAL LETTER Q
-0x52 0x0052 # LATIN CAPITAL LETTER R
-0x53 0x0053 # LATIN CAPITAL LETTER S
-0x54 0x0054 # LATIN CAPITAL LETTER T
-0x55 0x0055 # LATIN CAPITAL LETTER U
-0x56 0x0056 # LATIN CAPITAL LETTER V
-0x57 0x0057 # LATIN CAPITAL LETTER W
-0x58 0x0058 # LATIN CAPITAL LETTER X
-0x59 0x0059 # LATIN CAPITAL LETTER Y
-0x5A 0x005A # LATIN CAPITAL LETTER Z
-0x5B 0x005B # LEFT SQUARE BRACKET
-0x5C 0x005C # REVERSE SOLIDUS
-0x5D 0x005D # RIGHT SQUARE BRACKET
-0x5E 0x005E # CIRCUMFLEX ACCENT
-0x5F 0x005F # LOW LINE
-0x60 0x0060 # GRAVE ACCENT
-0x61 0x0061 # LATIN SMALL LETTER A
-0x62 0x0062 # LATIN SMALL LETTER B
-0x63 0x0063 # LATIN SMALL LETTER C
-0x64 0x0064 # LATIN SMALL LETTER D
-0x65 0x0065 # LATIN SMALL LETTER E
-0x66 0x0066 # LATIN SMALL LETTER F
-0x67 0x0067 # LATIN SMALL LETTER G
-0x68 0x0068 # LATIN SMALL LETTER H
-0x69 0x0069 # LATIN SMALL LETTER I
-0x6A 0x006A # LATIN SMALL LETTER J
-0x6B 0x006B # LATIN SMALL LETTER K
-0x6C 0x006C # LATIN SMALL LETTER L
-0x6D 0x006D # LATIN SMALL LETTER M
-0x6E 0x006E # LATIN SMALL LETTER N
-0x6F 0x006F # LATIN SMALL LETTER O
-0x70 0x0070 # LATIN SMALL LETTER P
-0x71 0x0071 # LATIN SMALL LETTER Q
-0x72 0x0072 # LATIN SMALL LETTER R
-0x73 0x0073 # LATIN SMALL LETTER S
-0x74 0x0074 # LATIN SMALL LETTER T
-0x75 0x0075 # LATIN SMALL LETTER U
-0x76 0x0076 # LATIN SMALL LETTER V
-0x77 0x0077 # LATIN SMALL LETTER W
-0x78 0x0078 # LATIN SMALL LETTER X
-0x79 0x0079 # LATIN SMALL LETTER Y
-0x7A 0x007A # LATIN SMALL LETTER Z
-0x7B 0x007B # LEFT CURLY BRACKET
-0x7C 0x007C # VERTICAL LINE
-0x7D 0x007D # RIGHT CURLY BRACKET
-0x7E 0x007E # TILDE
-#
-0x80 0x0410 # CYRILLIC CAPITAL LETTER A
-0x81 0x0411 # CYRILLIC CAPITAL LETTER BE
-0x82 0x0412 # CYRILLIC CAPITAL LETTER VE
-0x83 0x0413 # CYRILLIC CAPITAL LETTER GHE
-0x84 0x0414 # CYRILLIC CAPITAL LETTER DE
-0x85 0x0415 # CYRILLIC CAPITAL LETTER IE
-0x86 0x0416 # CYRILLIC CAPITAL LETTER ZHE
-0x87 0x0417 # CYRILLIC CAPITAL LETTER ZE
-0x88 0x0418 # CYRILLIC CAPITAL LETTER I
-0x89 0x0419 # CYRILLIC CAPITAL LETTER SHORT I
-0x8A 0x041A # CYRILLIC CAPITAL LETTER KA
-0x8B 0x041B # CYRILLIC CAPITAL LETTER EL
-0x8C 0x041C # CYRILLIC CAPITAL LETTER EM
-0x8D 0x041D # CYRILLIC CAPITAL LETTER EN
-0x8E 0x041E # CYRILLIC CAPITAL LETTER O
-0x8F 0x041F # CYRILLIC CAPITAL LETTER PE
-0x90 0x0420 # CYRILLIC CAPITAL LETTER ER
-0x91 0x0421 # CYRILLIC CAPITAL LETTER ES
-0x92 0x0422 # CYRILLIC CAPITAL LETTER TE
-0x93 0x0423 # CYRILLIC CAPITAL LETTER U
-0x94 0x0424 # CYRILLIC CAPITAL LETTER EF
-0x95 0x0425 # CYRILLIC CAPITAL LETTER HA
-0x96 0x0426 # CYRILLIC CAPITAL LETTER TSE
-0x97 0x0427 # CYRILLIC CAPITAL LETTER CHE
-0x98 0x0428 # CYRILLIC CAPITAL LETTER SHA
-0x99 0x0429 # CYRILLIC CAPITAL LETTER SHCHA
-0x9A 0x042A # CYRILLIC CAPITAL LETTER HARD SIGN
-0x9B 0x042B # CYRILLIC CAPITAL LETTER YERU
-0x9C 0x042C # CYRILLIC CAPITAL LETTER SOFT SIGN
-0x9D 0x042D # CYRILLIC CAPITAL LETTER E
-0x9E 0x042E # CYRILLIC CAPITAL LETTER YU
-0x9F 0x042F # CYRILLIC CAPITAL LETTER YA
-0xA0 0x2020 # DAGGER
-0xA1 0x00B0 # DEGREE SIGN
-0xA2 0x0490 # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
-0xA3 0x00A3 # POUND SIGN
-0xA4 0x00A7 # SECTION SIGN
-0xA5 0x2022 # BULLET
-0xA6 0x00B6 # PILCROW SIGN
-0xA7 0x0406 # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
-0xA8 0x00AE # REGISTERED SIGN
-0xA9 0x00A9 # COPYRIGHT SIGN
-0xAA 0x2122 # TRADE MARK SIGN
-0xAB 0x0402 # CYRILLIC CAPITAL LETTER DJE
-0xAC 0x0452 # CYRILLIC SMALL LETTER DJE
-0xAD 0x2260 # NOT EQUAL TO
-0xAE 0x0403 # CYRILLIC CAPITAL LETTER GJE
-0xAF 0x0453 # CYRILLIC SMALL LETTER GJE
-0xB0 0x221E # INFINITY
-0xB1 0x00B1 # PLUS-MINUS SIGN
-0xB2 0x2264 # LESS-THAN OR EQUAL TO
-0xB3 0x2265 # GREATER-THAN OR EQUAL TO
-0xB4 0x0456 # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
-0xB5 0x00B5 # MICRO SIGN
-0xB6 0x0491 # CYRILLIC SMALL LETTER GHE WITH UPTURN
-0xB7 0x0408 # CYRILLIC CAPITAL LETTER JE
-0xB8 0x0404 # CYRILLIC CAPITAL LETTER UKRAINIAN IE
-0xB9 0x0454 # CYRILLIC SMALL LETTER UKRAINIAN IE
-0xBA 0x0407 # CYRILLIC CAPITAL LETTER YI
-0xBB 0x0457 # CYRILLIC SMALL LETTER YI
-0xBC 0x0409 # CYRILLIC CAPITAL LETTER LJE
-0xBD 0x0459 # CYRILLIC SMALL LETTER LJE
-0xBE 0x040A # CYRILLIC CAPITAL LETTER NJE
-0xBF 0x045A # CYRILLIC SMALL LETTER NJE
-0xC0 0x0458 # CYRILLIC SMALL LETTER JE
-0xC1 0x0405 # CYRILLIC CAPITAL LETTER DZE
-0xC2 0x00AC # NOT SIGN
-0xC3 0x221A # SQUARE ROOT
-0xC4 0x0192 # LATIN SMALL LETTER F WITH HOOK
-0xC5 0x2248 # ALMOST EQUAL TO
-0xC6 0x2206 # INCREMENT
-0xC7 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-0xC8 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-0xC9 0x2026 # HORIZONTAL ELLIPSIS
-0xCA 0x00A0 # NO-BREAK SPACE
-0xCB 0x040B # CYRILLIC CAPITAL LETTER TSHE
-0xCC 0x045B # CYRILLIC SMALL LETTER TSHE
-0xCD 0x040C # CYRILLIC CAPITAL LETTER KJE
-0xCE 0x045C # CYRILLIC SMALL LETTER KJE
-0xCF 0x0455 # CYRILLIC SMALL LETTER DZE
-0xD0 0x2013 # EN DASH
-0xD1 0x2014 # EM DASH
-0xD2 0x201C # LEFT DOUBLE QUOTATION MARK
-0xD3 0x201D # RIGHT DOUBLE QUOTATION MARK
-0xD4 0x2018 # LEFT SINGLE QUOTATION MARK
-0xD5 0x2019 # RIGHT SINGLE QUOTATION MARK
-0xD6 0x00F7 # DIVISION SIGN
-0xD7 0x201E # DOUBLE LOW-9 QUOTATION MARK
-0xD8 0x040E # CYRILLIC CAPITAL LETTER SHORT U
-0xD9 0x045E # CYRILLIC SMALL LETTER SHORT U
-0xDA 0x040F # CYRILLIC CAPITAL LETTER DZHE
-0xDB 0x045F # CYRILLIC SMALL LETTER DZHE
-0xDC 0x2116 # NUMERO SIGN
-0xDD 0x0401 # CYRILLIC CAPITAL LETTER IO
-0xDE 0x0451 # CYRILLIC SMALL LETTER IO
-0xDF 0x044F # CYRILLIC SMALL LETTER YA
-0xE0 0x0430 # CYRILLIC SMALL LETTER A
-0xE1 0x0431 # CYRILLIC SMALL LETTER BE
-0xE2 0x0432 # CYRILLIC SMALL LETTER VE
-0xE3 0x0433 # CYRILLIC SMALL LETTER GHE
-0xE4 0x0434 # CYRILLIC SMALL LETTER DE
-0xE5 0x0435 # CYRILLIC SMALL LETTER IE
-0xE6 0x0436 # CYRILLIC SMALL LETTER ZHE
-0xE7 0x0437 # CYRILLIC SMALL LETTER ZE
-0xE8 0x0438 # CYRILLIC SMALL LETTER I
-0xE9 0x0439 # CYRILLIC SMALL LETTER SHORT I
-0xEA 0x043A # CYRILLIC SMALL LETTER KA
-0xEB 0x043B # CYRILLIC SMALL LETTER EL
-0xEC 0x043C # CYRILLIC SMALL LETTER EM
-0xED 0x043D # CYRILLIC SMALL LETTER EN
-0xEE 0x043E # CYRILLIC SMALL LETTER O
-0xEF 0x043F # CYRILLIC SMALL LETTER PE
-0xF0 0x0440 # CYRILLIC SMALL LETTER ER
-0xF1 0x0441 # CYRILLIC SMALL LETTER ES
-0xF2 0x0442 # CYRILLIC SMALL LETTER TE
-0xF3 0x0443 # CYRILLIC SMALL LETTER U
-0xF4 0x0444 # CYRILLIC SMALL LETTER EF
-0xF5 0x0445 # CYRILLIC SMALL LETTER HA
-0xF6 0x0446 # CYRILLIC SMALL LETTER TSE
-0xF7 0x0447 # CYRILLIC SMALL LETTER CHE
-0xF8 0x0448 # CYRILLIC SMALL LETTER SHA
-0xF9 0x0449 # CYRILLIC SMALL LETTER SHCHA
-0xFA 0x044A # CYRILLIC SMALL LETTER HARD SIGN
-0xFB 0x044B # CYRILLIC SMALL LETTER YERU
-0xFC 0x044C # CYRILLIC SMALL LETTER SOFT SIGN
-0xFD 0x044D # CYRILLIC SMALL LETTER E
-0xFE 0x044E # CYRILLIC SMALL LETTER YU
-0xFF 0x20AC # EURO SIGN
-
-"
-!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/CYRILLIC.TXT'
+0x20 0x0020 # SPACE
+0x21 0x0021 # EXCLAMATION MARK
+0x22 0x0022 # QUOTATION MARK
+0x23 0x0023 # NUMBER SIGN
+0x24 0x0024 # DOLLAR SIGN
+0x25 0x0025 # PERCENT SIGN
+0x26 0x0026 # AMPERSAND
+0x27 0x0027 # APOSTROPHE
+0x28 0x0028 # LEFT PARENTHESIS
+0x29 0x0029 # RIGHT PARENTHESIS
+0x2A 0x002A # ASTERISK
+0x2B 0x002B # PLUS SIGN
+0x2C 0x002C # COMMA
+0x2D 0x002D # HYPHEN-MINUS
+0x2E 0x002E # FULL STOP
+0x2F 0x002F # SOLIDUS
+0x30 0x0030 # DIGIT ZERO
+0x31 0x0031 # DIGIT ONE
+0x32 0x0032 # DIGIT TWO
+0x33 0x0033 # DIGIT THREE
+0x34 0x0034 # DIGIT FOUR
+0x35 0x0035 # DIGIT FIVE
+0x36 0x0036 # DIGIT SIX
+0x37 0x0037 # DIGIT SEVEN
+0x38 0x0038 # DIGIT EIGHT
+0x39 0x0039 # DIGIT NINE
+0x3A 0x003A # COLON
+0x3B 0x003B # SEMICOLON
+0x3C 0x003C # LESS-THAN SIGN
+0x3D 0x003D # EQUALS SIGN
+0x3E 0x003E # GREATER-THAN SIGN
+0x3F 0x003F # QUESTION MARK
+0x40 0x0040 # COMMERCIAL AT
+0x41 0x0041 # LATIN CAPITAL LETTER A
+0x42 0x0042 # LATIN CAPITAL LETTER B
+0x43 0x0043 # LATIN CAPITAL LETTER C
+0x44 0x0044 # LATIN CAPITAL LETTER D
+0x45 0x0045 # LATIN CAPITAL LETTER E
+0x46 0x0046 # LATIN CAPITAL LETTER F
+0x47 0x0047 # LATIN CAPITAL LETTER G
+0x48 0x0048 # LATIN CAPITAL LETTER H
+0x49 0x0049 # LATIN CAPITAL LETTER I
+0x4A 0x004A # LATIN CAPITAL LETTER J
+0x4B 0x004B # LATIN CAPITAL LETTER K
+0x4C 0x004C # LATIN CAPITAL LETTER L
+0x4D 0x004D # LATIN CAPITAL LETTER M
+0x4E 0x004E # LATIN CAPITAL LETTER N
+0x4F 0x004F # LATIN CAPITAL LETTER O
+0x50 0x0050 # LATIN CAPITAL LETTER P
+0x51 0x0051 # LATIN CAPITAL LETTER Q
+0x52 0x0052 # LATIN CAPITAL LETTER R
+0x53 0x0053 # LATIN CAPITAL LETTER S
+0x54 0x0054 # LATIN CAPITAL LETTER T
+0x55 0x0055 # LATIN CAPITAL LETTER U
+0x56 0x0056 # LATIN CAPITAL LETTER V
+0x57 0x0057 # LATIN CAPITAL LETTER W
+0x58 0x0058 # LATIN CAPITAL LETTER X
+0x59 0x0059 # LATIN CAPITAL LETTER Y
+0x5A 0x005A # LATIN CAPITAL LETTER Z
+0x5B 0x005B # LEFT SQUARE BRACKET
+0x5C 0x005C # REVERSE SOLIDUS
+0x5D 0x005D # RIGHT SQUARE BRACKET
+0x5E 0x005E # CIRCUMFLEX ACCENT
+0x5F 0x005F # LOW LINE
+0x60 0x0060 # GRAVE ACCENT
+0x61 0x0061 # LATIN SMALL LETTER A
+0x62 0x0062 # LATIN SMALL LETTER B
+0x63 0x0063 # LATIN SMALL LETTER C
+0x64 0x0064 # LATIN SMALL LETTER D
+0x65 0x0065 # LATIN SMALL LETTER E
+0x66 0x0066 # LATIN SMALL LETTER F
+0x67 0x0067 # LATIN SMALL LETTER G
+0x68 0x0068 # LATIN SMALL LETTER H
+0x69 0x0069 # LATIN SMALL LETTER I
+0x6A 0x006A # LATIN SMALL LETTER J
+0x6B 0x006B # LATIN SMALL LETTER K
+0x6C 0x006C # LATIN SMALL LETTER L
+0x6D 0x006D # LATIN SMALL LETTER M
+0x6E 0x006E # LATIN SMALL LETTER N
+0x6F 0x006F # LATIN SMALL LETTER O
+0x70 0x0070 # LATIN SMALL LETTER P
+0x71 0x0071 # LATIN SMALL LETTER Q
+0x72 0x0072 # LATIN SMALL LETTER R
+0x73 0x0073 # LATIN SMALL LETTER S
+0x74 0x0074 # LATIN SMALL LETTER T
+0x75 0x0075 # LATIN SMALL LETTER U
+0x76 0x0076 # LATIN SMALL LETTER V
+0x77 0x0077 # LATIN SMALL LETTER W
+0x78 0x0078 # LATIN SMALL LETTER X
+0x79 0x0079 # LATIN SMALL LETTER Y
+0x7A 0x007A # LATIN SMALL LETTER Z
+0x7B 0x007B # LEFT CURLY BRACKET
+0x7C 0x007C # VERTICAL LINE
+0x7D 0x007D # RIGHT CURLY BRACKET
+0x7E 0x007E # TILDE
+#
+0x80 0x0410 # CYRILLIC CAPITAL LETTER A
+0x81 0x0411 # CYRILLIC CAPITAL LETTER BE
+0x82 0x0412 # CYRILLIC CAPITAL LETTER VE
+0x83 0x0413 # CYRILLIC CAPITAL LETTER GHE
+0x84 0x0414 # CYRILLIC CAPITAL LETTER DE
+0x85 0x0415 # CYRILLIC CAPITAL LETTER IE
+0x86 0x0416 # CYRILLIC CAPITAL LETTER ZHE
+0x87 0x0417 # CYRILLIC CAPITAL LETTER ZE
+0x88 0x0418 # CYRILLIC CAPITAL LETTER I
+0x89 0x0419 # CYRILLIC CAPITAL LETTER SHORT I
+0x8A 0x041A # CYRILLIC CAPITAL LETTER KA
+0x8B 0x041B # CYRILLIC CAPITAL LETTER EL
+0x8C 0x041C # CYRILLIC CAPITAL LETTER EM
+0x8D 0x041D # CYRILLIC CAPITAL LETTER EN
+0x8E 0x041E # CYRILLIC CAPITAL LETTER O
+0x8F 0x041F # CYRILLIC CAPITAL LETTER PE
+0x90 0x0420 # CYRILLIC CAPITAL LETTER ER
+0x91 0x0421 # CYRILLIC CAPITAL LETTER ES
+0x92 0x0422 # CYRILLIC CAPITAL LETTER TE
+0x93 0x0423 # CYRILLIC CAPITAL LETTER U
+0x94 0x0424 # CYRILLIC CAPITAL LETTER EF
+0x95 0x0425 # CYRILLIC CAPITAL LETTER HA
+0x96 0x0426 # CYRILLIC CAPITAL LETTER TSE
+0x97 0x0427 # CYRILLIC CAPITAL LETTER CHE
+0x98 0x0428 # CYRILLIC CAPITAL LETTER SHA
+0x99 0x0429 # CYRILLIC CAPITAL LETTER SHCHA
+0x9A 0x042A # CYRILLIC CAPITAL LETTER HARD SIGN
+0x9B 0x042B # CYRILLIC CAPITAL LETTER YERU
+0x9C 0x042C # CYRILLIC CAPITAL LETTER SOFT SIGN
+0x9D 0x042D # CYRILLIC CAPITAL LETTER E
+0x9E 0x042E # CYRILLIC CAPITAL LETTER YU
+0x9F 0x042F # CYRILLIC CAPITAL LETTER YA
+0xA0 0x2020 # DAGGER
+0xA1 0x00B0 # DEGREE SIGN
+0xA2 0x0490 # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+0xA3 0x00A3 # POUND SIGN
+0xA4 0x00A7 # SECTION SIGN
+0xA5 0x2022 # BULLET
+0xA6 0x00B6 # PILCROW SIGN
+0xA7 0x0406 # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+0xA8 0x00AE # REGISTERED SIGN
+0xA9 0x00A9 # COPYRIGHT SIGN
+0xAA 0x2122 # TRADE MARK SIGN
+0xAB 0x0402 # CYRILLIC CAPITAL LETTER DJE
+0xAC 0x0452 # CYRILLIC SMALL LETTER DJE
+0xAD 0x2260 # NOT EQUAL TO
+0xAE 0x0403 # CYRILLIC CAPITAL LETTER GJE
+0xAF 0x0453 # CYRILLIC SMALL LETTER GJE
+0xB0 0x221E # INFINITY
+0xB1 0x00B1 # PLUS-MINUS SIGN
+0xB2 0x2264 # LESS-THAN OR EQUAL TO
+0xB3 0x2265 # GREATER-THAN OR EQUAL TO
+0xB4 0x0456 # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0xB5 0x00B5 # MICRO SIGN
+0xB6 0x0491 # CYRILLIC SMALL LETTER GHE WITH UPTURN
+0xB7 0x0408 # CYRILLIC CAPITAL LETTER JE
+0xB8 0x0404 # CYRILLIC CAPITAL LETTER UKRAINIAN IE
+0xB9 0x0454 # CYRILLIC SMALL LETTER UKRAINIAN IE
+0xBA 0x0407 # CYRILLIC CAPITAL LETTER YI
+0xBB 0x0457 # CYRILLIC SMALL LETTER YI
+0xBC 0x0409 # CYRILLIC CAPITAL LETTER LJE
+0xBD 0x0459 # CYRILLIC SMALL LETTER LJE
+0xBE 0x040A # CYRILLIC CAPITAL LETTER NJE
+0xBF 0x045A # CYRILLIC SMALL LETTER NJE
+0xC0 0x0458 # CYRILLIC SMALL LETTER JE
+0xC1 0x0405 # CYRILLIC CAPITAL LETTER DZE
+0xC2 0x00AC # NOT SIGN
+0xC3 0x221A # SQUARE ROOT
+0xC4 0x0192 # LATIN SMALL LETTER F WITH HOOK
+0xC5 0x2248 # ALMOST EQUAL TO
+0xC6 0x2206 # INCREMENT
+0xC7 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC8 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC9 0x2026 # HORIZONTAL ELLIPSIS
+0xCA 0x00A0 # NO-BREAK SPACE
+0xCB 0x040B # CYRILLIC CAPITAL LETTER TSHE
+0xCC 0x045B # CYRILLIC SMALL LETTER TSHE
+0xCD 0x040C # CYRILLIC CAPITAL LETTER KJE
+0xCE 0x045C # CYRILLIC SMALL LETTER KJE
+0xCF 0x0455 # CYRILLIC SMALL LETTER DZE
+0xD0 0x2013 # EN DASH
+0xD1 0x2014 # EM DASH
+0xD2 0x201C # LEFT DOUBLE QUOTATION MARK
+0xD3 0x201D # RIGHT DOUBLE QUOTATION MARK
+0xD4 0x2018 # LEFT SINGLE QUOTATION MARK
+0xD5 0x2019 # RIGHT SINGLE QUOTATION MARK
+0xD6 0x00F7 # DIVISION SIGN
+0xD7 0x201E # DOUBLE LOW-9 QUOTATION MARK
+0xD8 0x040E # CYRILLIC CAPITAL LETTER SHORT U
+0xD9 0x045E # CYRILLIC SMALL LETTER SHORT U
+0xDA 0x040F # CYRILLIC CAPITAL LETTER DZHE
+0xDB 0x045F # CYRILLIC SMALL LETTER DZHE
+0xDC 0x2116 # NUMERO SIGN
+0xDD 0x0401 # CYRILLIC CAPITAL LETTER IO
+0xDE 0x0451 # CYRILLIC SMALL LETTER IO
+0xDF 0x044F # CYRILLIC SMALL LETTER YA
+0xE0 0x0430 # CYRILLIC SMALL LETTER A
+0xE1 0x0431 # CYRILLIC SMALL LETTER BE
+0xE2 0x0432 # CYRILLIC SMALL LETTER VE
+0xE3 0x0433 # CYRILLIC SMALL LETTER GHE
+0xE4 0x0434 # CYRILLIC SMALL LETTER DE
+0xE5 0x0435 # CYRILLIC SMALL LETTER IE
+0xE6 0x0436 # CYRILLIC SMALL LETTER ZHE
+0xE7 0x0437 # CYRILLIC SMALL LETTER ZE
+0xE8 0x0438 # CYRILLIC SMALL LETTER I
+0xE9 0x0439 # CYRILLIC SMALL LETTER SHORT I
+0xEA 0x043A # CYRILLIC SMALL LETTER KA
+0xEB 0x043B # CYRILLIC SMALL LETTER EL
+0xEC 0x043C # CYRILLIC SMALL LETTER EM
+0xED 0x043D # CYRILLIC SMALL LETTER EN
+0xEE 0x043E # CYRILLIC SMALL LETTER O
+0xEF 0x043F # CYRILLIC SMALL LETTER PE
+0xF0 0x0440 # CYRILLIC SMALL LETTER ER
+0xF1 0x0441 # CYRILLIC SMALL LETTER ES
+0xF2 0x0442 # CYRILLIC SMALL LETTER TE
+0xF3 0x0443 # CYRILLIC SMALL LETTER U
+0xF4 0x0444 # CYRILLIC SMALL LETTER EF
+0xF5 0x0445 # CYRILLIC SMALL LETTER HA
+0xF6 0x0446 # CYRILLIC SMALL LETTER TSE
+0xF7 0x0447 # CYRILLIC SMALL LETTER CHE
+0xF8 0x0448 # CYRILLIC SMALL LETTER SHA
+0xF9 0x0449 # CYRILLIC SMALL LETTER SHCHA
+0xFA 0x044A # CYRILLIC SMALL LETTER HARD SIGN
+0xFB 0x044B # CYRILLIC SMALL LETTER YERU
+0xFC 0x044C # CYRILLIC SMALL LETTER SOFT SIGN
+0xFD 0x044D # CYRILLIC SMALL LETTER E
+0xFE 0x044E # CYRILLIC SMALL LETTER YU
+0xFF 0x20AC # EURO SIGN
+
+"
+!
+
+mappingURL1_relativePathName
+ ^ 'VENDORS/APPLE/CYRILLIC.TXT'
! !
!CharacterEncoder::MAC_Cyrillic methodsFor:'encoding & decoding'!
@@ -10354,8 +27120,8 @@
code < 127 ifTrue:[ ^ code ].
code > 255 ifTrue:[
- self error:'invalid code'.
- ^ $? asciiValue
+ self error:'invalid code'.
+ ^ $? asciiValue
].
^ #(
"16r007F" 16rFFFF " invalid "
@@ -10510,7 +27276,7 @@
# Changes:
#
# b3,c1 2002-Dec-19 Update mappings for 0x80-0x8D to use new
-# Unicode 3.2 characters. Update URLs, notes.
+# Unicode 3.2 characters. Update URLs, notes.
# Matches internal utom<b2>.
# b02 1999-Sep-22 Update contact e-mail address. Matches
# internal utom<b1>, ufrm<b1>, and Text
@@ -10612,217 +27378,217 @@
#
##################
-0x20 0x0020 # SPACE
-0x21 0x2701 # UPPER BLADE SCISSORS
-0x22 0x2702 # BLACK SCISSORS
-0x23 0x2703 # LOWER BLADE SCISSORS
-0x24 0x2704 # WHITE SCISSORS
-0x25 0x260E # BLACK TELEPHONE
-0x26 0x2706 # TELEPHONE LOCATION SIGN
-0x27 0x2707 # TAPE DRIVE
-0x28 0x2708 # AIRPLANE
-0x29 0x2709 # ENVELOPE
-0x2A 0x261B # BLACK RIGHT POINTING INDEX
-0x2B 0x261E # WHITE RIGHT POINTING INDEX
-0x2C 0x270C # VICTORY HAND
-0x2D 0x270D # WRITING HAND
-0x2E 0x270E # LOWER RIGHT PENCIL
-0x2F 0x270F # PENCIL
-0x30 0x2710 # UPPER RIGHT PENCIL
-0x31 0x2711 # WHITE NIB
-0x32 0x2712 # BLACK NIB
-0x33 0x2713 # CHECK MARK
-0x34 0x2714 # HEAVY CHECK MARK
-0x35 0x2715 # MULTIPLICATION X
-0x36 0x2716 # HEAVY MULTIPLICATION X
-0x37 0x2717 # BALLOT X
-0x38 0x2718 # HEAVY BALLOT X
-0x39 0x2719 # OUTLINED GREEK CROSS
-0x3A 0x271A # HEAVY GREEK CROSS
-0x3B 0x271B # OPEN CENTRE CROSS
-0x3C 0x271C # HEAVY OPEN CENTRE CROSS
-0x3D 0x271D # LATIN CROSS
-0x3E 0x271E # SHADOWED WHITE LATIN CROSS
-0x3F 0x271F # OUTLINED LATIN CROSS
-0x40 0x2720 # MALTESE CROSS
-0x41 0x2721 # STAR OF DAVID
-0x42 0x2722 # FOUR TEARDROP-SPOKED ASTERISK
-0x43 0x2723 # FOUR BALLOON-SPOKED ASTERISK
-0x44 0x2724 # HEAVY FOUR BALLOON-SPOKED ASTERISK
-0x45 0x2725 # FOUR CLUB-SPOKED ASTERISK
-0x46 0x2726 # BLACK FOUR POINTED STAR
-0x47 0x2727 # WHITE FOUR POINTED STAR
-0x48 0x2605 # BLACK STAR
-0x49 0x2729 # STRESS OUTLINED WHITE STAR
-0x4A 0x272A # CIRCLED WHITE STAR
-0x4B 0x272B # OPEN CENTRE BLACK STAR
-0x4C 0x272C # BLACK CENTRE WHITE STAR
-0x4D 0x272D # OUTLINED BLACK STAR
-0x4E 0x272E # HEAVY OUTLINED BLACK STAR
-0x4F 0x272F # PINWHEEL STAR
-0x50 0x2730 # SHADOWED WHITE STAR
-0x51 0x2731 # HEAVY ASTERISK
-0x52 0x2732 # OPEN CENTRE ASTERISK
-0x53 0x2733 # EIGHT SPOKED ASTERISK
-0x54 0x2734 # EIGHT POINTED BLACK STAR
-0x55 0x2735 # EIGHT POINTED PINWHEEL STAR
-0x56 0x2736 # SIX POINTED BLACK STAR
-0x57 0x2737 # EIGHT POINTED RECTILINEAR BLACK STAR
-0x58 0x2738 # HEAVY EIGHT POINTED RECTILINEAR BLACK STAR
-0x59 0x2739 # TWELVE POINTED BLACK STAR
-0x5A 0x273A # SIXTEEN POINTED ASTERISK
-0x5B 0x273B # TEARDROP-SPOKED ASTERISK
-0x5C 0x273C # OPEN CENTRE TEARDROP-SPOKED ASTERISK
-0x5D 0x273D # HEAVY TEARDROP-SPOKED ASTERISK
-0x5E 0x273E # SIX PETALLED BLACK AND WHITE FLORETTE
-0x5F 0x273F # BLACK FLORETTE
-0x60 0x2740 # WHITE FLORETTE
-0x61 0x2741 # EIGHT PETALLED OUTLINED BLACK FLORETTE
-0x62 0x2742 # CIRCLED OPEN CENTRE EIGHT POINTED STAR
-0x63 0x2743 # HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
-0x64 0x2744 # SNOWFLAKE
-0x65 0x2745 # TIGHT TRIFOLIATE SNOWFLAKE
-0x66 0x2746 # HEAVY CHEVRON SNOWFLAKE
-0x67 0x2747 # SPARKLE
-0x68 0x2748 # HEAVY SPARKLE
-0x69 0x2749 # BALLOON-SPOKED ASTERISK
-0x6A 0x274A # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-0x6B 0x274B # HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-0x6C 0x25CF # BLACK CIRCLE
-0x6D 0x274D # SHADOWED WHITE CIRCLE
-0x6E 0x25A0 # BLACK SQUARE
-0x6F 0x274F # LOWER RIGHT DROP-SHADOWED WHITE SQUARE
-0x70 0x2750 # UPPER RIGHT DROP-SHADOWED WHITE SQUARE
-0x71 0x2751 # LOWER RIGHT SHADOWED WHITE SQUARE
-0x72 0x2752 # UPPER RIGHT SHADOWED WHITE SQUARE
-0x73 0x25B2 # BLACK UP-POINTING TRIANGLE
-0x74 0x25BC # BLACK DOWN-POINTING TRIANGLE
-0x75 0x25C6 # BLACK DIAMOND
-0x76 0x2756 # BLACK DIAMOND MINUS WHITE X
-0x77 0x25D7 # RIGHT HALF BLACK CIRCLE
-0x78 0x2758 # LIGHT VERTICAL BAR
-0x79 0x2759 # MEDIUM VERTICAL BAR
-0x7A 0x275A # HEAVY VERTICAL BAR
-0x7B 0x275B # HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT
-0x7C 0x275C # HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT
-0x7D 0x275D # HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
-0x7E 0x275E # HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
-#
-0x80 0x2768 # MEDIUM LEFT PARENTHESIS ORNAMENT # for Unicode 3.2 and later
-0x81 0x2769 # MEDIUM RIGHT PARENTHESIS ORNAMENT # for Unicode 3.2 and later
-0x82 0x276A # MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT # for Unicode 3.2 and later
-0x83 0x276B # MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT # for Unicode 3.2 and later
-0x84 0x276C # MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT # for Unicode 3.2 and later
-0x85 0x276D # MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT # for Unicode 3.2 and later
-0x86 0x276E # HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT # for Unicode 3.2 and later
-0x87 0x276F # HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT # for Unicode 3.2 and later
-0x88 0x2770 # HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT # for Unicode 3.2 and later
-0x89 0x2771 # HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT # for Unicode 3.2 and later
-0x8A 0x2772 # LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT # for Unicode 3.2 and later
-0x8B 0x2773 # LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT # for Unicode 3.2 and later
-0x8C 0x2774 # MEDIUM LEFT CURLY BRACKET ORNAMENT # for Unicode 3.2 and later
-0x8D 0x2775 # MEDIUM RIGHT CURLY BRACKET ORNAMENT # for Unicode 3.2 and later
-#
-0xA1 0x2761 # CURVED STEM PARAGRAPH SIGN ORNAMENT
-0xA2 0x2762 # HEAVY EXCLAMATION MARK ORNAMENT
-0xA3 0x2763 # HEAVY HEART EXCLAMATION MARK ORNAMENT
-0xA4 0x2764 # HEAVY BLACK HEART
-0xA5 0x2765 # ROTATED HEAVY BLACK HEART BULLET
-0xA6 0x2766 # FLORAL HEART
-0xA7 0x2767 # ROTATED FLORAL HEART BULLET
-0xA8 0x2663 # BLACK CLUB SUIT
-0xA9 0x2666 # BLACK DIAMOND SUIT
-0xAA 0x2665 # BLACK HEART SUIT
-0xAB 0x2660 # BLACK SPADE SUIT
-0xAC 0x2460 # CIRCLED DIGIT ONE
-0xAD 0x2461 # CIRCLED DIGIT TWO
-0xAE 0x2462 # CIRCLED DIGIT THREE
-0xAF 0x2463 # CIRCLED DIGIT FOUR
-0xB0 0x2464 # CIRCLED DIGIT FIVE
-0xB1 0x2465 # CIRCLED DIGIT SIX
-0xB2 0x2466 # CIRCLED DIGIT SEVEN
-0xB3 0x2467 # CIRCLED DIGIT EIGHT
-0xB4 0x2468 # CIRCLED DIGIT NINE
-0xB5 0x2469 # CIRCLED NUMBER TEN
-0xB6 0x2776 # DINGBAT NEGATIVE CIRCLED DIGIT ONE
-0xB7 0x2777 # DINGBAT NEGATIVE CIRCLED DIGIT TWO
-0xB8 0x2778 # DINGBAT NEGATIVE CIRCLED DIGIT THREE
-0xB9 0x2779 # DINGBAT NEGATIVE CIRCLED DIGIT FOUR
-0xBA 0x277A # DINGBAT NEGATIVE CIRCLED DIGIT FIVE
-0xBB 0x277B # DINGBAT NEGATIVE CIRCLED DIGIT SIX
-0xBC 0x277C # DINGBAT NEGATIVE CIRCLED DIGIT SEVEN
-0xBD 0x277D # DINGBAT NEGATIVE CIRCLED DIGIT EIGHT
-0xBE 0x277E # DINGBAT NEGATIVE CIRCLED DIGIT NINE
-0xBF 0x277F # DINGBAT NEGATIVE CIRCLED NUMBER TEN
-0xC0 0x2780 # DINGBAT CIRCLED SANS-SERIF DIGIT ONE
-0xC1 0x2781 # DINGBAT CIRCLED SANS-SERIF DIGIT TWO
-0xC2 0x2782 # DINGBAT CIRCLED SANS-SERIF DIGIT THREE
-0xC3 0x2783 # DINGBAT CIRCLED SANS-SERIF DIGIT FOUR
-0xC4 0x2784 # DINGBAT CIRCLED SANS-SERIF DIGIT FIVE
-0xC5 0x2785 # DINGBAT CIRCLED SANS-SERIF DIGIT SIX
-0xC6 0x2786 # DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN
-0xC7 0x2787 # DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT
-0xC8 0x2788 # DINGBAT CIRCLED SANS-SERIF DIGIT NINE
-0xC9 0x2789 # DINGBAT CIRCLED SANS-SERIF NUMBER TEN
-0xCA 0x278A # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE
-0xCB 0x278B # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO
-0xCC 0x278C # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE
-0xCD 0x278D # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR
-0xCE 0x278E # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE
-0xCF 0x278F # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX
-0xD0 0x2790 # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN
-0xD1 0x2791 # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT
-0xD2 0x2792 # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE
-0xD3 0x2793 # DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
-0xD4 0x2794 # HEAVY WIDE-HEADED RIGHTWARDS ARROW
-0xD5 0x2192 # RIGHTWARDS ARROW
-0xD6 0x2194 # LEFT RIGHT ARROW
-0xD7 0x2195 # UP DOWN ARROW
-0xD8 0x2798 # HEAVY SOUTH EAST ARROW
-0xD9 0x2799 # HEAVY RIGHTWARDS ARROW
-0xDA 0x279A # HEAVY NORTH EAST ARROW
-0xDB 0x279B # DRAFTING POINT RIGHTWARDS ARROW
-0xDC 0x279C # HEAVY ROUND-TIPPED RIGHTWARDS ARROW
-0xDD 0x279D # TRIANGLE-HEADED RIGHTWARDS ARROW
-0xDE 0x279E # HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW
-0xDF 0x279F # DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
-0xE0 0x27A0 # HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
-0xE1 0x27A1 # BLACK RIGHTWARDS ARROW
-0xE2 0x27A2 # THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD
-0xE3 0x27A3 # THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD
-0xE4 0x27A4 # BLACK RIGHTWARDS ARROWHEAD
-0xE5 0x27A5 # HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW
-0xE6 0x27A6 # HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW
-0xE7 0x27A7 # SQUAT BLACK RIGHTWARDS ARROW
-0xE8 0x27A8 # HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW
-0xE9 0x27A9 # RIGHT-SHADED WHITE RIGHTWARDS ARROW
-0xEA 0x27AA # LEFT-SHADED WHITE RIGHTWARDS ARROW
-0xEB 0x27AB # BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW
-0xEC 0x27AC # FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW
-0xED 0x27AD # HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-0xEE 0x27AE # HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-0xEF 0x27AF # NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-#
-0xF1 0x27B1 # NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-0xF2 0x27B2 # CIRCLED HEAVY WHITE RIGHTWARDS ARROW
-0xF3 0x27B3 # WHITE-FEATHERED RIGHTWARDS ARROW
-0xF4 0x27B4 # BLACK-FEATHERED SOUTH EAST ARROW
-0xF5 0x27B5 # BLACK-FEATHERED RIGHTWARDS ARROW
-0xF6 0x27B6 # BLACK-FEATHERED NORTH EAST ARROW
-0xF7 0x27B7 # HEAVY BLACK-FEATHERED SOUTH EAST ARROW
-0xF8 0x27B8 # HEAVY BLACK-FEATHERED RIGHTWARDS ARROW
-0xF9 0x27B9 # HEAVY BLACK-FEATHERED NORTH EAST ARROW
-0xFA 0x27BA # TEARDROP-BARBED RIGHTWARDS ARROW
-0xFB 0x27BB # HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW
-0xFC 0x27BC # WEDGE-TAILED RIGHTWARDS ARROW
-0xFD 0x27BD # HEAVY WEDGE-TAILED RIGHTWARDS ARROW
-0xFE 0x27BE # OPEN-OUTLINED RIGHTWARDS ARROW
-
-"
-!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/DINGBATS.TXT'
+0x20 0x0020 # SPACE
+0x21 0x2701 # UPPER BLADE SCISSORS
+0x22 0x2702 # BLACK SCISSORS
+0x23 0x2703 # LOWER BLADE SCISSORS
+0x24 0x2704 # WHITE SCISSORS
+0x25 0x260E # BLACK TELEPHONE
+0x26 0x2706 # TELEPHONE LOCATION SIGN
+0x27 0x2707 # TAPE DRIVE
+0x28 0x2708 # AIRPLANE
+0x29 0x2709 # ENVELOPE
+0x2A 0x261B # BLACK RIGHT POINTING INDEX
+0x2B 0x261E # WHITE RIGHT POINTING INDEX
+0x2C 0x270C # VICTORY HAND
+0x2D 0x270D # WRITING HAND
+0x2E 0x270E # LOWER RIGHT PENCIL
+0x2F 0x270F # PENCIL
+0x30 0x2710 # UPPER RIGHT PENCIL
+0x31 0x2711 # WHITE NIB
+0x32 0x2712 # BLACK NIB
+0x33 0x2713 # CHECK MARK
+0x34 0x2714 # HEAVY CHECK MARK
+0x35 0x2715 # MULTIPLICATION X
+0x36 0x2716 # HEAVY MULTIPLICATION X
+0x37 0x2717 # BALLOT X
+0x38 0x2718 # HEAVY BALLOT X
+0x39 0x2719 # OUTLINED GREEK CROSS
+0x3A 0x271A # HEAVY GREEK CROSS
+0x3B 0x271B # OPEN CENTRE CROSS
+0x3C 0x271C # HEAVY OPEN CENTRE CROSS
+0x3D 0x271D # LATIN CROSS
+0x3E 0x271E # SHADOWED WHITE LATIN CROSS
+0x3F 0x271F # OUTLINED LATIN CROSS
+0x40 0x2720 # MALTESE CROSS
+0x41 0x2721 # STAR OF DAVID
+0x42 0x2722 # FOUR TEARDROP-SPOKED ASTERISK
+0x43 0x2723 # FOUR BALLOON-SPOKED ASTERISK
+0x44 0x2724 # HEAVY FOUR BALLOON-SPOKED ASTERISK
+0x45 0x2725 # FOUR CLUB-SPOKED ASTERISK
+0x46 0x2726 # BLACK FOUR POINTED STAR
+0x47 0x2727 # WHITE FOUR POINTED STAR
+0x48 0x2605 # BLACK STAR
+0x49 0x2729 # STRESS OUTLINED WHITE STAR
+0x4A 0x272A # CIRCLED WHITE STAR
+0x4B 0x272B # OPEN CENTRE BLACK STAR
+0x4C 0x272C # BLACK CENTRE WHITE STAR
+0x4D 0x272D # OUTLINED BLACK STAR
+0x4E 0x272E # HEAVY OUTLINED BLACK STAR
+0x4F 0x272F # PINWHEEL STAR
+0x50 0x2730 # SHADOWED WHITE STAR
+0x51 0x2731 # HEAVY ASTERISK
+0x52 0x2732 # OPEN CENTRE ASTERISK
+0x53 0x2733 # EIGHT SPOKED ASTERISK
+0x54 0x2734 # EIGHT POINTED BLACK STAR
+0x55 0x2735 # EIGHT POINTED PINWHEEL STAR
+0x56 0x2736 # SIX POINTED BLACK STAR
+0x57 0x2737 # EIGHT POINTED RECTILINEAR BLACK STAR
+0x58 0x2738 # HEAVY EIGHT POINTED RECTILINEAR BLACK STAR
+0x59 0x2739 # TWELVE POINTED BLACK STAR
+0x5A 0x273A # SIXTEEN POINTED ASTERISK
+0x5B 0x273B # TEARDROP-SPOKED ASTERISK
+0x5C 0x273C # OPEN CENTRE TEARDROP-SPOKED ASTERISK
+0x5D 0x273D # HEAVY TEARDROP-SPOKED ASTERISK
+0x5E 0x273E # SIX PETALLED BLACK AND WHITE FLORETTE
+0x5F 0x273F # BLACK FLORETTE
+0x60 0x2740 # WHITE FLORETTE
+0x61 0x2741 # EIGHT PETALLED OUTLINED BLACK FLORETTE
+0x62 0x2742 # CIRCLED OPEN CENTRE EIGHT POINTED STAR
+0x63 0x2743 # HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
+0x64 0x2744 # SNOWFLAKE
+0x65 0x2745 # TIGHT TRIFOLIATE SNOWFLAKE
+0x66 0x2746 # HEAVY CHEVRON SNOWFLAKE
+0x67 0x2747 # SPARKLE
+0x68 0x2748 # HEAVY SPARKLE
+0x69 0x2749 # BALLOON-SPOKED ASTERISK
+0x6A 0x274A # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
+0x6B 0x274B # HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
+0x6C 0x25CF # BLACK CIRCLE
+0x6D 0x274D # SHADOWED WHITE CIRCLE
+0x6E 0x25A0 # BLACK SQUARE
+0x6F 0x274F # LOWER RIGHT DROP-SHADOWED WHITE SQUARE
+0x70 0x2750 # UPPER RIGHT DROP-SHADOWED WHITE SQUARE
+0x71 0x2751 # LOWER RIGHT SHADOWED WHITE SQUARE
+0x72 0x2752 # UPPER RIGHT SHADOWED WHITE SQUARE
+0x73 0x25B2 # BLACK UP-POINTING TRIANGLE
+0x74 0x25BC # BLACK DOWN-POINTING TRIANGLE
+0x75 0x25C6 # BLACK DIAMOND
+0x76 0x2756 # BLACK DIAMOND MINUS WHITE X
+0x77 0x25D7 # RIGHT HALF BLACK CIRCLE
+0x78 0x2758 # LIGHT VERTICAL BAR
+0x79 0x2759 # MEDIUM VERTICAL BAR
+0x7A 0x275A # HEAVY VERTICAL BAR
+0x7B 0x275B # HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT
+0x7C 0x275C # HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT
+0x7D 0x275D # HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
+0x7E 0x275E # HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
+#
+0x80 0x2768 # MEDIUM LEFT PARENTHESIS ORNAMENT # for Unicode 3.2 and later
+0x81 0x2769 # MEDIUM RIGHT PARENTHESIS ORNAMENT # for Unicode 3.2 and later
+0x82 0x276A # MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT # for Unicode 3.2 and later
+0x83 0x276B # MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT # for Unicode 3.2 and later
+0x84 0x276C # MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT # for Unicode 3.2 and later
+0x85 0x276D # MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT # for Unicode 3.2 and later
+0x86 0x276E # HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT # for Unicode 3.2 and later
+0x87 0x276F # HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT # for Unicode 3.2 and later
+0x88 0x2770 # HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT # for Unicode 3.2 and later
+0x89 0x2771 # HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT # for Unicode 3.2 and later
+0x8A 0x2772 # LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT # for Unicode 3.2 and later
+0x8B 0x2773 # LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT # for Unicode 3.2 and later
+0x8C 0x2774 # MEDIUM LEFT CURLY BRACKET ORNAMENT # for Unicode 3.2 and later
+0x8D 0x2775 # MEDIUM RIGHT CURLY BRACKET ORNAMENT # for Unicode 3.2 and later
+#
+0xA1 0x2761 # CURVED STEM PARAGRAPH SIGN ORNAMENT
+0xA2 0x2762 # HEAVY EXCLAMATION MARK ORNAMENT
+0xA3 0x2763 # HEAVY HEART EXCLAMATION MARK ORNAMENT
+0xA4 0x2764 # HEAVY BLACK HEART
+0xA5 0x2765 # ROTATED HEAVY BLACK HEART BULLET
+0xA6 0x2766 # FLORAL HEART
+0xA7 0x2767 # ROTATED FLORAL HEART BULLET
+0xA8 0x2663 # BLACK CLUB SUIT
+0xA9 0x2666 # BLACK DIAMOND SUIT
+0xAA 0x2665 # BLACK HEART SUIT
+0xAB 0x2660 # BLACK SPADE SUIT
+0xAC 0x2460 # CIRCLED DIGIT ONE
+0xAD 0x2461 # CIRCLED DIGIT TWO
+0xAE 0x2462 # CIRCLED DIGIT THREE
+0xAF 0x2463 # CIRCLED DIGIT FOUR
+0xB0 0x2464 # CIRCLED DIGIT FIVE
+0xB1 0x2465 # CIRCLED DIGIT SIX
+0xB2 0x2466 # CIRCLED DIGIT SEVEN
+0xB3 0x2467 # CIRCLED DIGIT EIGHT
+0xB4 0x2468 # CIRCLED DIGIT NINE
+0xB5 0x2469 # CIRCLED NUMBER TEN
+0xB6 0x2776 # DINGBAT NEGATIVE CIRCLED DIGIT ONE
+0xB7 0x2777 # DINGBAT NEGATIVE CIRCLED DIGIT TWO
+0xB8 0x2778 # DINGBAT NEGATIVE CIRCLED DIGIT THREE
+0xB9 0x2779 # DINGBAT NEGATIVE CIRCLED DIGIT FOUR
+0xBA 0x277A # DINGBAT NEGATIVE CIRCLED DIGIT FIVE
+0xBB 0x277B # DINGBAT NEGATIVE CIRCLED DIGIT SIX
+0xBC 0x277C # DINGBAT NEGATIVE CIRCLED DIGIT SEVEN
+0xBD 0x277D # DINGBAT NEGATIVE CIRCLED DIGIT EIGHT
+0xBE 0x277E # DINGBAT NEGATIVE CIRCLED DIGIT NINE
+0xBF 0x277F # DINGBAT NEGATIVE CIRCLED NUMBER TEN
+0xC0 0x2780 # DINGBAT CIRCLED SANS-SERIF DIGIT ONE
+0xC1 0x2781 # DINGBAT CIRCLED SANS-SERIF DIGIT TWO
+0xC2 0x2782 # DINGBAT CIRCLED SANS-SERIF DIGIT THREE
+0xC3 0x2783 # DINGBAT CIRCLED SANS-SERIF DIGIT FOUR
+0xC4 0x2784 # DINGBAT CIRCLED SANS-SERIF DIGIT FIVE
+0xC5 0x2785 # DINGBAT CIRCLED SANS-SERIF DIGIT SIX
+0xC6 0x2786 # DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN
+0xC7 0x2787 # DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT
+0xC8 0x2788 # DINGBAT CIRCLED SANS-SERIF DIGIT NINE
+0xC9 0x2789 # DINGBAT CIRCLED SANS-SERIF NUMBER TEN
+0xCA 0x278A # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE
+0xCB 0x278B # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO
+0xCC 0x278C # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE
+0xCD 0x278D # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR
+0xCE 0x278E # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE
+0xCF 0x278F # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX
+0xD0 0x2790 # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN
+0xD1 0x2791 # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT
+0xD2 0x2792 # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE
+0xD3 0x2793 # DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
+0xD4 0x2794 # HEAVY WIDE-HEADED RIGHTWARDS ARROW
+0xD5 0x2192 # RIGHTWARDS ARROW
+0xD6 0x2194 # LEFT RIGHT ARROW
+0xD7 0x2195 # UP DOWN ARROW
+0xD8 0x2798 # HEAVY SOUTH EAST ARROW
+0xD9 0x2799 # HEAVY RIGHTWARDS ARROW
+0xDA 0x279A # HEAVY NORTH EAST ARROW
+0xDB 0x279B # DRAFTING POINT RIGHTWARDS ARROW
+0xDC 0x279C # HEAVY ROUND-TIPPED RIGHTWARDS ARROW
+0xDD 0x279D # TRIANGLE-HEADED RIGHTWARDS ARROW
+0xDE 0x279E # HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW
+0xDF 0x279F # DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
+0xE0 0x27A0 # HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
+0xE1 0x27A1 # BLACK RIGHTWARDS ARROW
+0xE2 0x27A2 # THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD
+0xE3 0x27A3 # THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD
+0xE4 0x27A4 # BLACK RIGHTWARDS ARROWHEAD
+0xE5 0x27A5 # HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW
+0xE6 0x27A6 # HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW
+0xE7 0x27A7 # SQUAT BLACK RIGHTWARDS ARROW
+0xE8 0x27A8 # HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW
+0xE9 0x27A9 # RIGHT-SHADED WHITE RIGHTWARDS ARROW
+0xEA 0x27AA # LEFT-SHADED WHITE RIGHTWARDS ARROW
+0xEB 0x27AB # BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW
+0xEC 0x27AC # FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW
+0xED 0x27AD # HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+0xEE 0x27AE # HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+0xEF 0x27AF # NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+#
+0xF1 0x27B1 # NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+0xF2 0x27B2 # CIRCLED HEAVY WHITE RIGHTWARDS ARROW
+0xF3 0x27B3 # WHITE-FEATHERED RIGHTWARDS ARROW
+0xF4 0x27B4 # BLACK-FEATHERED SOUTH EAST ARROW
+0xF5 0x27B5 # BLACK-FEATHERED RIGHTWARDS ARROW
+0xF6 0x27B6 # BLACK-FEATHERED NORTH EAST ARROW
+0xF7 0x27B7 # HEAVY BLACK-FEATHERED SOUTH EAST ARROW
+0xF8 0x27B8 # HEAVY BLACK-FEATHERED RIGHTWARDS ARROW
+0xF9 0x27B9 # HEAVY BLACK-FEATHERED NORTH EAST ARROW
+0xFA 0x27BA # TEARDROP-BARBED RIGHTWARDS ARROW
+0xFB 0x27BB # HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW
+0xFC 0x27BC # WEDGE-TAILED RIGHTWARDS ARROW
+0xFD 0x27BD # HEAVY WEDGE-TAILED RIGHTWARDS ARROW
+0xFE 0x27BE # OPEN-OUTLINED RIGHTWARDS ARROW
+
+"
+!
+
+mappingURL1_relativePathName
+ ^ 'VENDORS/APPLE/DINGBATS.TXT'
! !
!CharacterEncoder::MAC_Dingbats methodsFor:'encoding & decoding'!
@@ -10832,8 +27598,8 @@
code < 33 ifTrue:[ ^ code ].
code > 254 ifTrue:[
- self error:'invalid code'.
- ^ $? asciiValue
+ self error:'invalid code'.
+ ^ $? asciiValue
].
^ #(
"16r0021" 16r2701 " UPPER BLADE SCISSORS "
@@ -11322,18 +28088,18 @@
# context (that is, when the first 'strong' character on either side
# of the digit sequence is Arabic, or there is no strong character):
#
-# 0x2C 0x066C # ARABIC THOUSANDS SEPARATOR
-# 0x2E 0x066B # ARABIC DECIMAL SEPARATOR
-# 0x30 0x06F0 # EXTENDED ARABIC-INDIC DIGIT ZERO
-# 0x31 0x06F1 # EXTENDED ARABIC-INDIC DIGIT ONE
-# 0x32 0x06F2 # EXTENDED ARABIC-INDIC DIGIT TWO
-# 0x33 0x06F3 # EXTENDED ARABIC-INDIC DIGIT THREE
-# 0x34 0x06F4 # EXTENDED ARABIC-INDIC DIGIT FOUR
-# 0x35 0x06F5 # EXTENDED ARABIC-INDIC DIGIT FIVE
-# 0x36 0x06F6 # EXTENDED ARABIC-INDIC DIGIT SIX
-# 0x37 0x06F7 # EXTENDED ARABIC-INDIC DIGIT SEVEN
-# 0x38 0x06F8 # EXTENDED ARABIC-INDIC DIGIT EIGHT
-# 0x39 0x06F9 # EXTENDED ARABIC-INDIC DIGIT NINE
+# 0x2C 0x066C # ARABIC THOUSANDS SEPARATOR
+# 0x2E 0x066B # ARABIC DECIMAL SEPARATOR
+# 0x30 0x06F0 # EXTENDED ARABIC-INDIC DIGIT ZERO
+# 0x31 0x06F1 # EXTENDED ARABIC-INDIC DIGIT ONE
+# 0x32 0x06F2 # EXTENDED ARABIC-INDIC DIGIT TWO
+# 0x33 0x06F3 # EXTENDED ARABIC-INDIC DIGIT THREE
+# 0x34 0x06F4 # EXTENDED ARABIC-INDIC DIGIT FOUR
+# 0x35 0x06F5 # EXTENDED ARABIC-INDIC DIGIT FIVE
+# 0x36 0x06F6 # EXTENDED ARABIC-INDIC DIGIT SIX
+# 0x37 0x06F7 # EXTENDED ARABIC-INDIC DIGIT SEVEN
+# 0x38 0x06F8 # EXTENDED ARABIC-INDIC DIGIT EIGHT
+# 0x39 0x06F9 # EXTENDED ARABIC-INDIC DIGIT NINE
#
# 3. Use of corporate-zone Unicodes (mapping the TrueType variant)
#
@@ -11358,236 +28124,236 @@
#
##################
-0x20 <LR>+0x0020 # SPACE, left-right
-0x21 <LR>+0x0021 # EXCLAMATION MARK, left-right
-0x22 <LR>+0x0022 # QUOTATION MARK, left-right
-0x23 <LR>+0x0023 # NUMBER SIGN, left-right
-0x24 <LR>+0x0024 # DOLLAR SIGN, left-right
-0x25 <LR>+0x0025 # PERCENT SIGN, left-right
-0x26 <LR>+0x0026 # AMPERSAND, left-right
-0x27 <LR>+0x0027 # APOSTROPHE, left-right
-0x28 <LR>+0x0028 # LEFT PARENTHESIS, left-right
-0x29 <LR>+0x0029 # RIGHT PARENTHESIS, left-right
-0x2A <LR>+0x002A # ASTERISK, left-right
-0x2B <LR>+0x002B # PLUS SIGN, left-right
-0x2C <LR>+0x002C # COMMA, left-right; in Arabic-script context, displayed as 0x066C ARABIC THOUSANDS SEPARATOR
-0x2D <LR>+0x002D # HYPHEN-MINUS, left-right
-0x2E <LR>+0x002E # FULL STOP, left-right; in Arabic-script context, displayed as 0x066B ARABIC DECIMAL SEPARATOR
-0x2F <LR>+0x002F # SOLIDUS, left-right
-0x30 0x0030 # DIGIT ZERO; in Arabic-script context, displayed as 0x06F0 EXTENDED ARABIC-INDIC DIGIT ZERO
-0x31 0x0031 # DIGIT ONE; in Arabic-script context, displayed as 0x06F1 EXTENDED ARABIC-INDIC DIGIT ONE
-0x32 0x0032 # DIGIT TWO; in Arabic-script context, displayed as 0x06F2 EXTENDED ARABIC-INDIC DIGIT TWO
-0x33 0x0033 # DIGIT THREE; in Arabic-script context, displayed as 0x06F3 EXTENDED ARABIC-INDIC DIGIT THREE
-0x34 0x0034 # DIGIT FOUR; in Arabic-script context, displayed as 0x06F4 EXTENDED ARABIC-INDIC DIGIT FOUR
-0x35 0x0035 # DIGIT FIVE; in Arabic-script context, displayed as 0x06F5 EXTENDED ARABIC-INDIC DIGIT FIVE
-0x36 0x0036 # DIGIT SIX; in Arabic-script context, displayed as 0x06F6 EXTENDED ARABIC-INDIC DIGIT SIX
-0x37 0x0037 # DIGIT SEVEN; in Arabic-script context, displayed as 0x06F7 EXTENDED ARABIC-INDIC DIGIT SEVEN
-0x38 0x0038 # DIGIT EIGHT; in Arabic-script context, displayed as 0x06F8 EXTENDED ARABIC-INDIC DIGIT EIGHT
-0x39 0x0039 # DIGIT NINE; in Arabic-script context, displayed as 0x06F9 EXTENDED ARABIC-INDIC DIGIT NINE
-0x3A <LR>+0x003A # COLON, left-right
-0x3B <LR>+0x003B # SEMICOLON, left-right
-0x3C <LR>+0x003C # LESS-THAN SIGN, left-right
-0x3D <LR>+0x003D # EQUALS SIGN, left-right
-0x3E <LR>+0x003E # GREATER-THAN SIGN, left-right
-0x3F <LR>+0x003F # QUESTION MARK, left-right
-0x40 0x0040 # COMMERCIAL AT
-0x41 0x0041 # LATIN CAPITAL LETTER A
-0x42 0x0042 # LATIN CAPITAL LETTER B
-0x43 0x0043 # LATIN CAPITAL LETTER C
-0x44 0x0044 # LATIN CAPITAL LETTER D
-0x45 0x0045 # LATIN CAPITAL LETTER E
-0x46 0x0046 # LATIN CAPITAL LETTER F
-0x47 0x0047 # LATIN CAPITAL LETTER G
-0x48 0x0048 # LATIN CAPITAL LETTER H
-0x49 0x0049 # LATIN CAPITAL LETTER I
-0x4A 0x004A # LATIN CAPITAL LETTER J
-0x4B 0x004B # LATIN CAPITAL LETTER K
-0x4C 0x004C # LATIN CAPITAL LETTER L
-0x4D 0x004D # LATIN CAPITAL LETTER M
-0x4E 0x004E # LATIN CAPITAL LETTER N
-0x4F 0x004F # LATIN CAPITAL LETTER O
-0x50 0x0050 # LATIN CAPITAL LETTER P
-0x51 0x0051 # LATIN CAPITAL LETTER Q
-0x52 0x0052 # LATIN CAPITAL LETTER R
-0x53 0x0053 # LATIN CAPITAL LETTER S
-0x54 0x0054 # LATIN CAPITAL LETTER T
-0x55 0x0055 # LATIN CAPITAL LETTER U
-0x56 0x0056 # LATIN CAPITAL LETTER V
-0x57 0x0057 # LATIN CAPITAL LETTER W
-0x58 0x0058 # LATIN CAPITAL LETTER X
-0x59 0x0059 # LATIN CAPITAL LETTER Y
-0x5A 0x005A # LATIN CAPITAL LETTER Z
-0x5B <LR>+0x005B # LEFT SQUARE BRACKET, left-right
-0x5C <LR>+0x005C # REVERSE SOLIDUS, left-right
-0x5D <LR>+0x005D # RIGHT SQUARE BRACKET, left-right
-0x5E <LR>+0x005E # CIRCUMFLEX ACCENT, left-right
-0x5F <LR>+0x005F # LOW LINE, left-right
-0x60 0x0060 # GRAVE ACCENT
-0x61 0x0061 # LATIN SMALL LETTER A
-0x62 0x0062 # LATIN SMALL LETTER B
-0x63 0x0063 # LATIN SMALL LETTER C
-0x64 0x0064 # LATIN SMALL LETTER D
-0x65 0x0065 # LATIN SMALL LETTER E
-0x66 0x0066 # LATIN SMALL LETTER F
-0x67 0x0067 # LATIN SMALL LETTER G
-0x68 0x0068 # LATIN SMALL LETTER H
-0x69 0x0069 # LATIN SMALL LETTER I
-0x6A 0x006A # LATIN SMALL LETTER J
-0x6B 0x006B # LATIN SMALL LETTER K
-0x6C 0x006C # LATIN SMALL LETTER L
-0x6D 0x006D # LATIN SMALL LETTER M
-0x6E 0x006E # LATIN SMALL LETTER N
-0x6F 0x006F # LATIN SMALL LETTER O
-0x70 0x0070 # LATIN SMALL LETTER P
-0x71 0x0071 # LATIN SMALL LETTER Q
-0x72 0x0072 # LATIN SMALL LETTER R
-0x73 0x0073 # LATIN SMALL LETTER S
-0x74 0x0074 # LATIN SMALL LETTER T
-0x75 0x0075 # LATIN SMALL LETTER U
-0x76 0x0076 # LATIN SMALL LETTER V
-0x77 0x0077 # LATIN SMALL LETTER W
-0x78 0x0078 # LATIN SMALL LETTER X
-0x79 0x0079 # LATIN SMALL LETTER Y
-0x7A 0x007A # LATIN SMALL LETTER Z
-0x7B <LR>+0x007B # LEFT CURLY BRACKET, left-right
-0x7C <LR>+0x007C # VERTICAL LINE, left-right
-0x7D <LR>+0x007D # RIGHT CURLY BRACKET, left-right
-0x7E 0x007E # TILDE
-#
-0x80 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
-0x81 <RL>+0x00A0 # NO-BREAK SPACE, right-left
-0x82 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA
-0x83 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
-0x84 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE
-0x85 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
-0x86 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
-0x87 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
-0x88 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
-0x89 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
-0x8A 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
-0x8B 0x06BA # ARABIC LETTER NOON GHUNNA
-0x8C <RL>+0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
-0x8D 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
-0x8E 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
-0x8F 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
-0x90 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0x91 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS
-0x92 0x00ED # LATIN SMALL LETTER I WITH ACUTE
-0x93 <RL>+0x2026 # HORIZONTAL ELLIPSIS, right-left
-0x94 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX
-0x95 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS
-0x96 0x00F1 # LATIN SMALL LETTER N WITH TILDE
-0x97 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
-0x98 <RL>+0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
-0x99 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
-0x9A 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
-0x9B <RL>+0x00F7 # DIVISION SIGN, right-left
-0x9C 0x00FA # LATIN SMALL LETTER U WITH ACUTE
-0x9D 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
-0x9E 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX
-0x9F 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
-0xA0 <RL>+0x0020 # SPACE, right-left
-0xA1 <RL>+0x0021 # EXCLAMATION MARK, right-left
-0xA2 <RL>+0x0022 # QUOTATION MARK, right-left
-0xA3 <RL>+0x0023 # NUMBER SIGN, right-left
-0xA4 <RL>+0x0024 # DOLLAR SIGN, right-left
-0xA5 0x066A # ARABIC PERCENT SIGN
-0xA6 <RL>+0x0026 # AMPERSAND, right-left
-0xA7 <RL>+0x0027 # APOSTROPHE, right-left
-0xA8 <RL>+0x0028 # LEFT PARENTHESIS, right-left
-0xA9 <RL>+0x0029 # RIGHT PARENTHESIS, right-left
-0xAA <RL>+0x002A # ASTERISK, right-left
-0xAB <RL>+0x002B # PLUS SIGN, right-left
-0xAC 0x060C # ARABIC COMMA
-0xAD <RL>+0x002D # HYPHEN-MINUS, right-left
-0xAE <RL>+0x002E # FULL STOP, right-left
-0xAF <RL>+0x002F # SOLIDUS, right-left
-0xB0 <RL>+0x06F0 # EXTENDED ARABIC-INDIC DIGIT ZERO, right-left (need override)
-0xB1 <RL>+0x06F1 # EXTENDED ARABIC-INDIC DIGIT ONE, right-left (need override)
-0xB2 <RL>+0x06F2 # EXTENDED ARABIC-INDIC DIGIT TWO, right-left (need override)
-0xB3 <RL>+0x06F3 # EXTENDED ARABIC-INDIC DIGIT THREE, right-left (need override)
-0xB4 <RL>+0x06F4 # EXTENDED ARABIC-INDIC DIGIT FOUR, right-left (need override)
-0xB5 <RL>+0x06F5 # EXTENDED ARABIC-INDIC DIGIT FIVE, right-left (need override)
-0xB6 <RL>+0x06F6 # EXTENDED ARABIC-INDIC DIGIT SIX, right-left (need override)
-0xB7 <RL>+0x06F7 # EXTENDED ARABIC-INDIC DIGIT SEVEN, right-left (need override)
-0xB8 <RL>+0x06F8 # EXTENDED ARABIC-INDIC DIGIT EIGHT, right-left (need override)
-0xB9 <RL>+0x06F9 # EXTENDED ARABIC-INDIC DIGIT NINE, right-left (need override)
-0xBA <RL>+0x003A # COLON, right-left
-0xBB 0x061B # ARABIC SEMICOLON
-0xBC <RL>+0x003C # LESS-THAN SIGN, right-left
-0xBD <RL>+0x003D # EQUALS SIGN, right-left
-0xBE <RL>+0x003E # GREATER-THAN SIGN, right-left
-0xBF 0x061F # ARABIC QUESTION MARK
-0xC0 <RL>+0x274A # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK, right-left
-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
-0xDB <RL>+0x005B # LEFT SQUARE BRACKET, right-left
-0xDC <RL>+0x005C # REVERSE SOLIDUS, right-left
-0xDD <RL>+0x005D # RIGHT SQUARE BRACKET, right-left
-0xDE <RL>+0x005E # CIRCUMFLEX ACCENT, right-left
-0xDF <RL>+0x005F # LOW LINE, right-left
-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
-0xF3 0x067E # ARABIC LETTER PEH
-0xF4 0x0679 # ARABIC LETTER TTEH
-0xF5 0x0686 # ARABIC LETTER TCHEH
-0xF6 0x06D5 # ARABIC LETTER AE
-0xF7 0x06A4 # ARABIC LETTER VEH
-0xF8 0x06AF # ARABIC LETTER GAF
-0xF9 0x0688 # ARABIC LETTER DDAL
-0xFA 0x0691 # ARABIC LETTER RREH
-0xFB <RL>+0x007B # LEFT CURLY BRACKET, right-left
-0xFC <RL>+0x007C # VERTICAL LINE, right-left
-0xFD <RL>+0x007D # RIGHT CURLY BRACKET, right-left
-0xFE 0x0698 # ARABIC LETTER JEH
-0xFF 0x06D2 # ARABIC LETTER YEH BARREE
-
-"
-!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/FARSI.TXT'
+0x20 <LR>+0x0020 # SPACE, left-right
+0x21 <LR>+0x0021 # EXCLAMATION MARK, left-right
+0x22 <LR>+0x0022 # QUOTATION MARK, left-right
+0x23 <LR>+0x0023 # NUMBER SIGN, left-right
+0x24 <LR>+0x0024 # DOLLAR SIGN, left-right
+0x25 <LR>+0x0025 # PERCENT SIGN, left-right
+0x26 <LR>+0x0026 # AMPERSAND, left-right
+0x27 <LR>+0x0027 # APOSTROPHE, left-right
+0x28 <LR>+0x0028 # LEFT PARENTHESIS, left-right
+0x29 <LR>+0x0029 # RIGHT PARENTHESIS, left-right
+0x2A <LR>+0x002A # ASTERISK, left-right
+0x2B <LR>+0x002B # PLUS SIGN, left-right
+0x2C <LR>+0x002C # COMMA, left-right; in Arabic-script context, displayed as 0x066C ARABIC THOUSANDS SEPARATOR
+0x2D <LR>+0x002D # HYPHEN-MINUS, left-right
+0x2E <LR>+0x002E # FULL STOP, left-right; in Arabic-script context, displayed as 0x066B ARABIC DECIMAL SEPARATOR
+0x2F <LR>+0x002F # SOLIDUS, left-right
+0x30 0x0030 # DIGIT ZERO; in Arabic-script context, displayed as 0x06F0 EXTENDED ARABIC-INDIC DIGIT ZERO
+0x31 0x0031 # DIGIT ONE; in Arabic-script context, displayed as 0x06F1 EXTENDED ARABIC-INDIC DIGIT ONE
+0x32 0x0032 # DIGIT TWO; in Arabic-script context, displayed as 0x06F2 EXTENDED ARABIC-INDIC DIGIT TWO
+0x33 0x0033 # DIGIT THREE; in Arabic-script context, displayed as 0x06F3 EXTENDED ARABIC-INDIC DIGIT THREE
+0x34 0x0034 # DIGIT FOUR; in Arabic-script context, displayed as 0x06F4 EXTENDED ARABIC-INDIC DIGIT FOUR
+0x35 0x0035 # DIGIT FIVE; in Arabic-script context, displayed as 0x06F5 EXTENDED ARABIC-INDIC DIGIT FIVE
+0x36 0x0036 # DIGIT SIX; in Arabic-script context, displayed as 0x06F6 EXTENDED ARABIC-INDIC DIGIT SIX
+0x37 0x0037 # DIGIT SEVEN; in Arabic-script context, displayed as 0x06F7 EXTENDED ARABIC-INDIC DIGIT SEVEN
+0x38 0x0038 # DIGIT EIGHT; in Arabic-script context, displayed as 0x06F8 EXTENDED ARABIC-INDIC DIGIT EIGHT
+0x39 0x0039 # DIGIT NINE; in Arabic-script context, displayed as 0x06F9 EXTENDED ARABIC-INDIC DIGIT NINE
+0x3A <LR>+0x003A # COLON, left-right
+0x3B <LR>+0x003B # SEMICOLON, left-right
+0x3C <LR>+0x003C # LESS-THAN SIGN, left-right
+0x3D <LR>+0x003D # EQUALS SIGN, left-right
+0x3E <LR>+0x003E # GREATER-THAN SIGN, left-right
+0x3F <LR>+0x003F # QUESTION MARK, left-right
+0x40 0x0040 # COMMERCIAL AT
+0x41 0x0041 # LATIN CAPITAL LETTER A
+0x42 0x0042 # LATIN CAPITAL LETTER B
+0x43 0x0043 # LATIN CAPITAL LETTER C
+0x44 0x0044 # LATIN CAPITAL LETTER D
+0x45 0x0045 # LATIN CAPITAL LETTER E
+0x46 0x0046 # LATIN CAPITAL LETTER F
+0x47 0x0047 # LATIN CAPITAL LETTER G
+0x48 0x0048 # LATIN CAPITAL LETTER H
+0x49 0x0049 # LATIN CAPITAL LETTER I
+0x4A 0x004A # LATIN CAPITAL LETTER J
+0x4B 0x004B # LATIN CAPITAL LETTER K
+0x4C 0x004C # LATIN CAPITAL LETTER L
+0x4D 0x004D # LATIN CAPITAL LETTER M
+0x4E 0x004E # LATIN CAPITAL LETTER N
+0x4F 0x004F # LATIN CAPITAL LETTER O
+0x50 0x0050 # LATIN CAPITAL LETTER P
+0x51 0x0051 # LATIN CAPITAL LETTER Q
+0x52 0x0052 # LATIN CAPITAL LETTER R
+0x53 0x0053 # LATIN CAPITAL LETTER S
+0x54 0x0054 # LATIN CAPITAL LETTER T
+0x55 0x0055 # LATIN CAPITAL LETTER U
+0x56 0x0056 # LATIN CAPITAL LETTER V
+0x57 0x0057 # LATIN CAPITAL LETTER W
+0x58 0x0058 # LATIN CAPITAL LETTER X
+0x59 0x0059 # LATIN CAPITAL LETTER Y
+0x5A 0x005A # LATIN CAPITAL LETTER Z
+0x5B <LR>+0x005B # LEFT SQUARE BRACKET, left-right
+0x5C <LR>+0x005C # REVERSE SOLIDUS, left-right
+0x5D <LR>+0x005D # RIGHT SQUARE BRACKET, left-right
+0x5E <LR>+0x005E # CIRCUMFLEX ACCENT, left-right
+0x5F <LR>+0x005F # LOW LINE, left-right
+0x60 0x0060 # GRAVE ACCENT
+0x61 0x0061 # LATIN SMALL LETTER A
+0x62 0x0062 # LATIN SMALL LETTER B
+0x63 0x0063 # LATIN SMALL LETTER C
+0x64 0x0064 # LATIN SMALL LETTER D
+0x65 0x0065 # LATIN SMALL LETTER E
+0x66 0x0066 # LATIN SMALL LETTER F
+0x67 0x0067 # LATIN SMALL LETTER G
+0x68 0x0068 # LATIN SMALL LETTER H
+0x69 0x0069 # LATIN SMALL LETTER I
+0x6A 0x006A # LATIN SMALL LETTER J
+0x6B 0x006B # LATIN SMALL LETTER K
+0x6C 0x006C # LATIN SMALL LETTER L
+0x6D 0x006D # LATIN SMALL LETTER M
+0x6E 0x006E # LATIN SMALL LETTER N
+0x6F 0x006F # LATIN SMALL LETTER O
+0x70 0x0070 # LATIN SMALL LETTER P
+0x71 0x0071 # LATIN SMALL LETTER Q
+0x72 0x0072 # LATIN SMALL LETTER R
+0x73 0x0073 # LATIN SMALL LETTER S
+0x74 0x0074 # LATIN SMALL LETTER T
+0x75 0x0075 # LATIN SMALL LETTER U
+0x76 0x0076 # LATIN SMALL LETTER V
+0x77 0x0077 # LATIN SMALL LETTER W
+0x78 0x0078 # LATIN SMALL LETTER X
+0x79 0x0079 # LATIN SMALL LETTER Y
+0x7A 0x007A # LATIN SMALL LETTER Z
+0x7B <LR>+0x007B # LEFT CURLY BRACKET, left-right
+0x7C <LR>+0x007C # VERTICAL LINE, left-right
+0x7D <LR>+0x007D # RIGHT CURLY BRACKET, left-right
+0x7E 0x007E # TILDE
+#
+0x80 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
+0x81 <RL>+0x00A0 # NO-BREAK SPACE, right-left
+0x82 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA
+0x83 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
+0x84 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE
+0x85 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
+0x86 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
+0x87 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
+0x88 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
+0x89 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x8A 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
+0x8B 0x06BA # ARABIC LETTER NOON GHUNNA
+0x8C <RL>+0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
+0x8D 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
+0x8E 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
+0x8F 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
+0x90 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x91 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS
+0x92 0x00ED # LATIN SMALL LETTER I WITH ACUTE
+0x93 <RL>+0x2026 # HORIZONTAL ELLIPSIS, right-left
+0x94 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x95 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS
+0x96 0x00F1 # LATIN SMALL LETTER N WITH TILDE
+0x97 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
+0x98 <RL>+0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
+0x99 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x9A 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
+0x9B <RL>+0x00F7 # DIVISION SIGN, right-left
+0x9C 0x00FA # LATIN SMALL LETTER U WITH ACUTE
+0x9D 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
+0x9E 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX
+0x9F 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
+0xA0 <RL>+0x0020 # SPACE, right-left
+0xA1 <RL>+0x0021 # EXCLAMATION MARK, right-left
+0xA2 <RL>+0x0022 # QUOTATION MARK, right-left
+0xA3 <RL>+0x0023 # NUMBER SIGN, right-left
+0xA4 <RL>+0x0024 # DOLLAR SIGN, right-left
+0xA5 0x066A # ARABIC PERCENT SIGN
+0xA6 <RL>+0x0026 # AMPERSAND, right-left
+0xA7 <RL>+0x0027 # APOSTROPHE, right-left
+0xA8 <RL>+0x0028 # LEFT PARENTHESIS, right-left
+0xA9 <RL>+0x0029 # RIGHT PARENTHESIS, right-left
+0xAA <RL>+0x002A # ASTERISK, right-left
+0xAB <RL>+0x002B # PLUS SIGN, right-left
+0xAC 0x060C # ARABIC COMMA
+0xAD <RL>+0x002D # HYPHEN-MINUS, right-left
+0xAE <RL>+0x002E # FULL STOP, right-left
+0xAF <RL>+0x002F # SOLIDUS, right-left
+0xB0 <RL>+0x06F0 # EXTENDED ARABIC-INDIC DIGIT ZERO, right-left (need override)
+0xB1 <RL>+0x06F1 # EXTENDED ARABIC-INDIC DIGIT ONE, right-left (need override)
+0xB2 <RL>+0x06F2 # EXTENDED ARABIC-INDIC DIGIT TWO, right-left (need override)
+0xB3 <RL>+0x06F3 # EXTENDED ARABIC-INDIC DIGIT THREE, right-left (need override)
+0xB4 <RL>+0x06F4 # EXTENDED ARABIC-INDIC DIGIT FOUR, right-left (need override)
+0xB5 <RL>+0x06F5 # EXTENDED ARABIC-INDIC DIGIT FIVE, right-left (need override)
+0xB6 <RL>+0x06F6 # EXTENDED ARABIC-INDIC DIGIT SIX, right-left (need override)
+0xB7 <RL>+0x06F7 # EXTENDED ARABIC-INDIC DIGIT SEVEN, right-left (need override)
+0xB8 <RL>+0x06F8 # EXTENDED ARABIC-INDIC DIGIT EIGHT, right-left (need override)
+0xB9 <RL>+0x06F9 # EXTENDED ARABIC-INDIC DIGIT NINE, right-left (need override)
+0xBA <RL>+0x003A # COLON, right-left
+0xBB 0x061B # ARABIC SEMICOLON
+0xBC <RL>+0x003C # LESS-THAN SIGN, right-left
+0xBD <RL>+0x003D # EQUALS SIGN, right-left
+0xBE <RL>+0x003E # GREATER-THAN SIGN, right-left
+0xBF 0x061F # ARABIC QUESTION MARK
+0xC0 <RL>+0x274A # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK, right-left
+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
+0xDB <RL>+0x005B # LEFT SQUARE BRACKET, right-left
+0xDC <RL>+0x005C # REVERSE SOLIDUS, right-left
+0xDD <RL>+0x005D # RIGHT SQUARE BRACKET, right-left
+0xDE <RL>+0x005E # CIRCUMFLEX ACCENT, right-left
+0xDF <RL>+0x005F # LOW LINE, right-left
+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
+0xF3 0x067E # ARABIC LETTER PEH
+0xF4 0x0679 # ARABIC LETTER TTEH
+0xF5 0x0686 # ARABIC LETTER TCHEH
+0xF6 0x06D5 # ARABIC LETTER AE
+0xF7 0x06A4 # ARABIC LETTER VEH
+0xF8 0x06AF # ARABIC LETTER GAF
+0xF9 0x0688 # ARABIC LETTER DDAL
+0xFA 0x0691 # ARABIC LETTER RREH
+0xFB <RL>+0x007B # LEFT CURLY BRACKET, right-left
+0xFC <RL>+0x007C # VERTICAL LINE, right-left
+0xFD <RL>+0x007D # RIGHT CURLY BRACKET, right-left
+0xFE 0x0698 # ARABIC LETTER JEH
+0xFF 0x06D2 # ARABIC LETTER YEH BARREE
+
+"
+!
+
+mappingURL1_relativePathName
+ ^ 'VENDORS/APPLE/FARSI.TXT'
! !
!CharacterEncoder::MAC_Farsi methodsFor:'encoding & decoding'!
@@ -11597,8 +28363,8 @@
code < 32 ifTrue:[ ^ code ].
code > 255 ifTrue:[
- self error:'invalid code'.
- ^ $? asciiValue
+ self error:'invalid code'.
+ ^ $? asciiValue
].
^ #(
"16r0020" 16rFFFF
@@ -12187,8 +28953,8 @@
"
!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/GREEK.TXT'
+mappingURL1_relativePathName
+ ^ 'VENDORS/APPLE/GREEK.TXT'
! !
!CharacterEncoder::MAC_Greek methodsFor:'encoding & decoding'!
@@ -12354,7 +29120,7 @@
# Changes:
#
# b3,c1 2002-Dec-19 Don't require left-right context for digits
-# 0x30-0x39. Change mapping of 0x81 to use
+# 0x30-0x39. Change mapping of 0x81 to use
# decomposition. Reverse the mappings of 0xA8,
# 0xA9. Update URLs, notes. Matches internal
# utom<b7>.
@@ -12449,7 +29215,7 @@
#
# - The NEW SHEQEL SIGN at 0xA6.
#
-# - Latin characters with diacritics at 0x80 and 0x82-0x9F. However,
+# - Latin characters with diacritics at 0x80 and 0x82-0x9F. However,
# most of these cannot be typed using the keyboard layouts in the
# Hebrew localized systems.
#
@@ -12673,236 +29439,236 @@
#
##################
-0x20 <LR>+0x0020 # SPACE, left-right
-0x21 <LR>+0x0021 # EXCLAMATION MARK, left-right
-0x22 <LR>+0x0022 # QUOTATION MARK, left-right
-0x23 <LR>+0x0023 # NUMBER SIGN, left-right
-0x24 <LR>+0x0024 # DOLLAR SIGN, left-right
-0x25 <LR>+0x0025 # PERCENT SIGN, left-right
-0x26 0x0026 # AMPERSAND
-0x27 <LR>+0x0027 # APOSTROPHE, left-right
-0x28 <LR>+0x0028 # LEFT PARENTHESIS, left-right
-0x29 <LR>+0x0029 # RIGHT PARENTHESIS, left-right
-0x2A <LR>+0x002A # ASTERISK, left-right
-0x2B <LR>+0x002B # PLUS SIGN, left-right
-0x2C <LR>+0x002C # COMMA, left-right
-0x2D <LR>+0x002D # HYPHEN-MINUS, left-right
-0x2E <LR>+0x002E # FULL STOP, left-right
-0x2F <LR>+0x002F # SOLIDUS, left-right
-0x30 0x0030 # DIGIT ZERO
-0x31 0x0031 # DIGIT ONE
-0x32 0x0032 # DIGIT TWO
-0x33 0x0033 # DIGIT THREE
-0x34 0x0034 # DIGIT FOUR
-0x35 0x0035 # DIGIT FIVE
-0x36 0x0036 # DIGIT SIX
-0x37 0x0037 # DIGIT SEVEN
-0x38 0x0038 # DIGIT EIGHT
-0x39 0x0039 # DIGIT NINE
-0x3A <LR>+0x003A # COLON, left-right
-0x3B <LR>+0x003B # SEMICOLON, left-right
-0x3C <LR>+0x003C # LESS-THAN SIGN, left-right
-0x3D <LR>+0x003D # EQUALS SIGN, left-right
-0x3E <LR>+0x003E # GREATER-THAN SIGN, left-right
-0x3F <LR>+0x003F # QUESTION MARK, left-right
-0x40 0x0040 # COMMERCIAL AT
-0x41 0x0041 # LATIN CAPITAL LETTER A
-0x42 0x0042 # LATIN CAPITAL LETTER B
-0x43 0x0043 # LATIN CAPITAL LETTER C
-0x44 0x0044 # LATIN CAPITAL LETTER D
-0x45 0x0045 # LATIN CAPITAL LETTER E
-0x46 0x0046 # LATIN CAPITAL LETTER F
-0x47 0x0047 # LATIN CAPITAL LETTER G
-0x48 0x0048 # LATIN CAPITAL LETTER H
-0x49 0x0049 # LATIN CAPITAL LETTER I
-0x4A 0x004A # LATIN CAPITAL LETTER J
-0x4B 0x004B # LATIN CAPITAL LETTER K
-0x4C 0x004C # LATIN CAPITAL LETTER L
-0x4D 0x004D # LATIN CAPITAL LETTER M
-0x4E 0x004E # LATIN CAPITAL LETTER N
-0x4F 0x004F # LATIN CAPITAL LETTER O
-0x50 0x0050 # LATIN CAPITAL LETTER P
-0x51 0x0051 # LATIN CAPITAL LETTER Q
-0x52 0x0052 # LATIN CAPITAL LETTER R
-0x53 0x0053 # LATIN CAPITAL LETTER S
-0x54 0x0054 # LATIN CAPITAL LETTER T
-0x55 0x0055 # LATIN CAPITAL LETTER U
-0x56 0x0056 # LATIN CAPITAL LETTER V
-0x57 0x0057 # LATIN CAPITAL LETTER W
-0x58 0x0058 # LATIN CAPITAL LETTER X
-0x59 0x0059 # LATIN CAPITAL LETTER Y
-0x5A 0x005A # LATIN CAPITAL LETTER Z
-0x5B <LR>+0x005B # LEFT SQUARE BRACKET, left-right
-0x5C 0x005C # REVERSE SOLIDUS
-0x5D <LR>+0x005D # RIGHT SQUARE BRACKET, left-right
-0x5E 0x005E # CIRCUMFLEX ACCENT
-0x5F 0x005F # LOW LINE
-0x60 0x0060 # GRAVE ACCENT
-0x61 0x0061 # LATIN SMALL LETTER A
-0x62 0x0062 # LATIN SMALL LETTER B
-0x63 0x0063 # LATIN SMALL LETTER C
-0x64 0x0064 # LATIN SMALL LETTER D
-0x65 0x0065 # LATIN SMALL LETTER E
-0x66 0x0066 # LATIN SMALL LETTER F
-0x67 0x0067 # LATIN SMALL LETTER G
-0x68 0x0068 # LATIN SMALL LETTER H
-0x69 0x0069 # LATIN SMALL LETTER I
-0x6A 0x006A # LATIN SMALL LETTER J
-0x6B 0x006B # LATIN SMALL LETTER K
-0x6C 0x006C # LATIN SMALL LETTER L
-0x6D 0x006D # LATIN SMALL LETTER M
-0x6E 0x006E # LATIN SMALL LETTER N
-0x6F 0x006F # LATIN SMALL LETTER O
-0x70 0x0070 # LATIN SMALL LETTER P
-0x71 0x0071 # LATIN SMALL LETTER Q
-0x72 0x0072 # LATIN SMALL LETTER R
-0x73 0x0073 # LATIN SMALL LETTER S
-0x74 0x0074 # LATIN SMALL LETTER T
-0x75 0x0075 # LATIN SMALL LETTER U
-0x76 0x0076 # LATIN SMALL LETTER V
-0x77 0x0077 # LATIN SMALL LETTER W
-0x78 0x0078 # LATIN SMALL LETTER X
-0x79 0x0079 # LATIN SMALL LETTER Y
-0x7A 0x007A # LATIN SMALL LETTER Z
-0x7B <LR>+0x007B # LEFT CURLY BRACKET, left-right
-0x7C <LR>+0x007C # VERTICAL LINE, left-right
-0x7D <LR>+0x007D # RIGHT CURLY BRACKET, left-right
-0x7E 0x007E # TILDE
-#
-0x80 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
-0x81 0x05F2+0x05B7 # HEBREW LIGATURE YIDDISH YOD YOD PATAH
-0x82 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA
-0x83 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
-0x84 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE
-0x85 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
-0x86 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
-0x87 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
-0x88 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
-0x89 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
-0x8A 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
-0x8B 0x00E3 # LATIN SMALL LETTER A WITH TILDE
-0x8C 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE
-0x8D 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
-0x8E 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
-0x8F 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
-0x90 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0x91 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS
-0x92 0x00ED # LATIN SMALL LETTER I WITH ACUTE
-0x93 0x00EC # LATIN SMALL LETTER I WITH GRAVE
-0x94 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX
-0x95 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS
-0x96 0x00F1 # LATIN SMALL LETTER N WITH TILDE
-0x97 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
-0x98 0x00F2 # LATIN SMALL LETTER O WITH GRAVE
-0x99 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
-0x9A 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
-0x9B 0x00F5 # LATIN SMALL LETTER O WITH TILDE
-0x9C 0x00FA # LATIN SMALL LETTER U WITH ACUTE
-0x9D 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
-0x9E 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX
-0x9F 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
-0xA0 <RL>+0x0020 # SPACE, right-left
-0xA1 <RL>+0x0021 # EXCLAMATION MARK, right-left
-0xA2 <RL>+0x0022 # QUOTATION MARK, right-left
-0xA3 <RL>+0x0023 # NUMBER SIGN, right-left
-0xA4 <RL>+0x0024 # DOLLAR SIGN, right-left
-0xA5 <RL>+0x0025 # PERCENT SIGN, right-left
-0xA6 0x20AA # NEW SHEQEL SIGN
-0xA7 <RL>+0x0027 # APOSTROPHE, right-left
-0xA8 <RL>+0x0029 # RIGHT PARENTHESIS, right-left
-0xA9 <RL>+0x0028 # LEFT PARENTHESIS, right-left
-0xAA <RL>+0x002A # ASTERISK, right-left
-0xAB <RL>+0x002B # PLUS SIGN, right-left
-0xAC <RL>+0x002C # COMMA, right-left
-0xAD <RL>+0x002D # HYPHEN-MINUS, right-left
-0xAE <RL>+0x002E # FULL STOP, right-left
-0xAF <RL>+0x002F # SOLIDUS, right-left
-0xB0 <RL>+0x0030 # DIGIT ZERO, right-left (need override)
-0xB1 <RL>+0x0031 # DIGIT ONE, right-left (need override)
-0xB2 <RL>+0x0032 # DIGIT TWO, right-left (need override)
-0xB3 <RL>+0x0033 # DIGIT THREE, right-left (need override)
-0xB4 <RL>+0x0034 # DIGIT FOUR, right-left (need override)
-0xB5 <RL>+0x0035 # DIGIT FIVE, right-left (need override)
-0xB6 <RL>+0x0036 # DIGIT SIX, right-left (need override)
-0xB7 <RL>+0x0037 # DIGIT SEVEN, right-left (need override)
-0xB8 <RL>+0x0038 # DIGIT EIGHT, right-left (need override)
-0xB9 <RL>+0x0039 # DIGIT NINE, right-left (need override)
-0xBA <RL>+0x003A # COLON, right-left
-0xBB <RL>+0x003B # SEMICOLON, right-left
-0xBC <RL>+0x003C # LESS-THAN SIGN, right-left
-0xBD <RL>+0x003D # EQUALS SIGN, right-left
-0xBE <RL>+0x003E # GREATER-THAN SIGN, right-left
-0xBF <RL>+0x003F # QUESTION MARK, right-left
-0xC0 0xF86A+0x05DC+0x05B9 # Hebrew ligature lamed holam
-0xC1 <RL>+0x201E # DOUBLE LOW-9 QUOTATION MARK, right-left
-0xC2 0xF89B # Hebrew canoral 1
-0xC3 0xF89C # Hebrew canoral 2
-0xC4 0xF89D # Hebrew canoral 3
-0xC5 0xF89E # Hebrew canoral 4
-0xC6 0x05BC # HEBREW POINT DAGESH OR MAPIQ
-0xC7 0xFB4B # HEBREW LETTER VAV WITH HOLAM
-0xC8 0xFB35 # HEBREW LETTER VAV WITH DAGESH
-0xC9 <RL>+0x2026 # HORIZONTAL ELLIPSIS, right-left
-0xCA <RL>+0x00A0 # NO-BREAK SPACE, right-left
-0xCB 0x05B8 # HEBREW POINT QAMATS
-0xCC 0x05B7 # HEBREW POINT PATAH
-0xCD 0x05B5 # HEBREW POINT TSERE
-0xCE 0x05B6 # HEBREW POINT SEGOL
-0xCF 0x05B4 # HEBREW POINT HIRIQ
-0xD0 <RL>+0x2013 # EN DASH, right-left
-0xD1 <RL>+0x2014 # EM DASH, right-left
-0xD2 <RL>+0x201C # LEFT DOUBLE QUOTATION MARK, right-left
-0xD3 <RL>+0x201D # RIGHT DOUBLE QUOTATION MARK, right-left
-0xD4 <RL>+0x2018 # LEFT SINGLE QUOTATION MARK, right-left
-0xD5 <RL>+0x2019 # RIGHT SINGLE QUOTATION MARK, right-left
-0xD6 0xFB2A # HEBREW LETTER SHIN WITH SHIN DOT
-0xD7 0xFB2B # HEBREW LETTER SHIN WITH SIN DOT
-0xD8 0x05BF # HEBREW POINT RAFE
-0xD9 0x05B0 # HEBREW POINT SHEVA
-0xDA 0x05B2 # HEBREW POINT HATAF PATAH
-0xDB 0x05B1 # HEBREW POINT HATAF SEGOL
-0xDC 0x05BB # HEBREW POINT QUBUTS
-0xDD 0x05B9 # HEBREW POINT HOLAM
-0xDE 0x05B8+0xF87F # HEBREW POINT QAMATS, alternate form 'qamats qatan'
-0xDF 0x05B3 # HEBREW POINT HATAF QAMATS
-0xE0 0x05D0 # HEBREW LETTER ALEF
-0xE1 0x05D1 # HEBREW LETTER BET
-0xE2 0x05D2 # HEBREW LETTER GIMEL
-0xE3 0x05D3 # HEBREW LETTER DALET
-0xE4 0x05D4 # HEBREW LETTER HE
-0xE5 0x05D5 # HEBREW LETTER VAV
-0xE6 0x05D6 # HEBREW LETTER ZAYIN
-0xE7 0x05D7 # HEBREW LETTER HET
-0xE8 0x05D8 # HEBREW LETTER TET
-0xE9 0x05D9 # HEBREW LETTER YOD
-0xEA 0x05DA # HEBREW LETTER FINAL KAF
-0xEB 0x05DB # HEBREW LETTER KAF
-0xEC 0x05DC # HEBREW LETTER LAMED
-0xED 0x05DD # HEBREW LETTER FINAL MEM
-0xEE 0x05DE # HEBREW LETTER MEM
-0xEF 0x05DF # HEBREW LETTER FINAL NUN
-0xF0 0x05E0 # HEBREW LETTER NUN
-0xF1 0x05E1 # HEBREW LETTER SAMEKH
-0xF2 0x05E2 # HEBREW LETTER AYIN
-0xF3 0x05E3 # HEBREW LETTER FINAL PE
-0xF4 0x05E4 # HEBREW LETTER PE
-0xF5 0x05E5 # HEBREW LETTER FINAL TSADI
-0xF6 0x05E6 # HEBREW LETTER TSADI
-0xF7 0x05E7 # HEBREW LETTER QOF
-0xF8 0x05E8 # HEBREW LETTER RESH
-0xF9 0x05E9 # HEBREW LETTER SHIN
-0xFA 0x05EA # HEBREW LETTER TAV
-0xFB <RL>+0x007D # RIGHT CURLY BRACKET, right-left
-0xFC <RL>+0x005D # RIGHT SQUARE BRACKET, right-left
-0xFD <RL>+0x007B # LEFT CURLY BRACKET, right-left
-0xFE <RL>+0x005B # LEFT SQUARE BRACKET, right-left
-0xFF <RL>+0x007C # VERTICAL LINE, right-left
-
-"
-!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/HEBREW.TXT'
+0x20 <LR>+0x0020 # SPACE, left-right
+0x21 <LR>+0x0021 # EXCLAMATION MARK, left-right
+0x22 <LR>+0x0022 # QUOTATION MARK, left-right
+0x23 <LR>+0x0023 # NUMBER SIGN, left-right
+0x24 <LR>+0x0024 # DOLLAR SIGN, left-right
+0x25 <LR>+0x0025 # PERCENT SIGN, left-right
+0x26 0x0026 # AMPERSAND
+0x27 <LR>+0x0027 # APOSTROPHE, left-right
+0x28 <LR>+0x0028 # LEFT PARENTHESIS, left-right
+0x29 <LR>+0x0029 # RIGHT PARENTHESIS, left-right
+0x2A <LR>+0x002A # ASTERISK, left-right
+0x2B <LR>+0x002B # PLUS SIGN, left-right
+0x2C <LR>+0x002C # COMMA, left-right
+0x2D <LR>+0x002D # HYPHEN-MINUS, left-right
+0x2E <LR>+0x002E # FULL STOP, left-right
+0x2F <LR>+0x002F # SOLIDUS, left-right
+0x30 0x0030 # DIGIT ZERO
+0x31 0x0031 # DIGIT ONE
+0x32 0x0032 # DIGIT TWO
+0x33 0x0033 # DIGIT THREE
+0x34 0x0034 # DIGIT FOUR
+0x35 0x0035 # DIGIT FIVE
+0x36 0x0036 # DIGIT SIX
+0x37 0x0037 # DIGIT SEVEN
+0x38 0x0038 # DIGIT EIGHT
+0x39 0x0039 # DIGIT NINE
+0x3A <LR>+0x003A # COLON, left-right
+0x3B <LR>+0x003B # SEMICOLON, left-right
+0x3C <LR>+0x003C # LESS-THAN SIGN, left-right
+0x3D <LR>+0x003D # EQUALS SIGN, left-right
+0x3E <LR>+0x003E # GREATER-THAN SIGN, left-right
+0x3F <LR>+0x003F # QUESTION MARK, left-right
+0x40 0x0040 # COMMERCIAL AT
+0x41 0x0041 # LATIN CAPITAL LETTER A
+0x42 0x0042 # LATIN CAPITAL LETTER B
+0x43 0x0043 # LATIN CAPITAL LETTER C
+0x44 0x0044 # LATIN CAPITAL LETTER D
+0x45 0x0045 # LATIN CAPITAL LETTER E
+0x46 0x0046 # LATIN CAPITAL LETTER F
+0x47 0x0047 # LATIN CAPITAL LETTER G
+0x48 0x0048 # LATIN CAPITAL LETTER H
+0x49 0x0049 # LATIN CAPITAL LETTER I
+0x4A 0x004A # LATIN CAPITAL LETTER J
+0x4B 0x004B # LATIN CAPITAL LETTER K
+0x4C 0x004C # LATIN CAPITAL LETTER L
+0x4D 0x004D # LATIN CAPITAL LETTER M
+0x4E 0x004E # LATIN CAPITAL LETTER N
+0x4F 0x004F # LATIN CAPITAL LETTER O
+0x50 0x0050 # LATIN CAPITAL LETTER P
+0x51 0x0051 # LATIN CAPITAL LETTER Q
+0x52 0x0052 # LATIN CAPITAL LETTER R
+0x53 0x0053 # LATIN CAPITAL LETTER S
+0x54 0x0054 # LATIN CAPITAL LETTER T
+0x55 0x0055 # LATIN CAPITAL LETTER U
+0x56 0x0056 # LATIN CAPITAL LETTER V
+0x57 0x0057 # LATIN CAPITAL LETTER W
+0x58 0x0058 # LATIN CAPITAL LETTER X
+0x59 0x0059 # LATIN CAPITAL LETTER Y
+0x5A 0x005A # LATIN CAPITAL LETTER Z
+0x5B <LR>+0x005B # LEFT SQUARE BRACKET, left-right
+0x5C 0x005C # REVERSE SOLIDUS
+0x5D <LR>+0x005D # RIGHT SQUARE BRACKET, left-right
+0x5E 0x005E # CIRCUMFLEX ACCENT
+0x5F 0x005F # LOW LINE
+0x60 0x0060 # GRAVE ACCENT
+0x61 0x0061 # LATIN SMALL LETTER A
+0x62 0x0062 # LATIN SMALL LETTER B
+0x63 0x0063 # LATIN SMALL LETTER C
+0x64 0x0064 # LATIN SMALL LETTER D
+0x65 0x0065 # LATIN SMALL LETTER E
+0x66 0x0066 # LATIN SMALL LETTER F
+0x67 0x0067 # LATIN SMALL LETTER G
+0x68 0x0068 # LATIN SMALL LETTER H
+0x69 0x0069 # LATIN SMALL LETTER I
+0x6A 0x006A # LATIN SMALL LETTER J
+0x6B 0x006B # LATIN SMALL LETTER K
+0x6C 0x006C # LATIN SMALL LETTER L
+0x6D 0x006D # LATIN SMALL LETTER M
+0x6E 0x006E # LATIN SMALL LETTER N
+0x6F 0x006F # LATIN SMALL LETTER O
+0x70 0x0070 # LATIN SMALL LETTER P
+0x71 0x0071 # LATIN SMALL LETTER Q
+0x72 0x0072 # LATIN SMALL LETTER R
+0x73 0x0073 # LATIN SMALL LETTER S
+0x74 0x0074 # LATIN SMALL LETTER T
+0x75 0x0075 # LATIN SMALL LETTER U
+0x76 0x0076 # LATIN SMALL LETTER V
+0x77 0x0077 # LATIN SMALL LETTER W
+0x78 0x0078 # LATIN SMALL LETTER X
+0x79 0x0079 # LATIN SMALL LETTER Y
+0x7A 0x007A # LATIN SMALL LETTER Z
+0x7B <LR>+0x007B # LEFT CURLY BRACKET, left-right
+0x7C <LR>+0x007C # VERTICAL LINE, left-right
+0x7D <LR>+0x007D # RIGHT CURLY BRACKET, left-right
+0x7E 0x007E # TILDE
+#
+0x80 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
+0x81 0x05F2+0x05B7 # HEBREW LIGATURE YIDDISH YOD YOD PATAH
+0x82 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA
+0x83 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
+0x84 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE
+0x85 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
+0x86 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
+0x87 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
+0x88 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
+0x89 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x8A 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
+0x8B 0x00E3 # LATIN SMALL LETTER A WITH TILDE
+0x8C 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE
+0x8D 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
+0x8E 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
+0x8F 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
+0x90 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x91 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS
+0x92 0x00ED # LATIN SMALL LETTER I WITH ACUTE
+0x93 0x00EC # LATIN SMALL LETTER I WITH GRAVE
+0x94 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x95 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS
+0x96 0x00F1 # LATIN SMALL LETTER N WITH TILDE
+0x97 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
+0x98 0x00F2 # LATIN SMALL LETTER O WITH GRAVE
+0x99 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x9A 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
+0x9B 0x00F5 # LATIN SMALL LETTER O WITH TILDE
+0x9C 0x00FA # LATIN SMALL LETTER U WITH ACUTE
+0x9D 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
+0x9E 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX
+0x9F 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
+0xA0 <RL>+0x0020 # SPACE, right-left
+0xA1 <RL>+0x0021 # EXCLAMATION MARK, right-left
+0xA2 <RL>+0x0022 # QUOTATION MARK, right-left
+0xA3 <RL>+0x0023 # NUMBER SIGN, right-left
+0xA4 <RL>+0x0024 # DOLLAR SIGN, right-left
+0xA5 <RL>+0x0025 # PERCENT SIGN, right-left
+0xA6 0x20AA # NEW SHEQEL SIGN
+0xA7 <RL>+0x0027 # APOSTROPHE, right-left
+0xA8 <RL>+0x0029 # RIGHT PARENTHESIS, right-left
+0xA9 <RL>+0x0028 # LEFT PARENTHESIS, right-left
+0xAA <RL>+0x002A # ASTERISK, right-left
+0xAB <RL>+0x002B # PLUS SIGN, right-left
+0xAC <RL>+0x002C # COMMA, right-left
+0xAD <RL>+0x002D # HYPHEN-MINUS, right-left
+0xAE <RL>+0x002E # FULL STOP, right-left
+0xAF <RL>+0x002F # SOLIDUS, right-left
+0xB0 <RL>+0x0030 # DIGIT ZERO, right-left (need override)
+0xB1 <RL>+0x0031 # DIGIT ONE, right-left (need override)
+0xB2 <RL>+0x0032 # DIGIT TWO, right-left (need override)
+0xB3 <RL>+0x0033 # DIGIT THREE, right-left (need override)
+0xB4 <RL>+0x0034 # DIGIT FOUR, right-left (need override)
+0xB5 <RL>+0x0035 # DIGIT FIVE, right-left (need override)
+0xB6 <RL>+0x0036 # DIGIT SIX, right-left (need override)
+0xB7 <RL>+0x0037 # DIGIT SEVEN, right-left (need override)
+0xB8 <RL>+0x0038 # DIGIT EIGHT, right-left (need override)
+0xB9 <RL>+0x0039 # DIGIT NINE, right-left (need override)
+0xBA <RL>+0x003A # COLON, right-left
+0xBB <RL>+0x003B # SEMICOLON, right-left
+0xBC <RL>+0x003C # LESS-THAN SIGN, right-left
+0xBD <RL>+0x003D # EQUALS SIGN, right-left
+0xBE <RL>+0x003E # GREATER-THAN SIGN, right-left
+0xBF <RL>+0x003F # QUESTION MARK, right-left
+0xC0 0xF86A+0x05DC+0x05B9 # Hebrew ligature lamed holam
+0xC1 <RL>+0x201E # DOUBLE LOW-9 QUOTATION MARK, right-left
+0xC2 0xF89B # Hebrew canoral 1
+0xC3 0xF89C # Hebrew canoral 2
+0xC4 0xF89D # Hebrew canoral 3
+0xC5 0xF89E # Hebrew canoral 4
+0xC6 0x05BC # HEBREW POINT DAGESH OR MAPIQ
+0xC7 0xFB4B # HEBREW LETTER VAV WITH HOLAM
+0xC8 0xFB35 # HEBREW LETTER VAV WITH DAGESH
+0xC9 <RL>+0x2026 # HORIZONTAL ELLIPSIS, right-left
+0xCA <RL>+0x00A0 # NO-BREAK SPACE, right-left
+0xCB 0x05B8 # HEBREW POINT QAMATS
+0xCC 0x05B7 # HEBREW POINT PATAH
+0xCD 0x05B5 # HEBREW POINT TSERE
+0xCE 0x05B6 # HEBREW POINT SEGOL
+0xCF 0x05B4 # HEBREW POINT HIRIQ
+0xD0 <RL>+0x2013 # EN DASH, right-left
+0xD1 <RL>+0x2014 # EM DASH, right-left
+0xD2 <RL>+0x201C # LEFT DOUBLE QUOTATION MARK, right-left
+0xD3 <RL>+0x201D # RIGHT DOUBLE QUOTATION MARK, right-left
+0xD4 <RL>+0x2018 # LEFT SINGLE QUOTATION MARK, right-left
+0xD5 <RL>+0x2019 # RIGHT SINGLE QUOTATION MARK, right-left
+0xD6 0xFB2A # HEBREW LETTER SHIN WITH SHIN DOT
+0xD7 0xFB2B # HEBREW LETTER SHIN WITH SIN DOT
+0xD8 0x05BF # HEBREW POINT RAFE
+0xD9 0x05B0 # HEBREW POINT SHEVA
+0xDA 0x05B2 # HEBREW POINT HATAF PATAH
+0xDB 0x05B1 # HEBREW POINT HATAF SEGOL
+0xDC 0x05BB # HEBREW POINT QUBUTS
+0xDD 0x05B9 # HEBREW POINT HOLAM
+0xDE 0x05B8+0xF87F # HEBREW POINT QAMATS, alternate form 'qamats qatan'
+0xDF 0x05B3 # HEBREW POINT HATAF QAMATS
+0xE0 0x05D0 # HEBREW LETTER ALEF
+0xE1 0x05D1 # HEBREW LETTER BET
+0xE2 0x05D2 # HEBREW LETTER GIMEL
+0xE3 0x05D3 # HEBREW LETTER DALET
+0xE4 0x05D4 # HEBREW LETTER HE
+0xE5 0x05D5 # HEBREW LETTER VAV
+0xE6 0x05D6 # HEBREW LETTER ZAYIN
+0xE7 0x05D7 # HEBREW LETTER HET
+0xE8 0x05D8 # HEBREW LETTER TET
+0xE9 0x05D9 # HEBREW LETTER YOD
+0xEA 0x05DA # HEBREW LETTER FINAL KAF
+0xEB 0x05DB # HEBREW LETTER KAF
+0xEC 0x05DC # HEBREW LETTER LAMED
+0xED 0x05DD # HEBREW LETTER FINAL MEM
+0xEE 0x05DE # HEBREW LETTER MEM
+0xEF 0x05DF # HEBREW LETTER FINAL NUN
+0xF0 0x05E0 # HEBREW LETTER NUN
+0xF1 0x05E1 # HEBREW LETTER SAMEKH
+0xF2 0x05E2 # HEBREW LETTER AYIN
+0xF3 0x05E3 # HEBREW LETTER FINAL PE
+0xF4 0x05E4 # HEBREW LETTER PE
+0xF5 0x05E5 # HEBREW LETTER FINAL TSADI
+0xF6 0x05E6 # HEBREW LETTER TSADI
+0xF7 0x05E7 # HEBREW LETTER QOF
+0xF8 0x05E8 # HEBREW LETTER RESH
+0xF9 0x05E9 # HEBREW LETTER SHIN
+0xFA 0x05EA # HEBREW LETTER TAV
+0xFB <RL>+0x007D # RIGHT CURLY BRACKET, right-left
+0xFC <RL>+0x005D # RIGHT SQUARE BRACKET, right-left
+0xFD <RL>+0x007B # LEFT CURLY BRACKET, right-left
+0xFE <RL>+0x005B # LEFT SQUARE BRACKET, right-left
+0xFF <RL>+0x007C # VERTICAL LINE, right-left
+
+"
+!
+
+mappingURL1_relativePathName
+ ^ 'VENDORS/APPLE/HEBREW.TXT'
! !
!CharacterEncoder::MAC_Hebrew methodsFor:'encoding & decoding'!
@@ -12912,8 +29678,8 @@
code < 32 ifTrue:[ ^ code ].
code > 255 ifTrue:[
- self error:'invalid code'.
- ^ $? asciiValue
+ self error:'invalid code'.
+ ^ $? asciiValue
].
^ #(
"16r0020" 16rFFFF
@@ -13226,7 +29992,7 @@
#
# 1. General
#
-# Mac OS Icelandic is used for Icelandic and Faroese.
+# Mac OS Icelandic is used for Icelandic and Faroese.
#
# The Mac OS Icelandic encoding shares the script code smRoman
# (0) with the standard Mac OS Roman encoding. To determine if
@@ -13288,236 +30054,236 @@
#
##################
-0x20 0x0020 # SPACE
-0x21 0x0021 # EXCLAMATION MARK
-0x22 0x0022 # QUOTATION MARK
-0x23 0x0023 # NUMBER SIGN
-0x24 0x0024 # DOLLAR SIGN
-0x25 0x0025 # PERCENT SIGN
-0x26 0x0026 # AMPERSAND
-0x27 0x0027 # APOSTROPHE
-0x28 0x0028 # LEFT PARENTHESIS
-0x29 0x0029 # RIGHT PARENTHESIS
-0x2A 0x002A # ASTERISK
-0x2B 0x002B # PLUS SIGN
-0x2C 0x002C # COMMA
-0x2D 0x002D # HYPHEN-MINUS
-0x2E 0x002E # FULL STOP
-0x2F 0x002F # SOLIDUS
-0x30 0x0030 # DIGIT ZERO
-0x31 0x0031 # DIGIT ONE
-0x32 0x0032 # DIGIT TWO
-0x33 0x0033 # DIGIT THREE
-0x34 0x0034 # DIGIT FOUR
-0x35 0x0035 # DIGIT FIVE
-0x36 0x0036 # DIGIT SIX
-0x37 0x0037 # DIGIT SEVEN
-0x38 0x0038 # DIGIT EIGHT
-0x39 0x0039 # DIGIT NINE
-0x3A 0x003A # COLON
-0x3B 0x003B # SEMICOLON
-0x3C 0x003C # LESS-THAN SIGN
-0x3D 0x003D # EQUALS SIGN
-0x3E 0x003E # GREATER-THAN SIGN
-0x3F 0x003F # QUESTION MARK
-0x40 0x0040 # COMMERCIAL AT
-0x41 0x0041 # LATIN CAPITAL LETTER A
-0x42 0x0042 # LATIN CAPITAL LETTER B
-0x43 0x0043 # LATIN CAPITAL LETTER C
-0x44 0x0044 # LATIN CAPITAL LETTER D
-0x45 0x0045 # LATIN CAPITAL LETTER E
-0x46 0x0046 # LATIN CAPITAL LETTER F
-0x47 0x0047 # LATIN CAPITAL LETTER G
-0x48 0x0048 # LATIN CAPITAL LETTER H
-0x49 0x0049 # LATIN CAPITAL LETTER I
-0x4A 0x004A # LATIN CAPITAL LETTER J
-0x4B 0x004B # LATIN CAPITAL LETTER K
-0x4C 0x004C # LATIN CAPITAL LETTER L
-0x4D 0x004D # LATIN CAPITAL LETTER M
-0x4E 0x004E # LATIN CAPITAL LETTER N
-0x4F 0x004F # LATIN CAPITAL LETTER O
-0x50 0x0050 # LATIN CAPITAL LETTER P
-0x51 0x0051 # LATIN CAPITAL LETTER Q
-0x52 0x0052 # LATIN CAPITAL LETTER R
-0x53 0x0053 # LATIN CAPITAL LETTER S
-0x54 0x0054 # LATIN CAPITAL LETTER T
-0x55 0x0055 # LATIN CAPITAL LETTER U
-0x56 0x0056 # LATIN CAPITAL LETTER V
-0x57 0x0057 # LATIN CAPITAL LETTER W
-0x58 0x0058 # LATIN CAPITAL LETTER X
-0x59 0x0059 # LATIN CAPITAL LETTER Y
-0x5A 0x005A # LATIN CAPITAL LETTER Z
-0x5B 0x005B # LEFT SQUARE BRACKET
-0x5C 0x005C # REVERSE SOLIDUS
-0x5D 0x005D # RIGHT SQUARE BRACKET
-0x5E 0x005E # CIRCUMFLEX ACCENT
-0x5F 0x005F # LOW LINE
-0x60 0x0060 # GRAVE ACCENT
-0x61 0x0061 # LATIN SMALL LETTER A
-0x62 0x0062 # LATIN SMALL LETTER B
-0x63 0x0063 # LATIN SMALL LETTER C
-0x64 0x0064 # LATIN SMALL LETTER D
-0x65 0x0065 # LATIN SMALL LETTER E
-0x66 0x0066 # LATIN SMALL LETTER F
-0x67 0x0067 # LATIN SMALL LETTER G
-0x68 0x0068 # LATIN SMALL LETTER H
-0x69 0x0069 # LATIN SMALL LETTER I
-0x6A 0x006A # LATIN SMALL LETTER J
-0x6B 0x006B # LATIN SMALL LETTER K
-0x6C 0x006C # LATIN SMALL LETTER L
-0x6D 0x006D # LATIN SMALL LETTER M
-0x6E 0x006E # LATIN SMALL LETTER N
-0x6F 0x006F # LATIN SMALL LETTER O
-0x70 0x0070 # LATIN SMALL LETTER P
-0x71 0x0071 # LATIN SMALL LETTER Q
-0x72 0x0072 # LATIN SMALL LETTER R
-0x73 0x0073 # LATIN SMALL LETTER S
-0x74 0x0074 # LATIN SMALL LETTER T
-0x75 0x0075 # LATIN SMALL LETTER U
-0x76 0x0076 # LATIN SMALL LETTER V
-0x77 0x0077 # LATIN SMALL LETTER W
-0x78 0x0078 # LATIN SMALL LETTER X
-0x79 0x0079 # LATIN SMALL LETTER Y
-0x7A 0x007A # LATIN SMALL LETTER Z
-0x7B 0x007B # LEFT CURLY BRACKET
-0x7C 0x007C # VERTICAL LINE
-0x7D 0x007D # RIGHT CURLY BRACKET
-0x7E 0x007E # TILDE
-#
-0x80 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
-0x81 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE
-0x82 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA
-0x83 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
-0x84 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE
-0x85 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
-0x86 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
-0x87 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
-0x88 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
-0x89 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
-0x8A 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
-0x8B 0x00E3 # LATIN SMALL LETTER A WITH TILDE
-0x8C 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE
-0x8D 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
-0x8E 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
-0x8F 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
-0x90 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0x91 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS
-0x92 0x00ED # LATIN SMALL LETTER I WITH ACUTE
-0x93 0x00EC # LATIN SMALL LETTER I WITH GRAVE
-0x94 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX
-0x95 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS
-0x96 0x00F1 # LATIN SMALL LETTER N WITH TILDE
-0x97 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
-0x98 0x00F2 # LATIN SMALL LETTER O WITH GRAVE
-0x99 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
-0x9A 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
-0x9B 0x00F5 # LATIN SMALL LETTER O WITH TILDE
-0x9C 0x00FA # LATIN SMALL LETTER U WITH ACUTE
-0x9D 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
-0x9E 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX
-0x9F 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
-0xA0 0x00DD # LATIN CAPITAL LETTER Y WITH ACUTE
-0xA1 0x00B0 # DEGREE SIGN
-0xA2 0x00A2 # CENT SIGN
-0xA3 0x00A3 # POUND SIGN
-0xA4 0x00A7 # SECTION SIGN
-0xA5 0x2022 # BULLET
-0xA6 0x00B6 # PILCROW SIGN
-0xA7 0x00DF # LATIN SMALL LETTER SHARP S
-0xA8 0x00AE # REGISTERED SIGN
-0xA9 0x00A9 # COPYRIGHT SIGN
-0xAA 0x2122 # TRADE MARK SIGN
-0xAB 0x00B4 # ACUTE ACCENT
-0xAC 0x00A8 # DIAERESIS
-0xAD 0x2260 # NOT EQUAL TO
-0xAE 0x00C6 # LATIN CAPITAL LETTER AE
-0xAF 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE
-0xB0 0x221E # INFINITY
-0xB1 0x00B1 # PLUS-MINUS SIGN
-0xB2 0x2264 # LESS-THAN OR EQUAL TO
-0xB3 0x2265 # GREATER-THAN OR EQUAL TO
-0xB4 0x00A5 # YEN SIGN
-0xB5 0x00B5 # MICRO SIGN
-0xB6 0x2202 # PARTIAL DIFFERENTIAL
-0xB7 0x2211 # N-ARY SUMMATION
-0xB8 0x220F # N-ARY PRODUCT
-0xB9 0x03C0 # GREEK SMALL LETTER PI
-0xBA 0x222B # INTEGRAL
-0xBB 0x00AA # FEMININE ORDINAL INDICATOR
-0xBC 0x00BA # MASCULINE ORDINAL INDICATOR
-0xBD 0x03A9 # GREEK CAPITAL LETTER OMEGA
-0xBE 0x00E6 # LATIN SMALL LETTER AE
-0xBF 0x00F8 # LATIN SMALL LETTER O WITH STROKE
-0xC0 0x00BF # INVERTED QUESTION MARK
-0xC1 0x00A1 # INVERTED EXCLAMATION MARK
-0xC2 0x00AC # NOT SIGN
-0xC3 0x221A # SQUARE ROOT
-0xC4 0x0192 # LATIN SMALL LETTER F WITH HOOK
-0xC5 0x2248 # ALMOST EQUAL TO
-0xC6 0x2206 # INCREMENT
-0xC7 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-0xC8 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-0xC9 0x2026 # HORIZONTAL ELLIPSIS
-0xCA 0x00A0 # NO-BREAK SPACE
-0xCB 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE
-0xCC 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE
-0xCD 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE
-0xCE 0x0152 # LATIN CAPITAL LIGATURE OE
-0xCF 0x0153 # LATIN SMALL LIGATURE OE
-0xD0 0x2013 # EN DASH
-0xD1 0x2014 # EM DASH
-0xD2 0x201C # LEFT DOUBLE QUOTATION MARK
-0xD3 0x201D # RIGHT DOUBLE QUOTATION MARK
-0xD4 0x2018 # LEFT SINGLE QUOTATION MARK
-0xD5 0x2019 # RIGHT SINGLE QUOTATION MARK
-0xD6 0x00F7 # DIVISION SIGN
-0xD7 0x25CA # LOZENGE
-0xD8 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS
-0xD9 0x0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS
-0xDA 0x2044 # FRACTION SLASH
-0xDB 0x20AC # EURO SIGN
-0xDC 0x00D0 # LATIN CAPITAL LETTER ETH
-0xDD 0x00F0 # LATIN SMALL LETTER ETH
-0xDE 0x00DE # LATIN CAPITAL LETTER THORN
-0xDF 0x00FE # LATIN SMALL LETTER THORN
-0xE0 0x00FD # LATIN SMALL LETTER Y WITH ACUTE
-0xE1 0x00B7 # MIDDLE DOT
-0xE2 0x201A # SINGLE LOW-9 QUOTATION MARK
-0xE3 0x201E # DOUBLE LOW-9 QUOTATION MARK
-0xE4 0x2030 # PER MILLE SIGN
-0xE5 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-0xE6 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0xE7 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE
-0xE8 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS
-0xE9 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE
-0xEA 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE
-0xEB 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-0xEC 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS
-0xED 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE
-0xEE 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE
-0xEF 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-0xF0 0xF8FF # Apple logo
-0xF1 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE
-0xF2 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE
-0xF3 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
-0xF4 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE
-0xF5 0x0131 # LATIN SMALL LETTER DOTLESS I
-0xF6 0x02C6 # MODIFIER LETTER CIRCUMFLEX ACCENT
-0xF7 0x02DC # SMALL TILDE
-0xF8 0x00AF # MACRON
-0xF9 0x02D8 # BREVE
-0xFA 0x02D9 # DOT ABOVE
-0xFB 0x02DA # RING ABOVE
-0xFC 0x00B8 # CEDILLA
-0xFD 0x02DD # DOUBLE ACUTE ACCENT
-0xFE 0x02DB # OGONEK
-0xFF 0x02C7 # CARON
-
-"
-!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/ICELAND.TXT'
+0x20 0x0020 # SPACE
+0x21 0x0021 # EXCLAMATION MARK
+0x22 0x0022 # QUOTATION MARK
+0x23 0x0023 # NUMBER SIGN
+0x24 0x0024 # DOLLAR SIGN
+0x25 0x0025 # PERCENT SIGN
+0x26 0x0026 # AMPERSAND
+0x27 0x0027 # APOSTROPHE
+0x28 0x0028 # LEFT PARENTHESIS
+0x29 0x0029 # RIGHT PARENTHESIS
+0x2A 0x002A # ASTERISK
+0x2B 0x002B # PLUS SIGN
+0x2C 0x002C # COMMA
+0x2D 0x002D # HYPHEN-MINUS
+0x2E 0x002E # FULL STOP
+0x2F 0x002F # SOLIDUS
+0x30 0x0030 # DIGIT ZERO
+0x31 0x0031 # DIGIT ONE
+0x32 0x0032 # DIGIT TWO
+0x33 0x0033 # DIGIT THREE
+0x34 0x0034 # DIGIT FOUR
+0x35 0x0035 # DIGIT FIVE
+0x36 0x0036 # DIGIT SIX
+0x37 0x0037 # DIGIT SEVEN
+0x38 0x0038 # DIGIT EIGHT
+0x39 0x0039 # DIGIT NINE
+0x3A 0x003A # COLON
+0x3B 0x003B # SEMICOLON
+0x3C 0x003C # LESS-THAN SIGN
+0x3D 0x003D # EQUALS SIGN
+0x3E 0x003E # GREATER-THAN SIGN
+0x3F 0x003F # QUESTION MARK
+0x40 0x0040 # COMMERCIAL AT
+0x41 0x0041 # LATIN CAPITAL LETTER A
+0x42 0x0042 # LATIN CAPITAL LETTER B
+0x43 0x0043 # LATIN CAPITAL LETTER C
+0x44 0x0044 # LATIN CAPITAL LETTER D
+0x45 0x0045 # LATIN CAPITAL LETTER E
+0x46 0x0046 # LATIN CAPITAL LETTER F
+0x47 0x0047 # LATIN CAPITAL LETTER G
+0x48 0x0048 # LATIN CAPITAL LETTER H
+0x49 0x0049 # LATIN CAPITAL LETTER I
+0x4A 0x004A # LATIN CAPITAL LETTER J
+0x4B 0x004B # LATIN CAPITAL LETTER K
+0x4C 0x004C # LATIN CAPITAL LETTER L
+0x4D 0x004D # LATIN CAPITAL LETTER M
+0x4E 0x004E # LATIN CAPITAL LETTER N
+0x4F 0x004F # LATIN CAPITAL LETTER O
+0x50 0x0050 # LATIN CAPITAL LETTER P
+0x51 0x0051 # LATIN CAPITAL LETTER Q
+0x52 0x0052 # LATIN CAPITAL LETTER R
+0x53 0x0053 # LATIN CAPITAL LETTER S
+0x54 0x0054 # LATIN CAPITAL LETTER T
+0x55 0x0055 # LATIN CAPITAL LETTER U
+0x56 0x0056 # LATIN CAPITAL LETTER V
+0x57 0x0057 # LATIN CAPITAL LETTER W
+0x58 0x0058 # LATIN CAPITAL LETTER X
+0x59 0x0059 # LATIN CAPITAL LETTER Y
+0x5A 0x005A # LATIN CAPITAL LETTER Z
+0x5B 0x005B # LEFT SQUARE BRACKET
+0x5C 0x005C # REVERSE SOLIDUS
+0x5D 0x005D # RIGHT SQUARE BRACKET
+0x5E 0x005E # CIRCUMFLEX ACCENT
+0x5F 0x005F # LOW LINE
+0x60 0x0060 # GRAVE ACCENT
+0x61 0x0061 # LATIN SMALL LETTER A
+0x62 0x0062 # LATIN SMALL LETTER B
+0x63 0x0063 # LATIN SMALL LETTER C
+0x64 0x0064 # LATIN SMALL LETTER D
+0x65 0x0065 # LATIN SMALL LETTER E
+0x66 0x0066 # LATIN SMALL LETTER F
+0x67 0x0067 # LATIN SMALL LETTER G
+0x68 0x0068 # LATIN SMALL LETTER H
+0x69 0x0069 # LATIN SMALL LETTER I
+0x6A 0x006A # LATIN SMALL LETTER J
+0x6B 0x006B # LATIN SMALL LETTER K
+0x6C 0x006C # LATIN SMALL LETTER L
+0x6D 0x006D # LATIN SMALL LETTER M
+0x6E 0x006E # LATIN SMALL LETTER N
+0x6F 0x006F # LATIN SMALL LETTER O
+0x70 0x0070 # LATIN SMALL LETTER P
+0x71 0x0071 # LATIN SMALL LETTER Q
+0x72 0x0072 # LATIN SMALL LETTER R
+0x73 0x0073 # LATIN SMALL LETTER S
+0x74 0x0074 # LATIN SMALL LETTER T
+0x75 0x0075 # LATIN SMALL LETTER U
+0x76 0x0076 # LATIN SMALL LETTER V
+0x77 0x0077 # LATIN SMALL LETTER W
+0x78 0x0078 # LATIN SMALL LETTER X
+0x79 0x0079 # LATIN SMALL LETTER Y
+0x7A 0x007A # LATIN SMALL LETTER Z
+0x7B 0x007B # LEFT CURLY BRACKET
+0x7C 0x007C # VERTICAL LINE
+0x7D 0x007D # RIGHT CURLY BRACKET
+0x7E 0x007E # TILDE
+#
+0x80 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
+0x81 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE
+0x82 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA
+0x83 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
+0x84 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE
+0x85 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
+0x86 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
+0x87 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
+0x88 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
+0x89 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x8A 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
+0x8B 0x00E3 # LATIN SMALL LETTER A WITH TILDE
+0x8C 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE
+0x8D 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
+0x8E 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
+0x8F 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
+0x90 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x91 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS
+0x92 0x00ED # LATIN SMALL LETTER I WITH ACUTE
+0x93 0x00EC # LATIN SMALL LETTER I WITH GRAVE
+0x94 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x95 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS
+0x96 0x00F1 # LATIN SMALL LETTER N WITH TILDE
+0x97 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
+0x98 0x00F2 # LATIN SMALL LETTER O WITH GRAVE
+0x99 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x9A 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
+0x9B 0x00F5 # LATIN SMALL LETTER O WITH TILDE
+0x9C 0x00FA # LATIN SMALL LETTER U WITH ACUTE
+0x9D 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
+0x9E 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX
+0x9F 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
+0xA0 0x00DD # LATIN CAPITAL LETTER Y WITH ACUTE
+0xA1 0x00B0 # DEGREE SIGN
+0xA2 0x00A2 # CENT SIGN
+0xA3 0x00A3 # POUND SIGN
+0xA4 0x00A7 # SECTION SIGN
+0xA5 0x2022 # BULLET
+0xA6 0x00B6 # PILCROW SIGN
+0xA7 0x00DF # LATIN SMALL LETTER SHARP S
+0xA8 0x00AE # REGISTERED SIGN
+0xA9 0x00A9 # COPYRIGHT SIGN
+0xAA 0x2122 # TRADE MARK SIGN
+0xAB 0x00B4 # ACUTE ACCENT
+0xAC 0x00A8 # DIAERESIS
+0xAD 0x2260 # NOT EQUAL TO
+0xAE 0x00C6 # LATIN CAPITAL LETTER AE
+0xAF 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE
+0xB0 0x221E # INFINITY
+0xB1 0x00B1 # PLUS-MINUS SIGN
+0xB2 0x2264 # LESS-THAN OR EQUAL TO
+0xB3 0x2265 # GREATER-THAN OR EQUAL TO
+0xB4 0x00A5 # YEN SIGN
+0xB5 0x00B5 # MICRO SIGN
+0xB6 0x2202 # PARTIAL DIFFERENTIAL
+0xB7 0x2211 # N-ARY SUMMATION
+0xB8 0x220F # N-ARY PRODUCT
+0xB9 0x03C0 # GREEK SMALL LETTER PI
+0xBA 0x222B # INTEGRAL
+0xBB 0x00AA # FEMININE ORDINAL INDICATOR
+0xBC 0x00BA # MASCULINE ORDINAL INDICATOR
+0xBD 0x03A9 # GREEK CAPITAL LETTER OMEGA
+0xBE 0x00E6 # LATIN SMALL LETTER AE
+0xBF 0x00F8 # LATIN SMALL LETTER O WITH STROKE
+0xC0 0x00BF # INVERTED QUESTION MARK
+0xC1 0x00A1 # INVERTED EXCLAMATION MARK
+0xC2 0x00AC # NOT SIGN
+0xC3 0x221A # SQUARE ROOT
+0xC4 0x0192 # LATIN SMALL LETTER F WITH HOOK
+0xC5 0x2248 # ALMOST EQUAL TO
+0xC6 0x2206 # INCREMENT
+0xC7 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC8 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC9 0x2026 # HORIZONTAL ELLIPSIS
+0xCA 0x00A0 # NO-BREAK SPACE
+0xCB 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE
+0xCC 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE
+0xCD 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE
+0xCE 0x0152 # LATIN CAPITAL LIGATURE OE
+0xCF 0x0153 # LATIN SMALL LIGATURE OE
+0xD0 0x2013 # EN DASH
+0xD1 0x2014 # EM DASH
+0xD2 0x201C # LEFT DOUBLE QUOTATION MARK
+0xD3 0x201D # RIGHT DOUBLE QUOTATION MARK
+0xD4 0x2018 # LEFT SINGLE QUOTATION MARK
+0xD5 0x2019 # RIGHT SINGLE QUOTATION MARK
+0xD6 0x00F7 # DIVISION SIGN
+0xD7 0x25CA # LOZENGE
+0xD8 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS
+0xD9 0x0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS
+0xDA 0x2044 # FRACTION SLASH
+0xDB 0x20AC # EURO SIGN
+0xDC 0x00D0 # LATIN CAPITAL LETTER ETH
+0xDD 0x00F0 # LATIN SMALL LETTER ETH
+0xDE 0x00DE # LATIN CAPITAL LETTER THORN
+0xDF 0x00FE # LATIN SMALL LETTER THORN
+0xE0 0x00FD # LATIN SMALL LETTER Y WITH ACUTE
+0xE1 0x00B7 # MIDDLE DOT
+0xE2 0x201A # SINGLE LOW-9 QUOTATION MARK
+0xE3 0x201E # DOUBLE LOW-9 QUOTATION MARK
+0xE4 0x2030 # PER MILLE SIGN
+0xE5 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xE6 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xE7 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE
+0xE8 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS
+0xE9 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE
+0xEA 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE
+0xEB 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xEC 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS
+0xED 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE
+0xEE 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE
+0xEF 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xF0 0xF8FF # Apple logo
+0xF1 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE
+0xF2 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE
+0xF3 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xF4 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE
+0xF5 0x0131 # LATIN SMALL LETTER DOTLESS I
+0xF6 0x02C6 # MODIFIER LETTER CIRCUMFLEX ACCENT
+0xF7 0x02DC # SMALL TILDE
+0xF8 0x00AF # MACRON
+0xF9 0x02D8 # BREVE
+0xFA 0x02D9 # DOT ABOVE
+0xFB 0x02DA # RING ABOVE
+0xFC 0x00B8 # CEDILLA
+0xFD 0x02DD # DOUBLE ACUTE ACCENT
+0xFE 0x02DB # OGONEK
+0xFF 0x02C7 # CARON
+
+"
+!
+
+mappingURL1_relativePathName
+ ^ 'VENDORS/APPLE/ICELAND.TXT'
! !
!CharacterEncoder::MAC_Iceland methodsFor:'encoding & decoding'!
@@ -13527,8 +30293,8 @@
code < 127 ifTrue:[ ^ code ].
code > 255 ifTrue:[
- self error:'invalid code'.
- ^ $? asciiValue
+ self error:'invalid code'.
+ ^ $? asciiValue
].
^ #(
"16r007F" 16rFFFF " invalid "
@@ -13665,14 +30431,14 @@
!CharacterEncoder::MAC_Japanese class methodsFor:'mapping'!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/JAPANESE.TXT'
+mappingURL1_relativePathName
+ ^ 'VENDORS/APPLE/JAPANESE.TXT'
! !
!CharacterEncoder::MAC_Korean class methodsFor:'mapping'!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/KOREAN.TXT'
+mappingURL1_relativePathName
+ ^ 'VENDORS/APPLE/KOREAN.TXT'
! !
!CharacterEncoder::MAC_Roman class methodsFor:'mapping'!
@@ -14047,8 +30813,8 @@
"
!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/ROMAN.TXT'
+mappingURL1_relativePathName
+ ^ 'VENDORS/APPLE/ROMAN.TXT'
! !
!CharacterEncoder::MAC_Roman methodsFor:'encoding & decoding'!
@@ -14281,7 +31047,7 @@
# Notes on Mac OS Romanian:
# -------------------------
#
-# Mac OS Romanian is used only for Romanian.
+# Mac OS Romanian is used only for Romanian.
#
# The Mac OS Romanian encoding shares the script code smRoman
# (0) with the standard Mac OS Roman encoding. To determine if
@@ -14336,236 +31102,236 @@
#
##################
-0x20 0x0020 # SPACE
-0x21 0x0021 # EXCLAMATION MARK
-0x22 0x0022 # QUOTATION MARK
-0x23 0x0023 # NUMBER SIGN
-0x24 0x0024 # DOLLAR SIGN
-0x25 0x0025 # PERCENT SIGN
-0x26 0x0026 # AMPERSAND
-0x27 0x0027 # APOSTROPHE
-0x28 0x0028 # LEFT PARENTHESIS
-0x29 0x0029 # RIGHT PARENTHESIS
-0x2A 0x002A # ASTERISK
-0x2B 0x002B # PLUS SIGN
-0x2C 0x002C # COMMA
-0x2D 0x002D # HYPHEN-MINUS
-0x2E 0x002E # FULL STOP
-0x2F 0x002F # SOLIDUS
-0x30 0x0030 # DIGIT ZERO
-0x31 0x0031 # DIGIT ONE
-0x32 0x0032 # DIGIT TWO
-0x33 0x0033 # DIGIT THREE
-0x34 0x0034 # DIGIT FOUR
-0x35 0x0035 # DIGIT FIVE
-0x36 0x0036 # DIGIT SIX
-0x37 0x0037 # DIGIT SEVEN
-0x38 0x0038 # DIGIT EIGHT
-0x39 0x0039 # DIGIT NINE
-0x3A 0x003A # COLON
-0x3B 0x003B # SEMICOLON
-0x3C 0x003C # LESS-THAN SIGN
-0x3D 0x003D # EQUALS SIGN
-0x3E 0x003E # GREATER-THAN SIGN
-0x3F 0x003F # QUESTION MARK
-0x40 0x0040 # COMMERCIAL AT
-0x41 0x0041 # LATIN CAPITAL LETTER A
-0x42 0x0042 # LATIN CAPITAL LETTER B
-0x43 0x0043 # LATIN CAPITAL LETTER C
-0x44 0x0044 # LATIN CAPITAL LETTER D
-0x45 0x0045 # LATIN CAPITAL LETTER E
-0x46 0x0046 # LATIN CAPITAL LETTER F
-0x47 0x0047 # LATIN CAPITAL LETTER G
-0x48 0x0048 # LATIN CAPITAL LETTER H
-0x49 0x0049 # LATIN CAPITAL LETTER I
-0x4A 0x004A # LATIN CAPITAL LETTER J
-0x4B 0x004B # LATIN CAPITAL LETTER K
-0x4C 0x004C # LATIN CAPITAL LETTER L
-0x4D 0x004D # LATIN CAPITAL LETTER M
-0x4E 0x004E # LATIN CAPITAL LETTER N
-0x4F 0x004F # LATIN CAPITAL LETTER O
-0x50 0x0050 # LATIN CAPITAL LETTER P
-0x51 0x0051 # LATIN CAPITAL LETTER Q
-0x52 0x0052 # LATIN CAPITAL LETTER R
-0x53 0x0053 # LATIN CAPITAL LETTER S
-0x54 0x0054 # LATIN CAPITAL LETTER T
-0x55 0x0055 # LATIN CAPITAL LETTER U
-0x56 0x0056 # LATIN CAPITAL LETTER V
-0x57 0x0057 # LATIN CAPITAL LETTER W
-0x58 0x0058 # LATIN CAPITAL LETTER X
-0x59 0x0059 # LATIN CAPITAL LETTER Y
-0x5A 0x005A # LATIN CAPITAL LETTER Z
-0x5B 0x005B # LEFT SQUARE BRACKET
-0x5C 0x005C # REVERSE SOLIDUS
-0x5D 0x005D # RIGHT SQUARE BRACKET
-0x5E 0x005E # CIRCUMFLEX ACCENT
-0x5F 0x005F # LOW LINE
-0x60 0x0060 # GRAVE ACCENT
-0x61 0x0061 # LATIN SMALL LETTER A
-0x62 0x0062 # LATIN SMALL LETTER B
-0x63 0x0063 # LATIN SMALL LETTER C
-0x64 0x0064 # LATIN SMALL LETTER D
-0x65 0x0065 # LATIN SMALL LETTER E
-0x66 0x0066 # LATIN SMALL LETTER F
-0x67 0x0067 # LATIN SMALL LETTER G
-0x68 0x0068 # LATIN SMALL LETTER H
-0x69 0x0069 # LATIN SMALL LETTER I
-0x6A 0x006A # LATIN SMALL LETTER J
-0x6B 0x006B # LATIN SMALL LETTER K
-0x6C 0x006C # LATIN SMALL LETTER L
-0x6D 0x006D # LATIN SMALL LETTER M
-0x6E 0x006E # LATIN SMALL LETTER N
-0x6F 0x006F # LATIN SMALL LETTER O
-0x70 0x0070 # LATIN SMALL LETTER P
-0x71 0x0071 # LATIN SMALL LETTER Q
-0x72 0x0072 # LATIN SMALL LETTER R
-0x73 0x0073 # LATIN SMALL LETTER S
-0x74 0x0074 # LATIN SMALL LETTER T
-0x75 0x0075 # LATIN SMALL LETTER U
-0x76 0x0076 # LATIN SMALL LETTER V
-0x77 0x0077 # LATIN SMALL LETTER W
-0x78 0x0078 # LATIN SMALL LETTER X
-0x79 0x0079 # LATIN SMALL LETTER Y
-0x7A 0x007A # LATIN SMALL LETTER Z
-0x7B 0x007B # LEFT CURLY BRACKET
-0x7C 0x007C # VERTICAL LINE
-0x7D 0x007D # RIGHT CURLY BRACKET
-0x7E 0x007E # TILDE
-#
-0x80 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
-0x81 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE
-0x82 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA
-0x83 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
-0x84 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE
-0x85 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
-0x86 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
-0x87 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
-0x88 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
-0x89 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
-0x8A 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
-0x8B 0x00E3 # LATIN SMALL LETTER A WITH TILDE
-0x8C 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE
-0x8D 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
-0x8E 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
-0x8F 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
-0x90 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0x91 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS
-0x92 0x00ED # LATIN SMALL LETTER I WITH ACUTE
-0x93 0x00EC # LATIN SMALL LETTER I WITH GRAVE
-0x94 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX
-0x95 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS
-0x96 0x00F1 # LATIN SMALL LETTER N WITH TILDE
-0x97 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
-0x98 0x00F2 # LATIN SMALL LETTER O WITH GRAVE
-0x99 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
-0x9A 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
-0x9B 0x00F5 # LATIN SMALL LETTER O WITH TILDE
-0x9C 0x00FA # LATIN SMALL LETTER U WITH ACUTE
-0x9D 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
-0x9E 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX
-0x9F 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
-0xA0 0x2020 # DAGGER
-0xA1 0x00B0 # DEGREE SIGN
-0xA2 0x00A2 # CENT SIGN
-0xA3 0x00A3 # POUND SIGN
-0xA4 0x00A7 # SECTION SIGN
-0xA5 0x2022 # BULLET
-0xA6 0x00B6 # PILCROW SIGN
-0xA7 0x00DF # LATIN SMALL LETTER SHARP S
-0xA8 0x00AE # REGISTERED SIGN
-0xA9 0x00A9 # COPYRIGHT SIGN
-0xAA 0x2122 # TRADE MARK SIGN
-0xAB 0x00B4 # ACUTE ACCENT
-0xAC 0x00A8 # DIAERESIS
-0xAD 0x2260 # NOT EQUAL TO
-0xAE 0x0102 # LATIN CAPITAL LETTER A WITH BREVE
-0xAF 0x0218 # LATIN CAPITAL LETTER S WITH COMMA BELOW # for Unicode 3.0 and later
-0xB0 0x221E # INFINITY
-0xB1 0x00B1 # PLUS-MINUS SIGN
-0xB2 0x2264 # LESS-THAN OR EQUAL TO
-0xB3 0x2265 # GREATER-THAN OR EQUAL TO
-0xB4 0x00A5 # YEN SIGN
-0xB5 0x00B5 # MICRO SIGN
-0xB6 0x2202 # PARTIAL DIFFERENTIAL
-0xB7 0x2211 # N-ARY SUMMATION
-0xB8 0x220F # N-ARY PRODUCT
-0xB9 0x03C0 # GREEK SMALL LETTER PI
-0xBA 0x222B # INTEGRAL
-0xBB 0x00AA # FEMININE ORDINAL INDICATOR
-0xBC 0x00BA # MASCULINE ORDINAL INDICATOR
-0xBD 0x03A9 # GREEK CAPITAL LETTER OMEGA
-0xBE 0x0103 # LATIN SMALL LETTER A WITH BREVE
-0xBF 0x0219 # LATIN SMALL LETTER S WITH COMMA BELOW # for Unicode 3.0 and later
-0xC0 0x00BF # INVERTED QUESTION MARK
-0xC1 0x00A1 # INVERTED EXCLAMATION MARK
-0xC2 0x00AC # NOT SIGN
-0xC3 0x221A # SQUARE ROOT
-0xC4 0x0192 # LATIN SMALL LETTER F WITH HOOK
-0xC5 0x2248 # ALMOST EQUAL TO
-0xC6 0x2206 # INCREMENT
-0xC7 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-0xC8 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-0xC9 0x2026 # HORIZONTAL ELLIPSIS
-0xCA 0x00A0 # NO-BREAK SPACE
-0xCB 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE
-0xCC 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE
-0xCD 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE
-0xCE 0x0152 # LATIN CAPITAL LIGATURE OE
-0xCF 0x0153 # LATIN SMALL LIGATURE OE
-0xD0 0x2013 # EN DASH
-0xD1 0x2014 # EM DASH
-0xD2 0x201C # LEFT DOUBLE QUOTATION MARK
-0xD3 0x201D # RIGHT DOUBLE QUOTATION MARK
-0xD4 0x2018 # LEFT SINGLE QUOTATION MARK
-0xD5 0x2019 # RIGHT SINGLE QUOTATION MARK
-0xD6 0x00F7 # DIVISION SIGN
-0xD7 0x25CA # LOZENGE
-0xD8 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS
-0xD9 0x0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS
-0xDA 0x2044 # FRACTION SLASH
-0xDB 0x20AC # EURO SIGN
-0xDC 0x2039 # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-0xDD 0x203A # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-0xDE 0x021A # LATIN CAPITAL LETTER T WITH COMMA BELOW # for Unicode 3.0 and later
-0xDF 0x021B # LATIN SMALL LETTER T WITH COMMA BELOW; # for Unicode 3.0 and later
-0xE0 0x2021 # DOUBLE DAGGER
-0xE1 0x00B7 # MIDDLE DOT
-0xE2 0x201A # SINGLE LOW-9 QUOTATION MARK
-0xE3 0x201E # DOUBLE LOW-9 QUOTATION MARK
-0xE4 0x2030 # PER MILLE SIGN
-0xE5 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-0xE6 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0xE7 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE
-0xE8 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS
-0xE9 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE
-0xEA 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE
-0xEB 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-0xEC 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS
-0xED 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE
-0xEE 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE
-0xEF 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-0xF0 0xF8FF # Apple logo
-0xF1 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE
-0xF2 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE
-0xF3 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
-0xF4 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE
-0xF5 0x0131 # LATIN SMALL LETTER DOTLESS I
-0xF6 0x02C6 # MODIFIER LETTER CIRCUMFLEX ACCENT
-0xF7 0x02DC # SMALL TILDE
-0xF8 0x00AF # MACRON
-0xF9 0x02D8 # BREVE
-0xFA 0x02D9 # DOT ABOVE
-0xFB 0x02DA # RING ABOVE
-0xFC 0x00B8 # CEDILLA
-0xFD 0x02DD # DOUBLE ACUTE ACCENT
-0xFE 0x02DB # OGONEK
-0xFF 0x02C7 # CARON
-
-"
-!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/ROMANIAN.TXT'
+0x20 0x0020 # SPACE
+0x21 0x0021 # EXCLAMATION MARK
+0x22 0x0022 # QUOTATION MARK
+0x23 0x0023 # NUMBER SIGN
+0x24 0x0024 # DOLLAR SIGN
+0x25 0x0025 # PERCENT SIGN
+0x26 0x0026 # AMPERSAND
+0x27 0x0027 # APOSTROPHE
+0x28 0x0028 # LEFT PARENTHESIS
+0x29 0x0029 # RIGHT PARENTHESIS
+0x2A 0x002A # ASTERISK
+0x2B 0x002B # PLUS SIGN
+0x2C 0x002C # COMMA
+0x2D 0x002D # HYPHEN-MINUS
+0x2E 0x002E # FULL STOP
+0x2F 0x002F # SOLIDUS
+0x30 0x0030 # DIGIT ZERO
+0x31 0x0031 # DIGIT ONE
+0x32 0x0032 # DIGIT TWO
+0x33 0x0033 # DIGIT THREE
+0x34 0x0034 # DIGIT FOUR
+0x35 0x0035 # DIGIT FIVE
+0x36 0x0036 # DIGIT SIX
+0x37 0x0037 # DIGIT SEVEN
+0x38 0x0038 # DIGIT EIGHT
+0x39 0x0039 # DIGIT NINE
+0x3A 0x003A # COLON
+0x3B 0x003B # SEMICOLON
+0x3C 0x003C # LESS-THAN SIGN
+0x3D 0x003D # EQUALS SIGN
+0x3E 0x003E # GREATER-THAN SIGN
+0x3F 0x003F # QUESTION MARK
+0x40 0x0040 # COMMERCIAL AT
+0x41 0x0041 # LATIN CAPITAL LETTER A
+0x42 0x0042 # LATIN CAPITAL LETTER B
+0x43 0x0043 # LATIN CAPITAL LETTER C
+0x44 0x0044 # LATIN CAPITAL LETTER D
+0x45 0x0045 # LATIN CAPITAL LETTER E
+0x46 0x0046 # LATIN CAPITAL LETTER F
+0x47 0x0047 # LATIN CAPITAL LETTER G
+0x48 0x0048 # LATIN CAPITAL LETTER H
+0x49 0x0049 # LATIN CAPITAL LETTER I
+0x4A 0x004A # LATIN CAPITAL LETTER J
+0x4B 0x004B # LATIN CAPITAL LETTER K
+0x4C 0x004C # LATIN CAPITAL LETTER L
+0x4D 0x004D # LATIN CAPITAL LETTER M
+0x4E 0x004E # LATIN CAPITAL LETTER N
+0x4F 0x004F # LATIN CAPITAL LETTER O
+0x50 0x0050 # LATIN CAPITAL LETTER P
+0x51 0x0051 # LATIN CAPITAL LETTER Q
+0x52 0x0052 # LATIN CAPITAL LETTER R
+0x53 0x0053 # LATIN CAPITAL LETTER S
+0x54 0x0054 # LATIN CAPITAL LETTER T
+0x55 0x0055 # LATIN CAPITAL LETTER U
+0x56 0x0056 # LATIN CAPITAL LETTER V
+0x57 0x0057 # LATIN CAPITAL LETTER W
+0x58 0x0058 # LATIN CAPITAL LETTER X
+0x59 0x0059 # LATIN CAPITAL LETTER Y
+0x5A 0x005A # LATIN CAPITAL LETTER Z
+0x5B 0x005B # LEFT SQUARE BRACKET
+0x5C 0x005C # REVERSE SOLIDUS
+0x5D 0x005D # RIGHT SQUARE BRACKET
+0x5E 0x005E # CIRCUMFLEX ACCENT
+0x5F 0x005F # LOW LINE
+0x60 0x0060 # GRAVE ACCENT
+0x61 0x0061 # LATIN SMALL LETTER A
+0x62 0x0062 # LATIN SMALL LETTER B
+0x63 0x0063 # LATIN SMALL LETTER C
+0x64 0x0064 # LATIN SMALL LETTER D
+0x65 0x0065 # LATIN SMALL LETTER E
+0x66 0x0066 # LATIN SMALL LETTER F
+0x67 0x0067 # LATIN SMALL LETTER G
+0x68 0x0068 # LATIN SMALL LETTER H
+0x69 0x0069 # LATIN SMALL LETTER I
+0x6A 0x006A # LATIN SMALL LETTER J
+0x6B 0x006B # LATIN SMALL LETTER K
+0x6C 0x006C # LATIN SMALL LETTER L
+0x6D 0x006D # LATIN SMALL LETTER M
+0x6E 0x006E # LATIN SMALL LETTER N
+0x6F 0x006F # LATIN SMALL LETTER O
+0x70 0x0070 # LATIN SMALL LETTER P
+0x71 0x0071 # LATIN SMALL LETTER Q
+0x72 0x0072 # LATIN SMALL LETTER R
+0x73 0x0073 # LATIN SMALL LETTER S
+0x74 0x0074 # LATIN SMALL LETTER T
+0x75 0x0075 # LATIN SMALL LETTER U
+0x76 0x0076 # LATIN SMALL LETTER V
+0x77 0x0077 # LATIN SMALL LETTER W
+0x78 0x0078 # LATIN SMALL LETTER X
+0x79 0x0079 # LATIN SMALL LETTER Y
+0x7A 0x007A # LATIN SMALL LETTER Z
+0x7B 0x007B # LEFT CURLY BRACKET
+0x7C 0x007C # VERTICAL LINE
+0x7D 0x007D # RIGHT CURLY BRACKET
+0x7E 0x007E # TILDE
+#
+0x80 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
+0x81 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE
+0x82 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA
+0x83 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
+0x84 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE
+0x85 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
+0x86 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
+0x87 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
+0x88 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
+0x89 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x8A 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
+0x8B 0x00E3 # LATIN SMALL LETTER A WITH TILDE
+0x8C 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE
+0x8D 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
+0x8E 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
+0x8F 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
+0x90 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x91 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS
+0x92 0x00ED # LATIN SMALL LETTER I WITH ACUTE
+0x93 0x00EC # LATIN SMALL LETTER I WITH GRAVE
+0x94 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x95 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS
+0x96 0x00F1 # LATIN SMALL LETTER N WITH TILDE
+0x97 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
+0x98 0x00F2 # LATIN SMALL LETTER O WITH GRAVE
+0x99 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x9A 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
+0x9B 0x00F5 # LATIN SMALL LETTER O WITH TILDE
+0x9C 0x00FA # LATIN SMALL LETTER U WITH ACUTE
+0x9D 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
+0x9E 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX
+0x9F 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
+0xA0 0x2020 # DAGGER
+0xA1 0x00B0 # DEGREE SIGN
+0xA2 0x00A2 # CENT SIGN
+0xA3 0x00A3 # POUND SIGN
+0xA4 0x00A7 # SECTION SIGN
+0xA5 0x2022 # BULLET
+0xA6 0x00B6 # PILCROW SIGN
+0xA7 0x00DF # LATIN SMALL LETTER SHARP S
+0xA8 0x00AE # REGISTERED SIGN
+0xA9 0x00A9 # COPYRIGHT SIGN
+0xAA 0x2122 # TRADE MARK SIGN
+0xAB 0x00B4 # ACUTE ACCENT
+0xAC 0x00A8 # DIAERESIS
+0xAD 0x2260 # NOT EQUAL TO
+0xAE 0x0102 # LATIN CAPITAL LETTER A WITH BREVE
+0xAF 0x0218 # LATIN CAPITAL LETTER S WITH COMMA BELOW # for Unicode 3.0 and later
+0xB0 0x221E # INFINITY
+0xB1 0x00B1 # PLUS-MINUS SIGN
+0xB2 0x2264 # LESS-THAN OR EQUAL TO
+0xB3 0x2265 # GREATER-THAN OR EQUAL TO
+0xB4 0x00A5 # YEN SIGN
+0xB5 0x00B5 # MICRO SIGN
+0xB6 0x2202 # PARTIAL DIFFERENTIAL
+0xB7 0x2211 # N-ARY SUMMATION
+0xB8 0x220F # N-ARY PRODUCT
+0xB9 0x03C0 # GREEK SMALL LETTER PI
+0xBA 0x222B # INTEGRAL
+0xBB 0x00AA # FEMININE ORDINAL INDICATOR
+0xBC 0x00BA # MASCULINE ORDINAL INDICATOR
+0xBD 0x03A9 # GREEK CAPITAL LETTER OMEGA
+0xBE 0x0103 # LATIN SMALL LETTER A WITH BREVE
+0xBF 0x0219 # LATIN SMALL LETTER S WITH COMMA BELOW # for Unicode 3.0 and later
+0xC0 0x00BF # INVERTED QUESTION MARK
+0xC1 0x00A1 # INVERTED EXCLAMATION MARK
+0xC2 0x00AC # NOT SIGN
+0xC3 0x221A # SQUARE ROOT
+0xC4 0x0192 # LATIN SMALL LETTER F WITH HOOK
+0xC5 0x2248 # ALMOST EQUAL TO
+0xC6 0x2206 # INCREMENT
+0xC7 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC8 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC9 0x2026 # HORIZONTAL ELLIPSIS
+0xCA 0x00A0 # NO-BREAK SPACE
+0xCB 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE
+0xCC 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE
+0xCD 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE
+0xCE 0x0152 # LATIN CAPITAL LIGATURE OE
+0xCF 0x0153 # LATIN SMALL LIGATURE OE
+0xD0 0x2013 # EN DASH
+0xD1 0x2014 # EM DASH
+0xD2 0x201C # LEFT DOUBLE QUOTATION MARK
+0xD3 0x201D # RIGHT DOUBLE QUOTATION MARK
+0xD4 0x2018 # LEFT SINGLE QUOTATION MARK
+0xD5 0x2019 # RIGHT SINGLE QUOTATION MARK
+0xD6 0x00F7 # DIVISION SIGN
+0xD7 0x25CA # LOZENGE
+0xD8 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS
+0xD9 0x0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS
+0xDA 0x2044 # FRACTION SLASH
+0xDB 0x20AC # EURO SIGN
+0xDC 0x2039 # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+0xDD 0x203A # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+0xDE 0x021A # LATIN CAPITAL LETTER T WITH COMMA BELOW # for Unicode 3.0 and later
+0xDF 0x021B # LATIN SMALL LETTER T WITH COMMA BELOW; # for Unicode 3.0 and later
+0xE0 0x2021 # DOUBLE DAGGER
+0xE1 0x00B7 # MIDDLE DOT
+0xE2 0x201A # SINGLE LOW-9 QUOTATION MARK
+0xE3 0x201E # DOUBLE LOW-9 QUOTATION MARK
+0xE4 0x2030 # PER MILLE SIGN
+0xE5 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xE6 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xE7 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE
+0xE8 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS
+0xE9 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE
+0xEA 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE
+0xEB 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xEC 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS
+0xED 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE
+0xEE 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE
+0xEF 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xF0 0xF8FF # Apple logo
+0xF1 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE
+0xF2 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE
+0xF3 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xF4 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE
+0xF5 0x0131 # LATIN SMALL LETTER DOTLESS I
+0xF6 0x02C6 # MODIFIER LETTER CIRCUMFLEX ACCENT
+0xF7 0x02DC # SMALL TILDE
+0xF8 0x00AF # MACRON
+0xF9 0x02D8 # BREVE
+0xFA 0x02D9 # DOT ABOVE
+0xFB 0x02DA # RING ABOVE
+0xFC 0x00B8 # CEDILLA
+0xFD 0x02DD # DOUBLE ACUTE ACCENT
+0xFE 0x02DB # OGONEK
+0xFF 0x02C7 # CARON
+
+"
+!
+
+mappingURL1_relativePathName
+ ^ 'VENDORS/APPLE/ROMANIAN.TXT'
! !
!CharacterEncoder::MAC_Romanian methodsFor:'encoding & decoding'!
@@ -14575,8 +31341,8 @@
code < 127 ifTrue:[ ^ code ].
code > 255 ifTrue:[
- self error:'invalid code'.
- ^ $? asciiValue
+ self error:'invalid code'.
+ ^ $? asciiValue
].
^ #(
"16r007F" 16rFFFF " invalid "
@@ -14627,7 +31393,7 @@
"16r00AC" 16r00A8 " DIAERESIS "
"16r00AD" 16r2260 " NOT EQUAL TO "
"16r00AE" 16r0102 " LATIN CAPITAL LETTER A WITH BREVE "
- "16r00AF" 16r0218 " LATIN CAPITAL LETTER S WITH COMMA BELOW # for Unicode 3.0 and later "
+ "16r00AF" 16r0218 " LATIN CAPITAL LETTER S WITH COMMA BELOW # for Unicode 3.0 and later "
"16r00B0" 16r221E " INFINITY "
"16r00B1" 16r00B1 " PLUS-MINUS SIGN "
"16r00B2" 16r2264 " LESS-THAN OR EQUAL TO "
@@ -14643,7 +31409,7 @@
"16r00BC" 16r00BA " MASCULINE ORDINAL INDICATOR "
"16r00BD" 16r03A9 " GREEK CAPITAL LETTER OMEGA "
"16r00BE" 16r0103 " LATIN SMALL LETTER A WITH BREVE "
- "16r00BF" 16r0219 " LATIN SMALL LETTER S WITH COMMA BELOW # for Unicode 3.0 and later "
+ "16r00BF" 16r0219 " LATIN SMALL LETTER S WITH COMMA BELOW # for Unicode 3.0 and later "
"16r00C0" 16r00BF " INVERTED QUESTION MARK "
"16r00C1" 16r00A1 " INVERTED EXCLAMATION MARK "
"16r00C2" 16r00AC " NOT SIGN "
@@ -14674,8 +31440,8 @@
"16r00DB" 16r20AC " EURO SIGN "
"16r00DC" 16r2039 " SINGLE LEFT-POINTING ANGLE QUOTATION MARK "
"16r00DD" 16r203A " SINGLE RIGHT-POINTING ANGLE QUOTATION MARK "
- "16r00DE" 16r021A " LATIN CAPITAL LETTER T WITH COMMA BELOW # for Unicode 3.0 and later "
- "16r00DF" 16r021B " LATIN SMALL LETTER T WITH COMMA BELOW; # for Unicode 3.0 and later "
+ "16r00DE" 16r021A " LATIN CAPITAL LETTER T WITH COMMA BELOW # for Unicode 3.0 and later "
+ "16r00DF" 16r021B " LATIN SMALL LETTER T WITH COMMA BELOW; # for Unicode 3.0 and later "
"16r00E0" 16r2021 " DOUBLE DAGGER "
"16r00E1" 16r00B7 " MIDDLE DOT "
"16r00E2" 16r201A " SINGLE LOW-9 QUOTATION MARK "
@@ -14908,7 +31674,7 @@
#
# Changes from version n03 to version n05:
#
-# - Change strict mapping for 0xE1 & 0xF1 from U+2329 & U+232A
+# - Change strict mapping for 0xE1 & 0xF1 from U+2329 & U+232A
# to their canonical decompositions, U+3008 & U+3009.
#
# - Change mapping for the following to use standard Unicode +
@@ -14917,203 +31683,203 @@
#
##################
-0x20 0x0020 # SPACE
-0x21 0x0021 # EXCLAMATION MARK
-0x22 0x2200 # FOR ALL
-0x23 0x0023 # NUMBER SIGN
-0x24 0x2203 # THERE EXISTS
-0x25 0x0025 # PERCENT SIGN
-0x26 0x0026 # AMPERSAND
-0x27 0x220D # SMALL CONTAINS AS MEMBER
-0x28 0x0028 # LEFT PARENTHESIS
-0x29 0x0029 # RIGHT PARENTHESIS
-0x2A 0x2217 # ASTERISK OPERATOR
-0x2B 0x002B # PLUS SIGN
-0x2C 0x002C # COMMA
-0x2D 0x2212 # MINUS SIGN
-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 0x2245 # APPROXIMATELY EQUAL TO
-0x41 0x0391 # GREEK CAPITAL LETTER ALPHA
-0x42 0x0392 # GREEK CAPITAL LETTER BETA
-0x43 0x03A7 # GREEK CAPITAL LETTER CHI
-0x44 0x0394 # GREEK CAPITAL LETTER DELTA
-0x45 0x0395 # GREEK CAPITAL LETTER EPSILON
-0x46 0x03A6 # GREEK CAPITAL LETTER PHI
-0x47 0x0393 # GREEK CAPITAL LETTER GAMMA
-0x48 0x0397 # GREEK CAPITAL LETTER ETA
-0x49 0x0399 # GREEK CAPITAL LETTER IOTA
-0x4A 0x03D1 # GREEK THETA SYMBOL
-0x4B 0x039A # GREEK CAPITAL LETTER KAPPA
-0x4C 0x039B # GREEK CAPITAL LETTER LAMDA
-0x4D 0x039C # GREEK CAPITAL LETTER MU
-0x4E 0x039D # GREEK CAPITAL LETTER NU
-0x4F 0x039F # GREEK CAPITAL LETTER OMICRON
-0x50 0x03A0 # GREEK CAPITAL LETTER PI
-0x51 0x0398 # GREEK CAPITAL LETTER THETA
-0x52 0x03A1 # GREEK CAPITAL LETTER RHO
-0x53 0x03A3 # GREEK CAPITAL LETTER SIGMA
-0x54 0x03A4 # GREEK CAPITAL LETTER TAU
-0x55 0x03A5 # GREEK CAPITAL LETTER UPSILON
-0x56 0x03C2 # GREEK SMALL LETTER FINAL SIGMA
-0x57 0x03A9 # GREEK CAPITAL LETTER OMEGA
-0x58 0x039E # GREEK CAPITAL LETTER XI
-0x59 0x03A8 # GREEK CAPITAL LETTER PSI
-0x5A 0x0396 # GREEK CAPITAL LETTER ZETA
-0x5B 0x005B # LEFT SQUARE BRACKET
-0x5C 0x2234 # THEREFORE
-0x5D 0x005D # RIGHT SQUARE BRACKET
-0x5E 0x22A5 # UP TACK
-0x5F 0x005F # LOW LINE
-0x60 0xF8E5 # radical extender # corporate char
-0x61 0x03B1 # GREEK SMALL LETTER ALPHA
-0x62 0x03B2 # GREEK SMALL LETTER BETA
-0x63 0x03C7 # GREEK SMALL LETTER CHI
-0x64 0x03B4 # GREEK SMALL LETTER DELTA
-0x65 0x03B5 # GREEK SMALL LETTER EPSILON
-0x66 0x03C6 # GREEK SMALL LETTER PHI
-0x67 0x03B3 # GREEK SMALL LETTER GAMMA
-0x68 0x03B7 # GREEK SMALL LETTER ETA
-0x69 0x03B9 # GREEK SMALL LETTER IOTA
-0x6A 0x03D5 # GREEK PHI SYMBOL
-0x6B 0x03BA # GREEK SMALL LETTER KAPPA
-0x6C 0x03BB # GREEK SMALL LETTER LAMDA
-0x6D 0x03BC # GREEK SMALL LETTER MU
-0x6E 0x03BD # GREEK SMALL LETTER NU
-0x6F 0x03BF # GREEK SMALL LETTER OMICRON
-0x70 0x03C0 # GREEK SMALL LETTER PI
-0x71 0x03B8 # GREEK SMALL LETTER THETA
-0x72 0x03C1 # GREEK SMALL LETTER RHO
-0x73 0x03C3 # GREEK SMALL LETTER SIGMA
-0x74 0x03C4 # GREEK SMALL LETTER TAU
-0x75 0x03C5 # GREEK SMALL LETTER UPSILON
-0x76 0x03D6 # GREEK PI SYMBOL
-0x77 0x03C9 # GREEK SMALL LETTER OMEGA
-0x78 0x03BE # GREEK SMALL LETTER XI
-0x79 0x03C8 # GREEK SMALL LETTER PSI
-0x7A 0x03B6 # GREEK SMALL LETTER ZETA
-0x7B 0x007B # LEFT CURLY BRACKET
-0x7C 0x007C # VERTICAL LINE
-0x7D 0x007D # RIGHT CURLY BRACKET
-0x7E 0x223C # TILDE OPERATOR
-#
-0xA0 0x20AC # EURO SIGN
-0xA1 0x03D2 # GREEK UPSILON WITH HOOK SYMBOL
-0xA2 0x2032 # PRIME # minute
-0xA3 0x2264 # LESS-THAN OR EQUAL TO
-0xA4 0x2044 # FRACTION SLASH
-0xA5 0x221E # INFINITY
-0xA6 0x0192 # LATIN SMALL LETTER F WITH HOOK
-0xA7 0x2663 # BLACK CLUB SUIT
-0xA8 0x2666 # BLACK DIAMOND SUIT
-0xA9 0x2665 # BLACK HEART SUIT
-0xAA 0x2660 # BLACK SPADE SUIT
-0xAB 0x2194 # LEFT RIGHT ARROW
-0xAC 0x2190 # LEFTWARDS ARROW
-0xAD 0x2191 # UPWARDS ARROW
-0xAE 0x2192 # RIGHTWARDS ARROW
-0xAF 0x2193 # DOWNWARDS ARROW
-0xB0 0x00B0 # DEGREE SIGN
-0xB1 0x00B1 # PLUS-MINUS SIGN
-0xB2 0x2033 # DOUBLE PRIME # second
-0xB3 0x2265 # GREATER-THAN OR EQUAL TO
-0xB4 0x00D7 # MULTIPLICATION SIGN
-0xB5 0x221D # PROPORTIONAL TO
-0xB6 0x2202 # PARTIAL DIFFERENTIAL
-0xB7 0x2022 # BULLET
-0xB8 0x00F7 # DIVISION SIGN
-0xB9 0x2260 # NOT EQUAL TO
-0xBA 0x2261 # IDENTICAL TO
-0xBB 0x2248 # ALMOST EQUAL TO
-0xBC 0x2026 # HORIZONTAL ELLIPSIS
-0xBD 0xF8E6 # vertical line extension (for arrows) # corporate char
-0xBE 0x23AF # HORIZONTAL LINE EXTENSION (for arrows) # for Unicode 3.2 and later
-0xBF 0x21B5 # DOWNWARDS ARROW WITH CORNER LEFTWARDS
-0xC0 0x2135 # ALEF SYMBOL
-0xC1 0x2111 # BLACK-LETTER CAPITAL I
-0xC2 0x211C # BLACK-LETTER CAPITAL R
-0xC3 0x2118 # SCRIPT CAPITAL P
-0xC4 0x2297 # CIRCLED TIMES
-0xC5 0x2295 # CIRCLED PLUS
-0xC6 0x2205 # EMPTY SET
-0xC7 0x2229 # INTERSECTION
-0xC8 0x222A # UNION
-0xC9 0x2283 # SUPERSET OF
-0xCA 0x2287 # SUPERSET OF OR EQUAL TO
-0xCB 0x2284 # NOT A SUBSET OF
-0xCC 0x2282 # SUBSET OF
-0xCD 0x2286 # SUBSET OF OR EQUAL TO
-0xCE 0x2208 # ELEMENT OF
-0xCF 0x2209 # NOT AN ELEMENT OF
-0xD0 0x2220 # ANGLE
-0xD1 0x2207 # NABLA
-0xD2 0x00AE # REGISTERED SIGN # serif
-0xD3 0x00A9 # COPYRIGHT SIGN # serif
-0xD4 0x2122 # TRADE MARK SIGN # serif
-0xD5 0x220F # N-ARY PRODUCT
-0xD6 0x221A # SQUARE ROOT
-0xD7 0x22C5 # DOT OPERATOR
-0xD8 0x00AC # NOT SIGN
-0xD9 0x2227 # LOGICAL AND
-0xDA 0x2228 # LOGICAL OR
-0xDB 0x21D4 # LEFT RIGHT DOUBLE ARROW
-0xDC 0x21D0 # LEFTWARDS DOUBLE ARROW
-0xDD 0x21D1 # UPWARDS DOUBLE ARROW
-0xDE 0x21D2 # RIGHTWARDS DOUBLE ARROW
-0xDF 0x21D3 # DOWNWARDS DOUBLE ARROW
-0xE0 0x22C4 # DIAMOND OPERATOR
-0xE1 0x3008 # LEFT ANGLE BRACKET
-0xE2 0x00AE+0xF87F # REGISTERED SIGN, alternate: sans serif
-0xE3 0x00A9+0xF87F # COPYRIGHT SIGN, alternate: sans serif
-0xE4 0x2122+0xF87F # TRADE MARK SIGN, alternate: sans serif
-0xE5 0x2211 # N-ARY SUMMATION
-0xE6 0x239B # LEFT PARENTHESIS UPPER HOOK # for Unicode 3.2 and later
-0xE7 0x239C # LEFT PARENTHESIS EXTENSION # for Unicode 3.2 and later
-0xE8 0x239D # LEFT PARENTHESIS LOWER HOOK # for Unicode 3.2 and later
-0xE9 0x23A1 # LEFT SQUARE BRACKET UPPER CORNER # for Unicode 3.2 and later
-0xEA 0x23A2 # LEFT SQUARE BRACKET EXTENSION # for Unicode 3.2 and later
-0xEB 0x23A3 # LEFT SQUARE BRACKET LOWER CORNER # for Unicode 3.2 and later
-0xEC 0x23A7 # LEFT CURLY BRACKET UPPER HOOK # for Unicode 3.2 and later
-0xED 0x23A8 # LEFT CURLY BRACKET MIDDLE PIECE # for Unicode 3.2 and later
-0xEE 0x23A9 # LEFT CURLY BRACKET LOWER HOOK # for Unicode 3.2 and later
-0xEF 0x23AA # CURLY BRACKET EXTENSION # for Unicode 3.2 and later
-0xF0 0xF8FF # Apple logo
-0xF1 0x3009 # RIGHT ANGLE BRACKET
-0xF2 0x222B # INTEGRAL
-0xF3 0x2320 # TOP HALF INTEGRAL
-0xF4 0x23AE # INTEGRAL EXTENSION # for Unicode 3.2 and later
-0xF5 0x2321 # BOTTOM HALF INTEGRAL
-0xF6 0x239E # RIGHT PARENTHESIS UPPER HOOK # for Unicode 3.2 and later
-0xF7 0x239F # RIGHT PARENTHESIS EXTENSION # for Unicode 3.2 and later
-0xF8 0x23A0 # RIGHT PARENTHESIS LOWER HOOK # for Unicode 3.2 and later
-0xF9 0x23A4 # RIGHT SQUARE BRACKET UPPER CORNER # for Unicode 3.2 and later
-0xFA 0x23A5 # RIGHT SQUARE BRACKET EXTENSION # for Unicode 3.2 and later
-0xFB 0x23A6 # RIGHT SQUARE BRACKET LOWER CORNER # for Unicode 3.2 and later
-0xFC 0x23AB # RIGHT CURLY BRACKET UPPER HOOK # for Unicode 3.2 and later
-0xFD 0x23AC # RIGHT CURLY BRACKET MIDDLE PIECE # for Unicode 3.2 and later
-0xFE 0x23AD # RIGHT CURLY BRACKET LOWER HOOK # for Unicode 3.2 and later
-
-"
-!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/SYMBOL.TXT'
+0x20 0x0020 # SPACE
+0x21 0x0021 # EXCLAMATION MARK
+0x22 0x2200 # FOR ALL
+0x23 0x0023 # NUMBER SIGN
+0x24 0x2203 # THERE EXISTS
+0x25 0x0025 # PERCENT SIGN
+0x26 0x0026 # AMPERSAND
+0x27 0x220D # SMALL CONTAINS AS MEMBER
+0x28 0x0028 # LEFT PARENTHESIS
+0x29 0x0029 # RIGHT PARENTHESIS
+0x2A 0x2217 # ASTERISK OPERATOR
+0x2B 0x002B # PLUS SIGN
+0x2C 0x002C # COMMA
+0x2D 0x2212 # MINUS SIGN
+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 0x2245 # APPROXIMATELY EQUAL TO
+0x41 0x0391 # GREEK CAPITAL LETTER ALPHA
+0x42 0x0392 # GREEK CAPITAL LETTER BETA
+0x43 0x03A7 # GREEK CAPITAL LETTER CHI
+0x44 0x0394 # GREEK CAPITAL LETTER DELTA
+0x45 0x0395 # GREEK CAPITAL LETTER EPSILON
+0x46 0x03A6 # GREEK CAPITAL LETTER PHI
+0x47 0x0393 # GREEK CAPITAL LETTER GAMMA
+0x48 0x0397 # GREEK CAPITAL LETTER ETA
+0x49 0x0399 # GREEK CAPITAL LETTER IOTA
+0x4A 0x03D1 # GREEK THETA SYMBOL
+0x4B 0x039A # GREEK CAPITAL LETTER KAPPA
+0x4C 0x039B # GREEK CAPITAL LETTER LAMDA
+0x4D 0x039C # GREEK CAPITAL LETTER MU
+0x4E 0x039D # GREEK CAPITAL LETTER NU
+0x4F 0x039F # GREEK CAPITAL LETTER OMICRON
+0x50 0x03A0 # GREEK CAPITAL LETTER PI
+0x51 0x0398 # GREEK CAPITAL LETTER THETA
+0x52 0x03A1 # GREEK CAPITAL LETTER RHO
+0x53 0x03A3 # GREEK CAPITAL LETTER SIGMA
+0x54 0x03A4 # GREEK CAPITAL LETTER TAU
+0x55 0x03A5 # GREEK CAPITAL LETTER UPSILON
+0x56 0x03C2 # GREEK SMALL LETTER FINAL SIGMA
+0x57 0x03A9 # GREEK CAPITAL LETTER OMEGA
+0x58 0x039E # GREEK CAPITAL LETTER XI
+0x59 0x03A8 # GREEK CAPITAL LETTER PSI
+0x5A 0x0396 # GREEK CAPITAL LETTER ZETA
+0x5B 0x005B # LEFT SQUARE BRACKET
+0x5C 0x2234 # THEREFORE
+0x5D 0x005D # RIGHT SQUARE BRACKET
+0x5E 0x22A5 # UP TACK
+0x5F 0x005F # LOW LINE
+0x60 0xF8E5 # radical extender # corporate char
+0x61 0x03B1 # GREEK SMALL LETTER ALPHA
+0x62 0x03B2 # GREEK SMALL LETTER BETA
+0x63 0x03C7 # GREEK SMALL LETTER CHI
+0x64 0x03B4 # GREEK SMALL LETTER DELTA
+0x65 0x03B5 # GREEK SMALL LETTER EPSILON
+0x66 0x03C6 # GREEK SMALL LETTER PHI
+0x67 0x03B3 # GREEK SMALL LETTER GAMMA
+0x68 0x03B7 # GREEK SMALL LETTER ETA
+0x69 0x03B9 # GREEK SMALL LETTER IOTA
+0x6A 0x03D5 # GREEK PHI SYMBOL
+0x6B 0x03BA # GREEK SMALL LETTER KAPPA
+0x6C 0x03BB # GREEK SMALL LETTER LAMDA
+0x6D 0x03BC # GREEK SMALL LETTER MU
+0x6E 0x03BD # GREEK SMALL LETTER NU
+0x6F 0x03BF # GREEK SMALL LETTER OMICRON
+0x70 0x03C0 # GREEK SMALL LETTER PI
+0x71 0x03B8 # GREEK SMALL LETTER THETA
+0x72 0x03C1 # GREEK SMALL LETTER RHO
+0x73 0x03C3 # GREEK SMALL LETTER SIGMA
+0x74 0x03C4 # GREEK SMALL LETTER TAU
+0x75 0x03C5 # GREEK SMALL LETTER UPSILON
+0x76 0x03D6 # GREEK PI SYMBOL
+0x77 0x03C9 # GREEK SMALL LETTER OMEGA
+0x78 0x03BE # GREEK SMALL LETTER XI
+0x79 0x03C8 # GREEK SMALL LETTER PSI
+0x7A 0x03B6 # GREEK SMALL LETTER ZETA
+0x7B 0x007B # LEFT CURLY BRACKET
+0x7C 0x007C # VERTICAL LINE
+0x7D 0x007D # RIGHT CURLY BRACKET
+0x7E 0x223C # TILDE OPERATOR
+#
+0xA0 0x20AC # EURO SIGN
+0xA1 0x03D2 # GREEK UPSILON WITH HOOK SYMBOL
+0xA2 0x2032 # PRIME # minute
+0xA3 0x2264 # LESS-THAN OR EQUAL TO
+0xA4 0x2044 # FRACTION SLASH
+0xA5 0x221E # INFINITY
+0xA6 0x0192 # LATIN SMALL LETTER F WITH HOOK
+0xA7 0x2663 # BLACK CLUB SUIT
+0xA8 0x2666 # BLACK DIAMOND SUIT
+0xA9 0x2665 # BLACK HEART SUIT
+0xAA 0x2660 # BLACK SPADE SUIT
+0xAB 0x2194 # LEFT RIGHT ARROW
+0xAC 0x2190 # LEFTWARDS ARROW
+0xAD 0x2191 # UPWARDS ARROW
+0xAE 0x2192 # RIGHTWARDS ARROW
+0xAF 0x2193 # DOWNWARDS ARROW
+0xB0 0x00B0 # DEGREE SIGN
+0xB1 0x00B1 # PLUS-MINUS SIGN
+0xB2 0x2033 # DOUBLE PRIME # second
+0xB3 0x2265 # GREATER-THAN OR EQUAL TO
+0xB4 0x00D7 # MULTIPLICATION SIGN
+0xB5 0x221D # PROPORTIONAL TO
+0xB6 0x2202 # PARTIAL DIFFERENTIAL
+0xB7 0x2022 # BULLET
+0xB8 0x00F7 # DIVISION SIGN
+0xB9 0x2260 # NOT EQUAL TO
+0xBA 0x2261 # IDENTICAL TO
+0xBB 0x2248 # ALMOST EQUAL TO
+0xBC 0x2026 # HORIZONTAL ELLIPSIS
+0xBD 0xF8E6 # vertical line extension (for arrows) # corporate char
+0xBE 0x23AF # HORIZONTAL LINE EXTENSION (for arrows) # for Unicode 3.2 and later
+0xBF 0x21B5 # DOWNWARDS ARROW WITH CORNER LEFTWARDS
+0xC0 0x2135 # ALEF SYMBOL
+0xC1 0x2111 # BLACK-LETTER CAPITAL I
+0xC2 0x211C # BLACK-LETTER CAPITAL R
+0xC3 0x2118 # SCRIPT CAPITAL P
+0xC4 0x2297 # CIRCLED TIMES
+0xC5 0x2295 # CIRCLED PLUS
+0xC6 0x2205 # EMPTY SET
+0xC7 0x2229 # INTERSECTION
+0xC8 0x222A # UNION
+0xC9 0x2283 # SUPERSET OF
+0xCA 0x2287 # SUPERSET OF OR EQUAL TO
+0xCB 0x2284 # NOT A SUBSET OF
+0xCC 0x2282 # SUBSET OF
+0xCD 0x2286 # SUBSET OF OR EQUAL TO
+0xCE 0x2208 # ELEMENT OF
+0xCF 0x2209 # NOT AN ELEMENT OF
+0xD0 0x2220 # ANGLE
+0xD1 0x2207 # NABLA
+0xD2 0x00AE # REGISTERED SIGN # serif
+0xD3 0x00A9 # COPYRIGHT SIGN # serif
+0xD4 0x2122 # TRADE MARK SIGN # serif
+0xD5 0x220F # N-ARY PRODUCT
+0xD6 0x221A # SQUARE ROOT
+0xD7 0x22C5 # DOT OPERATOR
+0xD8 0x00AC # NOT SIGN
+0xD9 0x2227 # LOGICAL AND
+0xDA 0x2228 # LOGICAL OR
+0xDB 0x21D4 # LEFT RIGHT DOUBLE ARROW
+0xDC 0x21D0 # LEFTWARDS DOUBLE ARROW
+0xDD 0x21D1 # UPWARDS DOUBLE ARROW
+0xDE 0x21D2 # RIGHTWARDS DOUBLE ARROW
+0xDF 0x21D3 # DOWNWARDS DOUBLE ARROW
+0xE0 0x22C4 # DIAMOND OPERATOR
+0xE1 0x3008 # LEFT ANGLE BRACKET
+0xE2 0x00AE+0xF87F # REGISTERED SIGN, alternate: sans serif
+0xE3 0x00A9+0xF87F # COPYRIGHT SIGN, alternate: sans serif
+0xE4 0x2122+0xF87F # TRADE MARK SIGN, alternate: sans serif
+0xE5 0x2211 # N-ARY SUMMATION
+0xE6 0x239B # LEFT PARENTHESIS UPPER HOOK # for Unicode 3.2 and later
+0xE7 0x239C # LEFT PARENTHESIS EXTENSION # for Unicode 3.2 and later
+0xE8 0x239D # LEFT PARENTHESIS LOWER HOOK # for Unicode 3.2 and later
+0xE9 0x23A1 # LEFT SQUARE BRACKET UPPER CORNER # for Unicode 3.2 and later
+0xEA 0x23A2 # LEFT SQUARE BRACKET EXTENSION # for Unicode 3.2 and later
+0xEB 0x23A3 # LEFT SQUARE BRACKET LOWER CORNER # for Unicode 3.2 and later
+0xEC 0x23A7 # LEFT CURLY BRACKET UPPER HOOK # for Unicode 3.2 and later
+0xED 0x23A8 # LEFT CURLY BRACKET MIDDLE PIECE # for Unicode 3.2 and later
+0xEE 0x23A9 # LEFT CURLY BRACKET LOWER HOOK # for Unicode 3.2 and later
+0xEF 0x23AA # CURLY BRACKET EXTENSION # for Unicode 3.2 and later
+0xF0 0xF8FF # Apple logo
+0xF1 0x3009 # RIGHT ANGLE BRACKET
+0xF2 0x222B # INTEGRAL
+0xF3 0x2320 # TOP HALF INTEGRAL
+0xF4 0x23AE # INTEGRAL EXTENSION # for Unicode 3.2 and later
+0xF5 0x2321 # BOTTOM HALF INTEGRAL
+0xF6 0x239E # RIGHT PARENTHESIS UPPER HOOK # for Unicode 3.2 and later
+0xF7 0x239F # RIGHT PARENTHESIS EXTENSION # for Unicode 3.2 and later
+0xF8 0x23A0 # RIGHT PARENTHESIS LOWER HOOK # for Unicode 3.2 and later
+0xF9 0x23A4 # RIGHT SQUARE BRACKET UPPER CORNER # for Unicode 3.2 and later
+0xFA 0x23A5 # RIGHT SQUARE BRACKET EXTENSION # for Unicode 3.2 and later
+0xFB 0x23A6 # RIGHT SQUARE BRACKET LOWER CORNER # for Unicode 3.2 and later
+0xFC 0x23AB # RIGHT CURLY BRACKET UPPER HOOK # for Unicode 3.2 and later
+0xFD 0x23AC # RIGHT CURLY BRACKET MIDDLE PIECE # for Unicode 3.2 and later
+0xFE 0x23AD # RIGHT CURLY BRACKET LOWER HOOK # for Unicode 3.2 and later
+
+"
+!
+
+mappingURL1_relativePathName
+ ^ 'VENDORS/APPLE/SYMBOL.TXT'
! !
!CharacterEncoder::MAC_Symbol methodsFor:'encoding & decoding'!
@@ -15123,8 +31889,8 @@
code < 34 ifTrue:[ ^ code ].
code > 254 ifTrue:[
- self error:'invalid code'.
- ^ $? asciiValue
+ self error:'invalid code'.
+ ^ $? asciiValue
].
^ #(
"16r0022" 16r2200 " FOR ALL "
@@ -15255,7 +32021,7 @@
"16r009F" 16rFFFF " invalid "
"16r00A0" 16r20AC " EURO SIGN "
"16r00A1" 16r03D2 " GREEK UPSILON WITH HOOK SYMBOL "
- "16r00A2" 16r2032 " PRIME # minute "
+ "16r00A2" 16r2032 " PRIME # minute "
"16r00A3" 16r2264 " LESS-THAN OR EQUAL TO "
"16r00A4" 16r2044 " FRACTION SLASH "
"16r00A5" 16r221E " INFINITY "
@@ -15271,7 +32037,7 @@
"16r00AF" 16r2193 " DOWNWARDS ARROW "
"16r00B0" 16r00B0 " DEGREE SIGN "
"16r00B1" 16r00B1 " PLUS-MINUS SIGN "
- "16r00B2" 16r2033 " DOUBLE PRIME # second "
+ "16r00B2" 16r2033 " DOUBLE PRIME # second "
"16r00B3" 16r2265 " GREATER-THAN OR EQUAL TO "
"16r00B4" 16r00D7 " MULTIPLICATION SIGN "
"16r00B5" 16r221D " PROPORTIONAL TO "
@@ -15353,8 +32119,8 @@
!CharacterEncoder::MAC_Thai class methodsFor:'mapping'!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/THAI.TXT'
+mappingURL1_relativePathName
+ ^ 'VENDORS/APPLE/THAI.TXT'
! !
!CharacterEncoder::MAC_Turkish class methodsFor:'mapping'!
@@ -15435,7 +32201,7 @@
# Notes on Mac OS Turkish:
# ------------------------
#
-# Mac OS Turkish is used for Turkish.
+# Mac OS Turkish is used for Turkish.
#
# The Mac OS Turkish encoding shares the script code smRoman
# (0) with the Mac OS Roman encoding. To determine if the Turkish
@@ -15474,236 +32240,236 @@
#
##################
-0x20 0x0020 # SPACE
-0x21 0x0021 # EXCLAMATION MARK
-0x22 0x0022 # QUOTATION MARK
-0x23 0x0023 # NUMBER SIGN
-0x24 0x0024 # DOLLAR SIGN
-0x25 0x0025 # PERCENT SIGN
-0x26 0x0026 # AMPERSAND
-0x27 0x0027 # APOSTROPHE
-0x28 0x0028 # LEFT PARENTHESIS
-0x29 0x0029 # RIGHT PARENTHESIS
-0x2A 0x002A # ASTERISK
-0x2B 0x002B # PLUS SIGN
-0x2C 0x002C # COMMA
-0x2D 0x002D # HYPHEN-MINUS
-0x2E 0x002E # FULL STOP
-0x2F 0x002F # SOLIDUS
-0x30 0x0030 # DIGIT ZERO
-0x31 0x0031 # DIGIT ONE
-0x32 0x0032 # DIGIT TWO
-0x33 0x0033 # DIGIT THREE
-0x34 0x0034 # DIGIT FOUR
-0x35 0x0035 # DIGIT FIVE
-0x36 0x0036 # DIGIT SIX
-0x37 0x0037 # DIGIT SEVEN
-0x38 0x0038 # DIGIT EIGHT
-0x39 0x0039 # DIGIT NINE
-0x3A 0x003A # COLON
-0x3B 0x003B # SEMICOLON
-0x3C 0x003C # LESS-THAN SIGN
-0x3D 0x003D # EQUALS SIGN
-0x3E 0x003E # GREATER-THAN SIGN
-0x3F 0x003F # QUESTION MARK
-0x40 0x0040 # COMMERCIAL AT
-0x41 0x0041 # LATIN CAPITAL LETTER A
-0x42 0x0042 # LATIN CAPITAL LETTER B
-0x43 0x0043 # LATIN CAPITAL LETTER C
-0x44 0x0044 # LATIN CAPITAL LETTER D
-0x45 0x0045 # LATIN CAPITAL LETTER E
-0x46 0x0046 # LATIN CAPITAL LETTER F
-0x47 0x0047 # LATIN CAPITAL LETTER G
-0x48 0x0048 # LATIN CAPITAL LETTER H
-0x49 0x0049 # LATIN CAPITAL LETTER I
-0x4A 0x004A # LATIN CAPITAL LETTER J
-0x4B 0x004B # LATIN CAPITAL LETTER K
-0x4C 0x004C # LATIN CAPITAL LETTER L
-0x4D 0x004D # LATIN CAPITAL LETTER M
-0x4E 0x004E # LATIN CAPITAL LETTER N
-0x4F 0x004F # LATIN CAPITAL LETTER O
-0x50 0x0050 # LATIN CAPITAL LETTER P
-0x51 0x0051 # LATIN CAPITAL LETTER Q
-0x52 0x0052 # LATIN CAPITAL LETTER R
-0x53 0x0053 # LATIN CAPITAL LETTER S
-0x54 0x0054 # LATIN CAPITAL LETTER T
-0x55 0x0055 # LATIN CAPITAL LETTER U
-0x56 0x0056 # LATIN CAPITAL LETTER V
-0x57 0x0057 # LATIN CAPITAL LETTER W
-0x58 0x0058 # LATIN CAPITAL LETTER X
-0x59 0x0059 # LATIN CAPITAL LETTER Y
-0x5A 0x005A # LATIN CAPITAL LETTER Z
-0x5B 0x005B # LEFT SQUARE BRACKET
-0x5C 0x005C # REVERSE SOLIDUS
-0x5D 0x005D # RIGHT SQUARE BRACKET
-0x5E 0x005E # CIRCUMFLEX ACCENT
-0x5F 0x005F # LOW LINE
-0x60 0x0060 # GRAVE ACCENT
-0x61 0x0061 # LATIN SMALL LETTER A
-0x62 0x0062 # LATIN SMALL LETTER B
-0x63 0x0063 # LATIN SMALL LETTER C
-0x64 0x0064 # LATIN SMALL LETTER D
-0x65 0x0065 # LATIN SMALL LETTER E
-0x66 0x0066 # LATIN SMALL LETTER F
-0x67 0x0067 # LATIN SMALL LETTER G
-0x68 0x0068 # LATIN SMALL LETTER H
-0x69 0x0069 # LATIN SMALL LETTER I
-0x6A 0x006A # LATIN SMALL LETTER J
-0x6B 0x006B # LATIN SMALL LETTER K
-0x6C 0x006C # LATIN SMALL LETTER L
-0x6D 0x006D # LATIN SMALL LETTER M
-0x6E 0x006E # LATIN SMALL LETTER N
-0x6F 0x006F # LATIN SMALL LETTER O
-0x70 0x0070 # LATIN SMALL LETTER P
-0x71 0x0071 # LATIN SMALL LETTER Q
-0x72 0x0072 # LATIN SMALL LETTER R
-0x73 0x0073 # LATIN SMALL LETTER S
-0x74 0x0074 # LATIN SMALL LETTER T
-0x75 0x0075 # LATIN SMALL LETTER U
-0x76 0x0076 # LATIN SMALL LETTER V
-0x77 0x0077 # LATIN SMALL LETTER W
-0x78 0x0078 # LATIN SMALL LETTER X
-0x79 0x0079 # LATIN SMALL LETTER Y
-0x7A 0x007A # LATIN SMALL LETTER Z
-0x7B 0x007B # LEFT CURLY BRACKET
-0x7C 0x007C # VERTICAL LINE
-0x7D 0x007D # RIGHT CURLY BRACKET
-0x7E 0x007E # TILDE
-#
-0x80 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
-0x81 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE
-0x82 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA
-0x83 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
-0x84 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE
-0x85 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
-0x86 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
-0x87 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
-0x88 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
-0x89 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
-0x8A 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
-0x8B 0x00E3 # LATIN SMALL LETTER A WITH TILDE
-0x8C 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE
-0x8D 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
-0x8E 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
-0x8F 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
-0x90 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0x91 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS
-0x92 0x00ED # LATIN SMALL LETTER I WITH ACUTE
-0x93 0x00EC # LATIN SMALL LETTER I WITH GRAVE
-0x94 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX
-0x95 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS
-0x96 0x00F1 # LATIN SMALL LETTER N WITH TILDE
-0x97 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
-0x98 0x00F2 # LATIN SMALL LETTER O WITH GRAVE
-0x99 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
-0x9A 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
-0x9B 0x00F5 # LATIN SMALL LETTER O WITH TILDE
-0x9C 0x00FA # LATIN SMALL LETTER U WITH ACUTE
-0x9D 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
-0x9E 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX
-0x9F 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
-0xA0 0x2020 # DAGGER
-0xA1 0x00B0 # DEGREE SIGN
-0xA2 0x00A2 # CENT SIGN
-0xA3 0x00A3 # POUND SIGN
-0xA4 0x00A7 # SECTION SIGN
-0xA5 0x2022 # BULLET
-0xA6 0x00B6 # PILCROW SIGN
-0xA7 0x00DF # LATIN SMALL LETTER SHARP S
-0xA8 0x00AE # REGISTERED SIGN
-0xA9 0x00A9 # COPYRIGHT SIGN
-0xAA 0x2122 # TRADE MARK SIGN
-0xAB 0x00B4 # ACUTE ACCENT
-0xAC 0x00A8 # DIAERESIS
-0xAD 0x2260 # NOT EQUAL TO
-0xAE 0x00C6 # LATIN CAPITAL LETTER AE
-0xAF 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE
-0xB0 0x221E # INFINITY
-0xB1 0x00B1 # PLUS-MINUS SIGN
-0xB2 0x2264 # LESS-THAN OR EQUAL TO
-0xB3 0x2265 # GREATER-THAN OR EQUAL TO
-0xB4 0x00A5 # YEN SIGN
-0xB5 0x00B5 # MICRO SIGN
-0xB6 0x2202 # PARTIAL DIFFERENTIAL
-0xB7 0x2211 # N-ARY SUMMATION
-0xB8 0x220F # N-ARY PRODUCT
-0xB9 0x03C0 # GREEK SMALL LETTER PI
-0xBA 0x222B # INTEGRAL
-0xBB 0x00AA # FEMININE ORDINAL INDICATOR
-0xBC 0x00BA # MASCULINE ORDINAL INDICATOR
-0xBD 0x03A9 # GREEK CAPITAL LETTER OMEGA
-0xBE 0x00E6 # LATIN SMALL LETTER AE
-0xBF 0x00F8 # LATIN SMALL LETTER O WITH STROKE
-0xC0 0x00BF # INVERTED QUESTION MARK
-0xC1 0x00A1 # INVERTED EXCLAMATION MARK
-0xC2 0x00AC # NOT SIGN
-0xC3 0x221A # SQUARE ROOT
-0xC4 0x0192 # LATIN SMALL LETTER F WITH HOOK
-0xC5 0x2248 # ALMOST EQUAL TO
-0xC6 0x2206 # INCREMENT
-0xC7 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-0xC8 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-0xC9 0x2026 # HORIZONTAL ELLIPSIS
-0xCA 0x00A0 # NO-BREAK SPACE
-0xCB 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE
-0xCC 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE
-0xCD 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE
-0xCE 0x0152 # LATIN CAPITAL LIGATURE OE
-0xCF 0x0153 # LATIN SMALL LIGATURE OE
-0xD0 0x2013 # EN DASH
-0xD1 0x2014 # EM DASH
-0xD2 0x201C # LEFT DOUBLE QUOTATION MARK
-0xD3 0x201D # RIGHT DOUBLE QUOTATION MARK
-0xD4 0x2018 # LEFT SINGLE QUOTATION MARK
-0xD5 0x2019 # RIGHT SINGLE QUOTATION MARK
-0xD6 0x00F7 # DIVISION SIGN
-0xD7 0x25CA # LOZENGE
-0xD8 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS
-0xD9 0x0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS
-0xDA 0x011E # LATIN CAPITAL LETTER G WITH BREVE
-0xDB 0x011F # LATIN SMALL LETTER G WITH BREVE
-0xDC 0x0130 # LATIN CAPITAL LETTER I WITH DOT ABOVE
-0xDD 0x0131 # LATIN SMALL LETTER DOTLESS I
-0xDE 0x015E # LATIN CAPITAL LETTER S WITH CEDILLA
-0xDF 0x015F # LATIN SMALL LETTER S WITH CEDILLA
-0xE0 0x2021 # DOUBLE DAGGER
-0xE1 0x00B7 # MIDDLE DOT
-0xE2 0x201A # SINGLE LOW-9 QUOTATION MARK
-0xE3 0x201E # DOUBLE LOW-9 QUOTATION MARK
-0xE4 0x2030 # PER MILLE SIGN
-0xE5 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-0xE6 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0xE7 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE
-0xE8 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS
-0xE9 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE
-0xEA 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE
-0xEB 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-0xEC 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS
-0xED 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE
-0xEE 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE
-0xEF 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-0xF0 0xF8FF # Apple logo
-0xF1 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE
-0xF2 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE
-0xF3 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
-0xF4 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE
-0xF5 0xF8A0 # undefined1
-0xF6 0x02C6 # MODIFIER LETTER CIRCUMFLEX ACCENT
-0xF7 0x02DC # SMALL TILDE
-0xF8 0x00AF # MACRON
-0xF9 0x02D8 # BREVE
-0xFA 0x02D9 # DOT ABOVE
-0xFB 0x02DA # RING ABOVE
-0xFC 0x00B8 # CEDILLA
-0xFD 0x02DD # DOUBLE ACUTE ACCENT
-0xFE 0x02DB # OGONEK
-0xFF 0x02C7 # CARON
-
-"
-!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/TURKISH.TXT'
+0x20 0x0020 # SPACE
+0x21 0x0021 # EXCLAMATION MARK
+0x22 0x0022 # QUOTATION MARK
+0x23 0x0023 # NUMBER SIGN
+0x24 0x0024 # DOLLAR SIGN
+0x25 0x0025 # PERCENT SIGN
+0x26 0x0026 # AMPERSAND
+0x27 0x0027 # APOSTROPHE
+0x28 0x0028 # LEFT PARENTHESIS
+0x29 0x0029 # RIGHT PARENTHESIS
+0x2A 0x002A # ASTERISK
+0x2B 0x002B # PLUS SIGN
+0x2C 0x002C # COMMA
+0x2D 0x002D # HYPHEN-MINUS
+0x2E 0x002E # FULL STOP
+0x2F 0x002F # SOLIDUS
+0x30 0x0030 # DIGIT ZERO
+0x31 0x0031 # DIGIT ONE
+0x32 0x0032 # DIGIT TWO
+0x33 0x0033 # DIGIT THREE
+0x34 0x0034 # DIGIT FOUR
+0x35 0x0035 # DIGIT FIVE
+0x36 0x0036 # DIGIT SIX
+0x37 0x0037 # DIGIT SEVEN
+0x38 0x0038 # DIGIT EIGHT
+0x39 0x0039 # DIGIT NINE
+0x3A 0x003A # COLON
+0x3B 0x003B # SEMICOLON
+0x3C 0x003C # LESS-THAN SIGN
+0x3D 0x003D # EQUALS SIGN
+0x3E 0x003E # GREATER-THAN SIGN
+0x3F 0x003F # QUESTION MARK
+0x40 0x0040 # COMMERCIAL AT
+0x41 0x0041 # LATIN CAPITAL LETTER A
+0x42 0x0042 # LATIN CAPITAL LETTER B
+0x43 0x0043 # LATIN CAPITAL LETTER C
+0x44 0x0044 # LATIN CAPITAL LETTER D
+0x45 0x0045 # LATIN CAPITAL LETTER E
+0x46 0x0046 # LATIN CAPITAL LETTER F
+0x47 0x0047 # LATIN CAPITAL LETTER G
+0x48 0x0048 # LATIN CAPITAL LETTER H
+0x49 0x0049 # LATIN CAPITAL LETTER I
+0x4A 0x004A # LATIN CAPITAL LETTER J
+0x4B 0x004B # LATIN CAPITAL LETTER K
+0x4C 0x004C # LATIN CAPITAL LETTER L
+0x4D 0x004D # LATIN CAPITAL LETTER M
+0x4E 0x004E # LATIN CAPITAL LETTER N
+0x4F 0x004F # LATIN CAPITAL LETTER O
+0x50 0x0050 # LATIN CAPITAL LETTER P
+0x51 0x0051 # LATIN CAPITAL LETTER Q
+0x52 0x0052 # LATIN CAPITAL LETTER R
+0x53 0x0053 # LATIN CAPITAL LETTER S
+0x54 0x0054 # LATIN CAPITAL LETTER T
+0x55 0x0055 # LATIN CAPITAL LETTER U
+0x56 0x0056 # LATIN CAPITAL LETTER V
+0x57 0x0057 # LATIN CAPITAL LETTER W
+0x58 0x0058 # LATIN CAPITAL LETTER X
+0x59 0x0059 # LATIN CAPITAL LETTER Y
+0x5A 0x005A # LATIN CAPITAL LETTER Z
+0x5B 0x005B # LEFT SQUARE BRACKET
+0x5C 0x005C # REVERSE SOLIDUS
+0x5D 0x005D # RIGHT SQUARE BRACKET
+0x5E 0x005E # CIRCUMFLEX ACCENT
+0x5F 0x005F # LOW LINE
+0x60 0x0060 # GRAVE ACCENT
+0x61 0x0061 # LATIN SMALL LETTER A
+0x62 0x0062 # LATIN SMALL LETTER B
+0x63 0x0063 # LATIN SMALL LETTER C
+0x64 0x0064 # LATIN SMALL LETTER D
+0x65 0x0065 # LATIN SMALL LETTER E
+0x66 0x0066 # LATIN SMALL LETTER F
+0x67 0x0067 # LATIN SMALL LETTER G
+0x68 0x0068 # LATIN SMALL LETTER H
+0x69 0x0069 # LATIN SMALL LETTER I
+0x6A 0x006A # LATIN SMALL LETTER J
+0x6B 0x006B # LATIN SMALL LETTER K
+0x6C 0x006C # LATIN SMALL LETTER L
+0x6D 0x006D # LATIN SMALL LETTER M
+0x6E 0x006E # LATIN SMALL LETTER N
+0x6F 0x006F # LATIN SMALL LETTER O
+0x70 0x0070 # LATIN SMALL LETTER P
+0x71 0x0071 # LATIN SMALL LETTER Q
+0x72 0x0072 # LATIN SMALL LETTER R
+0x73 0x0073 # LATIN SMALL LETTER S
+0x74 0x0074 # LATIN SMALL LETTER T
+0x75 0x0075 # LATIN SMALL LETTER U
+0x76 0x0076 # LATIN SMALL LETTER V
+0x77 0x0077 # LATIN SMALL LETTER W
+0x78 0x0078 # LATIN SMALL LETTER X
+0x79 0x0079 # LATIN SMALL LETTER Y
+0x7A 0x007A # LATIN SMALL LETTER Z
+0x7B 0x007B # LEFT CURLY BRACKET
+0x7C 0x007C # VERTICAL LINE
+0x7D 0x007D # RIGHT CURLY BRACKET
+0x7E 0x007E # TILDE
+#
+0x80 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
+0x81 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE
+0x82 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA
+0x83 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
+0x84 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE
+0x85 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
+0x86 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
+0x87 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
+0x88 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
+0x89 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x8A 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
+0x8B 0x00E3 # LATIN SMALL LETTER A WITH TILDE
+0x8C 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE
+0x8D 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
+0x8E 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
+0x8F 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
+0x90 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x91 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS
+0x92 0x00ED # LATIN SMALL LETTER I WITH ACUTE
+0x93 0x00EC # LATIN SMALL LETTER I WITH GRAVE
+0x94 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x95 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS
+0x96 0x00F1 # LATIN SMALL LETTER N WITH TILDE
+0x97 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
+0x98 0x00F2 # LATIN SMALL LETTER O WITH GRAVE
+0x99 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x9A 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
+0x9B 0x00F5 # LATIN SMALL LETTER O WITH TILDE
+0x9C 0x00FA # LATIN SMALL LETTER U WITH ACUTE
+0x9D 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
+0x9E 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX
+0x9F 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
+0xA0 0x2020 # DAGGER
+0xA1 0x00B0 # DEGREE SIGN
+0xA2 0x00A2 # CENT SIGN
+0xA3 0x00A3 # POUND SIGN
+0xA4 0x00A7 # SECTION SIGN
+0xA5 0x2022 # BULLET
+0xA6 0x00B6 # PILCROW SIGN
+0xA7 0x00DF # LATIN SMALL LETTER SHARP S
+0xA8 0x00AE # REGISTERED SIGN
+0xA9 0x00A9 # COPYRIGHT SIGN
+0xAA 0x2122 # TRADE MARK SIGN
+0xAB 0x00B4 # ACUTE ACCENT
+0xAC 0x00A8 # DIAERESIS
+0xAD 0x2260 # NOT EQUAL TO
+0xAE 0x00C6 # LATIN CAPITAL LETTER AE
+0xAF 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE
+0xB0 0x221E # INFINITY
+0xB1 0x00B1 # PLUS-MINUS SIGN
+0xB2 0x2264 # LESS-THAN OR EQUAL TO
+0xB3 0x2265 # GREATER-THAN OR EQUAL TO
+0xB4 0x00A5 # YEN SIGN
+0xB5 0x00B5 # MICRO SIGN
+0xB6 0x2202 # PARTIAL DIFFERENTIAL
+0xB7 0x2211 # N-ARY SUMMATION
+0xB8 0x220F # N-ARY PRODUCT
+0xB9 0x03C0 # GREEK SMALL LETTER PI
+0xBA 0x222B # INTEGRAL
+0xBB 0x00AA # FEMININE ORDINAL INDICATOR
+0xBC 0x00BA # MASCULINE ORDINAL INDICATOR
+0xBD 0x03A9 # GREEK CAPITAL LETTER OMEGA
+0xBE 0x00E6 # LATIN SMALL LETTER AE
+0xBF 0x00F8 # LATIN SMALL LETTER O WITH STROKE
+0xC0 0x00BF # INVERTED QUESTION MARK
+0xC1 0x00A1 # INVERTED EXCLAMATION MARK
+0xC2 0x00AC # NOT SIGN
+0xC3 0x221A # SQUARE ROOT
+0xC4 0x0192 # LATIN SMALL LETTER F WITH HOOK
+0xC5 0x2248 # ALMOST EQUAL TO
+0xC6 0x2206 # INCREMENT
+0xC7 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC8 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xC9 0x2026 # HORIZONTAL ELLIPSIS
+0xCA 0x00A0 # NO-BREAK SPACE
+0xCB 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE
+0xCC 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE
+0xCD 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE
+0xCE 0x0152 # LATIN CAPITAL LIGATURE OE
+0xCF 0x0153 # LATIN SMALL LIGATURE OE
+0xD0 0x2013 # EN DASH
+0xD1 0x2014 # EM DASH
+0xD2 0x201C # LEFT DOUBLE QUOTATION MARK
+0xD3 0x201D # RIGHT DOUBLE QUOTATION MARK
+0xD4 0x2018 # LEFT SINGLE QUOTATION MARK
+0xD5 0x2019 # RIGHT SINGLE QUOTATION MARK
+0xD6 0x00F7 # DIVISION SIGN
+0xD7 0x25CA # LOZENGE
+0xD8 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS
+0xD9 0x0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS
+0xDA 0x011E # LATIN CAPITAL LETTER G WITH BREVE
+0xDB 0x011F # LATIN SMALL LETTER G WITH BREVE
+0xDC 0x0130 # LATIN CAPITAL LETTER I WITH DOT ABOVE
+0xDD 0x0131 # LATIN SMALL LETTER DOTLESS I
+0xDE 0x015E # LATIN CAPITAL LETTER S WITH CEDILLA
+0xDF 0x015F # LATIN SMALL LETTER S WITH CEDILLA
+0xE0 0x2021 # DOUBLE DAGGER
+0xE1 0x00B7 # MIDDLE DOT
+0xE2 0x201A # SINGLE LOW-9 QUOTATION MARK
+0xE3 0x201E # DOUBLE LOW-9 QUOTATION MARK
+0xE4 0x2030 # PER MILLE SIGN
+0xE5 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xE6 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xE7 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE
+0xE8 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS
+0xE9 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE
+0xEA 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE
+0xEB 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xEC 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS
+0xED 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE
+0xEE 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE
+0xEF 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xF0 0xF8FF # Apple logo
+0xF1 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE
+0xF2 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE
+0xF3 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xF4 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE
+0xF5 0xF8A0 # undefined1
+0xF6 0x02C6 # MODIFIER LETTER CIRCUMFLEX ACCENT
+0xF7 0x02DC # SMALL TILDE
+0xF8 0x00AF # MACRON
+0xF9 0x02D8 # BREVE
+0xFA 0x02D9 # DOT ABOVE
+0xFB 0x02DA # RING ABOVE
+0xFC 0x00B8 # CEDILLA
+0xFD 0x02DD # DOUBLE ACUTE ACCENT
+0xFE 0x02DB # OGONEK
+0xFF 0x02C7 # CARON
+
+"
+!
+
+mappingURL1_relativePathName
+ ^ 'VENDORS/APPLE/TURKISH.TXT'
! !
!CharacterEncoder::MAC_Turkish methodsFor:'encoding & decoding'!
@@ -15713,8 +32479,8 @@
code < 127 ifTrue:[ ^ code ].
code > 255 ifTrue:[
- self error:'invalid code'.
- ^ $? asciiValue
+ self error:'invalid code'.
+ ^ $? asciiValue
].
^ #(
"16r007F" 16rFFFF " invalid "
@@ -15849,224 +32615,578 @@
) at:(code - 126)
! !
-!CharacterEncoder::MAC_Ukraine class methodsFor:'mapping'!
+!CharacterEncoder::MS_Ansi class methodsFor:'mapping'!
+
+mappingURL2_relativePathName
+ ^ 'CP1252'
+! !
+
+!CharacterEncoder::MS_Ansi class methodsFor:'queries'!
+
+alternativeNamesOfEncoding
+ ^ #( 'ms-ansi' 'ms-cp1252' 'cp1252' )
+! !
+
+!CharacterEncoder::MS_Arabic class methodsFor:'mapping'!
+
+mappingURL2_relativePathName
+ ^ 'CP1256'
+! !
+
+!CharacterEncoder::MS_Arabic class methodsFor:'queries'!
+
+alternativeNamesOfEncoding
+ ^ #( 'ms-arabic' 'ms-cp1256' 'cp1256' )
+! !
+
+!CharacterEncoder::MS_Cyrillic class methodsFor:'mapping'!
+
+mappingURL2_relativePathName
+ ^ 'CP1251'
+! !
+
+!CharacterEncoder::MS_Cyrillic class methodsFor:'queries'!
+
+alternativeNamesOfEncoding
+ ^ #( 'ms-cyrillic' 'ms-cp1251' 'cp1251' )
+! !
+
+!CharacterEncoder::MS_EastEuropean class methodsFor:'mapping'!
+
+mappingURL2_relativePathName
+ ^ 'CP1250'
+! !
+
+!CharacterEncoder::MS_EastEuropean class methodsFor:'queries'!
+
+alternativeNamesOfEncoding
+ ^ #( 'ms-easteuropean' 'ms-ee' 'cp1250' 'ms-cp1250' )
+! !
+
+!CharacterEncoder::MS_Greek class methodsFor:'mapping'!
+
+mappingURL2_relativePathName
+ ^ 'CP1253'
+! !
+
+!CharacterEncoder::MS_Greek class methodsFor:'queries'!
+
+alternativeNamesOfEncoding
+ ^ #( 'ms-greek' 'ms-cp1253' 'cp1253' )
+! !
+
+!CharacterEncoder::MS_Hebrew class methodsFor:'mapping'!
+
+mappingURL2_relativePathName
+ ^ 'CP1255'
+! !
+
+!CharacterEncoder::MS_Hebrew class methodsFor:'queries'!
+
+alternativeNamesOfEncoding
+ ^ #( 'ms-hebrew' 'ms-cp1255' 'cp1255' )
+! !
+
+!CharacterEncoder::MS_Turkish class methodsFor:'mapping'!
mapping
"
-# From: http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/UKRAINE.TXT
-
-#=======================================================================
-# File name: UKRAINE.TXT
-#
-# Contents: Notes on Mac OS Ukrainian character set
-#
-# Copyright: (c) 1995-2002 by Apple Computer, Inc., all rights
-# reserved.
-#
-# Contact: charsets@apple.com
-#
-# Changes:
-#
-# b3,c1 2002-Dec-19 Update URLs. Matches internal utom<b1>.
-# b02 1999-Sep-22 Encoding changed for Mac OS 9.0 to merge
-# with Mac OS Cyrillic and support EURO SIGN;
-# change mappings for 0xFF. For Mac OS 9.0
-# there is no longer a separate Mac OS
-# Ukrainian character set; the mappings are
-# in CYRILLIC.TXT. Update contact e-mail
-# address. Matches internal utom<b1>, ufrm<b1>,
-# and Text Encoding Converter version 1.5.
-# n04 1998-Feb-05 Update header comments to new format; no
-# mapping changes. Matches internal utom<2>,
-# ufrm<13>, and Text Encoding Converter
-# version 1.3.
-# n02 1995-Apr-15 First version (after fixing some typos).
-# Matches internal ufrm<4>.
-#
-# Standard header:
-# ----------------
-#
-# Apple, the Apple logo, and Macintosh are trademarks of Apple
-# Computer, Inc., registered in the United States and other countries.
-# Unicode is a trademark of Unicode Inc. For the sake of brevity,
-# throughout this document, 'Macintosh' can be used to refer to
-# Macintosh computers and 'Unicode' can be used to refer to the
-# Unicode standard.
-#
-# Apple makes no warranty or representation, either express or
-# implied, with respect to these tables, their quality, accuracy, or
-# fitness for a particular purpose. In no event will Apple be liable
-# for direct, indirect, special, incidental, or consequential damages
-# resulting from any defect or inaccuracy in this document or the
-# accompanying tables.
-#
-# These mapping tables and character lists are subject to change.
-# The latest tables should be available from the following:
-#
-# <http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/>
-#
-# For general information about Mac OS encodings and these mapping
-# tables, see the file 'README.TXT'.
-#
-# Notes on Mac OS Ukrainian and Mac OS Cyrillic:
-# ----------------------------------------------
-#
-# Before Mac OS 9.0, there were two separate Slavic Cyrillic
-# encodings for the Mac OS:
-#
-# 1. The Cyrillic currency sign variant (used for localized Russian
-# and Bulgarian systems), which had the following:
-# 0xA2 U+00A2 CENT SIGN
-# 0xB6 U+2202 PARTIAL DIFFERENTIAL
-# 0xFF U+00A4 CURRENCY SIGN
-#
-# 2. The Ukrainian currency sign variant (used for localized Ukrainian
-# systems and the pre-9.0 Cyrillic Language Kit), which had the
-# following:
-# 0xA2 U+0490 CYRILLIC CAPITAL LETTER GHE WITH UPTURN
-# 0xB6 U+0491 CYRILLIC SMALL LETTER GHE WITH UPTURN
-# 0xFF U+00A4 CURRENCY SIGN
-#
-# Before Mac OS 9.0, The Ukrainian currency sign variant shared the
-# script code smCyrillic (7) with the Cyrillic currency sign variant.
-# The Ukrainian currency sign variant was being used if one of the
-# following was true:
-# - The system region code was 62, verUkraine (indicates Ukrainian
-# localized system), or
-# - The system script was not 7, smCyrillic (indicates Cyrillic
-# Language Kit instead of localized system).
-#
-# For Mac OS 9.0, both currency sign variants were replaced with a new
-# Euro sign version of Mac OS Cyrillic, which is similar to the old
-# Ukrainian currency sign variant but changes 0xFF to EURO SIGN.
-#
-# Note: There is a common glyph variation in Ukrainian, in which the
-# glyph for CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I may or
-# may not have a dot above.
-#
-# Details of mapping changes in each version:
-# -------------------------------------------
-#
-# Changes from version n04 to version b02:
-#
-# - Encoding changed for Mac OS 9.0 to merge with Mac OS Cyrillic and
-# support EURO SIGN; 0xFF changed from U+00A4 to U+20AC. For Mac OS
-# 9.0 there is no longer a separate Mac OS Ukrainian character set, so
-# the mappings here are deleted; see the mappings in CYRILLIC.TXT.
-#
-##################
-
-##################
-# For mappings, see CYRILLIC.TXT
-##################
-
-"
-!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/UKRAINE.TXT'
-! !
-
-!CharacterEncoder::MS_CP1006 class methodsFor:'mapping'!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/CP1006.TXT'
-! !
-
-!CharacterEncoder::MS_CP1250 class methodsFor:'mapping'!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1250.TXT'
-! !
-
-!CharacterEncoder::MS_CP1251 class methodsFor:'mapping'!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1251.TXT'
-! !
-
-!CharacterEncoder::MS_CP1252 class methodsFor:'mapping'!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1252.TXT'
-! !
-
-!CharacterEncoder::MS_CP1253 class methodsFor:'mapping'!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1253.TXT'
-! !
-
-!CharacterEncoder::MS_CP1254 class methodsFor:'mapping'!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1254.TXT'
-! !
-
-!CharacterEncoder::MS_CP1255 class methodsFor:'mapping'!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1255.TXT'
-! !
-
-!CharacterEncoder::MS_CP1256 class methodsFor:'mapping'!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1256.TXT'
-! !
-
-!CharacterEncoder::MS_CP1257 class methodsFor:'mapping'!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1257.TXT'
-! !
-
-!CharacterEncoder::MS_CP1258 class methodsFor:'mapping'!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1258.TXT'
-! !
-
-!CharacterEncoder::MS_CP424 class methodsFor:'mapping'!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/CP424.TXT'
-! !
-
-!CharacterEncoder::MS_CP856 class methodsFor:'mapping'!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/CP856.TXT'
-! !
-
-!CharacterEncoder::MS_CP874 class methodsFor:'mapping'!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP874.TXT'
-! !
-
-!CharacterEncoder::MS_CP932 class methodsFor:'mapping'!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.TXT'
-! !
-
-!CharacterEncoder::MS_CP936 class methodsFor:'mapping'!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP936.TXT'
-! !
-
-!CharacterEncoder::MS_CP949 class methodsFor:'mapping'!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP949.TXT'
-! !
-
-!CharacterEncoder::MS_CP950 class methodsFor:'mapping'!
-
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT'
+# From: http://std.dkuug.dk/i18n/charmaps/CP1254
+
+<code_set_name> CP1254
+<comment_char> %
+<escape_char> /
+% version: 1.0
+% repertoiremap: mnemonic,ds
+% source: UNICODE 1.0
+
+% alias MS-TURK
+CHARMAP
+<NU> /x00 <U0000> NULL (NUL)
+<SH> /x01 <U0001> START OF HEADING (SOH)
+<SX> /x02 <U0002> START OF TEXT (STX)
+<EX> /x03 <U0003> END OF TEXT (ETX)
+<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
+<EQ> /x05 <U0005> ENQUIRY (ENQ)
+<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
+<BL> /x07 <U0007> BELL (BEL)
+<BS> /x08 <U0008> BACKSPACE (BS)
+<HT> /x09 <U0009> CHARACTER TABULATION (HT)
+<LF> /x0A <U000A> LINE FEED (LF)
+<VT> /x0B <U000B> LINE TABULATION (VT)
+<FF> /x0C <U000C> FORM FEED (FF)
+<CR> /x0D <U000D> CARRIAGE RETURN (CR)
+<SO> /x0E <U000E> SHIFT OUT (SO)
+<SI> /x0F <U000F> SHIFT IN (SI)
+<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
+<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
+<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
+<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
+<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
+<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
+<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
+<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
+<CN> /x18 <U0018> CANCEL (CAN)
+<EM> /x19 <U0019> END OF MEDIUM (EM)
+<SB> /x1A <U001A> SUBSTITUTE (SUB)
+<EC> /x1B <U001B> ESCAPE (ESC)
+<FS> /x1C <U001C> FILE SEPARATOR (IS4)
+<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
+<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
+<US> /x1F <U001F> UNIT SEPARATOR (IS1)
+<SP> /x20 <U0020> SPACE
+<!!> /x21 <U0021> EXCLAMATION MARK
+<'> /x22 <U0022> QUOTATION MARK
+<Nb> /x23 <U0023> NUMBER SIGN
+<DO> /x24 <U0024> DOLLAR SIGN
+<%> /x25 <U0025> PERCENT SIGN
+<&> /x26 <U0026> AMPERSAND
+<'> /x27 <U0027> APOSTROPHE
+<(> /x28 <U0028> LEFT PARENTHESIS
+<)> /x29 <U0029> RIGHT PARENTHESIS
+<*> /x2A <U002A> ASTERISK
+<+> /x2B <U002B> PLUS SIGN
+<,> /x2C <U002C> COMMA
+<-> /x2D <U002D> HYPHEN-MINUS
+<.> /x2E <U002E> FULL STOP
+<//> /x2F <U002F> SOLIDUS
+<0> /x30 <U0030> DIGIT ZERO
+<1> /x31 <U0031> DIGIT ONE
+<2> /x32 <U0032> DIGIT TWO
+<3> /x33 <U0033> DIGIT THREE
+<4> /x34 <U0034> DIGIT FOUR
+<5> /x35 <U0035> DIGIT FIVE
+<6> /x36 <U0036> DIGIT SIX
+<7> /x37 <U0037> DIGIT SEVEN
+<8> /x38 <U0038> DIGIT EIGHT
+<9> /x39 <U0039> DIGIT NINE
+<:> /x3A <U003A> COLON
+<;> /x3B <U003B> SEMICOLON
+<<> /x3C <U003C> LESS-THAN SIGN
+<=> /x3D <U003D> EQUALS SIGN
+</>> /x3E <U003E> GREATER-THAN SIGN
+<?> /x3F <U003F> QUESTION MARK
+<At> /x40 <U0040> COMMERCIAL AT
+<A> /x41 <U0041> LATIN CAPITAL LETTER A
+<B> /x42 <U0042> LATIN CAPITAL LETTER B
+<C> /x43 <U0043> LATIN CAPITAL LETTER C
+<D> /x44 <U0044> LATIN CAPITAL LETTER D
+<E> /x45 <U0045> LATIN CAPITAL LETTER E
+<F> /x46 <U0046> LATIN CAPITAL LETTER F
+<G> /x47 <U0047> LATIN CAPITAL LETTER G
+<H> /x48 <U0048> LATIN CAPITAL LETTER H
+<I> /x49 <U0049> LATIN CAPITAL LETTER I
+<J> /x4A <U004A> LATIN CAPITAL LETTER J
+<K> /x4B <U004B> LATIN CAPITAL LETTER K
+<L> /x4C <U004C> LATIN CAPITAL LETTER L
+<M> /x4D <U004D> LATIN CAPITAL LETTER M
+<N> /x4E <U004E> LATIN CAPITAL LETTER N
+<O> /x4F <U004F> LATIN CAPITAL LETTER O
+<P> /x50 <U0050> LATIN CAPITAL LETTER P
+<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
+<R> /x52 <U0052> LATIN CAPITAL LETTER R
+<S> /x53 <U0053> LATIN CAPITAL LETTER S
+<T> /x54 <U0054> LATIN CAPITAL LETTER T
+<U> /x55 <U0055> LATIN CAPITAL LETTER U
+<V> /x56 <U0056> LATIN CAPITAL LETTER V
+<W> /x57 <U0057> LATIN CAPITAL LETTER W
+<X> /x58 <U0058> LATIN CAPITAL LETTER X
+<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
+<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
+<<(> /x5B <U005B> LEFT SQUARE BRACKET
+<////> /x5C <U005C> REVERSE SOLIDUS
+<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
+<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
+<_> /x5F <U005F> LOW LINE
+<'!!> /x60 <U0060> GRAVE ACCENT
+<a> /x61 <U0061> LATIN SMALL LETTER A
+<b> /x62 <U0062> LATIN SMALL LETTER B
+<c> /x63 <U0063> LATIN SMALL LETTER C
+<d> /x64 <U0064> LATIN SMALL LETTER D
+<e> /x65 <U0065> LATIN SMALL LETTER E
+<f> /x66 <U0066> LATIN SMALL LETTER F
+<g> /x67 <U0067> LATIN SMALL LETTER G
+<h> /x68 <U0068> LATIN SMALL LETTER H
+<i> /x69 <U0069> LATIN SMALL LETTER I
+<j> /x6A <U006A> LATIN SMALL LETTER J
+<k> /x6B <U006B> LATIN SMALL LETTER K
+<l> /x6C <U006C> LATIN SMALL LETTER L
+<m> /x6D <U006D> LATIN SMALL LETTER M
+<n> /x6E <U006E> LATIN SMALL LETTER N
+<o> /x6F <U006F> LATIN SMALL LETTER O
+<p> /x70 <U0070> LATIN SMALL LETTER P
+<q> /x71 <U0071> LATIN SMALL LETTER Q
+<r> /x72 <U0072> LATIN SMALL LETTER R
+<s> /x73 <U0073> LATIN SMALL LETTER S
+<t> /x74 <U0074> LATIN SMALL LETTER T
+<u> /x75 <U0075> LATIN SMALL LETTER U
+<v> /x76 <U0076> LATIN SMALL LETTER V
+<w> /x77 <U0077> LATIN SMALL LETTER W
+<x> /x78 <U0078> LATIN SMALL LETTER X
+<y> /x79 <U0079> LATIN SMALL LETTER Y
+<z> /x7A <U007A> LATIN SMALL LETTER Z
+<(!!> /x7B <U007B> LEFT CURLY BRACKET
+<!!!!> /x7C <U007C> VERTICAL LINE
+<!!)> /x7D <U007D> RIGHT CURLY BRACKET
+<'?> /x7E <U007E> TILDE
+<DT> /x7F <U007F> DELETE (DEL)
+<.9> /x82 <U201A> SINGLE LOW-9 QUOTATION MARK
+<f2> /x83 <U0192> LATIN SMALL LETTER F WITH HOOK
+<:9> /x84 <U201E> DOUBLE LOW-9 QUOTATION MARK
+<.3> /x85 <U2026> HORIZONTAL ELLIPSIS
+<//-> /x86 <U2020> DAGGER
+<//=> /x87 <U2021> DOUBLE DAGGER
+<1/>> /x88 <U02C6> MODIFIER LETTER CIRCUMFLEX ACCENT
+<%0> /x89 <U2030> PER MILLE SIGN
+<S<> /x8A <U0160> LATIN CAPITAL LETTER S WITH CARON
+<<1> /x8B <U2039> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+<OE> /x8C <U0152> LATIN CAPITAL LIGATURE OE
+<'6> /x91 <U2018> LEFT SINGLE QUOTATION MARK
+<'9> /x92 <U2019> RIGHT SINGLE QUOTATION MARK
+<'6> /x93 <U201C> LEFT DOUBLE QUOTATION MARK
+<'9> /x94 <U201D> RIGHT DOUBLE QUOTATION MARK
+<sb> /x95 <U2022> BULLET
+<-N> /x96 <U2013> EN DASH
+<-M> /x97 <U2014> EM DASH
+<1?> /x98 <U02DC> SMALL TILDE
+<TM> /x99 <U2122> TRADE MARK SIGN
+<s<> /x9A <U0161> LATIN SMALL LETTER S WITH CARON
+</>1> /x9B <U203A> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+<oe> /x9C <U0153> LATIN SMALL LIGATURE OE
+<Y:> /x9F <U0178> LATIN CAPITAL LETTER Y WITH DIAERESIS
+<NS> /xA0 <U00A0> NO-BREAK SPACE
+<!!I> /xA1 <U00A1> INVERTED EXCLAMATION MARK
+<Ct> /xA2 <U00A2> CENT SIGN
+<Pd> /xA3 <U00A3> POUND SIGN
+<Cu> /xA4 <U00A4> CURRENCY SIGN
+<Ye> /xA5 <U00A5> YEN SIGN
+<BB> /xA6 <U00A6> BROKEN BAR
+<SE> /xA7 <U00A7> SECTION SIGN
+<':> /xA8 <U00A8> DIAERESIS
+<Co> /xA9 <U00A9> COPYRIGHT SIGN
+<-a> /xAA <U00AA> FEMININE ORDINAL INDICATOR
+<<<> /xAB <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+<NO> /xAC <U00AC> NOT SIGN
+<--> /xAD <U00AD> SOFT HYPHEN
+<Rg> /xAE <U00AE> REGISTERED SIGN
+<'m> /xAF <U00AF> MACRON
+<DG> /xB0 <U00B0> DEGREE SIGN
+<+-> /xB1 <U00B1> PLUS-MINUS SIGN
+<2S> /xB2 <U00B2> SUPERSCRIPT TWO
+<3S> /xB3 <U00B3> SUPERSCRIPT THREE
+<''> /xB4 <U00B4> ACUTE ACCENT
+<My> /xB5 <U00B5> MICRO SIGN
+<PI> /xB6 <U00B6> PILCROW SIGN
+<.M> /xB7 <U00B7> MIDDLE DOT
+<',> /xB8 <U00B8> CEDILLA
+<1S> /xB9 <U00B9> SUPERSCRIPT ONE
+<-o> /xBA <U00BA> MASCULINE ORDINAL INDICATOR
+</>/>> /xBB <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+<14> /xBC <U00BC> VULGAR FRACTION ONE QUARTER
+<12> /xBD <U00BD> VULGAR FRACTION ONE HALF
+<34> /xBE <U00BE> VULGAR FRACTION THREE QUARTERS
+<?I> /xBF <U00BF> INVERTED QUESTION MARK
+<A!!> /xC0 <U00C0> LATIN CAPITAL LETTER A WITH GRAVE
+<A'> /xC1 <U00C1> LATIN CAPITAL LETTER A WITH ACUTE
+<A/>> /xC2 <U00C2> LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+<A?> /xC3 <U00C3> LATIN CAPITAL LETTER A WITH TILDE
+<A:> /xC4 <U00C4> LATIN CAPITAL LETTER A WITH DIAERESIS
+<AA> /xC5 <U00C5> LATIN CAPITAL LETTER A WITH RING ABOVE
+<AE> /xC6 <U00C6> LATIN CAPITAL LETTER AE
+<C,> /xC7 <U00C7> LATIN CAPITAL LETTER C WITH CEDILLA
+<E!!> /xC8 <U00C8> LATIN CAPITAL LETTER E WITH GRAVE
+<E'> /xC9 <U00C9> LATIN CAPITAL LETTER E WITH ACUTE
+<E/>> /xCA <U00CA> LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+<E:> /xCB <U00CB> LATIN CAPITAL LETTER E WITH DIAERESIS
+<I!!> /xCC <U00CC> LATIN CAPITAL LETTER I WITH GRAVE
+<I'> /xCD <U00CD> LATIN CAPITAL LETTER I WITH ACUTE
+<I/>> /xCE <U00CE> LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+<I:> /xCF <U00CF> LATIN CAPITAL LETTER I WITH DIAERESIS
+<G(> /xD0 <U011E> LATIN CAPITAL LETTER G WITH BREVE
+<N?> /xD1 <U00D1> LATIN CAPITAL LETTER N WITH TILDE
+<O!!> /xD2 <U00D2> LATIN CAPITAL LETTER O WITH GRAVE
+<O'> /xD3 <U00D3> LATIN CAPITAL LETTER O WITH ACUTE
+<O/>> /xD4 <U00D4> LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+<O?> /xD5 <U00D5> LATIN CAPITAL LETTER O WITH TILDE
+<O:> /xD6 <U00D6> LATIN CAPITAL LETTER O WITH DIAERESIS
+<*X> /xD7 <U00D7> MULTIPLICATION SIGN
+<O//> /xD8 <U00D8> LATIN CAPITAL LETTER O WITH STROKE
+<U!!> /xD9 <U00D9> LATIN CAPITAL LETTER U WITH GRAVE
+<U'> /xDA <U00DA> LATIN CAPITAL LETTER U WITH ACUTE
+<U/>> /xDB <U00DB> LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+<U:> /xDC <U00DC> LATIN CAPITAL LETTER U WITH DIAERESIS
+<I.> /xDD <U0130> LATIN CAPITAL LETTER I WITH DOT ABOVE
+<S,> /xDE <U015E> LATIN CAPITAL LETTER S WITH CEDILLA
+<ss> /xDF <U00DF> LATIN SMALL LETTER SHARP S (German)
+<a!!> /xE0 <U00E0> LATIN SMALL LETTER A WITH GRAVE
+<a'> /xE1 <U00E1> LATIN SMALL LETTER A WITH ACUTE
+<a/>> /xE2 <U00E2> LATIN SMALL LETTER A WITH CIRCUMFLEX
+<a?> /xE3 <U00E3> LATIN SMALL LETTER A WITH TILDE
+<a:> /xE4 <U00E4> LATIN SMALL LETTER A WITH DIAERESIS
+<aa> /xE5 <U00E5> LATIN SMALL LETTER A WITH RING ABOVE
+<ae> /xE6 <U00E6> LATIN SMALL LETTER AE
+<c,> /xE7 <U00E7> LATIN SMALL LETTER C WITH CEDILLA
+<e!!> /xE8 <U00E8> LATIN SMALL LETTER E WITH GRAVE
+<e'> /xE9 <U00E9> LATIN SMALL LETTER E WITH ACUTE
+<e;> /xEA <U0119> LATIN SMALL LETTER E WITH OGONEK
+<e:> /xEB <U00EB> LATIN SMALL LETTER E WITH DIAERESIS
+<e.> /xEC <U0117> LATIN SMALL LETTER E WITH DOT ABOVE
+<i'> /xED <U00ED> LATIN SMALL LETTER I WITH ACUTE
+<i/>> /xEE <U00EE> LATIN SMALL LETTER I WITH CIRCUMFLEX
+<i-> /xEF <U012B> LATIN SMALL LETTER I WITH MACRON
+<g(> /xF0 <U011F> LATIN SMALL LETTER G WITH BREVE
+<n?> /xF1 <U00F1> LATIN SMALL LETTER N WITH TILDE
+<o!!> /xF2 <U00F2> LATIN SMALL LETTER O WITH GRAVE
+<o'> /xF3 <U00F3> LATIN SMALL LETTER O WITH ACUTE
+<o/>> /xF4 <U00F4> LATIN SMALL LETTER O WITH CIRCUMFLEX
+<o?> /xF5 <U00F5> LATIN SMALL LETTER O WITH TILDE
+<o:> /xF6 <U00F6> LATIN SMALL LETTER O WITH DIAERESIS
+<-:> /xF7 <U00F7> DIVISION SIGN
+<o//> /xF8 <U00F8> LATIN SMALL LETTER O WITH STROKE
+<u!!> /xF9 <U00F9> LATIN SMALL LETTER U WITH GRAVE
+<u'> /xFA <U00FA> LATIN SMALL LETTER U WITH ACUTE
+<u/>> /xFB <U00FB> LATIN SMALL LETTER U WITH CIRCUMFLEX
+<u:> /xFC <U00FC> LATIN SMALL LETTER U WITH DIAERESIS
+<i.> /xFD <U0131> LATIN SMALL LETTER DOTLESS I
+<s,> /xFE <U015F> LATIN SMALL LETTER S WITH CEDILLA
+<y:> /xFF <U00FF> LATIN SMALL LETTER Y WITH DIAERESIS
+<NUL> /x00 <U0000> NUL
+<SOH> /x01 <U0001> START OF HEADING (SOH)
+<STX> /x02 <U0002> START OF TEXT (STX)
+<ETX> /x03 <U0003> END OF TEXT (ETX)
+<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
+<ENQ> /x05 <U0005> ENQUIRY (ENQ)
+<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
+<alert> /x07 <U0007> BELL (BEL)
+<BEL> /x07 <U0007> BELL (BEL)
+<backspace> /x08 <U0008> BACKSPACE (BS)
+<tab> /x09 <U0009> CHARACTER TABULATION (HT)
+<newline> /x0A <U000A> LINE FEED (LF)
+<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
+<form-feed> /x0C <U000C> FORM FEED (FF)
+<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
+<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
+<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
+<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
+<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
+<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
+<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
+<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
+<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
+<CAN> /x18 <U0018> CANCEL (CAN)
+<SUB> /x1A <U001A> SUBSTITUTE (SUB)
+<ESC> /x1B <U001B> ESCAPE (ESC)
+<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
+<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
+<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
+<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
+<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
+<DEL> /x7F <U007F> DELETE (DEL)
+<space> /x20 <U0020> SPACE
+<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
+<quotation-mark> /x22 <U0022> QUOTATION MARK
+<number-sign> /x23 <U0023> NUMBER SIGN
+<dollar-sign> /x24 <U0024> DOLLAR SIGN
+<percent-sign> /x25 <U0025> PERCENT SIGN
+<ampersand> /x26 <U0026> AMPERSAND
+<apostrophe> /x27 <U0027> APOSTROPHE
+<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
+<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
+<asterisk> /x2A <U002A> ASTERISK
+<plus-sign> /x2B <U002B> PLUS SIGN
+<comma> /x2C <U002C> COMMA
+<hyphen> /x2D <U002D> HYPHEN-MINUS
+<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
+<period> /x2E <U002E> FULL STOP
+<full-stop> /x2E <U002E> FULL STOP
+<slash> /x2F <U002F> SOLIDUS
+<solidus> /x2F <U002F> SOLIDUS
+<zero> /x30 <U0030> DIGIT ZERO
+<one> /x31 <U0031> DIGIT ONE
+<two> /x32 <U0032> DIGIT TWO
+<three> /x33 <U0033> DIGIT THREE
+<four> /x34 <U0034> DIGIT FOUR
+<five> /x35 <U0035> DIGIT FIVE
+<six> /x36 <U0036> DIGIT SIX
+<seven> /x37 <U0037> DIGIT SEVEN
+<eight> /x38 <U0038> DIGIT EIGHT
+<nine> /x39 <U0039> DIGIT NINE
+<colon> /x3A <U003A> COLON
+<semicolon> /x3B <U003B> SEMICOLON
+<less-than-sign> /x3C <U003C> LESS-THAN SIGN
+<equals-sign> /x3D <U003D> EQUALS SIGN
+<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
+<question-mark> /x3F <U003F> QUESTION MARK
+<commercial-at> /x40 <U0040> COMMERCIAL AT
+<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
+<backslash> /x5C <U005C> REVERSE SOLIDUS
+<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
+<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
+<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
+<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
+<underscore> /x5F <U005F> LOW LINE
+<low-line> /x5F <U005F> LOW LINE
+<grave-accent> /x60 <U0060> GRAVE ACCENT
+<left-brace> /x7B <U007B> LEFT CURLY BRACKET
+<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
+<vertical-line> /x7C <U007C> VERTICAL LINE
+<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
+<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
+<tilde> /x7E <U007E> TILDE
+END CHARMAP
+
+"
+!
+
+mappingURL2_relativePathName
+ ^ 'CP1254'
+! !
+
+!CharacterEncoder::MS_Turkish class methodsFor:'queries'!
+
+alternativeNamesOfEncoding
+ ^ #( 'ms-turkish' 'ms-cp1254' 'cp1254' )
+! !
+
+!CharacterEncoder::MS_Turkish methodsFor:'encoding & decoding'!
+
+decode:code
+ "automatically generated by generateEncoderCode"
+
+ code < 128 ifTrue:[ ^ code ].
+ code > 255 ifTrue:[
+ self error:'invalid code'.
+ ^ $? asciiValue
+ ].
+ ^ #(
+ "16r0080" 16rFFFF " invalid "
+ "16r0081" 16rFFFF " invalid "
+ "16r0082" 16r201A " SINGLE LOW-9 QUOTATION MARK "
+ "16r0083" 16r0192 " LATIN SMALL LETTER F WITH HOOK "
+ "16r0084" 16r201E " DOUBLE LOW-9 QUOTATION MARK "
+ "16r0085" 16r2026 " HORIZONTAL ELLIPSIS "
+ "16r0086" 16r2020 " DAGGER "
+ "16r0087" 16r2021 " DOUBLE DAGGER "
+ "16r0088" 16r02C6 " MODIFIER LETTER CIRCUMFLEX ACCENT "
+ "16r0089" 16r2030 " PER MILLE SIGN "
+ "16r008A" 16r0160 " LATIN CAPITAL LETTER S WITH CARON "
+ "16r008B" 16r2039 " SINGLE LEFT-POINTING ANGLE QUOTATION MARK "
+ "16r008C" 16r0152 " LATIN CAPITAL LIGATURE OE "
+ "16r008D" 16rFFFF " invalid "
+ "16r008E" 16rFFFF " invalid "
+ "16r008F" 16rFFFF " invalid "
+ "16r0090" 16rFFFF " invalid "
+ "16r0091" 16r2018 " LEFT SINGLE QUOTATION MARK "
+ "16r0092" 16r2019 " RIGHT SINGLE QUOTATION MARK "
+ "16r0093" 16r201C " LEFT DOUBLE QUOTATION MARK "
+ "16r0094" 16r201D " RIGHT DOUBLE QUOTATION MARK "
+ "16r0095" 16r2022 " BULLET "
+ "16r0096" 16r2013 " EN DASH "
+ "16r0097" 16r2014 " EM DASH "
+ "16r0098" 16r02DC " SMALL TILDE "
+ "16r0099" 16r2122 " TRADE MARK SIGN "
+ "16r009A" 16r0161 " LATIN SMALL LETTER S WITH CARON "
+ "16r009B" 16r203A " SINGLE RIGHT-POINTING ANGLE QUOTATION MARK "
+ "16r009C" 16r0153 " LATIN SMALL LIGATURE OE "
+ "16r009D" 16rFFFF " invalid "
+ "16r009E" 16rFFFF " invalid "
+ "16r009F" 16r0178 " LATIN CAPITAL LETTER Y WITH DIAERESIS "
+ "16r00A0" 16r00A0 " NO-BREAK SPACE "
+ "16r00A1" 16r00A1 " INVERTED EXCLAMATION MARK "
+ "16r00A2" 16r00A2 " CENT SIGN "
+ "16r00A3" 16r00A3 " POUND SIGN "
+ "16r00A4" 16r00A4 " CURRENCY SIGN "
+ "16r00A5" 16r00A5 " YEN SIGN "
+ "16r00A6" 16r00A6 " BROKEN BAR "
+ "16r00A7" 16r00A7 " SECTION SIGN "
+ "16r00A8" 16r00A8 " DIAERESIS "
+ "16r00A9" 16r00A9 " COPYRIGHT SIGN "
+ "16r00AA" 16r00AA " FEMININE ORDINAL INDICATOR "
+ "16r00AB" 16r00AB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00AC" 16r00AC " NOT SIGN "
+ "16r00AD" 16r00AD " SOFT HYPHEN "
+ "16r00AE" 16r00AE " REGISTERED SIGN "
+ "16r00AF" 16r00AF " MACRON "
+ "16r00B0" 16r00B0 " DEGREE SIGN "
+ "16r00B1" 16r00B1 " PLUS-MINUS SIGN "
+ "16r00B2" 16r00B2 " SUPERSCRIPT TWO "
+ "16r00B3" 16r00B3 " SUPERSCRIPT THREE "
+ "16r00B4" 16r00B4 " ACUTE ACCENT "
+ "16r00B5" 16r00B5 " MICRO SIGN "
+ "16r00B6" 16r00B6 " PILCROW SIGN "
+ "16r00B7" 16r00B7 " MIDDLE DOT "
+ "16r00B8" 16r00B8 " CEDILLA "
+ "16r00B9" 16r00B9 " SUPERSCRIPT ONE "
+ "16r00BA" 16r00BA " MASCULINE ORDINAL INDICATOR "
+ "16r00BB" 16r00BB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK "
+ "16r00BC" 16r00BC " VULGAR FRACTION ONE QUARTER "
+ "16r00BD" 16r00BD " VULGAR FRACTION ONE HALF "
+ "16r00BE" 16r00BE " VULGAR FRACTION THREE QUARTERS "
+ "16r00BF" 16r00BF " INVERTED QUESTION MARK "
+ "16r00C0" 16r00C0 " LATIN CAPITAL LETTER A WITH GRAVE "
+ "16r00C1" 16r00C1 " LATIN CAPITAL LETTER A WITH ACUTE "
+ "16r00C2" 16r00C2 " LATIN CAPITAL LETTER A WITH CIRCUMFLEX "
+ "16r00C3" 16r00C3 " LATIN CAPITAL LETTER A WITH TILDE "
+ "16r00C4" 16r00C4 " LATIN CAPITAL LETTER A WITH DIAERESIS "
+ "16r00C5" 16r00C5 " LATIN CAPITAL LETTER A WITH RING ABOVE "
+ "16r00C6" 16r00C6 " LATIN CAPITAL LETTER AE "
+ "16r00C7" 16r00C7 " LATIN CAPITAL LETTER C WITH CEDILLA "
+ "16r00C8" 16r00C8 " LATIN CAPITAL LETTER E WITH GRAVE "
+ "16r00C9" 16r00C9 " LATIN CAPITAL LETTER E WITH ACUTE "
+ "16r00CA" 16r00CA " LATIN CAPITAL LETTER E WITH CIRCUMFLEX "
+ "16r00CB" 16r00CB " LATIN CAPITAL LETTER E WITH DIAERESIS "
+ "16r00CC" 16r00CC " LATIN CAPITAL LETTER I WITH GRAVE "
+ "16r00CD" 16r00CD " LATIN CAPITAL LETTER I WITH ACUTE "
+ "16r00CE" 16r00CE " LATIN CAPITAL LETTER I WITH CIRCUMFLEX "
+ "16r00CF" 16r00CF " LATIN CAPITAL LETTER I WITH DIAERESIS "
+ "16r00D0" 16r011E " LATIN CAPITAL LETTER G WITH BREVE "
+ "16r00D1" 16r00D1 " LATIN CAPITAL LETTER N WITH TILDE "
+ "16r00D2" 16r00D2 " LATIN CAPITAL LETTER O WITH GRAVE "
+ "16r00D3" 16r00D3 " LATIN CAPITAL LETTER O WITH ACUTE "
+ "16r00D4" 16r00D4 " LATIN CAPITAL LETTER O WITH CIRCUMFLEX "
+ "16r00D5" 16r00D5 " LATIN CAPITAL LETTER O WITH TILDE "
+ "16r00D6" 16r00D6 " LATIN CAPITAL LETTER O WITH DIAERESIS "
+ "16r00D7" 16r00D7 " MULTIPLICATION SIGN "
+ "16r00D8" 16r00D8 " LATIN CAPITAL LETTER O WITH STROKE "
+ "16r00D9" 16r00D9 " LATIN CAPITAL LETTER U WITH GRAVE "
+ "16r00DA" 16r00DA " LATIN CAPITAL LETTER U WITH ACUTE "
+ "16r00DB" 16r00DB " LATIN CAPITAL LETTER U WITH CIRCUMFLEX "
+ "16r00DC" 16r00DC " LATIN CAPITAL LETTER U WITH DIAERESIS "
+ "16r00DD" 16r0130 " LATIN CAPITAL LETTER I WITH DOT ABOVE "
+ "16r00DE" 16r015E " LATIN CAPITAL LETTER S WITH CEDILLA "
+ "16r00DF" 16r00DF " LATIN SMALL LETTER SHARP S (German) "
+ "16r00E0" 16r00E0 " LATIN SMALL LETTER A WITH GRAVE "
+ "16r00E1" 16r00E1 " LATIN SMALL LETTER A WITH ACUTE "
+ "16r00E2" 16r00E2 " LATIN SMALL LETTER A WITH CIRCUMFLEX "
+ "16r00E3" 16r00E3 " LATIN SMALL LETTER A WITH TILDE "
+ "16r00E4" 16r00E4 " LATIN SMALL LETTER A WITH DIAERESIS "
+ "16r00E5" 16r00E5 " LATIN SMALL LETTER A WITH RING ABOVE "
+ "16r00E6" 16r00E6 " LATIN SMALL LETTER AE "
+ "16r00E7" 16r00E7 " LATIN SMALL LETTER C WITH CEDILLA "
+ "16r00E8" 16r00E8 " LATIN SMALL LETTER E WITH GRAVE "
+ "16r00E9" 16r00E9 " LATIN SMALL LETTER E WITH ACUTE "
+ "16r00EA" 16r0119 " LATIN SMALL LETTER E WITH OGONEK "
+ "16r00EB" 16r00EB " LATIN SMALL LETTER E WITH DIAERESIS "
+ "16r00EC" 16r0117 " LATIN SMALL LETTER E WITH DOT ABOVE "
+ "16r00ED" 16r00ED " LATIN SMALL LETTER I WITH ACUTE "
+ "16r00EE" 16r00EE " LATIN SMALL LETTER I WITH CIRCUMFLEX "
+ "16r00EF" 16r012B " LATIN SMALL LETTER I WITH MACRON "
+ "16r00F0" 16r011F " LATIN SMALL LETTER G WITH BREVE "
+ "16r00F1" 16r00F1 " LATIN SMALL LETTER N WITH TILDE "
+ "16r00F2" 16r00F2 " LATIN SMALL LETTER O WITH GRAVE "
+ "16r00F3" 16r00F3 " LATIN SMALL LETTER O WITH ACUTE "
+ "16r00F4" 16r00F4 " LATIN SMALL LETTER O WITH CIRCUMFLEX "
+ "16r00F5" 16r00F5 " LATIN SMALL LETTER O WITH TILDE "
+ "16r00F6" 16r00F6 " LATIN SMALL LETTER O WITH DIAERESIS "
+ "16r00F7" 16r00F7 " DIVISION SIGN "
+ "16r00F8" 16r00F8 " LATIN SMALL LETTER O WITH STROKE "
+ "16r00F9" 16r00F9 " LATIN SMALL LETTER U WITH GRAVE "
+ "16r00FA" 16r00FA " LATIN SMALL LETTER U WITH ACUTE "
+ "16r00FB" 16r00FB " LATIN SMALL LETTER U WITH CIRCUMFLEX "
+ "16r00FC" 16r00FC " LATIN SMALL LETTER U WITH DIAERESIS "
+ "16r00FD" 16r0131 " LATIN SMALL LETTER DOTLESS I "
+ "16r00FE" 16r015F " LATIN SMALL LETTER S WITH CEDILLA "
+ ) at:(code - 127)
! !
!CharacterEncoder::NEXT class methodsFor:'mapping'!
@@ -16421,7 +33541,7 @@
"
!
-mappingURL2_baseName
+mappingURL2_relativePathName
^ 'NEXTSTEP'
! !
@@ -16432,8 +33552,8 @@
code < 128 ifTrue:[ ^ code ].
code > 253 ifTrue:[
- self error:'invalid code'.
- ^ $? asciiValue
+ self error:'invalid code'.
+ ^ $? asciiValue
].
^ #(
"16r0080" 16r00A0 " NO-BREAK SPACE "
@@ -16565,6 +33685,24 @@
) at:(code - 127)
! !
+!CharacterEncoder::NullEncoder methodsFor:'encoding & decoding'!
+
+decode:aCode
+ ^ aCode
+!
+
+decodeString:aString
+ ^ aString
+!
+
+encode:aCode
+ ^ aCode
+!
+
+encodeString:aString
+ ^ aString
+! !
+
!CharacterEncoder::OtherEncoding class methodsFor:'private'!
flushCode
@@ -16575,18 +33713,307 @@
!CharacterEncoder::SJIS class methodsFor:'mapping'!
-mappingURL
- ^ 'http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/JIS/SHIFTJIS.TXT'
+mappingURL1_relativePathName
+ ^ 'OBSOLETE/EASTASIA/JIS/SHIFTJIS.TXT'
! !
!CharacterEncoder::SJIS methodsFor:'private'!
newString:size
- ^ GBEncodedString new:size
+ ^ JISEncodedString new:size
+! !
+
+!CharacterEncoder::ASCII class methodsFor:'mapping'!
+
+mapping
+"
+# From: http://std.dkuug.dk/i18n/charmaps/ASCII
+
+<code_set_name> ANSI_X3.4-1968
+<comment_char> %
+<escape_char> /
+% version: 1.0
+% repertoiremap: mnemonic,ds
+% source: ECMA registry
+
+% alias ISO-IR-6
+% alias ANSI_X3.4-1986
+% alias ISO_646.IRV:1991
+% alias ASCII
+% alias ISO646-US
+% alias US-ASCII
+% alias US
+% alias IBM367
+% alias CP367
+CHARMAP
+<NU> /x00 <U0000> NULL (NUL)
+<SH> /x01 <U0001> START OF HEADING (SOH)
+<SX> /x02 <U0002> START OF TEXT (STX)
+<EX> /x03 <U0003> END OF TEXT (ETX)
+<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
+<EQ> /x05 <U0005> ENQUIRY (ENQ)
+<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
+<BL> /x07 <U0007> BELL (BEL)
+<BS> /x08 <U0008> BACKSPACE (BS)
+<HT> /x09 <U0009> CHARACTER TABULATION (HT)
+<LF> /x0A <U000A> LINE FEED (LF)
+<VT> /x0B <U000B> LINE TABULATION (VT)
+<FF> /x0C <U000C> FORM FEED (FF)
+<CR> /x0D <U000D> CARRIAGE RETURN (CR)
+<SO> /x0E <U000E> SHIFT OUT (SO)
+<SI> /x0F <U000F> SHIFT IN (SI)
+<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
+<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
+<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
+<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
+<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
+<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
+<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
+<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
+<CN> /x18 <U0018> CANCEL (CAN)
+<EM> /x19 <U0019> END OF MEDIUM (EM)
+<SB> /x1A <U001A> SUBSTITUTE (SUB)
+<EC> /x1B <U001B> ESCAPE (ESC)
+<FS> /x1C <U001C> FILE SEPARATOR (IS4)
+<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
+<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
+<US> /x1F <U001F> UNIT SEPARATOR (IS1)
+<SP> /x20 <U0020> SPACE
+<!!> /x21 <U0021> EXCLAMATION MARK
+<'> /x22 <U0022> QUOTATION MARK
+<Nb> /x23 <U0023> NUMBER SIGN
+<DO> /x24 <U0024> DOLLAR SIGN
+<%> /x25 <U0025> PERCENT SIGN
+<&> /x26 <U0026> AMPERSAND
+<'> /x27 <U0027> APOSTROPHE
+<(> /x28 <U0028> LEFT PARENTHESIS
+<)> /x29 <U0029> RIGHT PARENTHESIS
+<*> /x2A <U002A> ASTERISK
+<+> /x2B <U002B> PLUS SIGN
+<,> /x2C <U002C> COMMA
+<-> /x2D <U002D> HYPHEN-MINUS
+<.> /x2E <U002E> FULL STOP
+<//> /x2F <U002F> SOLIDUS
+<0> /x30 <U0030> DIGIT ZERO
+<1> /x31 <U0031> DIGIT ONE
+<2> /x32 <U0032> DIGIT TWO
+<3> /x33 <U0033> DIGIT THREE
+<4> /x34 <U0034> DIGIT FOUR
+<5> /x35 <U0035> DIGIT FIVE
+<6> /x36 <U0036> DIGIT SIX
+<7> /x37 <U0037> DIGIT SEVEN
+<8> /x38 <U0038> DIGIT EIGHT
+<9> /x39 <U0039> DIGIT NINE
+<:> /x3A <U003A> COLON
+<;> /x3B <U003B> SEMICOLON
+<<> /x3C <U003C> LESS-THAN SIGN
+<=> /x3D <U003D> EQUALS SIGN
+</>> /x3E <U003E> GREATER-THAN SIGN
+<?> /x3F <U003F> QUESTION MARK
+<At> /x40 <U0040> COMMERCIAL AT
+<A> /x41 <U0041> LATIN CAPITAL LETTER A
+<B> /x42 <U0042> LATIN CAPITAL LETTER B
+<C> /x43 <U0043> LATIN CAPITAL LETTER C
+<D> /x44 <U0044> LATIN CAPITAL LETTER D
+<E> /x45 <U0045> LATIN CAPITAL LETTER E
+<F> /x46 <U0046> LATIN CAPITAL LETTER F
+<G> /x47 <U0047> LATIN CAPITAL LETTER G
+<H> /x48 <U0048> LATIN CAPITAL LETTER H
+<I> /x49 <U0049> LATIN CAPITAL LETTER I
+<J> /x4A <U004A> LATIN CAPITAL LETTER J
+<K> /x4B <U004B> LATIN CAPITAL LETTER K
+<L> /x4C <U004C> LATIN CAPITAL LETTER L
+<M> /x4D <U004D> LATIN CAPITAL LETTER M
+<N> /x4E <U004E> LATIN CAPITAL LETTER N
+<O> /x4F <U004F> LATIN CAPITAL LETTER O
+<P> /x50 <U0050> LATIN CAPITAL LETTER P
+<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
+<R> /x52 <U0052> LATIN CAPITAL LETTER R
+<S> /x53 <U0053> LATIN CAPITAL LETTER S
+<T> /x54 <U0054> LATIN CAPITAL LETTER T
+<U> /x55 <U0055> LATIN CAPITAL LETTER U
+<V> /x56 <U0056> LATIN CAPITAL LETTER V
+<W> /x57 <U0057> LATIN CAPITAL LETTER W
+<X> /x58 <U0058> LATIN CAPITAL LETTER X
+<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
+<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
+<<(> /x5B <U005B> LEFT SQUARE BRACKET
+<////> /x5C <U005C> REVERSE SOLIDUS
+<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
+<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
+<_> /x5F <U005F> LOW LINE
+<'!!> /x60 <U0060> GRAVE ACCENT
+<a> /x61 <U0061> LATIN SMALL LETTER A
+<b> /x62 <U0062> LATIN SMALL LETTER B
+<c> /x63 <U0063> LATIN SMALL LETTER C
+<d> /x64 <U0064> LATIN SMALL LETTER D
+<e> /x65 <U0065> LATIN SMALL LETTER E
+<f> /x66 <U0066> LATIN SMALL LETTER F
+<g> /x67 <U0067> LATIN SMALL LETTER G
+<h> /x68 <U0068> LATIN SMALL LETTER H
+<i> /x69 <U0069> LATIN SMALL LETTER I
+<j> /x6A <U006A> LATIN SMALL LETTER J
+<k> /x6B <U006B> LATIN SMALL LETTER K
+<l> /x6C <U006C> LATIN SMALL LETTER L
+<m> /x6D <U006D> LATIN SMALL LETTER M
+<n> /x6E <U006E> LATIN SMALL LETTER N
+<o> /x6F <U006F> LATIN SMALL LETTER O
+<p> /x70 <U0070> LATIN SMALL LETTER P
+<q> /x71 <U0071> LATIN SMALL LETTER Q
+<r> /x72 <U0072> LATIN SMALL LETTER R
+<s> /x73 <U0073> LATIN SMALL LETTER S
+<t> /x74 <U0074> LATIN SMALL LETTER T
+<u> /x75 <U0075> LATIN SMALL LETTER U
+<v> /x76 <U0076> LATIN SMALL LETTER V
+<w> /x77 <U0077> LATIN SMALL LETTER W
+<x> /x78 <U0078> LATIN SMALL LETTER X
+<y> /x79 <U0079> LATIN SMALL LETTER Y
+<z> /x7A <U007A> LATIN SMALL LETTER Z
+<(!!> /x7B <U007B> LEFT CURLY BRACKET
+<!!!!> /x7C <U007C> VERTICAL LINE
+<!!)> /x7D <U007D> RIGHT CURLY BRACKET
+<'?> /x7E <U007E> TILDE
+<DT> /x7F <U007F> DELETE (DEL)
+<NUL> /x00 <U0000> NUL
+<SOH> /x01 <U0001> START OF HEADING (SOH)
+<STX> /x02 <U0002> START OF TEXT (STX)
+<ETX> /x03 <U0003> END OF TEXT (ETX)
+<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
+<ENQ> /x05 <U0005> ENQUIRY (ENQ)
+<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
+<alert> /x07 <U0007> BELL (BEL)
+<BEL> /x07 <U0007> BELL (BEL)
+<backspace> /x08 <U0008> BACKSPACE (BS)
+<tab> /x09 <U0009> CHARACTER TABULATION (HT)
+<newline> /x0A <U000A> LINE FEED (LF)
+<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
+<form-feed> /x0C <U000C> FORM FEED (FF)
+<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
+<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
+<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
+<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
+<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
+<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
+<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
+<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
+<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
+<CAN> /x18 <U0018> CANCEL (CAN)
+<SUB> /x1A <U001A> SUBSTITUTE (SUB)
+<ESC> /x1B <U001B> ESCAPE (ESC)
+<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
+<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
+<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
+<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
+<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
+<DEL> /x7F <U007F> DELETE (DEL)
+<space> /x20 <U0020> SPACE
+<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
+<quotation-mark> /x22 <U0022> QUOTATION MARK
+<number-sign> /x23 <U0023> NUMBER SIGN
+<dollar-sign> /x24 <U0024> DOLLAR SIGN
+<percent-sign> /x25 <U0025> PERCENT SIGN
+<ampersand> /x26 <U0026> AMPERSAND
+<apostrophe> /x27 <U0027> APOSTROPHE
+<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
+<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
+<asterisk> /x2A <U002A> ASTERISK
+<plus-sign> /x2B <U002B> PLUS SIGN
+<comma> /x2C <U002C> COMMA
+<hyphen> /x2D <U002D> HYPHEN-MINUS
+<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
+<period> /x2E <U002E> FULL STOP
+<full-stop> /x2E <U002E> FULL STOP
+<slash> /x2F <U002F> SOLIDUS
+<solidus> /x2F <U002F> SOLIDUS
+<zero> /x30 <U0030> DIGIT ZERO
+<one> /x31 <U0031> DIGIT ONE
+<two> /x32 <U0032> DIGIT TWO
+<three> /x33 <U0033> DIGIT THREE
+<four> /x34 <U0034> DIGIT FOUR
+<five> /x35 <U0035> DIGIT FIVE
+<six> /x36 <U0036> DIGIT SIX
+<seven> /x37 <U0037> DIGIT SEVEN
+<eight> /x38 <U0038> DIGIT EIGHT
+<nine> /x39 <U0039> DIGIT NINE
+<colon> /x3A <U003A> COLON
+<semicolon> /x3B <U003B> SEMICOLON
+<less-than-sign> /x3C <U003C> LESS-THAN SIGN
+<equals-sign> /x3D <U003D> EQUALS SIGN
+<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
+<question-mark> /x3F <U003F> QUESTION MARK
+<commercial-at> /x40 <U0040> COMMERCIAL AT
+<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
+<backslash> /x5C <U005C> REVERSE SOLIDUS
+<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
+<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
+<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
+<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
+<underscore> /x5F <U005F> LOW LINE
+<low-line> /x5F <U005F> LOW LINE
+<grave-accent> /x60 <U0060> GRAVE ACCENT
+<left-brace> /x7B <U007B> LEFT CURLY BRACKET
+<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
+<vertical-line> /x7C <U007C> VERTICAL LINE
+<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
+<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
+<tilde> /x7E <U007E> TILDE
+END CHARMAP
+
+"
+!
+
+mappingURL2_relativePathName
+ ^ 'ASCII'
+
+ "
+ self generateCode
+ "
+! !
+
+!CharacterEncoder::ASCII class methodsFor:'queries'!
+
+alternativeNamesOfEncoding
+ ^ #( 'us-ascii' 'iso-ir-6' 'ibm-367' 'ms-cp367' 'cp367' 'iso646-us')
+! !
+
+!CharacterEncoder::ASCII methodsFor:'encoding & decoding'!
+
+decode:code
+ "decode from my encoding into unicode.
+ Do not modify - automatically generated by generateCode"
+
+ code > 127 ifTrue:[
+ ^ self decodingError.
+ ].
+ ^ code.
+!
+
+encode:unicode
+ "encode from unicode into my encoding.
+ Do not modify - automatically generated by generateCode"
+
+ unicode > 127 ifTrue:[
+ ^ self encodingError.
+ ].
+ ^ unicode.
+! !
+
+!CharacterEncoder::BIG5 class methodsFor:'mapping'!
+
+mappingURL1_relativePathName
+ ^ 'OBSOLETE/EASTASIA/OTHER/BIG5.TXT'
+! !
+
+!CharacterEncoder::BIG5 methodsFor:'private'!
+
+newString:size
+ ^ BIG5EncodedString new:size
! !
!CharacterEncoder class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoder.st,v 1.2 2004-02-09 22:43:45 cg Exp $'
-! !
+ ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoder.st,v 1.3 2004-02-10 17:08:40 cg Exp $'
+! !
+
+CharacterEncoder initialize!