数式の数字をモリサワにしたい

数式の数字をモリサワにしたい

- 佐藤 規浩 の投稿
返信数: 7
こんにちは、佐藤と申します。

数式内の「数字」をモリサワの「学参数字イタリック(MOGSuuji)」というフォントで描きたいのですが、これは可能でしょうか。

書籍やインターネットで断片的な情報は得られるのですが、TeXの経験が乏しいため応用ができず、実現できておりません。

ご存知の方がいらっしゃいまいましたらアドバイスをいただけないでしょうか。

宜しくお願い致します。
佐藤 規浩 への返信

Re: 数式の数字をモリサワにしたい

- 本田 知亮 の投稿
MOGSuujiItですよね.
ウェイト関係なく,欧文のotfだと思うので
LCDF typetoolsで処理できませんか?

モリサワのパスポート契約でしょうから
お仕事だと思うので細かくは書きませんが,
otftotfmでtfmとかそのあたりを作って
dviware用のmapを作って
マクロを作ればできるはずですよ.

otftotfmがだめだったら,
フォントエディタでafmを書きだして,
tfmやvfを作ればなんとかなります.
本田 知亮 への返信

Re: 数式の数字をモリサワにしたい

- Yamamoto Munehiro "munepi" の投稿
モリサワパスポートの学参書体を使ったことがないのでアレですが、ざーっと眺めてみたところ、以下のようにするとよいと思いました。

* 学参欧文書体:モリサワパスポートにいくつかあるので、適切に選んで、本文の欧文書体に使う。
* 学参数字正体 MOGSuujiSI:Math の rm に割り当てる。
* 学参数字イタリック MOGSuujiIt:Math の it に割り当てる。

MOGSuujiIt やら MOGSuujiSIを Glyphs で眺めるとカスタム配列になっていたので、128 の OT1 enc でだっだーっと作っちゃうのが良さそうです。otftotfm に投げて部分的にだけでも作業を自動でやってもらうのも一つと思います。

また、学参数字正体、学参数字イタリックともに、ウェイトが6種類 K10, K20, …, K60 ほどあるので、m, bx をはじめ、本文書体の各seriesに合わせて適切に series に割り当てればよいですね。

それから、MOGSuuji.sty みたいなファイルを作って、csname でいくつかの記号を出せるようにしておくと便利ですね。

今日の主夫業の合間に学参数字書体を眺めただけなので、なにかおかしなことを言っていたら、そこらへんは適切に処理いただければと存じます。

添付 スクリーンショット_2015-11-10_12.35.39.png
Yamamoto Munehiro "munepi" への返信

Re: 数式の数字をモリサワにしたい

- 佐藤 規浩 の投稿
本田さん、Yamamotoさん、アドバイスどうもありがとうございました。

なんとなく道筋が見えてきた気が致します。
知らない用語も出てまいりましたしたので、ひとつずつ調べながらトライしてみます。
お返事をするまで日にちが空くかもしれませんがご容赦ください。

どうにもならない時、またあらためて質問させてください。
宜しくお願い致します。
佐藤 規浩 への返信

Re: 数式の数字をモリサワにしたい

- 佐藤 規浩 の投稿
アドバイスいただいてからだいぶ日にちが空いてしまいました。

TeX Wikiを参照しながらtfmを作成してみました。
mapファイルができることを期待しましたが、いくつかワーニングが出て、mapファイルは0バイトとなってしまいます。
以下のコマンドに間違いがありましたらご指摘いただけないでしょうか。
すみませんが宜しくお願い致します。

# pwd
/usr/local/texlive/texmf-local/fonts/opentype/MoGSuji

# otftotfm --no-type1 -e 7t MOGSuuji-K40.otf -n mogsuuji > mogsuuji.map

