2013年11月11日月曜日

10 - 国土数値情報で東京を表示 3 - LABELの日本語表示

10-4 LABELの日本語表示
地図に市区町村名を表示します。

地図に市区町村名(ラベル)を表示するには、マップファイルに次のように追加します。

---
 LAYER
  NAME gyoseikai
  TYPE POLYGON
  STATUS ON
  DATA "tokyo/N03-071001_13.shp"
  LABELITEM "N03_004" #追加
  CLASS
   NAME "City Boundaries"
   STYLE
    OUTLINECOLOR 153 153 153
   END
   LABEL #追加
    MINFEATURESIZE 40 #
   END #
  END
 END
---

このままでは日本語が表示できません。
日本語を表示できるように次のようにします。
次の内容のfonts.txtというファイルを作成します。
マップファイルと同じフォルダに保存します。

kochi-gothic /usr/share/fonts/truetype/kochi/kochi-gothic.ttf
sazanami-gothic /usr/share/fonts/truetype/sazanami/sazanami-gothic.ttf
vl-gothic /usr/share/fonts/truetype/vlgothic/VL-Gothic-Regular.ttf
vl-pgothic /usr/share/fonts/truetype/vlgothic/VL-PGothic-Regular.ttf
(それぞれパッケージ名は、ttf-kochi-gothic、ttfsazanami-gothic、fonts-vlgothic です。)

どれか1行でOKです。
フォント名 フォントがある場所の絶対パス という内容になっています。
フォント名は任意のわかりやすい名前をつけてください。
パスはSynapticパッケージマネージャで、例えば gothic で検索するとパッケージ一覧が表示されます。
インストールされているパッケージを選択し、プロパティをクリックしてインストール済みファイルタブをクリックすると、パスが表示されます。

マップファイル全体は次のようになります。

MAP
 NAME tokyo_shp_map
 STATUS ON
 SIZE 600 300
 EXTENT 138.85 35.4 140 35.975
 UNITS DD
 SHAPEPATH "../mapdata"
 IMAGECOLOR 255 255 255
 FONTSET "fonts.txt"

 WEB
  IMAGEPATH "/home/user/mapsite/ms_tmp/"
  IMAGEURL "/mapsite/ms_tmp/"
 END

 LAYER
  NAME gyoseikai
  TYPE POLYGON
  STATUS ON
  DATA "tokyo/N03-071001_13.shp"
  LABELITEM "N03_004" #追加
  CLASS
   NAME "City Boundaries"
   STYLE
    OUTLINECOLOR 153 153 153
   END
   LABEL #追加
    MINFEATURESIZE 40 #
       TYPE TRUETYPE #フォントのタイプ
    FONT kochi-gothic #fonts.txtで指定したフォント名
    ENCODING SJIS #マップデータのエンコード
    SIZE 8 #フォントサイズ
   END #
  END
 END
END #MAP END


0 件のコメント: