Лингвофорум

Администрация => Работа форума => Тема начата: poshat от октября 17, 2017, 01:09

Название: Универсальный шрифт для многоязычного сайта
Отправлено: poshat от октября 17, 2017, 01:09
Вопрос не только по работе форму, но и других сайтов в сети, на которых не отображается корректно нужная информация из-за отсутствия необходимых шрифтов в операционной системе. Поиск и установка необходимых шрифтов в систему может оказаться довольно нетривиальной задачей, к тому же давно есть возможность подгружать необходимые шрифты через оформление сайта - его стили (через css файл), но это уже обязанность владельца ресурса - обеспечить посетителям нормальный просмотр информации без дополнительных телодвижений.
Подгрузка нужных шрифтов через стили осуществляется примерно таким образом:
@import url(//fonts.googleapis.com/earlyaccess/notosanskannada.css);
body {font-family: 'Noto Sans Kannada', sans-serif;}

Проблема в том, что разные шрифты поддерживают разные наборы символов юникода и для многоязычных сайтов, как, например, этот форум, придется подгружать довольно много шрифтов.
Вездесущий гугл выпустил универсальный шрифт Noto (https://fonts.google.com/earlyaccess), полная версия которого весит 1Гб, что слишком много для загрузки через сайт.
А ведь нужна-то для начала поддержка пары десятков наборов символов:
арабский
тайский
деванагари (без остальных языков Индии)
китайский
корейский
японский
вьетнамский
кириллица

Можно, например, осуществлять подгрузку из html документа необходимого щрифта на каждой отдельной странице подобной конструкцией:

<style>
@import url(//fonts.googleapis.com/earlyaccess/droidsansthai.css);
div#content {
font-family: 'Droid Sans Thai', sans-serif;
}
</style>

Но хотелось бы чего-то более универсального для всего сайта. Может знаете такие универсальные шрифты.
Название: Универсальный шрифт для многоязычного сайта
Отправлено: TestamentumTartarum от октября 17, 2017, 11:47
Я уже как-то высказывался на эту тему. Даже просил либо добавить универсальный шрифт, либо сменить стандартный на него.
Есть шрифт Gentium, который охватывает часть нужд и весит не так много. Также есть вроде бы веб-версия этого шрифта.
И видимо, в подключении к форуму веб-шрифта и есть возможное решение, так как насколько знаю - на сервере места мало.
Но, увы, я без понятия как это сделать.
Например, на typeit.org можно выбрать каким шрифтом будут отображаться специфические символы и буквы.
Название: Универсальный шрифт для многоязычного сайта
Отправлено: Bhudh от октября 18, 2017, 23:27
Можно посмотреть в сторону SVG-шрифтов.
Плюсы: формат текстовый, при прямых руках и оптимизации начертаний будет весить считанные байты.
Минусы: понимается не везде как надо, часто сохраняется в форматах обрабатывающих программ, что превращает прямые байты в жирные мегабайты.
Про универсальные восточные шрифты надо узнавать, я как-то не интересовался.
Название: Универсальный шрифт для многоязычного сайта
Отправлено: Тайльнемер от октября 19, 2017, 06:25
Цитата: Bhudh от октября 18, 2017, 23:27
формат текстовый, при прямых руках и оптимизации начертаний будет весить считанные байты.
Бинарные форматы компактнее, особенно, woff.
XML требует столько писанины, что считанные байты не получатся даже с очень прямыми руками.

SVG-шрифты могут действительно быть меньше засчёт отсутствия информации о хинтинге — хинтинг они не поддерживают. Но это сложно назвать преимуществом.
Название: Универсальный шрифт для многоязычного сайта
Отправлено: Krasimir от октября 19, 2017, 06:51
Цитата: poshat от октября 17, 2017, 01:09
Но хотелось бы чего-то более универсального для всего сайта. Может знаете такие универсальные шрифты.
Перепробовал очень много шрифтов и пришёл к выводу: только Cambria справляется со всеми задачами.
Название: Универсальный шрифт для многоязычного сайта
Отправлено: Тайльнемер от октября 19, 2017, 06:52
Цитата: Тайльнемер от октября 19, 2017, 06:25
XML требует столько писанины
Точнее, это не совсем так.
Бо́льшую часть файла занимают кривые Безье, координаты узлов которых в бинарных файлах записаны 4-байтовыми числами с плавающей точкой, а в SVG — числами в десятичной записи.
Под прямостью рук вы, вероятно, имели в виду округление чисел для минимизации длины их десятичной записи. Действительно, двузначное неотрицательное целое в такой записи будет на байт меньше. Но уже трёхзначное, или отрицательное, или число с десятичной точкой не будет иметь преимущества перед float'ом. Так что, да, если значительную часть координат сделать неотрицательными двузначными целыми, мы можем выиграть в размере, но часть выигрыша съест XML-разметка.

Ещё в бинарных файлах есть индексы для быстрого доступа к данным шрифта. Они тоже занимают некоторое место.
Название: Универсальный шрифт для многоязычного сайта
Отправлено: Тайльнемер от октября 19, 2017, 06:54
Цитата: Krasimir от октября 19, 2017, 06:51
Перепробовал очень много шрифтов и пришёл к выводу: только Cambria справляется со всеми задачами.
Цитата: poshat от октября 17, 2017, 01:09
арабский
тайский
деванагари (без остальных языков Индии)
китайский
корейский
японский
вьетнамский
кириллица
Из всего этого Камбрия поддерживает только кириллицу и вьетнамскую латиницу.
Название: Универсальный шрифт для многоязычного сайта
Отправлено: Krasimir от октября 19, 2017, 06:56
Цитата: Тайльнемер от октября 19, 2017, 06:54
Цитата: Krasimir от октября 19, 2017, 06:51
Перепробовал очень много шрифтов и пришёл к выводу: только Cambria справляется со всеми задачами.
Цитата: poshat от октября 17, 2017, 01:09
арабский
тайский
деванагари (без остальных языков Индии)
китайский
корейский
японский
вьетнамский
кириллица
Из всего этого Камбрия поддерживает только кириллицу и вьетнамскую латиницу.
Зато она единственная, кто адекватно передаёт любые символы кир/лат с любой диакритикой. Мне хватает, и альтернативы нет. Про другие системы письма не знаю, таких шрифтов наверное, нет. Для тибетского и деванагари отдельные шрифты.
Название: Универсальный шрифт для многоязычного сайта
Отправлено: Bhudh от октября 19, 2017, 11:26
Цитата: Тайльнемер от октября 19, 2017, 06:52Под прямостью рук вы, вероятно, имели в виду округление чисел для минимизации длины их десятичной записи.
Не только. Ещё минимизацию количества самих кривых.
Название: Универсальный шрифт для многоязычного сайта
Отправлено: Wolliger Mensch от октября 19, 2017, 11:29
Цитата: Krasimir от октября 19, 2017, 06:56
Зато она единственная, кто адекватно передаёт любые символы кир/лат с любой диакритикой. Мне хватает, и альтернативы нет. Про другие системы письма не знаю, таких шрифтов наверное, нет. Для тибетского и деванагари отдельные шрифты.

Шрифт Charis из конторы SIL. Там, правда, нет греческого (для него — Gentium оттуда же), но опентайп там лучше реализован, чем в Камбрии.
Название: Универсальный шрифт для многоязычного сайта
Отправлено: Тайльнемер от октября 21, 2017, 08:26
Цитата: Bhudh от октября 19, 2017, 11:26
Не только. Ещё минимизацию количества самих кривых.
Ну, это любого формата касается.
Название: Универсальный шрифт для многоязычного сайта
Отправлено: poshat от октября 23, 2017, 13:04
Насколько понял из ответов универсальных шрифтов с поддержкой, к примеру, сразу и европейских символов, и азиатских не существует. Во многом из-за ограничений по размеру. Надо или для каждой страницы подгружать нужный шрифт с необходимым набором символов, или смотреть в сторону svg шрифтов, которые могут содержать сразу несколько наборов символов.
Вообще странно, что даже википедия не имеет встроенных возможностей для просмотра страниц на других языках без предварительных манипуляций с поиском и установкой нужных шрифтов на локальную машину. Можно же с помощью скрипта легко автоматизировать данный процесс и выдавать пользователям готовый к прочтению текст, а не ждать от пользователя, что он возьмет всю рутину на себя сам.
Название: Универсальный шрифт для многоязычного сайта
Отправлено: basta от октября 23, 2017, 13:18
unifont
Название: Универсальный шрифт для многоязычного сайта
Отправлено: Bhudh от октября 23, 2017, 13:19
Встроенные шрифты на веб-странице и установленные в системе шрифты: это всё-таки несколько разные вещи.
Википедия так не делает, думаю, потому, что возможности браузеров по работе со встраиваемыми шрифтами разные, а энциклопедии желательно давать всем одинаковую информацию, поэтому используются, например, графическое расширение Hiero вместо уникодовских египетских иероглифов и отдача PNG вместо рендеринга в MathML.
Универсальные шрифты-то есть, та же Universalia, но если всякий хрен её подгружать начнёт...
Название: Универсальный шрифт для многоязычного сайта
Отправлено: Bhudh от октября 23, 2017, 13:19
Цитата: basta от октября 23, 2017, 13:18
unifont
:uzhos: :3tfu:
Название: Универсальный шрифт для многоязычного сайта
Отправлено: Ботаник от октября 26, 2017, 23:52
Цитата: poshat от октября 17, 2017, 01:09
Вездесущий гугл выпустил универсальный шрифт Noto, полная версия которого весит 1Гб, что слишком много для загрузки через сайт.
Это исключительно за счёт шрифтов CJK.
Два основных стиля (Sans и Serif), четыре национальных варианта (JP, KR, TC, SC), в каждом по 7 начертаний, каждый национальный вариант по 115-125 МБ. Получается 2*4*120=960 МБ.

Все остальные шрифты в сумме 10 МБ.

Цитата: poshat от октября 17, 2017, 01:09
А ведь нужна-то для начала поддержка пары десятков наборов символов:
«Минимальный набор» понятие растяжимое. У каждого свои интересы, и одним что-то будет лишнее, а другим чего-то недоставать. В принципе производители софта в чём-то правы, что они не спешат создавать универсальный шрифт, а наоборот создают по шрифту на одну письменность (ну не считая шрифтов WGL4, плюс в новые версии некоторых старых шрифтов типа Arial, Tahoma, т.п. добавили арабский, иврит, тайский, и кое-что ещё — то есть самые главные алфавитные письменности уже давно полностью поддерживаются). Ибо большинство пользователей ограничиваются обычно одним или нескольким языками, все 140 письменностей им не нужны (0,01% любителей всех подряд языков не в счёт).

В самом обычном Windows ещё с версии XP было предостаточно шрифтов для основной массы письменностей, плюс с MS Office поставлялся Arial Unicode. Лично мне этого много лет хватало, наоборот я даже национальные шрифты удалял, ибо зачем мне, допустим, шрифт Mangal, если деванагари уже есть в Arial Unicode. Единственный минус: в Arial Unicode криво отображались комбинаторные диакритики, но для этого лучше использовать специальные шрифты (те же шрифты SIL или Cambria). И уж для полного счастья для тех, кого раздражают квадратики на месте редких письменностей, можно поставить Unifont.
Название: Универсальный шрифт для многоязычного сайта
Отправлено: Ботаник от октября 26, 2017, 23:57
Цитата: poshat от октября 17, 2017, 01:09
арабский
тайский
деванагари (без остальных языков Индии)
китайский
корейский
японский
вьетнамский
кириллица
Специально посмотрел свои шрифты. Вашему списку удовлетворяют Arial Unicode MS, Code2000, Unifont. Если убрать CJK, ещё добавится FreeSerif.
Не считая того, что в этих шрифтах присутствуют ещё куча других письменностей.
Название: Универсальный шрифт для многоязычного сайта
Отправлено: Bhudh от октября 27, 2017, 11:23
Unifont это который матричный?
Уже давно этому пиксельному навозу есть достойная альтернатива в виде Universalia/Universalia Plus.
Название: Универсальный шрифт для многоязычного сайта
Отправлено: Python от октября 27, 2017, 11:56
Цитата: Bhudh от октября 27, 2017, 11:23
Unifont это который матричный?
Уже давно этому пиксельному навозу есть достойная альтернатива в виде Universalia/Universalia Plus.
И то, и другое рендерится ужасно.

В Unifont'е больше всего добивает его недомоноширинность: ради совместимости с CJK часть символов имеют двойную ширину (что автоматически делает его несовместимым с консолью) и, что хуже всего, широкими сделаны не только иероглифы, но и общая псевдографика, например. Хотя, с другой стороны, диакритика с нулевой шириной выглядит естественнее, чем переделанная в моноширинную (как в Courir New), но ложится на моноширинные буквы лучше, чем в разноширинных шритах (как в той же Universalia).

У меня сейчас на LF выбрана Universalia,15px (если пиксели не задавать или задать не те, буквы калечатся), в текстовом редакторе — unifont (ну а что делать, если у меня в коде иногда и глаголица встречается? Впрочем, моноширинность, требуемая при редактировании кода, портится в unifont'е еще и тем, что жирные и обычные буквы имеют в этом шрифте разную ширину — что для кода с подсветкой цветом и выделением тоже плохо).
Название: Универсальный шрифт для многоязычного сайта
Отправлено: Bhudh от октября 27, 2017, 12:03
Универсалия делается не для красивости, у неё цель: именно представить весь актуальный Уникод.
Название: Универсальный шрифт для многоязычного сайта
Отправлено: Python от октября 27, 2017, 12:05
Это понятно, но зачем представлять юникод некрасиво, если можно и красиво?
Название: Универсальный шрифт для многоязычного сайта
Отправлено: Bhudh от октября 27, 2017, 12:07
А Вы хотите, чтобы шрифт с версией Уникода X выходил тогда, когда уже вышел Уникод версии X+1?
Название: Универсальный шрифт для многоязычного сайта
Отправлено: Python от октября 27, 2017, 22:10
Предположим, для новодобавленных символов действительно более важно их оперативное включение в шрифт, чем красивость. Но ведь бо́льшая часть юникода повторяется от версии к версии.
Название: Универсальный шрифт для многоязычного сайта
Отправлено: Ботаник от октября 27, 2017, 23:50
Цитата: Bhudh от октября 27, 2017, 12:03
Универсалия делается не для красивости, у неё цель: именно представить весь актуальный Уникод.
Судя по комментариям авторам (https://magazeta.com/2011/02/universalia-font/), шрифт этот создавался с единственной целью поддержки китайского. И с 2013, судя по всему, автором не поддерживается и не обновляется, и откуда скачать — неясно.

Unifont был создан не как основной, а как fallback шрифт. Глупо жаловаться на то, для чего этот шрифт и не был предназначен.
Название: Универсальный шрифт для многоязычного сайта
Отправлено: TestamentumTartarum от октября 30, 2017, 19:39
 :eat: Оставлю здесь

http://custom.simplemachines.org/mods/index.php?mod=3478
(http://custom.simplemachines.org/mods/index.php?mod=3478)

https://www.smfportal.de/index.php?topic=10511.0
(https://www.smfportal.de/index.php?topic=10511.0)

http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=using_web_fonts
(http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=using_web_fonts)

Считаю его лучшим для IPA:
(wiki/m) Gentium (https://en.m.wikipedia.org/wiki/Gentium)
Название: Универсальный шрифт для многоязычного сайта
Отправлено: Rusiok от января 7, 2018, 17:22
Почему после одних символов вижу диакритику:
Цитата: Rusiok от июля 25, 2016, 15:21
[ɕu̯]
, а в других случаях - не вижу?
Название: Универсальный шрифт для многоязычного сайта
Отправлено: Rusiok от января 8, 2018, 01:01
Вот ещё, тут вижу:
Цитата: Guldrelokk от января  7, 2018, 05:00
*ōi̯ > *ōu̯

И тут вижу: ōi̯ ōu̯.

А тут не вижу: i̯ u̯.
В чем дело?
Название: Универсальный шрифт для многоязычного сайта
Отправлено: Ботаник от января 8, 2018, 19:09
Всё хорошо, но лучше бы вы дали скан того, что вы лично видите, потому что, допустим, у меня всё прекрасно отображается.

Обычно это либо проблема отсутствующих/кривых шрифтов, либо софта (браузера). У Хрома больше всего проблем с шрифтами.
Название: Универсальный шрифт для многоязычного сайта
Отправлено: Ботаник от января 8, 2018, 19:14
Цитата: TestamentumTartarum от октября 30, 2017, 19:39
Считаю его лучшим для IPA:
(wiki/m) Gentium
А чем он лучший? Многие шрифты давно МФА хорошо отображают. Только если у него не какая-то исключительно большая таблица кернинга по сравнению с другими шрифтами, в чём я сомневаюсь. И на экране он выглядит не очень, ибо специально для печати создан, судя по всему.