otftotfm: warning: font x-height and height of 'x' differ by 1%
otftotfm: (The height of 'x' is usually more reliable than the x-height, so I'm
otftotfm: using that. Or try --use-x-height or --no-use-x-height.)
otftotfm: /var/root/Library/texlive/2015/texmf-var/fonts/type1/lcdftools/MOGSuuji/MOGSuuji-K40LCDFJ.pfb: no glyphs in dotless-J font
otftotfm: /var/root/Library/texlive/2015/texmf-var/fonts/type1/lcdftools/MOGSuuji/MOGSuuji-K40LCDFJ.pfb: no glyphs in dotless-J font
otftotfm: /var/root/Library/texlive/2015/texmf-var/fonts/type1/lcdftools/MOGSuuji/MOGSuuji-K40LCDFJ.pfb: no glyphs in dotless-J font
I had to round some heights by units.
0.3750000

# ls -la
-rwxr-xr-x@ 1 root staff 10004 Apr 2 2004 MOGSuuji-K40.otf
-rw-r--r-- 1 root staff 2428 Dec 1 15:27 a_rf77i7.enc
-rw-r--r-- 1 root staff 0 Dec 1 15:57 mogsuuji.map
-rw-r--r-- 1 root staff 748 Dec 1 15:57 mogsuuji.tfm

佐藤 規浩 への返信

Re: 数式の数字をモリサワにしたい

- Akira Kakuto の投稿
> TeX Wikiを参照しながらtfmを作成してみました。
> mapファイルができることを期待しましたが

--no-type1 によって,pfb フォント生成をしなかった
からではないでしょうか?
Akira Kakuto への返信

Re: 数式の数字をモリサワにしたい

- 佐藤 規浩 の投稿
Kakuto様、皆様

ご指摘ありがとうございました。
正しいかどうかわからないのですが、ひとまず以下の手順で数式モード中の数字をモリサワにすることができました(サンプルを添付させていただきます)。
もっとスマートな方法などアドバイスいただけたら幸いです。

tfm作成:
# otftotfm MOGSuuji-K40.otf -n mogsuuji > mogsuuji.map

map編集:
# vim mogsuuji.map
mogsuuji a_xxdaig.enc MOGSuuji-K40.pfb

ファイル配置:それぞれ以下の様に配置してmktexlsrしました。
tfm:/usr/local/texlive/texmf-local/fonts/tfm/local/mogsuuji/mogsuuji.tfm
map:/usr/local/texlive/texmf-local/fonts/map/dvipdfmx/mogsuuji/mogsuuji.map
enc:/usr/local/texlive/texmf-local/fonts/enc/dvips/mogsuuji/a_xxdaig.enc

プリアンブル抜粋:
こちらを参考にさせていただきました。
http://d.hatena.ne.jp/triadsou/20090618/1245290982
---
\DeclareFontShape{OT1}{mogsuuji}{m}{n}{<->mogsuuji}{}
\DeclareMathAlphabet{\mathnumbers}{OT1}{mogsuuji}{m}{n}
\DeclareSymbolFont{mathnumbers}{OT1}{mogsuuji}{m}{n}
\DeclareMathSymbol{0}{\mathnumbers}{mathnumbers}{`0}
...
\DeclareMathSymbol{9}{\mathnumbers}{mathnumbers}{`9}
\DeclareMathSymbol{x}{\mathnumbers}{mathnumbers}{`x}
\DeclareMathSymbol{y}{\mathnumbers}{mathnumbers}{`y}

わからない点:
上記設定で数式モード中の数字をモリサワにできたのですが、数式モード以外の本文中の数字をモリサワにするには、下記2行をTeXに記述しなければなりませんでした。この2行の意味をプリアンブルで指定することは可能でしょうか?
---
\fontencoding{OT1}\fontfamily{mogsuuji}
\fontseries{m}\selectfont
---

宜しくお願い致します。
添付 example.png
佐藤 規浩 への返信

Re: 数式の数字をモリサワにしたい

- 本田 知亮 の投稿
>数式モード以外の本文中の数字をモリサワにするには

欧文フォントを変更する
他のパッケージを参考にするといいと思います.

最近のこの手のパッケージは
いろいろ複雑なので古いものをみるのがお勧めです.
たとえば,times.styとかhelvet.styとか.

旧いtxfonts.sty,pxfonts.styでもわかりますが
tx/pxであってもいろいろ細工があって
慣れてないと分かりにくいかもしれません.
(数式フォントのいじり方は,txfonts/pxfontだと
機能的にすくないので見やすいです).