
Версия 0.3.0
Статус: экспериментальный, нестабильный черновик
Строки версии программного обеспечения обычно включают в себя следующую семантику:
Установленный и широко используемый подход SEMVER к семантическому программному обеспечению использует формат номера версий MAJOR.MINOR.PATCH с стандартом на основе программного API для увеличения значений в процессе разработки программного обеспечения. Дополнительные метаданные обычно добавляются к этому синтаксису SEMVER, чтобы указать готовность программного обеспечения для общего использования к конечному пользователю по мере продвижения работы в направлении вехи выпуска (например, v1.2.0-alpha , v1.2.0-beta , v1.2.0-rc.1 , v1.2.0-rc.2 , v1.2.0 ). Проекты, которые создают составленные бинарные артефакты из исходного кода, часто связывают этикетку с артефактом сборки, чтобы установить запись состояния исходного кода во время сборки (например, строка HASH Commit Commit SHA1).
Эти концепции управления версиями применимы к разработке программного обеспечения для шрифтов и желательны в процессе разработки; Тем не менее, они не все определены в соответствии с спецификацией версии шрифта Opentype. Строки версии программного обеспечения шрифта скомпилированы в запись 5. Эти записи определены в спецификации формата Opentype, как показано ниже, и объясняются в документации «Лучшие практики разработки шрифта» (источник).
Версия строка. Должен начать с синтаксиса «версия». (Верхний корпус, нижний чехол или смешанный, с пространством между «версией» и числом).
Строка должна содержать номер версии следующей формы: одна или несколько цифр (0-9) значения менее 65 535, а затем период, за которым следует одна или более цифры стоимости менее 65 535. Любой символ, кроме цифры, прекратит незначительное число. Персонаж, такой как «». полезен, чтобы разделить различные части информации версии.
Первое такое совпадение в строке может использоваться программным обеспечением для установки для сравнения версий Font. Обратите внимание, что некоторые установщики могут потребовать, чтобы строка запустилась с «версии», а затем номер версии, как указано выше.
(Источник)
Установлен производителем шрифтов
(Источник)
Спецификация Opentype определяет номер версии как MAJOR.MINOR . Не существует спецификации для номера версии PATCH / BUILD , ни номера версии метаданных метаданных. Управление версиями шрифтов отклоняется от формата номера версий Semver в результате соглашения компилятора шрифта, включающего нулевое прокладку в MINOR номера версий. Хотя это не всегда так, как в записях nameid 5, это последовательный формат, используемый в записи головы. Интерпретация номеров версий с этим подходом не является интуитивной. Строки номера версии Version 1.1 , Version 1.01 и Version 1.001 все определяются как «разные», хотя все эти цифры могут представлять одну и ту же стадию разработки (т.е. одна итерация за пределами первого основного выпуска). Эти различия в номерах версий возникают из -за конвенций, установленных автором проектов и инструментами, которые они используют для компиляции шрифтов из их исходного кода. Определения OpenType не указывают формат, чтобы указать состояние разработки проекта шрифта относительно его вехи версии, а также не определяют подход для поддержания информации о состоянии исходного кода во время сборки в артефакте сборки шрифта. Отсутствие официального стандарта для решения вышеуказанных проблем обеспечило стимул для этой спецификации.
Спецификация Open Font версии (OpenFV) представляет собой совместимое расширение имен имени OpenType имени 5 Запись и спецификации opentype Head.fontRevision. OpenFV предназначен для того, чтобы служить стандартом управления программным обеспечением для шрифта для разработки, тестирования, выпуска и использования исходного кода шрифта и артефактов сборки (шрифтов), полученных из источника. Эта спецификация определяет синтаксис строки номера версии с семантическими основаниями, которые содержат информативные данные как для разработчиков, так и для пользователей.
Ключевые слова «должны», «не должны», «обязательно», «должны», «не должны», «не должны», «не должны», «рекомендуется», «может» и «необязательно» в этом документе должны интерпретироваться, как описано в RFC 2119.
Строки версий в идентификационном идентификаторе таблицы Opentype 5 должны быть определены как полуколонные подборы обязательных и дополнительных элементов данных.
Синтаксис спецификации OpenFV для элементов подстроки строки полной версии:
[Font Version Number]; [Status/State Metadata]; [Other Metadata]
Строка версии шрифтов должна включать:
Строка версии шрифтов может включать в себя:
Подстроение номера версии шрифта:
MAJOR цифры номера версии, период (U+002E), MINOR цифры номера версии.MINOR номером версии и полуколоном. MAJOR номер версии:
НОМЕР MINOR :
MINOR версии. MINOR номер версии должен иметь минимальное значение 000 и максимальное значение 999. Государственная подстроение метаданных:
a-zA-Z0-9._-[ как начальный символ и разделитель ] в качестве конечного характера подстроения. Содержимое строки внутри этих разделителей должно быть определено как «метка состояния». Штативная этикетка должна составлять 50 символов или меньше.Подстроение метаданных статуса:
DEVRELEASE-dev-release Другие подстроки метаданных:
Номер версии шрифта в записи FONTREVISION The OpenType Head Table:
MAJOR цифры (я), период, MINOR цифры номера версииMINOR номер версии, длиной ровно три цифры. Для MINOR номеров версий менее 100 необходимо использовать нулевую прокладку. MINOR номер версии должен иметь минимальное значение 000 и максимальное значение 999.MAJOR номера версии или после MINOR номера версииMAJOR.MINOR должен быть предназначен для представления вехи выпуска, которая может быть не полностью реализована в источнике, который определяется с номером MAJOR.MINOR версии. Номер версии MAJOR.MINOR не должен представлять состояние исходного кода в строительстве в артефактах сборки и не может быть уникальным для артефактов сборки, поскольку работа выполняется для достижения MAJOR.MINOR версии.MAJOR номер версии должен быть установлен на 0 на этапе предварительного производства разработки перед первоначальным выпуском. MAJOR версия № 0 должна указывать на эту предварительную фазу разработки.MAJOR номер версии должен быть установлен на 1 во время первоначального выпуска для конечных пользователей. Преобразование из MAJOR версии № 0 в MAJOR версию № 1 должна указывать на подтверждение авторов, что исходный код и сборка сборки соответствуют определению выпуска OpenFV.Семантика изменений в номере версии должна включать увеличение по значению 1 из:
MAJOR номер версии для завершения основных этапов, специфичных для проекта, и всех обратных несовместимых изменений, внесенных в программное обеспечение для шрифтов (например, устранение поддержки целого диапазона кодов Unicode).MINOR номер версии для функциональности, горячих и изменений зависимости. Примеры включают: Когда MAJOR номер версии увеличивается, MINOR номер версии должен быть изменен на значения 000.
Примеры идентификатора таблицы идентификатор таблицы 5 Строки версии записи, которые соответствуют спецификации OpenFV, включают:
Version 1.001
Version 1.001; DEV
Version 1.001; RELEASE
Version 1.001; [abcd123]
Version 1.001; [abcd123]-dev
Version 1.001; [abcd123]-release
Version 1.001; [abcd123]-dev; here are metadata
Version 1.001; [abcd123]-release; here are metadata
Version 1.001; here are metadata
Version 1.001; here are metadata; here are more metadata
Примеры версий версий FONTREVISION FONTREVISION, которые соответствуют спецификации OpenFV, включают:
1.001
10.010
100.100
CC на 4,0