IntlChar::charMirror

(PHP 7, PHP 8)

IntlChar::charMirrorコードポイントの "鏡文字" を取得する

説明

public static IntlChar::charMirror(int|string $codepoint): int|string|null

指定された文字を、鏡文字 にマップします。

Bidi_Mirrored プロパティを持つ文字ごとに、 実装上、別のUnicode文字 (コードポイント) への "安っぽい" (poor man's) マッピング が必要になることがあります。 これは、特定の文字のデフォルトのグリフが、 指定された文字のデフォルトのグリフに対する鏡文字 (上下はそのままで、左右を反転させた文字) にあたるように対応付けることです。 こうすることで、 文字方向を考慮したり、 グリフを選択する機能がないディスプレイのために、 テキスト変換を行うのに有用です。

パラメータ

codepoint

コードポイントを表す int 型の値 (例: U+2603 SNOWMAN を表す 0x2603)、あるいは UTF-8 文字列としてエンコードされた文字 (例: "\u{2603}")。

戻り値

鏡文字(上下はそのままで、左右を反転させた文字) として置き換えられる可能性のある、 別の Unicode コードポイントを返します。 そのようなマッピングが存在しなかったり、 codepointBidi_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() - コードポイントが Bidi_Mirrored プロパティを持つかを調べる
  • IntlChar::PROPERTY_BIDI_MIRRORED

関連キーワード:  コード, ポイント, 文字, 取得, IntlChar, string, codepoint, int, Mirrored, Bidi