カレンダー

2024/04
 
20
21222324252627
282930    
       

広告

Twitter

記事検索

ランダムボタン

豆腐を避ける

by 唐草 [2022/10/31]



 プログラムに日本語を表示するのは、これだけコンピューターが発展して国際化の意識が高まった現在でも意外と難しい。英語を表示するのと同じようにただ単に日本語を書くと文字化けしてしまうことが少なくない。
 昔の文字化けは日本語を英語で解釈してしまったり、異なる文字コードで認識してしまったことが原因だった。だから画面には、無意味な記号の羅列や見たこともない漢字が並んだ。
 今の文字化けは当時とは違う。もう呪文のような文字が並ぶことはない。その代わりに画面を埋め尽くすのは「□」に似たエラー文字。通称「豆腐」だ。
 豆腐が出るのは、指定フォントに目的の文字がないとき。つまり、日本語を英字フォントで表示しようとしてしまったとき。これを避けるには日本語フォントを指定すればいいのだけれど、単純に日本語フォントを指定するだけでもうまくいかない。日本語フォントに固定すると海外の人がアプリを使ったときに合致するフォントがないので、文字がはみ出したりと予期せぬことが起こりやすい。
 だから、日本語を表示するときは日本語フォントで、英語を表示するときは英字フォントへ切り替えるような配慮が欠かせない。
 こういう本質的ではない処理に時間を割いているとプログラムだけでなくコンピューターそのものが英語圏のものだということを痛感する。いくら国際化が進んだとは言え、いまだに英語で作られたシステムに別言語の皮を被せているだけでしかない。
 とは言え、この悩みは日本語特有のものでは無いはずだ。非英語圏のプログラマなら母国語アプリを作ろうとした際に避けては通れない問題。
 ウムラウト付きの文字(ü)が表示されずに困ったドイツ人もいることだろう。とは言え、ヨーロッパは1byte文字で収まるので数文字欠ける程度で画面が豆腐で埋め尽くされる絶望までは至らないはず。
 2byte文字圏の中国や韓国のプログラマーだったら何度も豆腐に悩まされているはず。きっと彼らとなら悩みを共有できるだろうし、おそらく豆腐という表現も通じる。豆腐はアジアのプログラマーをつなぐ架け橋かもしれない。ちょっと頼りないけど。