[PHP-dev 1521] Re: 絵文字 <-> Unicode 6.0 変換

浅川 倫之 tom @ asakawa.ne.jp
2011年 8月 25日 (木) 12:00:37 JST


あさかわです。

> 
> 「正しい変換」の解釈が異なるのかもしれませんが、汎用のUTF-8を指定してい
> る以上、これは仕様でありUnicodeとUTF-8の変換としては正しい動作です。

略


廣川さんのおっしゃるというか、文字変換のシステムを作成してくれる開発者の思想として正しい動作だと思います。

しかし、絵文字を必要とするニーズとしては。

ドコモの絵文字を格納してドコモで表示
AUの絵文字を格納してAUで表示
SBの絵文字を格納してSBで表示

する時に、欠落なく元と同じ文字で表示される事はもちろん。

PC上で、ドコモ,AU,SBの絵文字を表示する時にフォントとして存在しない文字を表示する場合に画像を利用したりしますが。その場合に、対応するコードポイントが保持されていないとそれもできない事になります。

PCではなくても、AUの絵文字の入っているデータを、ドコモで表示する時にも、表示できない文字は画像を利用するなどの対応が必要な時もありますので、表示できない文字を欠落させられるとそれができません。

すると、データとして格納する時は、キャリア別のコードのまま格納して、出力で対応する事になり
せっかくつくっていただいた、機能を利用できない事になってしまいます。

そういうケースがレアかレアじやないかというのは、その人のおかれる立場で違います。

HTML_Emoji という PHP の絵文字ライブラリを作って公開してくれている村松様のご意見は、
そのレアじゃない立場を代表してくれています。

じゃそういう人はHTML_Emojiを使えばよいじゃないかと言う意見もあるでしょうが,
村松様がご意見を述べられているという事は、自分のライブラリが不要になってでも
PHPの本体に機能が追加される事を望んでいるのだとおもいます。

そのためには、すくなくとも。HTML_Emoji利用と同等になっていて欲しいと思います。


[Unicode 6.0を介した統一された変換をサポートする]

という趣旨で、Unicode 6.0で定義できない文字を,変換側で排除することで、特別な対応なくどのブラウザでも
同じ文字が表現できるというメリットがあります。

しかし、Unicode 6.0で定義できない文字を,変換側で排除されてしまうと特別な処理を必要とするシステムでは作成できない事になります。

現状でも、PHPにかぎらず。ISO-2022では無いということで半角カナを捨てるライブラリがあったりしますが
そういう場合は、半角仮名を許容したい場合には使えないわけです。

こういう立場もあることをご理解ください。

PUAへのマッピングを、プログラマが再定義できる様になっているとかでも良いと思います。

ワールドワイドな統一思想からは明らかに逸脱した、狭い世界のニーズなので、
簡単には使えないのでもかまわないと思います。でもできないのが困ります。












PHP-dev メーリングリストの案内