Character.st
changeset 20706 009b8269bd08
parent 20698 6838c575c1c6
child 21024 8734987eb5c7
child 21374 f7820456972c
--- a/Character.st	Tue Nov 01 20:03:09 2016 +0100
+++ b/Character.st	Wed Nov 02 01:45:08 2016 +0100
@@ -60,11 +60,11 @@
     Always compare using #= if there is any chance of a non-ascii character being involved.
 
     Once again (because beginners sometimes make this mistake):
-        This means: you may compare characters using #== ONLY IFF you are certain,
-        that the characters ranges is 0..255.
-        Otherwise, you HAVE TO compare using #=. (if in doubt, always compare using #=).
-        Sorry for this inconvenience, but it is (practically) impossible to keep
-        the possible maximum of 2^32 characters (Unicode) around, for that convenience alone.
+	This means: you may compare characters using #== ONLY IFF you are certain,
+	that the characters ranges is 0..255.
+	Otherwise, you HAVE TO compare using #=. (if in doubt, always compare using #=).
+	Sorry for this inconvenience, but it is (practically) impossible to keep
+	the possible maximum of 2^32 characters (Unicode) around, for that convenience alone.
 
     In ST/X, N is (currently) 1024. This means that all the latin characters and some others are
     kept as singleton in the CharacterTable class variable (which is also used by the VM when characters
@@ -77,7 +77,7 @@
     Some of these have been modified a bit.
 
     WARNING: characters are known by compiler and runtime system -
-             do not change the instance layout.
+	     do not change the instance layout.
 
     Also, although you can create subclasses of Character, the compiler always
     creates instances of Character for literals ...
@@ -86,43 +86,43 @@
     Therefore, it may not make sense to create a character-subclass.
 
     Case Mapping in Unicode:
-        There are a number of complications to case mappings that occur once the repertoire
-        of characters is expanded beyond ASCII.
-
-        * Because of the inclusion of certain composite characters for compatibility,
-          such as U+01F1 'DZ' capital dz, there is a third case, called titlecase,
-          which is used where the first letter of a word is to be capitalized
-          (e.g. Titlecase, vs. UPPERCASE, or lowercase).
-          For example, the title case of the example character is U+01F2 'Dz' capital d with small z.
-
-        * Case mappings may produce strings of different length than the original.
-          For example, the German character U+00DF small letter sharp s expands when uppercased to
-          the sequence of two characters 'SS'.
-          This also occurs where there is no precomposed character corresponding to a case mapping.
-          *** This is not yet implemented (in 5.2) ***
-
-        * Characters may also have different case mappings, depending on the context.
-          For example, U+03A3 capital sigma lowercases to U+03C3 small sigma if it is not followed
-          by another letter, but lowercases to 03C2 small final sigma if it is.
-          *** This is not yet implemented (in 5.2) ***
-
-        * Characters may have case mappings that depend on the locale.
-          For example, in Turkish the letter 0049 'I' capital letter i lowercases to 0131 small dotless i.
-          *** This is not yet implemented (in 5.2) ***
-
-        * Case mappings are not, in general, reversible.
-          For example, once the string 'McGowan' has been uppercased, lowercased or titlecased,
-          the original cannot be recovered by applying another uppercase, lowercase, or titlecase operation.
+	There are a number of complications to case mappings that occur once the repertoire
+	of characters is expanded beyond ASCII.
+
+	* Because of the inclusion of certain composite characters for compatibility,
+	  such as U+01F1 'DZ' capital dz, there is a third case, called titlecase,
+	  which is used where the first letter of a word is to be capitalized
+	  (e.g. Titlecase, vs. UPPERCASE, or lowercase).
+	  For example, the title case of the example character is U+01F2 'Dz' capital d with small z.
+
+	* Case mappings may produce strings of different length than the original.
+	  For example, the German character U+00DF small letter sharp s expands when uppercased to
+	  the sequence of two characters 'SS'.
+	  This also occurs where there is no precomposed character corresponding to a case mapping.
+	  *** This is not yet implemented (in 5.2) ***
+
+	* Characters may also have different case mappings, depending on the context.
+	  For example, U+03A3 capital sigma lowercases to U+03C3 small sigma if it is not followed
+	  by another letter, but lowercases to 03C2 small final sigma if it is.
+	  *** This is not yet implemented (in 5.2) ***
+
+	* Characters may have case mappings that depend on the locale.
+	  For example, in Turkish the letter 0049 'I' capital letter i lowercases to 0131 small dotless i.
+	  *** This is not yet implemented (in 5.2) ***
+
+	* Case mappings are not, in general, reversible.
+	  For example, once the string 'McGowan' has been uppercased, lowercased or titlecased,
+	  the original cannot be recovered by applying another uppercase, lowercase, or titlecase operation.
 
     Collation Sequence:
-        *** This is not yet implemented (in 5.2) ***
+	*** This is not yet implemented (in 5.2) ***
 
     [author:]
-        Claus Gittinger
+	Claus Gittinger
 
     [see also:]
-        String TwoByteString Unicode16String Unicode32String
-        StringCollection Text
+	String TwoByteString Unicode16String Unicode32String
+	StringCollection Text
 "
 ! !
 
@@ -516,11 +516,11 @@
     int c;
 
     for (;;) {
-        c = getchar();
-        if (c >= 0) break;
-        if (errno != EINTR) {   
-            RETURN (nil);
-        }
+	c = getchar();
+	if (c >= 0) break;
+	if (errno != EINTR) {
+	    RETURN (nil);
+	}
     }
     RETURN ( __MKCHARACTER(c & 0xFF) );
 %}.
@@ -841,16 +841,16 @@
     "return a character with same letter as the receiver, but in lowercase.
      Returns the receiver if it is already lowercase or if there is no lowercase equivalent.
      CAVEAT:
-        for now, this method is only correct for unicode characters up to u+1d6ff (Unicode3.1).
-        (which is more than mozilla does, btw. ;-)"
+	for now, this method is only correct for unicode characters up to u+1d6ff (Unicode3.1).
+	(which is more than mozilla does, btw. ;-)"
 
 %{
 #ifdef __SCHTEAM__
     {
-        char ch = self.charValue("[asLowercase]");
-
-        ch = java.lang.Character.toLowerCase(ch);
-        return context._RETURN(STCharacter._new(ch));
+	char ch = self.charValue("[asLowercase]");
+
+	ch = java.lang.Character.toLowerCase(ch);
+	return context._RETURN(STCharacter._new(ch));
     }
     /* NOTREACHED */
 #else
@@ -991,42 +991,42 @@
 
     // comon ascii stuff first
     if (__codePoint < 0x80) {
-        if ((__codePoint >= 'A') && (__codePoint <= 'Z')) {
-            unsigned int newCodePoint = __codePoint - 'A' + 'a';
-            RETURN (__MKCHARACTER(newCodePoint)) ;
-        }
-        RETURN (self);
+	if ((__codePoint >= 'A') && (__codePoint <= 'Z')) {
+	    unsigned int newCodePoint = __codePoint - 'A' + 'a';
+	    RETURN (__MKCHARACTER(newCodePoint)) ;
+	}
+	RETURN (self);
     }
 
     for (__p = __mapping; (char *)__p < ((char *)__mapping) + sizeof(__mapping); __p += 3) {
-        unsigned rangeStart, rangeSize, rangeEnd, mod;
-
-        rangeStart = (unsigned)__p[0];
-        if (__codePoint < rangeStart) break;
-
-        rangeSize = ((unsigned)__p[1]) >> 8;
-        rangeEnd = rangeStart + rangeSize;
-        if (__codePoint <= rangeEnd) {
-            mod = __p[1] & 0xFF;
-            if ((mod == 0) || (((__codePoint - rangeStart) % mod) == 0)) {
-                OBJ newChar;
-                unsigned newCodePoint;
-
-                newCodePoint = __codePoint + __p[2];
-                if (newCodePoint <= MAX_IMMEDIATE_CHARACTER) {
-                    RETURN (__MKCHARACTER(newCodePoint)) ;
-                }
-                newChar = __MKUCHARACTER(newCodePoint) ;
-                if (newChar == nil) goto allocationError;
-                RETURN (newChar) ;
-            }
-        }
+	unsigned rangeStart, rangeSize, rangeEnd, mod;
+
+	rangeStart = (unsigned)__p[0];
+	if (__codePoint < rangeStart) break;
+
+	rangeSize = ((unsigned)__p[1]) >> 8;
+	rangeEnd = rangeStart + rangeSize;
+	if (__codePoint <= rangeEnd) {
+	    mod = __p[1] & 0xFF;
+	    if ((mod == 0) || (((__codePoint - rangeStart) % mod) == 0)) {
+		OBJ newChar;
+		unsigned newCodePoint;
+
+		newCodePoint = __codePoint + __p[2];
+		if (newCodePoint <= MAX_IMMEDIATE_CHARACTER) {
+		    RETURN (__MKCHARACTER(newCodePoint)) ;
+		}
+		newChar = __MKUCHARACTER(newCodePoint) ;
+		if (newChar == nil) goto allocationError;
+		RETURN (newChar) ;
+	    }
+	}
     }
     RETURN (self);
 allocationError: ;
 #endif /* ! __SCHTEAM__ */
 %}.
-    ^ ObjectMemory allocationFailureSignal raise.
+    ^ AllocationFailure raise.
 
     "
      $A asLowercase
@@ -1120,41 +1120,41 @@
 
     __codePoint = __intVal(__INST(asciivalue));
     if ((__codePoint > 0x01C0) && (__codePoint < 0x01FF)) {
-        for (__p = __mapping; (char *)__p < ((char *)__mapping) + sizeof(__mapping); __p += 2) {
-            if ((__codePoint == __p[0]) || (__codePoint == __p[1])) {
-                short newCodePoint;
-                OBJ newChar;
-
-                newCodePoint = __p[1];
-                if (newCodePoint == __codePoint) {
-                    RETURN (self);
-                }
-                if (newCodePoint <= MAX_IMMEDIATE_CHARACTER) {
-                    RETURN (__MKCHARACTER(newCodePoint)) ;
-                }
-                newChar = __MKUCHARACTER(newCodePoint) ;
-                if (newChar == nil) goto getOutOfHere;
-                RETURN (newChar) ;
-            }
-        }
+	for (__p = __mapping; (char *)__p < ((char *)__mapping) + sizeof(__mapping); __p += 2) {
+	    if ((__codePoint == __p[0]) || (__codePoint == __p[1])) {
+		short newCodePoint;
+		OBJ newChar;
+
+		newCodePoint = __p[1];
+		if (newCodePoint == __codePoint) {
+		    RETURN (self);
+		}
+		if (newCodePoint <= MAX_IMMEDIATE_CHARACTER) {
+		    RETURN (__MKCHARACTER(newCodePoint)) ;
+		}
+		newChar = __MKUCHARACTER(newCodePoint) ;
+		if (newChar == nil) goto getOutOfHere;
+		RETURN (newChar) ;
+	    }
+	}
     }
     if (__codePoint < 0x80) {
-        // do it here for common ascii characters
-        if ((__codePoint >= 'a') && (__codePoint <= 'z')) {
-            unsigned char newCodePoint = __codePoint - 'a' + 'A';
-            RETURN (__MKCHARACTER(newCodePoint)) ;
-        }
-        RETURN (self) ;
+	// do it here for common ascii characters
+	if ((__codePoint >= 'a') && (__codePoint <= 'z')) {
+	    unsigned char newCodePoint = __codePoint - 'a' + 'A';
+	    RETURN (__MKCHARACTER(newCodePoint)) ;
+	}
+	RETURN (self) ;
     }
-        
+
     ch = self;
 getOutOfHere: ;
 %}.
     ch notNil ifTrue:[
-        ^ ch asUppercase.
+	^ ch asUppercase.
     ].
 
-    ^ ObjectMemory allocationFailureSignal raise.
+    ^ AllocationFailure raise.
 
     "
      $A asTitlecase
@@ -1178,16 +1178,16 @@
     "return a character with same letter as the receiver, but in uppercase.
      Returns the receiver if it is already uppercase or if there is no uppercase equivalent.
      CAVEAT:
