公開: 2025年11月1日 最終更新: 2025年11月1日 永続リンク
最近、モンゴル文字に関心があります。
ᠮᠣᠩᠭᠣᠯ
モンゴル文字による「モンゴル」(なんと、縦書きなのだ!)
モンゴル文字を表示するためにNoto Sans Mongolianというフォントを使っているのですが、絶賛開発中なので開発版を使いたいです。しかし、現時点での開発版はビルドに失敗しています。
では、最近のNoto Sans Mongolianの更新がビルドの失敗の原因なのかというと、どうやらそうではないらしく、リリース版のタグでのビルドも失敗するようです。つまり、依存パッケージの破壊的変更がビルドの失敗の原因なようです。エラーメッセージ内のスタックトレースを辿ることで、エラーの直接の原因と発生した箇所が分かります。
ところで、エラーは依存パッケージ内で発生しています。更に、複数の依存パッケージに問題があるようです。どうやって依存パッケージのデバッグ及びバグ修正をするのでしょうか。素朴に各依存パッケージの問題と思わしき箇所を修正して、それぞれのパッケージにパッチを送っても、受理されるまでに時間がかかる可能性がありますし、仮に受け入れられても、プロジェクトの動作確認はできていないので、プロジェクトのプログラムが正しく動作するようになる保証はありません。もし正しく動作しなければ、依存パッケージの修正、パッチ送付、受理待ちの一連の手順を繰り返すことになり、修正と動作確認の反復に多くの時間がかかりますし、パッチが受理されなければ、動作確認ができなくなってしまいます。
もちろん、丁寧なやり方もあるのでしょうが、今回は大雑把に行きますよ。Noto Sans MongolianはPythonプロジェクトで、venvを使って依存パッケージをインストールしているため、依存パッケージはプロジェクトローカルにインストールされます。これを利用しましょう。つまり、venv環境にインストールした依存パッケージを直接編集してしまいます。venv環境はプロジェクトローカルなため、依存パッケージを直接編集しても、他のプロジェクトやユーザーローカル環境には影響しません。
そういうわけで、次のような手順で作業を進めてみましょう。
breakpointの呼び出しを追記する。上記の手順で作業した結果、依存パッケージ側の対応を待つことなく、依存パッケージの修正パッチを作成することができました。作成したパッチは送付及び受理済みです(これとこれ)。
デジタル環境上におけるモンゴル文字のサポートはまだ十分とは言えないので、できる範囲で良くしていきたいです。