array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'intlchar.charmirror.php', 1 => 'IntlChar::charMirror', ), 'up' => array ( 0 => 'class.intlchar.php', 1 => 'IntlChar', ), 'prev' => array ( 0 => 'intlchar.charfromname.php', 1 => 'IntlChar::charFromName', ), 'next' => array ( 0 => 'intlchar.charname.php', 1 => 'IntlChar::charName', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/intl/intlchar/charmirror.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 7, PHP 8)
IntlChar::charMirror — コードポイントの "鏡文字" を取得する
指定された文字を、鏡文字 にマップします。
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) ")"