Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

zipcode を更新しやすいように UTF-8 にして調整 #54

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 47 additions & 38 deletions zipcode/Makefile.in
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Makefile for ZIP-code dictionaries.

EMACS = @emacs@
RM = @rm@
CP = @cp@
DENO = @deno@
GIT = @git@
MKDIR = @mkdir@
CAT = @cat@
DIFF = @diff@
WGET = @wget@
NKF = @nkf@
RM = @rm@
UNZIP = @unzip@
WGET = @wget@

SKKDIC_EXPR2 = @skkdic_expr2@
SKKDIC_EXPR = @skkdic_expr@
SKKDIC_SORT = @skkdic_sort@
Expand All @@ -18,60 +18,68 @@ temp_dir = @temp_dir@

TEMP_ZIPCODE=$(temp_dir)/.zipcode
TEMP_OFFICE=$(temp_dir)/.office
TEMP_GEO=$(temp_dir)/.geo

SOURCE_KEN_ALL=https://www.post.japanpost.jp/zipcode/dl/kogaki/zip/ken_all.zip
SOURCE_KEN_ALL=https://www.post.japanpost.jp/zipcode/dl/utf/zip/utf_ken_all.zip
SOURCE_JIGYOSYO=https://www.post.japanpost.jp/zipcode/dl/jigyosyo/zip/jigyosyo.zip

KEN_ALL_ZIP=$(temp_dir)/ken_all.zip
KEN_ALL_ZIP=$(temp_dir)/utf_ken_all.zip
JIGYOSYO_ZIP=$(temp_dir)/jigyosyo.zip

KEN_ALL=$(temp_dir)/ken_all.csv
KEN_ALL=$(temp_dir)/utf_ken_all.csv
JIGYOSYO=$(temp_dir)/jigyosyo.csv

all: zipcode office words
all: zipcode office

zipcode:
$(EMACS) --batch -q -no-site-file --load $(srcdir)/ZIPCODE-MK \
--funcall mkdic-zipcode --funcall mkdic-zipcode-header $(temp_dir)
$(DENO) run --allow-read --allow-write $(srcdir)/zipcode.ts \
--csv=$(KEN_ALL) --out=$(TEMP_ZIPCODE) \
--header=$(srcdir)/SKK-JISYO.zipcode \
--geo=$(TEMP_GEO) \
--words=$(srcdir)/words.zipcode
ifneq ($(SKKDIC_EXPR2),)
$(SKKDIC_EXPR2) $(TEMP_ZIPCODE) >> SKK-JISYO.zipcode
$(SKKDIC_EXPR2) $(TEMP_ZIPCODE) >> $(srcdir)/SKK-JISYO.zipcode
else
$(SKKDIC_EXPR) $(TEMP_ZIPCODE) \
| $(SKKDIC_SORT) >> SKK-JISYO.zipcode
| $(SKKDIC_SORT) >> $(srcdir)/SKK-JISYO.zipcode
endif

office:
$(EMACS) --batch -q -no-site-file --load $(srcdir)/ZIPCODE-MK \
--funcall mkdic-office --funcall mkdic-office-header $(temp_dir)
$(DENO) run --allow-read --allow-write $(srcdir)/zipcode.ts \
--csv=$(JIGYOSYO) --office=$(TEMP_OFFICE) \
--header=$(srcdir)/SKK-JISYO.office.zipcode \
--geo="" --words=""
ifneq ($(SKKDIC_EXPR2),)
$(SKKDIC_EXPR2) $(TEMP_OFFICE) >> SKK-JISYO.office.zipcode
$(SKKDIC_EXPR2) $(TEMP_OFFICE) >> $(srcdir)/SKK-JISYO.office.zipcode
else
$(SKKDIC_EXPR) $(TEMP_OFFICE) \
| $(SKKDIC_SORT) >> SKK-JISYO.office.zipcode
| $(SKKDIC_SORT) >> $(srcdir)/SKK-JISYO.office.zipcode
endif

words:
$(EMACS) --batch -q -no-site-file --load $(srcdir)/ZIPCODE-MK --funcall mkdic-words

# For checking new entries.

update: orig all diff
update: all diff

orig:
-$(CP) -f $(srcdir)/SKK-JISYO.office.zipcode \
SKK-JISYO.office.zipcode.orig
-$(CP) -f $(srcdir)/SKK-JISYO.zipcode SKK-JISYO.zipcode.orig
-$(CP) -f $(srcdir)/words.zipcode words.zipcode.orig
-$(GIT) show HEAD:$(srcdir)/SKK-JISYO.office.zipcode \
> SKK-JISYO.office.zipcode.orig
-$(GIT) show HEAD:$(srcdir)/SKK-JISYO.zipcode > SKK-JISYO.zipcode.orig
-$(GIT) show HEAD:$(srcdir)/words.zipcode > words.zipcode.orig

