Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

CentOS 7 で日本語対応の mscgen をビルドしてシーケンス図を書く

More than 5 years have passed since last update.

Mscgen: A Message Sequence Chart Renderer

ダウンロードしてビルドしてインストール。

wget http://www.mcternan.me.uk/mscgen/software/mscgen-src-0.20.tar.gz
tar zxf mscgen-src-0.20.tar.gz
cd mscgen-0.20
./configure --prefix=$HOME --with-freetype
make
make install

日本語フォントを検索。

$ sudo yum search japanese font

(snip)

ipa-gothic-fonts.noarch : Japanese Gothic-typeface OpenType font by IPA
ipa-mincho-fonts.noarch : Japanese Mincho-typeface OpenType font by IPA
ipa-pgothic-fonts.noarch : Japanese Proportional Gothic-typeface OpenType font by IPA
ipa-pmincho-fonts.noarch : Japanese Proportional Mincho-typeface OpenType font by IPA
vlgothic-fonts.noarch : Japanese TrueType font
vlgothic-p-fonts.noarch : Proportional Japanese TrueType font

(snip)

日本語フォントをインストール。

$ sudo yum install vlgothic-fonts
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile

(snip)

Installed:
  vlgothic-fonts.noarch 0:20130607-2.el7

Complete!

インストールされたフォントを確認。

$ fc-list vlgothic
/usr/share/fonts/vlgothic/VL-Gothic-Regular.ttf: VL Gothic,VL ゴシック:style=regular

シーケンス図の dot を作成。

msc.txt

msc {
    arcgradient = 5, width = 500;

    ore [label="俺"],
    are [label="あれ"],
    sore [label="それ"];

    ore => are  [label="ほげ"];
    are => sore [label="ふが"];
    ore <= sore [label="はげ"];
    ore =x sore [label="なんだと"];
}

mscgen コマンドでシーケンス図を PNG で出力。

mscgen -F "VL Gothic" -T png -i msc.txt -o msc.png

作成された画像を開く。

open msc.png

msc.png

ngyuki
テック系男子。 ただのやってみた系の記事ははてなブログに、それ以外の技術系のネタは Qiita に投稿します。
https://ngyuki.jp/
headjapan
中規模~大規模の安定した基幹システム・大規模サイトの分析・要件定義・設計・開発を得意とする、総合的な開発会社です。
http://www.headjapan.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away