texjporg / cjk-gs-support

Scripts to ease the use of CJK fonts with Ghostscript
32 stars 10 forks source link

中韓フォントの priority #12

Closed aminophen closed 7 years ago

aminophen commented 8 years ago

日本語の priority は morisawa → … → ipa と決められていますが、中国語と韓国語の priority も決めたいと思っています。いまのものだと Nanum の priority が Adobe の次に早いのですが、Nanum は JFM に比べて幅がせまいので、うまくいかない可能性があり、あまり早くしたくないです。

Nanum を embed すると、font の幅が 90% くらいしかなく、環境によっては文字がずれるかもしれないと思います。幅がせまいというのは PDF を見てください(わかりにくいですが、download していただき、PDF Viewer で drag して文字を選択すると、少しせまいです)。


個人的なメモとして、書いておきます:私の PDF は以下のようにして作りました。(HiraMinProN-W3 の snippet / symlink は最初から setup が完了している状態で、はじめます)

まず、次の二つのファイルを作りました:

kfont.map

uphysmjm-h HYSMyeongJo-Medium-UniKS-UTF16-H
uprml-h HiraMinProN-W3-UniJIS-UTF16-H

kfont.tex

\documentclass[uplatex]{jsarticle}
\usepackage[english]{babel}
\usepackage{pxbabel}
\begin{document}
ああああああ\par
\foreignlanguage{korean}{내가득합니다}\par
あ\par
\foreignlanguage{korean}{니}\par
\end{document}

そして、kfont.ps をつくります:

$ uplatex kfont.tex
$ dvips -u kfont.map kfont.dvi

次に、kfont.dat もつくります:

Name: NanumMyeongjo
Class: Korea
Provides(20): HYSMyeongJo-Medium
Filename: NanumMyeongjo.ttc(0)

Name: Baekmuk-Batang
Class: Korea
Provides(40): HYSMyeongJo-Medium
Filename(20): batang.ttf
Filename(10): Baekmuk-Batang.ttf

そして

$ sudo perl cjk-gs-integrate.pl --link-texmf --force --fontdef=kfont.dat
$ ps2pdf kfont.ps

これを実行すると、HYSMyeongJo-Medium が NanumMyeongjo に置換されて埋め込まれます。こうしてつくったのが kfont-nanum.pdf です。

次に kfont.dat の中で Baekmuk-Batang の priority を 40 から 10 に変えて

$ sudo perl cjk-gs-integrate.pl --link-texmf --force --fontdef=kfont.dat
$ ps2pdf kfont.ps

を実行します。すると、今度は HYSMyeongJo-Medium が Baekmuk-Batang に置換されて埋め込まれます。こうしてつくったのが kfont-baekmuk.pdf です。

norbusan commented 8 years ago

詳しく知ってる人がいない?僕らの周りに韓国人が居ると思います。 たとえば、Jin-Hwan Choさんの連絡先があれば、聞いていいですよね。古いdvipdfmxページに「Shunsaku Hirata」も乗せられています。連絡を取れると思いますか?

aminophen commented 8 years ago

私は韓国語フォントを知っています。しかし、時間がなくて database をまとめられずにいます。

それから、@doraTeX さんに macOS Sierra の resource もお願いしていますが、まだ届いていません。これも、ユーザが symlink を作るのが難しいため、cjk-gs-integrate に入れたいです。

norbusan commented 8 years ago

失礼しました。了解です。待っていまっす。いつもありがとうございます。

aminophen commented 8 years ago

やっぱり #13 で削除したコードを、fallback としてもう一度入れた方が、より Resource が見つかりやすいような気がしますので、もう一回入れようかと考えています。すぐに書きます。

aminophen commented 8 years ago

For your information:

日本の「Morisawa」が Ryumin-Light や GothicBBB-Medium のような代表的な fonts を売っていますが、韓国で同じように HYSMyeongJo-Medium や HYGoThic-Medium を売っている会社は「Hanyang」です。

Hanyang の non-free な otf/ttf ともに私は買っていませんので、今回の database には入っていません。しかし、韓国の「Hanyang」は日本の「Morisawa」ほど familiar ではないため、韓国の TeX user はほとんど Hanyang を買っていないと思います。

aminophen commented 7 years ago

97b0c63 で、「期待どおりに使えないのに Provides で priority number が設定されていたもの」をすべて削除しました。以下、期待どおりに使えるかどうかテストした方法を説明します。


[1] 最初に

sudo kanji-config-updmap-sys --ja noEmbed
sudo kanji-config-updmap-sys --ko noEmbed
sudo kanji-config-updmap-sys --sc noEmbed
sudo kanji-config-updmap-sys --tc noEmbed

を実行しておく。

[2] 次の test.tex を uplatex test.texdvips -noomega test.dvi で処理して test.ps を作る。

% upLaTeX document, UTF-8
\documentclass[a4paper,uplatex]{jsarticle}
\usepackage[english]{babel}
\usepackage[main=japanese]{pxbabel}
\begin{document}
\begin{itemize}
\item {\TeX}言語危険、近づくな!
\item \textgt{{\TeX}言語危険、近づくな!}
\item \foreignlanguage{korean}{{\TeX}언어 위험해, 다가가지 마!}
\item \foreignlanguage{korean}{\textgt{{\TeX}언어 위험해, 다가가지 마!}}
\item \foreignlanguage{schinese}{{\TeX} 语言很危险,别靠近!}
\item \foreignlanguage{schinese}{\textgt{{\TeX} 语言很危险,别靠近!}}
\item \foreignlanguage{tchinese}{{\TeX} 語言很危險,別靠近!}
\item \foreignlanguage{tchinese}{\textgt{{\TeX} 語言很危險,別靠近!}}
\end{itemize}
\end{document}

これで、test.ps には generic name が書かれていることになる。

[3] cjk-gs-integrate のデータベースの中にある中韓フォントの priority number をいろいろ変えて

cjk-gs-integrate --force

を実行することで、alias を張り替えながら ps2pdf test.ps を実行する。出来上がった test.pdf に正しくフォントが埋め込まれていることを確認する。


以上の手順で test.pdf を作成することができないフォントについては、priority number から除外しました。(たとえば STSong.ttf などのフォントは失敗するので、alias に使うべきではない。)

aminophen commented 7 years ago

4f02658 で Simplified Chinese / Traditional Chinese の priority を追加しました。これでデータベースの整理が終わり、ptex-fontmaps 20170114.0 をサポートできたので、いったん CTAN に upload していただけると嬉しいです。>ノルベルトさん、よろしくお願いします。

aminophen commented 7 years ago

Closed via Release 20170220.0