Unicode:16ビットの呪縛と拡張の歴史
中華フォント問題の発端はここにある
でもそもそも現代は、容量問題なんてでてこないから、開発者の怠慢というかさぁ
ただ、マイクロソフトのマイクラすらこれ起きてるからほんと大変そう
そっか、これも技術的負債か
人工知能が解決してほしいなぁ
Unicode:16ビットの呪縛と拡張の歴史
なぜ「漢字の字形問題」はゲームで頻発するのか
Minecraft BE の簡体字混入
韓国ゲームで日本語の字形が崩れる
Web や PDF でも字形が変わる
原因:漢字(Han)と漢字(Kanji)を区別していない
16ビットの呪縛
1990年代はメモリが極端に少なかった
世界中の文字を16ビットに収める必要があった
苦肉の策 → CJK統合漢字
「似てる漢字は全部まとめてしまえ」という思想
CJK統合漢字とは
CJK = China / Japan / Korea(+Vietnam)
文化的には別物なのに Unicode は「同じ文字」として統合
例:直、骨、灰、雲、発、点、門、食…
日本語・中国語・韓国語で字形が違うのにコードポイントは同じ
16ビットの限界突破
Unicode は結局 16 ビットでは足りず、21 ビットへ拡張
追加の漢字は「CJK拡張A〜F」へ
統合済みの字形差は戻せない
文化的破壊
日本語の漢字が簡体字で表示される
韓国語の Hanja が中国語の字形に置き換わる
ベトナムの Chữ Nôm が文化的に埋没
欧米的「全部同じ漢字でしょ?」思想がアジア文化を均質化
ゲーム業界への影響
Unity / Unreal のデフォルトフォントが簡体字優先
日本語フォントは重くてライセンスが複雑
韓国は現代で漢字を使わないため字形差への感度が低い
Minecraft BE のフォント優先順位が「SC → JP」
「漢字(Han)と漢字(Kanji)」を区別しない問題
技術的には同じ
文化的には別物
Unicode は文化差を吸収しきれない
結果、ユーザー体験が破壊される
解決策
ゲーム側で「日本語(新)」のような字形固定オプションを作る
OS が言語ごとに字形を固定する
フォント側で地域タグ(JP/SC/TC/KR)を明確化
Unicode の字形差を OpenType で吸収する
結語
Unicode は偉大だが完璧ではない
特に CJK は文化的に繊細
違和感を感じることが改善の第一歩