FirefoxとMozillaでのSVGの取り組み

              加藤 誠
  Technical Advisor, Mozilla Japan
About Mozilla

• 1998年、Netscape Communicator 5のコード
  のオープンソース化に伴い、Mozilla.orgが設立
• 2003年、Mozilla Foundationが設立
• 2004年、Mozilla Europe / Mozilla Japan設立
• 2005年、Mozilla China設立
• 2005年、FirefoxとThunderbirdの開発等を行う
  組織、Mozilla Corporationを設立
• 2008年、Thunderbirdの開発等を行う組織、
  Mozilla Messagingが設立



                   2
Firefox

• Mozilla Application Suite (Webブラウザ、
  メールクライアント、HTMLエディタを統合し
  たもの)からブラウザ部分を切り出し、軽量化
  したもの
• 柔軟な拡張機能を持つ
 • Firefox自体が一種の拡張機能を利用して作られて
   いる
• レンダリングエンジンは、独自開発のGecko
• 2004年11月にバージョン1.0をリリース
• 最新版は、2010年1月にリリースされた3.6
Firefox

• 現在開発を主に行っているのは、Mozilla
  Corporation (本拠地: 米国マウンテンビュー)
• いくつかの地域(米国、カナダ、オーストラリ
  アなど)に開発オフィスが存在
• 開発者は全世界に散らばっている。当然日本に
  も
Firefox

• 正式にリリースされているプラットフォーム
 • Windows
 • Mac OS X
 • Linux (GTK+)
• 上記以外にも、SolarisやBSD等にも対応
• 英語版、日本語版以外の様々な言語版
 • 70言語版以上を提供
 • 外部貢献者のおかげで様々な言語版が提供できて
   いる



                     5
モバイル版Firefox
• Nokia N900版がリリース済み
 • Maemo 5用
• 現在、以下のプラットフォーム版を開発中
 • Windows Mobile Professional 6.x (アルファ版リ
   リース済み)
 • Android
• デスクトップ版とまったく同一のレンダリング
  エンジンを採用
 • Firefox Mobile 1.0は、Firefox 3.6とまったく同
   一のエンジンを採用
 • モバイルに制限を加えない
Gecko

• FirefoxなどMozillaの製品で利用されているレ
  ンダリングエンジン
 • SVG / MathMLサポートも含まれる
• 最新版は、Firefox 3.6で利用されているバー
  ジョン1.9.2
• さまざまなプラットフォームに移植されている
 • Windows / Mac OS X / Linux / Solarisなど
