Hatena::ブログ(Diary)

I’m just another TeXnician.

2013-12-23

[][] 毎日フォントを楽しめる2014年版日めくりカレンダーを作ってみた

これは「TeX/LaTeX Advent Caleandar 2013」の24日目の記事です。昨日の23日目はhmikisatoさんです。そして、明日の最終日25日目を飾るのはhak7a3さんです。



今年は、某弊社Green Cherry Ltd. http://greencherry.jp/設立できたり、TUG 2013 https://tug.org/tug2013/ を頑張ったりと、うれしいこともたくさんありました。一方で悲しいこともたくさんあって、今年のクリスマスはぼっちなわけです。もちろんクリスマスプレゼントも、誰からももらえるはずもない…。さらにクリスマスプレゼントを贅沢に購入できる予算すらありません。

「これは、自分でクリスマスプレゼントを作成するflagやな!!!」

というわけで、アナログとデジタルの両方を大事にする気持ちを形にしてみました。はい、これを作りました!

D

そう、2014年版日めくりカレンダーです。ただのカレンダーではありません。TeX Live 2013 currentに入っているたくさんのフォントを使い、毎日違うフォントを楽しめるカレンダーです。

この日めくりカレンダーを製作するにいたった動機を説明します。


Typodariumとは

この日めくりカレンダーは、Typodarium http://www.typodarium.de/ のTribute Hommageです。

Typodariumとは、ドイツの出版社Verlag Hermann Schmidt Mainzが出版している、1日1 font=1年365 fontsもの書体を毎日楽しめるというカレンダーのことです。毎年、タイプデザイナーフォントベンダに参加を呼びかけており、フォント製作者にとっては、製作した宣伝の場の一つになるので、毎年世界中から参加申込が殺到している状況です。すでにTypodarium 2015で紹介されるフォントも半分程度埋まっているようです。

去年、自分へのクリスマスプレゼントおよびとある忘年会の交換プレゼントとして、Typodarium 2013を2つほど購入しました。ところが、今年はとある忘年会の交換プレゼントとしてのみ、Typodarium 2014を1つだけ購入しました。

自分用にもTypodarium 2014がほしいけど…、というわけで、自分でTypodariumっぽい日めくりカレンダーを作ることにしました。

f:id:munepi:20131221185732j:image

Typodarium 2013

Typodarium 2013

Typodarium 2014

Typodarium 2014


TeX Live 2013にはたくさんのフォントが収録されている!

自分でTypodariumっぽい日めくりカレンダーを作るにしても、365 fontsが必要です。そんなとき、手元にあるTeX Live 2013には、無数のフォントが収録されていることに気付きました。

ぼくは、某弊社でTeXコンサルティングを業務として営んでいるものの、正直言ってTeX Live 2013に収録されている書体をすべて把握していませんでした*1。psfonts_t1.mapを眺めるときは、自分が追加したフォントが適切に設定されているかを確認するだけで、psfonts_t1.mapを斜め上から斜め下へスクロールしても「(TeX Liveにはフォントが)いっぱいあるんやなー」ぐらいの認識でした。

そこで、Typodariumのような日めくりカレンダーとして、TeX Liveに収録されているフォントを使って、毎日違う書体をパラパラと眺められたら、自分の勉強にもなるし、TeX Liveに収録されているフォントリストを知りたい方にとっても、面白い一例が提供できそうだと思いました。


製作過程

この日めくりカレンダーの製作過程を紹介します。


TeX Liveのパッケージ情報からフォントリストを抽出

TeX Liveのパッケージは、texlive.tlpdbというテキスト形式のデータベースファイルをparseすることで作られています。そのtexlive.tlpdbから主にフォントパッケージ集であるcategory collection-fontsrecommendedおよびcategory collection-fontsextraから機械的に情報を抽出して、フォントリストを作りました。

そのフォントリストを元にして、この日めくりカレンダーのLaTeX文章を作りました。


組版、面付けして印刷

この日めくりカレンダーは、A6判で組版しました。表面には月、日、曜日を出力し、裏面には、TeX Liveとしてのパッケージ名(フォント名)、短い説明文、詳細説明文を出力しました。

