faker-okinawa 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/CODE_OF_CONDUCT.md +49 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.txt +21 -0
  6. data/README.md +66 -0
  7. data/Rakefile +2 -0
  8. data/bin/console +14 -0
  9. data/bin/setup +8 -0
  10. data/faker-okinawa.gemspec +23 -0
  11. data/lib/faker/okinawa.rb +14 -0
  12. data/lib/faker/okinawa/address.rb +35 -0
  13. data/lib/faker/okinawa/awamori.rb +14 -0
  14. data/lib/faker/okinawa/base.rb +14 -0
  15. data/lib/faker/okinawa/fish.rb +14 -0
  16. data/lib/faker/okinawa/food.rb +14 -0
  17. data/lib/faker/okinawa/name.rb +14 -0
  18. data/lib/faker/okinawa/odic.rb +40 -0
  19. data/lib/faker/okinawa/school.rb +14 -0
  20. data/lib/faker/okinawa/version.rb +5 -0
  21. data/o-dic/address.dic +1068 -0
  22. data/o-dic/amami.dic +69 -0
  23. data/o-dic/awamori.dic +809 -0
  24. data/o-dic/base.dic +63 -0
  25. data/o-dic/bin-dic/ATOK.zip +0 -0
  26. data/o-dic/bin-dic/Kotoeri.dmg +0 -0
  27. data/o-dic/bin-dic/MSIME.zip +0 -0
  28. data/o-dic/bin-dic/MSIME2000.zip +0 -0
  29. data/o-dic/bin-dic/MSIME2002.zip +0 -0
  30. data/o-dic/bin-dic/MSIME2003.zip +0 -0
  31. data/o-dic/bin-dic/MSIME2007.zip +0 -0
  32. data/o-dic/bin-dic/VJEDelta40.zip +0 -0
  33. data/o-dic/bin-dic/anthydic20090901.tar.bz2 +0 -0
  34. data/o-dic/bin-dic/cannadic.tar.bz2 +0 -0
  35. data/o-dic/bin-dic/cannadic20030407.tar.bz2 +0 -0
  36. data/o-dic/bin-dic/cannadic20051104.tar.bz2 +0 -0
  37. data/o-dic/bin-dic/google-20111218.zip +0 -0
  38. data/o-dic/bus.dic +216 -0
  39. data/o-dic/city.dic +209 -0
  40. data/o-dic/doc/History.doc +138 -0
  41. data/o-dic/doc/README.1ST +79 -0
  42. data/o-dic/doc/format.txt +169 -0
  43. data/o-dic/food.dic +524 -0
  44. data/o-dic/geo.dic +815 -0
  45. data/o-dic/history.dic +1078 -0
  46. data/o-dic/island.dic +354 -0
  47. data/o-dic/misc.dic +1166 -0
  48. data/o-dic/name.dic +1039 -0
  49. data/o-dic/park.dic +535 -0
  50. data/o-dic/sakana.dic +160 -0
  51. data/o-dic/school.dic +1068 -0
  52. data/o-dic/script/ODIC.pm +98 -0
  53. data/o-dic/script/ccount.pl +111 -0
  54. data/o-dic/script/geta_checker.sh +29 -0
  55. data/o-dic/script/oki2atk.pl +192 -0
  56. data/o-dic/script/oki2canna.pl +131 -0
  57. data/o-dic/script/oki2cha.pl +154 -0
  58. data/o-dic/script/oki2jis.pl +167 -0
  59. data/o-dic/script/oki2kotoeri.pl +127 -0
  60. data/o-dic/script/oki2mozc.pl +156 -0
  61. data/o-dic/script/oki2msime.pl +136 -0
  62. data/o-dic/script/oki2osxjapaneseim.pl +168 -0
  63. data/o-dic/script/oki2vje.pl +138 -0
  64. data/o-dic/script/wcount.pl +114 -0
  65. metadata +135 -0
