FONT-V-это библиотека строк шрифтов с открытым исходным кодом ( libfv ) и исполняемый файл ( font-v ) для чтения, отчетности, изменения и написания идентификаторов таблицы таблицы OpEntype 5 записей и головной таблицы FONTREVISION в *.otf и *.ttf FONTS.
FONT-V построен с Python и может использоваться на платформах Linux, MacOS и Windows с текущими версиями переводчиков Python 2 и Python 3.
Библиотека libfv и исполняемый файл font-v устанавливаются одновременно со следующими инструкциями по установке.
Установка с менеджером PIP -пакетов является рекомендуемым подходом.
Установите с помощью PIP, используя следующую команду:
$ pip install font-v
Обновите на новую версию FONT-V со следующей командой:
$ pip install --upgrade font-v
FONT-V выполняется с помощью набора подкомандов и параметров, которые определяют ваш запрос командной строки.
$ font-v [subcommand] (options) [font path 1] ([font path ...])
reportОтчет о имени таблицы таблицы Opentype и Head Table Fontrevision Records
Вариант :
--dev -включите все идентификаторы таблицы идентификатора идентификатора и идентификатор таблицы имен 5 x в отчете writeЗаписать номер версии для головы таблицы записей Fontrevision и строки версий, чтобы назвать идентификатор таблицы 5 записей.
Параметры :
Следующая опция используется с помощью write для изменения номера версии как в записи головы, так и в записи идентификатора идентификатора 5:
--ver=[version #] -изменить текущий номер версии новым номером версии, используя 1.000 , 1_000 или 1-000 синтаксиса в командной строке (последние два формата предоставляются для поддержки определений в оболочках, где период является специальным символом оболочки) Следующие параметры можно использовать с помощью write для изменения строки версии в идентификаторе идентификации имени 5:
--dev -добавить метаданные состояния разработки в строку версии (взаимоисключающий с --rel )--rel -добавить метаданные статуса выпуска в строку версии (взаимоисключающий с --dev )--sha1 -Добавить GIT Commit SHA1 SHA1 Короткие метаданные состояния хэша в строку версии (требуется источник в управлении версией GIT)reportВведите следующее, чтобы отобразить номер версии и идентификатор версии Head Fontrevision.
$ font-v report Example-Regular.ttf
Включите флаг --dev , чтобы включить строку версии (nameid 5), содержащуюся во всех платформных записях:
$ font-v report --dev Example-Regular.ttf
write Идентификатор идентификатора 5 записей (ы) и записи головы Fontrevision изменены, когда --ver= используется в вашей команде.
Введите нужный номер версии в MAJOR.MINOR Format после флага --ver= . Поддержка предусмотрена для замены глифы на предполагаемом периоде в команде подчеркиванием _ или Dash - для пользователей на платформах, где период является специальным символом оболочки.
Все следующие результаты в изменении номера версии на 2.020 :
$ font-v write --ver=2.020 Example-Regular.ttf
$ font-v write --ver=2_020 Example-Regular.ttf
$ font-v write --ver=2-020 Example-Regular.ttf
Этот запрос может быть объединен с другими вариантами, чтобы включить штатные и статусные метаданные одновременно.
write Если ваш источник шрифта находится под управлением версий GIT, вы можете штамповать строку версии идентификатора идентификатора идентификатора 5 с помощью короткого хэш-дигеста SHA1 (как правило, n = 7-8 символов, что определяется для подтверждения того, что он представляет уникальное значение для фиксации репозитория), которое представляет собой коммит GIT в начале активного ветви GIT. GIT Commit Hash Digest Hash Digest определяется командой git rev-list во главе вашего активного филиала репозитория и будет соответствовать первоначальным N-символам git Commit Hash Digest, который отображается при просмотре своего git log (или просматривает HASH HASH в пользовательском интерфейсе платформ хостинга GIT-репозитория, такие как Github). Это предназначено для поддержания метаданных в бинарном шрифте о состоянии исходного кода во время сборки.
Используйте опцию --sha1 с подкомандом write как это:
$ font-v write --sha1 Example-Regular.ttf
Короткий хеш -дайдж Sha1 добавляется со следующей форматированием строки версии:
Version 1.000;[cf8dc25]
Это может быть объединено с другими параметрами (например, для изменения номера версии +/- добавить метаданные разработки или статуса выпуска в той же команде. Другие метаданные сохраняются и добавляются к пересмотренной строке версии в формате с разграниченным полуколоном с этой модификацией.
Эта опция не изменяет запись головы.
write Вы можете изменить строку версии идентификатора идентификатора идентификатора 5, чтобы указать, что сборка предназначена как сборка разработки или сборка с флагом --dev или --rel . Это взаимоисключающие варианты. Включите только один в свою команду.
Чтобы добавить метаданные статуса развития, используйте такую команду:
$ font-v write --dev Example-Regular.ttf
и строка версии изменена в следующем формате:
Version 1.000;DEV
Чтобы добавить метаданные статуса выпуска, используйте такую команду:
$ font-v write --rel Example-Regular.ttf
и строка версии изменена со следующим форматом:
Version 1.000;RELEASE
Включите флаг --sha1 с флагом --dev или --rel в команду, чтобы включить как статус, так и метаданные состояния в строку версии:
$ font-v write --sha1 --dev Example-Regular.ttf
$ font-v report Example-Regular.ttf
Example-Regular.ttf:
----- name.ID = 5:
Version 1.000;[cf8dc25]-dev
----- head.fontRevision:
1.000
или
$ git write --sha1 --rel Example-Regular.ttf
$ git report Example-Regular.ttf
Example-Regular.ttf:
----- name.ID = 5:
Version 1.000;[cf8dc25]-release
----- head.fontRevision:
1.000
Любые данные, которые последовали за исходным номером версии, сохраняются и добавляются после метаданных состояния в формате полуколона.
Эти параметры не изменяют запись головы Fontrevision.
Библиотека Libfv Python обнажает объект FontVersion вместе со связанным набором атрибутов и публичных методов для чтения, модификаций и записей номера версии версии записи Fontrevision и имени и идентификатора идентификаторов. Исполняемый файл font-v основан на публичных методах, доступных в этой библиотеке.
Полная документация API LIBFV доступна по адресу http://font-v.readthedocs.io/
libfv в свой проект Чтобы использовать библиотеку LIBFV, установите проект FONT-V приведенными выше инструкциями и импортируйте класс FontVersion в свой скрипт Python со следующим:
from fontv . libfv import FontVersionFontVersion Далее создайте экземпляр класса FontVersion с одним из следующих подходов:
# Instantiate with a file path to the .ttf or .otf font
fv = FontVersion ( "path/to/font" )или
# Instantiate with a fontTools TTFont object
# See the fonttools documentation for details (https://github.com/fonttools/fonttools)
fv = FontVersion ( fontToolsTTFont ) Библиотека LIBFV автоматизирует анализ строки версии в набор атрибутов общедоступного класса FontVersion и выявлять публичные методы, которые вы можете использовать для изучения и изменения строки версий. Модифицированные строки версий могут быть записаны обратно в файл шрифта или в новый шрифт на другом пути файла.
Обратите внимание, что все изменения в строке версии сделаны в памяти. Файл записывает с этими модифицированными данными, когда вызывающий код явно вызывает метод записи FontVersion.write_version_string() (подробности доступны ниже).
FontVersion Вы можете изучить полную версию идентификатор и идентификатор идентификатора 5 и номер версии Fontrevision в памяти (включая после модификации, которые вы внесете в код вызова) со следующим:
fv = FontVersion ( "path/to/font" )
vs = fv . get_name_id5_version_string () fv = FontVersion ( "path/to/font" )
vs = fv . get_head_fontrevision_version_number ()Все модификации версий с публичными методами сделаны в памяти. Когда вы будете готовы написать их в файл шрифта, вызовите следующий метод:
fv = FontVersion ( "path/to/font" )
# do things to version string
fv . write_version_string () # writes to file used to instantiate FontVersion object
fv . write_version_string ( fontpath = "path/to/differentfont" ) # writes to a different file path FontVersion.write_version_string() предоставляет дополнительный параметр fontpath= , который можно использовать для определения другого пути файла, чем тот, который использовался для создания объекта FontVersion .
Сравните имени Таблица идентификатор таблицы 5 Запись равенства между двумя шрифтами:
fv1 = FontVersion ( "path/to/font1" )
fv2 = FontVersion ( "path/to/font2" )
print ( fv1 == fv2 )
print ( fv1 != fv2 ) Некоторые общие задачи модификации строки шрифтов, которые поддерживаются библиотекой libfv , включают следующее:
Установите номер версии в идентификаторе идентификатора идентификатора 5 и Head Fontrevision Records:
fv = FontVersion ( "path/to/font" )
fv . set_version_number ( "1.001" )Установите строку полной версии в записи идентификатора идентификатора идентификатора. Номер версии проанализирован и используется для определения записи головы.
fv = FontVersion ( "path/to/font" )
fv . set_version_string ( "Version 2.015; my metadata; more metadata" ) fv = FontVersion ( "path/to/font" )
# version number = "Version 1.234"
vno = fv . get_version_number_tuple ()
print ( vno )
> >> ( 1 , 2 , 3 , 4 )
fv2 = FontVersion ( "path/to/font2" )
# version number = "Version 10.234"
vno2 = fv2 . get_version_number_tuple ()
print ( vno2 )
> >> ( 10 , 2 , 3 , 4 )Удалить все метаданные из строки версии:
fv = FontVersion ( "path/to/font" )
# pre modification version string = "Version 1.000; some metadata; other metadata"
fv . clear_metadata ()
# post modification version string = "Version 1.000" Добавьте подстроение состояния разработки/выпуска в запись идентификатора идентификатора 5:
fv = FontVersion ( "path/to/font" )
# Label as development build
fv . set_development_status ()
# --> adds `DEV` status metadata to version string
# Label as release build
fv . set_release_status ()
# --> adds `RELEASE` status metadata to version string Добавьте метаданные состояния исходного кода в запись идентификатора идентификатора 5:
fv = FontVersion ( "path/to/font" )
# Set git commit SHA1 only
fv . set_state_git_commit_sha1 ()
# --> adds "[sha1 hash]" state metadata to build
# Set git commit SHA1 with development status indicator
fv . set_state_git_commit_sha1 ( development = True )
# --> adds "[sha1 hash]-dev" state metadata to build
# Set git commit SHA1 with release status indicator
fv . set_state_git_commit_sha1 ( release = True )
# --> adds "[sha1 hash]-release" state metadata to build Полная документация API libfv доступна по адресу http://font-v.readthedocs.io/
Вклад источника в библиотеку LIBFV и исполняемый файл FONT-V поощряется и приветствуется! Пожалуйста, смотрите документацию Appling.md для получения подробной информации.
Построен с фантастическими библиотеками Ponttools и Gitpython Python.
MIT Лицензия