Такие библиотеки, как mathjax и katex, могут отображать сложные формулы в Интернете без каких-либо плагинов. Есть информация как это реализовать?
Судя по моему ограниченному пониманию существующих шрифтов, формы шрифтов по существу фиксированы. Например, я могу увеличить или уменьшить размер буквы «А», сделать ее курсивом или полужирным, но нет механизма произвольного изменения ее формы (для данного шрифта).
С другой стороны, такие библиотеки, как mathjax/katex, похоже, делают то, что невозможно для стандартных шрифтов. Например, возьмем знак квадратного корня. Под знаком квадратного корня может быть одна функция, либо под ней может быть сколь угодно длинное и сложное выражение. Символ квадратного корня изменяется соответствующим образом. Как это возможно?
Одна возможность состоит в том, что эти математические «шрифты» не являются шрифтами в обычном смысле. Это просто svg-линии и кривые, что касается html. Однако, похоже, это не так, поскольку я могу выбирать (части) выражения так же, как я мог бы выбрать несколько слов в предложении.
Я спрашиваю об этом, потому что некоторые человеческие языки, такие как арабский/персидский/урду, не очень хорошо отображаются на большинстве веб-страниц, и причины, по-видимому, в том, что отдельные символы (или части символов) меняются в зависимости от того, что происходит или следует за символом. . Другими словами, этим языкам нужен контекстно-зависимый алгоритм, что, похоже, не подходит для большинства механизмов рендеринга текста.
Любопытно узнать, как отображаются математические формулы, чтобы я мог понять, как использовать эту технологию для отображения урду (в частности, насталик).