[ << Entrada i sortida generals ] | [Part superior][Continguts][Índex] | [ Gestió de l'espai >> ] |
[ < Ús d'ajustaments globals ] | [ Amunt : Treball sobre els fitxers d'entrada ] | [ Codificació del text > ] |
3.3.3 Caràcters especials
Codificació del text | ||
Unicode | ||
Àlies d’ASCII |
[ << Entrada i sortida generals ] | [Part superior][Continguts][Índex] | [ Gestió de l'espai >> ] |
[ < Caràcters especials ] | [ Amunt : Caràcters especials ] | [ Unicode > ] |
Codificació del text
El LilyPond usa el conjunt de caràcters definit pel consorci Unicode i la norma ISO/IEC 10646. Defineix un nom únic i un codi per als conjunts de caràcters que s’utilitzen en pràcticament tots els idiomes moderns i també en molts d’altres. L’Unicode es pot implementar utilitzant diverses esquemes de codificació diferents. El LilyPond usa la codificació UTF-8 (UTF són les sigles d’Unicode Transformation Format, o format de transformació de l’Unicode) que representa tots els caràcters comuns de la codificació Latin en un sol byte, i representa altres caràcters usant un format de longitud variable de fina a quatre bytes.
L’aspecte visual real dels caràcter ve determinat per els glifs que es defineixen als tipus de lletres concretes que es tinguin disponibles: un tipus de lletra defineix l’assignació d’un subconjunt dels codis d’Unicode a glifs. El LilyPond fa servir la biblioteca Pango per representar i disposar tipogràficament els textos multilingües.
El Lilypond no realitza cap conversió a la codificació de l’entrada. Això significa que qualsevol text, ja sigui el títol, la lletra de la cançó o una ordre musical que contingui caràcters diferents als del conjunt ASCII, s’han de codificar en UTF-8. La forma més fàcil d’escriure aquest text és utilitzar un editor preparat per a Unicode i desar el fitxer amb la codificació UTF-8. Gairebé tots els editors moderns populars donen suport al UTF-8, per exemple ho fan el vim, l’Emacs, el jEdit i el Gedit. Tots els sistemes MS Windows posteriors a NT fan servir l’Unicode com a codificació de caràcters nativa, de manera que fins i tot l’accessori Bloc de Notes (Notepad) pot editar-se i desar un fitxer en el format UTF-8. Una alternativa més funcional per a Windows és el BabelPad.
Si un fitxer d’entrada que conté un caràcter que no és ASCII no es desa en el format UTF-8, es genera un missatge d’error.
FT_Get_Glyph_Name () error: argument invàlid
Vet aquí un exemple que mostra text ciríl·lic, hebreu i portuguès:
[ << Entrada i sortida generals ] | [Part superior][Continguts][Índex] | [ Gestió de l'espai >> ] |
[ < Codificació del text ] | [ Amunt : Caràcters especials ] | [ Àlies d'ASCII > ] |
Unicode
Per introduir un caràcter aïllat per al qual es coneix el punt de
codi Unicode però no està disponible a l’editor que s’està fent
servir, useu \char ##xhhhh
o bé \char
#dddd
dins d’un bloc \markup
, on hhhh
és el codi
hexadecimal del caràcter en qüestió i dddd
és el seu valor
decimal corresponent. Poden ometre’s els zeros inicials, però és
costum indicar els quatre caràcters a la representació hexadecimal
(observeu que no s’ha d’utilitzar la codificació UTF-8 del
punt de codi Unicode després de \char
, atès que la
codificació UTF-8 conté bits addicionals que indiquen el nombre
d’octets). Hi ha taules de codis Unicode i un índex de noms de
caràcters que dóna el punt de codi en hexadecimal per a qualsevol
caràcter al portal del Consorci Unicode, https://www.unicode.org/.
Per exemple, tant \char ##x03BE
com \char #958
insereixen el caràcter Unicode U+03BE, que té el nom Unicode
“Lletra grega Xi petita”.
Es pot escriure d’aquesta forma qualsevol punt de codi Unicode, i si tots els caràcters especials s’escriuen en aquest format no cal desar el fitxer d’entrada en format UTF-8. Per suposat, ha d’estar instal·lat i estar disponible per al LilyPond un tipus de lletra que contingui codificats tots aquests caràcters.
L’exemple següent mostra valors hexadecimals Unicode que s’usen a quatre llocs: a una crida d’assaig, com text d’articulació, a la lletra i com text independent sota la partitura:
\score { \relative { c''1 \mark \markup { \char ##x03A8 } c1_\markup { \tiny { \char ##x03B1 " to " \char ##x03C9 } } } \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } } } \markup { "Copyright 2008--2015" \char ##x00A9 }
Per escriure el símbol de copyrights a la nota de crèdits, utilitzeu:
\header { copyright = \markup { \char ##x00A9 "2008" } }
[ << Entrada i sortida generals ] | [Part superior][Continguts][Índex] | [ Gestió de l'espai >> ] |
[ < Unicode ] | [ Amunt : Caràcters especials ] | [ Control de la sortida > ] |
Àlies d’ASCII
Es pot incloure una llista d’àlies d’ASCII per a caràcters especials:
\paper { #(include-special-characters) } \markup "&flqq; – &OE;uvre incomplète… &frqq;" \score { \new Staff { \repeat unfold 9 a'4 } \addlyrics { This is al -- so wor -- kin'~in ly -- rics: –_&OE;… } } \markup \column { "The replacement can be disabled:" "– &OE; …" \override #'(replacement-alist . ()) "– &OE; …" }
També podem fer els nostres propis àlies, ja sigui de forma global,
\paper { #(add-text-replacements! '(("100" . "hundred") ("dpi" . "dots per inch"))) } \markup "A 100 dpi."
o local:
\markup \replace #'(("100" . "hundred") ("dpi" . "dots per inch")) "A 100 dpi."
Vegeu també
Referència de la notació: Llista de caràcters especials.
Fitxers instal·lats: ‘ly/text-replacements.ly’.
[ << Entrada i sortida generals ] | [Part superior][Continguts][Índex] | [ Gestió de l'espai >> ] |
[ < Unicode ] | [ Amunt : Caràcters especials ] | [ Control de la sortida > ] |