Vamos a ver, rápidamente, cuales son las funciones Open Type más comunes que podemos agregar a nuestras fuentes y algunos ejemplos de como hacerlo.
Ligatures: liga

Ligaturas
feature liga {
sub f i by f_i;
sub f l by f_l;
sub f f i by f_f_i;
sub f f l by f_f_l;
} liga;
Cuando encuentra una f seguida de una i, las reemplaza por el caracter fi, lo mismo con las fl, ffi, ffl.
Discretional Ligatures: dlig

Ligaturas Discrecionales
feature dlig {
sub c t by c_t;
sub s t by s_t;
} dlig;
Cuendo encuentra una c seguida de una t, las reemplaza por el caracter c_t, lo mismo con la s t.
Stylistic Alternates: salt

Stylistic Alternates
feature salt {
sub a by a.alt;
sub Q by Q.alt;
} salt;
Reemplaza las letras a por las letras a alternativas. Lo mismo con la Q.
Contextual Alternates: calt

Contextual Alternates
feature calt {
sub @_bajas t' @_altas by t.left;
sub @_bajas t' @_bajas by t.middle;
sub @_altas t' @_bajas by t.right;
} calt;
Reemplaza una letra por las versiones alterativas, dependiendo las letras que tenga a los costados
Swashes: swsh

Swashes
feature swsh{
sub T by T.swsh;
sub F by F.swsh;
sub R by R.swsh;
} swsh;
Reemplaza las letras T, F y R por las versiones con Swashes.
Initial forms: init

Initial Forms
feature init {
sub @initial_to_be_replaced by @intial_replacement;
} init;
Suponiendo que tenemos dos series de letras agrupadas en classes, reemplaza las letras de las primer serie por las de la segunda serie, siempre y cuando esten al principio de una palabra.
Final Forms: fina

Final Forms
feature fina {
sub @fina_to_be_replaced by @fina_replacement;
} fina;
Suponiendo que tenemos dos series de letras agrupadas en classes, reemplaza las letras de las primer serie por las de la segunda serie, siempre y cuando esten al final de una palabra en.
Otras OT features que podemos incorporar, son:
- Small Capitals: smcp
- Lining Figures: lnum
- Old Style Figures: onum
- Proportional Figures: pnum
- Tabular Figures: tnum
- Slashed Zero: zero
9 Comments
Hey Pablito, muy copado esto. Me gustaría que nombres que tipografías son las que usas en los ejemplos.
Saludos, genial trabajo, me gustaría ver más así.
@Ignacio
1 y 2) Feijoa by Klim
3) Gotham by Hoefler
4) Eye Catching by Blue Vinyl
5) Plantagenet Nova by Tiro Typeworks
6 y 7) Bello by Underware
Tengo entendido que en liga deben ir primero aquellas que contienen tres glifos y luego las de dos, de otro modo cuando tengas ffl te cambiaría a la ligadura ff y la l quedaria volando. El codigo quedaría así:
feature liga {
sub f f i by f_f_i;
sub f f l by f_f_l;
sub f i by f_i;
sub f l by f_l;
} liga;
Hola Eli:
Puede ser, habría que testearlo para estar seguro.
Gracias por pasar.
Ya lo he probado muchas veces y estoy seguro
Excelente, no sabia que se podia hacer todos estos efectos con OT.
Tu blog es estupendo, lo visitare seguido, gracias!
Muchas gracias por facilitar esta valiosa y pragmática información, altamente útil para aquellos que, como yo, se inician en la programación OT.
Hola Pablo, una pregunta a propósito de estas posibilidades de features en OT, ¿Uno puede determinar un glifo que soporte dos features a la vez? Por poner un ejemplo, tengo una J en versión normal, otra en swash, la cual se llama J.swash y una tercera que se llama J.ini; ¿Hay alguna forma de nombrar una posible cuarta J que soporte swash e ini a la vez? ¿cómo se nombraría? Mil saludos y gracias de antemano.
Hola John,
Sep, poder seguro se puede, hay que buscarle la vuelta.
La cuarta la podrias llamar algo asi como J.initswash o con cualquier otro nombre que quieras, el nombre en realidad es lo de menos, lo importante es como armes despues la programacion para que funcione