チケット #39743

ウィンドウタイトル設定シーケンスでのエンコーディング変換

登録: 2019-11-11 12:05 最終更新: 2023-07-24 00:49

報告者:
担当者:
チケットの種類:
状況:
完了
コンポーネント:
マイルストーン:
優先度:
5 - 中
重要度:
5 - 中
解決法:
修正済み
ファイル:
なし
投票
点数: 0
No votes
0.0% (0/0)
0.0% (0/0)

詳細

現状の問題

OSC 0~2 のウィンドウタイトル設定シーケンスで渡される文字列は、受信漢字コード設定によってはエンコーディングの変換が行われる。

現在の状況は以下。

言語設定 受信漢字コード設定 エンコーディング変換 備考
日本語 SJIS なし 日本語環境では問題無し
日本語 EUC あり SJISへ変換される
日本語 JIS なし OSC文字列に含めるのが困難
日本語 UTF-8 なし 文字化けする
英語 なし なし 英語環境等では問題なし
ロシア語 色々 なし 詳細不明
韓国語 KS5601 なし 韓国語環境では問題なし?
韓国語 UTF-8 なし 文字化けする
UTF-8 UTF-8 なし 文字化けする

通常の表示する為の文字列と制御シーケンスで使う文字列は同じエンコーディングが使える事が望ましいと考えられるので、UTF-8 設定等で文字化けするのは問題が有る。

対処案

受信漢字コードの設定に合わせて、ウィンドウタイトル設定シーケンスに含まれるタイトル文字列のエンコーディング変換を行う。

言語 受信漢字コード エンコーディング変換
日本語 SJIS なし
日本語 EUC SJISへ変換(現状のまま)
日本語 JIS なし
日本語 UTF-8 Locale設定に従い変換
英語 なし なし
ロシア語 色々 なし (保留)
韓国語 KS5601 なし
韓国語 UTF-8 Locale設定に従い変換
UTF-8 UTF-8 Locale設定に従い変換

検討事項

  • 日本語モードではシステムロケールとして CP932 が、英語では CP1252, 韓国語では CP949 が使われていると仮定されているが問題無いか

チケットの履歴 (8 件中 3 件表示)

2019-11-11 12:05 更新者: doda
  • 新しいチケット "ウィンドウタイトル設定シーケンスでのエンコーディング変換" が作成されました
2019-11-26 20:48 更新者: doda
  • マイルストーン(未割り当て) から Tera Term 4.105 (完了済み) に更新されました
  • 解決法なし から 修正済み に更新されました
  • 担当者(未割り当て) から doda に更新されました
コメント

とりあえず UTF-8 設定の時のみ r8399 で対応。

2019-12-08 09:01 更新者: None
2019-12-09 09:54 更新者: doda
コメント

4.105 では修正済み。

5.0 では内部エンコーディングが変更になる為、別途対応が必要。

2023-06-27 23:18 更新者: zmatsuo
コメント

受信文字をUnicodeに変換する仕組みを、 設定シーケンスの変換にそのまま利用するようにしました。

r10783です。

JIS以外のほとんどの場合で正しく設定できるようになったはずです。

"titleあいう"を設定する

  • Japanese/SJIS (CP932)
    • echo -e "\x1b]0;title\x82\xa0\x82\xa2\x82\xa4\x1b"
  • Japanese/EUC
    • echo -e "\x1b]0;title\xa4\xa2\xa4\xa4\xa4\xa6\x1b"
  • UTF-8
    • echo -e "\x1b]0;title\xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\x1b"

ただ、現在はWindowsタイトルを設定にUnicode版APIを使用していないためShift_JIS(CP932、日本語に設定したWindowsのとき)に変換できない文字は文字化けします。

2023-06-27 23:41 更新者: zmatsuo
コメント

スナップショットを置きました。

ひきつづきUnicode APIへの置き換えを行い、文字化けしないように修正します。

2023-06-29 23:40 更新者: zmatsuo
コメント

r10787で、Unicodeとして扱うよう修正しました。

こういう文字で設定することもできるようになりました。

  • echo -e "\x1b]0;title\xe3\x81\x82\xe3\x81\x84\xe3\x81\x86😀💯\x1b"
2023-07-24 00:49 更新者: zmatsuo
  • 状況オープン から 完了 に更新されました
  • 担当者doda から zmatsuo に更新されました
コメント

クローズします。

添付ファイルリスト

添付ファイルはありません

編集

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする