14 ポイント 投稿者 GN⁺ 2025-11-04 | 15件のコメント | WhatsAppで共有
  • Unicodeサポートの正確性性能を基準に、主要なターミナルエミュレータを比較した2025年の評価結果を提示
  • GhosttyはZigで新たに開発されたターミナルで、最も高いスコアを記録し、正確なUnicode処理を実装
  • KittyはGhosttyに近い水準のスコアを獲得し、テキスト分割アルゴリズムを公開して標準化に貢献
  • 多くのターミナルで性能低下DEC Private Modeサポートの不一致が見られ、とくにVTEベースのターミナルでは改善がなかった
  • 可変幅テキストプロトコルの登場により、単一幅セルの限界を超えて、さまざまな言語の可読性向上の可能性が示された
  • Errant Champions(さまようチャンピオンたち): GhosttyやKittyのように、古典的な規格に安住せず、ターミナルの文字幅・レンダリング・Unicode問題を根本から再設計した挑戦者たち

ucs-detectツールとテスト概要

  • 2023年に公開された Unicodeサポート比較実験 の後続研究として、ucs-detect ツールに DEC Private Modessixelグラフィックスピクセルサイズソフトウェアバージョンの検出機能が追加された
    • このツールはカーソル位置制御シーケンスを送信し、ターミナルの応答を Python wcwidth の結果と比較して不一致を記録する
  • テストは各ターミナルの文字幅計算の正確性を検証し、結果はUnicodeサポート品質を数値化する

文字幅問題(The Width Problem)

  • ターミナルには、固定幅グリッド内で多様なUnicode文字を表示しなければならない構造的な限界がある
  • 結合文字絵文字シーケンスZero-width joiner などにより、文字幅の予測がしばしば失敗する
  • こうした誤差はカーソル位置の誤り出力の破損を引き起こし、入力位置まで歪める
  • テスト結果は、こうした問題を最も少なく引き起こすターミナルを特定する

Ghostty: 新たな強豪

  • Ghosttyは2025年に公開された新しいターミナルで、Zig言語でゼロから開発された
    • 徹底したUnicodeサポート実装により正確性が最も高く、テストで最高スコアを記録
  • 開発者Mitchell Hashimotoは、2023年の Grapheme Clusters and Terminal Emulators で基本原理を研究した
  • 新たに公開された libghostty は、既存の libvte を置き換えうる代替として、今後のターミナル生態系に強力なUnicode基盤を提供する可能性がある

Kitty: もう一人のチャンピオン

  • KittyはGhosttyとほぼ同じスコアを記録し、テキストセル分割アルゴリズムを公開した
    • このアルゴリズムは Python wcwidth仕様 と一致し、Unicode標準の解釈に基づいている
  • この2つのターミナルだけが Variation Selector 15 を正しくサポートした
    • この機能の実用性は高くないが、Python wcwidthの将来の標準反映が予定されている

ターミナルエミュレータのUnicode性能比較まとめ

  • 1位 Ghostty2位 Foot3位 Kittyが上位を占めた
    • 3つのターミナルはいずれも Unicode処理の正確性(WIDE/LANG/ZJW/VS16) 項目で最高点を記録
    • Ghostty全項目100点で総合100点、DEC Modesも enabled
    • Kitty は性能(Elapsed time 1748s)がやや遅いが、正確性は最高水準
  • VTEベースのターミナル(GNOME Terminal、Terminator、LXTerminalなど) は下位にとどまった
    • いずれも Final Scaled Score 5点以下、テスト時間は8000〜18000秒と非常に遅い
    • 2023年と同様に改善はなかった
  • 性能(Elapsed time) の面では Foot、WezTerm、tmux、Konsole などが高速(100秒未満)
    • iTerm2、Extraterm はCPU使用率が高く、非常に遅い部類(4000秒超)
  • Sixelグラフィックス対応は上位勢でも一部のみが提供
    • Ghostty、Kitty、Konsole、contour は対応
    • GNOME Terminal、VTE系 は大半が未対応
  • Variation Selector 15(VS15) を正しくサポートするターミナルは GhosttyとKittyの2つだけ
    • Unicode処理の完成度という点で、事実上この2プロジェクトが突出している

性能分析(The Long Road)

  • 多くのターミナルで非常に遅い性能が見られ、テスト完了までに数時間を要した
    • iTerm2Extraterm はCPUを過剰に使用し、テスト時間を短縮する必要があった
    • GNOME TerminalVTEベースのターミナル はCPU使用率こそ低いが、5時間以上かかった
  • Python wcwidth は高水準言語でありながら、ほとんどのターミナルと速度が釣り合っていた
  • 性能最適化のために ビットベクタブルームフィルタLRUキャッシュ などが試されたが、二分探索 + LRUキャッシュ の組み合わせが最も効率的だった
    • LRUキャッシュは繰り返し現れる文字集合を処理するときに効果的
  • Cモジュール の導入も検討されたが、現状のPython実装でも十分な性能を確保している

