バイブコーディングにハマって開発してたら、いつの間にかターミナルアプリを作っていた話 #4 IMEと全角文字との戦い編
駆け出しのMacアプリ開発者が、Claude Codeを使ったバイブコーディング(AI開発と相互作用する開発)でターミナルアプリ「microTerm」を開発した。その過程で、日本語入力時の全角文字の表示が想像以上に複雑だったことが分かった。全角は2マス分の幅を持つはずだが、フォントのフォールバック時にサイズが勝手に戻される。変換中の文字列がマス目とずれる。IMEでF7キーが効かない。初日だけで50コミット、そのうち6コミットを字間調整に費やした。
「日本語でなら、作った瞬間から負けている」というフレーズが全てだ。UIフレームワークもターミナルも、米国製で英語を前提に設計されている。半角は1マス、全角は2マスというルールは変わっていないが、CoreTextなどのAPIは「フォールバックしたフォントのサイズを正規化する」という思わぬ振る舞いをする。アメリカ人エンジニアは決してぶつからない壁が、日本語版を作る瞬間に出現する。著者がSwiftTermをベンダリング(フォークして内包)し、パッチを168ヶ所も入れた理由もそこだ。ClaudeなどのAIエージェントは実装は速いが、言語固有の落とし穴を自動回避はできない。IMEと全角の相互作用、ピクセル単位の描画の正確さ、セル境界への文字配置。これらの組み合わせ問題は、結局人間が吸収する。
日本語を扱うアプリケーション開発の現場では、洋風フレームワークのデフォルト設定では済まない。開発工数も想定より膨らむ。特にターミナルやエディタのように「文字の位置ピクセル単位で正確」が要件な領域では顕著だ。開発スケジュール見積もり時に「言語対応」のバッファを必ず確保し、フレームワークの日本語対応度を事前調査する癖をつけておくと、後々の修羅場が減る。ClaudeのようなAIコパイロットと組んでアプリ開発をするなら、最後の微調整は自分で引き受ける覚悟が必須だ。
※ 上記は配信元記事をもとにAIの鬼編集部が要約・再構成したものです。正確な内容は出典元をご確認ください。
このニュースの全文は、配信元でお読みいただけます。 Zenn AIで元記事を読む →


