Revision: 7284
Author:   nogu.dev
Date:     Fri Sep  9 19:58:21 2011
Log:      * scm/japanese-custom.scm
  - (ja-rk-rule-basic-uim): New.
  - (ja-rk-rule-type): New custom variable.
http://code.google.com/p/uim/source/detail?r=7284

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

=======================================
--- /trunk/scm/japanese-custom.scm      Fri Sep  9 19:58:06 2011
+++ /trunk/scm/japanese-custom.scm      Fri Sep  9 19:58:21 2011
@@ -527,6 +527,10 @@

     ))

+(define ja-rk-rule-basic-uim ja-rk-rule-basic)
+
+(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)
@@ -534,8 +538,6 @@
 (define ja-type-halfwidth-alnum        3)
 (define ja-type-fullwidth-alnum        4)

-(define ja-rk-rule (append ja-rk-rule-basic ja-rk-rule-additional))
-
 ;; getting required type of kana string from above kana-str-list
 ;; (ja-make-kana-str
 ;;  (("¤¸" "¥¸" "޼ŽÞ") ("¤ó" "¥ó" "ŽÝ") ("¤«" "¥«" "޶"))
@@ -655,11 +657,19 @@
                (N_ "Keep consonant Romaji not convertible to Kana")
                (N_ "long description will be here."))

+(define-custom 'ja-rk-rule-type 'uim
+               '(ja-rk-rule)
+               (list 'choice
+                (list 'uim (N_ "uim") (N_ "uim native"))
+                (list 'custom (N_ "Custom") (N_ "Custom")))
+               (N_ "Japanese Romaji-Kana rule type")
+               (N_ "long description will be here."))
+
 (define-custom 'ja-rk-rule-table-basic
                (ja-rk-rule-rule->table ja-rk-rule-basic)
                '(ja-rk-rule)
                '(table)
-               (N_ "Japanese Romaji-Kana rule")
+               (N_ "Japanese Romaji-Kana custom rule")
                (N_ "long description will be here."))

 (custom-add-hook 'ja-rk-rule-keep-consonant?
@@ -667,6 +677,19 @@
                  (lambda ()
                    (ja-rk-rule-update)))

+(custom-add-hook 'ja-rk-rule-type
+                 'custom-set-hooks
+                 (lambda ()
+                   (and
+                     (eq? ja-rk-rule-type 'uim)
+                       (set! ja-rk-rule-basic ja-rk-rule-basic-uim))
+                   (ja-rk-rule-update)))
+
+(custom-add-hook 'ja-rk-rule-table-basic
+                 'custom-activity-hooks
+                 (lambda ()
+                   (eq? ja-rk-rule-type 'custom)))
+
 (custom-add-hook 'ja-rk-rule-table-basic
                  'custom-set-hooks
                  (lambda ()

Reply via email to