sekka 0.8.0 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/COPYING +57 -0
- data/bin/sekka-jisyo +4 -7
- data/emacs/sekka.el +339 -199
- data/lib/sekka/henkan.nnd +18 -3
- data/lib/sekka/jisyo-db.nnd +1 -1
- data/lib/sekka/kvs.rb +13 -0
- data/lib/sekka/roman-lib.nnd +185 -54
- data/lib/sekka/sekkaversion.rb +1 -1
- data/lib/sekkaserver.rb +8 -2
- data/test/approximate-bench.nnd +1 -1
- data/test/azik-verification.nnd +86 -0
- data/test/henkan-main.nnd +62 -23
- data/test/jisyo.nnd +5 -6
- data/test/roman-lib.nnd +13 -12
- data/test/skk-azik-table.nnd +506 -0
- metadata +8 -7
- data/bin/.gitignore +0 -1
    
        data/lib/sekka/henkan.nnd
    CHANGED
    
    | @@ -328,8 +328,8 @@ | |
| 328 328 |  | 
| 329 329 |  | 
| 330 330 | 
             
            ;; Flush henkan-result cache data on cachesv(memcached)
         | 
| 331 | 
            -
            (define ( | 
| 332 | 
            -
              #?="--- do ( | 
| 331 | 
            +
            (define (flushCacheServer cachesv)
         | 
| 332 | 
            +
              #?="--- do (flushCacheServer) ---"
         | 
| 333 333 | 
             
              (if-let1 fetched (cachesv.get  "sekka::(keys)" #f)
         | 
| 334 334 | 
             
                (begin
         | 
| 335 335 | 
             
                  (for-each
         | 
| @@ -338,6 +338,8 @@ | |
| 338 338 | 
             
                   (to-list (fetched.split #/[ ]+/)))
         | 
| 339 339 | 
             
                  (cachesv.delete "sekka::(keys)"))
         | 
| 340 340 | 
             
                #f))
         | 
| 341 | 
            +
            ;; Export to Ruby world
         | 
| 342 | 
            +
            (export-to-ruby flushCacheServer)
         | 
| 341 343 |  | 
| 342 344 |  | 
| 343 345 | 
             
            ;; 確定処理: 最終確定語を変換候補の先頭に持ってくる。
         | 
| @@ -382,7 +384,7 @@ | |
| 382 384 | 
             
                            (begin
         | 
| 383 385 | 
             
                              (write-user-entry userid kvs key new-kouho-str)
         | 
| 384 386 | 
             
                              (and cachesv
         | 
| 385 | 
            -
                                   ( | 
| 387 | 
            +
                                   (flushCacheServer cachesv))
         | 
| 386 388 | 
             
                              tango)
         | 
| 387 389 | 
             
                            nil))
         | 
| 388 390 | 
             
                      nil)
         | 
| @@ -391,6 +393,19 @@ | |
| 391 393 | 
             
            (export-to-ruby sekkaKakutei)
         | 
| 392 394 |  | 
| 393 395 |  | 
| 396 | 
            +
            ;; ユーザー辞書の全削除 (useridで指定したユーザーの辞書)
         | 
| 397 | 
            +
            ;; 削除した件数を返す。
         | 
| 398 | 
            +
            (define (flushUserJisyo userid kvs)
         | 
| 399 | 
            +
              (let1 lst (to-list (kvs.forward_match_keys (+ userid "::")))
         | 
| 400 | 
            +
                (for-each
         | 
| 401 | 
            +
                 (lambda (k)
         | 
| 402 | 
            +
                   (kvs.delete k))
         | 
| 403 | 
            +
                 lst)
         | 
| 404 | 
            +
                (length lst)))
         | 
| 405 | 
            +
            ;; Export to Ruby world
         | 
| 406 | 
            +
            (export-to-ruby flushUserJisyo)
         | 
| 407 | 
            +
             | 
| 408 | 
            +
             | 
| 394 409 | 
             
            ;; ユーザー定義語彙の登録処理
         | 
| 395 410 | 
             
            (define (registerUserJisyo userid kvs dict-line)
         | 
| 396 411 | 
             
              (define user-keylist '())
         | 
    
        data/lib/sekka/jisyo-db.nnd
    CHANGED
    
    
    
        data/lib/sekka/kvs.rb
    CHANGED
    
    | @@ -117,6 +117,19 @@ class Kvs | |
| 117 117 | 
             
                end
         | 
| 118 118 | 
             
              end
         | 
| 119 119 |  | 
| 120 | 
            +
              def forward_match_keys( prefix )
         | 
| 121 | 
            +
                case @dbtype
         | 
| 122 | 
            +
                when :tokyocabinet
         | 
| 123 | 
            +
                  @db.fwmkeys( prefix ).each { |k|
         | 
| 124 | 
            +
                    k.force_encoding("UTF-8")
         | 
| 125 | 
            +
                  }
         | 
| 126 | 
            +
                when :memcache 
         | 
| 127 | 
            +
                  raise RuntimeError, "Kvs#forward_match_keys method was not implemented for memcache."
         | 
| 128 | 
            +
                else
         | 
| 129 | 
            +
                  raise RuntimeError
         | 
| 130 | 
            +
                end
         | 
| 131 | 
            +
              end
         | 
| 132 | 
            +
             | 
| 120 133 | 
             
              def close()
         | 
| 121 134 | 
             
                case @dbtype
         | 
| 122 135 | 
             
                when :tokyocabinet
         | 
    
        data/lib/sekka/roman-lib.nnd
    CHANGED
    
    | @@ -41,24 +41,24 @@ | |
| 41 41 | 
             
            (define sekka-kana->roman-alist-short
         | 
| 42 42 | 
             
              '(
         | 
| 43 43 | 
             
                ;; normal roman                                ---AZIK---
         | 
| 44 | 
            -
                ("ぁ"                                            "la")
         | 
| 44 | 
            +
                ("ぁ"                                            "la" "xxa")
         | 
| 45 45 | 
             
                ("あ"        "a")
         | 
| 46 | 
            -
                ("ぃ"                                            "li")
         | 
| 46 | 
            +
                ("ぃ"                                            "li" "xxi")
         | 
| 47 47 | 
             
                ("い"        "i")
         | 
| 48 | 
            -
                ("ぅ"                                            "lu")
         | 
| 49 | 
            -
                ("う"        "u")
         | 
| 48 | 
            +
                ("ぅ"                                            "lu" "xxu")
         | 
| 49 | 
            +
                ("う"        "u"                                 "whu")
         | 
| 50 50 | 
             
                ("う゛"      "vu")
         | 
| 51 51 | 
             
                ("う゛ぁ"    "va")
         | 
| 52 52 | 
             
                ("う゛ぃ"    "vi")
         | 
| 53 53 | 
             
                ("う゛ぇ"    "ve")
         | 
| 54 54 | 
             
                ("う゛ぉ"    "vo")
         | 
| 55 | 
            -
                ("ぇ"                                            "le")
         | 
| 55 | 
            +
                ("ぇ"                                            "le" "xxe")
         | 
| 56 56 | 
             
                ("え"        "e")
         | 
| 57 | 
            -
                ("ぉ"                                            "lo")
         | 
| 57 | 
            +
                ("ぉ"                                            "lo" "xxo")
         | 
| 58 58 | 
             
                ("お"        "o")
         | 
| 59 59 | 
             
                ("か"        "ka")
         | 
| 60 60 | 
             
                ("が"        "ga")
         | 
| 61 | 
            -
                ("き"        "ki")
         | 
| 61 | 
            +
                ("き"        "ki"                                "kf")
         | 
| 62 62 | 
             
                ("きゃ"      "kya"                               "kga")
         | 
| 63 63 | 
             
                ("きゅ"      "kyu"                               "kgu")
         | 
| 64 64 | 
             
                ("きぇ"      "kye"                               "kge")
         | 
| @@ -75,32 +75,32 @@ | |
| 75 75 | 
             
                ("こ"        "ko")
         | 
| 76 76 | 
             
                ("ご"        "go")
         | 
| 77 77 | 
             
                ("さ"        "sa")
         | 
| 78 | 
            -
                ("ざ"        "za"                                "zc") | 
| 79 | 
            -
                ("し"        "shi"                               "si")
         | 
| 80 | 
            -
                ("しゃ"      "sha" "sya"                         "xa")
         | 
| 78 | 
            +
                ("ざ"        "za"                                "zc") ;; AZIKザ行の特別措置
         | 
| 79 | 
            +
                ("し"        "shi"                               "si" "xi")
         | 
| 80 | 
            +
                ("しゃ"      "sha" "sya"                         "xa" "xc")
         | 
| 81 81 | 
             
                ;; hu の例外処理: shu は sfu になってはいけない
         | 
| 82 82 | 
             
                ("しゅ"      "shu" "syu"                         "xu")
         | 
| 83 83 | 
             
                ("しぇ"      "she" "sye"                         "xe")
         | 
| 84 84 | 
             
                ("しょ"      "sho" "syo"                         "xo")
         | 
| 85 85 | 
             
                ("じ"        "ji" "zi")
         | 
| 86 86 | 
             
                ("じゃ"      "ja" "jya"                          "zya")
         | 
| 87 | 
            -
                ("じゅ"      "ju" "jyu"                          "zyu")
         | 
| 87 | 
            +
                ("じゅ"      "ju" "jyu"                          "zyu" "jf")
         | 
| 88 88 | 
             
                ("じぇ"      "je" "jye"                          "zye")
         | 
| 89 89 | 
             
                ("じょ"      "jo" "jyo"                          "zyo")
         | 
| 90 90 | 
             
                ("す"        "su")
         | 
| 91 91 | 
             
                ("ず"        "zu")
         | 
| 92 92 | 
             
                ("せ"        "se")
         | 
| 93 | 
            -
                ("ぜ"        "ze")
         | 
| 93 | 
            +
                ("ぜ"        "ze"                                "zf")
         | 
| 94 94 | 
             
                ("そ"        "so")
         | 
| 95 95 | 
             
                ("ぞ"        "zo")
         | 
| 96 96 | 
             
                ("た"        "ta")
         | 
| 97 97 | 
             
                ("だ"        "da")
         | 
| 98 98 | 
             
                ;; normal roman                                ---AZIK---
         | 
| 99 | 
            -
                ("ち"        "chi" "tyi"                         "ti")
         | 
| 99 | 
            +
                ("ち"        "chi" "tyi"                         "ti" "ci")
         | 
| 100 100 | 
             
                ("ちゃ"      "cha" "tya"                         "ca")
         | 
| 101 101 | 
             
                ;; hu の例外処理: chu は cfu になってはいけない
         | 
| 102 102 | 
             
                ("ちゅ"      "chu" "tyu"                         "cu")
         | 
| 103 | 
            -
                ("ちぇ"      "che" "tye"                         "ce")
         | 
| 103 | 
            +
                ("ちぇ"      "che" "tye"                         "ce" "cf")
         | 
| 104 104 | 
             
                ("ちょ"      "cho" "tyo"                         "co")
         | 
| 105 105 | 
             
                ("ぢ"        "di")
         | 
| 106 106 | 
             
                ("ぢゃ"      "dya")
         | 
| @@ -112,7 +112,7 @@ | |
| 112 112 | 
             
                ("つ"        "tsu"                                "tu")
         | 
| 113 113 | 
             
                ("づ"        "du")
         | 
| 114 114 | 
             
                ("て"        "te")
         | 
| 115 | 
            -
                ("で"        "de")
         | 
| 115 | 
            +
                ("で"        "de"                                 "df")
         | 
| 116 116 | 
             
                ("と"        "to")
         | 
| 117 117 | 
             
                ("ど"        "do")
         | 
| 118 118 | 
             
                ("な"        "na")
         | 
| @@ -121,7 +121,7 @@ | |
| 121 121 | 
             
                ("にゅ"      "nyu")
         | 
| 122 122 | 
             
                ("にぇ"      "nye")
         | 
| 123 123 | 
             
                ("にょ"      "nyo")
         | 
| 124 | 
            -
                ("ぬ"        "nu")
         | 
| 124 | 
            +
                ("ぬ"        "nu"                                 "nf")
         | 
| 125 125 | 
             
                ("ね"        "ne")
         | 
| 126 126 | 
             
                ("の"        "no")
         | 
| 127 127 | 
             
                ("は"        "ha")
         | 
| @@ -142,7 +142,7 @@ | |
| 142 142 | 
             
                ("ぴゅ"      "pyu"                                "pgu")
         | 
| 143 143 | 
             
                ("ぴぇ"      "pye"                                "pge")
         | 
| 144 144 | 
             
                ("ぴょ"      "pyo"                                "pgo")
         | 
| 145 | 
            -
                ("ふ"        "fu" "hu")
         | 
| 145 | 
            +
                ("ふ"        "fu" "hu"                            "hf")
         | 
| 146 146 | 
             
                ("ふぁ"      "fa")
         | 
| 147 147 | 
             
                ("ふぃ"      "fi")
         | 
| 148 148 | 
             
                ("ふぇ"      "fe")
         | 
| @@ -161,14 +161,14 @@ | |
| 161 161 | 
             
                ("みゅ"      "myu"                                 "mgu")
         | 
| 162 162 | 
             
                ("みぇ"      "mye"                                 "mge")
         | 
| 163 163 | 
             
                ("みょ"      "myo"                                 "mgo")
         | 
| 164 | 
            -
                ("む"        "mu")
         | 
| 164 | 
            +
                ("む"        "mu"                                  "mf")
         | 
| 165 165 | 
             
                ("め"        "me")
         | 
| 166 166 | 
             
                ("も"        "mo")
         | 
| 167 167 | 
             
                ;; normal roman                                ---AZIK---
         | 
| 168 168 | 
             
                ("ゃ"                                             "lya")
         | 
| 169 169 | 
             
                ("や"        "ya")
         | 
| 170 170 | 
             
                ("ゅ"                                             "lyu")
         | 
| 171 | 
            -
                ("ゆ"        "yu")
         | 
| 171 | 
            +
                ("ゆ"        "yu"                                 "yf")
         | 
| 172 172 | 
             
                ("ょ"                                             "lyo")
         | 
| 173 173 | 
             
                ("よ"        "yo")
         | 
| 174 174 | 
             
                ("ら"        "ra")
         | 
| @@ -181,15 +181,15 @@ | |
| 181 181 | 
             
                ("ろ"        "ro")
         | 
| 182 182 | 
             
                ("ゎ"                                             "lwa")
         | 
| 183 183 | 
             
                ("わ"        "wa")
         | 
| 184 | 
            -
                ("うぃ"      "wi")
         | 
| 185 | 
            -
                ("うぇ"      "we")
         | 
| 184 | 
            +
                ("うぃ"      "wi"                                 "whi")
         | 
| 185 | 
            +
                ("うぇ"      "we"                                 "whe")
         | 
| 186 186 | 
             
                ("を"        "wo")
         | 
| 187 | 
            -
                ("うぉ"      "wso")
         | 
| 188 | 
            -
                ;; normal roman                                ---AZIK---
         | 
| 187 | 
            +
                ("うぉ"      "wso"                                "who")
         | 
| 188 | 
            +
                ;; normal roman                                ---AZIK---                                                   ---AZIK(US)---
         | 
| 189 189 | 
             
                ("ん"        "nn" "n"                             "q")
         | 
| 190 190 | 
             
                ("でぃ"      "dyi" "dhi"                          "dci")
         | 
| 191 191 | 
             
                ("でぅ"      "dyu" "dhu"                          "dcu")
         | 
| 192 | 
            -
                ("ー"        "-" "^"                              ":")
         | 
| 192 | 
            +
                ("ー"        "-" "^"                              ":"                                                          "'")
         | 
| 193 193 |  | 
| 194 194 | 
             
                ;; Ruby romkanからの不足分追加
         | 
| 195 195 | 
             
                ("てぃ"     "thi"                                 "tgi")
         | 
| @@ -197,6 +197,8 @@ | |
| 197 197 | 
             
                ;; Sekkaの辞書に入っている特別なキーワード ">あん" など
         | 
| 198 198 | 
             
                (">"        ">")
         | 
| 199 199 |  | 
| 200 | 
            +
                ("ゐ"      "yi")
         | 
| 201 | 
            +
             | 
| 200 202 | 
             
                ;; 撥音から始まるキーワード
         | 
| 201 203 | 
             
                ("っう゛"    "vvu"                                "@vu"                      ";vu" )
         | 
| 202 204 | 
             
                ("っう゛ぁ"  "vva"                                "@va"                      ";va" )
         | 
| @@ -311,55 +313,56 @@ | |
| 311 313 | 
             
                ("にぇ"      "nye"                                "nge")
         | 
| 312 314 | 
             
                ("にょ"      "nyo"                                "ngo")
         | 
| 313 315 |  | 
| 316 | 
            +
                ;; 非AZIKで "cc" で 撥音「っ」から始まるかなを表現を消す可能性があるので "cc" はAZIK側だけに定義する
         | 
| 317 | 
            +
                ("ちゃ"      "cha" "tya"                          "ca" "cc")
         | 
| 318 | 
            +
             | 
| 314 319 | 
             
                ;; ---以下AZIK---
         | 
| 315 320 | 
             
                ;; ------ AZIK 撥音拡張
         | 
| 316 321 | 
             
                ("かん"       "kz" "kn")
         | 
| 317 | 
            -
                ("きん"       "kk")
         | 
| 322 | 
            +
                ("きん"       "kk" "kv")
         | 
| 318 323 | 
             
                ("くん"       "kj")
         | 
| 319 324 | 
             
                ("けん"       "kd")
         | 
| 320 325 | 
             
                ("こん"       "kl")
         | 
| 321 326 | 
             
                ("さん"       "sz" "sn")
         | 
| 322 | 
            -
                ("しん"       "sk")
         | 
| 327 | 
            +
                ("しん"       "sk" "xk")
         | 
| 323 328 | 
             
                ("すん"       "sj")
         | 
| 324 329 | 
             
                ("せん"       "sd")
         | 
| 325 330 | 
             
                ("そん"       "sl")
         | 
| 326 331 | 
             
                ("たん"       "tz" "tn")
         | 
| 327 | 
            -
                ("ちん"       "tk")
         | 
| 332 | 
            +
                ("ちん"       "tk" "ck")
         | 
| 328 333 | 
             
                ("つん"       "tj")
         | 
| 329 334 | 
             
                ("てん"       "td")
         | 
| 330 335 | 
             
                ("とん"       "tl")
         | 
| 331 336 | 
             
                ("なん"       "nz")
         | 
| 332 337 | 
             
                ;;("さん"     "nn")  "ん"になる
         | 
| 333 338 | 
             
                ("にん"       "nk")
         | 
| 334 | 
            -
                ("ぬん"       "nj")
         | 
| 339 | 
            +
                ("ぬん"       "nj" "nv")
         | 
| 335 340 | 
             
                ("ねん"       "nd")
         | 
| 336 341 | 
             
                ("のん"       "nl")
         | 
| 337 342 | 
             
                ("はん"       "hz" "hn")
         | 
| 338 343 | 
             
                ("ひん"       "hk")
         | 
| 339 | 
            -
                ("ふん"       "hj")
         | 
| 344 | 
            +
                ("ふん"       "hj" "fj")
         | 
| 340 345 | 
             
                ("へん"       "hd")
         | 
| 341 346 | 
             
                ("ほん"       "hl")
         | 
| 342 347 | 
             
                ("ふぁん"     "fz" "fn")
         | 
| 343 348 | 
             
                ("ふぃん"     "fk")
         | 
| 344 | 
            -
                ("ふん"       "fj")
         | 
| 345 349 | 
             
                ("ふぇん"     "fd")
         | 
| 346 350 | 
             
                ("ふぉん"     "fl")
         | 
| 347 351 | 
             
                ("まん"       "mz")
         | 
| 348 352 | 
             
                ;;("まん"     "mn") "もの"になる
         | 
| 349 353 | 
             
                ("みん"       "mk")
         | 
| 350 | 
            -
                ("むん"       "mj")
         | 
| 354 | 
            +
                ("むん"       "mj" "mv")
         | 
| 351 355 | 
             
                ("めん"       "md")
         | 
| 352 356 | 
             
                ("もん"       "ml")
         | 
| 353 357 | 
             
                ("やん"       "yz" "yn")
         | 
| 354 358 | 
             
                ("ゆん"       "yj")
         | 
| 355 359 | 
             
                ("よん"       "yl")
         | 
| 356 | 
            -
                ("らん"       "rz")
         | 
| 357 | 
            -
                ("らん"       "rn")
         | 
| 360 | 
            +
                ("らん"       "rz" "rn")
         | 
| 358 361 | 
             
                ("りん"       "rk")
         | 
| 359 362 | 
             
                ("るん"       "rj")
         | 
| 360 363 | 
             
                ("れん"       "rd")
         | 
| 361 364 | 
             
                ("ろん"       "rl" "wz")
         | 
| 362 | 
            -
                ("わん"       "wn")
         | 
| 365 | 
            +
                ("わん"       "wn" "wz")
         | 
| 363 366 | 
             
                ("うぃん"     "wk")
         | 
| 364 367 | 
             
                ("うぇん"     "wd")
         | 
| 365 368 | 
             
                ("うぉん"     "wl")
         | 
| @@ -369,9 +372,9 @@ | |
| 369 372 | 
             
                ("くう"      "kh")
         | 
| 370 373 | 
             
                ("けい"      "kw")
         | 
| 371 374 | 
             
                ("こう"      "kp")
         | 
| 372 | 
            -
                ("さい"      "sq")
         | 
| 375 | 
            +
                ("さい"      "sq" "sf" "sv")
         | 
| 373 376 | 
             
                ("すう"      "sh")
         | 
| 374 | 
            -
                ("せい"      "sw")
         | 
| 377 | 
            +
                ("せい"      "sw" "ss")
         | 
| 375 378 | 
             
                ("そう"      "sp")
         | 
| 376 379 | 
             
                ("たい"      "tq")
         | 
| 377 380 | 
             
                ("つう"      "th")
         | 
| @@ -382,11 +385,10 @@ | |
| 382 385 | 
             
                ("ねい"      "nw")
         | 
| 383 386 | 
             
                ("のう"      "np")
         | 
| 384 387 | 
             
                ("はい"      "hq")
         | 
| 385 | 
            -
                ("ふう"      "hh")
         | 
| 388 | 
            +
                ("ふう"      "hh" "hh" "fh")
         | 
| 386 389 | 
             
                ("へい"      "hw")
         | 
| 387 390 | 
             
                ("ほう"      "hp")
         | 
| 388 | 
            -
                ("ふぁい"    "fq")
         | 
| 389 | 
            -
                ("ふう"      "fh")
         | 
| 391 | 
            +
                ("ふぁい"    "fq" "fs")
         | 
| 390 392 | 
             
                ("ふぇい"    "fw")
         | 
| 391 393 | 
             
                ("ふぉー"    "fp")
         | 
| 392 394 | 
             
                ("まい"      "mq")
         | 
| @@ -394,47 +396,47 @@ | |
| 394 396 | 
             
                ("めい"      "mw")
         | 
| 395 397 | 
             
                ("もう"      "mp")
         | 
| 396 398 | 
             
                ("やい"      "yq")
         | 
| 397 | 
            -
                ("ゆう"      "yh")
         | 
| 399 | 
            +
                ("ゆう"      "yh" "yv")
         | 
| 398 400 | 
             
                ("よう"      "yp")
         | 
| 399 401 | 
             
                ("らい"      "rq")
         | 
| 400 402 | 
             
                ("るう"      "rh")
         | 
| 401 403 | 
             
                ("れい"      "rw")
         | 
| 402 404 | 
             
                ("ろう"      "rp")
         | 
| 403 | 
            -
                ("わい"      "wq")
         | 
| 405 | 
            +
                ("わい"      "wq" "wf")
         | 
| 404 406 | 
             
                ("うぉー"    "wp")
         | 
| 405 407 |  | 
| 406 408 | 
             
                ;; ------ AZIK 濁音、半濁音
         | 
| 407 409 | 
             
                ("がん"       "gz" "gn")
         | 
| 408 | 
            -
                ("ぎん"       "gg")
         | 
| 410 | 
            +
                ("ぎん"       "gg" "gk")
         | 
| 409 411 | 
             
                ("ぐん"       "gj")
         | 
| 410 412 | 
             
                ("げん"       "gd")
         | 
| 411 413 | 
             
                ("ごん"       "gl")
         | 
| 412 414 | 
             
                ("ざん"       "zz" "zn")
         | 
| 413 | 
            -
                ("じん"       " | 
| 415 | 
            +
                ("じん"       "jk" "zk")
         | 
| 414 416 | 
             
                ("ずん"       "zj")
         | 
| 415 417 | 
             
                ("ぜん"       "zd")
         | 
| 416 418 | 
             
                ("ぞん"       "zl")
         | 
| 417 419 | 
             
                ("だん"       "dz" "dn")
         | 
| 418 | 
            -
                ("ぢん"       "dd")
         | 
| 420 | 
            +
                ("ぢん"       "dd" "dk")
         | 
| 419 421 | 
             
                ("づん"       "dj")
         | 
| 420 | 
            -
                ("でん"       "dd")
         | 
| 422 | 
            +
                ("でん"       "dd" "dv")
         | 
| 421 423 | 
             
                ("どん"       "dl")
         | 
| 422 424 | 
             
                ("ばん"       "bz" "bn")
         | 
| 423 | 
            -
                ("びん"       "bb")
         | 
| 425 | 
            +
                ("びん"       "bb" "bk")
         | 
| 424 426 | 
             
                ("ぶん"       "bj")
         | 
| 425 427 | 
             
                ("べん"       "bd")
         | 
| 426 428 | 
             
                ("ぼん"       "bl")
         | 
| 427 429 | 
             
                ("ぱん"       "pz" "pn")
         | 
| 428 | 
            -
                ("ぴん"       "pp")
         | 
| 430 | 
            +
                ("ぴん"       "pp" "pk")
         | 
| 429 431 | 
             
                ("ぷん"       "pj")
         | 
| 430 432 | 
             
                ("ぺん"       "pd")
         | 
| 431 | 
            -
                ("ぽん"       "pl")
         | 
| 433 | 
            +
                ("ぽん"       "pl" "pf")
         | 
| 432 434 |  | 
| 433 435 | 
             
                ;; ------ AZIK 濁音、半濁音二重母音拡張
         | 
| 434 | 
            -
                ("がい"      " | 
| 435 | 
            -
                ("ぐう"      " | 
| 436 | 
            -
                ("げい"      " | 
| 437 | 
            -
                ("ごう"      " | 
| 436 | 
            +
                ("がい"      "gq")
         | 
| 437 | 
            +
                ("ぐう"      "gh")
         | 
| 438 | 
            +
                ("げい"      "gw")
         | 
| 439 | 
            +
                ("ごう"      "gp")
         | 
| 438 440 | 
             
                ("ざい"      "zq" "zv")
         | 
| 439 441 | 
             
                ("ずう"      "zh")
         | 
| 440 442 | 
             
                ("ぜい"      "zw" "zx")
         | 
| @@ -445,12 +447,12 @@ | |
| 445 447 | 
             
                ("どう"      "dp")
         | 
| 446 448 | 
             
                ("ばい"      "bq")
         | 
| 447 449 | 
             
                ("ぶう"      "bh")
         | 
| 448 | 
            -
                ("べい"      "bw")
         | 
| 450 | 
            +
                ("べい"      "bw" "bx")
         | 
| 449 451 | 
             
                ("ぼう"      "bp")
         | 
| 450 452 | 
             
                ("ぱい"      "pq")
         | 
| 451 453 | 
             
                ("ぷう"      "ph")
         | 
| 452 454 | 
             
                ("ぺい"      "pw")
         | 
| 453 | 
            -
                ("ぽう"      "pp")
         | 
| 455 | 
            +
                ("ぽう"      "pp" "pv")
         | 
| 454 456 |  | 
| 455 457 | 
             
                ;; ------ AZIK 特殊拡張
         | 
| 456 458 | 
             
                ("こと"       "kt")
         | 
| @@ -483,6 +485,135 @@ | |
| 483 485 | 
             
                ("よる"       "yr")
         | 
| 484 486 | 
             
                ("たび"       "tb")
         | 
| 485 487 | 
             
                ("ごと"       "gt")
         | 
| 488 | 
            +
             | 
| 489 | 
            +
                ;; skk-azik.elからの不足分
         | 
| 490 | 
            +
                ("ばら"       "br")
         | 
| 491 | 
            +
                ("びぇん"     "byd")
         | 
| 492 | 
            +
                ("びゅう"     "byh")
         | 
| 493 | 
            +
                ("びゅん"     "byj")
         | 
| 494 | 
            +
                ("びょん"     "byl")
         | 
| 495 | 
            +
                ("びゃん"     "byn" "byz")
         | 
| 496 | 
            +
                ("びょう"     "byp")
         | 
| 497 | 
            +
                ("びゃい"     "byq")
         | 
| 498 | 
            +
                ("びぇい"     "byw")
         | 
| 499 | 
            +
                ("ちぇん"     "cd" "tyd")
         | 
| 500 | 
            +
                ("ちゅう"     "ch" "tyh")
         | 
| 501 | 
            +
                ("ちゅん"     "cj" "tyj")
         | 
| 502 | 
            +
                ("ちょん"     "cl" "tyl")
         | 
| 503 | 
            +
                ("ちゃん"     "cn" "cz" "tyn" "tyz")
         | 
| 504 | 
            +
                ("ちょう"     "cp" "typ")
         | 
| 505 | 
            +
                ("ちゃい"     "cq" "cv" "tyq")
         | 
| 506 | 
            +
                ("ちぇい"     "cw" "cx" "tyw")
         | 
| 507 | 
            +
                ("でゅー"     "dch")
         | 
| 508 | 
            +
                ("でぃん"     "dck")
         | 
| 509 | 
            +
                ("どぅー"     "dcp")
         | 
| 510 | 
            +
                ("でゅ"       "dcu")
         | 
| 511 | 
            +
                ("だが"       "dg")
         | 
| 512 | 
            +
                ("である"     "dr")
         | 
| 513 | 
            +
                ("ふむ"       "fm")
         | 
| 514 | 
            +
                ("ふる"       "fr")
         | 
| 515 | 
            +
                ("ぎぇん"     "gyd")
         | 
| 516 | 
            +
                ("ぎゅう"     "gyh")
         | 
| 517 | 
            +
                ("ぎゅん"     "gyj")
         | 
| 518 | 
            +
                ("ぎょん"     "gyl")
         | 
| 519 | 
            +
                ("ぎゃん"     "gyn" "gyz")
         | 
| 520 | 
            +
                ("ぎょう"     "gyp")
         | 
| 521 | 
            +
                ("ぎゃい"     "gyq")
         | 
| 522 | 
            +
                ("ぎぇい"     "gyw")
         | 
| 523 | 
            +
                ("ひぇん"     "hgd" "hyd")
         | 
| 524 | 
            +
                ("ひゅう"     "hgh" "hyh")
         | 
| 525 | 
            +
                ("ひゅん"     "hgj")
         | 
| 526 | 
            +
                ("ひょん"     "hgl" "hyl")
         | 
| 527 | 
            +
                ("ひゃん"     "hgn" "hgz" "hyz")
         | 
| 528 | 
            +
                ("ひょう"     "hgp" "hyp")
         | 
| 529 | 
            +
                ("ひゃい"     "hgq" "hyq")
         | 
| 530 | 
            +
                ("ひぇい"     "hgw" "hyw")
         | 
| 531 | 
            +
                ("じぇん"     "jd" "zyd")
         | 
| 532 | 
            +
                ("じゅう"     "jh" "jv" "zyh")
         | 
| 533 | 
            +
                ("じゅん"     "jj" "zyj")
         | 
| 534 | 
            +
                ("じょん"     "jl" "zyl")
         | 
| 535 | 
            +
                ("じゃん"     "jn" "jz" "zyn" "zyz")
         | 
| 536 | 
            +
                ("じょう"     "jp" "zyp")
         | 
| 537 | 
            +
                ("じゃい"     "jq" "zyq")
         | 
| 538 | 
            +
                ("じぇい"     "jw" "zyw")
         | 
| 539 | 
            +
                ("きぇん"     "kgd" "kyd")
         | 
| 540 | 
            +
                ("きゅう"     "kgh" "kyh")
         | 
| 541 | 
            +
                ("きょん"     "kgl" "kyl")
         | 
| 542 | 
            +
                ("きゃん"     "kgn" "kgz" "kyn" "kyz")
         | 
| 543 | 
            +
                ("きょう"     "kgp" "kyp")
         | 
| 544 | 
            +
                ("きゃい"     "kgq" "kyq")
         | 
| 545 | 
            +
                ("きぇい"     "kgw" "kyw")
         | 
| 546 | 
            +
                ("きゅん"     "kyj")
         | 
| 547 | 
            +
                ("みぇん"     "mgd" "myd")
         | 
| 548 | 
            +
                ("みゅう"     "mgh" "myh")
         | 
| 549 | 
            +
                ("みゅん"     "mgj" "myj")
         | 
| 550 | 
            +
                ("みょん"     "mgl" "myl")
         | 
| 551 | 
            +
                ("みゃん"     "mgn" "mgz" "myn" "myz")
         | 
| 552 | 
            +
                ("みょう"     "mgp" "myp")
         | 
| 553 | 
            +
                ("みゃい"     "mgq" "myq")
         | 
| 554 | 
            +
                ("みぇい"     "mgw" "myw")
         | 
| 555 | 
            +
                ("まる"       "mr")
         | 
| 556 | 
            +
                ("にぇん"     "ngd" "nyd")
         | 
| 557 | 
            +
                ("にゅう"     "ngh" "nyh")
         | 
| 558 | 
            +
                ("にゅん"     "ngj" "nyj")
         | 
| 559 | 
            +
                ("にょん"     "ngl" "nyl")
         | 
| 560 | 
            +
                ("にゃん"     "ngn" "ngz" "nyn" "nyz")
         | 
| 561 | 
            +
                ("にょう"     "ngp" "nyp")
         | 
| 562 | 
            +
                ("にゃい"     "ngq" "nyq")
         | 
| 563 | 
            +
                ("にぇい"     "ngw" "nyw")
         | 
| 564 | 
            +
                ("ぴぇん"     "pgd" "pyd")
         | 
| 565 | 
            +
                ("ぴゅう"     "pgh" "pyh")
         | 
| 566 | 
            +
                ("ぴゅん"     "pgj" "pyj")
         | 
| 567 | 
            +
                ("ぴょん"     "pgl" "pyl")
         | 
| 568 | 
            +
                ("ぴゃん"     "pgn" "pgz" "pyn" "pyz")
         | 
| 569 | 
            +
                ("ぴょう"     "pgp" "pyp")
         | 
| 570 | 
            +
                ("ぴゃい"     "pgq" "pyq")
         | 
| 571 | 
            +
                ("ぴぇい"     "pgw" "pyw")
         | 
| 572 | 
            +
                ("りぇん"     "ryd")
         | 
| 573 | 
            +
                ("りゅう"     "ryh")
         | 
| 574 | 
            +
                ("りゅん"     "ryj")
         | 
| 575 | 
            +
                ("りょく"     "ryk")
         | 
| 576 | 
            +
                ("りょん"     "ryl")
         | 
| 577 | 
            +
                ("りゃん"     "ryn" "ryz")
         | 
| 578 | 
            +
                ("りょう"     "ryp")
         | 
| 579 | 
            +
                ("りゃい"     "ryq")
         | 
| 580 | 
            +
                ("りぇい"     "ryw")
         | 
| 581 | 
            +
                ("しも"       "sm")
         | 
| 582 | 
            +
                ("しぇん"     "syd" "xd")
         | 
| 583 | 
            +
                ("しゅう"     "syh" "xh")
         | 
| 584 | 
            +
                ("しゅん"     "syj" "xj")
         | 
| 585 | 
            +
                ("しょん"     "syl" "xl")
         | 
| 586 | 
            +
                ("しょう"     "syp" "xp")
         | 
| 587 | 
            +
                ("しゃい"     "syq" "xq" "xv")
         | 
| 588 | 
            +
                ("しぇい"     "syw" "xf" "xw")
         | 
| 589 | 
            +
                ("しゃん"     "syz" "xn" "xz")
         | 
| 590 | 
            +
                ("てゅー"     "tgh")
         | 
| 591 | 
            +
                ("てぃん"     "tgk")
         | 
| 592 | 
            +
                ("とぅー"     "tgp")
         | 
| 593 | 
            +
                ("てゅ"       "tgu")
         | 
| 594 | 
            +
                ("つぁ"       "tsa")
         | 
| 595 | 
            +
                ("つぇ"       "tse")
         | 
| 596 | 
            +
                ("つぃ"       "tsi")
         | 
| 597 | 
            +
                ("つぉ"       "tso")
         | 
| 598 | 
            +
                ("う゛ぇん"   "vd")
         | 
| 599 | 
            +
                ("う゛ぃん"   "vk")
         | 
| 600 | 
            +
                ("う゛ぉん"   "vl")
         | 
| 601 | 
            +
                ("う゛ぁん"   "vn" "vz")
         | 
| 602 | 
            +
                ("う゛ぉー"   "vp")
         | 
| 603 | 
            +
                ("う゛ぁい"   "vq")
         | 
| 604 | 
            +
                ("う゛ぇい"   "vw")
         | 
| 605 | 
            +
                ("う゛ゃ"     "vya")
         | 
| 606 | 
            +
                ("う゛ぇ"     "vye")
         | 
| 607 | 
            +
                ("う゛ょ"     "vyo")
         | 
| 608 | 
            +
                ("う゛ゅ"     "vyu")
         | 
| 609 | 
            +
                ("うぁ"       "wha")
         | 
| 610 | 
            +
                ("しゅつ"     "xt")
         | 
| 611 | 
            +
             | 
| 612 | 
            +
                ;; 辞書でカバーすれば良いのでRomanテーブルには入れない
         | 
| 613 | 
            +
                ;;("←"         "xxh")
         | 
| 614 | 
            +
                ;;("↓"         "xxj")
         | 
| 615 | 
            +
                ;;("↑"         "xxk")
         | 
| 616 | 
            +
                ;;("→"         "xxl")
         | 
| 486 617 | 
             
                ))
         | 
| 487 618 |  | 
| 488 619 |  | 
    
        data/lib/sekka/sekkaversion.rb
    CHANGED
    
    
    
        data/lib/sekkaserver.rb
    CHANGED
    
    | @@ -75,9 +75,10 @@ module SekkaServer | |
| 75 75 | 
             
                              dictline = arr[1] + " " + arr[2]
         | 
| 76 76 | 
             
                              registered = @core.registerUserJisyo(userid, @kvs, dictline)
         | 
| 77 77 | 
             
                              if registered
         | 
| 78 | 
            -
                                puts "Info: added to dict | 
| 78 | 
            +
                                puts "Info: added to dict                      userid[" + userid + "] dictline[" + dictline + "]"
         | 
| 79 | 
            +
                                @core.flushCacheServer( @cachesv )
         | 
| 79 80 | 
             
                              else
         | 
| 80 | 
            -
                                puts "Info: ignored (already added) userid[" + userid + "] dictline[" + dictline + "]"
         | 
| 81 | 
            +
                                puts "Info: ignored (already added or comment) userid[" + userid + "] dictline[" + dictline + "]"
         | 
| 81 82 | 
             
                              end
         | 
| 82 83 | 
             
                            }
         | 
| 83 84 | 
             
                          end
         | 
| @@ -110,6 +111,11 @@ module SekkaServer | |
| 110 111 | 
             
                             dict    = URI.decode( req.params['dict'].force_encoding( "UTF-8" ) ).split( "\n" )
         | 
| 111 112 | 
             
                             dict.each { |x| @queue.push( userid + " " + x ) }
         | 
| 112 113 | 
             
                             sprintf( "register request successful (%s) words", dict.size )
         | 
| 114 | 
            +
                           when "/flush"
         | 
| 115 | 
            +
                             @core.flushCacheServer( @cachesv )
         | 
| 116 | 
            +
                             n = @core.flushUserJisyo( userid, @kvs )
         | 
| 117 | 
            +
                             printf( "info : flush [%s] user's dict %d entries.", userid, n )
         | 
| 118 | 
            +
                             sprintf( "flush request successful. flush (%d) entries.", n )
         | 
| 113 119 | 
             
                           else
         | 
| 114 120 | 
             
                             sprintf( "unknown path name. [%s]", req.path )
         | 
| 115 121 | 
             
                           end
         | 
    
        data/test/approximate-bench.nnd
    CHANGED
    
    
| @@ -0,0 +1,86 @@ | |
| 1 | 
            +
            ;;-*- mode: nendo; syntax: scheme -*-
         | 
| 2 | 
            +
            ;;;
         | 
| 3 | 
            +
            ;;; azik-verification.nnd - ローマ字ライブラリ部をDDSKKのskk-azik.elとベリファイをとる
         | 
| 4 | 
            +
            ;;;  
         | 
| 5 | 
            +
            ;;;   Copyright (c) 2010  Kiyoka Nishiyama  <kiyoka@sumibi.org>
         | 
| 6 | 
            +
            ;;;   
         | 
| 7 | 
            +
            ;;;   Redistribution and use in source and binary forms, with or without
         | 
| 8 | 
            +
            ;;;   modification, are permitted provided that the following conditions
         | 
| 9 | 
            +
            ;;;   are met:
         | 
| 10 | 
            +
            ;;;   
         | 
| 11 | 
            +
            ;;;   1. Redistributions of source code must retain the above copyright
         | 
| 12 | 
            +
            ;;;      notice, this list of conditions and the following disclaimer.
         | 
| 13 | 
            +
            ;;;  
         | 
| 14 | 
            +
            ;;;   2. Redistributions in binary form must reproduce the above copyright
         | 
| 15 | 
            +
            ;;;      notice, this list of conditions and the following disclaimer in the
         | 
| 16 | 
            +
            ;;;      documentation and/or other materials provided with the distribution.
         | 
| 17 | 
            +
            ;;;  
         | 
| 18 | 
            +
            ;;;   3. Neither the name of the authors nor the names of its contributors
         | 
| 19 | 
            +
            ;;;      may be used to endorse or promote products derived from this
         | 
| 20 | 
            +
            ;;;      software without specific prior written permission.
         | 
| 21 | 
            +
            ;;;  
         | 
| 22 | 
            +
            ;;;   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
         | 
| 23 | 
            +
            ;;;   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
         | 
| 24 | 
            +
            ;;;   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
         | 
| 25 | 
            +
            ;;;   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
         | 
| 26 | 
            +
            ;;;   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
         | 
| 27 | 
            +
            ;;;   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
         | 
| 28 | 
            +
            ;;;   TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
         | 
| 29 | 
            +
            ;;;   PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
         | 
| 30 | 
            +
            ;;;   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
         | 
| 31 | 
            +
            ;;;   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
         | 
| 32 | 
            +
            ;;;   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
         | 
| 33 | 
            +
            ;;;  
         | 
| 34 | 
            +
            ;;;  $Id: 
         | 
| 35 | 
            +
            ;;;
         | 
| 36 | 
            +
            (use nendo.test)
         | 
| 37 | 
            +
            (use sekka.roman-lib)
         | 
| 38 | 
            +
            (test-start "roman-lib")
         | 
| 39 | 
            +
            (load "test/skk-azik-table")
         | 
| 40 | 
            +
             | 
| 41 | 
            +
            ;;===================================================================
         | 
| 42 | 
            +
            (define skk-azik-roman->kana-alist
         | 
| 43 | 
            +
              (map
         | 
| 44 | 
            +
               (lambda (entry)
         | 
| 45 | 
            +
                 (let* ((roman  (first entry))
         | 
| 46 | 
            +
                        (target (third entry))
         | 
| 47 | 
            +
                        (target (if (pair? target)
         | 
| 48 | 
            +
                                    (cdr target)
         | 
| 49 | 
            +
                                    target)))
         | 
| 50 | 
            +
                   (cons roman target)))
         | 
| 51 | 
            +
               skk-azik-additional-rom-kana-rule-list))
         | 
| 52 | 
            +
             | 
| 53 | 
            +
            (define skk-azik-kana->roman-alist
         | 
| 54 | 
            +
              (map
         | 
| 55 | 
            +
               (lambda (x)
         | 
| 56 | 
            +
                 (cons (cdr x) (car x)))
         | 
| 57 | 
            +
               skk-azik-roman->kana-alist))
         | 
| 58 | 
            +
             | 
| 59 | 
            +
             | 
| 60 | 
            +
            ;;-------------------------------------------------------------------
         | 
| 61 | 
            +
            (test-section "verify roman => hiragana")
         | 
| 62 | 
            +
             | 
| 63 | 
            +
            (for-each
         | 
| 64 | 
            +
             (lambda (entry)
         | 
| 65 | 
            +
               (let ((kana  (car entry))
         | 
| 66 | 
            +
                     (roman (cdr entry)))
         | 
| 67 | 
            +
                 (test* (sprintf "romna => hiragana (\"%s\" \"%s\")" kana roman)
         | 
| 68 | 
            +
                        #t
         | 
| 69 | 
            +
                        (if (memv roman (hash-table-get sekka-kana->roman-hash-long kana '()))
         | 
| 70 | 
            +
                            #t #f))))
         | 
| 71 | 
            +
             skk-azik-kana->roman-alist)
         | 
| 72 | 
            +
             | 
| 73 | 
            +
            ;;-------------------------------------------------------------------
         | 
| 74 | 
            +
            (test-section "verify roman => hiragana")
         | 
| 75 | 
            +
             | 
| 76 | 
            +
            (for-each
         | 
| 77 | 
            +
             (lambda (entry)
         | 
| 78 | 
            +
               (let1 roman (first entry)
         | 
| 79 | 
            +
                 (test* (sprintf "romna => hiragana [%s]" roman)
         | 
| 80 | 
            +
                        (assq-ref roman skk-azik-roman->kana-alist)
         | 
| 81 | 
            +
                        (car (gen-roman->hiragana roman :azik)))))
         | 
| 82 | 
            +
             skk-azik-roman->kana-alist)
         | 
| 83 | 
            +
             | 
| 84 | 
            +
             | 
| 85 | 
            +
            ;;===================================================================
         | 
| 86 | 
            +
            (test-end)
         |