
Versão 0.3.0
Status: rascunho experimental e instável
Strings de versão de software geralmente incluem a seguinte semântica:
A abordagem semver estabelecida e amplamente usada para o versão semântica de software usa o número de versão do número de versão MAJOR.MINOR.PATCH com um padrão baseado em API de software para valores incrementados durante o processo de desenvolvimento de software. Metadados adicionais são comumente anexados a esta sintaxe de Semver para indicar a prontidão do software para uso geral pelo usuário final, à medida que o trabalho avança em direção a um marco de liberação (por exemplo, v1.2.0-alpha , v1.2.0-beta , v1.2.0-rc.1 , v1.2.0-rc.2 , v1.2.0 ). Projetos que criam artefatos binários compilados do código -fonte frequentemente associam uma gravadora ao artefato de compilação para estabelecer um registro do estado do código -fonte no horário de construção (por exemplo, uma string de hash sha1 commit git).
Esses conceitos de versão se aplicam ao desenvolvimento do software do tipo de letra e são desejáveis durante o processo de desenvolvimento; No entanto, eles não são todos definidos sob a especificação de versão do OpenType Fonte. As seqüências de versão do software do tipo de letra são compiladas no registro NameId 5 da tabela de nome do opentype e no registro do Fontrevisão da tabela de cabeças do OpenType. Esses registros são definidos na especificação do formato OpenType, como abaixo, e explicados na documentação das práticas recomendadas (fonte) do SIL Font Development Best Practices (fonte).
String de versão. Deve começar com a sintaxe 'versão'. (Case superior, minúscula, ou misto, com um espaço entre "versão" e o número).
A string deve conter um número de versão do seguinte formulário: um ou mais dígitos (0-9) de valor menor que 65.535, seguidos por um período, seguidos por um ou mais dígitos de valor menor que 65.535. Qualquer caractere que não seja um dígito encerrará o número menor. Um personagem como ";" é útil para separar diferentes informações da versão.
A primeira correspondência desse tipo na string pode ser usada pelo software de instalação para comparar versões de fontes. Observe que alguns instaladores podem exigir que a string inicie com "versão", seguida por um número de versão como acima.
(Fonte)
Definido pelo fabricante de fontes
(Fonte)
A especificação OpenType define um número de versão como MAJOR.MINOR . Não há especificação para um número de versão do PATCH / BUILD nem strings de metadados do número de versão. A versão de fonte se desvia mais do formato do número da versão semver como resultado da convenção do compilador de fontes para incluir o preenchimento zero em números de versão MINOR . Embora esse nem sempre seja o caso nos registros NameID 5, este é um formato consistente usado no registro da cabeça. A interpretação dos números de versão com essa abordagem não é intuitiva. A versão do número da versão Version 1.1 , Version 1.01 e Version 1.001 são definidas como "diferentes", embora esses números possam representar o mesmo estágio de desenvolvimento (ou seja, uma iteração além da primeira grande versão). Essas diferenças nos números de versão emergem devido a convenções estabelecidas pelo (s) autor (s) do projeto e pelas ferramentas que eles usam para compilar fontes de seu código -fonte. As definições do OpenType não especificam um formato para indicar o status de desenvolvimento de um projeto de tipo de letra em relação ao seu marco de versão, nem definem uma abordagem para manter informações sobre o estado do código -fonte no horário de construção no artefato de construção da fonte. A falta de um padrão formal para abordar os problemas acima forneceu o ímpeto para esta especificação.
A especificação da versão aberta da fonte (OpenFV) representa uma extensão compatível da tabela de nome OpenType NameId 5 Register e OpenType Head.Fontrevision Registro Especificações. O OpenFV destina -se a servir como um padrão de versão do software de letra para o desenvolvimento, teste, liberação e uso do código -fonte do tipo de letra e os artefatos de construção (fontes) derivados da fonte. Esta especificação define uma sintaxe de string de número de versão com fundamentos semânticos que mantêm dados informativos para desenvolvedores e usuários.
As palavras -chave "devem", "não devem", "necessárias", "devem", "não", "deve", "não deve", "recomendado", "pode" e "opcional" neste documento devem ser interpretadas conforme descrito na RFC 2119.
As cadeias de versões no nome da tabela de nome do opentype 5 registram devem ser definidas como substâncias delimitadas de semicolon de elementos de dados obrigatórios e opcionais.
A sintaxe da especificação OpenFV para os elementos da substring da string de versão completa é:
[Font Version Number]; [Status/State Metadata]; [Other Metadata]
A string da versão da fonte deve incluir:
A string de versão da fonte pode incluir:
A substring número da versão da fonte:
MAJOR da versão, um período (U+002E), dígitos do número de versão MINOR .MINOR e o semicolon. O número da versão MAJOR :
O número da versão MINOR :
MINOR . O número da versão MINOR deve ter um valor mínimo de 000 e um valor máximo de 999. A substring dos metadados do estado:
a-zA-Z0-9._-[ como caractere inicial e o delimitador ] como o caractere final da substring. O conteúdo da string dentro desses delimitadores deve ser definido como o "rótulo do estado". O rótulo do estado deve ter 50 caracteres ou menos.A substring dos metadados de status:
DEVRELEASE-dev-release Outras substringas de metadados:
O número da versão da fonte no registro do Fontrevisão da tabela de cabeças do OpenType:
MAJOR da versão, um período, um período MINOR de dígitos do número de versãoMINOR com exatamente três dígitos de comprimento. Para números de versão MINOR menor que 100, o preenchimento zero deve ser usado. O número da versão MINOR deve ter um valor mínimo de 000 e um valor máximo de 999.MAJOR nem após o número da versão MINORMAJOR.MINOR versão MAJOR.MINOR . O número da versão MAJOR.MINOR não deve ser destinado a representar o estado de código -fonte no horário de construção nos artefatos de construção e pode não ser único nos artefatos de construção, pois o trabalho é realizado para alcançar uma das MAJOR.MINOR versões.MAJOR deve ser definido como 0 durante a fase de desenvolvimento de pré-produção antes da liberação inicial. A versão MAJOR 0 deve indicar esta fase de desenvolvimento de pré-produção.MAJOR deve ser definido como 1 no momento da versão inicial para os usuários finais. A conversão da versão MAJOR número 0 para a versão MAJOR número 1 deve indicar o reconhecimento dos autores de que o código -fonte e a criação de artefatos atendem à definição de liberação do OpenFV.A semântica para alterações no número da versão deve incluir um incremento pelo valor de 1 do:
MAJOR da versão para a conclusão dos principais marcos específicos do projeto e todas as alterações incompatíveis atrasadas feitas no software do tipo de letra (por exemplo, a eliminação do suporte para todo um intervalo de código Unicode).MINOR para alterações de funcionalidade, hotfix e dependência. Exemplos incluem: Quando o número MAJOR da versão for incrementado, o número da versão MINOR deve ser alterado para um valor de 000.
Exemplos de nome ID da tabela 5 Strings de versão de gravação que atendem à especificação OpenFV incluem:
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
Exemplos de seqüências de versão do registro da tabela de cabeça Fontrevisão que atendem à especificação OpenFV incluem:
1.001
10.010
100.100
CC por 4.0