-        for now, this method is only correct for unicode characters up to u+1d6ff (Unicode3.1).
-        (which is more than mozilla does, btw. ;-)"
+	for now, this method is only correct for unicode characters up to u+1d6ff (Unicode3.1).
+	(which is more than mozilla does, btw. ;-)"
 
 %{
 #ifdef __SCHTEAM__
     {
-        char ch = self.charValue("[asUppercase]");
-
-        ch = java.lang.Character.toUpperCase(ch);
-        return context._RETURN(STCharacter._new(ch));
+	char ch = self.charValue("[asUppercase]");
+
+	ch = java.lang.Character.toUpperCase(ch);
+	return context._RETURN(STCharacter._new(ch));
     }
     /* NOTREACHED */
 #else
@@ -1337,47 +1337,47 @@
     REGISTER int *__p;
 
     __codePoint = __intVal(__INST(asciivalue));
- 
+
    // comon ascii stuff first
     if (__codePoint < 0x80) {
-        if ((__codePoint >= 'a') && (__codePoint <= 'z')) {
-            unsigned newCodePoint;
-
-            newCodePoint = __codePoint - 'a' + 'A';
-            RETURN (__MKCHARACTER(newCodePoint)) ;
-        }
-        RETURN (self);
+	if ((__codePoint >= 'a') && (__codePoint <= 'z')) {
+	    unsigned newCodePoint;
+
+	    newCodePoint = __codePoint - 'a' + 'A';
+	    RETURN (__MKCHARACTER(newCodePoint)) ;
+	}
+	RETURN (self);
     }
 
     for (__p = __mapping; (char *)__p < ((char *)__mapping) + sizeof(__mapping); __p += 3) {
-        unsigned rangeStart, rangeSize, rangeEnd, mod;
-
-        rangeStart = (unsigned)__p[0];
-        if (rangeStart > __codePoint) break;
-
-        rangeSize = ((unsigned)__p[1]) >> 8;
-        rangeEnd = rangeStart + rangeSize;
-        if (__codePoint <= rangeEnd) {
-            mod = __p[1] & 0xFF;
-            if ((mod == 0) || (((__codePoint - rangeStart) % mod) == 0)) {
-                OBJ newChar;
-                unsigned newCodePoint;
-
-                newCodePoint = __codePoint + __p[2];
-                if (newCodePoint <= MAX_IMMEDIATE_CHARACTER) {
-                    RETURN (__MKCHARACTER(newCodePoint)) ;
-                }
-                newChar = __MKUCHARACTER(newCodePoint) ;
-                if (newChar == nil) goto allocationError;
-                RETURN (newChar) ;
-            }
-        }
+	unsigned rangeStart, rangeSize, rangeEnd, mod;
+
+	rangeStart = (unsigned)__p[0];
+	if (rangeStart > __codePoint) break;
+
+	rangeSize = ((unsigned)__p[1]) >> 8;
+	rangeEnd = rangeStart + rangeSize;
+	if (__codePoint <= rangeEnd) {
+	    mod = __p[1] & 0xFF;
+	    if ((mod == 0) || (((__codePoint - rangeStart) % mod) == 0)) {
+		OBJ newChar;
+		unsigned newCodePoint;
+
+		newCodePoint = __codePoint + __p[2];
+		if (newCodePoint <= MAX_IMMEDIATE_CHARACTER) {
+		    RETURN (__MKCHARACTER(newCodePoint)) ;
+		}
+		newChar = __MKUCHARACTER(newCodePoint) ;
+		if (newChar == nil) goto allocationError;
+		RETURN (newChar) ;
+	    }
+	}
     }
     RETURN (self);
 allocationError: ;
 #endif /* ! __SCHTEAM__ */
 %}.
-    ^ ObjectMemory allocationFailureSignal raise.
+    ^ AllocationFailure raise.
 
     "
      $A asLowercase
@@ -1486,7 +1486,7 @@
     |s|
 
     asciivalue <= 16r7F ifTrue:[
-        ^ self asString.
+	^ self asString.
     ].
 
     s := WriteStream on:(String new:6).
@@ -1494,8 +1494,8 @@
     ^ s contents
 
     "
-     'ä' utf8Encoded 
-     'a' utf8Encoded 
+     'ä' utf8Encoded
+     'a' utf8Encoded
     "
 ! !
 
@@ -1660,7 +1660,7 @@
     "/ what a kludge - Dolphin and Squeak mean: printOn: a stream;
     "/ ST/X (and some old ST80's) mean: draw-yourself on a GC.
     (aGCOrStream isStream) ifFalse:[
-        ^ super displayOn:aGCOrStream
+	^ super displayOn:aGCOrStream
     ].
 
     self storeOn:aGCOrStream.
@@ -1686,8 +1686,8 @@
 %{  /* NOCONTEXT */
 
     if (@global(Stdout) == nil) {
-        putchar(__intVal(__INST(asciivalue)));
-        RETURN(self);
+	putchar(__intVal(__INST(asciivalue)));
+	RETURN(self);
     }
 %}.
     super print
@@ -1882,7 +1882,7 @@
 
     val = __intVal(__INST(asciivalue));
     if (val < ' ' || val == 0xFF) {
-        RETURN ( true );
+	RETURN ( true );
     }
     RETURN (false);
 %}.
@@ -2285,13 +2285,13 @@
 
     val = __intVal(__INST(asciivalue));
     if (val <= ' ')
-        if ((val == ' ')
-         || (val == '\n')
-         || (val == '\t')
-         || (val == '\r')
-         || (val == '\f')) {
-            RETURN ( true );
-        }
+	if ((val == ' ')
+	 || (val == '\n')
+	 || (val == '\t')
+	 || (val == '\r')
+	 || (val == '\f')) {
+	    RETURN ( true );
+	}
     RETURN (false);
 %}.
     ^ (asciivalue == 16r20)
@@ -2667,8 +2667,8 @@
 isNationalLetter
     "return true, if the receiver is a letter.
      CAVEAT:
