Revision: 7298
Author:   nogu.dev
Date:     Sat Sep 10 22:46:25 2011
Log:      * scm/japanese-custom.scm
  - (ja-rk-rule-rule->table): Don't use string-to-list.
  - (ja-type-direct, ja-type-hiragana, ja-type-katakana,
     ja-type-halfkana, ja-type-halfwidth-alnum, ja-type-fullwidth-alnum,
     ja-make-kana-str): Move back to japanese.scm.
* scm/japanese.scm
  - (ja-type-direct, ja-type-hiragana, ja-type-katakana,
     ja-type-halfkana, ja-type-halfwidth-alnum, ja-type-fullwidth-alnum,
     ja-make-kana-str): Ditto.
  - Fix typo.
http://code.google.com/p/uim/source/detail?r=7298

Modified:
 /trunk/scm/japanese-custom.scm
 /trunk/scm/japanese.scm

=======================================
--- /trunk/scm/japanese-custom.scm      Sat Sep 10 20:51:06 2011
+++ /trunk/scm/japanese-custom.scm      Sat Sep 10 22:46:25 2011
@@ -531,34 +531,6 @@

 (define ja-rk-rule (append ja-rk-rule-basic ja-rk-rule-additional))

-(define ja-type-direct        -1)
-(define ja-type-hiragana       0)
-(define ja-type-katakana       1)
-(define ja-type-halfkana       2)
-(define ja-type-halfwidth-alnum        3)
-(define ja-type-fullwidth-alnum        4)
-
-;; getting required type of kana string from above kana-str-list
-;; (ja-make-kana-str
-;;  (("¤¸" "¥¸" "޼ŽÞ") ("¤ó" "¥ó" "ŽÝ") ("¤«" "¥«" "޶"))
-;;  ja-type-katakana)
-;;  -> "¥«¥ó¥¸"
-(define ja-make-kana-str
-  (lambda (sl type)
-    (let ((get-str-by-type
-          (lambda (l)
-            (cond
-             ((= type ja-type-hiragana)
-              (caar l))
-             ((= type ja-type-katakana)
-              (car (cdar l)))
-             ((= type ja-type-halfkana)
-              (cadr (cdar l)))))))
-      (if (not (null? sl))
-         (string-append (ja-make-kana-str (cdr sl) type)
-                        (get-str-by-type sl))
-         ""))))
-
 (define ja-rk-rule-rule->table (lambda (rule)
   (map
     (lambda (item)
@@ -592,9 +564,8 @@
               (eucjp->utf8 single-output))
; ((("k" "y" "a")) (("¤­" "¥­" "Ž·") ("¤ã" "¥ã" "ެ"))) -> "¤­¤ã"
             (eucjp->utf8
-              (fold-right string-append ""
-                (string-to-list
-                  (ja-make-kana-str output ja-type-hiragana)))))))) rule)))
+              (string-join
+                (map first output) "")))))) rule)))

 (define ja-rk-rule-table->rule (lambda (table)
   (map
=======================================
--- /trunk/scm/japanese.scm     Fri Sep  9 22:02:17 2011
+++ /trunk/scm/japanese.scm     Sat Sep 10 22:46:25 2011
@@ -360,6 +360,13 @@
                (ja-make-kana-str-list (cdr sl)))
        '())))

+(define ja-type-direct        -1)
+(define ja-type-hiragana       0)
+(define ja-type-katakana       1)
+(define ja-type-halfkana       2)
+(define ja-type-halfwidth-alnum        3)
+(define ja-type-fullwidth-alnum        4)
+
 (define ja-opposite-kana
   (lambda (kana)
     (cond
@@ -369,7 +376,28 @@
       ja-type-hiragana)
      ((= kana ja-type-halfkana)
       ja-type-hiragana))))
-
+
+;; getting required type of kana string from above kana-str-list
+;; (ja-make-kana-str
+;;  (("¤¸" "¥¸" "޼ŽÞ") ("¤ó" "¥ó" "ŽÝ") ("¤«" "¥«" "޶"))
+;;  ja-type-katakana)
+;;  -> "¥«¥ó¥¸"
+(define ja-make-kana-str
+  (lambda (sl type)
+    (let ((get-str-by-type
+          (lambda (l)
+            (cond
+             ((= type ja-type-hiragana)
+              (caar l))
+             ((= type ja-type-katakana)
+              (car (cdar l)))
+             ((= type ja-type-halfkana)
+              (cadr (cdar l)))))))
+      (if (not (null? sl))
+         (string-append (ja-make-kana-str (cdr sl) type)
+                        (get-str-by-type sl))
+         ""))))
+
 (define japanese-roma-set-yen-representation
   (lambda ()
     ;; Since ordinary Japanese users press the "yen sign" key on
@@ -408,7 +436,7 @@
 ;; If you do so, when the following conditions are met
 ;;   1) users call ja-rk-rule-update in ~/.uim
 ;;   2) ja-rk-rule-type is 'uim (default value)
-;; ja-rk-rule-basic is always overriden
+;; ja-rk-rule-basic is always overridden
 ;; with ja-rk-rule-basic-uim.
 ;; This is an unwanted behavior for users.
 (define ja-rk-rule-update

Reply via email to