JUST IN CODES {primeiros passos programando OpenType}

português

por Diego Maldonado/Just in Type

traducción para español por Manuel Corradine/Corradine fonts
y revisión por 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 {

 

#¿Qué es OpenType?

 

OpenType es un formato para fuentes digitales, creado en conjunto por Adobe y Microsoft. Fue presentado en 1996 pero solo hasta 2006 conquistó  realmente el mercado. Las principales ventajas de este formato son: La enorme cantidad de glifos soportados (65.536) y la capacidad de soportar diversas plataformas (Windows, Mac OS, Linux).

 

Existen tres tipos de archivos OpenType:

 

OpenType/TrueType – extensión .ttf – utiliza los cálculos de curvas del formato predecesor a OpenType (beziérs cuadráticas), el TrueType, sin embargo permite  programación de las funciones OpenType (features). En general tiene menos chance de error al utilizarse en softwares de Microsoft como el paquete Office, entonces, si el usuario final utiliza la fuente en MS Word/Power Point, lo mejor es mantener una opción .ttf para él. Adicionalmente, este formato acepta hinting para TrueType.

 

OpenType/Postcript – OpenType/Postcript – extensão .otf – este formato es capaz de utilizar curvas mucho más limpias, o sea, con menos puntos que el .ttf (beziérs cúbicas), de este modo es posible obtener mejores resultados al momento de imprimir y al visualizarse en pantallas de baja resolución.

 

woff e woff2 (Web Open Font Format) – Formato para webfonts, soporta tanto TrueType como OpenType. Lanzado en 2009 en conjunto por Mozzilla, Type Supply  (Tal Lemming) y Letterror (Erik van Blokland), es el tipo de archivo de webfonts más seguro. Este formato incluso soporta características OpenType, pero produce complicaciones en los diversos navegadores ya que funciona distinto en cada uno de ellos.

 

 

#¿Cómo el otf cambió el diseño de fuentes?

 

El OpenType representó diversas innovaciones en el mundo del diseño de fuentes; ahora podemos programar el intercambio de glifos de acuerdo con su contexto (por ejemplo en parejas específicas de letras, de acuerdo con la posición que ocupa dentro de la palabra o al uso específico en determinado idioma). El diseñador tipográfico tiene gran control sobre la experiencia del usuario final. El estilo de fuente que más avance ha tenido gracias al formato OpenType son las fuentes manuscritas, las cuales aprovechan éste recurso para simular muy bien la improvisación gestual del trazo manual alternando glifos distintos para un mismo carácter eliminando así el aspecto mecánico de una fuente digital.

 

De 256 glifos (soportados por TrueType y Type 1), pasamos a 65.536. Eso significa que en apenas una fuente se pueden tener alfabetos latino, arábigo, cirílico, griego, Klingon y muchos más. Antes eran necesarias varias fuentes para cubrir todos esos alfabetos.

El gran número de glifos permite también diversas ligaduras (ligatures) y/o ligaduras opcionales o discrecionales (discretionary ligatures) en una única fuente. Antiguamente eran necesarias múltiples fuentes e intercambiar manualmente los glifos. Así mismo se pueden adicionar las  letras floridas (swashes), fracciones (fractions), y otros tantos grupos de carácteres que vamos ver más adelante. Antes de comenzar a diseñar una fuente es bueno tener en mente cuáles de estos grupos vamos a utilizar, para que haya una mejor organización del código desde el comienzo mismo del proyecto.

 

#¿Dónde entra el código?

 

El código OpenType tiene una extensión .fea y puede ser exportado entre distintos softwares e incluso insertado en una fuente vía AFDKO (Adobe Font Developer Kit for OpenType). En FontLab o Robofont usted debe escribir el código línea por línea, pero el Glyphs permite la generación automática de algunas características OpenType si usted nombra adecuadamente los glifos conforme el programa lo requiere. Con solo un click sobre el botón de “actualizar” se generan sus funciones rápidamente, sin embargo, como ocurre con todo lo automatizado, es posible que el resultado no siempre sea lo que usted estaba esperando. Entonces, incuso al utilizar Glyphs, es bueno saber leer, interpretar y escribir el código de programación OpenType.

 

} Intro;

círculo TrueType

