Como a escolha aleatória de caracteres alternativos funciona nas fontes OpenType?


9

Tenho uma pergunta semelhante a “Escrever texto com variações de caracteres” : gostaria de criar uma fonte casual de estilo manuscrito, que reproduza a variedade natural entre ocorrências do mesmo glifo encontrado em textos manuscritos. As alternativas contextuais são boas, mas, pelo que entendi, elas são mais apropriadas para letras vinculadas do que para um script em que todas as letras são separadas por espaços em branco.

Uma das respostas para a pergunta vinculada acima diz (a ênfase é minha):

Embora você normalmente tenha apenas algumas letras com uma alternativa contextual, teoricamente é possível ter várias formas por letra. Mas eu não acredito que você possa aleatoriamente a aparência deles, apenas percorra-os (então, se você tivesse três formas de 'a', elas seriam usadas em sequência e começariam a repetir 'o gato preto sentado no tapete' )

Bem, isso não parece ser verdade, porque encontrei algumas menções a um recurso OpenType chamado randomize , que aparentemente pode fazer isso. Por exemplo, nesta página do pacote TeX :

As fontes originais de Knuth geraram formas diferentes aleatoriamente. Na verdade, isso não é possível em uma fonte OpenType; em vez disso, a fonte contém várias variantes de cada glifo e usa a função aleatória OpenType para selecionar uma variante para cada chamada .

Então: existe um mecanismo para seleção aleatória de variantes de glifo no OpenType e como ele funciona? Um link para documentação on-line adequada ou citação das especificações seria inestimável. Além disso: você acha que esse objetivo faz sentido, ou seja, melhoraria muito a qualidade do texto digitado para incluir várias variantes de glifo selecionadas aleatoriamente?


Em uma discussão recente sobre a lista de discussão do Opentype, parecia que apenas o TeX suporta o randrecurso (e talvez alguns navegadores da web).
Reintegrar Monica - M. Schröder

@ MartinSchröder você tem um link para esta discussão? seria uma boa resposta
F'x 30/10/12

A lista está aqui , o arquivo está aqui . Como você pode ver, está bem fechado. :-(
Reinstate Monica - M. Schröder

Como funciona, em termos simples, é matemática. Se houver dez variantes de um glifo, uma função gera um número aleatório entre um e dez e renderiza a variante correspondente. Em termos programáticos, é necessário examinar o código desse script "Aleatório".
Moscarda 28/05

Respostas:


2

Acredito que o que você está descrevendo é o recurso alternativo contextual do opentype. ( http://msdn.microsoft.com/en-us/library/ms745109.aspx )

Nick Shinn tem um artigo realmente interessante sobre muitos dos recursos disponíveis usando alternativas contextuais e como ele o usou em cinco fontes que ele projetou. O Duffy Script em particular foi usado da maneira que você está descrevendo. ( http://ilovetypography.com/2011/04/01/engaging-contextuality/ )

Olhando mais profundamente, consegui encontrar este post descrevendo como alternar entre seus glifos em usos subsequentes (que geralmente parecerão aleatórios): http://forums.adobe.com/message/1785905#1785905

Isso mergulha bem no meio. Posso analisar melhor se você deseja algo com um pouco mais de informações para começar ou se eu entendi mal sua solicitação inicial.


2

Não joguei com a função randomize, mas obtive bons resultados com o uso extensivo de ligaduras.

A maior parte da variação da escrita está relacionada ao contexto: segue-se que, a seguir, este é o fim da palavra, etc. As ligaduras do OpenType podem acomodar muitas variações, se você estiver planejando bem.

Há também a lendária fonte Beowolf da LettError. Esse tipo de programação não é para o desenvolvedor de tipo médio.

** ATUALIZAÇÃO **

Ainda sem resposta? Eu pensei que algum programador inteligente já teria resolvido isso para você. Bem, deixe-me adicionar um pouco mais de informação à piscina.

Os únicos experimentos de randomização verdadeiros que eu conheço (como Beowolf mencionado acima) foram feitos com PostScript. Se você deseja se afastar do OpenType, Luc Devroye publicou um documento (PDF) que investiga a programação de uma solução PostScript Tipo 3 neste problema. Ele também tem uma lista de coisas relacionadas ao problema de fontes aleatórias para referência.

Como em todo tipo de coisa, houve uma discussão sobre esse tópico no Typophile há algum tempo. Nesse segmento, há 8 anos, Thomas Phinney fez esta afirmação que eu acredito que ainda é verdadeira (a especificação OpenType não mudou muito do que sei):

Certo. Supondo que você queira que ele funcione em alguns aplicativos existentes, você tem uma opção não-excitante, pois cada abordagem é muito limitada em como / onde funciona:

  • OpenType (contextual, WYSIWYG, atualmente suportado apenas pelos aplicativos da Adobe, qualquer dispositivo de saída, mais fácil de codificar, mas isso não significa muito, use FontLab ou talvez DTL FontMaster para torná-lo)

  • AAT (contextual, WYSIWYG, somente Mac, atualmente suportado apenas por um punhado de aplicativos, qualquer dispositivo de saída, material contextual difícil de codificar, use as ferramentas de linha de comando da Apple para compilar os recursos em uma fonte pré-existente)

  • Tipo 1 (verdadeiro aleatório, não WYSIWYG, funcionará em muitos aplicativos, mas não nos aplicativos Adobe mais recentes, funcionará apenas com dispositivos de saída PostScript, você provavelmente precisará ser um programador para codificá-lo)


Sim, as ligaduras permitem variação, mas isso não é o mesmo que randomização ... Obrigado pelo link relacionado ao Beowolf, eu não estava ciente dessa fonte. É legal!
F'x 29/10/12

Se você realmente deseja capturar a sensação de escrita à mão, parece que primeiro precisa identificar as opções de ligaduras a partir das quais uma seleção aleatória pode ser feita. A combinação dos dois seria um belo feito de design de tipo. Dê uma olhada no trabalho Sudtipos': Adios Script, Caso, e, especialmente, Negócios Penmanship vêm à mente -> sudtipos.com/fonts/99
à paisana
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.