去年暮れから今年始めにかけて
こことかで書いた話の後日談。
問題の文字化けは何とか解消できたんだが、その先で「数式のフォントが太すぎるんだけど、細くできない?」と見た目・デザイン重視の娘のご宣託。そんなこと言っても数式エディタで使える数式フォントは多くの物理・数式記号の集合でかなりマイナーなフォントで選択肢は一択。Cambria Mathの標準かボールドしか選べない。(本心では、数式用フォントは多くの数学者・物理学者が選択しているフォントだから、太いほうが記号などを認識しやすくていいはず、と思ってもいるんだが)そんなことを言っても「やっぱり Mathtypeで入力し直して!」と娘は無理な注文をしてくる。そんなことを言われても数百もの数式、しかもギリシャ文字の「γ」とアスキーの「r」など一見同じに見えてしまう数式を逐一間違えずに打ち直したり、はたまたフォント自作なんてスーパー親父だって絶対に無理。
あれこれ考えたが、自分の出来る範囲ではPDFを一旦 PNGなどの画像ファイルに変換しておいて、画像処理で細くすることくらいしか思いつかない。幸いにして文字はモノクロ画像で数式記号の太く見える部分は水平方向ではなくてほぼ垂直方向(斜めも含めて)なので、白い部分を別レイヤーに抜き出して横方向に ±1〜2Pix ずつ、縦にはその半分くらいずらして重ね合わせれば細く見えるはず! と思いついた(右の画像はサンプルで縦横1:2の割合でずらしたもの)。早速 覚えたての Pythonの画像処理ライブラリの OpenCVでエッチラオッチラ処理を書いて実行してみた。
結果は自分で見る限り大正解で、フォントが細く見える。サンプルを娘に渡して判断してもらいつつ、残りの数式分を同じように処理して納期期限の 1月下旬に渡しておいた(Pythonの自動処理なので 何百ページでもほぼ 1時間ほどで処理は終了)。娘もどうやらこれで満足してくれたようで、その画像を使って出稿が終わったらしい。
と言う事で何とか親父の面目躍如が出来てメデタシメデタシ。