IPAK

Processo

Do código à fonte

As fontes de destaque do Ipak são construídas por programas: tijolos com juntas desencontradas, chanfro do entalhador e luz, serifas em cunha, rastro de uma pena larga. Como cada regra se transforma em letras e como das letras se monta o arquivo da fonte.

Normalmente, uma fonte é desenhada à mão num editor: o designer coloca pontos e puxa curvas. As fontes de destaque do Ipak — Bannai, Ganch, Metro e Kalam — foram feitas de outro jeito. Cada letra é construída por um pequeno programa em Python segundo uma única regra para a fonte inteira. A regra é uma só, por isso espessuras, cortes e ritmo coincidem em todos os sinais — de A a Ҳ e de 0 a №.

Neste artigo: como é a regra de cada fonte, como das letras desenhadas se monta o arquivo da fonte e onde estão, por enquanto, os limites da versão 0.1.

Quatro fontes de destaque do Ipak
Quatro fontes de destaque do Ipak — Bannai, Ganch, Metro, Kalam. O texto foi digitado com o apóstrofo comum; os sinais ʻ foram colocados pela própria substituição da fonte Ipak; render HarfBuzz (hb-view) das fontes Ipak v0.1; fontes — SIL OFL 1.1 · CC BY 4.0 · Ipak

Primeiro o motivo, depois as letras

Cada fonte de destaque começa não pela letra, e sim pelo motivo, reconhecível à primeira vista: o tijolo do bannai, a faca do entalhador de ganch, as letras metálicas do metrô de Tashkent, a pena do kalam (sobre a história dessas técnicas — no artigo «Bannai, ganch, kalam»). O motivo vira regra, e a regra vira o programa que constrói por ela qualquer letra.

Para comparar os motivos em ação, a palavra TOSHKENT foi colocada na foto do aeroporto de Tashkent no lugar do letreiro verdadeiro.

Quatro motivos sobre a foto do aeroporto de Tashkent
Quatro motivos das fontes de destaque num mockup sobre a foto do aeroporto de Tashkent: bannai, ganch, metro, kalam Foto: Alpasli, Wikimedia Commons; mockup — Ipak · CC BY-SA 4.0 (foto: Alpasli; mockup — Ipak)

Bannai: tijolos com juntas desencontradas

A letra é primeiro registrada como uma imagem de células — linhas de quadradinhos e pontos, como num caderno quadriculado. A maiúscula ocupa 10 fiadas. A célula é quadrada: 70 unidades. O traço tem duas células; o vão interno da letra, no mínimo duas: assim as letras não se fundem à distância.

Depois o programa assenta os tijolos. O tijolo tem duas células, e nas fiadas vizinhas as juntas avançam meio tijolo. É a alvenaria com juntas desencontradas: as juntas de uma fiada não coincidem com as da vizinha. Entre os tijolos resta uma junta de 9 unidades. As diagonais de K, N, Z correm em degraus de alvenaria, não em rampa lisa. Os pontos de Ö, o breve de Ў e o sinal ʻ ficam em fiadas acima da maiúscula; as caudas de Қ Ҳ e as cedilhas de Ş Ç, em fiadas abaixo da linha.

Ipak Bannai: malha de 10 fiadas, tijolos com juntas desencontradas
Ipak Bannai: letras numa malha de 10 fiadas, tijolos com juntas desencontradas Ipak · CC BY 4.0 · Ipak

Ganch: o chanfro do entalhador e a luz

O contorno é construído com retângulos e octógonos. O traço vertical tem 168 unidades; o horizontal, 140: assim eles parecem iguais. As letras «redondas» O, C, G, Q são octógonos.

A última passada é o chanfro do entalhador. O programa percorre o contorno e, em cada ângulo externo que seja reto ou mais agudo (até 100°), apara a ponta: recua 40 unidades ao longo de cada um dos dois lados e liga os pontos com uma reta. No ângulo reto, isso é um corte a 45°. Os ângulos internos permanecem agudos: é por ali que a faca entra. As faces obtusas dos octógonos não são tocadas.

