tviewで最初の1文字目が表示されない
tviewというGo製のOSSがあります。
これはターミナル上でTUIを表現するためのサポートライブラリです。
tview のデモの中にtreeviewというものがあり、これを試そうとしたところ1文字目が画像のようにファイル名の1文字目が表示されませんでした。 main.go
が ain.go
とかになっていますね。
こうなった場合の解決策が issue にあがっていたので紹介します。
解決策
Treeview's first letter is lostというissueを見つけました。
最初上の画像のような表示がおかしい問題を見た時に何がおかしいのかわからなかったのですが、1文字目が欠けている状態だったみたいですね。
issueのコメントを読んでいくとtview text view miss display bug.という別のissueが紹介されています。このissueによればこの問題は export LC_CTYPE="en_US.UTF-8"
をすれば治る。ということです。
$ export LC_CTYPE="en_US.UTF-8"
これをしたところ私の環境でも正常に表示されていることが確認できました。
LC_CTYPE
は システムのLocaleの設定の類でも文字に関する設定のようです。元は ja_JP.UTF-8
だったのですが、これをen_US.UTF-8
に変更することで解決しました。
現在の Locale
については $ locale
コマンドで確認できます。下の出力結果は僕の環境の変更前の結果です。
$ locale
LANG="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_CTYPE="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_ALL=
まとめ
今回は特に tview
で起きた現象についての解決策でしたが、何か文字の表示がおかしいな。と思ったらLocaleの設定等を見直してもいいかもしれませんね。