その組版したPDFデータをA4に面付けをします。その面付けは、印刷および裁断、のり付けなどの手動過程(笑)の効率を考えまして、以下のようなA4版へ4か月分を配置しました。

そして、面付けされたPDFデータを印刷します。12か月/4 x 31日 x 2両面 x 8円/枚 = 186枚 x 8円/枚 = 1,488円。出力のための手数料が150円ほど必要だったので、1,488 + 150 = 1,638円(税込)でした*2!ちなみに、Typodarium 2014の現時点での価格は、2,112円です……*3

f:id:munepi:20131221162941j:image


裁断

面付けして両面印刷された紙を31枚ずつ裁断します。

f:id:munepi:20131221164801j:image

f:id:munepi:20131221165029j:image


さらに、1か月分ずつ裁断します。

f:id:munepi:20131221165307j:image


背を糊付け、端を裁断

貼ってはがせるのりとティッシュペーパを使い、背をのりで丁寧に綴じます。

f:id:munepi:20131221182427j:image


他の3つの端を裁断して、端を整えます。

f:id:munepi:20131222071048j:image


ついに完成♪

左に完成品、右にTypodarium 2013を並べてみました。

f:id:munepi:20131221183110j:image



試しに2014年1月1日をめくってみました。

この書体が何か分からない人は、「私はTeX/LaTeXを使っています」と言ってはいけません(笑 また、TeX/LaTeXを使っている方でも、1月1日から1月22日までの書体が分からなければ、おそらくにわかなTeX/LaTeX使いです(笑

f:id:munepi:20131221184352j:image


TeX芸人の方で「3があほ」になれる方でしたら、次の書体もなじみ深いことでしょう(笑

f:id:munepi:20131221182723j:image

こんな感じで、日めくりカレンダーをめくって、「この書体は何でしょう?」というクイズ形式に挑戦してみるのも楽しいと思います。


さらにパラパラめくってみる。

記号の書体でアレだということは想像できるけど、さすがにT1との対応表まで覚えていないので、これが何月何日を表しているのか、さっぱり分からないです(笑

f:id:munepi:20131221184552j:image


こちらは象形文字っぽいです……。同じく、これが何月何日を表しているのか、さっぱり分からないです(笑

f:id:munepi:20131221163652j:image


8月12日は、ヨーロッパビールとかお酒が飲みたくなりますね。この日がきたら、お酒が飲みたくなりそうです(笑

f:id:munepi:20131221190838j:image


9月4日は、かっこよすぐる!!!イケメンな感じ!(意味不明

f:id:munepi:20131221182618j:image

f:id:munepi:20131221163538j:image


こちらも9月4日の出力に見られるような装飾先頭書体。でも、何日か分かりません(笑

f:id:munepi:20131221191006j:image


次の3つの書体は、いわゆる手書き書体。個性のある手書き書体で、とても魅力的☆

f:id:munepi:20131221191236j:image

f:id:munepi:20131221191100j:image

f:id:munepi:20131221191627j:image


8月16日は、例えばスライドに使えそうなsan serif体ですね。これは、Computer Modern BrightのType 1フォントです。TeX/LaTeXユーザに身近なComputer Modernでありながら、san serifなmath fontsが使えるという、定番だけどちょっとおしゃれを加えるときによいですね。

f:id:munepi:20131221191810j:image


つぎは、インドネパール方面の書き文字であるDevanagariです。これを見ると、カレーを食べたくなります(笑

f:id:munepi:20131221192213j:image


あなたの手元に、この日めくりカレンダーをお届けします!

この日めくりカレンダーのLaTeX文章をGitHub上に公開しました!

munepi/ddltxtyp14 https://github.com/munepi/ddltxtyp14

手元にTeX Live 2013がschme-fullでインストールされておれば、この日めくりカレンダーのLaTeX文章をtypesetできます*4

裏面の出力例がtexlive.tlpdbからの機械的な抽出情報であり、書体見本例として凝っていないので、ちょっともの足りない気もします。しかしながら、TeX Live 2013に収録されている書体の豊富さを具体的に紙で眺められるというのは、アナログならではの味わいであり、TeX/LaTeXの楽しみ方の一つだと思います。

TeX/LaTeX好きなあなたの手元にも、この日めくりカレンダーを置いてみませんか?


リンク集

* Typodarium http://www.typodarium.de/‎

* TeX Live http://www.tug.org/texlive/

* The Comprehensive LaTeX Symbol List

http://mirrors.ctan.org/tex-archive/info/symbols/comprehensive/symbols-a4.pdf

*1:実際に、TeX Liveに収録されているフォント数は膨大なので、それらをすべて把握するのは無茶な話です、はい。

*2:12/24早朝に気付いたことですが、A3モノクロ印刷が8円/枚でできるので、さらに面付けを工夫することで、(62+31)x8=752円/部で出力できますね。これならば、カラーページの印刷も入れられそう!

*3:ここ、ツッコミどころです、はい

*4:えっ、「できあがったPDF、くれ!」って?→検討します(笑

2013-03-23

[][][][] LaTeXを使ったPDFファイルの面付け

先月、Project Vineとして、デブサミ2013オープンソースカンファレンス2013 Tokyo/Spring へ参加していました。そのとき、展示ブースでは、Vine Linux開発者ガイドの小冊子版を配布しました*1

f:id:munepi:20130323224101j:image

おかげさまで「Vine Linux開発者ガイド」の小冊子は、大変好評でした。ということで、みなさま、ぜひVine Linuxの開発者になってください(笑

なお、小冊子版「Vine Linux開発者ガイド」のPDFファイルをこちらに置いています:

小冊子版「Vine Linux開発者ガイド」 (on trac.vinelinux.org)


さて、「Vine Linux開発者ガイド」のA5版小冊子を作るときに、LaTeXを使ったPDFファイルの面付けをしました。今回は、その面付け方法を紹介します。

面付け

その前に、面付けについて簡単な説明をします。

面付けとは、印刷・断裁・製本加工などの都合を踏まえて、印刷する版に対して複数頁を配置していくことをいいます。書籍や雑誌、辞書、論文誌などの様々な印刷物に応じて、面付けする方法もいくつかあります。

例えば、全16頁のPDFファイルを中綴じ小冊子にするためには、以下のように二面付けします。

f:id:munepi:20130322132816p:image

実際に印刷するときは、 ↓◆↓、い里修譴召譴良宗⇔△鯲礁粍刷します。その後、 ↓◆↓、い鮟鼎郵腓錣擦董▲曠船スで中綴じすれば、小冊子が完成します。

ゴリ押し(笑

こんときに、店頭で書いた \domentuke が以下の通りです*2

%#!pdflatex 
\documentclass[landscape,a4paper]{article}
\usepackage{graphicx}
\pagestyle{empty}
\begin{document}

\makeatletter
\newcommand\domentuke[2]{%
  \@tempcnta\@ne\relax
  \@tempcntb #1\relax
  \@whilenum \@tempcnta<\@tempcntb \do{%
    \vbox to \textheight{\vss
      \hbox to \textwidth{\hss
	\includegraphics[page=\the\@tempcntb]{#2}%
	\includegraphics[page=\the\@tempcnta]{#2}%
      \hss}%
    \vss}
    \clearpage
    \advance\@tempcnta\@ne\relax
    \advance\@tempcntb-\@ne\relax
    \vbox to \textheight{\vss
      \hbox to \textwidth{\hss
	% \includegraphics[page=\the\@tempcnta]{#2}%
	% \includegraphics[page=\the\@tempcntb]{#2}%
	\rotatebox{180}{\includegraphics[page=\the\@tempcntb]{#2}}%
	\rotatebox{180}{\includegraphics[page=\the\@tempcnta]{#2}}%
      \hss}%
    \vss}
    \clearpage
    \advance\@tempcnta\@ne\relax
    \advance\@tempcntb-\@ne\relax
  }%
}
\makeatother

\domentuke{48}{devsumi13-vldevbk.pdf}

\end{document}

pdfpages パッケージの小冊子作成オプション booklet

後々、pdfpagesパッケージのドキュメントを思い出してみたら、bookletオプションがあるではないか(笑

ということで、以下でも小冊子作成がおkになります!

%#!pdflatex 
\documentclass[a4paper]{article}
\usepackage{pdfpages}
\begin{document}
\includepdf[pages=-,booklet,landscape]{devsumi13-vldevbk.pdf}
\end{document}

*1:この小冊子作成の裏話を暴露すると……、デブサミ2013で配るものがなかったので、当日明朝に3, 4時間かけて、急遽DocBookからLaTeXへ変換して、とりあえず読める程度の組みました(ひどい

*2:\domentuke 内には、\expandafter が一度も出ていません……。\expandafter ファンのみなさま、すみません。

2013-01-21

[][] VineSeedのself-build系パッケージを更新しました

[追記 2013-03-17]いくつかのパッケージのバージョンを現状に反映。

[追記 2013-02-06]いくつかのパッケージのバージョンを現状に反映。

[追記 2013-02-04]upstream のバージョンと 6.2 更新予定のバージョンをそれぞれ加筆しました。

VineSeed の self-build 系マルチメディア関連パッケージをいくつか更新しました [VineSeed:026035] update: self-build-{x264, ffmpeg, gpac, vlc,libquicktime, mplayer, vlc} (vl7)

Vine Linux 6.2 リリース時期を目処に、Vine Linux 6.x の self-build 系マルチメディア関連パッケージたちも更新したいと考えています。現時点でのself-build 系マルチメディア関連パッケージにおける VineSeedVine Linux 6.x との比較を以下の表にまとめてみました。

self-build-XXXX VineSeed Vine Linux 6.1 -> 6.2 更新予定
a52dec 0.7.4 0.7.4-6vl7 0.7.4-6vl6-
avidemux 2.6.1 2.5.5-1vl7 2.5.2-5vl6-
faac 1.28 1.28-8vl7 1.28-8vl6-
faad2 2.7 2.7-4vl7 2.7-4vl6-
ffmpeg 1.2 1.1.3-1vl7 0.6.6-1vl6-> 1.1.1
ffmpeg2theora 0.29 0.29-1l7 0.27-1vl6-> 0.29
gpac 0.5.0 0.5.0-1vl7 0.4.5-11vl6-> 0.5.0
gstreamer-plugins-bad 0.10.22-1vl7 0.10.21-2vl6-
gstreamer-plugins-ffmpeg 0.10.13-1vl7 0.10.11-3vl6-> 0.10.13
gstreamer-plugins-ugly 0.10.19-1vl7 0.10.17-1vl6-
gstreamer1-plugins-bad 1.0.5 1.0.5-1vl7 xx
gstreamer1-plugins-ugly 1.0.5 1.0.5-1vl7 xx
k9copy 2.3.8 2.3.8-1vl7 2.3.7-1vl6
lame 3.99.5 3.99.5-1vl7 3.98.4-1vl6-> 3.99.5
libdca 0.0.5 0.0.5-4vl7 0.0.5-4vl6-
libdvbpsi 1.0.0 0.2.2-1vl7 0.1.7-1vl6-> 0.2.2
libmad 0.15.2b 0.15.1b-7vl7 0.15.1b-7vl6-
libmp4v2 2.0.0 1.9.1-4vl7 1.9.1-4vl6-
libmpeg2 0.5.1 0.5.1-5vl7 0.5.1-4vl6-
libquicktime 1.2.4 1.2.4-2vl7 1.2.2-2vl6-> 1.2.4
mjpegtools 2.0.0 2.0.0-2vl7 1.9.0-1vl6-> 2.0.0
mplayer 1.1 1.1-2vl7 1.0-45.rc4vl6-> 1.1
mplayer-codecs 20071007-6vl7 20071007-6vl6-
vlc 2.0.5 2.0.5-2vl7 1.1.13-2vl6-> 2.0.5
x264 - 0.129-1.20130118vl7 0.0.0-15.20110322vl6-> 0.129
xbmc 12.0 11.0-5vl7 11.0-5vl6-
xvidcore 1.3.2 1.3.2-1vl7 1.3.2-1vl6-

self-build 系を大幅に更新する場合は、リポジトリの取り込むまでのテスト作業に膨大な時間を要する。更新作業とテスト作業を少しずつやるよりほかないやろうな。

self-build 系の更新作業をお手伝いしてくださる方がいたら、ぜひぜひ!