
Versión 0.3.0
Estado: borrador experimental e inestable
Las cadenas de versiones de software comúnmente incluyen la siguiente semántica:
El enfoque Semver establecido y ampliamente utilizado para la versión de software semántico utiliza el formato de número de versión MAJOR.MINOR.PATCH con un estándar basado en API de software para valores incrementados durante el proceso de desarrollo de software. Los metadatos adicionales se agregan comúnmente a esta sintaxis de Semver para indicar la preparación del software para el uso general por v1.2.0-rc.1 del usuario final a medida que el trabajo progresa hacia un hito v1.2.0-beta lanzamiento (p v1.2.0-alpha v1.2.0-rc.2 v1.2.0 Los proyectos que crean artefactos binarios compilados del código fuente frecuentemente asocian una etiqueta con el artefacto de compilación para establecer un registro del estado del código fuente en el tiempo de compilación (por ejemplo, una cadena de hash git commit sha1).
Estos conceptos de versiones se aplican al desarrollo del software tipográfico y son deseables durante el proceso de desarrollo; Sin embargo, no todos están definidos bajo la especificación de versiones de fuentes OpenType. Las cadenas de versión del software tipográfica se compilan en el registro NameId 5 de la tabla de nombre OpenType y el registro de FontreVision de la tabla OpenType. Estos registros se definen en la especificación de formato OpenType como se muestra a continuación, y se explican en la documentación de las mejores prácticas de desarrollo de fuente SIL (fuente).
Cadena de versión. Debe comenzar con la sintaxis 'versión'. (Case superior, minúscula o mixto, con un espacio entre "versión" y el número).
La cadena debe contener un número de versión de la siguiente forma: uno o más dígitos (0-9) de valor inferior a 65,535, seguido de un período, seguido de uno o más dígitos de valor inferior a 65,535. Cualquier personaje que no sea un dígito terminará el número menor. Un personaje como ";" es útil para separar diferentes piezas de información de la versión.
La primera coincidencia de este tipo en la cadena se puede utilizar mediante el software de instalación para comparar las versiones de fuentes. Tenga en cuenta que algunos instaladores pueden requerir que la cadena comience con "versión", seguida de un número de versión como se indica anteriormente.
(Fuente)
Establecido por el fabricante de fuentes
(Fuente)
La especificación OpenType define un número de versión como MAJOR.MINOR . No hay especificaciones para un número de versiones de PATCH / BUILD ni cadenas de metadatos de número de versión. El versiones de fuentes se desvía más del formato de número de versión SEMVER como resultado de la convención del compilador de fuentes para incluir el relleno cero en números de versión MINOR . Si bien este no siempre es el caso en los registros de NameId 5, este es un formato consistente utilizado en el registro de fondos. La interpretación de los números de versión con este enfoque no es intuitiva. Las cadenas de número de versión Version 1.1 , Version 1.01 y Version 1.001 se definen como "diferentes", aunque todos estos números pueden representar la misma etapa de desarrollo (es decir, una iteración más allá de la primera versión principal). Estas diferencias en los números de versión surgen debido a las convenciones establecidas por los autores del proyecto y por las herramientas que utilizan para compilar fuentes de su código fuente. Las definiciones de OpenType no especifican un formato para indicar el estado de desarrollo de un proyecto tipográfico relativo a su hito de la versión, ni definen un enfoque para mantener información sobre el estado del código fuente en el tiempo de compilación dentro del artefacto de compilación de la fuente. La falta de un estándar formal para abordar los problemas anteriores proporcionó el ímpetu para esta especificación.
La especificación de la versión de fuente Open (OpenFV) representa una extensión compatible del registro de la tabla de nombre OpenType NameId 5 y el cabezal de OpenType. OpenFV tiene la intención de servir como un estándar de versiones de software tipográfico para el desarrollo, las pruebas, la versión y el uso del código fuente de los tipos de letra y los artefactos de compilación (fuentes) derivados de la fuente. Esta especificación define una sintaxis de cadena de número de versión con base semántica que mantiene datos informativos tanto para desarrolladores como para usuarios.
Las palabras clave "deben", "no", "requeridos", "deberán", "no", "deberían", "no debe", "recomendado", "mayo" y "opcional" en este documento deben interpretarse como se describe en RFC 2119.
Las cadenas de versiones en el registro de la tabla de nombre de Nombre OpenType deben definirse como subcadenas delimitadas de semicolon de elementos de datos obligatorios y opcionales.
La sintaxis de especificación OpenFV para los elementos de subcadena de la cadena de versión completa es:
[Font Version Number]; [Status/State Metadata]; [Other Metadata]
La cadena de la versión de fuente debe incluir:
La cadena de la versión de fuente puede incluir:
La subcadena del número de versión de fuente:
MAJOR , un período (U+002e), dígitos de número de versión MINOR .MINOR y el punto y coma. El número de versión MAJOR :
El número de versión MINOR :
MINOR . El número de versión MINOR debe tener un valor mínimo de 000 y un valor máximo de 999. La subcadena de metadatos estatales:
a-zA-Z0-9._-[ como el carácter inicial y el delimitador ] como el carácter final de la subcadena. El contenido de la cadena dentro de estos delimitadores se definirá como la "etiqueta de estado". La etiqueta de estado debe ser de 50 caracteres o menos.La subcadena de metadatos de estado:
DEVRELEASE-dev-release Otras subcadenas de metadatos:
El número de versión de fuente en el registro de FonreVision de la tabla de cabeza OpenType:
MAJOR , un período, dígitos de número de versión MINORMINOR que tenga exactamente tres dígitos de longitud. Para números de versión MINOR de menos de 100, se debe usar relleno cero. El número de versión MINOR debe tener un valor mínimo de 000 y un valor máximo de 999.MAJOR ni después del número de versión MINORMAJOR.MINOR debe representar un hito de lanzamiento que puede implementarse de manera incompleta en la fuente que se define con un número de versión MAJOR.MINOR . El número de versión MAJOR.MINOR no debe representar el estado del código fuente en el tiempo de compilación en artefactos de compilación y puede no ser único en todos los artefactos de compilación a medida que el trabajo se lleva a cabo para lograr un hito MAJOR.MINOR .MAJOR debe establecerse en 0 durante la fase de desarrollo de preproducción antes de la versión inicial. La versión MAJOR del número 0 indicará esta fase de desarrollo de preproducción.MAJOR debe establecerse en 1 en el momento de la versión inicial a los usuarios finales. La conversión de la versión MAJOR del número 0 al número de versión MAJOR 1 indicará el reconocimiento de los autores que el código fuente y la creación de artefactos cumplen con la definición de lanzamiento de OpenFV.La semántica de los cambios en el número de versión incluirá un incremento por el valor de 1 de:
MAJOR para la finalización de los principales hitos específicos del proyecto y todos los cambios incompatibles hacia atrás realizados en el software tipográfico (por ejemplo, la eliminación de soporte para un rango de código de Unicode completo).MINOR para la funcionalidad, la hotfix y los cambios de dependencia. Los ejemplos incluyen: Cuando se incrementa el número de versión MAJOR , el número de versión MINOR se cambiará a un valor de 000.
Ejemplos de nombre ID de tabla de nombre 5 Las cadenas de versión de registro que cumplen con la especificación OpenFV incluyen:
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
Ejemplos de la tabla principal FONTREVISION Record Las cadenas de versión que cumplen con la especificación OpenFV incluyen:
1.001
10.010
100.100
CC por 4.0