現在、当サイト「mozilla.org 日本語版」の和訳文書は更新されておらず、mozilla.org の原文 よりも内容が古くなっている可能性があります。ご不便をお掛けしますが、最新の情報は原文をご確認ください。



Mozilla での MathML

Maintained by Roger B. Sidje <rbs@maths.uq.edu.au>

アップデート

ディスカッションフォーラム

MathML に関連する議論は、ニュースグループ netscape.public.mozilla.mathml で行われています。Mozilla MathML ニュースグループ に送られたメッセージは、Mozilla MathML メーリングリスト に転送されます。またその逆も行われています。メーリングリストは、講読 または u講読解除 することができます。(本文は空白にしておいてください)

リンク

フォント および MathML 利用可能な Mozilla バイナリ

MathML サンプルドキュメント

MathML ドキュメントを作成する

以下のテキストは、プロジェクトが発足した 1999年 5月のものです。それ以来、いくつかのマイルストーンが出来上がり、エレガントな MathML 描画部が最大の焦点とされてきたと共に、新しいツールも登場しました。例えば、ライヴ TeX-to-MathML 変換は、itex2MML といったサーバーサイドのコンバータと共に利用可能になっています。また、プロトタイプの JavaScripted MathML エディタのおかげで、<object type="text/mathml">...</object> は、かつてほど奇妙なものではなくなっています。さらに、XSLTSOAP といった、他の相互運用的なアプローチも開発されています。

概観

このプロジェクトでは MathML の入出力に関する研究を行なっています。

  • このプロジェクトの優先課題は、MathML の高速かつコンパクトな処理系を提供し、Gecko によって数式表現である <math>...</math> のグラフィカルな描画を可能にすることにあります。
  • もう一つの目標は、MathMLWYSIWYG なインターフェースを提供することです。これは、標準的な MathML テキスト内で内部表現を採用するグラフィカルな数式エディタとなるでしょう。したがって、次のような基本機能を提供するはずです:
    • Composer での数式編集ボタン;
    • インプットフィールド

      <form>
       <object type="application/mathml+xml">...</object>
      </form>
      のサポート
  • 変換サービスもまた、重要です。数式が多用される文書での lingua franca (共通言語)は TeX/LaTeX であって、MathML は未だ広まっていません。したがって、TeX から MathML への数式コンバータがあると便利でしょう。他にも MathML へのコンバータが便利であるという根拠が存在します。MathML 処理系のコア部分をコンパクトかつ高速に維持しておくためには、MathML 以外のフォーマットをサポートするわけにはいきません。興味を持ったグループが、MathML 処理系のコアに連結できるような独立したコンバータを貢献できるように、適切なモジュールデザイン原理を採用することが望まれます。これによって、数式を表現する際に多く用いられる厄介なインライン GIF や Java アプレットに代わる、よりよい代替手段を提供することができるはずです。

実装

数式は、ボックスの集合体として表現されます。ボックスとは、数学エンティティ(記号、演算子、デリミタなど)を囲むバウンディングボックスのことです。これらエンティティの配置決定規則(下付添字、上付添字、分数など)があれば、再帰的な手法で数式の構文解析ツリーを解釈することにより、ボックスモデルを構築することが可能になります。

オブジェクト指向パラダイムを用いることで、それぞれのボックスを、固有の性質を保持し、且つ、共通の性質は共有するオブジェクトとみなせます。CSS パラダイムによって、各ボックスは、別の CSS フレームを埋め込むことができる CSS フレームとみなすことができます。ゆえに、この二つのパラダイム間で直接的な対応づけが可能なのです。

MathML は、presentational タグsemantic/content タグという、二種類の数式表現形式を提供します。どちらの形式で数式が与えられても、レイアウトと表示を行なう Gecko へ渡せるような、CSS フレームの塊を構築することが MathML プロジェクトの最終目標です。

このプロジェクトのグラフィカル入力部は、数式表現を作成・編集するために「ポイント・アンド・クリック」的なオーサリングツールを提供することを目指しています。しかし、グラフィカルな外見の下には、Composerform 入力フィールドに入れることができるような、素の MathML テキストが存在します。

スタイルシートや JavaScript、カット・アンド・ペーストなどについてはどうでしょうか? おわかりのように、基礎を十分に構築するだけでなく、このプロジェクトへのあなたのアドバイスと手助けを待っている問題がまだまだたくさんあるのです!