GMT-5で日本語の使用

Table of Contents

GMT-5で日本語表示ができるようにします.こちらの情報を参考にさせて頂きました.WSL(Ubuntu) on Windows 10のGMT-5.2.1(後にGMT-5.4.2でも確認)またはWSLでWindows版GMT-5.4.2の使用を前提としています.WSLのbashでWindows版を動かすことはできますが,エラーがあってもメッセージが表示されないので,最初にLinux版でできるようにします.GhostviewやGhostscriptについては最新版がインストールされていますが,設定の変更は不要でした.

日本語フォントの設定

こちらの記事で日本語フォントの設定等を行っています.どの部分が実際に必要か確認できていないので,すべて対応しておくのがよいと思います.これを済ませておかないとうまくいきません.

Linux版

GMT-5.2.1をaptでインストールしましたが,以下のようにPSL_custom_fonts.txtが存在していました.結論としては設定変更は不要のようです.
[cc]
/usr/share/gmt/postscriptlight/PSL_custom_fonts.txt
[/cc]
この中身が以下のようになっていまして,既に日本語フォントが使用できるようになっていました.もしこのファイルが存在しなければ,このように作っておけばよいのではないかと思います.ちなみに,上から順に,りゅうみん体の横書き,縦書き,ゴシック体の横書き縦書きです.
[cc]
#Fontname Fontheight Encoded
Ryumin-Light-EUC-H 0.700 1
Ryumin-Light-EUC-V 0.700 1
GothicBBB-Medium-EUC-H 0.700 1
GothicBBB-Medium-EUC-V 0.700 1
[/cc]

Windows版

GMT-5.4.2のWindows版が"C:\programs\gmt5"にインストールされている場合,PSL_custom_fonts.txtは
[cc]
C:\programs\gmt5\share\postscriptlight\PSL_custom_fonts.txt
[/cc]
に存在していました.この中身はLinux版と同じで,既に日本語フォントが使用できる状態になっていました.

使い方

以下のような「経度,緯度,マスク,地点名」を行に含むファイルstn.blを用意します.マスクとは,Tなら処理対象,F(あるいはT以外)なら処理対象から外す,ことを目的に導入したものです.なお,このファイルのエンコードはEUCでなければなりません.秀丸エディタでエンコードの変更が可能です.
[cc]
139.9325,35.69722222,T,東西線鉄橋
139.8872222,35.66555556,T,浦安橋
140.1155556,35.46722222,T,浅井橋
[/cc]
このstn.blを読み込んでpstextで日本語を書き出すスクリプトの一部(前後の処理が存在するとして)は以下のようになります.
[cc]
rxy=139:30:00/140:10:00/35:10:00/35:45:00 # Whole Tokyo Bay
proj=M10c # x-y map projection, M10c means Melcator with 10cm width
# awkでstn.blを読み込み,文字列と必要なカラム情報をパイプでpstextに送る
awk 'BEGIN{FS=","} ($3 ~ /T/) {print $1, $2, "BC", 0, $4}' "./stn.bl" | \
$gmt pstext -R$rxy -J$proj -F+f6p,GothicBBB-Medium-EUC-H,black+j+a -K -O >>$ps
[/cc]
ここで,$1はstn.blの1カラム目(経度)を,$2は緯度,$3はマスク,$4は地点名の文字を意味し,$3がTのときのみ処理をするようになっています.$gmtはLinuxの場合はgmt,Windowsの場合はgmt.exeとなるように設定したものです.
GothicBBB-Medium-EUC-Hはフォント名です.+jはJustificationで"BC"によりフォントの出力位置を制御し,+aはangleでフォントの傾きを制御します(この例では0).+j+aと記述すれば,justification,angleの順に読み込む必要があります.$psは出力postscriptファイル名です.
script作成中はcurrent directoryのgmt.historyとgmt.confを消去し,過去の設定を無効にしておくことをお勧めします.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください