por Diego Maldonado/Just in Type

agradecimentos especiais
a Manuel Corradine/Corradine fonts e Deia Kulpas

feature liga {# Ligatures

#ca ca

sub F F by F_F;

 

#cb cb

sub f e by f_e;

sub f eacute by f_eacute;

sub f ecircumflex by f_ecircumflex;

sub f edieresis by f_edieresis;

sub f egrave by f_egrave;

sub f f i  by f_f_i;

sub f f  by f_f;

 

} liga;

Intro {

 

#O que é?

 

OpenType é um formato para fontes digitais, criado em conjunto pelas Adobe e Microsoft. Apresentado em 1996 mas apenas em 2006 que ele realmente dominou o mercado. As principais vantagens deste formato são: a vasta quantidade de glifos suportados (65.536) e o suporte a multi-plataformas (Windows, Mac OS, Linux).

 

Existem três tipos de arquivos OpenType:

 

OpenType/TrueType – extensão .ttf – utiliza os cálculos de curvas do formato predecessor ao OpenType (beziérs quadráticas), ele porém, permite  programação das OpenType features. Costuma ter menos chance de erro para utilização em softwares da Microsoft como o pacote Office, então, se seu usuário final, for utilizar sua fonte no Word/Power Point, o melhor é manter uma opção .ttf para ele. Além de aceitar TrueType hinting.

 

OpenType/Postcript – extensão .otf – este formado é capaz de utilizar curvas muito mais limpas, ou seja, com menos pontos do que a .ttf (beziérs cúbicas), assim, muitas vezes é possível ter resultados melhores de impressão ou mesmo de visualização em telas com melhor definição.

 

woff e woff2 (Web Open Font Format) – Formato para webfonts, suporta tanto TrueType quanto OpenType, lançado em 2009 em conjunto pelas Mozzilla, Type Supply (Tal Lemming) e Letterror (Erik van Blokland), este é o mais seguro tipo de arquivo para webfonts. O formato inclusive suporta OpenType features, mas temos sempre complicações com os diversos browsers e funcionamentos diferente.

 

#Como o otf mudou o projeto de fontes?

 

O OpenType trouxe diversas novidades em recursos para o mundo do type design, agora podemos programar alternância de glifos de acordo com contexto de: pares específicos de letras, em relação à posição na palavra e diferentes idiomas, por exemplo. O type designer tem um grande controle na experiência do usuário final. O estilo de fonte que mais teve avanço graças ao OpenType foram as fontes manuscritas, que com o uso destes recursos, podem simular muito bem a improvisação gestual, colocando glifos diferentes para o mesmo caractere, tirando assim o aspecto mecânico de uma fonte digital.

 

De 256 glifos (suportados pelos TrueType e Type 1), fomos para 65.536. Isso significa que em apenas uma fonte, pode se ter alfabetos Latino, Arábico, Cirílico, Grego, Klingon e por aí vai. Antes eram necessárias várias fontes para cobrir todos esses alfabetos.

O grande número de glifos, permite também diversas ligatures (ligaturas) ou discretionary ligatures (ligaturas opcionais) em uma única fonte, antigamente, também eram necessárias múltiplas fontes e trocas manuais de glifos. Entram aí também os swashes (letras caudais), fractions (frações), e diversos outros grupos de caracteres que vamos ver mais a frente.  Antes de começarmos uma fonte, é muito bom ter na cabeça quais destes grupos vamos utilizar, para que haja uma melhor organização do código desde o começo do projeto.

 

#Onde entra o código?

 

O código OpenType tem uma extensão .fea e pode ser exportado entre softwares e até inserido na fonte via AFDKO (Adobe Font Developer Kit for OpenType). No FontLab ou no Robofont, você deve escrever o código linha por linha. Já o Glyphs permite a geração automática de alguns features, se você nomear os glifos como o programa te ensina. A partir de um botão “atualizar”, seus features geram-se rapidamente, mas como tudo que é automático, nem sempre fica como você quer. Então, mesmo utilizando o Glyphs, é bom saber ler, compreender e escrever o código.

 

} Intro;

círculo TrueType

