ISBN per tutti

Immagino sappiate cosa siano gli ISBN, ovvero i codici utilizzati a livello internazionale per indicare le edizioni dei libri, a stampa o digitali. Si tratta di un numero di 13 cifre che contiene 12 numeri (che indicano lo stato di pubblicazione del libro, il codice editore ed il numero personale dell’edizione) e di una 13 cifra “di controllo” (come l’ultima cifra del vostro codice fiscale) calcolata sulla base delle 12 cifre precedenti secondo lo standard EAN-13. Se siete editori, pagate l’Agenzia ISBN italiana per acquistare un codice editore ed il corrispondente lotto di numeri ISBN da attribuire ai vostri libri. Con un limite: se voi ordinate più di 10 numeri, il vostro account vi offrirà solo i primi 10 precalcolati, mentre per i successivi avete due opzioni: pagare l’Agenzia o calcolare da voi, sulla base delle precedenti 12 cifre che conoscete, i numeri ISBN successivi. Per un singolo numero esistono dei generatori online, ma per 90 o 990 numeri consecutivi? (immagino che chi ne ha 990 abbia un software apposito, ma trascendiamo)

Cercando online scopro, fortunatamente, che non sono la prima: fantastico, ma io non uso excel, uso LibreOffice … e per di più, in italiano (cosa cambia? le formule sono, ahimè, tradotte!!!). E io non so un accidenti di come funzionino le funzioni (scusate il gioco di parole) dei fogli di calcolo!

Dopo vari smanettamenti ecco a voi (o meglio, a me, per memoria futura) la  formula delle meraviglie, da incollare in cella B2 dopo aver scritto in cella B1 le prime 12 cifre (qui anche in versione pronta)

=B1&(ARROTONDA.ECCESSO(((STRINGA.ESTRAI(B1;2;1)+STRINGA.ESTRAI(B1;4;1)+STRINGA.ESTRAI(B1;6;1)+STRINGA.ESTRAI(B1;8;1)+STRINGA.ESTRAI(B1;10;1)+STRINGA.ESTRAI(B1;12;1))*3)+(STRINGA.ESTRAI(B1;1;1)+STRINGA.ESTRAI(B1;3;1)+STRINGA.ESTRAI(B1;5;1)+STRINGA.ESTRAI(B1;7;1)+STRINGA.ESTRAI(B1;9;1)+STRINGA.ESTRAI(B1;11;1));10)-(((STRINGA.ESTRAI(B1;2;1)+STRINGA.ESTRAI(B1;4;1)+STRINGA.ESTRAI(B1;6;1)+STRINGA.ESTRAI(B1;8;1)+STRINGA.ESTRAI(B1;10;1)+STRINGA.ESTRAI(B1;12;1))*3)+(STRINGA.ESTRAI(B1;1;1)+STRINGA.ESTRAI(B1;3;1)+STRINGA.ESTRAI(B1;5;1)+STRINGA.ESTRAI(B1;7;1)+STRINGA.ESTRAI(B1;9;1)+STRINGA.ESTRAI(B1;11;1))))

Se volete la spiegazione vi rimando al sito di cui sopra 😀 … ma spiegatemi voi perché MID diventa STRINGA.ESTRAI 🙁

Impaginare in multiculturale

Da quando il  mio tempo “libero” è drasticamente calato, per non dire inesistente, molto raramente mi dedico ai miei hobby. Molto del mio tempo al momento è occupato da questioni di tipo editoriale, dato che il Centro Studi ClassicA ed Engramma stanno lavorando a pieno regime in quella direzione. Così, per tenere conto di tutte le ore che comunque dedico giornalmente a risolvere rogne, preferisco riprendere il blog con un altro tema invece che spostarmi altrove, tanto sono sempre io 😉

Il tema di oggi è l’impaginazione, il mio programma per impaginare è Adobe inDesign (non mi pagano, io pago loro ogni mese, in compenso) dato che è uno standard industriale, ovvero se volete lavorare professionalmente con case editrici e tipografie, non ci sono alternative. L’ho iniziato ad usare mentre ero nel pieno della stesura del mio primo libro, e da allora ho dovuto imparare molti dei suoi segreti per riuscire a domarlo e fargli fare quello che serviva a me (grazie indesignsecrets.com!).

L’ultima avventura in ordine di tempo è stata quella di inserire delle parole in arabo all’interno di un articolo, che era stato pubblicato nella Rivista di Engramma. Scrivere nella pagina web, per gli editor, non era stato un problema, come non era un problema visualizzare lo stesso testo in un programma di videoscrittura, se si lavora con font e codifica Unicode (utf-8). Ma, una volta importato, il testo era inutilizzabile. Poche settimane prima, correggendo le bozze di due schede di catalogo, avevo notato che il titolo dell’opera, in ebraico, era a specchio rispetto al documento di testo da me inviato. Dato che si trattava di una casa editrice qualificata, mi ero stupita dell’errore e avevo semplicemente segnalato il problema (in caratteri cubitali 😛 ).

