(PHP 7, PHP 8)
IntlChar::charMirror — コードポイントの "鏡文字" を取得する
$codepoint
): int|string|null指定された文字を、鏡文字 にマップします。
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) ")"