Sam Qasbah” post=81264Grazie per le risposte.
A Enrico:
Non uso XeLaTeX, ma plain e XeTeX. Nel formato c’è l’istruzione \uselanguage{italian}, e tutto funziona perfettamente tranne con le parole con l’apostrofo che non vengono sillabate da TeX, come nel seguente file di esempio
`\def\a{intervento asperrima intervallo incontrario evasione ugello\ }
\def\aa{\a\a\a\a\a\a\a\a\a\a}
\def\aaa{\aa\aa\aa\aa\aa\aa\aa\aa\aa\aa}\def\b{dell'intervento nell'asperrima dell'intervallo all'incontrario dell'evasione nell'ugello\ }
\def\bb{\b\b\b\b\b\b\b\b\b\b}
\def\bbb{\bb\bb\bb\bb\bb\bb\bb\bb\bb\bb}\hsize 4in
\uselanguage{italian}\aaa % correttamente sillabate
\bbb % non sillabate
\bye
`Questo è il motivo per cui mantengo un file di eccezioni
`\catcode`@=11
\def\addtolanguage#1#2{%
\ifcsname language@hook@#1\endcsname
\expandafter\def\csname language@hook@#1%
\expandafter\expandafter\expandafter\endcsname
\expandafter\expandafter\expandafter
{\csname language@hook@#1\endcsname#2}
\else
\expandafter\def\csname language@hook@#1\endcsname{#2}
\fi}
\def\uselanguage@hook#1{\csname language@hook@#1\endcsname}
\catcode`@=12
\addtolanguage{italian}{\lccode`'=`' \lccode”2019=”2019 }
\def\a{intervento asperrima intervallo incontrario evasione ugello\ }
\def\aa{\a\a\a\a\a\a\a\a\a\a}
\def\aaa{\aa\aa\aa\aa\aa\aa\aa\aa\aa\aa}
\def\b{dell'intervento nell'asperrima dell'intervallo all'incontrario dell'evasione nell'ugello\ }
\def\bb{\b\b\b\b\b\b\b\b\b\b}
\def\bbb{\bb\bb\bb\bb\bb\bb\bb\bb\bb\bb}
\hsize 4in
\uselanguage{italian}
\aaa % correttamente sillabate
\bbb % non sillabate
\bye`
Il formato riconosce [tt]\uselanguage[/tt] e, se è definito [tt]\uselanguage@hook[/tt] lo esegue, ma non lo definisce. Quindi sei libero di farlo tu; un carattere che ha [tt]\lccode[/tt] zero interrompe il processo di sillabazione. Quindi devi cambiare il codice dell’apostrofo, meglio nelle sue “due incarnazioni” (il carattere U+2109 è quello usato se usi [tt]tex-text[/tt] come “mapping” con un font OpenType).
Ciao
Enrico