特異な事例と問題点(Tilting at Edges)

  • Terminology は実行のたびに結果が変わり、内部状態が破損している可能性がある
  • iTerm2 はすべてのDEC Private Modeを「サポートしているが無効化されている」状態として報告した
  • Konsole は問い合わせには応答しないが、一部のモードは有効化時にサポートされる
  • Contour は誤ったモード番号で応答したため「サポートなし」と表示され、2024年12月リリースでは ESCキー設定エラー も発生した
  • VTE/7600 ベースのターミナルは2023年と同じ低スコアを維持した
  • libvteプロジェクト のUnicode改善議論は批判を受けたが、絵文字シーケンス対応イシュー は2026年の改善シグナルとして評価された

Mode 2027について

  • Mode 2027 はターミナルのUnicodeサポート有無を単純に「対応/非対応」で区別するが、細かな機能レベルまでは分からない
  • 実際には ucs-detect のように個別機能やコードポイントを直接テストする方式のほうが正確だ

固定幅を超えて(Beyond Fixed Widths)

  • 固定幅セル構造は多くの言語で可読性の低下を招く
  • テキストサイズ調整プロトコル(text sizing protocol) はこれを解決する新しいアプローチ
    • Kitty のKovid Goyalは「Markdownファイルの見出しを大きく表示したい」という例で説明した
  • この機能はアクセシビリティ向上複雑な文字体系の可読性改善の可能性を示す
  • 例として ContourKateエディタ におけるKhün言語表示の比較では、可変幅レンダリングのほうがより明瞭な結果を示した
  • フォントエンジンがセル単位の制約なしにテキストをレンダリングできるようにする 可変幅モード が今後の発展方向として示されている
  • テキストサイズプロトコル の導入は、こうした問題解決に向けた前進と評価される

15件のコメント

 
sleepyeye 2025-11-10

wezterm をおすすめします

 
kaorw 2025-11-06

Xshell、iTerm2を使っています……。ほかのものも一度使ってみないといけませんね。

 
hwhang0917 2025-11-05

Mac や Linux では ghostty をよく使っていましたが、Windows では wezterm がいちばん良いと思います。

 
botplaysdice 2025-11-05

Windowsユーザーとして

cygwin terminal (mintty) + moshで完全に定着しました。まあ、特に不足しているものはない感じです。

 
savvykang 2025-11-04

私は普通に Windows Terminal を使っています

 
ceruns 2025-11-04

結局いつも Gnome terminal に戻ってしまうんだよな……

 
sddsdd94 2025-11-04

GhosttyやKittyがWindowsにも対応してくれると本当にいいのですが…。

configさえうまく調整すれば、WezTermもかなり良かったです。(Windows対応)
https://ja.news.hada.io/topic?id=9270

 
coderred 2025-11-04

tabbyはマイナーみたいですね.. ghosttyを一度使ってみないといけませんね

 
coderred 2025-11-04

ああ、ghostty には Windows 版がないんですね;

 
barca105 2025-11-04

LLMのCLIプログラムのため、今後はターミナルでも英語圏以外のさまざまな言語を使う場面が増えそうですが、
そういう観点から見ると、ターミナルエミュレータのUnicode対応は本当に重要だと思います

 
t7vonn 2025-11-04

ghostty に cmd+f 機能さえ入れば完璧だと思います。ないので地味に不便ですね。

それと、split した状態でこれをどうやって別ウィンドウに分離するのか分かりません。もしご存じの方がいれば教えていただけますか? うぅ

 
jjpark78 2025-11-04

