Некоторые установленные шрифты в семействе шрифтов не вступают в силу

windows #fonts #emacs

#Windows #шрифты #emacs

Вопрос:

Я сгенерировал семейство шрифтов (Ricty) с помощью скрипта на этом сайте. Существует четыре файла шрифтов (стилей) с четырьмя стилями шрифтов:

  • Ricty-Regular.ttf
  • Выделено жирным шрифтом.ttf
  • Ricty-Oblique.ttf
  • Ricty-BoldOblique.ttf

Я установил эти файлы в Windows 10.

  • (Ситуация 1) Если установить Ricty-Regular.ttf и Ricty-Bold.ttf , а затем Ricty-Oblique.ttf и Ricty-BoldOblique.ttf , в панели управления> Шрифты, Ricty-Regular.ttf Ricty-Bold.ttf отображается только и. (Извините за скриншоты, это японский)

    введите описание изображения здесь

  • (Ситуация 2) Если Ricty-Oblique.ttf Ricty-BoldOblique.ttf сначала установить и, а затем два других шрифта, на панели управления> шрифты отображаются только эти шрифты. введите описание изображения здесь
  • (Другая ситуация) Для Ricty-Regular.ttf и Ricty-Oblique.ttf , какой бы ни был установлен первым, выиграет (показать на панели управления). Аналогично, для Ricty-Bold.ttf и Ricty-BoldOblique.ttf , какой бы ни был установлен первым, выиграет (показать на панели управления).
  • В любой ситуации все четыре шрифта будут отображаться в настройках> Шрифты. введите описание изображения здесь

Я настроил Emacs (Spacemacs) на использование этого семейства шрифтов, в ситуации 1 все символы написаны обычным стилем, а в ситуации 2 все символы написаны наклонным стилем. (К вашему сведению, в ситуации 2 VSCode может отображать обычный стиль).

Обновить

Проверил значения таблиц с помощью OT Master Light 3.70.

Таблица шрифтов Поле Ricty-Regular.ttf Ricty-Oblique.ttf Выделено жирным шрифтом.ttf Ricty-BoldOblique.ttf
заголовок macStyle 0x0000 0x0000 0x0000 0x0000
Имя идентификаторы имен 0 <длинная строка авторских прав> <длинная строка авторских прав> <длинная строка авторских прав> <длинная строка авторских прав>
идентификаторы имен 1 Ricty Ricty Ricty Ricty
идентификаторы имен 2 Обычный Наклонный Жирный шрифт Жирный наклонный
идентификаторы имен 3 FontForge 2.0: Ricty Regular: 27-11-2021 FontForge 2.0: Ricty Oblique: 27-11-2021 FontForge 2.0: выделено жирным шрифтом: 27-11-2021 FontForge 2.0: Ricty Bold Наклонный: 27-11-2021
идентификаторы имен 4 Ricty Обычный Наклонный наклонный Выделено жирным шрифтом Мелкий жирный наклонный
идентификаторы имен 5 Версия 4.1.1 Версия 4.1.1 Версия 4.1.1 Версия 4.1.1
идентификаторы имен 6 Ricty-обычный Наклонный наклонный Выделенный жирным шрифтом Ricty-BoldOblique
идентификаторы имен 16 <не существует> <не существует> <не существует> <не существует>
идентификаторы имен 17 <не существует> <не существует> <не существует> <не существует>
идентификаторы имен 21 <не существует> <не существует> <не существует> <не существует>
идентификаторы имен 22 <не существует> <не существует> <не существует> <не существует>
OS / 2 версия 0x0001 0x0001 0x0001 0x0001
usWeightClass 400 400 700 700
fsSelection 0x0080 0x0280 0x0080 0x0280

Комментарии:

1. Было бы полезно узнать, какие данные были заполнены в таблице ‘head’ (поле macStyle), таблице ‘name’ (идентификаторы имен 1, 2, 3, 4, 6, 16, 17, 21 и 22) и таблица ‘OS/ 2’ (usWeightClass и fsSelection) вшрифты. Вы можете указать указатель на шрифты или использовать такой инструмент, как OTLMaster Light 3.7, для проверки этих значений.

2. @PeterConstable, обновлено значениями таблицы.

3. Добавленные вами значения не являются необоснованными. В поле OS / 2.fsSelection бит 9 (0x0200) указывает «наклонный», а бит 0 (0x0001) указывает «курсив». Некоторые программы рассматривают наклонный шрифт как то же самое, что и курсив, хотя они разные. Итак, возможно , тот факт, что бит 9 установлен, но бит 1 не установлен, создавал некоторую путаницу, хотя я бы этого не ожидал. Еще одна вещь, которую вы могли бы добавить в таблицу, — это значение поля macStyle в таблице ‘head’.

4. Какой инструмент можно использовать для изменения этих значений в существующем файле шрифтов?