Senonché il file che descrive la lingua italiana a xelatex, oltre a riferirsi ad un diverso modello tratto da quello per babel, ma frse un modello troppo scarne, commette un grave errore: imposta il codice di “minuscola” alla “virgoletta chiusa alta semplice” (codice Unicode esadecimale “2019”) invece che all’apostrofo (codice Unicode esadecimale “0027).
Torno sulla questione. L’apostrofo “ASCII”, cioè U+0027 non va usato in alcun caso con XeTeX, perché i font hanno in quella posizione il carattere “diritto” e non il vero apostrofo. Tuttavia, se si passa alla specifica per fontspec l’opzione “Ligatures=TeX” (che con le vecchie versioni di fontspec era “Mapping=tex-text”), il carattere U+0027 viene trasformato senza alcun intervento dell’utente in U+2019. Quindi un input come
`un'operazione`
diventa equivalente a
`un’operazione`
(nel primo c’è l’apostrofo ASCII U+0027, nel secondo c’è U+2019).
Il carattere visto da XeTeX quando si tratta di provare la sillabazione è quello dopo la trasformazione e quindi a questo occorre dare un \lccode diverso da 0. È ragionevole però fare diversamente da come agisce al momento polyglossia, che assegna
`\lccode”2019=”2019`
Probabilmente è meglio
`\lccode”2019=”0027`
per usare più correttamente i pattern di sillabazione. Ma, come hai visto con l’esempio, il problema non è così importante.
Ciao
Enrico