日本語フォントのマージ手順
日本語フォントのマージ手順
2013.08.16 善養寺薫 (KaoruZenyouji) kaoruzen@gmail.com
はじめに
KiCadの回路図エディタやボードエディタ上で、日本語文字列を扱えるようにする手順です。
当初は時間をかけてマルチバイト対応修正することを覚悟していました。
しかし実際には文字列は内部でUnicodeとして扱われており、結果として日本語に対応するフォントデータを既存のフォントファイルへ追加するだけで日本語文字列が扱えるようになりました。
本手順では、フリーのストロークフォント(直線データで表されたフォントデータ)である[KST32B]を、 既存のフォントデータにマージすることで日本語対応を行います。
本手順について
フォントデータは、ソースコード中でハードコーディングされているため、フォントデータの改変にはソースコードのビルドが必要になります。
幸い、Windows環境では[KiCad Windows Builder]が準備されており、楽しい煩わしいビルド環境整備を自動で行うことができます。
本手順では、
- 1. KiCad Windows Builderによる通常手順でのビルド
- 先ず「正常ビルド可能なソース/環境であるか」のチェックを行います
- 2. フォントデータのマージ
- 一度ビルドに成功したソース中のフォントデータを編集します
- 3. 編集後のソースで再度ビルド
- 本手順にて最終的なバイナリファイルを生成します
の3段階で進めることとします。
あまり美しい手順ではないのですが、"簡単に実行できる"ことに主眼を置きました。
詳しい方がいらっしゃいましたら、本ページの手順を修正頂きたく思います。
準備
下記のものが必要となります。 予め準備/ダウンロードしてください。
- a. Windows PC
- WindowsOS上で行います。KiCad Windows Builderと、フォントマージ用ツールがWindows用なので。
- b. [KiCad Windows Builder]
- c. [KiCad.jp発行の日本語版KiCadセット]
- d. [KST32Bフォントデータ]
- キーとなる日本語ストロークフォントデータです。
- e. フォントマージ用ツール]
KiCadのビルド
KiCad Windows Builderの配置
KiCad Windows Builderを解凍し、スペースや日本語フォルダ名を含まないパスへ配置します。
私は、C:ドライブ下に「dev」というフォルダを作り、その中にKiCad Windows Builderを解凍して得られる「kicad-winbuilder2.1」フォルダを配置しました。以降の説明では、このフォルダ構成であるとしますので、適時読み替えて下さい。
setenv.batの編集
本項は(多分)任意です。
KiCad Windows Builderに含まれる、「setenv.bat」を右クリックし、「編集」を選択します。
(またはエディタでsetenv.batを開きます)
47行目付近、自分の名前とメールアドレスへ書き換えます。
KiCadソースの取得とビルド
コマンドプロンプトを開き、下記図赤線部のように入力します:
「make」コマンド発行のち、自動的に必要ライブラリや最新版のKiCadソースコードを取得しビルド作業を開始します。
環境にも依りますが、2時間程かかることもあるようです。
フォントデータのマージ作業
必要ファイルの準備
[フォントマージ用ツール]を解凍し、 プログラム「CSF1toKiCADFontSrc.exe」と同じディレクトリに、
- KST32B.TXT ([KST32Bフォントデータ]を解凍し取得)
- newstroke_font.cpp (C:\dev\kicad-winbuilder-2.1\src\kicad\common\よりコピー)
をコピーします。
下記図のような状態にしてください:
フォントデータの作成
「CSF1toKiCADFontSrc.exe」を起動し、下記図のように、先ほどコピーした「newstroke_font.cpp」と出力ファイル名を指定します。
指定後、「Merge」ボタンをクリックします。 処理は一瞬で終了します。
ソフトウエア上で指定した出力ファイルが、生成されていることを確認して下さい(1.4MB程のデータが生成されます)。
マージ後のフォントデータ書き戻し
先ほどコピーした「newstroke_font.cpp」をメモ帳などテキストエディタで開きます。
フォントデータは、
const char* const newstroke_font[] = {
から、
}
で囲まれています。(31行目~11350行目)
この{~}の内容を、先ほど出力したフォントデータに置き換えます。 {~}の中身をすべて消し(カッコ記号は残します)、出力したフォントデータの中身をコピー&ペーストします。
「newstroke_font.cpp」の修正完了後、上書き保存し、「C:\dev\kicad-winbuilder-2.1\src\kicad\common\」内へ上書きします。