7 new revisions:

Revision: 139acf266870
Author:   KIHARA Hideto <[email protected]>
Date:     Sun Apr  8 00:07:30 2012
Log: Add custom key sequences to change katakana/hiragana mode (not toggle)...
http://code.google.com/p/uim/source/detail?r=139acf266870

Revision: bf7cfcf29682
Author:   KIHARA Hideto <[email protected]>
Date:     Sat Apr  7 17:56:48 2012
Log: Add hiragana to tutcode-rule-uppercase-for-katakana for katakana mode....
http://code.google.com/p/uim/source/detail?r=bf7cfcf29682

Revision: f46bee9570f9
Author:   KIHARA Hideto <[email protected]>
Date:     Sat Apr  7 18:52:43 2012
Log: Add check of tutcode-rule-uppercase-as-opposite-kana? for backward com...
http://code.google.com/p/uim/source/detail?r=f46bee9570f9

Revision: e538e76355df
Author:   KIHARA Hideto <[email protected]>
Date:     Sat Apr  7 19:42:46 2012
Log: Add tutcode-rule-custom.scm for customization about tutcode-rule.scm....
http://code.google.com/p/uim/source/detail?r=e538e76355df

Revision: fd80c476dbf3
Author:   KIHARA Hideto <[email protected]>
Date:     Sat Apr  7 19:58:24 2012
Log: Add shin joyo kanji to tutcode-rule with custom variable tutcode-rule-...
http://code.google.com/p/uim/source/detail?r=fd80c476dbf3

Revision: fba12be432bc
Author:   KIHARA Hideto <[email protected]>
Date:     Sun Apr  8 00:38:31 2012
Log:      Add pseudo table style....
http://code.google.com/p/uim/source/detail?r=fba12be432bc

Revision: 46271d92dd48
Author:   KIHARA Hideto <[email protected]>
Date:     Sun Apr  8 01:34:29 2012
Log: Change to use label for first non-empty cell in row on pseudo table st...
http://code.google.com/p/uim/source/detail?r=46271d92dd48

==============================================================================
Revision: 139acf266870
Author:   KIHARA Hideto <[email protected]>
Date:     Sun Apr  8 00:07:30 2012
Log: Add custom key sequences to change katakana/hiragana mode (not toggle).

* scm/tutcode-key-custom.scm
  - (tutcode-katakana-sequence, tutcode-hiragana-sequence): New custom.
* scm/tutcode.scm
  - (tutcode-custom-set-mazegaki/bushu-start-sequence!):
    Change katakana/hiragana mode to katakana or hiragana by
    tutcode-katakana-sequence or tutcode-hiragana-sequence respectively.

http://code.google.com/p/uim/source/detail?r=139acf266870

Modified:
 /scm/tutcode-key-custom.scm
 /scm/tutcode.scm

=======================================
--- /scm/tutcode-key-custom.scm Wed Jan 11 00:17:24 2012
+++ /scm/tutcode-key-custom.scm Sun Apr  8 00:07:30 2012
@@ -63,6 +63,18 @@
               (N_ "[TUT-Code] toggle hiragana/katakana mode")
               (N_ "long description will be here"))