@@ -0,0 +1,154 @@
1
+ #!/usr/bin/perl
2
+ #
3
+ # oki2cha.pl - 沖縄辞書のファイルを茶筌で使える形式のテキストに変換する
4
+ #
5
+ # $Id: oki2cha.pl,v 1.3 2003/04/25 06:15:56 void Exp $
6
+ #
7
+ # このスクリプトを使って、以下のように「okinawa.dic」を生成してください。
8
+ # $ cat ../*.dic | ./oki2cha.pl > okinawa.dic
9
+ # $ /usr/local/libexec/chasen/makeint okinawa.dic > okinawa.txt
10
+ # $ /usr/local/libexec/chasen/sortdic okinawa.txt > okinawa.int
11
+ # $ /usr/local/libexec/chasen/pattool -F okinawa
12
+ # $ rm okinawa.txt
13
+
14
+ require 5.6.0;
15
+ use FindBin;
16
+ use lib $FindBin::Bin; # For search scripts/ODIC.pm
17
+ require 'ODIC.pm';
18
+ use strict;
19
+ use Getopt::Long qw(:config posix_default no_ignore_case gnu_compat);
20
+
21
+ our $phonate;
22
+ our $word;
23
+ our $class;
24
+
25
+ my $help_only;
26
+ my $skip_geta;
27
+
28
+ GetOptions(
29
+ 'help|h' => \$help_only,
30
+ 'skip-geta|g' => \$skip_geta
31
+ );
32
+ if (defined($help_only)) {
33
+ print STDERR "usage: $0 [--help|-h] [--skip-geta|-g]\n";
34
+ exit 1;
35
+ }
36
+
37
+ while (<>) {
38
+ # JIS X 0208 に含まれていない文字を含む行を読み飛ばす
39
+ # 読み飛ばしにはコメントに「〓あり」マーカーが必要
40
+ next if (defined($skip_geta) && /〓あり/);
41
+
42
+ next if (/@@@/); # @@@のある行は読み飛ばす。
43
+ s/#.*$//; # `#'以降を取り去る
44
+ next if (/^\s*$/); # その結果空行になった行は読み飛ばす。
45
+ if (/(\S+)\s+(\S+)\s+(\S+)/) {
46
+ $phonate = $1; # 読み
47
+ $word = $2; # 単語
48
+ $class = $3; # 品詞
49
+ ODIC::check_phonate($phonate);
50
+ ODIC::check_word($word);
51
+ &convert_class;
52
+ }
53
+ else {
54
+ print STDERR "Error: $.: too few field number `$_'\n";
55
+ print "$_";
56
+ }
57
+ }
58
+ &version;
59
+ exit 0;
60
+
61
+
62
+ sub convert_class {
63
+ if ($class eq "普通名詞") {
64
+ print ODIC::to_eucjp("(品詞 (名詞 一般)) ((見出し語 ($word 2000)) (読み $phonate))\n");
65
+ }
66
+ elsif ($class eq "サ変名詞") {
67
+ print ODIC::to_eucjp("(品詞 (名詞 サ変接続)) ((見出し語 ($word 2000)) (読み $phonate))\n");
68
+ }
69
+ elsif ($class eq "形動名詞") {
70
+ print ODIC::to_eucjp("(品詞 (名詞 形容動詞語幹)) ((見出し語 ($word 2000)) (読み $phonate))\n");
71
+ }
72
+ elsif ($class eq "姓") {
73
+ print ODIC::to_eucjp("(品詞 (名詞 固有名詞 人名 姓)) ((見出し語 ($word 1000)) (読み $phonate))\n");
74
+ }
75
+ elsif ($class eq "名") {
76
+ print ODIC::to_eucjp("(品詞 (名詞 固有名詞 人名 名)) ((見出し語 ($word 2000)) (読み $phonate))\n");
77
+ }
78
+ elsif ($class eq "その他の人名") {
79
+ print ODIC::to_eucjp("(品詞 (名詞 固有名詞 人名 一般)) ((見出し語 ($word 2000)) (読み $phonate))\n");
80
+ }
81
+ elsif ($class eq "単純地名") {
82
+ print ODIC::to_eucjp("(品詞 (名詞 固有名詞 地域 一般)) ((見出し語 ($word 2000)) (読み $phonate))\n");
83
+ }
84
+ elsif ($class eq "接尾語付き地名") {
85
+ print ODIC::to_eucjp("(品詞 (名詞 固有名詞 地域 一般)) ((見出し語 ($word 2000)) (読み $phonate))\n");
86
+ }
87
+ elsif ($class eq "組織名") {
88
+ print ODIC::to_eucjp("(品詞 (名詞 固有名詞 組織)) ((見出し語 ($word 3000)) (読み $phonate))\n");
89
+ }
90
+ elsif ($class eq "その他固有名詞") {
91
+ print ODIC::to_eucjp("(品詞 (名詞 固有名詞 一般)) ((見出し語 ($word 2000)) (読み $phonate))\n");
92
+ }
93
+ elsif ($class eq "副詞") {
94
+ print ODIC::to_eucjp("(品詞 (副詞 一般)) ((見出し語 ($word 2000)) (読み $phonate))\n");
95
+ }
96
+ elsif ($class eq "接続詞") {
97
+ print ODIC::to_eucjp("(品詞 (接続詞)) ((見出し語 ($word 2000)) (読み $phonate))\n");
98
+ }
99
+ elsif ($class eq "感動詞") {
100
+ print ODIC::to_eucjp("(品詞 (感動詞)) ((見出し語 ($word 2000)) (読み $phonate))\n");
101
+ }
102
+ elsif ($class eq "形容詞") {
103
+ print ODIC::to_eucjp("(品詞 (形容詞 自立)) ((見出し語 ($word 2000)) (読み $phonate))\n");
104
+ }
105
+ elsif ($class eq "形容動詞") {
106
+ print ODIC::to_eucjp("(品詞 (名詞 形容動詞語幹)) ((見出し語 ($word 2000)) (読み $phonate))\n");
107
+ }
108
+ elsif ($class eq "接頭語") { # !!!
109
+ print ODIC::to_eucjp("(品詞 (接頭詞 名詞接続)) ((見出し語 ($word 2000)) (読み $phonate))\n");
110
+ }
111
+ elsif ($class eq "数字列接頭語") {
112
+ print ODIC::to_eucjp("(品詞 (接頭詞 数接続)) ((見出し語 ($word 2000)) (読み $phonate))\n");
113
+ }
114
+ elsif ($class eq "接尾語") {
115
+ print ODIC::to_eucjp("(品詞 (名詞 接尾 一般)) ((見出し語 ($word 2000)) (読み $phonate))\n");
116
+ }
117
+ elsif ($class eq "人名接尾語") {
118
+ print ODIC::to_eucjp("(品詞 (名詞 接尾 人名)) ((見出し語 ($word 2000)) (読み $phonate))\n");
119
+ }
120
+ elsif ($class eq "地名接尾語") {
121
+ print ODIC::to_eucjp("(品詞 (名詞 接尾 地域)) ((見出し語 ($word 2000)) (読み $phonate))\n");
122
+ }
123
+ elsif ($class eq "組織名接尾語") {
124
+ print ODIC::to_eucjp("(品詞 (名詞 接尾 一般)) ((見出し語 ($word 2000)) (読み $phonate))\n");
125
+ }
126
+ elsif ($class eq "数字列接尾語") {
127
+ print ODIC::to_eucjp("(品詞 (名詞 接尾 助数詞)) ((見出し語 ($word 2000)) (読み $phonate))\n");
128
+ }
129
+ elsif ($class eq "成句") {
130
+ print ODIC::to_eucjp("(品詞 (名詞 引用文字列)) ((見出し語 ($word 2000)) (読み $phonate))\n");
131
+ }
132
+ elsif ($class eq "無品詞") {
133
+ print ODIC::to_eucjp("(品詞 (名詞 引用文字列)) ((見出し語 ($word 2000)) (読み $phonate))\n");
134
+ }
135
+ else {
136
+ print STDERR "Error: $.: unknown class `$class': $phonate\t$word\n";
137
+ print ODIC::to_eucjp("$phonate,$word,$class\n");
138
+ }
139
+ }
140
+
141
+
142
+ sub version {
143
+ my $sec;
144
+ my $min;
145
+ my $hour;
146
+ my $mday;
147
+ my $mon;
148
+ my $year;
149
+
150
+ ($sec, $min, $hour, $mday, $mon, $year) = localtime(time());
151
+ $year += 1900;
152
+ $mon++;
153
+ print ODIC::to_eucjp("(品詞 (名詞 引用文字列)) ((見出し語 ($year/$mon/$mday沖縄辞書の日付け 2000)) (読み おきなわじしょのひづけ))\n");
154
+ }
@@ -0,0 +1,167 @@
1
+ #!/usr/bin/perl
2
+ #
3
+ # oki2jis.pl - 沖縄辞書のファイルを JIS X 4062 の形式のテキストに変換する
4
+ #
5
+ # $Id: oki2jis.pl,v 1.7 2006/09/01 18:20:06 void Exp $
6
+ #
7
+ # このスクリプトを使って、以下のように「okinawa.txt」を生成してください。
8
+ # $ cat ../*.dic | script/oki2jis.pl | sort -u | nkf -s > okinawa.txt
9
+ # 後半のnkfのオプションは先方の都合に合わせて変更してください。
10
+
11
+ require 5.6.0;
12
+ use FindBin;
13
+ use lib $FindBin::Bin; # For search scripts/ODIC.pm
14
+ require 'ODIC.pm';
15
+ use strict;
16
+ use Getopt::Long qw(:config posix_default no_ignore_case gnu_compat);
17
+
18
+ our $phonate;
19
+ our $word;
20
+ our $class;
21
+
22
+ my $help_only;
23
+ my $skip_geta;
24
+
25
+ GetOptions(
26
+ 'help|h' => \$help_only,
27
+ 'skip-geta|g' => \$skip_geta
28
+ );
29
+ if (defined($help_only)) {
30
+ print STDERR "usage: $0 [--help|-h] [--skip-geta|-g]\n";
31
+ exit 1;
32
+ }
33
+
34
+ &header;
35
+ while (<>) {
36
+ # JIS X 0208 に含まれていない文字を含む行を読み飛ばす
37
+ # 読み飛ばしにはコメントに「〓あり」マーカーが必要
38
+ next if (defined($skip_geta) && /〓あり/);
39
+
40
+ s/#.*$//; # `#'以降を取り去る
41
+ next if (/^\s*$/); # その結果空行になった行は読み飛ばす。
42
+ if (/(\S+)\s+(\S+)\s+(\S+)/) {
43
+ $phonate = $1; # 読み
44
+ $word = $2; # 単語
45
+ $class = $3; # 品詞
46
+ ODIC::check_phonate($phonate);
47
+ ODIC::check_word($word);
48
+ &convert_class;
49
+ }
50
+ else {
51
+ print STDERR "Error: $.: too few field number `$_'\n";
52
+ print "$_";
53
+ }
54
+ }
55
+ &version;
56
+ exit 0;
57
+
58
+
59
+ sub convert_class {
60
+ if ($class eq "普通名詞") {
61
+ print "$phonate,$word,$class\n"; # !!!
62
+ }
63
+ elsif ($class eq "サ変名詞") {
64
+ print "$phonate,$word,$class\n";
65
+ }
66
+ elsif ($class eq "形動名詞") {
67
+ print "$phonate,$word,$class\n";
68
+ }
69
+ elsif ($class eq "姓") {
70
+ print "$phonate,$word,$class\n";
71
+ }
72
+ elsif ($class eq "名") {
73
+ print "$phonate,$word,$class\n";
74
+ }
75
+ elsif ($class eq "その他の人名") {
76
+ print "$phonate,$word,$class\n";
77
+ }
78
+ elsif ($class eq "単純地名") {
79
+ print "$phonate,$word,$class\n";
80
+ }
81
+ elsif ($class eq "接尾語付き地名") {
82
+ print "$phonate,$word,$class\n";
83
+ }
84
+ elsif ($class eq "組織名") {
85
+ print "$phonate,$word,$class\n"; # !!!
86
+ }
87
+ elsif ($class eq "その他固有名詞") {
88
+ print "$phonate,$word,その他の固有名詞\n";
89
+ }
90
+ elsif ($class eq "副詞") {
91
+ print "$phonate,$word,$class\n";
92
+ }
93
+ elsif ($class eq "接続詞") {
94
+ print "$phonate,$word,$class\n";
95
+ }
96
+ elsif ($class eq "感動詞") {
97
+ print "$phonate,$word,$class\n";
98
+ }
99
+ elsif ($class eq "形容詞") {
100
+ print "$phonate,$word,$class\n";
101
+ }
102
+ elsif ($class eq "形容動詞") {
103
+ print "$phonate,$word,$class\n";
104
+ }
105
+ elsif ($class eq "接頭語") { # !!!
106
+ print "$phonate,$word,$class\n";
107
+ }
108
+ elsif ($class eq "数字列接頭語") {
109
+ print "$phonate,$word,$class\n";
110
+ }
111
+ elsif ($class eq "接尾語") {
112
+ print "$phonate,$word,$class\n";
113
+ }
114
+ elsif ($class eq "人名接尾語") {
115
+ print "$phonate,$word,$class\n";
116
+ }
117
+ elsif ($class eq "地名接尾語") {
118
+ print "$phonate,$word,$class\n";
119
+ }
120
+ elsif ($class eq "組織名接尾語") {
121
+ print "$phonate,$word,$class\n";
122
+ }
123
+ elsif ($class eq "数字列接尾語") {
124
+ print "$phonate,$word,$class\n";
125
+ }
126
+ elsif ($class eq "成句") {
127
+ print "$phonate,$word,$class\n"; # !!!
128
+ }
129
+ elsif ($class eq "無品詞") {
130
+ print "$phonate,$word,$class\n";
131
+ }
132
+ else {
133
+ print STDERR "Error: $.: unknown class `$class': $phonate\t$word\n";
134
+ print "$phonate,$word,$class\n";
135
+ }
136
+ }
137
+
138
+
139
+ sub header {
140
+ my($year, $mon, $mday);
141
+ my($hour, $min, $sec);
142
+
143
+ ($sec, $min, $hour, $mday, $mon, $year) = localtime(time());
144
+ $year += 1900;
145
+ $mon++;
146
+ print ",,\"適合規格=JIS X 4062:1998\"\n";
147
+ print ",,\"表題=沖縄辞書\"\n";
148
+ print ",,\"分野=琉球、沖縄\"\n";
149
+ print ",,\"版=第$year/$mon/$mday版\"\n";
150
+ print ",,\"編者=沖縄辞書プロジェクト\"\n";
151
+ print ",,\"作成日=$year-$mon-$mday\"\n";
152
+ }
153
+
154
+
155
+ sub version {
156
+ my $sec;
157
+ my $min;
158
+ my $hour;
159
+ my $mday;
160
+ my $mon;
161
+ my $year;
162
+
163
+ ($sec, $min, $hour, $mday, $mon, $year) = localtime(time());
164
+ $year += 1900;
165
+ $mon++;
166
+ print "おきなわじしょのひづけ,$year/$mon/$mday(沖縄辞書の日付け),無品詞\n";
167
+ }
@@ -0,0 +1,127 @@
1
+ #!/usr/bin/perl
2
+ #
3
+ # oki2kotoeri.pl - 沖縄辞書のファイルをことえり3.1で読み込める形式のテキストに変換
4
+ #
5
+ # $Id: oki2kotoeri.pl,v 1.8 2006/09/01 18:20:06 void Exp $
6
+ #
7
+ # このスクリプトを使って、以下のように「okinawa.txt」を生成してください。
8
+ # $ cat *.dic | script/oki2kotoeri.pl | sort -u > okinawa.txt
9
+ # 読みは20文字以内、単語は32文字以内です。
10
+ #
11
+ # メニューバーのことえりメニューから[単語登録/辞書編集...]を選び、
12
+ # 「ことえり単語登録」ダイアログを出す。
13
+ # メニューバーの[辞書]メニューの[新規ユーザ辞書の作成...]を選び
14
+ # 別名で保存欄に『okinawa.dic』と記入。
15
+ # このときに[場所]が『Dictionaries』になっていることを確認して、[保存]ボタンを押す。
16
+ # (すでに同名のファイルがある場合は別のディレクトリーにするのではなく、
17
+ # 別のファイル名にしておいてあとでなんとかする。そのディレクトリーじゃないとうまくいかないようだ)
18
+ # 『ユーザー辞書』、『指定変換辞書』の指定はdefaultのままでOK。
19
+ # [ことえり単語登録]ダイアログ上部の[辞書]のところで『okinawa.dic』を選ぶ。
20
+ # メニューバーの[辞書]メニューの[テキストや辞書から取り込む...]を選び、
21
+ # ここで先ほど生成しておいた『okinawa.txt』を指定。(選んで[開く]を押す)
22
+
23
+ require 5.6.0;
24
+ use FindBin;
25
+ use lib $FindBin::Bin; # For search scripts/ODIC.pm
26
+ require 'ODIC.pm';
27
+ use strict;
28
+ our $phonate;
29
+ our $word;
30
+ our $class;
31
+
32
+ while (<>) {
33
+ # JIS X 0208 に含まれていない文字を含む行を読み飛ばす
34
+ # 読み飛ばしにはコメントに「〓あり」マーカーが必要
35
+ next if (/〓あり/);
36
+
37
+ s/#.*$//; # `#'以降を取り去る
38
+ next if (/^\s*$/); # その結果空行になった行は読み飛ばす。
39
+ if (/(\S+)\s+(\S+)\s+(\S+)/) {
40
+ $phonate = $1; # 読み
41
+ $word = $2; # 単語
42
+ $class = $3; # 品詞
43
+ ODIC::check_phonate($phonate);
44
+ ODIC::check_word($word);
45
+ &convert_class;
46
+ }
47
+ else {
48
+ print STDERR "Error: $.: too few field number `$_'\n";
49
+ print "$_";
50
+ }
51
+ }
52
+ &version;
53
+ exit 0;
54
+
55
+
56
+ sub convert_class {
57
+ if ($class eq "普通名詞") { # OK
58
+ }
59
+ elsif ($class eq "サ変名詞") { # OK
60
+ }
61
+ elsif ($class eq "形動名詞") {
62
+ }
63
+ elsif ($class eq "姓") {
64
+ }
65
+ elsif ($class eq "名") {
66
+ }
67
+ elsif ($class eq "その他の人名") {
68
+ }
69
+ elsif ($class eq "単純地名") {
70
+ }
71
+ elsif ($class eq "接尾語付き地名") {
72
+ }
73
+ elsif ($class eq "組織名") {
74
+ }
75
+ elsif ($class eq "その他固有名詞") {
76
+ $class = 'その他の固有名詞';
77
+ }
78
+ elsif ($class eq "副詞") {
79
+ }
80
+ elsif ($class eq "接続詞") {
81
+ }
82
+ elsif ($class eq "感動詞") {
83
+ }
84
+ elsif ($class eq "形容詞") { # OK
85
+ }
86
+ elsif ($class eq "形容動詞") { # OK
87
+ }
88
+ elsif ($class eq "接頭語") { # *
89
+ $class = '普通名詞';
90
+ }
91
+ elsif ($class eq "数字列接頭語") { # OK
92
+ }
93
+ elsif ($class eq "接尾語") { # *
94
+ $class = '普通名詞';
95
+ }
96
+ elsif ($class eq "人名接尾語") {
97
+ }
98
+ elsif ($class eq "地名接尾語") {
99
+ }
100
+ elsif ($class eq "組織名接尾語") {
101
+ }
102
+ elsif ($class eq "数字列接尾語") {
103
+ }
104
+ elsif ($class eq "成句") {
105
+ }
106
+ elsif ($class eq "無品詞") { # OK
107
+ }
108
+ else {
109
+ print STDERR "Error: $.: unknown class `$class': $phonate\t$word\n";
110
+ }
111
+ print ODIC::to_shiftjis("$phonate,$word,$class\r\n");
112
+ }
113
+
114
+
115
+ sub version {
116
+ my $sec;
117
+ my $min;
118
+ my $hour;
119
+ my $mday;
120
+ my $mon;
121
+ my $year;
122
+
123
+ ($sec, $min, $hour, $mday, $mon, $year) = localtime(time());
124
+ $year += 1900;
125
+ $mon++;
126
+ print ODIC::to_shiftjis("おきなわじしょのひづけ,$year年$mon月$mday日(沖縄辞書の日付け),無品詞\r\n");
127
+ }