Poco dopo il problema però era ritornato mentre si verificavano le bozze del libro in pubblicazione della direttrice del Centro Studi, con l’arabo, questa volta, inspiegabilmente mutato. Il primo colpevole, quando un testo che usa vari alfabeti non funziona, è solitamente il font usato per la stampa: dato che Engramma è una rivista di tradizione classica, i testi con citazioni in greco politonico sono comuni, mentre i font Unicode che includono il blocco specifico non sono così diffusi. Nel nostro caso, abbiamo adottato la politica del font open source con la maggior parte dei blocchi disponibili, il Linux Libertine. Non entro nel dettaglio della normativa sulle licenze font nel caso di pubblicazioni e stampe perché vi tedierei. Il mio primo pensiero è stato quello di accertarmi che il font contenesse i blocchi relativi all’arabo. Ho scoperto allora che per una “bella scrittura” in arabo i blocchi standard di base presenti nel font non bastano (ed ecco comparire i terribili quadratini con sfondo rosa in inDesign), in quanto per ogni carattere esistono “forme contestuali” dipendenti dalle lettere limitrofe (la faccio semplice) e di fatto è necessario un font specifico. InDesign offre un paio di font allo scopo, come Adobe Arabic, ma volendo restare nel campo open vorrei segnalarvi Amiri, che personalmente ho trovato molto più elegante e leggibile (per quanto io non possa, purtroppo, leggere in arabo) all’interno del testo latino.

word_readyCambiato il font delle parole incriminate, in inDesign però nasceva un nuovo problema: le parole erano diverse! Questo perché le parole erano scritte seguendo la direzione di scrittura occidentale da sinistra a destra (LTR) e non, come normalmente nell’arabo (o nell’ebraico), da destra a sinistra (RTL). Inoltre, a causa delle “forme contestuali”, cambiando la successione delle lettere, cambiava anche la forma delle stesse, con risultati per lo meno bizzarri. Questo problema, che non si presenta in altri contesti (la pagina web in primis), è legato al fatto che la formattazione dei paragrafi normalmente impostata in inDesign è ottimizzata per le lingue occidentali e forza, anche in presenza di parole RTL, la scrittura LTR. Per ovviare a ciò il suggerimento di tutti gli esperti è: attivate nella formattazione del paragrafo l’opzione “Paragrafo Adobe World Ready” che trovate nella categoria “Giustificazione” evitando, comunque, l’allineamento a sinistra che entra in conflitto.

A questoGREP punto la necessità è stata quella di attribuire il font corretto alle sole parole in arabo in modo automatico, creando uno stile di carattere che usasse il font necessario. In un primo momento ho cercato con una stringa GREP tutte le parole contenenti lettere arabe [ء-ي]+, grazie ad un suggerimento trovato online, attribuendo a tutte lo stile di carattere da me creato. Purtroppo la stringa non individuava tutte le parole dell’articolo, per cui dopo svariate ricerche ed in particolare il suggerimento di questo articolo, ho creato una nuova stringa GREP in grado di individuare tutti i blocchi Unicode contenenti l’arabo:

([\x{0600}-\x{06FF}]|[\x{0750}-\x{077F}]|[\x{08A0}-\x{08FF}]|[\x{FB50}-\x{FDFF}]|[\x{FE70}-\x{FEFF}]|[\x{10E60}-\x{10E7F}]|[\x{1EE00}-\x{1EEFF}])+

Chiaramente non una formula da ricordare, fortunatamente esiste l’opzione per salvare le ricerche. Ma come spiegare a tutti gli editor come fare? La nostra redazione ad alta rotazione, con un continuo viavai di tesisti e stagisti, una soluzione da applicare a mano ogni volta non era certo  consigliabile, per cui ho pensato di semplificare a tutti la vita: se bastava una stringa GREP per individuare tutte le parole, cosa c’era di meglio di uno stile GREP? Mi è bastato aggiungere allo stile nel modello e, senza ulteriori interventi da parte della persona che importa il testo nel modello, il testo viene correttamente formattato!

nidificato
Questa tecnica permette di cambiare la formattazione di parole con alfabeti diversi identificabili tramite la somma dei blocchi Unicode della lingua, usando stili di carattere appropriati, sia per l’assenza di glifi corrispondenti nel font scelto per il corpo del testo, sia perché preferiamo per certi alfabeti le forme contenuti in altri font. Vi semplifico la vita e vi mostro le stringhe per cercare alcuni alfabeti che potrebbero interessarvi:

Cirillico
([\x{0400}-\x{04FF}]|[\x{0500}-\x{052F}]|[\x{2DE0}-\x{2DFF}]|[\x{A640}-\x{A69F}]|[\x{1C80}-\x{1C8F}]|[\x{1D2B}-\x{1D78}]|[\x{FE2E}-\x{FE2F}])+
Ebraico
([\x{FB1D}-\x{FB4F}]|[\x{0590}-\x{05FF}])+
Greco e Copto
([\x{0370}-\x{03FF}]|[\x{03E2}-\x{03EF}]|[\x{1F00}-\x{1FFF}])+

Se vi interessa, ho caricato un semplicissimo modello con lo stile per l’arabo, che necessita dei due font suggeriti nel testo per funzionare!

Fatemi sapere se ci sono errori e se trovate le informazioni o le fonti utili!