IntlChar::charMirror
コードポイントの "鏡文字" を取得する
説明
public static intstringnull IntlChar::charMirror(intstring $codepoint
)
Bidi_Mirrored プロパティを持つ文字ごとに、
実装上、別のUnicode文字 (コードポイント) への "安っぽい" (poor man's)
マッピング が必要になることがあります。
これは、特定の文字のデフォルトのグリフが、
指定された文字のデフォルトのグリフに対する鏡文字
(上下はそのままで、左右を反転させた文字) にあたるように対応付けることです。
こうすることで、
文字方向を考慮したり、
グリフを選択する機能がないディスプレイのために、
テキスト変換を行うのに有用です。
パラメータ
-
codepoint
-
コードポイントを表す int 型の値 (例: U+2603 SNOWMAN を表す 0x2603
)、あるいは UTF-8 文字列としてエンコードされた文字 (例: "\u{2603}"
)。
戻り値
鏡文字(上下はそのままで、左右を反転させた文字)
として置き換えられる可能性のある、
別の Unicode コードポイントを返します。
そのようなマッピングが存在しなかったり、
codepoint
が
Bidi_Mirrored プロパティを持たない場合には、
codepoint
そのものを返します。
戻り値の型は int になります。ただし、コードポイントを UTF-8 文字列で渡した場合は別で、その場合の返り値の型は文字列になります。失敗した場合は、null
を返します。
例
例1 さまざまなコードポイントの例
<?php
var_dump(IntlChar::charMirror("A"));
var_dump(IntlChar::charMirror("<"));
var_dump(IntlChar::charMirror("("));
?>
string(1) "A"
string(1) ">"
string(2) ")"
参考
- IntlChar::isMirrored
IntlChar::PROPERTY_BIDI_MIRRORED