Closed trueroad closed 4 years ago
AI0 の snippet を作る、削除する部分を作り込みました。
この pull request を書き直してみました。
ありがとうございます。まだ全容はつかめていませんが
SourceHanSansSC-Heavy, SourceHanSansTC-Regular, SourceHanSerifSC-SemiBold の CMap が空なのは何か意図があるのでしょうか?
すみません、単純にミスです。 直しましたのでご確認ください。
(Noto については全部 CMap list が空なので,それはそういうものかと思いましたが。)
SourceHan 用の CMap ファイルは配布されていますが、 Noto CJK 用の CMap ファイルは配布されていないのではないかと思います。 恐らく SourceHan 用の CMap がそのまま使えるような気がしますが(試していません)、 ファイル名もフォント名も違いますので空にしています。
AI0 font のエイリアス機能は,どんな場合の利用を意図しているのでしょうか?
Class: Japan 等にはエイリアス機能があるのに AI0 だけ無いというのもよくないかな、 と思って付けたものです。 SourceHan の中で一部のウェイトが無い場合に他のウェイトで代替するようなことができそうですし、 Noto CJK と SourceHan は互いに代替することも可能と思います。
SourceHan の中で一部のウェイトが無い場合に他のウェイトで代替するようなことができそうですし、 Noto CJK と SourceHan は互いに代替することも可能と思います。
なるほど確かにありえますね。マージしました。ありがとうございます。
マージした後に気づきましたが,SourceHan 用の CMap が kpsewhich で見つからない状態にすると,結構な回数の kpsewhich が走って
cjk-gs-integrate: cidfmap.aliases already loaded in a/Init/cidfmap, no changes
と
cjk-gs-integrate: finished
の間で(私の環境だと)数分止まってしまいますね…。もうちょっと効率化したいです。(ウェイト毎に7回,存在しない同一の CMap を kpsewhich で探すからだろうか?)
結構な回数の kpsewhich が走って
結果をキャッシュしておく方法がよさそうです。 ちょっと考えてみます。別の pull request を立てようと思います。
まだ途中ですが AI0 フォントの snippet 処理を作ってみています。
37 でご指摘させていただいた、
AI0 フォントに対して AJ1 用の CMap で snippet が作られてしまう件の対策が入っています。 さらに、AI0 フォントはフォント毎に CMap を指定できるようにした方がいいだろうと思い、 データベースで指定可能にするところまで実装してみました。
sourcehan の CMap (Adobe が配布しているファイル名)をデータベースに追加しており、
--dump-data
で個別の CMap 名が読み込めていることを確認しています。あとは実際に snippet を生成するところなどが残っています。