-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
更新作業の省エネ化 #58
Open
tamo
wants to merge
48
commits into
skk-dev:master
Choose a base branch
from
tamo:simplify
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
更新作業の省エネ化 #58
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
schema に annotation がないから入れた (0.1.0) txt2json によれば annotation は複数存在できるようだったので array にしておいた (複数のエントリは見たことないけど) index.d.ts に schema と同じような TS 型を書いて script 内で共用している txt2json で txt 辞書の冒頭部分は、読むだけ読んで捨てている (yaml から取り出すから) json から txt に戻してみたら yaml が変であることに気づいたので yaml も調整 それなりに復元されることを確認した txt2json では エントリ一個につき json ファイルで何行も使うと diff とか面倒だと思うので 行数を減らすために少し処理している txt2json と json2txt どちらも -c で charset あるいは coding を指定する TODO: fullname 辞書のためだけの JISX0213 対応が汚いので直す あと Makefile はまだ試していない (Windows で作業し始めちゃったので push してから試す)
iconv-lite では EUC-JISX2013 が使えないのでどうしようかと思ったけど 眺めてたらそもそも JISX2013 でも扱えてないみたいなので それなら UTF-8 にしておきましょう あ、ChangeLog が ISO-2022-JP なので開けない…… -あもうこうへい /天羽浩平;フルネーム,日本サンマイクロシステムズ゙会長/ +あもうこうへい /天羽浩平;フルネーム,日本サンマイクロシステムズ会長/ (なにこれ?) -おくむらやすのり /奥村●(米へん+攵)軌;フルネーム,名古屋弁護士会会長/ +おくむらやすのり /奥村敉軌;<UTF-8>フルネーム,名古屋弁護士会会長/ -くぬぎりょうきち /●(工+刀)刀良吉;フルネーム,ソニー社長/ +くぬぎりょうきち /㓛刀良吉;<UTF-8>フルネーム,ソニー社長/ -くりはらろすい /栗原●(草かんむり+慮)水;フルネーム,書家/ +くりはらろすい /栗原蘆水;<UTF-8>フルネーム,書家/ (いや、「慮」じゃないし) -このえやすこ /近衛●(うかんむり+必+用)子;フルネーム,長野五輪選手村名誉村長/ +このえやすこ /近衞甯子;<UTF-8>フルネーム,長野五輪選手村名誉村長/ (よく見ると「衛」もすごい) -すがひでみ /●(糸へん+圭)秀実;フルネーム,文芸評論家/ +すがひでみ /絓秀実;<UTF-8>フルネーム,文芸評論家/ -ぬのめちょうふう /布目潮●(さんずい+風);フルネーム,『中国茶・・・』/ +ぬのめちょうふう /布目潮渢;<UTF-8>フルネーム,『中国茶・・・』/
気づいちゃったので -なかむらかつお /中村嘉嵂雄;<JISX0213>フルネーム,歌舞伎俳優/ +なかむらかつお /中村嘉葎雄;<JISX0213>フルネーム,歌舞伎俳優/
https://www.post.japanpost.jp/zipcode/dl/utf-zip.html 事業所は sjis のままみたいなので変更なし zipcode.ts に --geo オプションを付けると geo 更新用のデータを吐くので geo に混ぜると良いかも configure/Makefile はまだ試してない
動くかどうかは知らない
これをしないと make が通らないみたい
skk-dev#51 で話題になったあと放置されていたのかな? http://ftp.edrdg.org/pub/Nihongo/00INDEX.html によると、 > WARNING!! After nearly 30 years of operation the Monash ftp server has been closed down. This edrdg.org server will continue to operate, however addional files will be rarely be added. Dictionary files such as JMdict, Kanjidic, etc. will still be updated daily. Make sure you note the address: > > (HTTP) http://ftp.edrdg.org/pub/Nihongo/00INDEX.html > (FTP) ftp://ftp.edrdg.org/pub/Nihongo/00INDEX.html > rsync ftp.edrdg.org::nihongo/filname filename とのこと。Google で上位に出る usf.edu はただのコピーなのか、そういう情報は書いてない http://ftp.usf.edu/pub/ftp.monash.edu.au/pub/nihongo/ ていうか、u の付かない euc 版の edict2 もあるのに どうして edict2u を使っているのかしら
コピペミスしまくってた
どうして json と別ファイルにしているのか謎だが
array じゃなくて object にした 送りありエントリは最後がアルファベットになるよう指定した (L 辞書の「へんしょう」でエラーが出るのは辞書の間違いか?) txt2json で ajv を使って schema validation するようにした json2txt で -c の euc 判定を緩めた
skk-dev/skktools#27 から annotation-filter.rb を持ってきて script に置いた
emoji.kana は emoji.kanji を unannotated と突合してるので
txt2json の yaml 実装を別のにしたら meta の変な調整が不要になって嬉しい
ライセンスも整理
いつか github actions でも使えるかも?
辞書は EUC-JP, EUC-JISX0213, UTF-8 とあるので ChangeLog はできるだけそれらをすべて表現できないと困るわけで だったら UTF-8 にしておくのが最善だと思います
L と geo に入っていない地名がたくさんある 新しくできたビルとか改名したところとか
そして let を減らした
words と office も deno で生成 test は sh からの grep で十分 ついでにビルなどの geo 処理を改善 京都の通りの名前も少し回収
SKK-JISYO.geo.add に出る (L と geo が euc-jp であることを前提にして nkf している)
じょうより、じょうれん 等の地名から「じょう」が消えていた
committers.md では geo 関連 Makefile では total 関連について
EUC-JP も扱えるようにしたり 名前とかも出したり コミット済みのものを比較したり
committers.md に edict2 はプルリクとかをしないことを反映
さすがに「筋肉」を「すじにく」、「傘」を「さん」というようでは 使いものにならないので、L.unannotated 頼りの完全自動生成ではなく、 手動で設定できるようにした (SKK-JISYO.emoji.predef) そして emoji.el がめちゃくちゃ遅いので、deno にやらせた (emoji.ts) 手順については committers.md に書いたが、つまり en.xml の場合は直接 ``` xml --(emoji.ts -x en.xml)-> text ``` それに対して ja.xml の場合は ``` xml --(emoji.ts -x ja.xml -p predef -o predef [-i Ldic])-> predef predef --(emoji.ts -x ja.xml -p predef -o emoji)-> text ``` という二段階を経る なお en.xml は `“not free of charge”` を `notfreeofcharge` にしている もし `not_free_of_charge` などにしたければ emoji.ts の※を変更する ついでに txt2json.ts も変更し、 失敗したとき失敗箇所が分かりやすいようにしたり、 annotation も delisp するようにしたりした
committers.md に「COPYING をご覧下さい」とあるが存在しないので
git-actions[bot] として git push する edict2 は自動 ChangeLog 対象外にする (頻繁に大規模な変更があるようなのであまり意味がない) git diff -I は --name-only で使えないので sed で変更ファイル名を取得 manued.sh デフォルトでチェックするファイルは edict2 と ivd 以外 git -I はバージョン 2.30 必須
skktools の edict2 生成は 著作権表示の年が 2017 のまま変えられない しかも 「(self-)なんちゃら」のハイフンを消したり 「NRZ(C)」の括弧を処理しなかったり 無駄にわざとバグらせている (どちらも特別処理は不要) 「;; okuri-ari entries.」が entry になっていることすら 気付かれず放置されている (skkdic-expr2 をかけるから問題ないとはいえ……)
skktools のビルドが flaky なので
simplify というブランチ名の割に色々と変更してしまったが ここまでやって、やっとプルリクのハードルが下がったと思う これなら気軽に「これ直して」→「はいよ」という感じで更新できそう
どこかで一個 commit が抜けてたみたい grep を /dev/null に捨てたり git diff に正しく -I を渡したりするよう訂正
script/manued-helper.ts で エントリの削除と追加を正しく検出し、 変更だけを抽出して docdiff する
helper はエントリ後半が切れていたのを修正
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
#54 と #55 の上に
ivd, emoji, edict2 の更新方法を明示して
GitHub Actions で on push で ChangeLog 作成や
make 結果の反映をしたりして、
基本的には JSON だけ更新すればいいような感じにしてみました
このぐらい環境が整備されれば
この半分死んだような状態のプロジェクトも
気軽に辞書を更新していけるようになるのではないかと思います
このまま取り入れるには変更が大きすぎるとは思いますが
こういう未来があるんだということをお伝えしたくてプルリクしています
現在 (こうした変更なしでは)
という状態なので、少しずつでも前進していってほしいと思っています
期待しています
ほかに、私の興味がなくて放置しているものとしては
といったことがあります
まだ整備する (か、いっそ廃止して手順をもっと簡素化する) 余地があると思います
私としては、辞書に含めてほしいものがたくさんあるので
今後はそちらをプルリクしたいと思っています