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)
|