Xe(La)TeX Inkscape, protezione, PDF/A

  • Creatore
    Topic
  • #64417
    OldClaudio
    Partecipante
      Up
      0
      Down
      ::


      Il titolo del filone è confuso, ma gli argomenti sono correlati con una proprietà di Inkscape.

      Chi legge dovrebbe conoscere al differenza fra (pdf){La)TeX e Xe(La)TeX (non parlo di Lua(La)TeX perché non ne ho nessuna esperienza se non superficialissima).

      pdfTeX, il motore di composizione usato da pdfLaTeX, usa solo font Type 1 generalmente ricodificati secondo la codifica T1; potrebbe usare anche i TrueType e gli OpenType, ma dopo averli manipolati con vari tipi di font virtuali, perché al momento sembra poter usare solamente font di 256 caratteri. I font reali e virtuali sono distribuiti insieme a TeX Live o MiKTeX.

      XeTeX usa preferibilmente i font OpenType (con glifi disegnati alla TrueType o alla Type 1) ed è capace di usare i font OpenType del sistema operativo in uso; più in generale può usare tutti i font installati sul calcolatore, che siano del SO oppure di TeX non ha importanza (gli OpenType forniti con TeX talvolta vanno installati esplicitamente, per esempio sul Mac).

      Inkscape usa solo i font installati e non sa nulla o quasi nulla dell’esistenza di un qualche sistema TeX installato sulla macchina.

      Inkscape ha la capacità di importare i file in formato PDF e di salvarli nello stesso formato ma dopo averne convertito i caratteri in disegni, e quindi senza più fare riferimento a questo o a quel font.

      Questa proprietà è utilissima per due motivi:

      a) permette di evitare che font poco compatibili con il formato archiviabile PDF/A rendano file potenzialmente conformi alla norma ISO19005:1 (o anche :2) non conformi a causa dei font usati; tra questi font poco compatibili ci sono tutti i font del sistema TeX con la codifica OT1 (e questo è un buon motivo per non usare mai i font Computer Modern con quella codifica.)

      b) avendo sostituito i font con i loro disegni, il file PDF non contiene più nessun font, quindi il testo non è selezionabile e perciò non è copiabile direttamente. Questo dà un certo livello di protezione/sicurezza ai propri documenti il cui contenuto è perfettamente leggibile, ma non è copiabile se non ricorrendo a ritagli grafici oppure alla scansione con un lettore/convertitore OCR. Quindi la protezione è modesta, ma richiede uno sforzo in più per violare il documento.

      Fin qui si tratta di informazioni più o meno note, ma c’è un problema: come ho detto Inkscape sa usare solo i font ufficialmente installati sul calcolatore, e quelli del sistema TeX non lo sono, in particolare non lo sono tutti i Type 1 forniti con il sistema TeX.

      Se si apre un documento composto con pdfLaTeX, che facesse anche uso di font Type 1, come i Times eXtended o i Palatino eXtended, oppure con gli Utopia del pacchetto Fourrier, o i vari Charter, eccetera, usabili con il pacchetto mathdesign, Inkscape li sostituirebbe tutti con un font sans serif suo di default (credo che sia il Bera sans) e il risultato dell’importazione è a dir poco disastroso perché non solo si sono persi i font originali, ma sono stati sostituiti con font dalla metrica diversissima e quindi le lettere si sovrappongono.

      Ci sono due work-around per evitare questo scempio:

      a) installare come font di sistema tutti i font che compaiono nella cartella …/font/type1/ del sistema TeX, e i relativi file metrici che si trovano in …/font/afm/ — come farlo dipende dal sistema operativo e non sono sicuro che funzioni sempre. Potrebbe funzionare inserire nella cartella dei font di sistema un link simbolico alle cartelle dei font del sistema TeX, cosa che è possibile ora sia con i sistemi Linux e Mac (tutti UNIX o simil-UNIX) ma anche con Windows Vista e Windows Seven. Per non dover copiare due cartelle con “infinite” sottocartelle, potrebbe essere utile convertire tutti i font Type 1 in font TrueType, i quali si distinguono per diverse proprietà, ma principalmente perché le informazioni metriche sono contenute dentro ciascun file .ttf e non in un file separato.

      b) salvare il file PDF da convertire nel formato SVG (il formato nativo di Inkscape); è un file scritto in linguaggio XML, quindi perfettamente editabile. Si può modificare il file sostituendo i nomi dei file, per esempio CMR12, CMBX17, eccetera con i nomi della famiglia dei font OpenType “CMU Serif” cambiando anche “normal” in “bold” se si tratta di font neri e cambiando corrispondentemente le altre caratteristiche, per esempio, in italic se si tratta di corsivo, eccetera. CMU Serif sarà da cambiare con altri nomi di famiglia se si tratta di altre famiglie. Il lavoro può essere lungo e frustrante, ma un buon editor di testi che abbia la funzione di ripetere una operazione un numero indefinito di volte può eseguire queste sostituzioni molto in fretta. Bisogna controllare tutti i font specificati nel file SVG, e quindi bisogna fare molta attenzione. Dopo di che, cliccando sul file SVG modificato, Inkscape lo apre senza sostituire il font di default e lo si può salvare di nuovo in formato PDF sostituendo tutti i glifi con i loro disegni, ottenendo il risultato voluto sia per ottenere un file PDF/A compatibile, sia per attribuire al file una certa piccola protezione dalla copiatura.

      Il gioco può valere la candela. Chi è capace di scriversi delle buone macro per eseguire queste sostituzioni ne può trarre un grande vantaggio e un grande risparmio di tempo.

    • Devi essere connesso per rispondere a questo topic.

    Go to top