alacritty を軽視するな〜〜〜

 
GN⁺ 2025-11-04
Hacker Newsの意見
  • 会社の仕事の都合で、初めて Windows Terminal を使ってみた
    ずっと Linux でしか開発してこなかったので使ってみると、Ctrl+C、Ctrl+V がとても 賢く動作する
    選択範囲がないときはプロセス中断、選択があるときはコピーとして動作し、貼り付けもそのまま Ctrl+V でできる。本当に便利だ

    • Linux(特に Wayland)では、そもそも Ctrl+C がなくてもコピーできる
      テキストを選択するだけでコピーされ、別のウィンドウで マウス中央ボタン で貼り付けられる
      これを Primary Selection と呼び、通常のクリップボード(Ctrl+C/V)とは別に動作する。個人的にはこちらの方式のほうが便利だ
  • 興味深いのは、私たちが一般に「ターミナルエミュレータ」と呼んでいるプログラムが、実際には ターミナルを完全にはエミュレートしていない ことだ
    しかし今ではそれも可能だ。MAMEでVT102を実際にエミュレートする方法 を参照するとよい
    WSL でも動作し、socatmame を接続して本物のハードウェアターミナルのように使える
    以前、VT220 向けにマウス制御や貼り付け機能を追加した 高水準 VT220 エミュレータ を作ってみたいと思っていたのだが、この記事を見てまた思い出した

  • KDE の Konsole が上位に入っていてうれしい
    何十年も前からあるターミナルなのに、最新のターミナルと 性能面で互角に競争 している

    • KDE 環境では、標準で提供される Konsole をそのまま使えばよい
      カスタマイズの自由度が高く、速度も十分に速い
      Dolphin で右クリックするだけで現在のフォルダで Konsole を開ける点が特に良い
      無限スクロールバック 機能も便利だ。古いログがファイルに自動退避され、捨てられない
      Ctrl+Shift+X に完全初期化のショートカットを設定して、よく使っている
  • 関連資料としては

  • 一覧に DECterm が入っていない
    DECterm 概要文書 を見れば分かるように、X Window System 上で最高の VT220 エミュレーション を提供していた
    VT100 の “double wide” や “double high, double wide” 文字モードをサポートするターミナルはほとんどない。あの巨大な文字はかなり面白かった

    • xterm はそのモードをサポートしている。以前これに関連して 絵文字サポート について記事を書いたことがある: Can your terminal do emojis?
    • 不思議なことに Windows Terminal は DECDHL をサポートしているが、Linux 側ではほとんどサポートされていない
  • しばらく Alacritty を快適に使ってきたが、最近 Ghostty を使ってみて驚いた
    複数のコンピュータで作業するときに便利な 内蔵テーマセレクタ があり、とても使いやすい
    全体的に Alacritty より優れた代替に見える。開発者たちは本当に良い仕事をしたようだ

    • Ghostty で唯一惜しいのは、スクロールバック検索 機能がまだないことだ
      tmux でそれらしく再現はできるが、まったく同じではない
    • Alacritty では 2017 年から 合字(ligature) 対応の issue が開いたままだが、まだ実装されていない
      Ghostty に Windows 対応まで追加されれば完璧になりそうだ
    • 内蔵テーマセレクタは当然ある機能だと思っていたが、意外とそうではなかった
  • ターミナルが特定の 文字リストのフォント対応可否を問い合わせ できるとよい
    そうすれば TUI プログラムが最新の Unicode や 私用領域文字(例: powerline、font-awesome アイコン) を使うとき、未対応なら自動的に代替文字を表示できるはずだ

  • Windows Terminal への言及が少ないのが残念だ
    Linux 側のエコシステムのほうが豊かではあるが、今では WT は多くの Linux ターミナルよりはるかに上位にいる
    10 年前には想像もできなかったことだ

    • テスト結果では Windows Terminal("terminal.exe" と表記)は 4位 だった
      ちなみに時々 この動画 を見返すのだが、開発者名が隠された イースターエッグ があって気に入っている
    • Windows を離れてから最も恋しいのがまさにこのターミナルだ
      タブ、テーマ、ウィンドウ名の変更が素晴らしく、各ウィンドウの用途をひと目で把握できる
    • 個人的にも一番好きなターミナルだ。今は macOS で Ghostty を使っているが、WT ほどではない
  • Foot ターミナルも素晴らしい
    Wayland 専用だが 軽量で高速に起動 し、リソース使用量も少ない

    • 私も現在は Foot をメインで使っている
      Ghostty も良かったが、空のターミナルを1つ開くだけで メモリ使用量が10倍以上 違う
  • macOS 標準ターミナルは今回の結果で 29位 だった

    • 一日中 macOS Terminal.app を使っているが、「もっと良いターミナルが必要だ」と思ったことはない
    • 実際 Apple は 90年代後半に NeXT から受け継いで以来、ほとんど更新していない
      それでも最近のバージョン(macOS 26)では Powerline と 24 ビットカラーをサポートしている
    • 参考までに Windows の標準ターミナルは 4位だった
    • ランキング算定に、自分が望まない 付加要素 が反映されている気がする
 
ndrgrd 2025-11-04

Kitty は機能は良いのですが、メンテナーが情けない人間なので、Ghostty という代替が生まれたのはうれしいですね。

 
say8425 2025-11-04

結局 iTerm2 に戻ってきた