Character.st
branchjv
changeset 18105 3a3a3e0ac47f
parent 18091 abbcac10730e
parent 15782 876338881d25
child 18120 e3a375d5f6a8
--- a/Character.st	Sat Oct 26 11:22:22 2013 +0100
+++ b/Character.st	Mon Nov 04 11:11:22 2013 -0300
@@ -182,98 +182,98 @@
     c1 := aStream next.
     codePoint := c1 codePoint.
     codePoint <= 16r7F ifTrue:[
-	"/ 0xxxxxxx - 7 bits
-	^ c1.
+        "/ 0xxxxxxx - 7 bits
+        ^ c1.
     ].
 
     (codePoint bitAnd:2r11000000) == 2r10000000 ifTrue:[
-	"/ out of sync (got an intermediate character)
-	InvalidEncodingError raiseRequestWith:codePoint errorString:' - out of sync'.
-	^ c1.
+        "/ out of sync (got an intermediate character)
+        InvalidEncodingError raiseRequestWith:codePoint errorString:' - out of sync'.
+        ^ c1.
     ].
 
     fetchNext := [  |ch|
-
-		    ch := aStream next.
-		    (ch codePoint bitAnd:2r11000000) == 2r10000000 ifFalse:[
-			"/ followup chars must have 2r10 in high bits
-			InvalidEncodingError raiseRequestWith:ch codePoint.
-			^ c1.
-		    ].
-		    ch
-		 ].
+                    ch := aStream next.
+                    (ch codePoint bitAnd:2r11000000) == 2r10000000 ifFalse:[
+                        "/ followup chars must have 2r10 in high bits
+                        InvalidEncodingError raiseRequestWith:ch codePoint.
+                        ^ c1.
+                    ].
+                    ch
+                 ].
 
     (codePoint bitAnd:2r11100000) == 2r11000000 ifTrue:[
-	"/ 110xxxxx 10xxxxxx - 11 bits
-	c2 := fetchNext value.
-	codePoint := c1 codePoint bitAnd:16r1F.
-	codePoint := (codePoint bitShift:6) bitOr:(c2 codePoint bitAnd:16r3F).
-	codePoint <= 16r7F ifTrue:[
-	    InvalidEncodingError raiseRequestWith:codePoint.
-	].
-	^ Character codePoint:codePoint
+        "/ 110xxxxx 10xxxxxx - 11 bits
+        c2 := fetchNext value.
+        codePoint := c1 codePoint bitAnd:16r1F.
+        codePoint := (codePoint bitShift:6) bitOr:(c2 codePoint bitAnd:16r3F).
+        codePoint <= 16r7F ifTrue:[
+            InvalidEncodingError raiseRequestWith:codePoint.
+        ].
+        ^ Character codePoint:codePoint
     ].
     (codePoint bitAnd:2r11110000) == 2r11100000 ifTrue:[
-	"/ 1110xxxx 10xxxxxx 10xxxxxx - 16 bits
-	c2 := fetchNext value.
-	c3 := fetchNext value.
-	codePoint := c1 codePoint bitAnd:16r0F.
-	codePoint := (codePoint bitShift:6) bitOr:(c2 codePoint bitAnd:16r3F).
-	codePoint := (codePoint bitShift:6) bitOr:(c3 codePoint bitAnd:16r3F).
-	codePoint <= 16r7FF ifTrue:[
-	    InvalidEncodingError raiseRequestWith:codePoint.
-	].
-	^ Character codePoint:codePoint
+        "/ 1110xxxx 10xxxxxx 10xxxxxx - 16 bits
+        c2 := fetchNext value.
+        c3 := fetchNext value.
+        codePoint := c1 codePoint bitAnd:16r0F.
+        codePoint := (codePoint bitShift:6) bitOr:(c2 codePoint bitAnd:16r3F).
+        codePoint := (codePoint bitShift:6) bitOr:(c3 codePoint bitAnd:16r3F).
+        codePoint <= 16r7FF ifTrue:[
+            InvalidEncodingError raiseRequestWith:codePoint.
+        ].
+        ^ Character codePoint:codePoint
     ].
 
     "/ notice: currently, characters can only have 16bit encoding;
     "/ therefore the following will raise a runtime exception,
 
     (codePoint bitAnd:2r11111000) == 2r11110000 ifTrue:[
-	"/ 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx - 21 bits
-	c2 := fetchNext value.
-	c3 := fetchNext value.
-	c4 := fetchNext value.
-	codePoint := c1 codePoint bitAnd:16r07.
-	codePoint := (codePoint bitShift:6) bitOr:(c2 codePoint bitAnd:16r3F).
-	codePoint := (codePoint bitShift:6) bitOr:(c3 codePoint bitAnd:16r3F).
-	codePoint := (codePoint bitShift:6) bitOr:(c4 codePoint bitAnd:16r3F).
-	codePoint <= 16rFFFF ifTrue:[
-	    InvalidEncodingError raiseRequestWith:codePoint.
-	].
-	^ Character codePoint:codePoint
+        "/ 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx - 21 bits
+        c2 := fetchNext value.
+        c3 := fetchNext value.
+        c4 := fetchNext value.
+        codePoint := c1 codePoint bitAnd:16r07.
+        codePoint := (codePoint bitShift:6) bitOr:(c2 codePoint bitAnd:16r3F).
+        codePoint := (codePoint bitShift:6) bitOr:(c3 codePoint bitAnd:16r3F).
+        codePoint := (codePoint bitShift:6) bitOr:(c4 codePoint bitAnd:16r3F).
+        codePoint <= 16rFFFF ifTrue:[
+            InvalidEncodingError raiseRequestWith:codePoint.
+        ].
+        ^ Character codePoint:codePoint
     ].
 
     (codePoint bitAnd:2r11111100) == 2r11111000 ifTrue:[
-	"/ 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx - 26 bits
-	c2 := fetchNext value.
-	c3 := fetchNext value.
-	c4 := fetchNext value.
-	c5 := fetchNext value.
-	codePoint := c1 codePoint bitAnd:16r03.
-	codePoint := (codePoint bitShift:6) bitOr:(c2 codePoint bitAnd:16r3F).
-	codePoint := (codePoint bitShift:6) bitOr:(c3 codePoint bitAnd:16r3F).
-	codePoint := (codePoint bitShift:6) bitOr:(c4 codePoint bitAnd:16r3F).
-	codePoint := (codePoint bitShift:6) bitOr:(c5 codePoint bitAnd:16r3F).
-	codePoint <= 16r1FFFFF ifTrue:[
-	    InvalidEncodingError raiseRequestWith:codePoint.
-	].
-	^ Character codePoint:codePoint
+        "/ 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx - 26 bits
+        c2 := fetchNext value.
+        c3 := fetchNext value.
+        c4 := fetchNext value.
+        c5 := fetchNext value.
+        codePoint := c1 codePoint bitAnd:16r03.
+        codePoint := (codePoint bitShift:6) bitOr:(c2 codePoint bitAnd:16r3F).
+        codePoint := (codePoint bitShift:6) bitOr:(c3 codePoint bitAnd:16r3F).
+        codePoint := (codePoint bitShift:6) bitOr:(c4 codePoint bitAnd:16r3F).
+        codePoint := (codePoint bitShift:6) bitOr:(c5 codePoint bitAnd:16r3F).
+        codePoint <= 16r1FFFFF ifTrue:[
+            InvalidEncodingError raiseRequestWith:codePoint.
+        ].
+        ^ Character codePoint:codePoint
     ].
 
     (codePoint bitAnd:2r11111110) == 2r11111100 ifTrue:[
-	"/ 1111110x ... 10xxxxxx - any number of bits
-	codePoint := c1 codePoint bitAnd:16r01.
-
-	c2 := aStream peek.
-	[ c2 notNil and:[(c2 codePoint bitAnd:2r11000000) == 2r10000000]] whileTrue:[
-	    codePoint := (codePoint bitShift:6) bitOr:(c2 codePoint bitAnd:16r3F).
-	    aStream next.
-	].
-	codePoint <= 16r3FFFFFF ifTrue:[
-	    InvalidEncodingError raiseRequestWith:codePoint.
-	].
-	^ Character codePoint:codePoint
+        "/ 1111110x ... 10xxxxxx - any number of bits
+        codePoint := c1 codePoint bitAnd:16r01.
+
+        c2 := aStream peek.
+        [c2 notNil and:[(c2 codePoint bitAnd:2r11000000) == 2r10000000]] whileTrue:[
+            codePoint := (codePoint bitShift:6) bitOr:(c2 codePoint bitAnd:16r3F).
+            aStream next.
+            c2 := aStream peek.
+        ].
+        codePoint <= 16r3FFFFFF ifTrue:[
+            InvalidEncodingError raiseRequestWith:codePoint.
+        ].
+        ^ Character codePoint:codePoint
     ].
 
     InvalidEncodingError raiseRequestWith:codePoint.
@@ -289,12 +289,12 @@
       |utf8Encoding original readBack|
 
       1 to:16rFFFF do:[:codePoint |
-	original := Character value:codePoint.
-	utf8Encoding := original asString utf8Encoded.
-	readBack := Character utf8DecodeFrom:(utf8Encoding readStream).
-	readBack codePoint = codePoint ifFalse:[
-	    self halt
-	]
+        original := Character value:codePoint.
+        utf8Encoding := original asString utf8Encoded.
+        readBack := Character utf8DecodeFrom:(utf8Encoding readStream).
+        readBack codePoint = codePoint ifFalse:[
+            self halt
+        ]
       ]
     "
 !
@@ -2829,10 +2829,10 @@
 !Character class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Character.st,v 1.147 2013-08-23 14:39:09 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Character.st,v 1.148 2013-10-14 19:59:53 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic/Character.st,v 1.147 2013-08-23 14:39:09 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Character.st,v 1.148 2013-10-14 19:59:53 stefan Exp $'
 ! !