Magazine Informatica

Sigil - Problemi con testo sottolineato

Creato il 21 aprile 2013 da Hnikarr

In un recente commento a un altro post, mi è stato segnalato un problema con Sigil, di cui finora non mi ero accorto: il testo sottolineato, in certi casi, è segnalato come errore dal test di convalida interno a Sigil, ossia FlightCrew. Se si sottolinea una parte del testo, evidenziandola e premendo il tasto Sottolinea nella interfaccia grafica di Sigil, oppure si usa la combinazione di tasti CTRL+U, il testo sottolineato potrebbe essere considerato non valido nei successivi test sul formato EPUB. Come si può intuire da questa premessa, non uso molto spesso le sottolineature all'interno di un testo, ma ciò non ha importanza. L’errore che può essere segnalato dal test FlightCrew interno a Sigil, ma anche dal test ufficiale di convalida EpubCheck, ha una spiegazione molto semplice: il tag inserito in automatico per segnalare il testo sottolineato, ossia <u>, è un tag che è stato prima deprecato e poi dichiarato illegale nello XHTML 1.1, cioè il linguaggio utilizzato come base da Sigil per il formato EPUB. In altri termini, Sigil utilizza un tag non valido, per segnalare il testo sottolineato. A questo punto ci si potrebbe domandare il perché di una scelta simile, ma forse è meglio non indagare: il punto è che il tag <u>, utilizzato da Sigil, è illegale e sarà sempre segnalato come errore nei test di convalida. Il problema del tag <u> ha una facile soluzione e in parte ci viene incontro lo stesso Sigil. Nelle precedenti versioni del programma, era attiva una funzione di controllo automatico del codice, che si occupava di volta in volta di correggere eventuali nostri errori stilistici: tag sbagliati o deprecati, tag non chiusi e così via. Questa funzione è HTML Tidy. Forse perché un po’ troppo zelante e affetta dal vizio di correggere qualsiasi cosa, anche ciò che noi avevamo inserito volontariamente, nelle ultime versioni di Sigil è stata sostituita da un’altra funzione analoga, ma meno invasiva: Stampa Gradevole Tidy (è il nome che ha in italiano e sì, lo so, può lasciare perplessi, ma facciamo finta di niente). Anche Stampa Gradevole Tidy esegue una pulizia automatica del codice, ma lo fa in modo meno invasivo e tende a non eliminare o sostituire arbitrariamente i tag inseriti da noi, come invece si divertiva a fare HTML Tidy. Morale della favola: HTML Tidy, quando vedeva un tag <u>, si affrettava a sostituirlo con una apposita classe CSS, per rendere valido il nostro documento; Stampa Gradevole Tidy, invece, lo lascia così come è. Siccome le impostazioni di base prevedono che il controllo del codice sia eseguito con Stampa Gradevole Tidy, l’errore rimane e il test di convalida ce lo segnala. La prima soluzione al problema del tag <u> consiste dunque nel modificare le impostazioni di base, attivando HTML Tidy come pulitore ufficiale del nostro codice. Premiamo il tasto F5, oppure passiamo dal menu Modifica -> Impostazioni e, nella finestra che si aprirà, passiamo alla scheda Pulisci il Sorgente, selezioniamo HTML Tidy e diamo un Ok. Sigil - Problemi con testo sottolineato Al prossimo controllo automatico, tutti i nostri tag <u> saranno sostituiti: soluzione rapida, semplice, ma non indolore, perché potremmo poi ritrovarci a litigare con HTML Tidy in altre circostanze, se cerchiamo di fargli accettare un tag diverso da quelli che è programmato per accettare. Inoltre, la classe CSS che creerà potrebbe essere inserita nello Header della pagina, invece che nel foglio di stile del nostro EPUB. Una seconda soluzione, più elegante ma anche più nerd, consiste nel modificare a mano il codice delle nostre pagine e, successivamente, creare una nuova classe nel foglio di stile CSS. Prima di tutto, sostituiamo il tag <u> con un tag del tipo <span class="sottolineato"> e, di conseguenza, il tag </u> con un tag </span>: in questo modo, segnaliamo al documento (o, più precisamente, al dispositivo che visualizzerà il documento) che, per riprodurre il testo racchiuso in quel tag, dovrà utilizzare le regole specificate nella classe “sottolineato” del foglio di stile CSS. Il secondo passo consiste nel creare la classe “sottolineato” nel nostro foglio di stile: apriamo il foglio di stile CSS, che sarà nella cartella Styles (se abbiamo fatto tutto per bene) e aggiungiamo queste tre righe
span.sottolineato {
    text-decoration: underline
}
In questo modo, abbiamo aggiunto una regola che prevede di sottolineare il testo, quando troviamo la classe “sottolineato” del tag <span>. Ovviamente, al posto di “sottolineato” si può usare qualsiasi altro nome, purché non sia già stato usato nel foglio di stile. Una terza possibilità, sconsigliabile, è di sostituire il tag <u> col tag <ins>. Il tag <ins> è utilizzato per inserire un testo particolare dentro al nostro documento: il testo in questione apparirà sottolineato. Il problema di questa soluzione, però, è che in futuro potrebbe anche essere deciso di usare un altro sistema per evidenziare il testo inserito e, in questo caso, la sottolineatura sparirebbe: è possibile usarlo come rimpiazzo temporaneo, ma per una modifica sicura è meglio usare una delle due soluzioni precedenti.

Potrebbero interessarti anche :

Ritornare alla prima pagina di Logo Paperblog

Possono interessarti anche questi articoli :