前の日 / 次の日 / 最新

swk's log

2007-08-15 Wed

* 油分の残った洗濯物を乾燥機に放置すると発火の恐れあり [misc]

油が酸化するときに発生する「酸化熱」が蓄積して発火点に達する.特に不 飽和脂肪酸が危険らしい.

とりあえず乾燥機回したまま外出するのはやめようと思った.

(参考)

東京都内のエステ店などで、マッサージオイルをふき取り、洗濯後に乾燥機 で乾かしたタオルが自然発火し、火災となったケースが01年以降、26件 起きていたことが東京消防庁の初めての調査で分かった。

http://www.mainichi-msn.co.jp/shakai/jiken/news/20070814k0000m040156000c.html

* LaTeX から PDF を作る際に Times 系フォントを埋め込む方法まとめ [tech] 12 users

一部の学会に原稿を提出するとき,フォントとしては Times を使い,かつ それを提出する PDF ファイルに埋め込め,などと指示される場合がある (IEEE とか IEEE とか IEEE とか).単に指示されるだけでなく,これを守 らないと原稿を受け取ってもらえなかったり,ひどい仕上りで収録されてし まったりして悲しいことになる.

ところが,Times は売り物であって普通の PC には入っていないため (Windows に入っているのは Times New で別物),単純に例えば Adobe Distiller で「すべてのフォントを埋め込む」などと設定しても埋め込んで はくれないのである (というか存在しないものは埋め込みようがない).

というわけで,LaTeX で原稿を書く場合に限って,Times ファミリのフォン トを埋め込む方法,あるいはそれに準ずる方法を,わかる範囲でちょっとま とめてみる.


「どの段階でフォントが埋め込まれるのか」をよく考えないと頭がこんがら かるのであらかじめ整理しておこう.DVI から PDF を作る場合のフローは 大別すると

  • dvips などで,いったん PostScript (以下 PS) ファイルを作って,その後 Adobe Distillerなどで PDF に変換する
  • dvipdfmx などでいきなり PDF を作る

の二つがあって,前者の場合は,DVI → PS の時点でフォントを埋め込むか, PS → PDF の時点で埋め込むかの二通りの選択があることに注意する.


本物の Times 系フォントを埋め込む (製品を買って来る)

Times ファミリのフォントは例えば Linotype などが販売している.それを買って来て 適当な場所にインストールするというのが正攻法.なのだが,買ったことな いので私はよく分からない.

本物の Times 系フォントを埋め込む (Acrobat Reader 3 付属のものを使う)

実は Linotype の Times フォント (など) は,Acrobat Reader のバージョ ン 3 以前には付属していた.今でも UNIX 用のものは Adobe の ftp サー バに置いてあるので,これを入手すれば本物の Times が手に入ることにな る.ただしこれはライセンス的にはグレーっぽいのでおすすめしない.

おすすめはしないが一応手順を書いておくと:-),まず

をダウンロードしてきて展開する.中に READ.TAR があるのでさらに tar で展開すると fonts というディレクトリがあって,その中にいわゆる基本 14フォント (Times,Helvetica など) が pfa と呼ばれる形式で置いてある.

とりあえず Times ファミリだけでよければ,

  • Times-Roman
  • Times-Italic
  • Times-Bold
  • Times-BoldItalic

の 4 つを取り出しておく.これをどこか適当なフォルダにおいて,そのフォ ルダを Adobe Distiller の [設定]-[フォントの場所] に追加しておく.

以上のようにしておけば,

% dvips -Ppdf hoge.dvi

のようにして普通に作った hoge.ps ファイルを Distiller にかけることで Times が埋め込まれるようになる.-Ppdf オプションで作った PS ファイル には基本14フォントは埋め込まれず,/Times-Roman とか /Times-Italic と かのフォント名だけが書き込まれている.Distiller がこれを見て,必要な フォントを埋め込むことになる.

同様に,dvips とか dvipdfmx とかがこのフォントを使うようにも設定でき ると思うけど,面倒なのでパス.

(参考) http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/23063.html

Times クローンのフォントを埋め込む (dvips 時)

多くの LaTeX のディストリビューションには,Times のクローンフォント が付属して来る.(URW)++ Design & Development の Nimbus Roman No9 L なるフォントファミリらしい.

teTeX 2.x 以降の場合 (UNIX の場合),

% dvips -Pdownload35 hoge.dvi

とすれば hoge.ps にこれらのフォントが埋め込まれる.W32TeX (Windows) の場合は download35 が無いようなのだけど

> dvips -Pdl hoge.dvi

でよいだろうか.

上記の方法がダメな場合 (インストールされている LaTeX ディストリビュー ションのバージョンが古い場合など) は,

のようにするとうまく行くかも知れないらしい.

なお,これらの方法で作成した PDF のフォントのプロパティを Acrobat で 見ると,フォント名はしっかり NimbusRomNo9L とかになっている.なので, IEEE の指示である「Times を使え」に,厳密には従ってないのではないか という一抹の不安が頭をよぎるが,気にしない方が健康によい.(そもそも クローンを使うという選択をした時点でわかり切ったことである)

