Chrome и Firefox отрисовывают различия символов юникода - MathJax - PullRequest
1 голос
/ 21 февраля 2011

У меня проблемы с выяснением, почему Chrome и Firefox отображают некоторые вещи по-разному. Ниже приведены изображения части моего проекта в Firefox (вверху) и Chrome (внизу). MathJax отображает все по мере загрузки страницы, и после того, как все обработано и набрано, оно отображается на странице. Так что я не уверен, что это моя вина по вине MathJax. Во всяком случае, вот изображения ...

Firefox Chrome

... если вы заметили, квадрат с черной рамкой в ​​Chrome отличается, и плохо. Есть идеи, почему это может происходить? Следующее выводится из консоли Chrome ...

Resource interpreted as font but transferred with MIME type image/svg+xml. /MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Main-Regular.svg#MathJax_Main-Regular:-1
Resource interpreted as font but transferred with MIME type image/svg+xml. /MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Main-Bold.svg#MathJax_Main-Bold:-1
Resource interpreted as font but transferred with MIME type image/svg+xml. /MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Main-Italic.svg#MathJax_Main-Italic:-1
Resource interpreted as font but transferred with MIME type image/svg+xml. /MathJax/fonts/HTML-CSS/TeX/svg/MathJax_Math-Italic.svg#MathJax_Math-Italic:-1
etc...

Код для рендеринга квадрата в одиночку, без всех других причудливых вещей, относительно прост ...

<div id="square">
   <math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
     <mo id="tag0" class="expand">&#x25FB;</mo>
   </math>
</div>

... а потом я говорю MathJax сделать его ...

MathJax.Hub.Queue(["Typeset", MathJax.Hub, "square"]);

... и MathJax делает свое дело (я не контролирую рендеринг MathJax). Так что я не совсем понимаю, в чем проблема.

Я знаю, что это очень странный и очень специфический вопрос, но я надеюсь, что кто-то в сообществе Stack Overflow может иметь какую-то идею или иметь дело с MathJax ранее. Надеюсь, что некоторые мозговые штурмы помогут решить эту проблему.

Ответы [ 3 ]

4 голосов
/ 21 февраля 2011

Окно, которое вы видите в Chrome, является символом «недостающий символ». Шрифты MathJax не включают U + 25FB, поэтому Chrome показывает отсутствующий символ. Похоже, что Firefox находит символ другим шрифтом и использует его (или, возможно, у вас есть шрифты STIX на машине с Firefox, но не на Chrome, и MathJax использует это). Браузеры различаются по своей способности находить альтернативные шрифты для символов, которых нет в шрифтах MathJax.

В любом случае, попробуйте использовать U + 25A1 вместо U + 25FB и посмотрите, будет ли это работать лучше для вас.

Davide

1 голос
/ 21 февраля 2011

MathML будет приходить в Chrome изначально, WebKit уже некоторое время работает над ним: http://www.webkit.org/projects/mathml/index.html

Полагаю, этот вопрос следует пометить как ошибку для MathJax.Надеюсь, скоро будет собственное решение.

0 голосов
/ 21 февраля 2011

У меня нет реального ответа, однако различия в рендеринге между браузерами не новы.Я использую Firefox, Chrome, Opera, IE (в таком порядке), довольно часто один из браузеров рендерит лучше остальных.Firefox имеет несколько хороших плагинов для отладки, вы можете попробовать их (Firebug ???).Предупреждение: вы можете потратить много усилий на это.Если у вас возникнут проблемы с CSS, ой:).

...