Windowsでblockdaigに日本語を使うと、上部が少し欠ける
現象
フォントの問題なのか、Windowsでblockdiagで日本語を使うと、上部が少し欠ける。
試したフォントは、メイリオ、MS明朝、MSゴシック
試したの図は、日本語の利用で書かれている以下。
blockdiag admin { // Set M17N text using label property. A [label = "起"]; B [label = "承"]; C [label = "転"]; D [label = "結"]; A -> B -> C -> D; // Use M17N text directly (need to quote). 春 -> 夏 -> 秋 -> 冬; // Use M17N text including symbol characters (need to quote). "春は 曙" -> "夏 = 夜" -> "秋.夕暮れ" -> "冬 & つとめて"; }
メイリオ
[C:\workspace\blockdiag_Sandbox\blockdiag]blockdiag -f c:\Windows\Fonts\meiryo.ttc Japanese.diag Japanese.diag -o Japanese_meiryo.png
MS明朝
[C:\workspace\blockdiag_Sandbox\blockdiag]blockdiag -f c:\Windows\Fonts\msmincho.ttc Japanese.diag Japanese.diag -o Japanese_msmincho.png
対処1
IPAのフォントをダウンロードして使う
1. IPAのフォントをダウンロード
http://www.forest.impress.co.jp/lib/offc/print/font/ipafont.html
IPAフォント 4書体パック
2.解凍
3.以下に解答したフォントをコピー
C:\windows\fonts
実行結果
- IPAゴシック
[C:\workspace\blockdiag_Sandbox\blockdiag]blockdiag -f c:\Windows\Fonts\ipag.ttf Japanese.diag Japanese.diag -o Japanese_ipag.png
- IPA Pゴシック
[C:\workspace\blockdiag_Sandbox\blockdiag]blockdiag -f c:\Windows\Fonts\ipagp.ttf Japanese.diag Japanese.diag -o Japanese_ipagp.png
- IPA 明朝
[C:\workspace\blockdiag_Sandbox\blockdiag]blockdiag -f c:\Windows\Fonts\ipam.ttf Japanese.diag Japanese.diag -o Japanese_ipam.png
- IPA P明朝
[C:\workspace\blockdiag_Sandbox\blockdiag]blockdiag -f c:\Windows\Fonts\ipamp.ttf Japanese.diag Japanese.diag -o Japanese_ipamp.png
対処2
SVGで出力すれば、メイリオ、MSゴシック、MS明朝でも欠けずに出力される。
[C:\workspace\blockdiag_Sandbox\blockdiag]blockdiag -f c:\Windows\Fonts\meiryo.ttc -Tsvg Japanese.diag Japanese.diag -o Japanese_meiryo.sgv
IPAフォントでも画数の多い漢字は読みにく、SVGなら拡大してもきれいないので、SVGの方がいいのかもと思ったのだが、
SVGはSVGでハマる要素があるようだ。
(10日目/番外編) SVG とフォントについて愚痴る。
とりあえずは、IPAフォントをpngで試してみよう。
原因
blockdiagじゃなくて、blockdiagが使ってるライブラリのバグか。
このパッチを適用するには、自前でビルドしないとダメっぽいな。