Times クローンのフォントを埋め込む (dvipdfmx 時)

W32TeX (Windows) の場合,

> dvipdfmx -f dlbase14.map hoge.dvi

で,Nimbus Roman No9 L が埋め込まれた hoge.pdf ができるようだ.UNIX でこれに対応する方法があるのかどうかはよくわからない.

(追記 2007-08-16) UNIX の場合,

% dvipdfmx -f dvipdfm_dl14.map hoge.dvi

でよさそうです.(追記ここまで)

Times クローンのフォントを埋め込む (distiller 時)

さて,このクローンフォントを PS → PDF 時に埋め込むことはできないの だろうか.これができれば,PS ファイルしか手元にない場合も Times を埋 め込んだ PDF を作れるようになるはずだ.

dvips -Ppdf などで普通に作った PS ファイルには,前述のように /Times-Roman とか /Times-Italic とかの名前だけが指定されている.クロー ンフォントは名前が違うので,そのままでは Distiller は埋め込んでくれ ない.

じゃあ,名前変えればいいんじゃね?

というのが自然な発想である.手段は二通りあって

  • PS ファイルの中に現れる Times-Roman 等を Nimbus なんとか等にごっそり置換する
  • フォントファイルの中に現れる Nimbus なんとか等を Times-Roman 等に置換する

前者は難しくないと思うので読者にお任せする.(文章本体に 「/Times-Roman」とかの文字列が出て来る場合のことを考えなくていいのか? という心配はあるけど…)

で,後者だが,最初は単純にファイルの中に出て来るフォント名を機械的に 置き換えればいいのかと思ってやってみたのだが,うまくいかない.もう ちょっと真面目にいじる必要があるようだ.

必要なものは,まず Nimbus Roman No9 L のフォントファイルそのもの. 多くの LaTeX のディストリビューションに

  • utmr8a.pfb (Times Roman 相当)
  • utmri8a.pfb (Times Italic 相当)
  • utmb8a.pfb (Times Bold 相当)
  • utmbi8a.pfb (Times Bold Italic 相当)

という名前で含まれているのでそれを用意する.手元にない場合,例えば CTAN だと

にある.次に,これらのフォントファイルを操作するために t1utils (http://www.lcdf.org/type/) をインストールしておく.FreeBSD の ports だと print/t1utils にある.

これで準備ができたので,上記の pfb ファイルを t1disasm で逆アセンブ ルし,フォント名を置き換えて,t1asm で再びアセンブルし直せばよい.例 えばこんなスクリプトを用意して

% ./fake_times.pl utmb8a.pfb utmbi8a.pfb utmr8a.pfb utmri8a.pfb

と実行すると,fake_times_utmb8a.pfb などの 4 つのファイルが生成され る.これをどこかにおいて Distiller の [設定]-[フォントの場所] に 追加してあげればよい.

このようにして作成した PDF ファイルは,Acrobat でフォントのプロパティ を見ても Nimbus なんとかの名前が出て来なく,本物の Times が埋め込ま れているかのように見えるようになる.

ただし,たぶんこの方法もライセンス的にグレーというか,少なくとも Linotype の商標権は侵害していることになる気がするので,良い子は真似 してはいけない.(← じゃあ書くな)

IEEE PDF eXpress を使う

で,長々と述べておきながらちゃぶ台をひっくり返すのだが,投稿先が対応 しているのであれば,IEEE PDF eXpress を使うのが一番楽かも知れない.

PS ファイルをアップロードすれば,PDF に自動的に変換してくれる (試し たことないけど TeX のソース一式を送ってもよいらしい).フォントのプロ パティを見ると Times-Roman とかになって埋め込まれているので,おそら く IEEE が正規にフォントのライセンスを購入しているのだろう (知らんけ ど).

投稿先の会議とかが対応してくれないと使えないのが難点だが,要するに Conference ID を入れればよいだけなので,その時期に投稿締め切りがあり そうな適当な会議のうわなんだおまえやめr


以上,夏休みの自由研究でした.

[ コメントを全部見る / コメントを書く] [ TrackBack ( )] [固定リンク]

* [かがみ] コメントありがとうございます.えーと,…どなたでしょうか?(笑)○○゛くまさん?... (2008-08-17 04:38:54)

* [くま] 某SICE提携学会であるところのICCASで論文あげようとしたら、Timesがな... (2008-07-26 20:46:49)

<< 2007-08 >>
SuMoTuWeThFrSa
1234
567891011
12131415161718
19202122232425
262728293031

2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12
2002 : 01 02 03 04 05 06 07 08 09 10 11 12
2001 : 01 02 03 04 05 06 07 08 09 10 11 12
2000 : 01 02 03 04 05 06 07 08 09 10 11 12
1999 : 01 02 03 04 05 06 07 08 09 10 11 12
1998 : 01 02 03 04 05 06 07 08 09 10 11 12
1997 : 01 02 03 04 05 06 07 08 09 10 11 12
1996 : 01 02 03 04 05 06 07 08 09 10 11 12

最終更新時間: 2008-04-23 08:31


Shingo W. Kagami - swk(at)kagami.org