nano 4.9.2 以降において、 Unicode の規格における東アジア圏の各種文字のうち、いわゆる "◎" や "★" 等の記号文字及び罫線文字等、 East_Asian_Width 特性の値が A (Ambiguous) となる文字 (以下、 East Asian Ambiguous Character) が、日本語環境で文字幅を適切に扱うことが出来ずに表示が乱れる問題が発生しています。
また、 AppImage とは、 Linux 系 OS において、各種ディストリビューションの差異に関わらず、如何なる環境においてもアプリケーションの正常な動作を目指したアプリケーションの配布形式の一つです。同様な目的及び目標を持つアプリケーションの配布形式として、 snap や Flatpak 等が挙げられます。
AppImage は、 snap や Flatpak と異なり、 root 権限を取ること無く、パッケージファイルとして配布されている AppImage ファイルに実行権限を付与し、 AppImage ファイルを直接実行することにより、適切にアプリケーションを実行させることが出来るのが特徴です。
このリポジトリは、軽量な CLI テキストエディタである nano において、Unicode の規格における東アジア圏の各種文字のうち、いわゆる "◎" や "★" 等の記号文字及び罫線文字等、 East_Asian_Width 特性の値が A (Ambiguous) となる文字 (以下、 East Asian Ambiguous Character) が、日本語環境で文字幅を適切に扱うことが出来ずに表示が乱れる問題を修正した nano を起動する AppImage パッケージファイルを生成するための vagrant 仮想環境を構築する Vagrantfile 等を含むリポジトリです。
まず最初に、 nano の AppImage パッケージファイルを生成するための端末に Vagrant 環境を構築します。 Vagrant のインストールにあたっては、以下の web ページを参考にして下さい。
そして、本リポジトリ内のシェルスクリプト build-appimage.sh
を以下の通りに起動します。
$ ./build-appimage.sh
シェルスクリプト build-appimage.sh
の起動により、East Asian Ambiguous Character を全角文字の幅で表示する差分ファイルを適用した nano をビルドするための Docker コンテナが構築され、 Docker コンテナ内にて、 nano 及び nano に依存するライブラリ群等がビルドされ、 nano を起動するための AppImage パッケージファイルが生成されます。
そして、シェルスクリプトが正常に終了すると、ディレクトリ ./opt/releases
以下に AppImage パッケージファイル nano-eaw-*-x86_64.AppImage
が生成されます。
前述で生成した AppImage パッケージファイル nano-eaw-6.2-x86_64.AppImage
を用いて nano を起動するには、以下の通りにして AppImage パッケージファイル nano-eaw-6.2-x86_64.AppImage
にファイルの実行権限を付与して環境変数 PATH
が示すディレクトリに配置します。
そして、以下のようにして nano-eaw-6.2-x86_64.AppImage
から nano
へシンボリックリンクを張ると、コマンドラインから nano
と入力することで、 East Asian Ambiguous Character を全角文字の幅で表示する差分ファイルを適用した nano が起動します。
$ cd opt/release
$ chmod u+x ./nano-eaw-6.2-x86_64.AppImage
$ sudo cp -pRv ./nano-eaw-6.2-x86_64.AppImage /usr/local/bin # (一例として /usr/local/bin 以下に導入する場合を示す。)
$ cd /usr/local/bin
$ sudo ln -sf nano-eaw-6.2-x86_64.AppImage nano
...
$ nano
...
ここで、 East Asian Ambiguous Character を全角文字の幅で表示する差分ファイルが適用された nano の使用法の詳細については、 "nano 2.5 以降において East Asian Ambiguous Character を全角文字の幅で表示する" を参照して下さい。
East Asian Ambiguous Character を全角文字の幅で表示する差分ファイルが適用された nano のビルド済の AppImage パッケージファイルについては、以下の URL より配布いたしますので、どうか宜しく御願い致します。
- EAW 対応 nano を起動する AppImage パッケージファイルの配布ページ
まず最初に、各種ディストリビューションの差異に関わらず、如何なる環境においてもアプリケーションの正常な動作を目指したアプリケーションの配布形式である AppImage を開発した AppImage の開発コミュニティの各位に心より感謝致します。
そして、 nano に適用するための East Asian Ambiguous Character を全角文字の幅で表示する差分ファイルに関しては、 Markus Kuhn 氏の協力及びソースコードの参考を得ました。以下の各氏に心より感謝致します。
最後に、 nano の開発コミュニティ及び nano と AppImage に関わる全ての人々に心より感謝致します。
本リポジトリは、 East Asian Ambiguous Character を全角文字の幅で表示する差分ファイルを適用した端末多重化ソフトウェア nano を起動するための AppImage パッケージファイルを生成するための Vagrant 仮想環境の構築を行う Vagrantfile を含むリポジトリであり、 Z.OOL. (mailto:zool@zool.jpn.org) が著作権を有し、 MIT ライセンス に基づいて配布されるものとします。
本リポジトリの使用条件の詳細については、本リポジトリに同梱する LICENSE
を参照して下さい。