KiCad 5.1.12_1 Windows版 日本語フォントマージビルド
2021年11月07日 新規投稿
2019年5月以来 久しぶりにビルドしてみました。 実は kicad-winbuilder が GitLab に移動したことをずっと知らなくて日本語フォントマージビルドを諦めておりました。
たまたま Github の winbuilder を見てみたら moved to https://gitlab.com と書いてあるではないか! 今まで Read-only の部分しか目に入ってませんでした。
気づいたのは今年の5月ごろだったが、やっと手をかけた次第です。
KiCad 6 の情報も出てきて日本語も問題なく入力できるみたいなので今回が最後になるかもです。
おなじみでしょうが、すべて自己責任で! 間違い・質問・ご要望は お問い合わせ まで。
総評
久しぶりで手順を忘れてました。 MSYS2の環境構築でド派手に止まって難儀しましたがディレクトリ丸ごと入れ替えて乗り切りました。
KiCad のコンソールで使用している Python がバージョン2のままで wxPython の最新版が対応しないためビルドオプションの WXPYTHON を OFF にしないと完了しませんでした。
欠落している必要そうなファイルも補完しました使用しているかは不明です。
インストールして使用してみたら、 5.1.4 の不具合もかなり改善してて良い感じで使えてます。
参考サイト
日本語フォントのマージ手順
http://wiki.kicad.jp/ おなじみですがこのサイトの日本語フォントのマージ手順とツールなければ出来ませんでした。(というかやってみようとは思わなかった)
謝辞
今回も先人に感謝。参考サイト以外にも各サイトにお世話になってます。 うちの情報も役に立ってくれれば、うれしいです。
作業環境
Windows 10 64bit 毎度ながらDドライブにて作業してます。
D:kicad-winbuilder で作業してますので読み替えてくださいませ。
作業開始
Cmakeのインストール
普通にセットアップできるので問題はないかと思います。
PATH 設定して起動できるようにすればOKです。
ソースの取得
https://github.com/KiCad/kicad-winbuilder にあります。
git Clone してください。
事前準備
msys2-base-x86_64-20201109.tar.xz をダウンロードしてきます。
解凍したら msys64 の msys2_shell.cmd を起動して。
pacman -S mingw-w64-i686-oce pacman -S mingw-w64-x86_64-oce pacman -S mingw-w64-i686-python2-setuptools pacman -S mingw-w64-x86_64-python2-setuptools
を実行します。 完了したら
msys64\mingw32\bin
から
libFWOSPlugin.dll libPTKernel.dll easy_install-2.7.exe easy_install-2.7.exe.manifest easy_install-2.7-script.py
次に
msys64\mingw64\bin
から
libFWOSPlugin.dll libPTKernel.dll easy_install-2.7.exe easy_install-2.7-script.py
をそれぞれコピーしてファイル名の -2.7 は消しておきます。
easy_install.exe easy_install.exe.manifest easy_install-script.py
easy_install 関係はビルド中に作成されますがリネームするタイミングが無いため準備しておいたほうがいいと思います。
今までの手順で使用した MSYS は削除して、もう一度解凍します。
msys64\etc\pacman.conf
を編集して
XferCommand = /usr/bin/curl -L -C - -f -o %o %u
のコメントアウトを外します。
curl を使用するように変更しないとダウンロードでタイムアウトするかもしれません。(何度止まったことか・・・) msys64 の msys2_shell.cmd を起動すると勝手に設定始まるのでメッセージが出たら exit して終了します。
Windosのエクスプローラーで先程控えておいたファイルを新しい MSYS の
msys64\mingw32\bin msys64\mingw64\bin
に戻します。 以上で MSYS の準備完了です。
- PKGBUILD
kicad-winbuilder ディレクトリの PKGBUILD を PKGBUILD.bak に名前変更。 PKGBUILD-STABLE をコピーして PKGBUILD に名前変更。 PKGBUILD の83行目付近に1行追加。 (ストロークフォントファイルのコピー)
EXTRA_FLAGS="" if [ $GCCVERSION = "5.1.0" ] || [ $GCCVERSION = "5.2.0" ]; then EXTRA_FLAGS=" -DCMAKE_CXX_FLAGS=-Wno-deprecated-declarations" fi cp /d/kicad-winbuilder/newstroke_font.cpp $HOME/MINGW-packages/mingw-w64-kicad-git/src/kicad/common ← 追加 MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ ${MINGW_PREFIX}/bin/cmake.exe \
この追加部分の先頭 cp /d/kicad-winbuilder/new…… の /d がドライブレターを表しているので環境で変更する。 例えば Cドライブなら cp /c/kica…… のように。
- newstroke_font.cpp
上記参考サイトの 日本語フォントのマージ手順 に従って作成。
作成完了したら kicad-winbuilder ディレクトに配置(以前のファイルを流用してます。)
newstroke_font.cpp
- install.nsi
nsis ディレクトリの install.nsi をバックアップ。
install-5.1.nsi を install.nsi にリネーム。
リネームした install.nsi を UTF-8 に文字コード変更して保存。
- KiCad-Winbuilder.cmake
kicad-winbuilder ディレクトリの KiCad-Winbuilder.cmake を編集 334行目付近にあるバージョン表示部分をコメントアウト (なぜかここで止まる。)
# Extract the major and minor build version as a string #string( REGEX MATCH # "([0-9]+)\\.([0-9]+)\\..*" # KICAD_MAJOR_MINOR_VERSION # "${KICAD_SEMANTIC_VERSION}" # ) # #if( CMAKE_MATCH_COUNT EQUAL 2 ) # #?Match slot 0 is the full string, so we want slots 1 & 2 # set( KICAD_MAJOR_MINOR_VERSION "${CMAKE_MATCH_1}.${CMAKE_MATCH_2}" ) # message( STATUS "Extracted version from source KiCadVersion.cmake: ${KICAD_MAJOR_MINOR_VERSION}" ) #else() # message( FATAL_ERROR "Unable to extract major and minor version string" ) #endif()
ビルド開始
Windows のコマンドプロンプト起動しカレント移します。
D: cd kicad-winbilder
文字コード変更
chcp 65001
とりあえず実行
make_all.bat
環境作成途中、エラーで停止します。
kicad-winbilder の msys64 を丸ごと削除して先程準備した msys2-base-x86_64-20201109 の msys64 コピーする。
完了したら再度 make_all.bat を実行する。
make_all.bat
を実行する。 あとは停止しないでビルドして勝手にパッケージングしてくれる・・・はず。
ファイルは
kicad-winbuilder\msys64\home\ユーザー名\out\pack-i686 kicad-winbuilder\msys64\home\ユーザー名\out\pack-x86_64
に作成されます。
インストールパッケージ
上記手順でビルドしたインストールパッケージです。
自己責任でご使用ください。
32bit版 Lite
kicad-5.1.12_1-i686-lite.exe
32bit版
kicad-5.1.12_1-i686.exe
64bit版 Lite
kicad-5.1.12_1-x86_64-lite.exe
64bit版
kicad-5.1.12_1-x86_64.exe