-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
非絵文字が 1 Cell で描画される #318
Comments
絵文字の文字幅を 1 Cell に設定すると1 Cellで描画されるのはよさそうです。 現在の Tera Term 5 での扱いは次のようになっています。 "★" U+2605 絵文字 このため "☆" は絵文字文字幅の影響をうけないです。 どの文字が、(Unicodeが定める)絵文字かというのは、 teraterm/teraterm/unicode/ にテーブルを作成するスクリプトがあって、 近々 Unicode 16.0 に更新することになると思います(#322)。 |
現在の仕様としては |
#325 のような対応案はいかがでしょうか。 |
全てのユースケースにおいて x0208 を絵文字から除外するよう断定するのもやりすぎか?と考え直しまして、 |
何らかの問題があって、 でもEast Asian Ambiguous Width と Emoji Width が設定できれば どんな問題,困ったことがあるのでしょうか? 問題を共有できれば Unicode 16.0 対応を行いました。 |
問題状況は以下の通りです。
どちらの状況も引き起こさないようにする設定が可能であればお伺いしたいです。 |
GitHub、ブログなどがとても参考になります。 たとえば 表示しようとするアプリ(vi,bashなど)の想定している表示と たとえば、Tera Term だけが Shift_JIS に入っている文字を
"★"(U+2605)と"☆"(U+2606)の扱いが違っているのは |
はい、崩れてしまいます。なので、崩れないようにする方法を PR しています。
Unicode の定める Unicode に盲従したいユーザは、PR している機能は使わなければよい話なので、難しくないと思います。 |
問題状況を具体的に例示します。 vim で日本語テキストを編集する際、■や☆も含めて記号類を期待通りに扱うために この行をトリプルクリックして行選択すると、存在しない空白文字がコピーされます。 |
拝見しました。3回くらい観ました。 私の報告している事象が zmatsuo さんの環境では再現しない、とおっしゃりたいのだな、ということは理解しました。(違ったら教えてください) |
文字起こしすると、録画されている内容は以下のようなものでした。
の状態で、
の状態で、 OS バージョンは issue の再現手順に記述した
だと、どうなりますか? |
cat した結果です。(cat だとホストに依存しない出力になっているはずです) 上から
Override=offのときはAmbiguous Characters width に従う、 エンコーディングページのヘルプのサンプルを増やしました。
FreeBSD 14.1-RELEASE を手もとで動かして Tera Term で ssh してみました。 "あああ★■♪☆" をエディタにペーストしてみました。 |
「(unicode consortiumの定義では) 絵文字ではないから」ですね。 あるいは、unicode consortium による定義を云々するより、 |
そうですね。
という状態ですよね。 例えば、実行の最後にこんな表示をするプログラムがあったら
Shift_JISの2バイト文字は 2 cell で扱えるようにすると この機能について、 |
この issue では「Ambiguous Characters」「Emoji Characters」「JIS X 0208 の範囲」「COLUMNS-1」という範囲に言及されています。 私が想定するユーザの動きとしては、「好きな字形のフォントを選ぶ」「私が常用する文字がすべて問題なく見える→このために調整する」だと思います。 私には難解でわからないのですが、RLogin のフォント設定は複数の「範囲」に対してフォントや拡大率などをカスタマイズ可能なようです。 |
RLoginでも同じような問題があるのでこのissueが気になりました。 Override Emoji Characters widthで1cellの指定が必要でしょうか? それからサーバー側のアプリ(vim/tmux/bashなど)との連携ですが、暗黙的にEastAsianWidth.txtに従うしかないと思います。 RLoginでは、次期バージョンでUTF-8の文字サイズ変更にしようと思っています |
@nmayaさんのおっしゃるように 次期RLoginの ユーザーが指定できるのはとてもよさそうです。 Tera Termではどうしたものでしょう。 Ambiguousな文字幅をpush/pop/set/getできる 設定に潜らなくてもAmbiguous文字幅を |
問題が共有されることはない、と理解しました。 |
Unicode 絵文字: emoji-data.txt -> unicode_emoji.tbl 文字例
#318 (comment) @sempreff さんの困っていること
行っている設定
|
@sempreff |
おそらく @zmatsuo さんは下記のように考えているので、「自動」を拒否するために要るのだと思います。
仮に自動をなくして 2cell のみにしたとして、@sempreff さんの要望(私の読解できた部分)である「JIS X 0208の範囲内の絵文字は2cell・JIS X 0208の範囲内の絵文字は1cell」ということが可能でしょうか? O/T |
@zmatsuo |
1cellの指定はなくして、2cellのみにするのがよさそうに思えてきました。
Override Emoji Characters width = off のとき、 Unicodeの仕様通りに表示します。 Ambiguous Characters width = 1 (MS ゴシックです) Ambiguous Characters width = 2 Neutralな(Ambiguousじゃない)絵文字はこのように表示されて そこで Override Emoji Characters width = on + 2cell に設定すると Unicode仕様上は、例えば©(U+00A9)は Override Emoji Characters width 設定がないと2cell(全角)では表示できない Unicodeの絵文字仕様が大きくて難しくて読み切れないです。
#186 絵文字テーブルを変更 の影響になると思います。 試しに使ったファイルを置きました。 |
がなさそうなので、1cell はなくしてもよさそう、ということでしょうか。 |
この説明は範囲が狭すぎて、範囲を広げると
と解釈しました。 |
意図を推測しました。
逆の発想で、実現したいことに必要なのは「docker-compose などで出力される特定の文字(絵文字) を 1cell で表示する」オプションでしょうか? |
概要
一部の記号が 1 Cell で描画されます。
再現手順
(コードは http://ash.jp/code/unitbl21.htm より引用)
記号類の一部や罫線素片が 1 Cell 扱いになっているようです。
白抜きの「☆」は 2 Cell で描画されるのに対し、塗りつぶし「★」が 1 Cell で描画されるのは不自然に感じます。
期待の動作
JIS X 0208 の範囲の文字は絵文字として扱わないのが良いと思います。
参考
5.2 も同様に 1 Cell 描画でした。The text was updated successfully, but these errors were encountered: