Skip to content

原文(日本語に翻訳)

末尾のカラムがより狭い文字に置き換えられた際にクリアされないワイド文字(絵文字、CJK文字)のレンダリングアーティファクトを修正

原文(英語)

Fixed wide character (emoji, CJK) rendering artifacts where trailing columns were not cleared when replaced by narrower characters

概要

Claude Code v2.1.20では、絵文字や日本語・中国語・韓国語(CJK)などのワイド文字を使用した際の表示バグが修正されました。以前は、ワイド文字(2カラム幅)がより狭い文字(1カラム幅)に置き換えられた際、古い文字の残りのカラムがクリアされず、画面に残像のようなアーティファクトが表示されていました。この修正により、日本語や絵文字を含むテキストが正しくレンダリングされるようになります。

基本的な使い方

特別な設定は不要です。日本語や絵文字を含むテキストが自動的に正しく表示されます:

bash
# 日本語を含むメッセージ
> この機能は素晴らしいです 👍

# 修正前:文字を編集すると古い文字の一部が残る
# あああ 👍
# いい|  ← 👍の右半分が残る

# 修正後:完全にクリアされる
# いい

実践例

日本語コメントの編集

コード内の日本語コメントをリアルタイムで編集する際:

javascript
// このコードは非常に重要です 🔴
// ↓ 編集して短くする
// 重要 🔴

// 修正前:
// 重要 🔴非常に  ← 古いテキストが残る

// 修正後:
// 重要 🔴  ← 正しくクリアされる

インタラクティブな入力中の表示

長い日本語テキストを入力してから削除する場合:

bash
> これは非常に長い日本語のメッセージです
# ↓ バックスペースで削除
> これは

# 修正により、削除した文字の痕跡が残らない

ファイル差分表示での日本語

Git diff や変更内容表示時:

diff
- // 古いコメント:データベースに接続する 🔗
+ // DB接続 🔗

# 修正前:
# + // DB接続 🔗する  ← 古いテキストが混在

# 修正後:
# + // DB接続 🔗  ← クリーンに表示

ログ出力のリアルタイム更新

ステータスメッセージが動的に更新される場合:

bash
処理中... データベースからレコードを取得しています
処理中... 完了

# 修正前:
処理中... 完了からレコードを取得しています 古いテキストが残る

# 修正後:
処理中... 完了 正しく更新される

タスクリストの動的更新

Todo リストの状態が変わる際:

bash
[ ] データ取得中です... 🔄
[✓] 完了 ✅

# 修正により:
# - チェックボックスの状態変化が正しく反映
# - 絵文字の切り替えで残像が発生しない
# - 日本語テキストの長さ変更も適切に処理

注意点

  • この修正は、UTF-8エンコーディングを使用するすべてのファイルに適用されます
  • ターミナルエミュレータがワイド文字をサポートしている必要があります
  • 一部の古いターミナルでは、ワイド文字のサポートが制限されている場合があります
  • 絵文字の表示幅はフォントによって異なる場合がありますが、レンダリングロジックは正しく処理します
  • 中国語(簡体字・繁体字)、韓国語のハングル文字も同様に修正の対象です
  • この問題は主に動的な文字列更新時に顕著でした

関連情報