| [ << 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, http://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 > ] |