目次

mathプラグイン

 DokuWiki上で数式を表示できるプラグイン。詳細はplugin:math2を参照。欧米の数式表記は日本のそれと多少異なるため、日本の実情には合わない箇所がある。要カスタマイズ。以下に日本語化の概要を示す。

日本語化に関する情報

フォントの追加

 フリーの日本語ttfフォントを所定のディレクトリにインストールすることで、mathプラグインを日本語表記に対応することができます。これにより、「≤」「≥」を「≦」「≧」に置き換えることが可能となります。フォント追加後は、「phpmathpublisher/mathpublisher.php」内の「affiche_math関数」を、以下の要領で書き換えることで、追加した日本語フォントが使えるようになります。

affiche_math関数のカスタマイズ

デフォルトのaffiche_math関数

function affiche_math($texte, $taille)
{
global $dirfonts;
$taille=max($taille,6);
global $symboles, $fontesmath;
$texte=stripslashes($texte);
if(isset($fontesmath[$texte])) $font = $dirfonts."/".$fontesmath[$texte].".ttf";
elseif (ereg("[a-zA-Z]", $texte)) $font = $dirfonts."/FreeSerifItalic.ttf";
else $font = $dirfonts."/FreeSerif.ttf";
・
・
・
(以下略)

 affiche_math関数内では、次のようにフォントが指定されています。

 この、「FreeSerif.ttf」を日本語フォントに置き換えてやることで、2バイト文字も問題なく表示されるようになります。

日本語フォントを指定したaffiche_math関数

function affiche_math($texte, $taille)
{
global $dirfonts;
$taille=max($taille,6);
global $symboles, $fontesmath;
$texte=stripslashes($texte);
if(isset($fontesmath[$texte])) $font = $dirfonts."/".$fontesmath[$texte].".ttf";
elseif (ereg("[a-zA-Z]", $texte)) $font = $dirfonts."/FreeSerifItalic.ttf";
elseif (ereg("[0-9]", $texte)) $font = $dirfonts."/FreeSerif.ttf";
else $font = $dirfonts."/ipaexg.ttf";
・
・
・
(以下略)

 ついでなので、次のように手を加えました

 フリーの日本語ttfフォントは「IPAexゴシック」を使わせて頂きました。

日本語化した際のレンダリング例

<m>2x + 3y ≦ 15 のように、数式内外に全角文字を使うことができるようになります</m>

2x + 3y ≦ 15 のように、数式内外に全角文字を使うことができるようになります

<m>点 P の座標を( p , p + 2 )とし、点 P から x 軸に垂線 PH をひくと、  OH = QH</m>\\
<m>よって、  Q  の座標は( 2p , 0 )と表せるから、</m>\\
<m>{1/2} * 2p ( p + 2 ) = 15</m>

点 P の座標を( p , p + 2 )とし、点 P から x 軸に垂線 PH をひくと、  OH = QH
よって、  Q  の座標は( 2p , 0 )と表せるから、
{1/2} * 2p ( p + 2 ) = 15