sekka 0.8.0 → 0.8.1
Sign up to get free protection for your applications and to get access to all the features.
- 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)
|