(beziérs quadráticas)

círculo Postcript

(beziérs cúbicas)

Saiba mais sobre curvas quadráticas e cúbicas aqui

#encontrou algum erro? Por favor, envie para diego[arroba]justintype.com.br

Como funciona {

 

#O que quer dizer?

 

OpenType é um código de estrutura simples no seu básico. Ele funciona praticamente através de comandos de substituição, negação de uma regra anterior e orientações de onde a fonte deve procurar os glifos.

 

Os features OpenType utilizam tags para reconhecimento nos softwares, por exemplo o tag liga indica o feature ligatures, dlig indica discretionary ligatures e por aí vai. Mais a frente neste material, você encontrará todos os tags disponíveis.
(se quiser pular pra lá direto, clique aqui)

 

Quanto ao nome dos glifos, existem algumas convenções, mas se você estiver escrevendo o código linha por linha, você pode nomeá-los como achar melhor, eu por exemplo, gosto de nomear os alternates com um .altX no final, sendo o X o número do alternate (caso haja mais que um) então, se tenho um S alternativo, no meu mapa ele chamará S.alt1 (na maioria das vezes). Se você estiver utilizando o Glyphs, e deseja que ele gere o código automaticamente, você deve verificar como os glifos devem ser nomeados, para que tudo ocorra corretamente.

 

Abaixo, temos dois exemplos de linhas de código de ligatures e contextual alternates.
O código ligatures funciona com o comando de substituição de dois ou mais glifos para um glifo único. Já o código de contextual alternates funciona com a alteração de um glifo em um determinado contexto definido pelo programador.

feature liga { #ligatures

sub f f by ff;

} liga;

feature calt { #contextual alternates

sub A Z' by Z.alt;

} calt;

#Caracteres reservados para o código

 

sustenido - linha de comentário

 

 

 

 

ponto vírgula - finaliza uma linha de comando

 

 

 

 

vírgula - separa itens em uma lista

 

 

 

 

arroba - identifica classe

 

 

 

 

barra invertida - Identifica CIDs. Distigue
nome de glifos de keywords que sejam iguais

 

 

 

 

hífen - Define âmbitos de glifos em uma classe

 

 

 

 

igual - Define função de um conjunto

 

 

 

aspa simples - marca um glifo ou classe para
uma substituição ou posicionamento contextual

 

 

 

 

aspas duplas - engloba linha de texto

 

 

 

 

chaves - englobam um feature, lookup, tabela ou anonymous block

 

 

 

 

 

colchetes - englobam um grupo de componentes

 

 

 

 

 

maior & menor que - englobam valores numéricos de diferentes tipos

 

 

 

 

parenteses - englobam um arquivo a ser incluso

 

#

,

\

=

"

;

@

-

'

{ }

[ ]

< >

( )

#código [trecho da Sapeca]

 

feature liga { # Ligatures

 

#ca ca

 sub F F by F_F;

 

#cb cb

 sub f e by f_e;

 sub f eacute by f_eacute;

 sub f ecircumflex by f_ecircumflex;

 sub f edieresis by f_edieresis;

 sub f egrave by f_egrave;

 

 

 

language NLD;  #Dutch

  sub I J by IJ;

  sub i j by ij;

 

} liga;

 

Todo texto que vem após um # é uma anotação e não interfere no código, no caso da Sapeca, eu organizei por ligações caixa alta/caixa alta; caixa baixa/caixa baixa e

caixa alta/caixa baixa.

 

Repare que o código pede sempre um

sub X X by X e toda linha sempre termina com um ; (Você pode fazer ligações de quantos glifos quiser).

 

Estas são ligaturas específicas para quando está indicada a língua holandesa. Caso não haja uma linguagem indicada, ele considera o código para todas. Se você quiser excluir o default de alguma linguagem, você deve indicar isso no código com a palavra exclude.

Código desativado

Código ativado

O calt funciona um pouco diferente, você não está programando a troca de um conjunto de glifos, mas sim a de um glifo em contexto. no caso da linha sub S’ R by S.alt1; o indica qual é o glifo será substituído.

 

Neste feature, criei substituições que julguei necessárias pois os glifos “normais” não funcionam tão bem nestes pares de letras.

 

 

Aqui, estou pedindo para que quando

o dicionário do InDesign estiver

selecionado português, ele troque

o 7 default pelo 7 cortado.

Código desativado

Código ativado

feature calt { # Contextual Alter.

 

# antes ca ca

 sub S’ R by S.alt1;

 sub S’ Y by S.alt1;

 

# depois ca ca

 sub A Z’ by Z.alt1;

 sub F M’ by M.alt1;

 sub F S’ by S.alt1;

 sub L Z’ by Z.alt1;

 

language PTG; # Portuguese

 

 sub seven by seven.pt;

 

} calt;

 

A vantagem de usar o calt em relação às ligatures é que o usuário continua tendo controle de espacejamento, pois eles são glifos separados. Então, quando não há uma alteração no desenho do conjunto de glifos, como uma ligação de traço entre as letras, a melhor opção, normalmente é utilizar este feature. (Dependendo do projeto também pode te economizar tempo de desenho).

 

Para facilitar, em substituições de grandes grupos, devem ser criadas classes. Quando sua regra for uma substituição de classe por classe, elas precisam ter o mesmo número de glifos, e o código substituirá-los seguindo a ordem no qual eles estão colocados. Tanto os glifos quanto as classes podem ter os nomes que você considerar melhor para sua organização.

#Features e seus tags

 

aalt

 

access all alternates - faz com que todos os features sejam acessíveis, pelo software através da paleta de Glifos. Basicamente, você insere no código, todos os tags de todos os features
da sua fonte.

 

Onde funciona: InDesign/Illustrator/Flash

 

Exemplo:

 

feature aalt {

smcp;

swsh;

calt;

} aalt;

 

 

calt

 

contextual alternates - altera glifos em determinado contexto no qual
o type designer julgar necessário, o glifo a ser alterado é marcado com a aspa simples.
Este feature é automaticamente ativado nos softwares.

 

Onde funciona: InDesign/Illustrator/Photoshop/Flash

 

Exemplo:

 

feature calt {

sub A’ B by A.alt1;

} calt;

 

 

salt

 

stylistic alternates - agrupa glifos que são alternativos puramente por estética. Não há um contexto em que eles são estritamente necessários, estes glifos são opções para o usuário final compor um determinado texto.

 

Onde funciona: Illustrator

 

Exemplo:

 

feature salt {

sub A by A.alt1;

} salt;

 

liga

 

standard ligatures - como foi comentado antes, estas ligaturas funcionam substituindo
uma sequência de glifos por um glifo único, este feature está sempre ativado por default
pelos softwares, então o que se faz normalmente é colocar aqui ligações que corrijam problemas da fonte.

 

Onde funciona: Todos os softwares.

 

Exemplo:

 

feature liga {

sub f i by fi;

} liga;

 

clig

 

contextual ligatures - são ligaturas, que como o nome diz, funcionam apenas em um determinado contexto, o feature é normalmente automático, funciona junto ao calt

 

Onde funciona: InDesign/Illustrator/Photoshop/Flash

 

Exemplo:

 

feature clig {

sub r o’ e’ by o_e;

} clig;

 

dlig

 

discretionary ligatures - são ligaturas opcionais ao usuário final,
normalmente com função mais estética do que funcional.

 

Onde funciona: InDesign/Illustrator/Photoshop/Flash

 

Exemplo:

 

feature dlig {

sub A B by A_B;

} dlig;

 

hist

 

historical forms - a ideia aqui é trocar os glifos defaults por glifos de desenho histórico.

 

Onde funciona: InDesign/Flash

 

Exemplo:

 

feature hist {

sub s by s.hist;

} hist;

 

hlig

 

historical ligatures - substitui múltiplos glifos por um

glifo de ligação histórica

 

Onde funciona: Todos os softwares.

 

Exemplo:

 

feature hlig {

sub c t by c_t;

} hlig;

 

unic

 

unicase - neste feature, a intenção é trocar o default caixa baixa ou alta, por uma classe de glifos que seja uma mistura dos dois. Neste caso o melhor é trabalhar com classes. No exemplo @ca seria a classe com todas as caixas altas, @cb com todas as caixas baixas e @unic com todas as unicase.

 

Onde funciona: até a versão CC 2014, não funcionava em nenhum

software da adobe. Este feature funciona no TextEdit, da Apple.

 

Exemplo:

 

feature unic {

sub @ca by @unic;

sub @cb by @unic;

} unic;

 

smcp

 

small capitals - serve para transformar a caixa baixa em versaletes. Se você desejar, pode inserir a caixa alta na substituição também, mas não é o convencional. O melhor aqui é usar classes. No exemplo, @cb são a caixa baixa e @sc as versaletes.

 

Onde funciona: Todos os softwares da Adobe

 

Exemplo:

 

feature smcp {

sub @cb by @sc;

} smcp;

 

c2sc

 

capitals to small capitals - este feature é reservado para a substituição da caixa alta por versaletes. No exemplo, @ca é toda a caixa alta e @sc as versaletes.

 

Onde funciona: InDesign/Flash

 

Exemplo:

 

feature c2sc {

sub @ca by @sc;

} c2sc;

 

pcap

 

petite capitals - serve para trocar a caixa baixa por pequenas versaletes. No exemplo, a classe @cb representa a caixa baixa e a @pc as pequenas versaletes.

 

Onde funciona: até a versão CC 2014, não funcionava em nenhum software da Adobe. este feature funciona no TextEdit, da Apple.

 

Exemplo:

 

feature pcap {

sub @cb by @pc;

} pcap;

 

c2pc

 

capitals to petite capitals - substituição de caixa alta por mini versaletes, estas são letras maiúsculas com altura um pouco abaixo da altura de x. No exemplo a classe @ca representa toda a caixa alta e @pc os mini versaletes.

 

Onde funciona: InDesign/Flash

 

Exemplo:

 

feature c2pc {

sub @ca by @pc;

} c2pc;

 

case

 

case sensitive forms - este feature altera glifos para que funcionem melhor com a caixa alta, visto que o normal é que se alinhe caracteres como o hífen, com a caixa baixa. Você pode aqui, colocar informações de posicionamento, e não de substituição. O comando pos faz referência a position e entre os  < e > ficam quatro valores em units a serem alterados. O primeiro  e o segundo valor se refere a horizontal e vertical do glifo em questão, o terceiro e o quarto se referem ao deslocamento horizontal e vertical do glifo seguinte.

 

Funciona apenas quando você ativa o All Caps no painel OpenType.
Ele trabalha em conjunto com o feature seguinte, o cpsp.

 

Onde funciona: Todos os softwares da Adobe

 

Exemplo:

 

feature case {

pos hyphen <0 300 0 0>;

} case;

 

cpsp

 

capital spacing - o capital spacing serve para que o type designer reajuste o espaço entre a caixa alta caso haja necessidade. O comum é que se ajuste o espacejamento da caixa alta, em função da baixa, e assim, eventualmente quando é necessário que haja mais espaço, pode-se usar este feature que é ativado ao selecionar o All Caps no menu OpenType. Neste código, o ideal é trabalhar com classes, sendo no exemplo @ca toda a caixa alta.

 

Onde funciona: Todos os softwares

 

Exemplo:

 

feature cpsp {

pos @ca <0 0 100 0>;

} cpsp;

 

titl

 

titling - neste feature devem ser colocado glifos específicos para títulos, caso sua tipografia possua uma versão display e uma texto, com este feature você pode colocar ambas na mesma fonte. No exemplo ao lado a classe @text representa todos os glifos voltados para texto e a @titl todos os display. (Se você julgar necessário, pode colocar referências de alteração de espacejamento com um linha de código como a do cpsp)

 

Onde funciona: InDesign/Illustrator/Photoshop/Flash

 

Exemplo:

 

feature titl {

sub @text by @titl;

} titl;

 

swsh

 

swash - os swashes são muito comuns nas fontes script (simulam o manuscrito), são ornamentos conectados às letras. O melhor aqui, também é usar classes, no exemplo @swsh1 representa todas os glifos default e @swsh2 os glifos com swashes.

 

Onde funciona: InDesign/Illustrator/Photoshop

 

Exemplo:

 

feature swsh {

sub @swsh1 by @swsh2;

} swsh;

 

cswh

 

contextual swash - são swashes que funcionam em determinado contexto apenas, é ativado em conjunto com o swash

 

Onde funciona: InDesign/Illustrator/Photoshop

 

Exemplo:

 

feature cswh {

sub D.sw i by D_i.sw;

sub Q’ u e by Q.sw;

} cswh;

 

frac

 

fractions - existem algumas formas de se trabalhar no feature frac. Se seu projeto possui apenas alguns glifos fracionários, você pode comandar uma simples substituição de one slash four (1/4) por onequarter (¼), como no exemplo A. Mas se sua fonte possui uma combinação de numeradores e denominadores, você deve criar um código que compreenda a estrutura da fração e substitua corretamente os glifos. No exemplo B, isso é mostrado e abaixo a lógica.

 

  1. Substituir a barra default (slash) por uma
    barra ajustada para frações (fraction), caso haja necessidade;
  2. Criar classes para os números, vamos chamá-las aqui de @dflt para os números default, @num para numeradores e @den para denominadores.
  3. Dizer para substituir os números default por numeradores;
  4. Em um contexto, substituir numeradores que estão após um fraction por denominadores;
  5. Também em contexto, substituir numeradores que estão depois de denominadores, por denominadores.

 

Existem outras formas de fazer este feature funcionar, em conjunto com os tags numr e dnom, mas acho que esta forma é mais simples.

 

Onde funciona: InDesign/Illustrator/Photoshop

 

Exemplos:

 

A.

feature frac {

sub one slash four by onequarter;

} frac;

 

B.

feature frac {

#passo 1

sub slash by fraction;

#passo 3 (o passo 2 é criar as classes)

sub @dflt by @num;

# passo 4

sub fraction @numby @den;

#passo 5

sub @den @numby @den;

} frac;

 

afrc

 

alternative fractions - este feature foi pensado para o uso de frações verticais,
através de substituições simples.

 

Onde funciona: Até a versão CC 2014, este feature não funcionava em nenhum software da Adobe, o único software que eu encontrei que reconhece este feature é o QuarkExpress 8

 

Exemplo:

 

feature afrc {

sub one slash two by onehalf;

} afrc;

 

ordn

 

ordinals - os ordinais funcionam como uma substituição contextual, depois de um número, determinadas letras se tornam ordinais, o ideal é colocar estes números em uma classe. No exemplo @numero representa os números de 0 a 9.

 

Onde funciona: InDesign/Illustrator/Photoshop

 

Exemplo:

 

feature ordn {

sub @numero o’ by ordmasculine;

} ordn;

 

numr

 

numerators - mais um feature matemático, transforma os números default em números posicionados para numeradores. Uma coisa interessante de se colocar nesse feature é que ele funcione em um contexto de antes da barra fracionária, no exemplo, @dflt

representa os números default e @num os numeradores

 

Onde funciona: InDesign/Illustrator

 

Exemplo:

 

feature numr {

sub @dflt’ fraction by @num;

} numr;

 

dnom

 

denominators - o mesmo que os numeradores acima, mas para denominadores. No exemplo @dflt representa os números default e @den os denominadores.

 

Onde funciona: InDesign/Illustrator/Photoshop

 

Exemplo:

 

feature dnom {

sub fraction @dfltby @den;

} dnom;

 

sinf

 

scientific inferiors - os números científicos inferiores ficam um pouco abaixo do baseline e são menores do que os denominadores, normalmente. Este código funciona como uma substituição simples de classes. No exemplo, @dflt se refere a todos os números default e @sinf aos científicos.

 

Onde funciona: InDesign/Illustrator

 

Exemplo:

 

feature sinf {

sub @dflt by @sinf;

} sinf;

 

sups

 

superscript - também numa substituição de classes, alterna-se números default por números utilizados nas potências matemáticas ou para notas de rodapé. No exemplo ao lado,

@dflt é a classe com todos os números default e @sups com os superscripts.

 

Onde funciona: InDesign/Illustrator

 

Exemplo:

 

feature sups {

sub @dflt by @sups;

} sups;

 

subs

 

subscript - como a sups, mas para números que ficam para baixo, não necessariamente são iguais aos científicos, os subscripts podem ser um pouco maiores e utilizados para numerar notas de rodapé em livros. No exemplo ao lado, @dflt é a classe com todos os números default e @subs com os subscripts.

 

Onde funciona: InDesign/Illustrator

 

Exemplo:

 

feature subs {

sub @dflt by @subs;

} subs;

 

onum

 

old style figures - os números históricos ou para texto, podem ser facilmente programados através de uma substituição de classes simples. No exemplo, @dflt são os números default e @onum os para texto.

 

Onde funciona: Todos os softwares

 

feature onum {

sub @dflt by @onum;

} onum;

 

 

lnum

 

lining figures - este feature é o contrário do onum, ele transforma numerais para texto em números “caixa alta” (os comuns). No exemplo a classe @onum representa números old style

e a @lnum os números comuns.

 

Onde funciona: InDesign/Illustrator/Flash

 

Exemplo:

 

feature lnum {

sub @onum by @lnum;

} lnum;

 

pnum

 

proportional figures - os números proporcionais são referentes ao espaçamento, significa que estes números são proporcionalmentes espaçados. Abaixo, os números default são representados pela classe @dflt e os proporcionais por @prop.

 

Onde funciona: InDesign/Illustrator

 

Exemplo:

 

feature pnum {

sub @dflt by @prop;

} pnum;

 

tnum

 

tabular figures - os algarismos tabulares são aqueles que são perfeitos para tabelas, eles são monoespaçados e possuem a altura da caixa alta (números comuns). No exemplo,

@dflt é a classe que representa os números normais e @tabl os tabulares.

 

Onde funciona: InDesign/Illustrator/Flash

 

Exemplo:

 

feature tnum {

sub @dflt by @tabl;

} tnum;

 

zero

 

slashed zero - este é um feature simples, para substituir o zero comum pelo zero cortado.

 

Onde funciona: InDesign/Flash

 

Exemplo:

 

feature zero {

sub zero by zeroslash;

} zero;

 

mgrk

 

mathematical greek - o feature de grego matemático funciona para substituir os caracteres gregos, por sinais gregos que melhor funcionam com números. No exemplo ao lado, a classe

@greek representa todos os glifos gregos e @mgrk os respectivos matemáticos.

 

Onde funciona: até o pacote CC 2014, o feature não funcionava em nenhum software da Adobe, ele pode ser testado no TextEdit, da Apple.

 

Exemplo:

 

feature mgrk {

sub @greek by @mgrk;

} mgrk;

 

nalt

 

alternate annotation forms - sabe aqueles números com um círculo vazio ou preenchido, com formas de diamante ou quadrados em volta? Este é o feature para eles. No exemplo ao lado, a classe @dflt se refere aos números tradicionais, e qualquer outro símbolo que você deseja colocar a @nalt, se refere a estas formas alternativas.

 

Onde funciona: Este feature existe, mas não encontrei
nenhum software em que ele funcione (!).

 

feature nalt {

sub @dflt by @nalt;

} nalt;

 

ornm

 

ornaments - este é um feature para acessar os ornamentos/dingbats/glifos não alfabéticos. Funciona com uma substituição simples, que pode ser através de classes ou não, dependendo da quantidade de ornamentos, elas podem facilitar.

 

Onde funciona: Photoshop

 

Exemplo:

 

feature ornm {

sub a by ornm1;

} ornm;

 

locl

 

localized forms - em diferentes línguas, diacríticos podem tomar formas ligeiramente diferentes, este feature é para isso. Funciona com uma substituição simples. (Você deve fazer referência a qual língua deseja que a alteração ocorra, como mostrei no código da Sapeca)

 

Onde funciona: InDesign/Illustrator/Photoshop/Flash

 

Exemplo:

 

feature locl {

script latn;

language TRK; #Turkish

 

sub Scedilla by Scedilla.locl;

} locl;

 

ss01 - ss20

 

stylistic sets - as fontes OpenType tem suporte para até 20 sets onde você pode substituir letras específicas ou montar conjuntos otimizados para algum propósito específico. Na Sapeca, por exemplo, o ss01 contém todas os glifos que possuem uma legibilidade melhor para corpos menores. Os sets podem ser usados tanto sozinhos quanto combinados. O código pode ser feito através de classes se forem muitos glifos, é recomendado, mas se forem poucos é tranquilo escrever o código glifo a glifo. Para cada stylistic set deve ser criado um novo tag.

 

Onde funciona: InDesign

 

Exemplo:

 

feature ss01 {

sub g by g.01;

} ss01;

 

feature ss02 {

sub H by H.02;

} ss02;

 

isol

 

isolated forms - este feature visa o árabe, mas eventualmente também é útil para línguas latinas. No árabe, as letras tem formas diferentes caso estejam isoladas ou em um contexto. De certa forma, este feature também pode ser útil para tipografias script, ou que simulem a escrita a mão. No exemplo a classe @dflt se refere aos glifos default e a @isol se refere aos glifos isolados.

 

Onde funciona: InDesign

 

Exemplo:

 

feature isol {

sub @dflt by @isol;

} isol;

 

init

 

initial forms - assim como o isol, é um feature voltado ao árabe mas que também pode ser útil para fontes latinas, ele envolve contexto. No exemplo @all simboliza uma classe com todos os glifos, @init a classe dos glifos voltados para o início de palavras e @dflt os glifos normais que tem versões iniciais.

 

Onde funciona: InDesign

 

Exemplo:

 

feature init {

sub @dflt by @init;

sub @all @init' by @dflt;

} init;

 

medi

 

medial forms - continuando nos features arábicos, este é para os glifos que estão no meio das palavras. No exemplo, @all é uma classe com todos os glifos da fonte (menos o notdef, null e space), @dflt são os glifos a serem substituídos e @medi são os substitutos para o meio das palavras.

 

Onde funciona: InDesign

 

Exemplo:

 

feature medi {

sub @all @dflt@all by @medi;

} medi;

 

fina

 

final forms - para o fim das palavras na turma arábica, o fina se refere a glifos que ficam no final da palavra. No exemplo, @all é uma classe com todos os glifos da fonte (menos o notdef, null e space), @dflt são os glifos a serem substituídos e @fina são os substitutos para fim de palavras.

 

Onde funciona: InDesign

 

 

Exemplo:

 

feature fina {

sub @all @dflt’ space by @fina;

} fina;

 

rlig

 

required ligatures - é como o standard ligatures, mas neste caso, não há opção de ser desativado, também foi criado para caracteres arábicos  Funciona como uma substituição comum.

 

Onde funciona: InDesign

 

feature rlig {

sub l l by l_l;

} rlig;

 

mark e mkmk

 

mark to base positioning  e  mark to mark positioning – servem para a combinação de diacríticos e posição deles respectivamente. Outro feature feito para caracteres arábicos. Eles só são programáveis via VOLT, um software para programação OpenType da Microsoft ou AFDKO, da Adobe.

 

Onde funciona: InDesign

 

} Como funciona;

Como utilizar {

 

Onde utilizar os features OpenType nos principais softwares da Adobe:

 

# InDesign CC 2015:

 

Os features que ficam entre colchetes [ ] são os que não existem na fonte

Ao selecionar um caractere, o InDesign lhe mostra todos os alternativos ao mesmo. Funciona também com frações.

# Illustrator CC 2014:

 

# Photoshop CC 2014:

 

No Illustrator, você clica em botões que habilitam de acordo com os features disponíveis na fonte. Os menus Figure e Position se referem ao estilo de número (old style, tabular, linear) e a posição dele (superscript, subscript, numerador, denominador)

O Photoshop funciona similar ao Illustrator, com botões que ativam ou desativam os features disponíveis

O painel de glifos, existente nos três softwares, te dá acesso à todos os glifos da fonte, e ele permite você visualizar a organização de acordo com a divisão dos features, mesmo que o software não de suporte de utilização.

} Como utilizar;