MathML в HTML5: изменение шрифта math



Допустим, у меня есть документ HTML5 с некоторым MathML в нем. Я устанавливаю шрифт тела страницы, но он не изменяет шрифт, используемый для символов MathML:



<!DOCTYPE html>
<html lang="en">
<head>
<title>Example of MathML embedded in an HTML5 file</title>
<meta charset="utf-8" />
</head>
<body style="font-family: courier;">
Quadratic formula
<math><mrow>
<mi>x</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mo form="prefix">−</mo>
<mi>b</mi>
<mo>&PlusMinus;</mo>
<msqrt>
<msup>
<mi>b</mi>
<mn>2</mn>
</msup>
<mo>−</mo>
<mn>4</mn>
<mo>&InvisibleTimes;</mo>
<mi>a</mi>
<mo>&InvisibleTimes;</mo>
<mi>c</mi>
</msqrt>
</mrow>
<mrow>
<mn>2</mn>
<mo>&InvisibleTimes;</mo>
<mi>a</mi>
</mrow>
</mfrac>
</mrow></math>
</body>
</html>


В courier появится текст "квадратичная формула", но MathML останется шрифтом страницы по умолчанию. Как я могу изменить шрифт, используемый для MathML?

621   2  

2 ответов:

Вероятно, вам следует прочитать этот документ в сети разработчиков Mozilla. Я предполагаю, что следующий абзац применим в вашем случае:

Математические формулы используют различные символы, представленные специфические символы Юникода. Mozilla может отображать любой из этих символов при условии, что установлены подходящие шрифты Unicode. Кроме того, в в соответствии с рекомендацией W3C CSS2 по шрифтам, авторы могут укажите упорядоченный список конкретных шрифтов, которые они предпочитают (используя свойство семейства шрифтов CSS), с гарантией того, что Mozilla font engine будет искать альтернативные шрифты всякий раз, когда они указаны шрифты не встречаются в системе конкретного пользователя.

Один из разработчиков Mozilla MathML, похоже, регулярно ведет блог. Есть два последних сообщения, которые будут интересны вам:

  1. установка математических шрифтов
  2. о математических шрифтах

Итог похоже, что для того, чтобы гарантировать достойный рендеринг MathML, вам нужно, чтобы ваши пользователи установили либо MathJax, STIX илиAsana Math шрифты.

Это делает курьера в jsfiddle здесь: http://jsfiddle.net/jalbertbowdenii/8VKJg/ Какой браузер / операционную систему вы используете?

Включая MathJax.js в скрипке делает это правильно:


<script src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML"
async>
</script>
jsfiddle с MathJax.JS рендеринг правильно

Comments

    Ничего не найдено.