yuru7 / HackGen

Hack と源柔ゴシックを合成したプログラミングフォント 白源 (はくげん/HackGen)

Home Page:https://qiita.com/tawara_/items/374f3ca0a386fab8b305

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

HackGenNerd インストールエラー [v2.1.0]

mzch opened this issue · comments

HackGenNerd v2.1.0 をインストールルしようとするとすべてのフォントで下記のエラーが発生します。

スクリーンショット 2020-07-30 17 12 10

ご報告ありがとうございます。

数点確認させてください。

  • v2.1.0 系の全ファミリー (HacGen, HackGenNerd, HackGen35, HackGen35Nerd) すべてで同様の「'post'テーブルの使用性」エラーの状況ですか?
  • v2.0.0 ではインストールできますか?

・全ファミリーで同じエラーです。
・v2.0.0 では問題ありません。

・全ファミリーで同じエラーです。
・v2.0.0 では問題ありません。

思い当たるところを変更し、再ビルドしてみました。
取り急ぎ、以下に再ビルドした HackGen をアップしました。お手数ですが、再度お試しいただけますでしょうか?

https://github.com/yuru7/HackGen/tree/issue%2312/build

ダウンロードしてインストールを試みましたが、HackGenNerd, HackGen35Nerd がインストールされません。

OS: macOS 10.15.6

それは奇妙ですね。
先ほどの再ビルドで、v2.0.0 と v2.1.0 におけるフォントファイル内の post テーブルは、同じ内容になったことを確認できたため、エラー情報から察するに解消されるかと思ったのですが…

また、「HackGen/HackGen35 がインストールできて HackGenNerd/HackGen35Nerd がインストールできない」という点から、追加合成した Nerd Fonts 周りを疑いたくなりますが、今回の v2.0.0 -> v2.1.0 において Nerd Fonts に関わる部分の修正は加えていないため、それも考えにくいです。

申し訳ないことに当方に Mac 環境が無いため、再現がとれず少々手詰まりになってしまいました。
もし他に出ているエラー情報などあれば、ご教示いただければと思います。

あとこちらで出来ることとして、v2.0.0 まで使っていたビルド環境を何とか動かす、というのは時間があるときに試してみようかと考えています。 (仮想環境の Ubuntu 18 を使っていたのですが、ディスク周りの調子が悪く、ビルド中に意図せず失敗してしまうので、新たにビルド環境を作り直したのです)

あとこちらで出来ることとして、v2.0.0 まで使っていたビルド環境を何とか動かす、というのは時間があるときに試してみようかと考えています。

旧ビルド環境が動かなかった原因が分かったため、一旦そちらで v2.1.0 をビルドしてみました。
旧環境でビルドしたフォントファイルは、以下にアップしています。

またお試しいただければ幸いです。

https://github.com/yuru7/HackGen/tree/issue%2312/build_by_old-env

切り分けメモ

前提:

  • OS: macOS 10.15.6
  • v2.1.0 では 'post'テーブルの使用性 エラーが起こる。
  • v2.0.0 はインストール可能である。
  • ビルド環境を移行したことにより、一部のビルドツールのバージョンアップが掛かっている。
    • fonttools を、旧環境に合わせ Python 3 系から Python 2 系のものにすることで、post テーブルの中身が v2.0.0 と v2.1.0 とで差分無しとなった。

v2.0.0 と v2.1.0 の差異について

  • 独自の濁音グリフを追加した。
    • post テーブルの変更に最も関係しそうだが、fonttools を Python 2 系にしたことで post テーブルの差分が無くなったため、関係しないと見られる。
  • HackGen/HackGenNerd において基底部から Y 方向への +、- の高さ比率を最適化した。
    • fonttools を Python 2 系に戻して再ビルドしたものが、 HackGenNerd は相変わらずインストール不可であったものの、HackGen ではインストールできたため、HackGen/HackGenNerd 共通で行っている当変更が原因ではないと見られる。
  • ビルド環境を変更 (VirtualBox -> Hyper-V) した
    • マシンそのものの変更による影響? ⇒検証中...
    • 各ビルドツールのマイナーバージョンの差異による影響? ⇒追って検証する

エラーログに以下が出力されていました。

  • FontBook

could not activate font (locally): Error Domain=com.apple.CoreText.CTFontManagerErrorDomain Code=103 "1個のファイルは認識される、またはサポートされているフォントファイルフォーマットではありません。" UserInfo={NSLocalizedDescription=1個のファイルは認識される、またはサポートされているフォントファイルフォーマットではありません。, CTFontManagerErrorFontURLs=(

"file:///Volumes/Storage%20HD/Downloads/Fonts/%E6%97%A5%E6%9C%AC%E8%AA%9E/HackGenNerd_v2.1.0/HackGenNerdConsole-Bold.ttf"

), NSLocalizedFailureReason=フォントを登録できませんでした。}

これはリリースページに掲載されている v2.1.0 (このスレッドで再ビルドしたもの ではない) をインストールしようとした際のエラーでしょうか?

