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