• グラフィックライブラリには、cairo
  (http://www.cairographics.org/)を使用
XUL (XML User Interface Language)

• XMLを用いたユーザーインターフェイス記述言
  語
• Firefox自体がXULで書かれている
 • Firefox = Gecko + XUL
• Firefoxで使われる拡張機能は、XULで記述




                     8
MozillaにおけるSVG
• Mozillaでの最初のSVGのコードは、2001年か
  ら
 • 実際には、1999年から検討開始
 • SVGを利用するには、ソースコードをコンパイル
   する必要があった
• Firefoxでは、1.5 (2005年11月リリース)から
  デフォルトで利用可能
 • リリースしている全プラットフォーム(Windows /
   Mac OS X / Linux)で利用可能
 • 現在のバージョンでは、プラットフォーム独立な
   グラフィックライブラリを利用してるため、どの
   プラットフォームでも同じ描画
MozillaにおけるSVG

• SVGについては、外部貢献者の協力が非常に大
  きい
 • オープンソースモデル
 • IBM、ボランティア貢献者など
• 現在でもSVGの実装については、Mozilla
  Foundation / Mozilla Corporation以外がメイ
  ン
テストツール

• 描画結果に関しては、reftestと呼ばれるテス
  トツールを常に利用。DOM操作については、
  MochiTestを利用
• ソースコードが変更された時に自動的にテスト
  が実行される
• Regressionが発見されれば、すぐ対処。対処
  できなければ、ソースコードを元に戻す
 • 速度の低下に関しても同様
• 新たな要素の実装を行った場合には、テスト項
  目も作成する必要がある


             11
SVGに関する主な問題
• SVGフォントモジュールをサポートしていない
 •   Bug 119490 – Implement SVG fonts
 •   そのためAcid 3 Testが100点ではない
• <svg:image>要素でSVGが利用不可能
 •   Bug 272288 - Allow SVG source for <svg:image>
• 報告されている問題は、Bugzillaを参照のこと
 •   https://bugzilla.mozilla.org/buglist.cgi?query_form
     at=advanced;bug_status=UNCONFIRMED;bug_sta
     tus=NEW;bug_status=ASSIGNED;bug_status=RE
     OPENED;component=SVG;product=Core;classificat
     ion=Components
その他ドキュメント

• Mozilla SVG Project
  •   https://wiki.mozilla.org/SVG:Home_Page
• Mozilla Developer Center / SVG
  •   https://developer.mozilla.org/en/SVG
• SVGの実装状況
  •   https://developer.mozilla.org/en/SVG_in_Firefox
• メーリングリスト
  •   news://news.mozilla.org/mozilla.dev.tech.svg
  •   http://groups.google.com/group/mozilla.dev.tech.
      svg/topics


                          13
Any Question?




      14

FirefoxとMozillaでのSVGの取り組み

  • 1.
    FirefoxとMozillaでのSVGの取り組み 加藤 誠 Technical Advisor, Mozilla Japan
  • 2.
    About Mozilla • 1998年、NetscapeCommunicator 5のコード のオープンソース化に伴い、Mozilla.orgが設立 • 2003年、Mozilla Foundationが設立 • 2004年、Mozilla Europe / Mozilla Japan設立 • 2005年、Mozilla China設立 • 2005年、FirefoxとThunderbirdの開発等を行う 組織、Mozilla Corporationを設立 • 2008年、Thunderbirdの開発等を行う組織、 Mozilla Messagingが設立 2
  • 3.
    Firefox • Mozilla ApplicationSuite (Webブラウザ、 メールクライアント、HTMLエディタを統合し たもの)からブラウザ部分を切り出し、軽量化 したもの • 柔軟な拡張機能を持つ • Firefox自体が一種の拡張機能を利用して作られて いる • レンダリングエンジンは、独自開発のGecko • 2004年11月にバージョン1.0をリリース • 最新版は、2010年1月にリリースされた3.6
  • 4.
    Firefox • 現在開発を主に行っているのは、Mozilla Corporation (本拠地: 米国マウンテンビュー) • いくつかの地域(米国、カナダ、オーストラリ アなど)に開発オフィスが存在 • 開発者は全世界に散らばっている。当然日本に も
  • 5.
    Firefox • 正式にリリースされているプラットフォーム •Windows • Mac OS X • Linux (GTK+) • 上記以外にも、SolarisやBSD等にも対応 • 英語版、日本語版以外の様々な言語版 • 70言語版以上を提供 • 外部貢献者のおかげで様々な言語版が提供できて いる 5
  • 6.
    モバイル版Firefox • Nokia N900版がリリース済み • Maemo 5用 • 現在、以下のプラットフォーム版を開発中 • Windows Mobile Professional 6.x (アルファ版リ リース済み) • Android • デスクトップ版とまったく同一のレンダリング エンジンを採用 • Firefox Mobile 1.0は、Firefox 3.6とまったく同 一のエンジンを採用 • モバイルに制限を加えない
  • 7.
    Gecko • FirefoxなどMozillaの製品で利用されているレ ンダリングエンジン • SVG / MathMLサポートも含まれる • 最新版は、Firefox 3.6で利用されているバー ジョン1.9.2 • さまざまなプラットフォームに移植されている • Windows / Mac OS X / Linux / Solarisなど • グラフィックライブラリには、cairo (http://www.cairographics.org/)を使用
  • 8.
    XUL (XML UserInterface Language) • XMLを用いたユーザーインターフェイス記述言 語 • Firefox自体がXULで書かれている • Firefox = Gecko + XUL • Firefoxで使われる拡張機能は、XULで記述 8
  • 9.
    MozillaにおけるSVG • Mozillaでの最初のSVGのコードは、2001年か ら • 実際には、1999年から検討開始 • SVGを利用するには、ソースコードをコンパイル する必要があった • Firefoxでは、1.5 (2005年11月リリース)から デフォルトで利用可能 • リリースしている全プラットフォーム(Windows / Mac OS X / Linux)で利用可能 • 現在のバージョンでは、プラットフォーム独立な グラフィックライブラリを利用してるため、どの プラットフォームでも同じ描画
  • 10.
    MozillaにおけるSVG • SVGについては、外部貢献者の協力が非常に大 きい • オープンソースモデル • IBM、ボランティア貢献者など • 現在でもSVGの実装については、Mozilla Foundation / Mozilla Corporation以外がメイ ン
  • 11.
    テストツール • 描画結果に関しては、reftestと呼ばれるテス トツールを常に利用。DOM操作については、 MochiTestを利用 • ソースコードが変更された時に自動的にテスト が実行される • Regressionが発見されれば、すぐ対処。対処 できなければ、ソースコードを元に戻す • 速度の低下に関しても同様 • 新たな要素の実装を行った場合には、テスト項 目も作成する必要がある 11
  • 12.
    SVGに関する主な問題 • SVGフォントモジュールをサポートしていない • Bug 119490 – Implement SVG fonts • そのためAcid 3 Testが100点ではない • <svg:image>要素でSVGが利用不可能 • Bug 272288 - Allow SVG source for <svg:image> • 報告されている問題は、Bugzillaを参照のこと • https://bugzilla.mozilla.org/buglist.cgi?query_form at=advanced;bug_status=UNCONFIRMED;bug_sta tus=NEW;bug_status=ASSIGNED;bug_status=RE OPENED;component=SVG;product=Core;classificat ion=Components
  • 13.
    その他ドキュメント • Mozilla SVGProject • https://wiki.mozilla.org/SVG:Home_Page • Mozilla Developer Center / SVG • https://developer.mozilla.org/en/SVG • SVGの実装状況 • https://developer.mozilla.org/en/SVG_in_Firefox • メーリングリスト • news://news.mozilla.org/mozilla.dev.tech.svg • http://groups.google.com/group/mozilla.dev.tech. svg/topics 13
  • 14.