Hyperglot помогает типа дизайнеров ответить на, казалось бы, простой вопрос о поддержке языка в шрифтах: когда я могу использовать шрифт A, чтобы установить тексты на языке B? Это требует прагматического ответа, определив стандартный набор символов для каждой орфографии, используемой языком. База данных, которая в настоящее время содержит информацию для более чем 640+ языков, находится в стадии разработки, предназначенная для роста.
Мы записываем основные и любые вспомогательные наборы символов для каждой орфографии языка. Обратите внимание, что только активно используемые орфографии (их статус установлен на primary ) при обнаружении языковой поддержки в шрифте. Другие, вторичные или исторические, орфографии отображаются только для информационных целей.
Там, где это актуально, мы также предоставляем краткую конструктивную заметку, содержащую советы о требованиях к формированию и позиционированию, которые выходят за рамки точек кода симвода Unicode. Гиперглот следует использовать только для определения того, можно ли рассмотреть шрифт для использования с определенным языком. Он ничего не говорит о качестве дизайна шрифта.
Hyperglot - это работа, предоставляемая как есть, и валидность его языковых данных варьируется. Чтобы помочь вам оценить обоснованность результатов, которые вы просматриваете, каждый язык в базе данных поставляется с меткой, указывающей качество данных, которые мы имеем для него (например, некоторые считаются drafts , некоторые были verified ). Мы проверили информацию по различным онлайн -источникам и офлайн, и мы стремимся постоянно улучшать ее. Тем не менее, мы признаем, что отображение всех языков мира таким образом находится за пределами нашей способности - нам нужна помощь от пользователей каждого соответствующего языка! Итак, если вы заметите проблему или заметите, что ваш любимый язык вообще отсутствует в базе данных, свяжитесь с нами. Мы с радостью включим ваши отзывы и почитаем вас.
Узнайте больше о Hyperglot в веб -приложении о странице
Сравнение гиперглота и CLDR Unicode
Есть несколько способов, как использовать базу данных:
pip install hyperglot , см. Примечания к использованию ниже)pip install hyperglot )Несколько заметок, чтобы проиллюстрировать, почему вопрос о поддержке языка сложный:
Важно отметить, что в шрифтах существует нечто большее, чем поддержка набора кодовых точек . Шрифт должен включать глифы с приемлемыми/читаемыми формами персонажей для конкретного языка. Иногда существуют региональные или языковые вариации для одной и той же кодовой точки, что означает, что разные языки представляют разные требования к форме символа, но идентичные требования к кодовой точке символа. Более того, глифы должны взаимодействовать, как и ожидалось, согласно конкретному сценарию/орфографии. Например, некоторые языки/сценарии требуют (или решительно ожидают) определенных комбинаций глифа для формирования лигатур или некоторых комбинаций глифа, требуют дополнительной коррекции между расстоянием (кернинг), чтобы предотвратить столкновения или пробелы. Таким образом, отчет, созданный инструментами Hyperglot, должен использоваться только для определения того, можно ли рассмотреть шрифт для использования с определенным языком. Он ничего не говорит о качестве дизайна.
Узнайте больше об этом в веб -приложении о странице
Символы представлены с использованием кодовых точек Unicode в цифровых текстах, например, в Latin-Fript Letter a есть кодовая точка U+0061 . Цифровые шрифты Opentype отображают эти кодовые точки на глифы, визуальные представления символов. Чтобы узнать, можно ли использовать шрифт для текстов на определенном языке, нужно знать, какие точки кода символа требуются для языка. Это то, для чего предназначена база данных Hyperglot.
Список кодепоинтов получен из шрифта.
Базу данных можно получить в двух режимах:
ä ), кодепоины для базовых символов и комбинирование символов марки (например, a и комбинирование ¨ ) из этих комбинаций не требуются, если комбинация не имеет кодированной формы или флаг --marks .--decomposed необходимо сдерживать базовый символ и объединение знаков для языка (например, языки с ä будут соответствовать шрифтам, которые имеют только a и комбинируют ¨ , но ä в качестве закодированного глифа). Указанный уровень validity используется для фильтрации языковых записей с более низкой (смыслом, более неопределенной) достоверностью.
Если запрошены, base и aux (вспомогательные) списки кодепоинтов объединяются для достижения более строгих критериев с помощью опции --support . marks в данных требуются на основе флагов --decomposed и --marks . Оценки, которые появляются только в символах aux не потребуются для base достоверности.
При обнаружении языковой поддержки рассматриваются кодовые точки для любой основной орфографии для данного языка. Орфографии с historical и secondary статусом игнорируются. Если несколько орфографий имеют значение preferred_as_group , они считаются одной орфографией, даже если включать несколько сценариев.
При обнаружении поддержки орфографии используйте --include-all-orthographies , все орфографии для данного языка проверяются индивидуально. Ортографии со secondary статусом включены. Орфографии с historical статусом игнорируются.
Если список точек кода в шрифте включает в себя все кодовые точки из списка кодепоинтов из баллов 5 или 6, считается, что шрифт поддерживает этот язык/орфографию. Кроме того, присоединение поведения и привязанности отмечено, и язык/орфография считается поддерживаемым только в том случае, если шрифт формирует их правильно. В списках поддерживаемые языки сгруппированы по сценариям.
Комбинация языковой орфографии означает, что язык, который имеет несколько орфографий, использующих различные сценарии (например, серб или японский), указан под всеми этими сценариями в результатах инструментов.
Важное примечание: веб -приложение в настоящее время не включает в себя формирующие чеки!
Простой инструмент CLI предоставляется для данных поддержки вывода языка для передачи в файле шрифта.
Вам нужно будет установить Python 3. Установите через PIP:
pip install hyperglothyperglot path/to/font.otf или проверить несколько шрифтов одновременно, или их комбинированное покрытие (с -m union )
hyperglot path/to/font.otf path/to/anotherfont.otf ...Дополнительные варианты :
-s, --support : укажите, на каком уровне поддержки можно проверить (в настоящее время параметры «база» (по умолчанию, если опущен) или «Aux»)-m, --marks : Флаг, чтобы сигнализировать о шрифте, также должен включать все объединения марок, используемых для языка -по умолчанию требуются только эти оценки, которые не являются частью предварительного кодированных символов (по умолчанию неверно)-d, --decomposed : флаг, чтобы сигнализировать о шрифте, следует считать поддержкой языка, если у него есть все базовые глифы и оценки для написания языка -по умолчанию также требуются предварительные предварительные глифы (по умолчанию неверно)-a, --autonyms : вывод языковых имен на их родном языке и сценарии--speakers : снимайте, сколько ораторов у каждого языка (где доступно)--sort : укажите «динамики» для сортировки по динамикам (по умолчанию «алфавит»)--sort-dir : укажите «desc» для сортировки в порядке убывания (по умолчанию «ASC» для восходящего порядка)-o, --output : поставьте путь файла, чтобы записать вывод, в формат YAML. Для одного входного шрифта это будет подмножество базы данных гиперглот с языками и орфографиями, которые поддерживает шрифт. Если предоставлено несколько шрифтов, файл YAML будет иметь ключ DICT верхнего уровня для каждого файла. Если вариант -m предоставлен, файл YAML будет содержать конкретный результат пересечения или объединения-c, --comparison : Как обрабатывать ввод, если предоставляется несколько файлов (в настоящее время варианты «индивидуальные», «объединение» и «перекресток»)--include-all-orthographies : проверьте все орфографии языка, а не только его основной (ы)--validity : указать, чтобы фильтровать по уровню достоверности языковых данных (по умолчанию «предварительно»)--include-historical : вариант включать языки и орфографии, отмеченные как исторические (по умолчанию неверно)--include-constructed : вариант включения языков и орфографий, которые помечены как построенные (по умолчанию ложное)--strict-iso : отображение языковых имен и макролагуновских данных строго в соответствии с ISO (по умолчанию неверно)-v, --verbose : больше информации о ведении журнала (по умолчанию неверно)-V, --version : распечатать номер версии версии гиперглота (по умолчанию неверно) Установка пакета PIP также установила команды hyperglot-validate и hyperglot-save , которые позволяют проверять и сохранение данных YAML структурированным и совместимым способом.
Hyperglot поставляется с командой hyperglot-report , которая принимает все одинаковые варианты основной команды hyperglot (см. Выше). Кроме того, эти параметры требуют отчетов о том, какие символы или формирование отсутствуют, чтобы поддерживать языки, обнаруженные как не поддерживаемые:
--report-missing : параметр для сообщений о непревзойденных языках, которые отсутствуют n или меньше символов. Если n равно 0 все языки с любым количеством пропущенных символов указаны (по умолчанию).--report-marks : параметр для сообщений о языках, которые отсутствуют n или меньше последовательностей прикрепления марки. Если n равно 0 все языки с любым номером, какое -либо количество пропущенных последовательностей приложения отмечена (по умолчанию).--report-joining : параметр для сообщений о языках, которые отсутствуют n или меньше последовательностей соединения. Если n - 0, все языки с любым количеством пропущенных последовательностей соединения перечислены (по умолчанию).--report-all : параметр для установки/перезаписи всех остальных параметров --report-xxx . Структура данных описана в отдельном файле вместе с руководящими принципами для участия.
Обновления передаются/объединяются в филиал dev с master Branch, держащей последнюю выпущенную версию.
База данных и внесение вклад
base + mark База данных и инструменты Hyperglot были первоначально разработаны Розеттой, мировыми специалистами типографии, издателями и создателями оригинальных шрифтов, отвечающих потребностям глобальной типографии.
До сих пор разработка инструмента была поддержана Розеттой, Антонио Кавенони (@verbosus), и мы подаем заявку на большее финансирование. Вы также можете спонсировать Hyperglot через GitHub.
Основные участники, пока:
Полный список участников