(beziérs cuadrá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

Funcionamiento {

 

#¿Qué quiere decir?

 

Básicamente, el OpenType es un código de estructura simple.

Funciona prácticamente a través de comandos de substitución, negación de una regla previamente definida e instrucciones de posicionamiento de los glifos.

 

Las funciones OpenType utilizan etiquetas para su reconocimiento en los programas que las soportan, por ejemplo la etiqueta “liga” indica la función ligaduras, “dlig” indica ligaduras discrecionales y así. Más adelante en este material, usted encontrará todas las etiquetas disponibles (haga click aquí para ver el listado).

 

En cuanto al nombre de los glifos existen algunas convenciones, pero si usted estuviera

escribiendo código línea a línea puede nominar cada glifo con el nombre que más le parezca,

por mi parte prefiero nombrar los carácteres alternativos con un prefijo “.altX” (siendo X el número correspondiente de alternativo en caso de que haya más de uno). Entonces, si tengo una S alternativa su nombre sería “S.alt1” en la mayoría de los casos. Si usted estuviera utilizando Glyphs, y desea que este genere automáticamente el código, deberá verificar cuál es la regla que el programa exige para nombrar los glifos correctamente y así permitir que todo funcione adecuadamente.

 

Abajo tenemos dos ejemplos de líneas de código para ligaduras y alternativas contextuales. El código de las ligaduras funciona con el comando de sustitución de dos o más glifos que serán reemplazados por uno solo. Por otra parte, el código de las alternativas contextuales funciona reemplazando un glifo por otro de acuerdo al contexto que determina el programador.

feature liga { #ligaduras

sub f f by ff;

} liga;

feature calt { #alternativas contextuales

sub A Z' by Z.alt;

} calt;

#Carácteres reservados para el código

 

signo de número - línea de comentario

 

 

 

 

punto y coma - finaliza una línea de código

 

 

 

 

coma - separa items en una lista

 

 

 

 

arroba - identifica una clase

 

 

 

 

barra diagonal invertida - Identifica CIDs. Distingue el nombre de los glifos

de las palabras especiales de programación que sean iguales.

 

 

 

 

 

guión - Define rangos de glifos en una clase

 

 

 

 

igual - Define la función de un conjunto

 

 

 

comilla simple - marca un glifo o clase para
una sustitución o posicionamiento contxtual

 

 

 

comillas dobles - encierra una cadena de texto

 

 

 

 

llaves - encierran una función, lookup, tabla o bloque anónimo

 

 

 

 

 

 

corchetes - encierran un grupo de componentes

 

 

 

 

mayor y menor que - encierran valores numéricos de diferentes tipos

 

 

 

 

 

paréntesis - encierran un archivo que será insertado

 

#

,

\

=

"

;

@

-

'

{ }

[ ]

< >

( )

#código [extraído de la fuente Sapeca]

 

feature liga { # Ligaduras

 

#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;  #Holandés

  sub I J by IJ;

  sub i j by ij;

 

} liga;

 

Todo el texto que vemos después de un # es una anotación y no interfiere con el código. Para la fuente Sapeca organicé las ligaduras

según interviene la caja alta frente a la caja alta (ca ca) y la caja baja frente a la caja baja(cb cb). Tenga en cuenta que el la estructura del código es siempre ‘sub X Y by Z’ y que al final de la línea hay siempre un ‘;’ (usted puede hacer ligaduras de cuantos glifos quiera).

 

Las ligaduras que preceden la línea ‘language NLD;’ son ligaduras específicas para cuando el usuario tenga seleccionado el idioma holandés. En caso de que no haya un idioma especificado, la regla programada se aplicará a todos los idiomas. Si usted desea excluir un idioma específico deberá indicarlo en el código con la palabra exclude.

Código desativado

Código ativado

El calt (alternativas contextuales) funciona un poco diferente, usted no está programando el cambio de un conjunto de glifos sino de un solo glifo en particular de acuerdo con su contexto. En el caso de la línea sub S’ R by S.alt1; la comilla indica que ese será el glifo que se sustituirá.

 

En esta función creé sustituciones que vi necesarias porque los glifos “normales” no funcionan tan bien cuando se presentan determinados pares de letras.

 

Aquí, estoy programando que cuando el diccionario de InDesign esté definido en portugués, se cambie el 7 original de la fuente por el 7 con travesaño.

Código desativado

Código ativado

feature calt { # alt. contextuales

 

 

# anterior ca ca

 sub S’ R by S.alt1;

 sub S’ Y by S.alt1;

 

# posterior 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; # Portugués

 

 sub seven by seven.pt;

 

} calt;

 

La ventaja de utilizar el calt en comparación con las ligaduras es que el usuario continúa controlando el espaciado entre letras ya que se manejan glifos independientes. Entonces, cuando no hay una alteración en el diseño mismo del conjunto de glifos, como es el caso de un trazo que una las letras entre sí, casi siempre es mejor utilizar esta función (además que puede economizar tiempo de diseño dependiendo del proyecto).

 

Para facilitar los reemplazos de grandes grupos de caracteres se deben generar clases que los contengan. Cuando la regla de sustitución fuese clase por clase, es necesario que ambas clases contengan el mismo número de caracteres, teniendo en cuenta que el código hará el reemplazo siguiendo el orden en que se encuentren dentro de la clase. Al igual que los glifos, las clases pueden tener el nombre que usted prefiera para su organización.

#Principales funciones y sus etiquetas

 

aalt

 

access all alternates - Da acceso a todos los carácteres alternativos de un glifo contenidos en la fuente a través de la paleta de glifos del software. En un principio se logra al insertar todas las etiquetas de las funciones que contiene la fuente.

 

Software que la soporta: InDesign/Illustrator/Flash

 

Ejemplo:

 

feature aalt {

smcp;

swsh;

calt;

} aalt;

 

 

calt

 

contextual alternates - Reemplaza glifos de acuerdo a su contexto según lo determine el diseñador de la fuente. El glifo a ser reemplazado se marca con una comilla simple.

 

Software que la soporta: InDesign/Illustrator/Photoshop/Flash

 

Ejemplo:

 

feature calt {

sub A’ B by A.alt1;

} calt;

 

 

salt

 

stylistic alternates - En esta función se incluyen los glifos que son alternativos a nivel propiamente estético. No hay un contexto en el cual ellos sean estrictamente necesarios; estos glifos son opciones que se le dan al usuario final para componer determinado texto.

 

 

Software que la soporta: Illustrator

 

Ejemplo:

 

feature salt {

sub A by A.alt1;

} salt;

 

liga

 

standard ligatures - Como ya se comentó anteriormente, las ligaduras funcionan sustituyendo una secuencia de glifos por un único glifo; generalmente esta función está activada por defecto en los programas por lo tanto es aquí donde se colocan ligaduras que corrijan problemas de la fuente.

 

Software que la soporta: Todos os softwares.

 

Ejemplo:

 

feature liga {

sub f i by fi;

} liga;

 

clig

 

contextual ligatures - Son ligaduras, que como indica su nombre, se aplican en determinado contexto. La función opera en conjunto con la calt.

 

Software que la soporta: InDesign/Illustrator/Photoshop/Flash

 

Ejemplo:

 

feature clig {

sub r o’ e’ by o_e;

} clig;

 

dlig

 

discretionary ligatures - Son ligaduras opcionales a lo usuario final,
típicamente más estético que funcionale.

 

Software que la soporta: InDesign/Illustrator/Photoshop/Flash

 

Ejemplo:

 

feature dlig {

sub A B by A_B;

} dlig;

 

hist

 

historical forms - La idea de esta función es cambiar los glifos estándar
por sus respectivas variantes de diseño histórico.

 

Software que la soporta: InDesign/Flash

 

Ejemplo:

 

feature hist {

sub s by s.hist;

} hist;

 

hlig

 

historical ligatures - Sustituye múltiples glifos por
un glifo de ligadura histórica.

 

Software que la soporta: Todos os softwares.

 

Ejemplo:

 

feature hlig {

sub c t by c_t;

} hlig;

 

unic

 

unicase - En esta función la intención es reemplazar la caja alta o baja por una que mezcla ambos estilos. En este caso lo mejor es trabajar con clases. En el ejemlplo @ca es la clase que contiene las letras de caja alta, @cb contiene las letras de caja baja y en @unic están todos los caracteres correspondientes al conjunto de unicase.

 

 

Software que la soporta: Hasta la versión CC 2014, no funcionaba en ningún software de Adobe. Esta función es soportada por TextEdit de Apple.

 

 

Ejemplo:

 

feature unic {

sub @ca by @unic;

sub @cb by @unic;

} unic;

 

smcp

 

small capitals - Sirve para transformar la caja baja en versalitas. Si usted desea, puede incluir también la caja alta en la sustitución, pero no es lo más convencional hacerlo. Lo mejor aquí es utilizar clases. En el ejemplo, @cb son los carácteres de caja baja y @sc son las versalitas.

 

Software que la soporta: Todos os softwares da Adobe

 

Ejemplo:

 

feature smcp {

sub @cb by @sc;

} smcp;

 

c2sc

 

capitals to small capitals - Esta función está reservada para sustituir la caja alta por versalitas. En el ejemplo, @ca es la caja alta y @sc son las versalitas.

 

Software que la soporta: InDesign/Flash

 

Ejemplo:

 

feature c2sc {

sub @ca by @sc;

} c2sc;

 

pcap

 

petite capitals - Sirve para cambiar la caja baja por versalitas pequeñas (que son un poco más pequeñas que las convencionales). En esta clase @cb contiene la caja baja y @pc las versalitas pequeñas.

 

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

 

Ejemplo:

 

feature pcap {

sub @cb by @pc;

} pcap;

 

c2pc

 

capitals to petite capitals - Sustituye la caja alta por versalitas pequeñas (mayúsculas con altura por debajo de la altura x). En el ejemplo, la clase @ca contiene la caja alta y @pc las versalitas pequeñas.

 

Software que la soporta: InDesign/Flash

 

Ejemplo:

 

feature c2pc {

sub @ca by @pc;

} c2pc;

 

case

 

case sensitive forms - Esta función reemplaza ciertos glifos para que funcionen mejor con la caja alta, ya que lo normal es que ciertos carácteres como el guión se alineen con la caja baja. Usted puede colocar aquí solamente información de posicionamiento y no de sustitución. El comando pos hace referencia a la posición y entre los signos < y > están cuatro valores numéricos que se pueden modificar según sea necesario. El primero y el segundo valor se refieren a los ejes horizontal y vertical del glifo en cuestión, y el tercero y cuarto se refieren al desplazamiento horizontal y vertical del glifo siguiente.

Funciona al activar el ‘All Caps’ en el panel de Open Type y trabaja en conjunto con la siguiente función (cpsp).

 

Software que la soporta: Todos os softwares da Adobe

 

Ejemplo:

 

feature case {

pos hyphen <0 300 0 0>;

} case;

 

cpsp

 

capital spacing - Sirve para que el diseñador de la fuente reajuste el espaciado entre la caja alta en caso de ser necesario. Lo común es que se ajuste el espaciado de la caja alta en función de la caja baja, y eventualmente, cuando haya necesidad de abrir el espacio entre letras, se puede recurrir a esta función activándola al seleccionar ‘All Caps’ en el menú de Open Type. En este código la idea es trabajar con clases como lo muestra el ejemplo con la clase @ca que incluye toda la caja alta.

 

Software que la soporta: Todos os softwares

 

Ejemplo:

 

feature cpsp {

pos @ca <0 0 100 0>;

} cpsp;

 

titl

 

titling - En esta función se deben colocar los glifos específicos para titulares. En caso de que su fuente incluya una versión display y una de texto, con esta función usted puede colocar ambas en el mismo archivo. En el ejemplo, la clase @text contiene todos los glifos enfocados a texto y en @titl todos los display (si usted lo considera necesario, puede incluir comandos de modificación del espaciado con líneas de código como las de cpsp).

 

Software que la soporta: InDesign/Illustrator/Photoshop/Flash

 

Ejemplo:

 

feature titl {

sub @text by @titl;

} titl;

 

swsh

 

swash - Los swashes o florituras muy comunes en las fuentes script (aquellas que simulan la escritura manuscrita) son ornamentos conectados a las letras. Para su aplicación, lo mejor también es utilizar clases. En el ejemplo @swsh1 representa los glifos estándar y @swsh2 los glifos ornamentales correspondientes.

 

 

Software que la soporta: InDesign/Illustrator/Photoshop

 

Ejemplo:

 

feature swsh {

sub @swsh1 by @swsh2;

} swsh;

 

cswh

 

contextual swash -  Son swashes que funcionan solamente en determinado contexto. Se activa al mismo tiempo que los swashes.

 

Software que la soporta: InDesign/Illustrator/Photoshop

 

Ejemplo:

 

feature cswh {

sub D.sw i by D_i.sw;

sub Q’ u e by Q.sw;

} cswh;

 

frac

 

fractions - Existen algunas formas de trabajar con la función frac. Si su proyecto posee apenas algunos glifos fraccionarios, usted puede programar sustituciones simples como al reemplazar la secuencia uno - barra diagonal - cuatro  (1/4) por el carácter de un cuarto (¼) que se muestra en el ejemplo A. Pero si su fuente posee los carácteres de numeradores y denominadores, usted puede crear un código que comprenda la estructura de la fracción y construya correctamente las combinaciones de cada fracción. En el ejemplo B se muestra esta opción y abajo la lógica de la forma en que funciona.

 

  1. Sustituir la barra diagonal estándar (slash) por una barra ajustada para fraccionarios (fraction) en caso de que sea necesario.
  2. Crear clases para los números. Aquí las llamaremos así: @dflt la clase que contiene los números estándar, @num la que contiene los numeradores y @den la que contiene los denominadores.
  3. Programar la sustitución de los números normales por numeradores.
  4. Según el contexto, sustituir los numeradores que estén después de un fraction por denominadores.
  5. También de  acuerdo con el contexto, sustituir los numeradores que están después de un denominador 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.

 

Software que la soporta: InDesign/Illustrator/Photoshop

 

Ejemplos:

 

A.

feature frac {

sub one slash four by onequarter;

} frac;

 

B.

feature frac {

#paso 1

sub slash by fraction;

#paso 3 (o paso 2 es crear las clases)

sub @dflt by @num;

# paso 4

sub fraction @numby @den;

#paso 5

sub @den @numby @den;

} frac;

 

afrc

 

alternative fractions - esta función fue pensada para usar
fracciones verticales por medio de sustituciones simples.

 

Software que la soporta: Hasta la versión CC 2014, no funcionaba en ningún software de Adobe, el único software que encontré que reconoce esta función es QuarkExpress 8.

 

Ejemplo:

 

feature afrc {

sub one slash two by onehalf;

} afrc;

 

ordn

 

ordinals - Los ordinales funcionan como una sustitución contextual. Después de un número, ciertas letras se reemplazan por su versión ordinal. Lo ideal es colocar los números en una clase para facilitar la programación. En el ejemplo @numero incluye los números del 0 al 9.

 

Software que la soporta: InDesign/Illustrator/Photoshop

 

Ejemplo:

 

feature ordn {

sub @numero o’ by ordmasculine;

} ordn;

 

numr

 

numerators - Más una función matemática,  reemplaza los números normales por números posicionados para servir como numeradores. Algo interesante es que funciona en contexto cuando el número se encuentra seguido de una barra de fracción. En el ejemplo @dflt representa los números por defecto y @num los numeradores.

 

Software que la soporta: InDesign/Illustrator

 

Ejemplo:

 

feature numr {

sub @dflt’ fraction by @num;

} numr;

 

dnom

 

denominators -  Al igual que los numeradores mencionados arriba la función cambia los números regulares por su versión correspondiente para denominador. En el ejemplo @dflt abarca los números normales y @den los denominadores que les corresponden.

 

Software que la soporta: InDesign/Illustrator/Photoshop

 

Ejemplo:

 

feature dnom {

sub fraction @dfltby @den;

} dnom;

 

sinf

 

scientific inferiors - Los números científicos inferiores están un poco abajo de la línea base y generalmente son más pequeños que los denominadores. Este código funciona como una sustitución simple de clases. En el ejemplo @dflt se refiere a los números normales y @sinf a los científicos.

 

Software que la soporta: InDesign/Illustrator

 

Ejemplo:

 

feature sinf {

sub @dflt by @sinf;

} sinf;

 

sups

 

superscript - También en una sustitución de clases se alternan los números regulares por pequeños números que se utilizan para potencias matemáticas o para referenciar notas al pie de página. En el ejemplo @dflt es la clase que incluye todos los números por defecto y @sups la que incluye los números superiores.

 

Software que la soporta: InDesign/Illustrator

 

Ejemplo:

 

feature sups {

sub @dflt by @sups;

} sups;

 

subs

 

subscript - A semejanza de la función sups, son pequeños números que se colocan en la parte de abajo. No necesariamente son iguales a los científicos, incluso pueden ser algo mayores y se emplean para numerar notas de pie de página en los libros. En el ejemplo @dflt es la clase que contiene los números normales y @subs la que contiene los inferiores.

 

Software que la soporta: InDesign/Illustrator

 

Ejemplo:

 

feature subs {

sub @dflt by @subs;

} subs;

 

onum

 

old style figures - Los números históricos (old style en inglés) o para texto pueden ser fácilmente programados por medio de una sustitución simple de clases. En el ejemplo @dflt con los números normales y @onum los especiales para texto.

 

Software que la soporta: Todos os softwares

 

feature onum {

sub @dflt by @onum;

} onum;

 

 

lnum

 

lining figures - Esta función es lo contrario de onum. Transforma los números de texto en números de “caja alta”(los comunes). En el ejemplo, la clase @onum contiene los numeros históricos y @lnum los números de uso regular.

 

Software que la soporta: InDesign/Illustrator/Flash

 

Ejemplo:

 

feature lnum {

sub @onum by @lnum;

} lnum;

 

pnum

 

proportional figures - Los números proporcionales tienen un ancho distinto de acuerdo con las proporciones específicas de cada uno.  Abajo, los números normales se incluyen en la clase @dflt y los proporcionales en la clase @prop.

 

Software que la soporta: InDesign/Illustrator

 

Ejemplo:

 

feature pnum {

sub @dflt by @prop;

} pnum;

 

tnum

 

tabular figures - Los dígitos tabulares son aquellos diseñados especialmente para ser utilizados en tablas ya que todos comparten el mismo ancho (es decir que son monoespaciados) a la vez que mantienen la altura de los números de caja alta (números normales). En el ejemplo @dflt es la clase que contiene los números regulares y @tabl los tabulares.

 

Software que la soporta: InDesign/Illustrator/Flash

 

Ejemplo:

 

feature tnum {

sub @dflt by @tabl;

} tnum;

 

zero

 

slashed zero - Esta es un función simple que realiza un solo cambio
al reemplazar el cero por la versión cortada con una línea diagonal.

 

Software que la soporta: InDesign/Flash

 

Ejemplo:

 

feature zero {

sub zero by zeroslash;

} zero;

 

mgrk

 

mathematical greek - La función de griego matemático sirve para sustituir los caracteres griegos por sus correspondientes signos adaptados a funcionar adecuadamente con números. En el ejemplo la clase @greek representa todos los signos griegos y la clase @mgrk su respectivos signos matemáticos.

 

Software que la soporta: Software que la soporta: Hasta la versión CC 2014, no funcionaba en ningún software de Adobe. Esta función puede ser aplicada en TextEdit de Apple.

 

Ejemplo:

 

feature mgrk {

sub @greek by @mgrk;

} mgrk;

 

nalt

 

alternate annotation forms - ¿Conoce los números colocados dentro de un círculo, un rombo o un cuadrado, a veces llenos, otras vacíos? Esta es la función para ellos. En el ejemplo, en la clase @dflt se incluyen los números regulares y en la clase @nalt se incluyen sus formas alternativas.

 

Software que la soporta: Esta función en efecto existe, pero no he podido
encontrar ningún programa en el cual funcione (!).

 

feature nalt {

sub @dflt by @nalt;

} nalt;

 

ornm

 

ornaments - Esta es una función para tener acceso a los ornamentos, dingbats o glifos no alfabéticos. Funciona como una sustitución simple, ya sea a través de clases o no, dependiendo de la cantidad de glifos.

 

Software que la soporta: Photoshop

 

Ejemplo:

 

feature ornm {

sub a by ornm1;

} ornm;

 

locl

 

localized forms - En los diferentes idiomas, los signos diacríticos pueden tener formas ligeramente diferentes, y entonces esta es la función especial para ello. Se basa en sustituciones simples. Usted debe especificar el cambio que se debe realizar para cada idioma, de manera similar a lo mostrado en el caso de la fuente Sapeca.

 

Software que la soporta: InDesign/Illustrator/Photoshop/Flash

 

Ejemplo:

 

feature locl {

script latn;

language TRK; #Turco

 

sub Scedilla by Scedilla.locl;

} locl;

 

ss01 - ss20

 

stylistic sets - Las fuentes Open Type tienen soporte para hasta 20 funciones (conjuntos estilísticos) donde usted puede realizar sustituciones específicas o colocar conjuntos optimizados para algún propósito de acuerdo con sus propias necesidades. En Sapeca por ejemplo, el ss01 contiene todos los glifos que poseen legibilidad optimizada para cuerpos pequeños. Los conjuntos pueden ser utilizados bien sea de manera individual como combinándolos. El código puede utilizar clases si fueren muchos glifos o si son pocos se puede escribir el código glifo a glifo. Para cada conjunto estilístico se debe crear una nueva etiqueta.

 

Software que la soporta: InDesign

 

Ejemplo:

 

feature ss01 {

sub g by g.01;

} ss01;

 

feature ss02 {

sub H by H.02;

} ss02;

 

isol

 

isolated forms - Esta función, en principio, está enfocada la escritura árabe, pero eventualmente es útil también en lenguas latinas. En árabe, las letras toman formas distintas en caso de aparecer aisladas dentro de un texto. De cierta forma, esta función también puede ser útil para tipografías de tipo script o aquellas que simulan la escritura manual. En el ejemplo la clase @dflt incluye los glifos regulares de la fuente y la clase @isol aquellos que funcionarán de manera aislada.

 

Software que la soporta: InDesign

 

Ejemplo:

 

feature isol {

sub @dflt by @isol;

} isol;

 

init

 

initial forms - Al igual que la función isol, init está enfocada al árabe y así mismo puede ser útil para las fuentes latinas para aprovechar el contexto. En el ejemplo @all reúne todos los caráctertes de la fuente (al hablar de todos no se incluyen notdef, null ni el espacio), @init incluye los carácteres que han sido modificados para el inicio de palabras y en @dflt están aquellos carácteres regulares que habrán de ser reemplazados.

 

Software que la soporta: InDesign

 

Ejemplo:

 

feature init {

sub @dflt by @init;

sub @all @init' by @dflt;

} init;

 

medi

 

medial forms - Continuando con las funciones especiales para árabe, esta sirve para los glifos que se sitúan en la parte media de la palabra. En el ejemplo @all es la clase que contiene todos los carácteres de la fuente, @dflt contiene los glifos que serán sustituidos y en @medi están los glifos sustitutos que se ubicaran en la parte media de las palabras (cualquiera que esta sea desde que no se encuentren al comienzo o al final).

 

Software que la soporta: InDesign

 

Ejemplo:

 

feature medi {

sub @all @dflt@all by @medi;

} medi;

 

fina

 

final forms - Para las letras al final de las palabras, los árabes por supuesto, también tienen una función específica. En el ejemplo la clase @all incluye todos los glifos de la fuente, @dftl referencia los glifos que serán sustituidos y @fina aquellos que se utilizarán para que aparezcan al final de las palabras.

 

Software que la soporta: InDesign

 

 

Ejemplo:

 

feature fina {

sub @all @dflt’ space by @fina;

} fina;

 

rlig

 

required ligatures - Esta función es igual a las ligaduras estándar, pero en este caso no hay opción de que sea desactivada. También fue creada para árabe, y funciona como una sustitución común.

 

Software que la soporta: InDesign

 

feature rlig {

sub l l by l_l;

} rlig;

 

mark y mkmk

 

mark to base positioning  y  mark to mark positioning – Sirven para la combinación de signos diacríticos y el posicionamiento respectivo entre ellos. Es otra función hecha para árabe. Su programación se realiza utilizando el VOLT (software de programación Open Type desarrollado por Microsoft) o el AFDKO de Adobe.

 

Software que la soporta: InDesign

 

} Funcionamiento;

Aplicación {

 

Dónde utilizar las funciones OpenType en los principales programas de Adobe:

 

 

# InDesign CC 2015:

 

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

Al seleccionar un caracter, InDesign permite ver todos los alternativos que tenga.

Funciona también con fracciones.

# Illustrator CC 2014:

 

# Photoshop CC 2014:

 

En Illustrator, usted habilita mediante botones las funciones disponibles en la fuente. Los menús Figura y Posición se refieren al estilo de cifra (histórica, tabular, alineada) y a la posición de esta (superior, inferior, numerador, denominador)

Photoshop funciona de manera similar a Illustrator, con botones para activar

o desactivar las funciones disponibles.

La paleta de glifos, existente en los tres principales programas de Adobe, da acceso a todos los glifos de la fuente, y permite visualizar la organización de acuerdo con la división de las funciones, ya que el software no proporciona soporte para su uso.

} Aplicación;