Repaginate.
authorChris Hanson <org/chris-hanson/cph>
Sat, 25 Feb 2017 05:30:54 +0000 (21:30 -0800)
committerChris Hanson <org/chris-hanson/cph>
Sat, 25 Feb 2017 05:30:54 +0000 (21:30 -0800)
src/runtime/ustring.scm

index 82ed9c885de4fe1563aa0ea4a158acc96bb82577..d7c309a0bf3d7ca70d325e10cf3d53280ffadff2 100644 (file)
@@ -564,6 +564,26 @@ USA.
        (fix:- breaks 1)
        breaks)))
 
+(define (find-grapheme-cluster-breaks string initial-ctx break)
+  (let ((n (string-length string)))
+
+    (define (get-gcb i)
+      (and (fix:< i n)
+          (ucd-gcb-value (string-ref string i))))
+
+    (define (transition gcb i ctx)
+      (if gcb
+         (let ((i* (fix:+ i 1)))
+           ((vector-ref gcb-states gcb)
+            (get-gcb i*)
+            (lambda (gcb* break?)
+              (transition gcb* i* (if break? (break i* ctx) ctx)))))
+         ctx))
+
+    (if (fix:> n 0)
+       (transition (get-gcb 0) 0 (break 0 initial-ctx))
+       initial-ctx)))
+
 (define gcb-names
   '#(control
      carriage-return
@@ -666,26 +686,6 @@ USA.
               (make-no-breaks
                '(emoji-base-gaz glue-after-zwj extend spacing-mark zwj)))))))
 \f
-(define (find-grapheme-cluster-breaks string initial-ctx break)
-  (let ((n (string-length string)))
-
-    (define (get-gcb i)
-      (and (fix:< i n)
-          (ucd-gcb-value (string-ref string i))))
-
-    (define (transition gcb i ctx)
-      (if gcb
-         (let ((i* (fix:+ i 1)))
-           ((vector-ref gcb-states gcb)
-            (get-gcb i*)
-            (lambda (gcb* break?)
-              (transition gcb* i* (if break? (break i* ctx) ctx)))))
-         ctx))
-
-    (if (fix:> n 0)
-       (transition (get-gcb 0) 0 (break 0 initial-ctx))
-       initial-ctx)))
-\f
 (define (list->string chars)
   (if (every char-8-bit? chars)
       (let ((string (legacy-string-allocate (length chars))))