取り急ぎ、以下に再ビルドした HackGen をアップしました。お手数ですが、再度お試しいただけますでしょうか?

ダウンロードしてインストールを試みましたが、HackGenNerd, HackGen35Nerd がインストールされません。

この再ビルドした HackGenNerd, HackGen35Nerd をインストールしようとした際にも何かエラーログは出ていましたか?

https://github.com/yuru7/HackGen/tree/issue%2312/build_by_old-env からダウンロードしたフォントで試した結果です。
HackGen, HackGen35, HackGenNerd, HackGen35Nerd すべてインストールできません。
リリース版の HackGen, HackGen35 v2.1.0 は正常にインストールできるので、不思議ではあるのですが…

すみません。ちょっとややこしくしてしまったので、改めて確認させてください。

以下の認識で合っていますか?

正規リリース版 v2.1.0 (https://github.com/yuru7/HackGen/releases/tag/v2.1.0)

⇒全ファミリー (HackGen, HackGen35, HackGenNerd, HackGen35Nerd) インストール不可

新ビルド環境で post テーブルを修正し再ビルドした v2.1.0 (https://github.com/yuru7/HackGen/tree/issue%2312/build)

⇒HackGen, HackGen35 はインストール可。HackGenNerd, HackGen35Nerd はインストール不可。

旧ビルド環境で再ビルドした v2.1.0 (https://github.com/yuru7/HackGen/tree/issue%2312/build_by_old-env)

⇒全ファミリー (HackGen, HackGen35, HackGenNerd, HackGen35Nerd) インストール不可

ああ、ややこしくしてすみません。

正規リリース版 v2.1.0 (https://github.com/yuru7/HackGen/releases/tag/v2.1.0)
⇒HackGen, HackGen35 ⇒ インストール可, HackGenNerd, HackGen35Nerd ⇒ インストール不可

新ビルド環境で post テーブルを修正し再ビルドした v2.1.0 (https://github.com/yuru7/HackGen/tree/issue%2312/build)
⇒全ファミリー (HackGen, HackGen35, HackGenNerd, HackGen35Nerd) インストール不可

旧ビルド環境で再ビルドした v2.1.0 (https://github.com/yuru7/HackGen/tree/issue%2312/build_by_old-env)
⇒全ファミリー (HackGen, HackGen35, HackGenNerd, HackGen35Nerd) インストール不可

これは奇妙ですね…。
v2.0.0 -> v2.1.0 のアップデートの過程で最もビルド環境 (マシンとビルドツール) に差異があった正規リリース版の HackGen, HackGen35 はインストールでき、それ以外の環境でビルドしたものは全てインストールできなかったということですね。

調べてみると環境によって失敗するケースもあるようで、 mzch さんの環境固有の可能性もあるかと考えています。

せめて、他の環境でも起きるか、といった観点で他の方のインストール成否も伺えればいいのですが…。

ちなみに効果があるかは分かりませんが、下記のようなトラブルシュートもあるようです。よろしければお試しください。(もう試されていたら、すみません)

アドビアプリケーションのフォントのトラブルシューティング | Mac OS X

私も同様のエラーが出て HackGenNerd_v2.1.0.zip 内のフォントをインストールできませんでしたので、ご報告いたします。

状況

v2.0.0

v2.1.0

issue%2312/build

issue%2312/build_by_old-env

環境

  • macOS 10.15.5

特記事項

  • Font Book.app で一旦HackGenの名を関するフォントをアンインストールしてから、インストールしたいフォントファイルをFont Book.app にDrag and Dropしてインストールしました

@blueberrystream
ご報告ありがとうございます!

issue%2312/build (新ビルド環境で post テーブルを修正した版) のものがインストール可となった、ということですね。それならば理論上の解消方法が正しかったということになるので、とても朗報となります。
(本題とは関係ないですが、絵文字で OK/NG 表現するの分かりやすいですね)

@mzch

Font Book.app で一旦HackGenの名を関するフォントをアンインストールしてから、インストールしたいフォントファイルをFont Book.app にDrag and Dropしてインストールしました

とのことですので、同様の作業をしたうえで「すべてインストール可」との報告のあった https://github.com/yuru7/HackGen/tree/issue%2312/build で試していただければ幸いです。

すみません。リポジトリを clone して、フォントをコピーしたら以下も正常にインストールできました。
https://github.com/yuru7/HackGen/tree/issue%2312/build
https://github.com/yuru7/HackGen/tree/issue%2312/build_by_old-env
Web からダイレクトにダウンロードしようとして失敗していたようです…

皆さま
ご報告、並びに検証のご協力ありがとうございました。

当初報告された post テーブルのエラーの修正方法も判明しましたので、そちらを修正したバージョンを v2.1.1 として近くリリースしたいと思います。

v2.1.1 をリリースしましたのでクローズとします。
ご対応、ありがとうございました🙇‍♂️