5.2.2 Propiedades de los interfaces

Suponga ahora que queremos imprimir la letra de la canción en cursiva. ¿Qué forma de instrucción \override necesitamos para hacerlo? En primer lugar miramos en la página del RFI que relaciona todos los objetos, ‘All layout objects’, como antes, y buscamos un objeto que pueda controlar la letra de la canción. Encontramos LyricText, que parece adecuado. Al seguir este enlace se presentan las propiedades ajustables para el texto de la letra. Estos incluyen font-series y font-size, pero nada que pudiera aplicar una forma cursiva. Esto es porque la propiedad de la forma es común a todos los objetos de fuente tipográfica, y por tanto, en vez de incluirlo en cada uno de los objetos de presentación, se agrupa junto con otras propiedades comunes similares y se deposita en un Interface, el interface de las fuentes tipográficas font-interface.

Por tanto, ahora necesitamos aprender cómo encontrar las propiedades de los interfaces, y descubrir qué objetos usan estas propiedades de interface.

Mire de nuevo la página del RFI que describe a LyricText. Al final de la página hay una lista de enlaces a los interfaces que LyricText contempla. La lista tiene siete elementos, entre ellos font-interface. Al seguir este enlace llegamos a las propiedades asociadas con este interface, que también son propiedades de todos los objetos que lo llevan, entre ellos LyricText.

Ahora vemos todas las propiedades ajustables por el usuario que controlan las tipografías, entre ellas font-shape(symbol), donde symbol se puede establecer a upright (recta), italics (cursiva)o caps (mayúsculas pequeñas).

Observará que font-series y font-size también se encuentran aquí relacionadas. Esto inmediatamente hace que surja la pregunta: ¿Por qué están las propiedades comunes de tipografía font-series y font-size relacionadas bajo LyricText así como bajo el interface font-interface pero font-shape no lo está? La respuesta es que font-series y font-size se cambian a partir de sus valores predeterminados globales cuando se crea un objeto LyricText, pero font-shape no lo hace. Entonces los elementos de la lista LyricText le dicen los valores para esas dos propiedades que son de aplicación para LyricText. Otros objetos que contemplan font-interface establecerán dichas propiedades de forma diferente cuando se crean.

Veamos si ahora podemos construir la instrucción \override para cambiar la letra a cursiva. El objeto es LyricText, la propiedad es font-shape y el valor es italic. Igual que antes, omitiremos el contexto.

Como nota aparte, aunque es importante, observe que ciertas propiedades toman valores que son símbolos, como italic, y deben ir precedidos de un apóstrofo, '. Los símbolos se leen a continuación internamente por parte de LilyPond. Tenga en cuenta la diferencia con las cadenas de texto arbitrarias, que aparecerían como "una cadena de texto"; para ver más detalles sobre los símbolos y las cadenas, consulte Tutorial de Scheme.

Así pues, la instrucción \override necesaria para imprimir la letra en cursiva, es:

\override LyricText.font-shape = #'italic

Esto debe escribirse justo delante de la letra a la que debe afectar, de esta forma:

{
  \key es \major
  \time 6/8
  \relative {
    r4 bes'8 bes[( g]) g |
    g8[( es]) es d[( f]) as |
    as8 g
  }
  \addlyrics {
    \override LyricText.font-shape = #'italic
    The man who | feels love's sweet e -- | mo -- tion
  }
}

[image of music]

y toda la letra se imprime en cursiva.

Nota: Dentro de la letra, deje siempre espacios entre la sílaba final y la llave de cierre.

Véase también

Manual de Extensión: Tutorial de Scheme.


Manual de aprendizaje de GNU LilyPond v2.25.14 (rama de desarrollo).