diff:
-$(DIFF) -u SKK-JISYO.office.zipcode.orig \
SKK-JISYO.office.zipcode \
| $(CAT) > SKK-JISYO.office.zipcode.diff
-$(DIFF) -u SKK-JISYO.zipcode.orig \
SKK-JISYO.zipcode \
| $(CAT) > SKK-JISYO.zipcode.diff
-$(DIFF) -u words.zipcode.orig words.zipcode \
| $(CAT) > words.zipcode.diff
-$(GIT) diff $(srcdir)/SKK-JISYO.office.zipcode \
> SKK-JISYO.office.zipcode.diff
-$(GIT) diff $(srcdir)/SKK-JISYO.zipcode \
> SKK-JISYO.zipcode.diff
-$(GIT) diff $(srcdir)/words.zipcode \
> words.zipcode.diff

geo:
$(NKF) -e $(TEMP_GEO) > $(TEMP_GEO).euc
$(SKKDIC_EXPR2) $(TEMP_GEO).euc \
- $(srcdir)/../SKK-JISYO.L \
- $(srcdir)/../SKK-JISYO.geo \
> $(srcdir)/../SKK-JISYO.geo.add

# For doing everything automatically.

Expand Down Expand Up @@ -106,13 +114,14 @@ clean-diffs:
mostlyclean: clean-temps clean-diffs
-$(RM) -f config.status \
config.log \
$(srcdir)/test/zipcode-test.sh \
Makefile

distclean: mostlyclean
-$(RM) -f SKK-JISYO.office.zipcode \
SKK-JISYO.zipcode \
words.zipcode
-$(RM) -f $(srcdir)/SKK-JISYO.office.zipcode \
$(srcdir)/SKK-JISYO.zipcode \
$(srcdir)/words.zipcode

.PHONY: test
test:
$(EMACS) --batch --quick --directory test --load test/all-tests.el --funcall ert-run-tests-batch-and-exit
. $(srcdir)/test/zipcode-test.sh
32 changes: 24 additions & 8 deletions zipcode/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,11 @@
する場合に `/usr/dict/words` というファイルに書くべき内容が書かれています。
public domain です。

4. `Makefile`, `ZIPCODE-MK` … これらは、[日本郵便株式会社](https://www.post.japanpost.jp/) の
4. `Makefile`, `zipcode.ts`, `zipcode-split.ts` … これらは、
[日本郵便株式会社](https://www.post.japanpost.jp/) の
[郵便番号データダウンロード](https://www.post.japanpost.jp/zipcode/download.html) か
ら取得できるファイルを基に、自分で郵便番号辞書を最新版に更新したいときなどに使
います。 GNU Emacs 26 以上を使う必要があります。GPL です。
います。[Deno](https://deno.com/#installation) を使う必要があります。GPL です。


# インストール
Expand Down Expand Up @@ -121,8 +122,9 @@
きていません。

そこでよろしければ、よく御存知の地名について、間違っていないかどうか調べてみて
ください。もし間違いがありましたら、SKK 開発ラボ <skk@ring.gr.jp> にご連絡くだ
さい。
ください。もし間違いがありましたら、
[GitHub](https://github.com/skk-dev/dict/issues)
にご連絡ください。


# メンテナンスの方法 (コミッタの方へ)
Expand Down Expand Up @@ -154,19 +156,33 @@
する前に、これらの差分 `*.diff` を必ず確認してください。これは以下のような理由によ
ります。

* `ZIPCODE-MK` にバグがあると、変なエントリを生成してしまう可能性がある。
* `zipcode.ts` にバグがあると、変なエントリを生成してしまう可能性がある。

* 日本郵便株式会社のデータの書式が変わるなどの理由によって `ZIPCODE-MK` が対応で
* 日本郵便株式会社のデータの書式が変わるなどの理由によって `zipcode.ts` が対応で
きなくなっている可能性がある。

* 使用する GNU Emacs によっては、元データの内容を正しくデコードできないなどの理由に
* 元データの内容を正しくデコードできないなどの理由に
よって、変なエントリを生成してしまう可能性がある。

## 必要なもの

* `skk-tools` https://github.com/skk-dev/skktools

* GNU Emacs 26 以上
* Deno https://deno.com/#installation

## SKK-JISYO.geo への追加

```
% make geo
```

を実行することで `SKK-JISYO.geo.add` というファイルができます。
これは `SKK-JISYO.L` にも `SKK-JISYO.geo` にも存在しない地名として
追加できるかもしれないエントリ候補です。

明らかに不要な語句や末尾の「北」「中央」「下」などを削りつつ、
いずれかの辞書に追加できるか考慮してみてください。


# この辞書の出来、他の郵便番号辞書、などについて

Expand Down
Loading