-        for now, this method is only correct for unicode characters up to u+1d6ff (Unicode3.1).
-        (which is more than mozilla does, btw. ;-)"
+	for now, this method is only correct for unicode characters up to u+1d6ff (Unicode3.1).
+	(which is more than mozilla does, btw. ;-)"
 
 %{  /* NOCONTEXT */
 
@@ -2677,470 +2677,470 @@
     /* because used so often, this is open coded, instead of table driven */
     val = __intVal(__INST(asciivalue));
     switch (val >> 8) {
-        case 0x00:
-            if ((unsigned INT)(val - 'A') <= ('Z' - 'A')) {
-                RETURN ( true );
-            }
-            if ((unsigned INT)(val - 'a') <= ('z' - 'a')) {
-                RETURN ( true );
-            }
-            if (val == 0xAA) { RETURN (true); }
-            if (val == 0xB5) { RETURN (true); }
-            if (val == 0xBA) { RETURN (true); }
-            if (val < 0xC0) { RETURN (false); }
-            if (val == 0xD7) { RETURN (false); }
-            if (val == 0xF7) { RETURN (false); }
-            RETURN (true);
-
-        case 0x01:
-            RETURN (true);
-
-        case 0x02:
+	case 0x00:
+	    if ((unsigned INT)(val - 'A') <= ('Z' - 'A')) {
+		RETURN ( true );
+	    }
+	    if ((unsigned INT)(val - 'a') <= ('z' - 'a')) {
+		RETURN ( true );
+	    }
+	    if (val == 0xAA) { RETURN (true); }
+	    if (val == 0xB5) { RETURN (true); }
+	    if (val == 0xBA) { RETURN (true); }
+	    if (val < 0xC0) { RETURN (false); }
+	    if (val == 0xD7) { RETURN (false); }
+	    if (val == 0xF7) { RETURN (false); }
+	    RETURN (true);
+
+	case 0x01:
+	    RETURN (true);
+
+	case 0x02:
 #ifdef UNICODE_3_2
-            if (val <= 0x2B8) { RETURN (true); }
-            if (val == 0x2B9) { RETURN (false); }
-            if (val == 0x2BA) { RETURN (false); }
+	    if (val <= 0x2B8) { RETURN (true); }
+	    if (val == 0x2B9) { RETURN (false); }
+	    if (val == 0x2BA) { RETURN (false); }
 #else
-            if (val <= 0x2BA) { RETURN (true); }
+	    if (val <= 0x2BA) { RETURN (true); }
 #endif
-            if (val <= 0x2C1) { RETURN (true); }
+	    if (val <= 0x2C1) { RETURN (true); }
 #ifndef UNICODE_3_2
-            if (val <= 0x2C5) { RETURN (false); }
-            if (val <= 0x2CF) { RETURN (true); }
+	    if (val <= 0x2C5) { RETURN (false); }
+	    if (val <= 0x2CF) { RETURN (true); }
 #endif
-            if (val == 0x2D0) { RETURN (true); }
-            if (val == 0x2D1) { RETURN (true); }
-            if (val <= 0x2DF) { RETURN (false); }
-            if (val <= 0x2E4) { RETURN (true); }
-            if (val == 0x2EE) { RETURN (true); }
-            RETURN (false);
-
-        case 0x03:
-            if (val == 0x37A) { RETURN (true); }
-            if (val <= 0x385) { RETURN (false); }
-            if (val == 0x387) { RETURN (false); }
+	    if (val == 0x2D0) { RETURN (true); }
+	    if (val == 0x2D1) { RETURN (true); }
+	    if (val <= 0x2DF) { RETURN (false); }
+	    if (val <= 0x2E4) { RETURN (true); }
+	    if (val == 0x2EE) { RETURN (true); }
+	    RETURN (false);
+
+	case 0x03:
+	    if (val == 0x37A) { RETURN (true); }
+	    if (val <= 0x385) { RETURN (false); }
+	    if (val == 0x387) { RETURN (false); }
 #ifndef UNICODE_3_2
-            if (val == 0x3F6) { RETURN (false); }
+	    if (val == 0x3F6) { RETURN (false); }
 #endif
-            RETURN (true);
-
-        case 0x04:
-            if (val <= 0x481) { RETURN (true); }
-            if (val <= 0x486) { RETURN (false); }
-            if (val == 0x487) { RETURN (true); }
+	    RETURN (true);
+
+	case 0x04:
+	    if (val <= 0x481) { RETURN (true); }
+	    if (val <= 0x486) { RETURN (false); }
+	    if (val == 0x487) { RETURN (true); }
 #ifdef UNICODE_3_2
-            if (val <= 0x48A) { RETURN (false); }
+	    if (val <= 0x48A) { RETURN (false); }
 #else
-            if (val <= 0x489) { RETURN (false); }
+	    if (val <= 0x489) { RETURN (false); }
 #endif
-            RETURN (true);
-
-        case 0x05:
-            if (val <= 0x50f) { RETURN (true); }
-            if (val <= 0x530) { RETURN (false); }
-            if (val <= 0x556) { RETURN (true); }
-            if (val <= 0x558) { RETURN (false); }
-            if (val <= 0x559) { RETURN (true); }
-            if (val <= 0x55F) { RETURN (false); }
-            if (val <= 0x587) { RETURN (true); }
-            if (val <= 0x5cf) { RETURN (false); }
-            if (val <= 0x5f2) { RETURN (true); }
-            RETURN (false);
-
-        case 0x06:
-            if (val <= 0x620) { RETURN (false); }
-            if (val <= 0x64A) { RETURN (true); }
-            if (val <= 0x66D) { RETURN (false); }
-            if (val == 0x670) { RETURN (false); }
-            if (val <= 0x6D3) { RETURN (true); }
-            if (val == 0x6D5) { RETURN (true); }
-            if (val == 0x6E5) { RETURN (true); }
-            if (val == 0x6E6) { RETURN (true); }
-            if (val == 0x6EE) { RETURN (true); }
-            if (val == 0x6EF) { RETURN (true); }
-            if (val == 0x6FA) { RETURN (true); }
-            if (val == 0x6FB) { RETURN (true); }
-            if (val == 0x6FC) { RETURN (true); }
+	    RETURN (true);
+
+	case 0x05:
+	    if (val <= 0x50f) { RETURN (true); }
+	    if (val <= 0x530) { RETURN (false); }
+	    if (val <= 0x556) { RETURN (true); }
+	    if (val <= 0x558) { RETURN (false); }
+	    if (val <= 0x559) { RETURN (true); }
+	    if (val <= 0x55F) { RETURN (false); }
+	    if (val <= 0x587) { RETURN (true); }
+	    if (val <= 0x5cf) { RETURN (false); }
+	    if (val <= 0x5f2) { RETURN (true); }
+	    RETURN (false);
+
+	case 0x06:
+	    if (val <= 0x620) { RETURN (false); }
+	    if (val <= 0x64A) { RETURN (true); }
+	    if (val <= 0x66D) { RETURN (false); }
+	    if (val == 0x670) { RETURN (false); }
+	    if (val <= 0x6D3) { RETURN (true); }
+	    if (val == 0x6D5) { RETURN (true); }
+	    if (val == 0x6E5) { RETURN (true); }
+	    if (val == 0x6E6) { RETURN (true); }
+	    if (val == 0x6EE) { RETURN (true); }
+	    if (val == 0x6EF) { RETURN (true); }
+	    if (val == 0x6FA) { RETURN (true); }
+	    if (val == 0x6FB) { RETURN (true); }
+	    if (val == 0x6FC) { RETURN (true); }
 #ifndef UNICODE_3_2
-            if (val == 0x6FF) { RETURN (true); }
+	    if (val == 0x6FF) { RETURN (true); }
 #endif
-            RETURN (false);
-
-        case 0x07:
-            if (val <= 0x70F) { RETURN (false); }
-            if (val == 0x711) { RETURN (false); }
-            if (val <= 0x72F) { RETURN (true); }
+	    RETURN (false);
+
+	case 0x07:
+	    if (val <= 0x70F) { RETURN (false); }
+	    if (val == 0x711) { RETURN (false); }
+	    if (val <= 0x72F) { RETURN (true); }
 #ifdef UNICODE_3_2
-            if (val <= 0x74d) { RETURN (false); }
-            if (val <= 0x74e) { RETURN (true); }
+	    if (val <= 0x74d) { RETURN (false); }
+	    if (val <= 0x74e) { RETURN (true); }
 #else
-            if (val <= 0x74c) { RETURN (false); }
-            if (val <= 0x74f) { RETURN (true); }
+	    if (val <= 0x74c) { RETURN (false); }
+	    if (val <= 0x74f) { RETURN (true); }
 #endif
-            if (val <= 0x77F) { RETURN (false); }
-            if (val <= 0x7a5) { RETURN (true); }
-            if (val <= 0x7af) { RETURN (false); }
+	    if (val <= 0x77F) { RETURN (false); }
+	    if (val <= 0x7a5) { RETURN (true); }
+	    if (val <= 0x7af) { RETURN (false); }
 #ifndef UNICODE_3_2
-            if (val == 0x7B1) { RETURN (true); }
+	    if (val == 0x7B1) { RETURN (true); }
 #endif
-            RETURN (false);
-
-        case 0x09:
+	    RETURN (false);
+
+	case 0x09:
 #ifdef UNICODE_3_2
-            if (val <= 0x904) { RETURN (false); }
+	    if (val <= 0x904) { RETURN (false); }
 #else
-            if (val <= 0x903) { RETURN (false); }
+	    if (val <= 0x903) { RETURN (false); }
 #endif
-            if (val <= 0x93B) { RETURN (true); }
-            if (val == 0x93D) { RETURN (true); }
-            if (val == 0x950) { RETURN (true); }
-            if (val <= 0x957) { RETURN (false); }
-            if (val <= 0x961) { RETURN (true); }
-            if (val <= 0x984) { RETURN (false); }
-            if (val <= 0x9BB) { RETURN (true); }
+	    if (val <= 0x93B) { RETURN (true); }
+	    if (val == 0x93D) { RETURN (true); }
+	    if (val == 0x950) { RETURN (true); }
+	    if (val <= 0x957) { RETURN (false); }
+	    if (val <= 0x961) { RETURN (true); }
+	    if (val <= 0x984) { RETURN (false); }
+	    if (val <= 0x9BB) { RETURN (true); }
 #ifndef UNICODE_3_2
-            if (val == 0x9BD) { RETURN (true); }
+	    if (val == 0x9BD) { RETURN (true); }
 #endif
-            if (val <= 0x9DB) { RETURN (false); }
-            if (val <= 0x9E1) { RETURN (true); }
-            if (val <= 0x9EF) { RETURN (false); }
-            if (val <= 0x9F1) { RETURN (true); }
-            RETURN (false);
-
-        case 0x0A:
-            if (val <= 0xa04) { RETURN (false); }
-            if (val <= 0xa3B) { RETURN (true); }
-            if (val <= 0xa58) { RETURN (false); }
-            if (val <= 0xa65) { RETURN (true); }
-            if (val <= 0xa71) { RETURN (false); }
-            if (val <= 0xa80) { RETURN (true); }
-            if (val <= 0xa84) { RETURN (false); }
-            if (val <= 0xaBB) { RETURN (true); }
-            if (val == 0xaBD) { RETURN (true); }
-            if (val <= 0xaCF) { RETURN (false); }
+	    if (val <= 0x9DB) { RETURN (false); }
+	    if (val <= 0x9E1) { RETURN (true); }
+	    if (val <= 0x9EF) { RETURN (false); }
+	    if (val <= 0x9F1) { RETURN (true); }
+	    RETURN (false);
+
+	case 0x0A:
+	    if (val <= 0xa04) { RETURN (false); }
+	    if (val <= 0xa3B) { RETURN (true); }
+	    if (val <= 0xa58) { RETURN (false); }
+	    if (val <= 0xa65) { RETURN (true); }
+	    if (val <= 0xa71) { RETURN (false); }
+	    if (val <= 0xa80) { RETURN (true); }
+	    if (val <= 0xa84) { RETURN (false); }
+	    if (val <= 0xaBB) { RETURN (true); }
+	    if (val == 0xaBD) { RETURN (true); }
+	    if (val <= 0xaCF) { RETURN (false); }
 #ifndef UNICODE_3_2
-            if (val == 0xAE2) { RETURN (false); }
-            if (val == 0xAE3) { RETURN (false); }
+	    if (val == 0xAE2) { RETURN (false); }
+	    if (val == 0xAE3) { RETURN (false); }
 #endif
-            if (val <= 0xaE5) { RETURN (true); }
-            RETURN (false);
-
-        case 0x0B:
-            if (val <= 0xB04) { RETURN (false); }
-            if (val <= 0xb3B) { RETURN (true); }
-            if (val == 0xb3d) { RETURN (true); }
-            if (val <= 0xb5B) { RETURN (false); }
-            if (val <= 0xb65) { RETURN (true); }
+	    if (val <= 0xaE5) { RETURN (true); }
+	    RETURN (false);
+
+	case 0x0B:
+	    if (val <= 0xB04) { RETURN (false); }
+	    if (val <= 0xb3B) { RETURN (true); }
+	    if (val == 0xb3d) { RETURN (true); }
+	    if (val <= 0xb5B) { RETURN (false); }
+	    if (val <= 0xb65) { RETURN (true); }
 #ifndef UNICODE_3_2
-            if (val == 0xB71) { RETURN (true); }
-            if (val == 0xB83) { RETURN (true); }
+	    if (val == 0xB71) { RETURN (true); }
+	    if (val == 0xB83) { RETURN (true); }
 #endif
-            if (val <= 0xb84) { RETURN (false); }
-            if (val <= 0xbBB) { RETURN (true); }
-            RETURN (false);
-
-        case 0x0c:
-            if (val <= 0xc04) { RETURN (false); }
-            if (val <= 0xc3d) { RETURN (true); }
-            if (val <= 0xc5f) { RETURN (false); }
-            if (val <= 0xc65) { RETURN (true); }
-            if (val <= 0xc84) { RETURN (false); }
+	    if (val <= 0xb84) { RETURN (false); }
+	    if (val <= 0xbBB) { RETURN (true); }
+	    RETURN (false);
+
+	case 0x0c:
+	    if (val <= 0xc04) { RETURN (false); }
+	    if (val <= 0xc3d) { RETURN (true); }
+	    if (val <= 0xc5f) { RETURN (false); }
+	    if (val <= 0xc65) { RETURN (true); }
+	    if (val <= 0xc84) { RETURN (false); }
 #ifndef UNICODE_3_2
-            if (val == 0xcbc) { RETURN (false); }
+	    if (val == 0xcbc) { RETURN (false); }
 #endif
-            if (val <= 0xcbd) { RETURN (true); }
-            if (val <= 0xcdc) { RETURN (false); }
-            if (val <= 0xce5) { RETURN (true); }
-            RETURN (false);
-
-        case 0x0d:
-            if (val <= 0xd04) { RETURN (false); }
-            if (val <= 0xd3d) { RETURN (true); }
-            if (val <= 0xd5f) { RETURN (false); }
-            if (val <= 0xd65) { RETURN (true); }
-            if (val <= 0xd84) { RETURN (false); }
-            if (val <= 0xdc9) { RETURN (true); }
-            RETURN (false);
-
-        case 0x0E:
-            if (val == 0xE31) { RETURN (false); }
-            if (val <= 0xE33) { RETURN (true); }
-            if (val <= 0xE3F) { RETURN (false); }
-            if (val <= 0xE46) { RETURN (true); }
-            if (val <= 0xE7f) { RETURN (false); }
-            if (val <= 0xEb0) { RETURN (true); }
-            if (val == 0xEb1) { RETURN (false); }
-            if (val <= 0xEb3) { RETURN (true); }
-            if (val <= 0xEbc) { RETURN (false); }
-            if (val <= 0xEc7) { RETURN (true); }
-            if (val <= 0xEdb) { RETURN (false); }
-            RETURN (true);
-
-        case 0x0F:
-            if (val == 0xf00) { RETURN (true); }
-            if (val <= 0xf3F) { RETURN (false); }
-            if (val <= 0xf70) { RETURN (true); }
-            if (val <= 0xf87) { RETURN (false); }
-            if (val <= 0xf8f) { RETURN (true); }
-            RETURN (false);
-
-        case 0x10:
-            if (val <= 0x102b) { RETURN (true); }
-            if (val <= 0x104f) { RETURN (false); }
-            if (val <= 0x1055) { RETURN (true); }
-            if (val <= 0x109f) { RETURN (false); }
-            if (val <= 0x10fa) { RETURN (true); }
-            RETURN (false);
-
-        case 0x11:
-        case 0x12:
-            RETURN (true);
-
-        case 0x13:
-            if (val <= 0x1360) { RETURN (true); }
-            if (val <= 0x139f) { RETURN (false); }
-            RETURN (true);
-
-        case 0x14:
-        case 0x15:
-            RETURN (true);
-
-        case 0x16:
-            if (val == 0x166d) { RETURN (false); }
-            if (val == 0x166e) { RETURN (false); }
-            if (val == 0x1680) { RETURN (false); }
-            if (val == 0x169b) { RETURN (false); }
-            if (val == 0x169c) { RETURN (false); }
-            if (val <= 0x16ea) { RETURN (true); }
-            RETURN (false);
-
-        case 0x17:
+	    if (val <= 0xcbd) { RETURN (true); }
+	    if (val <= 0xcdc) { RETURN (false); }
+	    if (val <= 0xce5) { RETURN (true); }
+	    RETURN (false);
+
+	case 0x0d:
+	    if (val <= 0xd04) { RETURN (false); }
+	    if (val <= 0xd3d) { RETURN (true); }
+	    if (val <= 0xd5f) { RETURN (false); }
+	    if (val <= 0xd65) { RETURN (true); }
+	    if (val <= 0xd84) { RETURN (false); }
+	    if (val <= 0xdc9) { RETURN (true); }
+	    RETURN (false);
+
+	case 0x0E:
+	    if (val == 0xE31) { RETURN (false); }
+	    if (val <= 0xE33) { RETURN (true); }
+	    if (val <= 0xE3F) { RETURN (false); }
+	    if (val <= 0xE46) { RETURN (true); }
+	    if (val <= 0xE7f) { RETURN (false); }
+	    if (val <= 0xEb0) { RETURN (true); }
+	    if (val == 0xEb1) { RETURN (false); }
+	    if (val <= 0xEb3) { RETURN (true); }
+	    if (val <= 0xEbc) { RETURN (false); }
+	    if (val <= 0xEc7) { RETURN (true); }
+	    if (val <= 0xEdb) { RETURN (false); }
+	    RETURN (true);
+
+	case 0x0F:
+	    if (val == 0xf00) { RETURN (true); }
+	    if (val <= 0xf3F) { RETURN (false); }
+	    if (val <= 0xf70) { RETURN (true); }
+	    if (val <= 0xf87) { RETURN (false); }
+	    if (val <= 0xf8f) { RETURN (true); }
+	    RETURN (false);
+
+	case 0x10:
+	    if (val <= 0x102b) { RETURN (true); }
+	    if (val <= 0x104f) { RETURN (false); }
+	    if (val <= 0x1055) { RETURN (true); }
+	    if (val <= 0x109f) { RETURN (false); }
+	    if (val <= 0x10fa) { RETURN (true); }
+	    RETURN (false);
+
+	case 0x11:
+	case 0x12:
+	    RETURN (true);
+
+	case 0x13:
+	    if (val <= 0x1360) { RETURN (true); }
+	    if (val <= 0x139f) { RETURN (false); }
+	    RETURN (true);
+
+	case 0x14:
+	case 0x15:
+	    RETURN (true);
+
+	case 0x16:
+	    if (val == 0x166d) { RETURN (false); }
+	    if (val == 0x166e) { RETURN (false); }
+	    if (val == 0x1680) { RETURN (false); }
+	    if (val == 0x169b) { RETURN (false); }
+	    if (val == 0x169c) { RETURN (false); }
+	    if (val <= 0x16ea) { RETURN (true); }
+	    RETURN (false);
+
+	case 0x17:
 #ifndef UNICODE_3_2
-            if (val == 0x1712) { RETURN (false); }
-            if (val == 0x1713) { RETURN (false); }
-            if (val == 0x1714) { RETURN (false); }
-            if (val == 0x1732) { RETURN (false); }
-            if (val == 0x1733) { RETURN (false); }
-            if (val == 0x1734) { RETURN (false); }
-            if (val == 0x1735) { RETURN (false); }
-            if (val == 0x1736) { RETURN (false); }
-            if (val == 0x1752) { RETURN (false); }
-            if (val == 0x1753) { RETURN (false); }
-            if (val == 0x1772) { RETURN (false); }
-            if (val == 0x1773) { RETURN (false); }
+	    if (val == 0x1712) { RETURN (false); }
+	    if (val == 0x1713) { RETURN (false); }
+	    if (val == 0x1714) { RETURN (false); }
+	    if (val == 0x1732) { RETURN (false); }
+	    if (val == 0x1733) { RETURN (false); }
+	    if (val == 0x1734) { RETURN (false); }
+	    if (val == 0x1735) { RETURN (false); }
+	    if (val == 0x1736) { RETURN (false); }
+	    if (val == 0x1752) { RETURN (false); }
+	    if (val == 0x1753) { RETURN (false); }
+	    if (val == 0x1772) { RETURN (false); }
+	    if (val == 0x1773) { RETURN (false); }
 #endif
-            if (val <= 0x17b3) { RETURN (true); }
+	    if (val <= 0x17b3) { RETURN (true); }
 #ifndef UNICODE_3_2
-            if (val == 0x17D7) { RETURN (true); }
-            if (val == 0x17DC) { RETURN (true); }
+	    if (val == 0x17D7) { RETURN (true); }
+	    if (val == 0x17DC) { RETURN (true); }
 #endif
-            RETURN (false);
-
-        case 0x18:
-            if (val <= 0x181f) { RETURN (false); }
-            if (val <= 0x18a8) { RETURN (true); }
-            RETURN (false);
-
-        case 0x19:
+	    RETURN (false);
+
+	case 0x18:
+	    if (val <= 0x181f) { RETURN (false); }
+	    if (val <= 0x18a8) { RETURN (true); }
+	    RETURN (false);
+
+	case 0x19:
 #ifndef UNICODE_3_2
-            if (val <= 0x191F) { RETURN (true); }
-            if (val <= 0x194F) { RETURN (false); }
-            if (val <= 0x197F) { RETURN (true); }
+	    if (val <= 0x191F) { RETURN (true); }
+	    if (val <= 0x194F) { RETURN (false); }
+	    if (val <= 0x197F) { RETURN (true); }
 #endif
-            RETURN (false);
-
-        case 0x1d:
-            if (val <= 0x1d6B) { RETURN (true); }
-            RETURN (false);
-
-        case 0x1e:
-            RETURN (true);
-
-        case 0x1f:
-            if (val <= 0x1fbc) { RETURN (true); }
-            if (val == 0x1fbe) { RETURN (true); }
-            if (val <= 0x1fc1) { RETURN (false); }
-            if (val <= 0x1fcc) { RETURN (true); }
-            if (val <= 0x1fcf) { RETURN (false); }
-            if (val <= 0x1fdc) { RETURN (true); }
-            if (val <= 0x1fdf) { RETURN (false); }
-            if (val <= 0x1fec) { RETURN (true); }
-            if (val <= 0x1ff1) { RETURN (false); }
-            if (val <= 0x1ffc) { RETURN (true); }
-            RETURN (false);
-
-        case 0x20:
+	    RETURN (false);
+
+	case 0x1d:
+	    if (val <= 0x1d6B) { RETURN (true); }
+	    RETURN (false);
+
+	case 0x1e:
+	    RETURN (true);
+
+	case 0x1f:
+	    if (val <= 0x1fbc) { RETURN (true); }
+	    if (val == 0x1fbe) { RETURN (true); }
+	    if (val <= 0x1fc1) { RETURN (false); }
+	    if (val <= 0x1fcc) { RETURN (true); }
+	    if (val <= 0x1fcf) { RETURN (false); }
+	    if (val <= 0x1fdc) { RETURN (true); }
+	    if (val <= 0x1fdf) { RETURN (false); }
+	    if (val <= 0x1fec) { RETURN (true); }
+	    if (val <= 0x1ff1) { RETURN (false); }
+	    if (val <= 0x1ffc) { RETURN (true); }
+	    RETURN (false);
+
+	case 0x20:
 #ifndef UNICODE_3_2
-            if (val == 0x2071) { RETURN (true); }
+	    if (val == 0x2071) { RETURN (true); }
 #endif
-            if (val == 0x207f) { RETURN (true); }
-            RETURN (false);
-
-        case 0x21:
-            if (val == 0x2102) { RETURN (true); }
-            if (val == 0x2107) { RETURN (true); }
-            if (val <= 0x2109) { RETURN (false); }
-            if (val <= 0x2113) { RETURN (true); }
-            if (val == 0x2115) { RETURN (true); }
-            if (val <= 0x2118) { RETURN (false); }
-            if (val <= 0x211d) { RETURN (true); }
-            if (val <= 0x2123) { RETURN (false); }
-            if (val == 0x2125) { RETURN (false); }
-            if (val == 0x2127) { RETURN (false); }
-            if (val == 0x2129) { RETURN (false); }
-            if (val == 0x212E) { RETURN (false); }
-            if (val == 0x2132) { RETURN (false); }
-            if (val == 0x213A) { RETURN (false); }
+	    if (val == 0x207f) { RETURN (true); }
+	    RETURN (false);
+
+	case 0x21:
+	    if (val == 0x2102) { RETURN (true); }
+	    if (val == 0x2107) { RETURN (true); }
+	    if (val <= 0x2109) { RETURN (false); }
+	    if (val <= 0x2113) { RETURN (true); }
+	    if (val == 0x2115) { RETURN (true); }
+	    if (val <= 0x2118) { RETURN (false); }
+	    if (val <= 0x211d) { RETURN (true); }
+	    if (val <= 0x2123) { RETURN (false); }
+	    if (val == 0x2125) { RETURN (false); }
+	    if (val == 0x2127) { RETURN (false); }
+	    if (val == 0x2129) { RETURN (false); }
+	    if (val == 0x212E) { RETURN (false); }
+	    if (val == 0x2132) { RETURN (false); }
+	    if (val == 0x213A) { RETURN (false); }
 #ifndef UNICODE_3_2
-            if (val == 0x213B) { RETURN (false); }
-            if (val <= 0x213F) { RETURN (true); }
-            if (val <= 0x2144) { RETURN (false); }
-            if (val == 0x214A) { RETURN (false); }
-            if (val == 0x214B) { RETURN (false); }
+	    if (val == 0x213B) { RETURN (false); }
+	    if (val <= 0x213F) { RETURN (true); }
+	    if (val <= 0x2144) { RETURN (false); }
+	    if (val == 0x214A) { RETURN (false); }
+	    if (val == 0x214B) { RETURN (false); }
 #endif
-            if (val <= 0x2152) { RETURN (true); }
-            RETURN (false);
-
-        case 0x30:
-            if (val == 0x3005) { RETURN (true); }
-            if (val == 0x3006) { RETURN (true); }
-            if (val <= 0x3030) { RETURN (false); }
-            if (val <= 0x3035) { RETURN (true); }
+	    if (val <= 0x2152) { RETURN (true); }
+	    RETURN (false);
+
+	case 0x30:
+	    if (val == 0x3005) { RETURN (true); }
+	    if (val == 0x3006) { RETURN (true); }
+	    if (val <= 0x3030) { RETURN (false); }
+	    if (val <= 0x3035) { RETURN (true); }
 #ifndef UNICODE_3_2
-            if (val == 0x303B) { RETURN (true); }
-            if (val == 0x303C) { RETURN (true); }
+	    if (val == 0x303B) { RETURN (true); }
+	    if (val == 0x303C) { RETURN (true); }
 #endif
-            if (val <= 0x3040) { RETURN (false); }
-            if (val <= 0x3098) { RETURN (true); }
-            if (val <= 0x309c) { RETURN (false); }
+	    if (val <= 0x3040) { RETURN (false); }
+	    if (val <= 0x3098) { RETURN (true); }
+	    if (val <= 0x309c) { RETURN (false); }
 #ifndef UNICODE_3_2
-            if (val == 0x30A0) { RETURN (false); }
+	    if (val == 0x30A0) { RETURN (false); }
 #endif
-            if (val == 0x30Fb) { RETURN (false); }
-            RETURN ((true));
-
-        case 0x31:
-            if (val <= 0x318f) { RETURN (true); }
-            if (val <= 0x319F) { RETURN (false); }
-            RETURN ((true));
-
-        case 0x34:
-            RETURN ((true));
-
-        case 0x4d:
-            if (val <= 0x4DB4) { RETURN (false); }
+	    if (val == 0x30Fb) { RETURN (false); }
+	    RETURN ((true));
+
+	case 0x31:
+	    if (val <= 0x318f) { RETURN (true); }
+	    if (val <= 0x319F) { RETURN (false); }
+	    RETURN ((true));
+
+	case 0x34:
+	    RETURN ((true));
+
+	case 0x4d:
+	    if (val <= 0x4DB4) { RETURN (false); }
 #ifndef UNICODE_3_2
-            if (val <= 0x4DBF) { RETURN (true); }
-            RETURN (false);
+	    if (val <= 0x4DBF) { RETURN (true); }
+	    RETURN (false);
 #else
-            RETURN (true);
+	    RETURN (true);
 #endif
 
-        case 0x4e:
-            RETURN ((true));
-
-        case 0x9f:
-            if (val <= 0x9fa4) { RETURN (false); }
-            RETURN (true);
-
-        case 0xA0:
-        case 0xA1:
-        case 0xA2:
-        case 0xA3:
-            RETURN (true);
-
-        case 0xA4:
-            if (val <= 0xa48f) { RETURN (true); }
-            RETURN (false);
-
-        case 0xA5:
-            RETURN (true);
-
-        case 0xAC:
-            RETURN (true);
-
-        case 0xD7:
-            RETURN (true);
-
-        case 0xF9:
-        case 0xFA:
-            RETURN (true);
-
-        case 0xFB:
-            if (val == 0xfb1e) { RETURN (false); }
-            if (val == 0xfb29) { RETURN (false); }
-            RETURN (true);
-
-        case 0xFC:
-            RETURN (true);
-
-        case 0xFD:
-            if (val <= 0xFD3d) { RETURN (true); }
-            if (val <= 0xFD4F) { RETURN (false); }
+	case 0x4e:
+	    RETURN ((true));
+
+	case 0x9f:
+	    if (val <= 0x9fa4) { RETURN (false); }
+	    RETURN (true);
+
+	case 0xA0:
+	case 0xA1:
+	case 0xA2:
+	case 0xA3:
+	    RETURN (true);
+
+	case 0xA4:
+	    if (val <= 0xa48f) { RETURN (true); }
+	    RETURN (false);
+
+	case 0xA5:
+	    RETURN (true);
+
+	case 0xAC:
+	    RETURN (true);
+
+	case 0xD7:
+	    RETURN (true);
+
+	case 0xF9:
+	case 0xFA:
+	    RETURN (true);
+
+	case 0xFB:
+	    if (val == 0xfb1e) { RETURN (false); }
+	    if (val == 0xfb29) { RETURN (false); }
+	    RETURN (true);
+
+	case 0xFC:
+	    RETURN (true);
+
+	case 0xFD:
+	    if (val <= 0xFD3d) { RETURN (true); }
+	    if (val <= 0xFD4F) { RETURN (false); }
 #ifndef UNICODE_3_2
-            if (val == 0xFDFC) { RETURN (false); }
-            if (val == 0xFDFD) { RETURN (false); }
+	    if (val == 0xFDFC) { RETURN (false); }
+	    if (val == 0xFDFD) { RETURN (false); }
 #endif
-            RETURN (true);
-
-        case 0xFE:
+	    RETURN (true);
+
+	case 0xFE:
 #ifndef UNICODE_3_2
-            if (val <= 0xFE0F) { RETURN (false); }
+	    if (val <= 0xFE0F) { RETURN (false); }
 #endif
-            if (val <= 0xFE1f) { RETURN (true); }
-            if (val <= 0xFE6F) { RETURN (false); }
-            if (val <= 0xFEFE) { RETURN (true); }
-            RETURN (false);
-
-        case 0xFF:
-            if (val <= 0xFF20) { RETURN (false); }
-            if (val <= 0xFF3a) { RETURN (true); }
-            if (val <= 0xFF40) { RETURN (false); }
-            if (val <= 0xFF5a) { RETURN (true); }
-            if (val <= 0xFF65) { RETURN (false); }
-            if (val <= 0xFFdC) { RETURN (true); }
-            RETURN (false);
-
-        case 0x100:
+	    if (val <= 0xFE1f) { RETURN (true); }
+	    if (val <= 0xFE6F) { RETURN (false); }
+	    if (val <= 0xFEFE) { RETURN (true); }
+	    RETURN (false);
+
+	case 0xFF:
+	    if (val <= 0xFF20) { RETURN (false); }
+	    if (val <= 0xFF3a) { RETURN (true); }
+	    if (val <= 0xFF40) { RETURN (false); }
+	    if (val <= 0xFF5a) { RETURN (true); }
+	    if (val <= 0xFF65) { RETURN (false); }
+	    if (val <= 0xFFdC) { RETURN (true); }
+	    RETURN (false);
+
+	case 0x100:
 #ifndef UNICODE_3_2
-            RETURN (true);
+	    RETURN (true);
 #else
-            RETURN (false);
+	    RETURN (false);
 #endif
 
-        case 0x103:
-            if (val <= 0x1031f) { RETURN (true); }
-            if (val <= 0x1032F) { RETURN (false); }
-            if (val <= 0x10349) { RETURN (true); }
+	case 0x103:
+	    if (val <= 0x1031f) { RETURN (true); }
+	    if (val <= 0x1032F) { RETURN (false); }
+	    if (val <= 0x10349) { RETURN (true); }
 #ifndef UNICODE_3_2
-            if (val <= 0x1037F) { RETURN (false); }
-            if (val <= 0x1039E) { RETURN (true); }
+	    if (val <= 0x1037F) { RETURN (false); }
+	    if (val <= 0x1039E) { RETURN (true); }
 #endif
-            RETURN (false);
-
-        case 0x104:
+	    RETURN (false);
+
+	case 0x104:
 #ifndef UNICODE_3_2
-            if (val <= 0x1049F) { RETURN (true); }
-            if (val <= 0x104aF) { RETURN (false); }
+	    if (val <= 0x1049F) { RETURN (true); }
+	    if (val <= 0x104aF) { RETURN (false); }
 #endif
-            RETURN (true);
-
-        case 0x108:
+	    RETURN (true);
+
+	case 0x108:
 #ifndef UNICODE_3_2
-            RETURN (true);
+	    RETURN (true);
 #else
-            RETURN (false);
+	    RETURN (false);
 #endif
 
-        case 0x1D4:
-        case 0x1D5:
-            RETURN (true);
-
-        case 0x1D6:
-            if (val == 0x1d6c1) { RETURN (false); }
-            if (val == 0x1d6db) { RETURN (false); }
-            if (val == 0x1d6fb) { RETURN (false); }
-            RETURN (true);
+	case 0x1D4:
+	case 0x1D5:
+	    RETURN (true);
+
+	case 0x1D6:
+	    if (val == 0x1d6c1) { RETURN (false); }
+	    if (val == 0x1d6db) { RETURN (false); }
+	    if (val == 0x1d6fb) { RETURN (false); }
+	    RETURN (true);
     }
     RETURN (false);
 %}
@@ -3172,4 +3172,3 @@
 version_CVS
     ^ '$Header$'
 ! !
-