Mozilla での MathML
Maintained by Roger B. Sidje <rbs@maths.uq.edu.au>
アップデート
- Mozilla Firefox 1.5 がリリースされました。このリリースは、このプロジェクトの成果を取り入れ、すべてのプラットフォーム (Windows、Linux、Mac) は、ネイティブで MathML をサポートしています。このリリースではまた、 SVG をネイティブでサポート しています。
- 今週のマークアップ(あるいは二週間分の ...)
- 各タグのステータス(ライヴデモを含む) - 2001年 12月 7日
ディスカッションフォーラム
MathML に関連する議論は、ニュースグループ netscape.public.mozilla.mathml で行われています。Mozilla MathML ニュースグループ に送られたメッセージは、Mozilla MathML メーリングリスト に転送されます。またその逆も行われています。メーリングリストは、講読 または u講読解除 することができます。(本文は空白にしておいてください)
リンク
- MathML Version 2.0 (Second Edition) - W3C 勧告 2003年 10月 21日
- W3C MathML テストスイート - 各属性(またはビルトインのレンダリング挙動)ごとにそれぞれの要素が実装されているかを、徹底的に確認するためにデザインされています。
フォント および MathML 利用可能な Mozilla バイナリ
MathML サンプルドキュメント
MathML ドキュメントを作成する
- オーサリングガイドライン - 最新の Mozilla MathML 描画エンジンのほとんどを網羅
- MathZilla - itex2MML を使った リアルタイム変換 にスポット
- TtM - LaTeX から MathML への変換
- TeX4ht - LaTeX から MathML への変換
- MathMLc2p - Content Markup から Presentation Markup へ(XSL-T スタイルシート)
- フォント - 科学論文のためのキャラクタ・実体

以下のテキストは、プロジェクトが発足した 1999年 5月のものです。それ以来、いくつかのマイルストーンが出来上がり、エレガントな MathML 描画部が最大の焦点とされてきたと共に、新しいツールも登場しました。例えば、ライヴ TeX-to-MathML 変換は、itex2MML といったサーバーサイドのコンバータと共に利用可能になっています。また、プロトタイプの JavaScripted MathML エディタのおかげで、<object type="text/mathml">...</object> は、かつてほど奇妙なものではなくなっています。さらに、XSLT や SOAP といった、他の相互運用的なアプローチも開発されています。
概観
このプロジェクトでは MathML の入出力に関する研究を行なっています。
- このプロジェクトの優先課題は、MathML の高速かつコンパクトな処理系を提供し、Gecko によって数式表現である
<math>...</math>のグラフィカルな描画を可能にすることにあります。 - もう一つの目標は、MathML の WYSIWYG なインターフェースを提供することです。これは、標準的な 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 プロジェクトの最終目標です。
このプロジェクトのグラフィカル入力部は、数式表現を作成・編集するために「ポイント・アンド・クリック」的なオーサリングツールを提供することを目指しています。しかし、グラフィカルな外見の下には、Composer や form 入力フィールドに入れることができるような、素の MathML テキストが存在します。
スタイルシートや JavaScript、カット・アンド・ペーストなどについてはどうでしょうか? おわかりのように、基礎を十分に構築するだけでなく、このプロジェクトへのあなたのアドバイスと手助けを待っている問題がまだまだたくさんあるのです!