kmiya-culti / RLogin

RLoginは、Windows上で動作するターミナルソフトです
http://nanno.bf1.jp/softlib/man/rlogin/
MIT License
463 stars 16 forks source link

Nerd Fontsが見切れる #79

Open estshorter opened 2 years ago

estshorter commented 2 years ago

exa (lsの代替ツール)でアイコンを表示させると以下のスクリーンショットのように、フォルダのアイコン(Nerd Fonts)が見切れてしまいます。対処する設定があればご教示いただけると幸いです。

rlogin

なお、Windows Terminalでは発生しません。↓Windows Terminalのスクリーンショット image

環境

kmiya-culti commented 2 years ago

動作確認しようとしましたが再現出来ませんでした。アイコン(絵文字)自体が表示されません。 状況としては、内部で使用しているncursesがアイコンの絵文字を全角文字として扱っていないようです。

全角文字が分断された場合の表示方法を「見切れる」「重ねる」で選択するのも面白いかもしれません・・・

ecmotto commented 1 year ago

たぶん、HackGenNerdなどのNerd Fontのアイコン部分、UNICODEのプライベート部分に割り当てられているambiguous width charactersはASCII文字の半角の幅でもなく全角文字の幅でもなくその中間ぐらいの幅だと思うんですが、exaやlsdコマンドではアイコンの右側をスペースにすることでターミナル上では全部描画されることを期待しているんだと思います。Windows Terminalやほかのターミナルソフトでは半角幅に収まらない部分がはみだしていても右側の半角スペース部分に重なって描画される(ambiguous width charactersは幅に関係なく全部描画する)ことで全部見えるようです。 HackGenNerdと同じ作者のPlemolJP NF TextやUDEVGothic NFも同様に、Rloginでは右側が少し切れます。

Nerd Fontのサイトからダウンロードできる、MesloLGS NF(日本語なし)などはどうやらambiguous width charactersがほぼ半角(半角よりもわずかに大きい幅)で作成されているようで、Rloginでもアイコンほぼ全体が表示されますが、わずかに右側が切れます。そのかわり、HackGenNerdにマージされているNerd Fontよりも小さくなります(ほぼ半角幅なので)し、日本語は表示できません。

Tabbyのようにfallback fontを指定できるターミナルソフトでは、HackGenNerdのように日本語フォントにNerd Fontをマージしているものを使う以外に、基本のフォントにMesloLGS NFなどのNerd Fontを含むフォントを指定し、fallback fontに日本語フォントを指定することでASCII+Nerd Font+日本語が見切れずに表示できます。 Rloginでも同様にfallback fontに日本語フォントが指定できれば、MesloLGS NFと日本語フォントの組み合わせで表示可能になると思いますが、MesloLGS NFでもアイコンの右側がわずかに切れてしまいます。が、Nerd Fontを使いたい人にとっては選択肢が増えるとおもいます。もしかしたら、MesloLGS NF以外のNerd Fontではアイコンが全部半角の幅に収まっているものがあるかもしれませんし。 MesloLGS NFを使っているのは、powerlevel10kで使われているため、です。