+(define-custom 'tutcode-katakana-sequence ""
+               '(tutcode-keys1 mode-transition)
+              '(string ".*")
+              (N_ "[TUT-Code] katakana mode")
+              (N_ "long description will be here"))
+
+(define-custom 'tutcode-hiragana-sequence ""
+               '(tutcode-keys1 mode-transition)
+              '(string ".*")
+              (N_ "[TUT-Code] hiragana mode")
+              (N_ "long description will be here"))
+
 (define-custom 'tutcode-kigou-toggle-key '("<IgnoreShift><Control>_")
                '(tutcode-keys1 mode-transition)
                '(key)
=======================================
--- /scm/tutcode.scm    Fri Apr 13 17:19:59 2012
+++ /scm/tutcode.scm    Sun Apr  8 00:07:30 2012
@@ -6192,6 +6192,12 @@
       (filter
         pair?
         (list
+          (make-subrule tutcode-katakana-sequence
+            (list
+ (lambda (state pc) (tutcode-context-set-katakana-mode! pc #t))))
+          (make-subrule tutcode-hiragana-sequence
+            (list
+ (lambda (state pc) (tutcode-context-set-katakana-mode! pc #f))))
           (make-subrule tutcode-mazegaki-start-sequence
             '(tutcode-mazegaki-start))
           (make-subrule tutcode-latin-conv-start-sequence

==============================================================================
Revision: bf7cfcf29682
Author:   KIHARA Hideto <[email protected]>
Date:     Sat Apr  7 17:56:48 2012
Log: Add hiragana to tutcode-rule-uppercase-for-katakana for katakana mode.

* scm/tutcode-rule.scm
  - (tutcode-rule-uppercase-for-katakana):
    Add hiragana for katakana mode.
  - (tutcode-rule):
    Remove needless katakana string (hiragana and katakana are same).

http://code.google.com/p/uim/source/detail?r=bf7cfcf29682

Modified:
 /scm/tutcode-rule.scm

=======================================
--- /scm/tutcode-rule.scm       Wed Jan 11 00:17:24 2012
+++ /scm/tutcode-rule.scm       Sat Apr  7 17:56:48 2012
@@ -89,7 +89,7 @@
     ((("r" "l" "h"))("¤§" "¥§"))
     ((("r" "l" "j"))("¤©" "¥©"))
     ((("e" "l" "k"))("¤¬" "¥¬"))
-    ((("e" "l" "e" "k"))("¥õ" "¥õ"))
+    ((("e" "l" "e" "k"))("¥õ"))
     ((("e" "l" "i"))("¤®" "¥®"))
     ((("e" "l" "u"))("¤°" "¥°"))
     ((("e" "l" "h"))("¤²" "¥²"))
@@ -2679,92 +2679,92 @@

 (define tutcode-rule-uppercase-for-katakana
   '(
-    ((("R" "K"))("¥¢"))
-    ((("R" "I"))("¥¤"))
-    ((("R" "U"))("¥¦"))
-    ((("R" "H"))("¥¨"))
-    ((("R" "J"))("¥ª"))
-    ((("E" "K"))("¥«"))
-    ((("E" "I"))("¥­"))
-    ((("E" "U"))("¥¯"))
-    ((("E" "H"))("¥±"))
-    ((("E" "J"))("¥³"))
-    ((("S" "K"))("¥µ"))
-    ((("S" "I"))("¥·"))
-    ((("S" "U"))("¥¹"))
-    ((("S" "H"))("¥»"))
-    ((("S" "J"))("¥½"))
-    ((("D" "K"))("¥¿"))
-    ((("D" "I"))("¥Á"))
-    ((("D" "U"))("¥Ä"))
-    ((("D" "H"))("¥Æ"))
-    ((("D" "J"))("¥È"))
-    ((("F" "K"))("¥Ê"))
-    ((("F" "I"))("¥Ë"))
-    ((("F" "U"))("¥Ì"))
-    ((("F" "H"))("¥Í"))
-    ((("F" "J"))("¥Î"))
-    ((("T" "K"))("¥Ï"))
-    ((("T" "I"))("¥Ò"))
-    ((("T" "U"))("¥Õ"))
-    ((("T" "H"))("¥Ø"))
-    ((("T" "J"))("¥Û"))
-    ((("W" "K"))("¥Þ"))
-    ((("W" "I"))("¥ß"))
-    ((("W" "U"))("¥à"))
-    ((("W" "H"))("¥á"))
-    ((("W" "J"))("¥â"))
-    ((("Q" "K"))("¥ä"))
-    ((("Q" "U"))("¥æ"))
-    ((("Q" "J"))("¥è"))
-    ((("G" "K"))("¥é"))
-    ((("G" "I"))("¥ê"))
-    ((("G" "U"))("¥ë"))
-    ((("G" "H"))("¥ì"))
-    ((("G" "J"))("¥í"))
-    ((("A" "K"))("¥ï"))
-    ((("A" "I"))("¥ð"))
-    ((("A" "H"))("¥ñ"))
-    ((("A" "J"))("¥ò"))
-    ((("R" "L" "K"))("¥¡"))
-    ((("R" "L" "I"))("¥£"))
-    ((("R" "L" "U"))("¥¥"))
+    ((("R" "K"))("¥¢" "¤¢"))
+    ((("R" "I"))("¥¤" "¤¤"))
+    ((("R" "U"))("¥¦" "¤¦"))
+    ((("R" "H"))("¥¨" "¤¨"))
+    ((("R" "J"))("¥ª" "¤ª"))
+    ((("E" "K"))("¥«" "¤«"))
+    ((("E" "I"))("¥­" "¤­"))
+    ((("E" "U"))("¥¯" "¤¯"))
+    ((("E" "H"))("¥±" "¤±"))
+    ((("E" "J"))("¥³" "¤³"))
+    ((("S" "K"))("¥µ" "¤µ"))
+    ((("S" "I"))("¥·" "¤·"))
+    ((("S" "U"))("¥¹" "¤¹"))
+    ((("S" "H"))("¥»" "¤»"))
+    ((("S" "J"))("¥½" "¤½"))
+    ((("D" "K"))("¥¿" "¤¿"))
+    ((("D" "I"))("¥Á" "¤Á"))
+    ((("D" "U"))("¥Ä" "¤Ä"))
+    ((("D" "H"))("¥Æ" "¤Æ"))
+    ((("D" "J"))("¥È" "¤È"))
+    ((("F" "K"))("¥Ê" "¤Ê"))
+    ((("F" "I"))("¥Ë" "¤Ë"))
+    ((("F" "U"))("¥Ì" "¤Ì"))
+    ((("F" "H"))("¥Í" "¤Í"))
+    ((("F" "J"))("¥Î" "¤Î"))
+    ((("T" "K"))("¥Ï" "¤Ï"))
+    ((("T" "I"))("¥Ò" "¤Ò"))
+    ((("T" "U"))("¥Õ" "¤Õ"))
+    ((("T" "H"))("¥Ø" "¤Ø"))
+    ((("T" "J"))("¥Û" "¤Û"))
+    ((("W" "K"))("¥Þ" "¤Þ"))
+    ((("W" "I"))("¥ß" "¤ß"))
+    ((("W" "U"))("¥à" "¤à"))
+    ((("W" "H"))("¥á" "¤á"))
+    ((("W" "J"))("¥â" "¤â"))
+    ((("Q" "K"))("¥ä" "¤ä"))
+    ((("Q" "U"))("¥æ" "¤æ"))
+    ((("Q" "J"))("¥è" "¤è"))
+    ((("G" "K"))("¥é" "¤é"))
+    ((("G" "I"))("¥ê" "¤ê"))
+    ((("G" "U"))("¥ë" "¤ë"))
+    ((("G" "H"))("¥ì" "¤ì"))
+    ((("G" "J"))("¥í" "¤í"))
+    ((("A" "K"))("¥ï" "¤ï"))
+    ((("A" "I"))("¥ð" "¤ð"))
+    ((("A" "H"))("¥ñ" "¤ñ"))
+    ((("A" "J"))("¥ò" "¤ò"))
+    ((("R" "L" "K"))("¥¡" "¤¡"))
+    ((("R" "L" "I"))("¥£" "¤£"))
+    ((("R" "L" "U"))("¥¥" "¤¥"))
     ((("R" "L" "R" "U"))("¥ô"))
-    ((("R" "L" "H"))("¥§"))
-    ((("R" "L" "J"))("¥©"))
-    ((("E" "L" "K"))("¥¬"))
+    ((("R" "L" "H"))("¥§" "¤§"))
+    ((("R" "L" "J"))("¥©" "¤©"))
+    ((("E" "L" "K"))("¥¬" "¤¬"))
     ((("E" "L" "E" "K"))("¥õ"))
-    ((("E" "L" "I"))("¥®"))
-    ((("E" "L" "U"))("¥°"))
-    ((("E" "L" "H"))("¥²"))
+    ((("E" "L" "I"))("¥®" "¤®"))
+    ((("E" "L" "U"))("¥°" "¤°"))
+    ((("E" "L" "H"))("¥²" "¤²"))
     ((("E" "L" "E" "H"))("¥ö"))
-    ((("E" "L" "J"))("¥´"))
-    ((("S" "L" "K"))("¥¶"))
-    ((("S" "L" "I"))("¥¸"))
-    ((("S" "L" "U"))("¥º"))
-    ((("S" "L" "H"))("¥¼"))
-    ((("S" "L" "J"))("¥¾"))
-    ((("D" "L" "K"))("¥À"))
-    ((("D" "L" "I"))("¥Â"))
-    ((("D" "L" "U"))("¥Ã"))
-    ((("D" "L" "D" "U"))("¥Å"))
-    ((("D" "L" "H"))("¥Ç"))
-    ((("D" "L" "J"))("¥É"))
-    ((("F" "L"))("¥ó"))
-    ((("T" "L" "K"))("¥Ð"))
-    ((("T" "L" "I"))("¥Ó"))
-    ((("T" "L" "U"))("¥Ö"))
-    ((("T" "L" "H"))("¥Ù"))
-    ((("T" "L" "J"))("¥Ü"))
-    ((("T" "L" "T" "K"))("¥Ñ"))
-    ((("T" "L" "T" "I"))("¥Ô"))
-    ((("T" "L" "T" "U"))("¥×"))
-    ((("T" "L" "T" "H"))("¥Ú"))
-    ((("T" "L" "T" "J"))("¥Ý"))
-    ((("Q" "L" "K"))("¥ã"))
-    ((("Q" "L" "U"))("¥å"))
-    ((("Q" "L" "J"))("¥ç"))
-    ((("A" "L" "K"))("¥î"))))
+    ((("E" "L" "J"))("¥´" "¤´"))
+    ((("S" "L" "K"))("¥¶" "¤¶"))
+    ((("S" "L" "I"))("¥¸" "¤¸"))
+    ((("S" "L" "U"))("¥º" "¤º"))
+    ((("S" "L" "H"))("¥¼" "¤¼"))
+    ((("S" "L" "J"))("¥¾" "¤¾"))
+    ((("D" "L" "K"))("¥À" "¤À"))
+    ((("D" "L" "I"))("¥Â" "¤Â"))
+    ((("D" "L" "U"))("¥Ã" "¤Ã"))
+    ((("D" "L" "D" "U"))("¥Å" "¤Å"))
+    ((("D" "L" "H"))("¥Ç" "¤Ç"))
+    ((("D" "L" "J"))("¥É" "¤É"))
+    ((("F" "L"))("¥ó" "¤ó"))
+    ((("T" "L" "K"))("¥Ð" "¤Ð"))
+    ((("T" "L" "I"))("¥Ó" "¤Ó"))
+    ((("T" "L" "U"))("¥Ö" "¤Ö"))
+    ((("T" "L" "H"))("¥Ù" "¤Ù"))
+    ((("T" "L" "J"))("¥Ü" "¤Ü"))
+    ((("T" "L" "T" "K"))("¥Ñ" "¤Ñ"))
+    ((("T" "L" "T" "I"))("¥Ô" "¤Ô"))
+    ((("T" "L" "T" "U"))("¥×" "¤×"))
+    ((("T" "L" "T" "H"))("¥Ú" "¤Ú"))
+    ((("T" "L" "T" "J"))("¥Ý" "¤Ý"))
+    ((("Q" "L" "K"))("¥ã" "¤ã"))
+    ((("Q" "L" "U"))("¥å" "¤å"))
+    ((("Q" "L" "J"))("¥ç" "¤ç"))
+    ((("A" "L" "K"))("¥î" "¤î"))))

 (define tutcode-rule-uppercase-for-kigou-in-katakana
   '(

==============================================================================
Revision: f46bee9570f9
Author:   KIHARA Hideto <[email protected]>
Date:     Sat Apr  7 18:52:43 2012
Log: Add check of tutcode-rule-uppercase-as-opposite-kana? for backward compatibility.

* scm/tutcode-rule.scm:
  Use hiragana in tutcode-rule-uppercase-for-katakana for katakana mode
  only when tutcode-rule-uppercase-as-opposite-kana? is set to #t.

http://code.google.com/p/uim/source/detail?r=f46bee9570f9

Modified:
 /scm/tutcode-rule.scm

=======================================
--- /scm/tutcode-rule.scm       Sat Apr  7 17:56:48 2012
+++ /scm/tutcode-rule.scm       Sat Apr  7 18:52:43 2012
@@ -2766,17 +2766,37 @@
     ((("Q" "L" "J"))("¥ç" "¤ç"))
     ((("A" "L" "K"))("¥î" "¤î"))))

+;;; Âçʸ»ú¤Ç¡¢¸½ºß¤Î¤Ò¤é¤¬¤Ê/¥«¥¿¥«¥Ê¥â¡¼¥É¤ÈÈ¿ÂФΥ«¥¿¥«¥Ê/¤Ò¤é¤¬¤Ê¤òÆþÎϤ¹¤ë
+;;; ¤Ë¤Ï¡¢~/.uim¤Ë°Ê²¼¤Î¤è¤¦¤Ëµ­½Ò¤¹¤ë¡£
+;;;   (define tutcode-rule-uppercase-as-opposite-kana? #t)
+;;; (½¾Í褫¤é¤Îưºî¤Ï¡¢Âçʸ»ú¤Ç¤Ïɬ¤º¥«¥¿¥«¥ÊÆþÎÏ)
+;;; (XXX:tutcode-custom¤ËÀßÄê¤òÆþ¤ì¤ë¤È¡¢tutcode-rule.scm°Ê³°¤ò»È¤¦¾ì¹ç¤Ë¡¢
+;;;  ¥æ¡¼¥¶¤¬custom¤Ç¹Ô¤Ã¤¿ÀßÄ꤬´üÂÔÄ̤ê¤Ë¤Ï¸ú¤«¤Ê¤¤¡£
+;;;  tutcode-rule-custom.scm¤òÄɲ乤ë?)
+(if (or (not (symbol-bound? 'tutcode-rule-uppercase-as-opposite-kana?))
+        (not tutcode-rule-uppercase-as-opposite-kana?))
+  (set! tutcode-rule-uppercase-for-katakana
+    (map
+      (lambda (x)
+        (list (car x) (list (caadr x))))
+      tutcode-rule-uppercase-for-katakana)))
+
 (define tutcode-rule-uppercase-for-kigou-in-katakana
   '(
     ((("E" " "))("¡¼"))
     ((("O" " "))("¡¦"))))

 ;;; Âçʸ»ú¤Ç¥«¥¿¥«¥ÊÆþÎϤò¹Ô¤¦ÄêµÁ¤òÅÐÏ¿¤·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï¡¢
-;;; ~/.uim¤Ë°Ê²¼¤Î¤è¤¦¤Ëµ­½Ò¤¹¤ë¡£
+;;; ~/.uim¤Ë°Ê²¼¤Î¤è¤¦¤Ëµ­½Ò¤¹¤ë¡£(Âçʸ»ú¤Ç¤Î¥«¥¿¥«¥ÊÆþÎϤò»È¤ï¤Ê¤¤¾ì¹ç¡¢
+;;; stroke-help¤Î²¾ÁÛ¸°ÈפDz¼È¾Ê¬¤Î¥·¥Õ¥È¥­¡¼Îΰè̵¤·¤ÇȾʬ¤Î¥µ¥¤¥º¤Ç
+;;; ɽ¼¨¤·¤¿¤¤¾ì¹ç¤Ê¤É)
 ;;;   (define tutcode-rule-exclude-uppercase-for-katakana? #t)
;;; ¤Þ¤¿¡¢¥«¥¿¥«¥ÊÃæ¤Ë½Ð¸½¤¹¤ë¤³¤È¤Î¿¤¤"¡¼"¤È"¡¦"¤òÂçʸ»ú¤ÇÆþÎϤ¹¤ëÄêµÁ¤Î¤ß¤ò
 ;;; ÅÐÏ¿¤·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï¡¢~/.uim¤Ë°Ê²¼¤Î¤è¤¦¤Ëµ­½Ò¤¹¤ë¡£
 ;;;   (define tutcode-rule-exclude-uppercase-for-kigou-in-katakana? #t)
+;;; (XXX:¸½¾õ¤Ï¡¢Âçʸ»ú¤Î((("E" " "))("¡¼"))ÄêµÁ¤¬»È¤ï¤ì¤Æ¤â¡¢
+;;;  ´Á»ú¢ªÆþÎÏ¥·¡¼¥±¥ó¥¹ÊÑ´¹¤¹¤ë¤È¾®Ê¸»ú²½¤µ¤ì¤ë¡£¤½¤ì¤ò²óÈò¤·¤¿¤¤¾ì¹çÍÑ¡£
+;;; Îã:"CODE "¤ÈÂǸ°¡¢"COD¡¼"¤Èɽ¼¨¡¢´Á»ú¢ªÆþÎÏ¥·¡¼¥±¥ó¥¹ÊÑ´¹¤¹¤ë¤È"CODe ")
 (if (or (not (symbol-bound? 'tutcode-rule-exclude-uppercase-for-katakana?))
         (not tutcode-rule-exclude-uppercase-for-katakana?))
   (set! tutcode-rule

==============================================================================
Revision: e538e76355df
Author:   KIHARA Hideto <[email protected]>
Date:     Sat Apr  7 19:42:46 2012
Log: Add tutcode-rule-custom.scm for customization about tutcode-rule.scm.

* scm/Makefile.am
  - (SCM_FILES): Add tutcode-rule-custom.scm.
* scm/tutcode-rule-custom.scm
  - New custom file.
  - (tutcode-rule): New custom group.
  - (tutcode-rule-uppercase-as-opposite-kana?,
     tutcode-rule-exclude-uppercase-for-katakana?,
     tutcode-rule-exclude-uppercase-for-kigou-in-katakana?):
    New custom variable.
* scm/tutcode.scm
  - Add require-custom "tutcode-rule-custom.scm".
* scm/tutcode-rule.scm
  - Update comment.

http://code.google.com/p/uim/source/detail?r=e538e76355df

Added:
 /scm/tutcode-rule-custom.scm
Modified:
 /scm/Makefile.am
 /scm/tutcode-rule.scm
 /scm/tutcode.scm

=======================================
--- /dev/null
+++ /scm/tutcode-rule-custom.scm        Sat Apr  7 19:42:46 2012
@@ -0,0 +1,68 @@
+;;; tutcode-rule-custom.scm: Customization variables for tutcode-rule.scm
+;;;
+;;; Copyright (c) 2012 uim Project http://code.google.com/p/uim/
+;;;
+;;; All rights reserved.
+;;;
+;;; Redistribution and use in source and binary forms, with or without
+;;; modification, are permitted provided that the following conditions
+;;; are met:
+;;; 1. Redistributions of source code must retain the above copyright
+;;;    notice, this list of conditions and the following disclaimer.
+;;; 2. Redistributions in binary form must reproduce the above copyright
+;;;    notice, this list of conditions and the following disclaimer in the
+;;;    documentation and/or other materials provided with the distribution.
+;;; 3. Neither the name of authors nor the names of its contributors
+;;; may be used to endorse or promote products derived from this software
+;;;    without specific prior written permission.
+;;;
+;;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND
+;;; ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+;;; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +;;; ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE +;;; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+;;; OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+;;; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +;;; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+;;; OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+;;; SUCH DAMAGE.
+;;;;
+
+(require "i18n.scm")
+
+
+;;; tutcode.scm¤Ç¤Ï¡¢tutcode-rule.scm°Ê³°(tcode.scmÅù)¤ò»È¤¦²ÄǽÀ­¤¬¤¢¤ë¤Î¤Ç¡¢
+;;; tutcode-rule.scm¸ÇÍ­¤ÎÀßÄê¤Ïtutcode-rule-custom.scm¤Ç¹Ô¤¦¡£
+;;; (tutcode-custom.scm¤Ç¤Ï¤Ê¤¯)
+(define-custom-group 'tutcode-rule
+                     (N_ "tutcode-rule")
+                     (N_ "Settings for tutcode-rule.scm"))
+
+(define-custom 'tutcode-rule-uppercase-as-opposite-kana? #f
+  '(tutcode-rule)
+  '(boolean)
+  (N_ "Use uppercase rule to input opposite kana")
+  (N_ "long description will be here."))
+
+(define-custom 'tutcode-rule-exclude-uppercase-for-katakana? #f
+  '(tutcode-rule)
+  '(boolean)
+  (N_ "Exclude uppercase katakana rule")
+  (N_ "long description will be here."))
+
+(define-custom 'tutcode-rule-exclude-uppercase-for-kigou-in-katakana? #f
+  '(tutcode-rule)
+  '(boolean)
+  (N_ "Exclude uppercase kigou in katakana rule")
+  (N_ "long description will be here."))
+
+(custom-add-hook 'tutcode-rule-exclude-uppercase-for-kigou-in-katakana?
+                'custom-activity-hooks
+                (lambda ()
+                  (not tutcode-rule-exclude-uppercase-for-katakana?)))
+
+(custom-add-hook 'tutcode-rule-uppercase-as-opposite-kana?
+                'custom-activity-hooks
+                (lambda ()
+                  (not tutcode-rule-exclude-uppercase-for-katakana?)))
=======================================
--- /scm/Makefile.am    Sat Mar 17 06:47:31 2012
+++ /scm/Makefile.am    Sat Apr  7 19:42:46 2012
@@ -35,6 +35,7 @@
  tutcode.scm tutcode-custom.scm tutcode-key-custom.scm tutcode-bushu.scm \
  tutcode-bushudic.scm tutcode-rule.scm tutcode-kigoudic.scm \
  tutcode-editor.scm tutcode-dialog.scm tutcode-kigou-rule.scm \
+ tutcode-rule-custom.scm \
  hangul.scm hangul2.scm hangul3.scm romaja.scm \
  byeoru.scm byeoru-symbols.scm \
  byeoru-custom.scm byeoru-key-custom.scm \
=======================================
--- /scm/tutcode-rule.scm       Sat Apr  7 18:52:43 2012
+++ /scm/tutcode-rule.scm       Sat Apr  7 19:42:46 2012
@@ -2770,9 +2770,6 @@
 ;;; ¤Ë¤Ï¡¢~/.uim¤Ë°Ê²¼¤Î¤è¤¦¤Ëµ­½Ò¤¹¤ë¡£
 ;;;   (define tutcode-rule-uppercase-as-opposite-kana? #t)
 ;;; (½¾Í褫¤é¤Îưºî¤Ï¡¢Âçʸ»ú¤Ç¤Ïɬ¤º¥«¥¿¥«¥ÊÆþÎÏ)
-;;; (XXX:tutcode-custom¤ËÀßÄê¤òÆþ¤ì¤ë¤È¡¢tutcode-rule.scm°Ê³°¤ò»È¤¦¾ì¹ç¤Ë¡¢
-;;;  ¥æ¡¼¥¶¤¬custom¤Ç¹Ô¤Ã¤¿ÀßÄ꤬´üÂÔÄ̤ê¤Ë¤Ï¸ú¤«¤Ê¤¤¡£
-;;;  tutcode-rule-custom.scm¤òÄɲ乤ë?)
 (if (or (not (symbol-bound? 'tutcode-rule-uppercase-as-opposite-kana?))
         (not tutcode-rule-uppercase-as-opposite-kana?))
   (set! tutcode-rule-uppercase-for-katakana
=======================================
--- /scm/tutcode.scm    Sun Apr  8 00:07:30 2012
+++ /scm/tutcode.scm    Sat Apr  7 19:42:46 2012
@@ -384,6 +384,7 @@
 (require-custom "tutcode-custom.scm")
 (require-custom "generic-key-custom.scm")
 (require-custom "tutcode-key-custom.scm")
+(require-custom "tutcode-rule-custom.scm");uim-pref¤ØÉ½¼¨¤Î¤¿¤á(tcode»þ¤Ï̵ÍÑ)
(require-dynlib "skk") ;SKK·Á¼°¤Î¸ò¤¼½ñ¤­¼­½ñ¤Î¸¡º÷¤Î¤¿¤álibuim-skk.so¤ò¥í¡¼¥É
 (require "tutcode-bushudic.scm") ;Éô¼ó¹çÀ®ÊÑ´¹¼­½ñ
 (require "tutcode-kigoudic.scm") ;µ­¹æÆþÎϥ⡼¥ÉÍѤε­¹æÉ½

==============================================================================
Revision: fd80c476dbf3
Author:   KIHARA Hideto <[email protected]>
Date:     Sat Apr  7 19:58:24 2012
Log: Add shin joyo kanji to tutcode-rule with custom variable tutcode-rule-use-tutplus?

* scm/tutcode-rule-custom.scm
  - (tutcode-rule-use-tutplus?): New custom variable.
* scm/tutcode-rule.scm
  - (tutcode-rule-shin-joyo-kanji-plus): New additional rule.

http://code.google.com/p/uim/source/detail?r=fd80c476dbf3

Modified:
 /scm/tutcode-rule-custom.scm
 /scm/tutcode-rule.scm

=======================================
--- /scm/tutcode-rule-custom.scm        Sat Apr  7 19:42:46 2012
+++ /scm/tutcode-rule-custom.scm        Sat Apr  7 19:58:24 2012
@@ -39,6 +39,12 @@
                      (N_ "tutcode-rule")
                      (N_ "Settings for tutcode-rule.scm"))

+(define-custom 'tutcode-rule-use-tutplus? #f
+  '(tutcode-rule)
+  '(boolean)
+  (N_ "Use TUT+ Code which supports shin joyo kanji")
+  (N_ "long description will be here."))
+
 (define-custom 'tutcode-rule-uppercase-as-opposite-kana? #f
   '(tutcode-rule)
   '(boolean)
=======================================
--- /scm/tutcode-rule.scm       Sat Apr  7 19:42:46 2012
+++ /scm/tutcode-rule.scm       Sat Apr  7 19:58:24 2012
@@ -2677,6 +2677,81 @@
     ((("z" "v" "u"))("ÅÎ"))
     ((("z" "v" "y"))("ºÖ"))))

+;;; ¿·¾ïÍÑ´Á»úÂбþ¤Î¤¿¤á¤ÎÄɲÃ52ʸ»ú¤È¡¢
+;;; ¿·Ê¹¶¨²ñ¡¢¶¦Æ±ÄÌ¿®¡¢Ä«Æü¿·Ê¹¡¢NHK¤Ê¤É¤¬ÆÈ¼«¤Ë»ÈÍѤò·è¤á¤¿´Á»ú
+;;; Âбþ¤Î¤¿¤á¤ÎÄɲÃ11ʸ»ú¡Ö¾¥¿¾æõßÖÊû±­æêÈÔå«Ê±¹º¡×
+;;; http://www.geocities.jp/ken1noguchi/TUT-CODE/kankyo/download.htm
+(define tutcode-rule-shin-joyo-kanji-plus
+  '(
+    ((("d" "g" "g"))("ÙÇ"))
+    ((("p" "h" "h"))("í©"))
+    ((("q" "t" "t"))("Ñë"))
+    ((("j" "n" "n"))("×Ã"))
+    ((("k" "h" "h"))("³Ü"))
+    ((("f" "g" "g"))("ÓÞ"))
+    ((("q" "g" "g"))("ÊÃ"))
+    ((("." "h" "h"))("½"))
+    ((("e" "v" "v"))("Íà"))
+    ((("e" "g" "g"))("ݵ"))
+    ((("j" "h" "h"))("ÁÖ"))
+    ((("c" "g" "g"))("ØË"))
+    ((("i" "m" "m"))("ØÝ"))
+    ((("i" "h" "h"))("ª"))
+    ((("," "h" "h"))("Ðþ"))
+    ((("s" "b" "b"))("Ϩ"))
+    ((("a" "b" "b"))("Ľ"))
+    ((("l" "h" "h"))("ÅÊ"))
+    (((";" "h" "h"))("ºÃ"))
+    ((("f" "t" "t"))("DZ"))
+    ((("," "y" "y"))("äµ"))
+    ((("/" "y" "y"))("ÈÅ"))
+    (((";" "n" "n"))("ë¾"))
+    ((("s" "g" "g"))("Ëæ"))
+    ((("l" "y" "y"))("Ч"))
+    ((("j" "y" "y"))("ÓÈ"))
+    ((("/" "h" "h"))("äÆ"))
+    ((("o" "n" "n"))("Ŷ"))
+    ((("d" "t" "t"))("¼»"))
+    ((("s" "t" "t"))("η"))
+    ((("a" "t" "t"))("Ìê"))
+    ((("z" "g" "g"))("åÌ"))
+    ((("e" "b" "b"))("ëß"))
+    ((("w" "b" "b"))("Ü´"))
+    ((("k" "y" "y"))("ÓÌ"))
+    ((("r" "g" "g"))("áç"))
+    (((";" "y" "y"))("æ·"))
+    ((("." "y" "y"))("íå"))
+    ((("i" "n" "n"))("ɲ"))
+    ((("f" "v" "v"))("îþ"))
+    ((("e" "t" "t"))("ÇÍ"))
+    ((("u" "h" "h"))("¹¼"))
+    ((("x" "t" "t"))("Ùõ"))
+    ((("l" "m" "m"))("Áé"))
+    ((("i" "y" "y"))("àú"))
+    ((("o" "y" "y"))("Ãñ"))
+    ((("u" "y" "y"))("×ü"))
+    ((("s" "v" "v"))("Ó®"))
+    ((("o" "h" "h"))("Û£"))
+    ((("p" "y" "y"))("ìÅ"))
+    ((("k" "n" "n"))("ÔÌ"))
+    ((("f" "b" "b"))("×ó"))
+
+    ((("l" "n" "n"))("¾¥"))
+    ((("d" "v" "v"))("¿¾"))
+    ((("d" "b" "b"))("æõ"))
+    ((("r" "t" "t"))("ßÖ"))
+    ((("a" "g" "g"))("Êû"))
+    ((("w" "g" "g"))("±­"))
+    ((("z" "t" "t"))("æê"))
+    ((("c" "t" "t"))("ÈÔ"))
+    ((("w" "t" "t"))("å«"))
+    ((("k" "m" "m"))("ʱ"))
+    ((("x" "g" "g"))("¹º"))))
+
+(if (and (symbol-bound? 'tutcode-rule-use-tutplus?)
+         tutcode-rule-use-tutplus?)
+ (set! tutcode-rule (append tutcode-rule tutcode-rule-shin-joyo-kanji-plus)))
+
 (define tutcode-rule-uppercase-for-katakana
   '(
     ((("R" "K"))("¥¢" "¤¢"))

==============================================================================
Revision: fba12be432bc
Author:   KIHARA Hideto <[email protected]>
Date:     Sun Apr  8 00:38:31 2012
Log:      Add pseudo table style.

* scm/tutcode-custom.scm
  - (tutcode-use-pseudo-table-style?): New custom variable.
* scm/tutcode.scm
  - (tutcode-stroke-help-make, tutcode-auto-help-make):
    Support pseudo table style.
  - (tutcode-table-in-vertical-candwin): New function.

http://code.google.com/p/uim/source/detail?r=fba12be432bc

Modified:
 /scm/tutcode-custom.scm
 /scm/tutcode.scm

=======================================
--- /scm/tutcode-custom.scm     Wed Jan 11 00:17:24 2012
+++ /scm/tutcode-custom.scm     Sun Apr  8 00:38:31 2012
@@ -205,6 +205,12 @@
   (N_ "Use candidate window")
   (N_ "long description will be here."))

+(define-custom 'tutcode-use-pseudo-table-style? #f
+  '(tutcode candwin)
+  '(boolean)
+  (N_ "Use pseudo table style layout")
+  (N_ "long description will be here."))
+
 (define-custom 'tutcode-candidate-window-table-layout 'qwerty-jis
   '(tutcode candwin)
   (list 'choice
=======================================
--- /scm/tutcode.scm    Sat Apr  7 19:42:46 2012
+++ /scm/tutcode.scm    Sun Apr  8 00:38:31 2012
@@ -1890,10 +1890,15 @@
           ()))))
     (if (null? label-cand-alist)
       ()
-      (map
-        (lambda (elem)
-          (list (cadr elem) (car elem) ""))
-        (reverse label-cand-alist)))))
+      (let
+        ((stroke-help
+          (map
+            (lambda (elem)
+              (list (cadr elem) (car elem) ""))
+            (reverse label-cand-alist))))
+        (if tutcode-use-pseudo-table-style?
+          (tutcode-table-in-vertical-candwin stroke-help)
+          stroke-help)))))

 ;;; ²¾ÁÛ¸°ÈפÎɽ¼¨¤ò³«»Ï¤¹¤ë
 (define (tutcode-check-stroke-help-window-begin pc)
@@ -1915,6 +1920,120 @@
               (length stroke-help)
               tutcode-nr-candidate-max-for-kigou-mode)))))))

+;;; Ä̾ï¤Î¸õÊ䥦¥£¥ó¥É¥¦¤Ë¡¢É½·Á¼°¤Ç¸õÊä¤òɽ¼¨¤¹¤ë¤¿¤á¤Ë¡¢
+;;; ɽ·Á¼°¤Î1¹Ôʬ¤òÏ¢·ë¤·¤¿·Á¤ËÊÑ´¹¤¹¤ë¡£
+;;; (ɽ·Á¼°¸õÊ䥦¥£¥ó¥É¥¦Ì¤Âбþ¤Ç¡¢½Ä¤Ë¸õÊä¤òʤ٤ëcandwinÍÑ¡£
+;;;  uim-el¤Ç(setq uim-candidate-display-inline t)¤Î¾ì¹çÅù)
+;;; @param cands ("ɽ¼¨Ê¸»úÎó" "¥é¥Ù¥ëʸ»úÎó" "Ãí¼á")¤Î¥ê¥¹¥È
+;;; @return ÊÑ´¹¸å¤Î¥ê¥¹¥È¡£
+;;;  Îã:(("*¤ä|*¤Þ|*¤«|*¤¢|*¤Ï|*¡×|*¡Û|*¡Ä|*¡¦|*¡É" "q" "") ...)
+(define (tutcode-table-in-vertical-candwin cands)
+  (let*
+    ((layout (if (null? uim-candwin-prog-layout)
+                uim-candwin-prog-layout-qwerty-jis
+                uim-candwin-prog-layout))
+     (vecsize (length layout))
+     (vec (make-vector vecsize #f)))
+    (for-each
+      (lambda (elem)
+        (let
+          ((k (list-index (lambda (e) (string=? e (cadr elem))) layout)))
+          (if k
+            (vector-set! vec k (car elem)))))
+      cands)
+    (let*
+      ;; ɽ¤Î²¼È¾Ê¬(¥·¥Õ¥È¥­¡¼Îΰè)¤¬¶õ¤Î¾ì¹ç¤Ï¾åȾʬ¤À¤±»È¤¦
+      ((vecmax
+        (let loop ((k (* 13 4)))
+          (if (>= k vecsize)
+            (* 13 4)
+            (if (string? (vector-ref vec k))
+              vecsize
+              (loop (+ k 1))))))
+       ;; ³ÆÎó¤ÎºÇÂçÉý¤òÄ´¤Ù¤ë
+       (width-list0
+        (let colloop
+          ((col 12)
+           (width-list ()))
+          (if (negative? col)
+            width-list
+            (colloop
+              (- col 1)
+              (cons
+                (let rowloop
+                  ((k col)
+                   (maxwidth -1))
+                  (if (>= k vecmax)
+                    maxwidth
+                    (let*
+                      ((elem (vector-ref vec k))
+                       (width (if (string? elem) (string-length elem) -1)))
+                      (rowloop
+                        (+ k 13)
+                        (if (> width maxwidth)
+                          width
+                          maxwidth)))))
+                width-list)))))
+       ;; ɽ¤Î±¦Ã¼¥Ö¥í¥Ã¥¯¤¬¶õ¤Î¾ì¹ç¤Ïɽ¼¨¤·¤Ê¤¤
+       (colmax
+        (if (any (lambda (x) (> x -1)) (take-right width-list0 3)) 13 10))
+       (width-list (map (lambda (x) (if (< x 2) 2 x)) width-list0)))
+      ;; ³Æ¹ÔÆâ¤ÎÁ´Îó¤òÏ¢·ë¤·¤Æ¸õÊäʸ»úÎó¤òºî¤ë
+      (let rowloop
+        ((table (take! (vector->list vec) vecmax))
+         (k 0)
+         (res ()))
+        (if (null? table)
+          (reverse res)
+          (let*
+            ((line (take table 13))
+             (line-sep
+              (cdr
+                (let colloop
+                  ((col (- colmax 1))
+                   (line-sep ()))
+                  (if (negative? col)
+                    line-sep
+                    (colloop
+                      (- col 1)
+                      (append
+                        (let*
+                          ((elem (list-ref line col))
+ (elemlen (if (string? elem) (string-length elem) 0))
+                           (width (list-ref width-list col))
+                           (strlist
+                            (if (zero? elemlen)
+                              (make-list width " ")
+                              ;; Ãæ±û¤ËÇÛÃÖ¤¹¤ë
+                              (letrec
+                                ((padleft
+                                  (lambda (pad strlist)
+                                    (if (<= pad 0)
+                                      strlist
+                                      (padright
+                                        (- pad 1)
+                                        (cons " " strlist)))))
+                                 (padright
+                                  (lambda (pad strlist)
+                                    (if (<= pad 0)
+                                      strlist
+                                      (padleft
+                                        (- pad 1)
+                                        (append strlist (list " ")))))))
+                                (padleft (- width elemlen) (list elem))))))
+                          (cons
+                            (if (or (= col 5) (= col 10))
+                              "||" ; ¥Ö¥í¥Ã¥¯¶èÀÚ¤ê¤òÌÜΩ¤¿¤»¤ë
+                              "|")
+                            strlist))
+                        line-sep))))))
+             (cand (apply string-append line-sep))
+             (candlabel (list cand (list-ref layout k) "")))
+            (rowloop
+              (drop table 13)
+              (+ k 13)
+              (cons candlabel res))))))))
+
 ;;; ²¾ÁÛ¸°ÈפÎɽ¼¨¤ò¹Ô¤¦¤«¤É¤¦¤«¤ÎÀßÄê¤ò°ì»þŪ¤ËÀÚ¤êÂØ¤¨¤ë(¥È¥°¥ë)¡£
 ;;; (¾ï¤Ëɽ¼¨¤¹¤ë¤ÈÌܤ¶¤ï¤ê¤Ê¤Î¤Ç¡£ÂǤÁÊý¤Ë̤俤Ȥ­¤À¤±É½¼¨¤·¤¿¤¤¡£)
 (define (tutcode-toggle-stroke-help pc)
@@ -2137,10 +2256,16 @@
(tutcode-auto-help-update-stroke-alist-normal pc () helpstrlist)))))
     (if (null? label-cands-alist)
       ()
-      (map
-        (lambda (elem)
-          (list (string-list-concat (cdr elem)) (car elem) ""))
-        label-cands-alist))))
+      (let
+        ((auto-help
+          (map
+            (lambda (elem)
+              (list (string-list-concat (cdr elem)) (car elem) ""))
+            label-cands-alist)))
+        (if (and tutcode-use-pseudo-table-style?
+                 (not tutcode-auto-help-with-real-keys?))
+          (tutcode-table-in-vertical-candwin auto-help)
+          auto-help)))))

 ;;; Éô¼ó¹çÀ®ÊÑ´¹¡¦¸ò¤¼½ñ¤­ÊÑ´¹¤Ç³ÎÄꤷ¤¿Ê¸»ú¤ÎÂǤÁÊý¤òɽ¼¨¤¹¤ë¡£
 ;;; @param strlist ³ÎÄꤷ¤¿Ê¸»úÎó¤Î¥ê¥¹¥È(µÕ½ç)

==============================================================================
Revision: 46271d92dd48
Author:   KIHARA Hideto <[email protected]>
Date:     Sun Apr  8 01:34:29 2012
Log: Change to use label for first non-empty cell in row on pseudo table style.

* scm/tutcode.scm
  - (tutcode-table-in-vertical-candwin):
    Change label for candwin from first cell in row
    to first non-empty cell in row.

http://code.google.com/p/uim/source/detail?r=46271d92dd48

Modified:
 /scm/tutcode.scm

=======================================
--- /scm/tutcode.scm    Sun Apr  8 00:38:31 2012
+++ /scm/tutcode.scm    Sun Apr  8 01:34:29 2012
@@ -1977,7 +1977,28 @@
        ;; ɽ¤Î±¦Ã¼¥Ö¥í¥Ã¥¯¤¬¶õ¤Î¾ì¹ç¤Ïɽ¼¨¤·¤Ê¤¤
        (colmax
         (if (any (lambda (x) (> x -1)) (take-right width-list0 3)) 13 10))
-       (width-list (map (lambda (x) (if (< x 2) 2 x)) width-list0)))
+       (width-list (map (lambda (x) (if (< x 2) 2 x)) width-list0))
+       ;; ¥é¥Ù¥ë¤Ï¡¢³Æ¹Ô¤Ç¡¢ºÇ½é¤ÎÃæ¿È¤Î¤¢¤ë·å¤ËÂбþ¤¹¤ë¤â¤Î¤ò»ÈÍÑ
+       (labels
+        (let rowloop
+          ((row 0)
+           (labels ()))
+          (if (>= (* row 13) vecmax)
+            (reverse labels)
+            (rowloop
+              (+ row 1)
+              (cons
+                (let colloop
+                  ((col 0))
+                  (let ((k (+ (* row 13) col)))
+                    (cond
+                      ((>= col colmax)
+                        (list-ref layout (* row 13)))
+                      ((string? (vector-ref vec k))
+                        (list-ref layout k))
+                      (else
+                        (colloop (+ col 1))))))
+                labels))))))
       ;; ³Æ¹ÔÆâ¤ÎÁ´Îó¤òÏ¢·ë¤·¤Æ¸õÊäʸ»úÎó¤òºî¤ë
       (let rowloop
         ((table (take! (vector->list vec) vecmax))
@@ -2028,7 +2049,7 @@
                             strlist))
                         line-sep))))))
              (cand (apply string-append line-sep))
-             (candlabel (list cand (list-ref layout k) "")))
+             (candlabel (list cand (list-ref labels (quotient k 13)) "")))
             (rowloop
               (drop table 13)
               (+ k 13)

Reply via email to