O volume é calculado à parte, a partir da imagem da letra. Para cada ponto interno da letra encontra-se a distância até a borda mais próxima. Resulta um «campo de distâncias»: zero na borda, maior rumo ao meio do traço. Se esse campo for imaginado como altura, sai uma crista no meio do traço e duas encostas para as bordas — o corte em V. Em seguida, o programa vê para onde cada encosta está virada. A encosta voltada para a luz, do alto à esquerda, clareia; a oposta escurece. Por cima acrescenta-se uma sombra suave para baixo e para a direita: a letra salta da parede. Para a parede de pedra, o mesmo campo é invertido, e a letra torna-se uma incisão.

Ganch: relevo a partir do campo de distâncias
Ipak Ganch: o relevo do corte em V foi calculado a partir do contorno com um campo de distâncias; luz do alto à esquerda Ipak · CC BY 4.0 · Ipak

Metro: maiúsculas finas e serifas em cunha

O modelo é a inscrição «КОСМОНАВТЛАР» na plataforma da estação de 1984 (arquitetos Серго Сутягин e Сергей Соколов). O traço é fino: 48 unidades nas linhas principais, 40 nas horizontais. As letras são largas, cerca de 600 unidades para uma altura de 700.

Nas pontas dos traços, pequenas serifas em cunha. A base da cunha é 40 unidades mais larga que o traço de cada lado; a altura da cunha é 34 unidades, e o topo converge exatamente para as bordas do traço. A palavra é composta com grande espaçamento. O Л, «em casinha», como na estação. O desenho é nosso, pelo princípio; o alfabeto latino foi construído pelo mesmo sistema.

Ipak Metro: КОСМОНАВТЛАР
Ipak Metro: maiúsculas finas e largas com serifas em cunha e grande espaçamento; alfabeto latino e cirílico num só sistema Ipak · CC BY 4.0 · Ipak

Kalam: a pena larga em ângulo

Para cada letra define-se um esqueleto — a linha mediana feita de pontos. A pena é um segmento de 150 unidades de comprimento, a 65° em relação à linha. O programa coloca a pena em cada ponto do esqueleto, liga as posições vizinhas num quadrilátero e une todos os quadriláteros. Ninguém define a espessura: ela sai sozinha da direção do traço. A 65°, as horizontais ficam pesadas e as verticais, leves.

Quando o traço corre quase ao longo da pena, ele se afina até virar um fio. Por isso as diagonais se afastam do ângulo da pena em pelo menos 9–10°: assim, a linha mais fina não fica mais estreita que 25 unidades. Todos os sinais — letras, pontos, algarismos, pontuação — são escritos com a mesma pena.

Ipak Kalam: rastro da pena achatada
Ipak Kalam: rastro da pena achatada de 150 unidades de largura a 65° Ipak · CC BY 4.0 · Ipak

Os sinais ʻ e ʼ em cada estilo

Os sinais não são tomados prontos das aspas: cada um foi desenhado segundo a regra da sua fonte. Uma coisa é comum: no ʻ a massa fica embaixo, no ʼ, em cima; por isso os silhuetas olham para lados diferentes e não se confundem.

Fonte ʻ ʼ
Bannai «seis» de alvenaria: cabeça de 2×2 células embaixo, cauda para cima e para a direita o mesmo, girado em 180°
Ganch cunha com a massa embaixo, inclinação de 10° cunha com a massa em cima, inclinação de 23°
Metro cunha com a base embaixo e a ponta para cima e para a direita cunha com a base em cima e a ponta para baixo e para a esquerda
Kalam gesto da pena: fio de cima para baixo e para a esquerda, embaixo uma volta com pressão o mesmo gesto, girado em 180°

É o kerning por medição que aproxima o sinal de O e G (sobre ele, mais abaixo): o ʻ deve ler-se como parte da letra, e não como aspa à parte.

Da imagem à fonte

Imagem ainda não é fonte. Uma fonte precisa compor letras com as distâncias corretas, conhecer as regras uzbeques e abrir em qualquer programa.

Montagem. O programa de cada estilo entrega um dicionário: símbolo, contorno, largura, afastamentos à esquerda e à direita. A montagem converte as curvas para o formato TrueType, uniformiza a direção dos contornos e grava o arquivo pelo FontBuilder. As minúsculas apontam para as mesmas maiúsculas: as fontes são de destaque, para inscrições em maiúsculas. Os caracteres ' ‘ ’ ` digitados no teclado apontam para os sinais ʻ e ʼ.

