MathJax を使用する場合に,本家のサイトを利用するのではなく,自分のところのサーバーにインストールして利用する場合の設定に関して記述します。クロスドメインリクエストにおけるフォントの扱いがポイントとなります。OS は ubuntu ver.12 を利用しています。クロスドメインで他のサイトから研究室の JavaScript(MathJax) を利用するのですが,その際に Web フォントもクロスドメインで利用することになります。他サイトからのフォントへのリクエストに答えるためには,適切なヘッダーを付けて応答する必要があります。ヘッダーを付加するために .htaccess ファイルを使用します。
最初は .htaccess ファイルを利用できるように mod_rewrite を有効にします。後半は .htaccess ファイルの設置です。
<directory /var/www/html/ >
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</directory>
a2enmod rewrite
a2enmod headers
sudo /etc/init.d/apache2 restart
<filesMatch "\.(ttf|otf|eot|woff|css)$">
<ifModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</ifModule>
</filesMatch>
Internet Explorer において,フォント(web fonts)の利用で難しい点がありました。どうもJavaScript のキャッシュと絡んでいたようです。javascript をキャッシュから読み込むと,それ以降のフォントもキャッシュから読み込むことになって,更新された情報となっていないようでした。過去にフォントを読み込んで,読み込みに失敗した状態がいつまでも記憶されているようでした。以前からあるのですが,IE のJavaScriptキャッシュの問題と似ています。