燐字追加時などのマニュアル
-1. 作業に要求されるもの
ブラウザ・TypeScript・Python・Makefile
0. 概要
最近、色々とやっているせいで、燐字を追加するときの作業の数が多すぎて私jekto.vatimeliju以外が把握していないということに気づいた。ということで、燐字を追加する際に何をするかの一覧をここに書いておき、万が一引き継ぎが必要になった際の備えとするとともに、jekto.vatimelijuが更新作業を行うときの漏れの防止も図る。引き継ぎが必要になるような不測の事態が起きないのが一番であるのは自明だが、まあ世の中何があるか分からんので。
1. 燐字の漢字転写を定めた時
現状、燐字を指し示すには漢字転写が不可欠である。以下の諸作業は、燐字の漢字転写が定まっていることを前提としている。
- 「パイグ語漢字転写早見表」に一行追加し、列「漢字転写」に漢字を入れ、「燐字」に1を入れる。
- 「燐字数の成長記録(パイグ語漢字転写早見表より)」を編集し、燐字数の変遷を記録する。
- 「燐字の各言語の字音一覧」を編集し、列「漢字転写」に漢字を入れる。
- このgitリポジトリで、以下の変更を行いコミットする。
- 清声集(lin cuop dat2.json)を編集し、対象の字を登録する。諸ラネーメ言語での読みが決まっている場合はそれも同時に登録するとよいだろうが、それの詳細は後述する。
- lin-marn2.htmlに軽く説明を書く
(必須ではないが推奨)もはや必須とします
- image_table_ts/char_and_folder_info.tsのconst linzi_listを更新
- 字形が定まっていないとき、image_table_ts/char_and_folder_info.ts の const linzi_glyph_not_defined を更新
- 字形が定まっており、しかし画像が用意できていない場合、image_table_ts/char_and_folder_info.tsのconst defined_but_no_image_preparedを更新
- image_table_ts/mysterious_encoding.tsに字を足す。tscを実行。
- ??のある行を乱択し、それを追加された字で置き換える
- このときrandom_choice.pyを使うと楽(index_listから出た数字を消すのを忘れないように)
- mysterious_encoding_consistency.htmlを開いて、「consistent.」と表示されていることを確認する
- 「パイグ語漢字転写早見表」の「メインの表」をパイグ語リポジトリにミラー(「古パイグの属性」の1個左の列までを選択し、パイグ語漢字転写早見表_mirror.tsvに貼り付け)しコミット
- 『「第k(≧19)回燐字書き取り」燐字と原稿用紙』に字を追加。未造字ならオレンジ、そうでなければ白。
- 諸ラネーメ言語での読みが決まっている場合(語が先にあって転写を後で決めたとか、転写と語が同時にできたとか)は、「諸ラネーメ言語での読みを定めた時」を実行。
2. 諸ラネーメ言語での読みを定めた時
- 清声集(lin cuop dat2.json)に登録する。
- lin-marn2.htmlに軽く説明を書く
(必須ではないが推奨)もはや必須とします
- 燐字の画像も用意できている場合、燐字海への登録作業を行う。
python3 to_linzihai.py
をすると清声集の記述を元にしてHTMLファイルが生まれる。
- 「燐字海」でページを新規作成し、記事名は漢字転写にする。この際、漢字の後に「ら」とか入れておくと「漢字の漢語拼音+ra」がURL欄に出てくるので、それで出てきた拼音をURLにセット。テンプレートは「テンプレートnew」を選択。
- pythonで生成されたHTMLを下の方に貼り付けるとうまくいくはず
- 決めたのがパイグ語の読み・古パイグでの読みである場合、加えて以下の作業を行う。
- 「パイグ語漢字転写早見表」の「メインの表」にパイグ語や古パイグでの読みを記載する。
- 古パイグを載せた場合、「パイグ語漢字転写早見表」の「韻図情報」にも載せる。
- パイグ語リポジトリのprai ge zerp.jsonを編集する。
- パイグ語リポジトリの
siar_prek.html praige-zerp.htmlに説明を書く(推奨)もはや必須とします
- パイグ語リポジトリの燐字入力のファイルも適切に編集する(←これサボりがち)(
version:
の後の日付も更新)(ファイルは2つあるぞい)。
- 「現代標準パイグ語辞書順?配列」「古牌データ」を適宜更新(←これもサボりがち)
- Spoonfed Pekzepの字音.tsvを更新(←これさらにサボりがち)
3. 燐字の字形を定めた時
- このリポジトリのcomposition.txtに字形を載せる。具体的には、漢字転写の後にタブ文字を置き、その後に構成を漢字構成記述文字を使って書く。
- image_table_ts/composition.tsに字形を載せる。
- tscを実行。これにより「composition(最新)」の見た目のHTMLファイルが生成される。
上に基づき、「composition(最新)」の「メイン」シートに載せて、貢献度とかの欄も適宜更新。「シート11」とか「新統計」とかは面倒だし別に触らなくても良い。 これもはや誰も見てない気がするし、やらなくて良いと思う
- 画像が即座に用意できない場合、image_table_ts/char_and_folder_info.tsのconst defined_but_no_image_preparedに新造した字を追加
- image_table_ts/stroke_data.ts に筆画情報を追加
- tscを実行
- もちろんコミット。
- 「第k(≧19)回燐字書き取り」燐字と原稿用紙の背景色を白にする。
- (推奨)字の構成原理の説明を、スプレッドシート「じげん」に書き足す
- Spoonfed Pekzep の raw/linzklar-dismantling.tsvに、字源にある程度従った字素分解を書く。
4. 定めた燐字の字形を画像にして収録したとき
- 1枚1枚を整ったサイズに分割。前例(1, 2, 3, 4)に従って頑張ろう。
- 分割した画像はフォルダに入れる。フォルダ名は「燐字画像6」とかの前例に従う。
- image_table_ts/char_and_folder_info.ts の const folder_names と folder_type にフォルダ名を足す。
- image_table_ts/char_and_folder_info.ts の const defined_but_no_image_preparedの中から収録できた字を削除
- image_table_ts/image_existence_table.ts の
NewImageExistenceTable にフォルダ名を足し、NEW_IMAGE_EXISTENCE_TABLE に字を足す。すると convert_new_to_old 内部の ans[linzi_list[i]] にも新フォルダ名を足すべきことが型エラーの赤波線で分かるので、足す。
- tscを実行
- もちろんコミット忘れずに。
- 必要に応じて、「1. 燐字の漢字転写を定めた時」に貼ってある燐字書き取りのリンクを書き換えること
- 必要に応じて、to_linzi_image.htmlの表も書きかえる
- SYの書いた楷書が収録されたのであれば、Spoonfed Pekzepの適切な場所にそれら画像をコピーする。
- ビットマップが追加された場合も、Spoonfed Pekzep の適切な場所(https://github.com/jurliyuuri/spoonfed_pekzep/tree/master/docs/char_bitmap_img)に枠ナシのビットマップ画像をコピーする。
4-1. 燐字画像の字種を増やしたとき
typescriptファイルのprecedence配列に字種を追加し、tscを実行。具体的には"jv touch panel"などでファイル内を検索し、引っかかった配列の中に追加したい字種のid文字列を追加すればよい。
変更が必要な箇所で現在melovilijuが把握しているものを下に挙げる。
- image_table_ts/char_and_folder_info.ts の type imageAuthor, const imageAuthors
- image_table_ts/generate_composition_table.ts の getImage_()の引数
- image_table_ts/html_to_linzi_image.ts の type ToLinziImageGlobal, var Global, Global.precedence, Global関数を必要に応じてコピー、改変
- to_linzi_image.html のラジオボタンを必要に応じて追加、onclickの変更(上のGlobal関数のコピーとセットで)
- パイグ語レポジトリの dictionary/main.ts の image_getter() の引数(dictionary内でのtscを忘れずに)
よくわからんのであとはいろいろローカルで実験してみてください by meloviliju
ちなみに、読むべきが正方形の png ではない場合は、generate_linzi_image_table_html.ts の getImageFromLinziAndFolder() の実装にも手を加える必要がある。
5. アイル語の単語を真理設定としたりしたとき
アイル語はjurliyuuri/ailに分離されたのでそっちでやってね
- air.jsonを保存する
- このディレクトリで
python3 air_compress.py
を実行し、air_compressed.jsonを生成する
- air_compressed.jsonをZpDICで開き、保存する(インデントなどを自動挿入するため)
- このgitリポジトリでコミットする
6. 丸ゴシックのフォント【骨軸倉字】を https://github.com/yasusho/linmarn_font_project でアップデートした時
- sync_rounded/sync_rounded.bat を「エクスプローラーからダブルクリックで」実行する(カレントディレクトリの事情により)
- tsc を実行