Distâncias por medição. O programa toma um par de letras e mede a distância branca entre elas linha por linha, em toda a altura da maiúscula; os mergulhos profundos são descartados, porque o olho não olha para eles. O padrão de referência é a média dos pares HH, HO, OH e OO da mesma fonte. Cada par é puxado ao padrão, mas apenas pela metade: senão, pares abertos como LT se grudam. Esse ajuste para um par específico de letras chama-se kerning. O alfabeto latino recebe kerning com o alfabeto latino, o cirílico com o cirílico. Os algarismos não recebem kerning, para que as colunas de números permaneçam alinhadas.

Os sinais ʻ e ʼ, à parte. O sinal é pequeno e fica no alto, por isso é medido apenas na faixa do sinal — nos 38% superiores da altura da maiúscula (em detalhe, no artigo «A faixa do sinal»). O ʻ fica colado a O e G: 0,45 do vão HH. Depois do ʻ, o vão HH comum. O ʼ fica exatamente no meio: 0,8 do vão dos dois lados.

Proibição de toques. Depois de todos os ajustes, o programa verifica o ponto mais estreito do par em toda a altura, incluindo as caudas abaixo da linha. Nenhum par pode chegar a menos de 5% do corpo. O ajuste também é limitado: no máximo 15% do corpo para qualquer lado. Ajustes menores que 20 unidades não são gravados.

A substituição uzbeque. As pessoas digitam Oʻzbekiston com o apóstrofo comum. A própria fonte o troca pelo sinal necessário, com uma regra gravada dentro do arquivo; no formato OpenType, essa regra chama-se calt. Depois de O, antes de letra — ʻ. Depois de G — ʻ, inclusive no fim da palavra (BOGʻ), mas não na sequência ng no fim da palavra e não antes de s no fim da palavra (o possessivo inglês 's). Entre duas letras, nos demais casos — ʼ, como em MAʼNO. A lógica é a mesma da fonte de trabalho Ipak Davlat; sobre ela há o artigo «o' → oʻ».

QOʻNGʻIROQ sem substituição e com substituição
A palavra QOʻNGʻIROQ, digitada com o apóstrofo do teclado, no Ipak Metro: em cima, substituição desativada; embaixo, ativada Ipak; render HarfBuzz (hb-view) de IpakMetro-Regular.ttf v0.1; fonte — SIL OFL 1.1 · CC BY 4.0 · Ipak

No fim, a montagem imprime uma prova: o conjunto inteiro de sinais e as palavras de controle — OʻZBEKISTON RESPUBLIKASI, ҚЎҚОН · ҒАЛЛАОРОЛ · ҲАЁТ, ÖZBEKISTON · TOŞKENT.

Prova do Ipak Bannai
Prova do Ipak Bannai: o conjunto inteiro de sinais e palavras de controle em três alfabetos Ipak; render HarfBuzz (hb-view); fonte — SIL OFL 1.1 · CC BY 4.0 · Ipak

Os limites da versão 0.1

  • Só maiúsculas e um único estilo. As minúsculas são compostas pelas mesmas maiúsculas. Ainda não há pesos.
  • O Bannai é para inscrições grandes. A alvenaria quadrada fica perto de uma fonte pixelada; para placas e corpo pequeno ele não se destina.
  • O ângulo da pena do Kalam é a nossa escolha. Os 65° foram definidos por comparação numa mesma palavra; não é citação de fonte.
  • As distâncias foram ajustadas automaticamente. Para um letreiro, vale conferi-las a olho na palavra específica.
  • A substituição não distingue idiomas. Nas fontes de destaque, a regra funciona para qualquer texto: no inglês DON'T, o apóstrofo também virará ʼ. Para texto não uzbeque, convém desativar a substituição no programa de diagramação.

O resultado

Em cada uma das quatro fontes de destaque há 94 sinais: alfabeto latino com Ö Ğ Ş Ç, cirílico com Ў Қ Ғ Ҳ, sinais ʻ e ʼ, algarismos e pontuação. Todos foram construídos com uma única regra por fonte e são distribuídos sob a licença aberta SIL OFL 1.1, como toda a biblioteca.

Fontes

A descrição baseia-se no código de construção das fontes de destaque do Ipak e na documentação das ferramentas: fontTools, skia-pathops, SciPy, HarfBuzz, especificação OpenType; sobre o modelo do Metro — Wikipedia «Kosmonavtlar (Tashkent Metro)».

Links: