日本語フォントのマージ手順

提供: KiCad.jp Wiki
2013年8月17日 (土) 00:47時点におけるZenyouji (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

日本語フォントのマージ手順

2013.08.16 善養寺薫 (KaoruZenyouji) kaoruzen@gmail.com


はじめに

KiCadの回路図エディタやボードエディタ上で、日本語文字列を扱えるようにする手順です。

Kicad japaneseinput.png


当初は時間をかけてマルチバイト対応修正することを覚悟していました。 しかし実際には文字列は内部でUnicodeとして扱われており、結果として日本語に対応するフォントデータを既存のフォントファイルへ追加するだけで日本語文字列が扱えるようになりました。

本手順では、フリーのストロークフォント(直線データで表されたフォントデータ)である[KST32B]を、 既存のフォントデータにマージすることで日本語対応を行います。


本手順について

フォントデータは、ソースコード中でハードコーディングされているため、フォントデータの改変にはソースコードのビルドが必要になります。 幸い、Windows環境では[KiCad Windows Builder]が準備されており、楽しい煩わしいビルド環境整備を自動で行うことができます。

本手順では、

1. KiCad Windows Builderによる通常手順でのビルド
先ず「正常ビルド可能なソース/環境であるか」のチェックを行います
2. フォントデータのマージ
一度ビルドに成功したソース中のフォントデータを編集します
3. 編集後のソースで再度ビルド
本手順にて最終的なバイナリファイルを生成します

の3段階で進めることとします。

あまり美しい手順ではないのですが、"簡単に実行できる"ことに主眼を置きました。

詳しい方がいらっしゃいましたら、本ページの手順を修正頂きたく思います。



準備

下記のものが必要となります。 予め準備/ダウンロードしてください。

  • a. Windows PC
  WindowsOS上で行います。KiCad Windows Builderと、フォントマージ用ツールがWindows用なので。
  キーとなる日本語ストロークフォントデータです。


KiCadのビルド

KiCad Windows Builderの配置

KiCad Windows Builderを解凍し、スペースや日本語フォルダ名を含まないパスへ配置します。

私は、C:ドライブ下に「dev」というフォルダを作り、その中にKiCad Windows Builderを解凍して得られる「kicad-winbuilder2.1」フォルダを配置しました。以降の説明では、このフォルダ構成であるとしますので、適時読み替えて下さい。

Builder1.png

setenv.batの編集

本項は(多分)任意です。

KiCad Windows Builderに含まれる、「setenv.bat」を右クリックし、「編集」を選択します。

(またはエディタでsetenv.batを開きます)

Builder2.png


47行目付近、自分の名前とメールアドレスへ書き換えます。

Builder3.png


KiCadソースの取得とビルド

コマンドプロンプトを開き、下記図赤線部のように入力します:

Builder4.png

「make」コマンド発行のち、自動的に必要ライブラリや最新版のKiCadソースコードを取得しビルド作業を開始します。

環境にも依りますが、2時間程かかることもあるようです。


フォントデータのマージ作業

必要ファイルの準備

[フォントマージ用ツール]を解凍し、 プログラム「CSF1toKiCADFontSrc.exe」と同じディレクトリに、

  • KST32B.TXT   ([KST32Bフォントデータ]を解凍し取得)
  • newstroke_font.cpp  (C:\dev\kicad-winbuilder-2.1\src\kicad\common\よりコピー)

をコピーします。

下記図のような状態にしてください:

Merger.png


フォントデータの作成

「CSF1toKiCADFontSrc.exe」を起動し、下記図のように、先ほどコピーした「newstroke_font.cpp」と出力ファイル名を指定します。

Merger2.png

指定後、「Merge」ボタンをクリックします。 処理は一瞬で終了します。

ソフトウエア上で指定した出力ファイルが、生成されていることを確認して下さい(1.4MB程のデータが生成されます)。

マージ後のフォントデータ書き戻し

先ほどコピーした「newstroke_font.cpp」をメモ帳などテキストエディタで開きます。

フォントデータは、

const char* const newstroke_font[] =
{

から、

}

で囲まれています。(31行目~11350行目)

この{~}の内容を、先ほど出力したフォントデータに置き換えます。 {~}の中身をすべて消し(カッコ記号は残します)、出力したフォントデータの中身をコピー&ペーストします。

Merger3.png


「newstroke_font.cpp」の修正完了後、上書き保存し、「C:\dev\kicad-winbuilder-2.1\src\kicad\common\」内へ上書きします。

KiCadの再ビルド

変更後のバイナリのインストールとテスト

Appendix. フォントフォーマットについて