A Font-Line é uma ferramenta de linha de comando de código aberto, para o OpenType Métricas verticais e modificações de espaçamento de linha de linha baseadas na linha de comando. Ele suporta a fonte .ttf e .otf construir.
$ pip3 install font-line$ font-line report [font path]$ font-line percent [integer %] [font path]$ font-line --help A fonte é construída com Python e suporta intérpretes do Python 3.7+. Verifique sua versão python instalada na linha de comando com o comando:
$ python3 --version
Use qualquer um dos métodos a seguir para instalar a linha da fonte no seu sistema.
A versão mais recente da linha de fontes está disponível no Índice de Pacote Python e pode ser instalada com PIP:
$ pip3 install font-line
Para atualizar para uma nova versão da linha de fontes após uma instalação pip, use o comando pip3 install --upgrade font-line .
A versão atual do repositório (que pode estar à frente da versão do Pypi) pode ser instalada baixando o repositório ou clonando -o com o Git:
git clone https://github.com/source-foundry/font-line.git
Navegue até o diretório de repositório de nível superior e insira o seguinte comando:
$ pip3 install .
Siga as mesmas instruções para atualizar para uma nova versão do aplicativo se você instalar com essa abordagem.
A linha de fonte funciona via subcomando para a linha de comando font-line executável. Os seguintes subconstações estão disponíveis:
percent - modifique o espaçamento da linha de uma fonte em uma porcentagem do ascendente para descender a distânciareport - Relatório OpenType Métricas Valores para uma fonteO uso desses subcomandos é descrito em detalhes abaixo.
Os seguintes valores das métricas verticais do OpenType e os valores calculados derivados desses dados são exibidos com o subcomando report :
report o uso de subcomandoDigite um ou mais argumentos de caminho da fonte para o comando:
$ font-line report [fontpath 1] <fontpath ...>
Aqui está um exemplo do relatório gerado com o arquivo de letreiro hackear Hack-Regular.ttf usando o comando:
$ font-line report Hack-Regular.ttf
=== Hack-Regular.ttf ===
Version 3.003;[3114f1256]-release
SHA1: b1cd50ba36380d6d6ada37facfc954a8f20c15ba
::::::::::::::::::::::::::::::::::::::::::::::::::
Metrics
::::::::::::::::::::::::::::::::::::::::::::::::::
[head] Units per Em: 2048
[head] yMax: 2027
[head] yMin: -605
[OS/2] CapHeight: 1493
[OS/2] xHeight: 1120
[OS/2] TypoAscender: 1556
[OS/2] TypoDescender: -492
[OS/2] WinAscent: 1901
[OS/2] WinDescent: 483
[hhea] Ascent: 1901
[hhea] Descent: -483
[hhea] LineGap: 0
[OS/2] TypoLineGap: 410
::::::::::::::::::::::::::::::::::::::::::::::::::
Ascent to Descent Calculations
::::::::::::::::::::::::::::::::::::::::::::::::::
[hhea] Ascent to Descent: 2384
[OS/2] TypoAscender to TypoDescender: 2048
[OS/2] WinAscent to WinDescent: 2384
::::::::::::::::::::::::::::::::::::::::::::::::::
Delta Values
::::::::::::::::::::::::::::::::::::::::::::::::::
[hhea] Ascent to [OS/2] TypoAscender: 345
[hhea] Descent to [OS/2] TypoDescender: -9
[OS/2] WinAscent to [OS/2] TypoAscender: 345
[OS/2] WinDescent to [OS/2] TypoDescender: -9
::::::::::::::::::::::::::::::::::::::::::::::::::
Baseline to Baseline Distances
::::::::::::::::::::::::::::::::::::::::::::::::::
hhea metrics: 2384
typo metrics: 2458
win metrics: 2384
[OS/2] fsSelection USE_TYPO_METRICS bit set: False
::::::::::::::::::::::::::::::::::::::::::::::::::
Ratios
::::::::::::::::::::::::::::::::::::::::::::::::::
hhea metrics / UPM: 1.16
typo metrics / UPM: 1.2
win metrics / UPM: 1.16
O relatório inclui a string da versão da fonte, um resumo de hash sha-1 do arquivo de fontes e métricas de tabela de openType que estão associadas ao espaçamento de linha na fonte.
Usuários Unix/Linux/OS X podem escrever este relatório em um arquivo com o idioma > Linha de comando:
$ font-line report TheFont.ttf > font-report.txt
Modifique o caminho do arquivo font-report.txt acima da sequência do caminho do arquivo de sua escolha.
Os cálculos de linha de base para a distância da linha de base (BTBD) são realizados de acordo com as recomendações da Microsoft para fontes OpenType e especificação de tabela OPENTYPE OS/2.
BTBD = hhea.Ascent + abs(hhea.Descent) + hhea.LineGap
BTBD = OS/2.typoAscent + abs(OS/2.typoDescent) + OS/2.typoLineGap
BTBD = OS/2.winAscent + OS/2.winDescent + [External Leading]
onde a liderança externa é definida como:
MAX(0, hhea.LineGap - ((OS/2.WinAscent + OS/2.winDescent) - (hhea.Ascent - hhea.Descent)))
A linha de fonte suporta modificações automatizadas de espaçamento de linha para uma porcentagem definida pelo usuário das unidades por métrica EM. Este valor será abreviado como UPM abaixo.
percent de uso de subcomandoDigite a porcentagem desejada do UPM como o primeiro argumento do comando. Isso deve ser inserido como um valor inteiro . Em seguida, digite um ou mais caminhos de fonte aos quais você gostaria de aplicar suas alterações nas métricas de fonte.
$ font-line percent [percent change] [fontpath 1] <fontpath ...>
Um valor padrão comum usado pelos designers do tipo de letra é de 20% UPM. Para modificar uma fonte no caminho que TheFont.ttf para 20% da métrica da UPM, você inseriria o seguinte comando:
$ font-line percent 20 TheFont.ttf
Aumente ou diminua o valor inteiro para aumentar ou diminuir o espaçamento da sua linha de acordo.
O arquivo de fonte original é preservado em uma versão não modificada e a gravação do arquivo modificada ocorre em um novo caminho definido como [original filename]-linegap[percent].[ttf|otf] . O caminho para o arquivo é relatado para você na saída padrão após a conclusão da modificação. A linha de fonte não modifica o conjunto de glifos ou dicas aplicadas à fonte. Consulte a seção de detalhes abaixo para obter uma descrição das modificações da tabela OpenType que ocorrem quando o aplicativo é usado em um arquivo de fonte.
Você pode inspecionar as métricas verticais no novo arquivo de fonte com o subcomando report (veja o uso acima).
percent subcomando A interpretação e a exibição desses múltiplos valores de métricas verticais dependem da plataforma e do aplicativo. Não há uma abordagem de "melhor" amplamente aceita. Como tal, a linha de fonte tenta preservar o design das métricas originais na fonte quando as modificações são feitas com o subcomando percent .
Atualmente, a linha de fonte suporta três abordagens de métricas verticais comumente usadas.
Métricas verticais abordagem 1 :
Onde métricas são definidas como:
A linha da fonte calcula um valor delta para a altura total esperada com base no valor de % UPM definido na linha de comando. A diferença entre esse valor e o número observado de unidades que abrange o [OS/2] WASSCENT até os valores do Windescent é dividido pela metade e depois adicionado a (para aumento do espaçamento de linha) ou subtraído de (para o espaçamento da linha diminuído) cada um dos três conjuntos de valores de ascendência/descendência na FONT. Os valores [OS/2] TypolineGap e [Hhea] LineGAP não são modificados.
Métricas verticais abordagem 2
Onde métricas são definidas como:
A linha da fonte calcula um valor delta para a altura total esperada com base no valor de % UPM definido na linha de comando. A diferença entre esse valor e o número observado de unidades que abrangem os valores [OS/2] WASSCENT TO WONDESCE é dividido pela metade e depois adicionado ao (para aumento do espaçamento de linha) ou subtraído de (para o espaçamento da linha diminuído) os valores [OS/2] Winosc/e [Hhea] ASC/DESC. Os valores [OS/2] typOASC/TypeDESC não são modificados e mantêm uma definição de tamanho = valor UPM. Os valores [OS/2] TypolineGap e [Hhea] LineGAP não são modificados.
Métricas verticais abordagem 3
Onde métricas são definidas como:
Alterações nos valores das métricas na fonte são definidas como :
Observe que as modificações líderes internas são divididas uniformemente nos valores [Hhea] Ascent & Descent e nos valores [OS/2] Winscent & Windescent. Adicionamos metade do novo valor [OS/2] typolineGAP ao digitador original [OS/2] TypeSoScender ou TypeScender para definir essas novas propriedades de métricas. O valor de linha de linha [HHEA] é sempre definido como zero.
Os valores de métricas verticais recém -definidas podem levar ao corte de componentes do glifo se não for definido corretamente. Não há testes em linha de fonte para garantir que isso não ocorra. Assumimos que o usuário seja versado nesses problemas antes do uso do aplicativo e deixa esse teste para o designer / usuário antes que as fontes modificadas sejam usadas em uma configuração de produção.
Envie um novo relatório de emissão sobre o repositório do projeto.
A fonte é construída com a fantástica biblioteca Fonttools Python.
MIT Licença. Consulte License.md para obter detalhes.