Grafica formati dei font dei caratteri
Grafica formati dei font dei caratteri
Questo sito utilizza cookie, anche di terze parti. Se vuoi saperne di più leggi la nostra Cookie Policy. Scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all’uso dei cookie.I testi seguenti sono di proprietà dei rispettivi autori che ringraziamo per l'opportunità che ci danno di far conoscere gratuitamente a studenti , docenti e agli utenti del web i loro testi per sole finalità illustrative didattiche e scientifiche.
Le informazioni di medicina e salute contenute nel sito sono di natura generale ed a scopo puramente divulgativo e per questo motivo non possono sostituire in alcun caso il consiglio di un medico (ovvero un soggetto abilitato legalmente alla professione).
Grafica formati dei font dei caratteri
Nozioni elementari di tipografia
Prima di studiare un programma di editoria elettronica conviene conoscere almeno qualche nozione di tipografia. Studiando la natura del problema si può comprendere la ragione di alcuni comportamenti dei programmi più raffinati che rispecchiano nella loro impostazione la filosofia della tipografia tradizionale.
Il carattere è qualunque segno grafico utilizzato in tipografia per rappresentare le lettere, i segni di interpunzione, le cifre e altri grafemi. La conoscenza delle caratteristiche fondamentali del carattere da stampa è necessaria per poter comprendere il funzionamento e la logica dei programmi di composizione tipografica. Sul carattere si possono distinguere diversi aspetti, in particolare:
specie alfabetica;
stile, o gruppo stilistico;
serie alfabetica, o variante di serie;
scala dimensionale.
Al di sopra di questa classificazione sta eventualmente il genere, intendendo con questo la distinzione in base ai suoi componenti: segni alfabetici, segni paralfabetici, segni estralfabetici, fregi, iconografie, paraiconografie.
La specie è una collezione di segni di un tipo di scrittura. Per quanto ci riguarda, la specie alfabetica comune è quella dell'alfabeto latino. All'interno di una specie alfabetica si possono distinguere diverse collezioni alfabetiche, per esempio come nella distinzione tra lettere maiuscole e minuscole che avviene nell'alfabeto latino.
Dalla differenza tra gli alfabeti nasce a volte la necessità di rendere un testo attraverso un alfabeto alternativo. La traslitterazione è il procedimento di traslazione da un sistema alfabetico a un altro, in modo da ricomporre un testo facendo uso di un sistema alfabetico diverso da quello originale. La traslitterazione punta a riprodurre un testo in modo che sia possibile in qualsiasi momento il procedimento inverso per riottenere il testo originale. Il caso più comune in cui si ha la necessità di utilizzare la traslitterazione è quello della citazione in cui l'originale utilizza un alfabeto esotico per il quale non si dispone del carattere tipografico. Come si può immaginare, la traslitterazione è regolata da norme internazionali.
Una volta definita la specie di un carattere si possono distinguere delle varianti che riguardano lo stile, ovvero il disegno e il suo gusto estetico. Sull'alfabeto latino sono stati realizzati una quantità così grande di stili diversi che è difficile persino riuscire a classificarli. In generale vi si fa riferimento attraverso il nome. Gli stili più noti nella composizione elettronica sono: Times, Helvetica e Courier.
I tre nomi citati rappresentano oggi, simbolicamente, le caratteristiche fondamentali di uno stile: la presenza o l'assenza di grazie e la proporzionalità o meno della larghezza dei segni.(1)
Le grazie sono dei piedini terminali che hanno lo scopo di abbellire il carattere e di guidare la vista durante la lettura. Il Times è il tipico stile con grazie, mentre Helvetica è il suo opposto.
I segni dei caratteri da stampa sono generalmente di larghezza diversa; solo le prime forme di scrittura meccanica, come la macchina da scrivere e le prime stampanti, hanno creato la necessità di utilizzare dei simboli a larghezza uniforme. Il Courier è il rappresentante di questo tipo di stile a larghezza fissa.
In generale, uno stile riguarda esclusivamente una specie alfabetica, ma quando uno stile assume importanza e notorietà, può succedere che venga adottato anche da altre specie. Per questo si può distinguere tra Times Roman (Times New Roman), Times Greco, Times Cirillico e altri. Il primo tra quelli citati è ovviamente il Times dell'alfabeto latino.
La serie alfabetica, o la variante di serie, rappresenta una distinzione all'interno di uno stile, in base alla forma. Le forme comuni di uno stesso stile riguardano la pendenza, il tono e la larghezza.
La pendenza si riferisce all'inclinazione delle aste e si distingue generalmente tra tondo, che rappresenta un carattere con aste verticali, e corsivo in cui le aste sono inclinate in avanti. Generalmente, l'aspetto dei caratteri di un corsivo, pur restando all'interno della stesso stile, è abbastanza diverso da quello del tondo. Quando si utilizza un sistema di composizione elettronico può capitare di avere a disposizione uno stile nel quale manchi il corsivo, che però viene ottenuto in qualche modo distorcendo il tondo. In questo caso si parla preferibilmente di carattere «inclinato» in modo volutamente generico.
Il tono, o lo spessore, rappresenta l'intensità del carattere che si percepisce visivamente. Essendo un concetto che deriva dalla stampa con inchiostro nero, si distingue generalmente tra chiarissimo, chiaro, nero (neretto) e nerissimo.
La larghezza è una caratteristica di cui dispongono solo alcuni stili, ovvero li può riguardare direttamente, nel senso che uno stile per sua natura può essere «stretto» o «largo». In base alla larghezza si distinguono solitamente: lo strettissimo, lo stretto, il normale, il largo e il larghissimo.
È bene chiarire che ogni stile può disporre o meno di varianti seriali adatte. Alcuni stili, spesso riferiti a specie alfabetiche simboliche, dispongono di una serie unica.
La tipometria è la misurazione degli elementi che riguardano la composizione e l'impaginazione. Le voci più importanti sono costituite dai corpi (l'altezza dei caratteri), dalla spaziatura, dall'interlinea, dalla giustezza e dalla giustificazione. In breve, il corpo è l'altezza del carattere, la spaziatura è la distanza tra una parola e l'altra in una riga, l'interlinea è lo spazio verticale aggiuntivo tra le righe, la giustezza è lo spazio orizzontale che le righe di testo hanno a disposizione, la giustificazione è il procedimento di regolazione della spaziatura e dell'interlinea in modo da ottenere un allineamento delle righe con i margini (sia in orizzontale che in verticale).
La dimensione del carattere si misura in senso verticale e si definisce corpo. Per misurare il corpo e le altre dimensioni che riguardano i caratteri si possono utilizzare diverse unità di misura, ma quando si tratta di sistemi di composizione elettronica a mezzo di software, è molto probabile che si disponga solo del pica e del punto anglo-americano:
1 pica = 1/6 di pollice;
1 punto = 1/12 di pica = 1/72 di pollice.
Per comprendere cosa sia il corpo di un carattere è bene descrivere le varie componenti dell'altezza di questo.
La figura mostra schematicamente la parola «Agglomerato» suddivisa orizzontalmente secondo le componenti verticali della dimensione del carattere.
Il carattere si appoggia su una linea che rappresenta la base della «parte mediana»; le lettere come la «l» si alzano occupando anche la «parte ascendente»; altre, come la «g», si allungano in basso a occupare la «parte discendente». Il corpo del carattere include anche uno spazio aggiuntivo: la «spalla». Si distingue una spalla superiore, che è uno spazio minimo sopra la parte ascendente, e la spalla inferiore, che si trova al di sotto della parte discendente (nella figura la spalla è molto grande, in proporzione, rispetto alla realtà).
La distanza tra la base di una riga (la base della parte mediana) e la base di quella successiva dovrebbe essere superiore o al minimo uguale alla grandezza del corpo. Quando questa distanza è superiore, lo spazio aggiuntivo è l'interlinea. Con i sistemi di composizione elettronica per mezzo di software, si misura generalmente lo spazio tra le basi delle righe ed è ammissibile anche l'utilizzo di distanze inferiori all'altezza del carattere, ottenendo in pratica una sovrapposizione della parte mediana inferiore di una riga con la parte mediana superiore di quella successiva.
La rappresentazione di un carattere con un corpo di una data dimensione dipende dalla disponibilità di questo. Con i sistemi tipografici tradizionali è necessario disporre di una serie di caratteri mobili differenti, distinti in base a una scala. Con i sistemi di composizione elettronica via software si possono trovare dei caratteri riproducibili in qualsiasi corpo, eventualmente generando dei file opportuni per la scala richiesta. Tuttavia, in presenza di dimensioni particolarmente piccole si rischia di perdere dei dettagli importanti dei segni che compongono lo stile utilizzato e, di conseguenza, potrebbe essere preferibile l'utilizzo di una variante dello stile che sia più adatta alle dimensioni ridotte.
La giustezza è lo spazio orizzontale a disposizione delle righe di testo; in altri termini, è la larghezza della colonna all'interno della quale si può distribuire il testo. La spaziatura è lo spazio tra la fine di una parola e l'inizio di quella successiva.
Nei testi in italiano, la spaziatura è uniforme, senza eccezioni, a differenza della tradizione tipografica di altri paesi. Per esempio, la spaziatura dopo un punto fermo è esattamente uguale a quella di qualunque altra situazione. Quando si utilizza il sistema di composizione TeX per scrivere un testo in italiano, si dovrebbe inserire il comando \frenchspacing per evitare anomalie nella spaziatura.
Quando si vuole ottenere un allineamento del testo all'inizio e alla fine della giustezza, si parla di giustificazione (orizzontale). Per ottenerla, è necessario che la spaziatura sia adattata in modo da arrivare a questo risultato. La giustificazione orizzontale è solo una delle scelte stilistiche che il tipografo ha a disposizione: non si tratta di una convenzione obbligatoria.
Come nel caso della giustificazione orizzontale, ci può essere la necessità o l'opportunità di adattare l'interlinea in modo da riempire completamente le pagine. Ciò si ottiene attraverso la giustificazione verticale.
Utilizzando i programmi di composizione tipografica si è costretti generalmente a fare i conti con la terminologia dei paesi di lingua inglese e con altri problemi legati alla rappresentazione simbolica dei segni all'interno del software. La tradizione tipografica di questi ha generato dei termini che non sono perfettamente traducibili con concetti della tradizione italiana, per cui si utilizzano alcuni termini di origine anglofona, eventualmente tradotti in modo letterale.
In inglese si utilizza normalmente il termine font per fare riferimento al carattere tipografico. Spesso non si traduce questo termine in qualcosa che riguardi la tradizione tipografica italiana, mantenendo piuttosto il termine inglese invariato; tuttavia, alle volte viene utilizzata la forma: fonte.
Se il contesto non richiede un'aderenza perfetta con il termine originale inglese, si possono usare forme espressive più comprensibili, come «carattere», «tipo di carattere», «carattere tipografico» o «carattere da stampa».
Caratteristiche di una carattere tipografico elettronico
Il carattere tipografico usato nel software applicativo di composizione, ha una serie di caratteristiche, alcune delle quali sono fondamentali.
La fonderia è il produttore del carattere tipografico, cioè chi ha creato la tipizzazione, pur senza esserne il disegnatore. Per fare un esempio comune, Adobe è la fonderia dello stile Times New Roman.
La famiglia del carattere, inteso come traduzione del termine font family, corrisponde simultaneamente alla specie e allo stile del carattere. In altri termini, rappresenta sia la specie alfabetica che lo stile. Per fare un esempio, la famiglia Times New Roman è un carattere di specie latina e di stile Times.
All'interno di una famiglia si distinguono normalmente le serie riferite alla forma: spessore (weight), inclinazione (slant) e larghezza (set, o width).
La codifica rappresenta l'elemento nuovo più importante nelle caratteristiche di un carattere tipografico per l'elaborazione via software. L'utilizzo dei caratteri con i sistemi di composizione basati sul software richiede un abbinamento tra segni e simboli binari. Questo abbinamento è definito dalla codifica. Il problema si può intendere meglio se si pensa a un programma a composizione differita.
In questi casi si parte da un file sorgente, scritto probabilmente secondo la codifica UTF-8, con il quale il programma deve comporre il risultato, utilizzando i caratteri a disposizione.
Il carattere tipografico utilizzato dal programma di composizione è contenuto normalmente all'interno di file, da cui questo programma estrae le informazioni necessarie attraverso un riferimento dato da un codice numerico. In condizioni normali, il programma di composizione fa riferimento al simbolo binario utilizzato nel sorgente per ottenere il segno corrispondente all'interno del carattere tipografico utilizzato (eventualmente attraverso una qualche traslazione). In pratica, alla lettera «A» nel sorgente dovrebbe corrispondere la lettera «A» del carattere tipografico che si sta utilizzando, ma se il carattere tipografico è organizzata in modo differente, si potrebbe ottenere qualcosa di diverso. Questo problema si avverte di solito quando si utilizza una famiglia di caratteri che fa riferimento a una specie simbolica, o comunque a un alfabeto che non ha alcuna corrispondenza con la codifica utilizzata nel sorgente. In questi casi, di solito, per rappresentare i segni si può fare uso di comandi speciali interpretati opportunamente dal programma di composizione.
Un programma di composizione potrebbe disporre di caratteri tipografici che hanno solo una corrispondenza parziale con la codifica utilizzata per scrivere il sorgente, per esempio, potrebbero mancare alcuni segni che vengono messi a disposizione attraverso altre specie.
Nelle origini della tipografia, molti caratteri mobili rappresentavano l'unione di più lettere o altri segni in logotipo (cioè l'unione in un simbolo unico). L'unione di questi derivava da delle consuetudini stilistiche o dalla forma dei segni adiacenti che per qualche motivo potevano richiedere un avvicinamento o un adattamento.
Il legato (in inglese ligature) è l'unione di due o più segni per motivi storici o estetici; i più comuni sono le sequenze «fi», «fl» e «ffi», dove le lettere vengono avvicinate in modo particolare fino a unirsi o a inglobarsi. Alcune forme di legato si sono tradotte in segni indipendenti, come nel caso di «AE» che si è trasformato in «Æ», «sz» che nella lingua tedesca è ormai «ß», «et» (latino) che è divenuto «&», ovvero l'attuale e-commerciale, e anche «ad» (latino), che nella lingua inglese è diventato «@» (at).
L'avvicinamento delle lettere, è motivato dalla forma di queste, per evitare il formarsi di vuoti visivi che potrebbero creare difficoltà alla lettura. I casi più comuni sono le sequenze «AV», «AT», «AY».
I font e la tipografia del testo
Il carattere o font è la forma grafica delle lettere che compongono un alfabeto. Un progetto grafico riuscito dipende anche da un' appropriata scelta del font. Sbagliare carattere può significare affaticare la lettura o rendere addirittura illeggibile un testo, cosa che vanificherebbe ogni sforzo di comunicazione. Non bisogna quindi sottovalutare questa scelta, e per realizzare un buon lavoro bisogna conoscere i font.
Esistono parecchie classificazioni dei font. Possiamo dividere i font in 4 grandi famiglie (serif, sans-serif, calligrafici e fantasia), anche se ultimamente la varietà dei font in circolazione ha ulteriormente suddiviso le categorie e ampliato la scelta. Sicuramente le più importanti sono le prime due, che a loro volta si suddividono in innumerevoli sottocategorie.
Serif o graziati, sono caratterizzati da dei trattini (grazie o serif appunto) più o meno elaborati in chiusura delle aste. I font graziati vengono di solito usati per dare uno stile elegante o un'effetto old style.
Sans-serif o bastoni, sono, al contrario dei serif, privi di alcun fregio in chiusura delle aste. Di gran lunga i più usati sul web, simboleggiano semplicità e informalità ma anche stabilità e modernità. Per queste due ultime caratteristiche i sans-serif sono preferiti per i loghi delle aziende moderne.
Script o calligrafici, simulano la scrittura a mano libera (corsiva) spesso inclinata e con lettere che tendono ad unirsi fra loro. Sono tipici dello scritto a mano libera e quindi da usare per effetti particolari. Di non facile leggibilità.
Fantasia, comprendono tutti quei caratteri con particolari effetti o fregi che non possono essere catalogati nelle categorie qui sopra. Questi tipi di font sono assolutamente sconsigliati per testi lunghi.
Un'altra suddivisione che può essere utile conoscere è quella che riguarda la spaziatura fra i caratteri; esistono infatti caratteri, detti monospaced, in cui tutte le lettere hanno la stessa larghezza (ovvero sia lettere strette come la i che lettere larghe come la o occupano lo stesso spazio), mentre in tutti gli altri la larghezza dipende dalla forma della lettera stessa.
Piccole regole derivanti dall'esperienza e dal buon senso:
Le 4 categorie di font non andrebbero mai mescolate fra di loro, soprattutto se non avete l'esperienza per creare effetti particolari. Quindi se scegliete un font graziato non affiancategli un bastoni. In generale non utilizzate mai più di 2 (massimo 3) font differenti per uno stesso layout. Creerebbero solo disordine e un'idea di indecisione e instabilità.
Leggibilità
Eccoci al momento clou: illustrerò brevemente alcuni punti che potranno aiutarvi a capire come rendere leggibili al meglio i vostri testi.
Prima di tutto, risulta da alcuni studi che è la parte superiore del font ad aiutarci maggiormente a distinguere un carattere dall'altro, potete verificarlo semplicemente anche voi provando a leggere il testo dell'esempio qui sotto:
È importante quindi (soprattutto nello studio di loghi e di testate per siti web) che la parte superiore del testo non sia coperta da effetti grafici e fregi.
È provato che leggiamo riconoscendo le parole nella loro interezza, non riassemblando le singole lettere. Per questo motivo è meglio evitate i titoli totalmente maiuscoli che risultano più monotoni e difficili da leggere, creando un rettangolo visivo sempre uguale.
I font serif, benché molto odiati da alcuni navigatori sul web, sono molto più leggibili dei sans-serif. Il merito è da attribuirsi alle grazie che, enfatizzando il movimento orizzontale del testo, aiutano l'occhio a seguire meglio la riga.
Qualunque font usiate, una cosa vale sempre: l'italic (ovvero la versione del font inclinata verso destra o corsivo) è davvero poco leggibile e faticoso. Non abusatene mai, ma soprattutto non usatela per enfatizzare un lungo testo, in quanto otterreste l'effetto opposto.
Per la migliore leggibilità le righe di un testo non devono essere né troppo lunghe né troppo corte. Nel primo caso infatti l'occhio farà un grosso sforzo a seguire la riga fino in fondo senza 'perdersi', nel secondo invece farà uno sforzo eccessivo nel continuo 'andare a capo'. La lunghezza ottimale si aggira intorno ai 60/70 caratteri per riga, ma da 40 fino a 80 caratteri sono accettabili.
Anche l'interlinea (ovvero la distanza che intercorre fra una riga e la successiva) gioca il suo ruolo quando si parla di leggibilità. Come sempre la cosa migliore è non esagerare né in un verso né in quello opposto. Una interlinea troppo larga crea, infatti, difficoltà nel cercare la riga successiva quando l'occhio 'va a capo', e, al contrario, una interlinea troppo stretta può creare confusione fra i caratteri di due righe successive.
Font di sistema
Parlando di web è indispensabile parlare di font di sistema. I font di sistema sono quel ristretto numero di caratteri che il sistema operativo installa di default. Perché parlare di questi font quando in circolazione ce ne sono migliaia? Il motivo è che se noi scegliamo per un testo in HTML un font 'non di sistema' non possiamo avere la certezza che il navigatore lo abbia installato e lo visualizzi correttamente. Possiamo, grazie ai fogli di stile (CSS) dare alcune alternative al browser, ma ricordiamoci che se non lo facciamo o se nessuna delle alternative è un font di sistema rischiamo che l'utente visualizzi il testo del nostro sito con il font di default, solitamente il Times New Roman.
La seguente tabella che suddivide i font di sistema di Windows e MacOs per famiglie può aiutarvi nella giusta scelta di alternative ai vostri font preferiti permettendovi così di programmare una corretta visione dei vostri lavori per la maggioranza dei navigatori.
I formati di font
Se vi occupate di grafica da un po' sicuramente avrete sentito parlare di TTF o Type1, di PostScript, ATM, o di OpenType. Ma cosa sono? Cosa significano realmente queste sigle? Quando e dove si usa un formato, piuttosto che un altro? Avete un po' di confusione in testa? Avete ragione! L'evoluzione dei formati di font è davvero intricata: proviamo a fare chiarezza.
Bitmap e Vettoriale
Non si può affrontare l'argomento senza chiarire da subito questa differenza fondamentale.
Un font bitmap ha, per ogni carattere e per ogni dimensione, un'immagine bitmap che viene utilizzata per mostrare il carattere stesso, immagine che lo descrive pixel per pixel, esattamente come accade per qualsiasi immagine manipolata tramite i classici programmi bitmap (per esempio, Photoshop, Paint Shop Pro, Corel PhotoPaint, Gimp... )
Classici esempi di font bitmap sono non solo i tanto di moda 'pixel font', ma anche quei font utilizzati normalmente dal sistema operativo per i menu, le finestre e simili. Il principale difetto dei font bitmap è di essere ben poco scalabili (ovvero vengono visualizzati bene solo alle loro dimensioni naturali, come è chiaro dall'esempio).
Un font vettoriale definisce i singoli caratteri descrivendoli attraverso formule matematiche, o per meglio dire, vettori. Queste 'formule' descrivono le linee che costituiscono il singolo carattere, esattamente come succede per le immagini vettoriali, che tradizionalmente si manipolano con programmi come Illustrator, CorelDraw o FreeHand.
In realtà i font file di qualsiasi formato contengono, oltre alla descrizione dei singoli caratteri, molte altre informazioni. Ad esempio, alcuni font file vettoriali contengono anche dati di hinting.
Lo hinting è un sistema che, in base ad esigenze dimensionali, modifica la forma del carattere o della sequenza di caratteri. Un esempio per capirci meglio: quando usiamo un font a dimensioni molto piccole può capitare che alcuni tratti, i più sottili, diventino impercettibili, compromettendo la leggibilità del font stesso.
Il meccanismo di hinting in questo caso fa si che le linee più sottili di tanto vengano leggermente ingrossate, recuperando così la leggibilità perduta. Volendo, potete pensare allo hinting come ad un meccanismo intelligente di adattamento del carattere all'uso che ne viene fatto.
Per capire come i formati di font si intersechino, è utile seguire la storia della loro evoluzione.
Agli albori dell'era tecnologica, quando i primi pc erano rari e molte aziende utilizzavano soltanto terminali, il font era uno solo, visualizzato solo sul monitor, era bitmap ed aveva un solo corpo. Con l'arrivo dei primi Macintosh (intorno al 1984) la scelta dei font si fa più varia, restando sempre però su font bitmap visualizzati a schermo. Circa un anno dopo, nasce la tecnologia PostScript, destinata a rivoluzionare l'intero mondo dell'editoria e della grafica.
Il formato PostScript é un formato vettoriale di immagine creato per la stampa; questo formato permette per la prima volta di descrivere in modo vettoriale e quindi più preciso e meglio scalabile un font, un riempimento od una immagine al tratto ad una stampante PostScript in grado di comprenderlo e passarlo su carta.
Il formato Type1 è un formato vettoriale di font, basato sulla tecnologia Postscript, rivolto inizialmente alla sola stampa. Il sistema è stato integrato subito da Apple; i Macintosh sono quindi i primi computer ad aver avuto a disposizione un così potente e versatile mezzo di stampa.
Siamo circa nel 1987, e Adobe è unica detentrice di tutti i diritti sul formato PostScript, e quindi unica produttrice di font Type1. Decisa nella sua posizione di voler mantenere il controllo sul mercato dei font ad alta qualità, rende disponibili le informazioni tecniche su Type1 solo con molti limiti, mantenendo riservate, ad esempio, tutte le informazioni riguardanti il sistema di hinting.
La Apple, cui andavano stretti questi vincoli imposti da Adobe, si allea con la allora nascente Microsoft per creare una nuova specifica per i font. Nasce così il formato TrueType (TTF).
Il formato TrueType è un formato vettoriale; nella sua versione per Mac è nato per contrastare il monopolio di Type1, e resta un formato vettoriale solo per la stampa. Microsoft, dal canto suo, lo integra nei suoi sistemi operativi, rendendone possibile per la prima volta anche la visualizzazione corretta sullo schermo. Il supporto TrueType in Windows è infatti in grado di gestire il font, convertendolo, a seconda dell'uso a cui è destinato, nei formati più adatti per essere visualizzato al meglio, sia su schermo che in stampa.
Adobe, naturalmente, fa la sua contromossa: pubblica tutte le specifiche di Type1 rimaste riservate fino a quel momento, in modo da espandere il mercato dei font Type1, e, immediatamente dopo l'uscita di TrueType per Windows, lancia il Formato ATM.
Il formato ATM (che prende il nome da Adobe Type Manager, il software che lo gestisce) è un'evoluzione di Type1 che, tramite un'ulteriore file, permette una visualizzazione di qualità sullo schermo di tutti i font Type1 che, prima d'allora, erano visibili correttamente solo in stampa. ATM va quindi a braccetto con Type1 su tutti i Mac, e verrà rilasciato per Windows solo molto tempo più avanti.
A questo punto la spaccatura è netta: gli utenti Macintosh utilizzano Type1 con l'estensione ATM, mentre gli utenti Windows si stanno già affezionando al formato TrueType.
Type1 ha alcuni vantaggi nella precisione e nella rapidità di stampa verso stampanti PostScript, e, suo malgrado, il formato TrueType si fa una cattiva fama presso impaginatori e tipografi, forse anche peggiore di quella che in realtà merita.
Passa il tempo, ma nonostante varie prove di integrazione e vari esperimenti, le cose restano sostanzialmente identiche per una decina d'anni. Verso la fine degli anni 90, finalmente, Adobe e Microsoft si accordano per far nascere un nuovo formato che integri i due precedenti: TrueType e Type1. Nasce così il formato OpenType.
Il formato OpenType è un formato vettoriale, nato prima di tutto dall'idea di unificare finalmente i due formati Type1 e TrueType. Capace di essere visualizzato e stampato correttamente sia dalle stampanti PostScript che da quelle di altro tipo, il formato OpenType ha inoltre meccanismi di 'intelligenza' (simili al sistema di hinting) che scelgono la versione più adatta del carattere a seconda del testo circostante, o si occupano di convertire o meno una serie di caratteri in un unico simbolo (ad esempio, sostituire 1/2 con ½).
Anche Apple ha in mente un formato unificato, ha anzi iniziato con alcuni anni d'anticipo rispetto alle concorrenti, ma per problemi interni arriva a presentare il suo nuovo formato AAT (e la successiva piattaforma software ATSUI) con parecchio ritardo sul mercato, che non gli dà buona accoglienza, supportandolo solo in pochissime applicazioni. AAT e ATSUI confluiranno poi in quello che diventerà il supporto OpenType in MacOs X, che ormai tutte le più recenti applicazioni di Adobe ed altri supportano correttamente.
Fortunatamente, quindi, con il crescere del supporto OpenType nelle moderne applicazioni di grafica, la lunga guerra di formati che ha caratterizzato la storia della tipografia digitale sembra essere finalmente terminata, grazie alla creazione di un unico standard, OpenType.
Presentazione (Rendering)
Rendering è l'azione secondo cui l'informazione viene presentata all'interno di un documento. Questa presentazione viene fatta nella forma più appropriata rispetto all'ambiente (esempio: uditiva, visiva, per la stampa).
Fonte: http://www.marforio.org/appunti/sistemadielaborazionedelleinformazioni/i%20font%20-%20formati%20di%20font.doc
Autore del testo: non indicato nel documento di origine
CODIFICA DEI CARATTERI
Codifica ISO 8859
Finora abbiamo usato esclusivamente l'insieme dei caratteri ASCII per codificare i nostri testi, lasciando in sospeso il problema degli alfabeti non-US. La soluzione a questo problema ha trovato due strade: la prima via sfrutta l'estensione a 8 bit dei codici ASCII, la seconda via deve invece estendere la rappresentazione dei caratteri utilizzando un numero maggiore di bit.
Lo standard ISO 8859 definisce vari insiemi di caratteri (in breve: charset) codificati a 8 bit. I primi 128 codici sono i soliti caratteri ASCII, mentre i successivi 128 codici vengono utilizzati per codificare vari caratteri più o meno esotici, a seconda del charset scelto.
Tra i charset definiti da questo standard sono comprese tutte le lingue occidentali, il cirillico, il greco, l'ebraico e l'arabo. In particolare il charset ISO-8859-1 comprende le lingue italiana, francese, spagnola e tedesca, così soddisfacendo gran parte delle esigenze del mondo occidentale. Recentemente alla serie ISO-8859-* è stato aggiunto l'ISO-8859-15 che include il simbolo dell'Euro, la nuova moneta europea. Ma attenzione: l'ISO pubblica solo la corrispondenza tra il codice binario del byte e la descrizione del carattere che esso rappresenta; per potere effettivamente visualizzare i caratteri bisogna procurarsi i rispettivi font conformi a questi standard.
Questo standard ha il vantaggio di richiedere minimi cambiamenti all'hardware e al software dei computer, perché si tratta solo della definizione dei charset ASCII estesi di cui abbiamo parlato nella prima puntata. Purtroppo risultano esclusi i sistemi di scrittura come il cinese, che con le sue migliaia di simboli non potrebbe mai stare in un solo byte, ed inoltre non si possono mescolare nello stesso testo due alfabeti diversi, per esempio il latino e il cirillico.
Codifica Unicode
In realtà al momento solo i primi 16 bit dell'UCS sono utilizzati, per cui è stata definita una implementazione ridotta all'uopo. L'Unicode, definito dal Consorzio Unicode (www.unicode.org), è una implementazione dell'UCS che usa questa soluzione a 16 bit, ed è stata adottata, ad esempio, nei sistemi operativi di Microsoft e nel linguaggio di programmazione Java.
Forse torna utile perché di attualità vedere come il simbolo Euro viene codificato nei vari sistemi:
- Unicode: 8364 (0x20AC)
- ISO 8859-15: 164 (0xA4)
- Sorgente HTML: €
- Ecco come lo visualizza il tuo browser: €
RFC 2279: Codifica UTF-8
Nell'ambiente Unix e similari, incluso il software GNU, viene solitamente implementata la codifica UTF-8 dell'Unicode. L'UTF-8 usa una codifica a lunghezza variabile da uno a tre byte per carattere; i caratteri ASCII sono rappresentati con un byte nel modo solito, mentre quando si "accende" l'ottavo bit si attiva la codifica multi-byte (spiegato molto a spanne, ma dovrebbe dare l'idea). Questa soluzione permette di mantenere la compatibilità con la maggior parte delle librerie di manipolazione delle stringhe, che erano concepite per l'uso con caratteri di 8 bit, e preserva anche l'ordinamento alfabetico. La documentazione GNU della libreria standard fornisce ulteriori dettagli per il programmatore che voglia integrare pienamente questa implementazione dell'Unicode nei suoi programmi.
RFC 2045: Codifica MIME
Il collante di tutte le soluzioni di rappresentazione viste fin qua è il MIME. Questo formato di rappresentazione dei messaggi permette di superare molte limitazioni del formato RFC 822, pur rimanendo con esso assolutamente compatibile (gli autori usano la parola "ortogonale"). In pratica, è la quadratura del cerchio. Ecco una sintesi di quello che permette di fare MIME:
usare charset alternativi all'ASCII per l'intestazione del messaggio;
inserire una o più sezioni nel corpo del messaggio, siano esse testi o file binari, in modo che siano univocamente riconoscibili;
descrivere la natura strutturata del corpo del messaggio, distinguendo tra sezioni correlate di un documento e allegati;
supportare la trasmissione a 8 bit là dove consentito.
La documentazione del formato MIME è piuttosto voluminosa e complessa, e si articola in cinque documenti principali che vanno dall'RFC 2045 all'RFC 2049. In questo articolo provo a sintetizzarne soltanto i concetti principali attraverso alcuni esempi. Inoltre questi esempi non sono fine a sè stessi, ma si possono utilizzare in applicazioni concrete, senza dover studiare questo formato in tutti i dettagli.
Inviare un messaggio HTML. Capita spesso al sistemista e al programmatore di dover generare email in modo automatico, per esempio per segnalare ad un utente o a un cliente informazioni statistiche degli accessi al suo sito WEB, oppure per segnalargli il superamento della quota per la sua mailbox. Per ottenere un risultato più elegante potremmo inviargli un documento HTML, che fa la sua bella figura. Ecco come confezionare il messaggio:
MIME-Version: 1.0
Content-Type: text/html
From: root@webfarm.it
To: tizio@qualcosa.it
Subject: AVVISO di superamento quota disco
<HTML><BODY bgcolor="#ff3030"><H1>ATTENZIONE!</H1>
<P>La tua mailbox ha superato la dimensione massima
consentita di <B>10 MB</B>. Per favore, provvedi
prima possibile a svuotarla, altrimenti per motivi
tecnici saremo costretti a <B>cancellare tutto il
contenuto entro 24 ore!</B></P>
<P>Per maggiori informazioni sulle condizioni del
servizio, leggi il
<A href="http://webfarm.it/contratto">contratto di
fornitura</A>.
</BODY></HTML>
Ho evidenziato in grassetto le due righe chiave di tutto il meccanismo: l'intestazione MIME-Version: 1.0 è obbligatoria e indica che il messaggio è in formato MIME versione 1.0. La riga seguente Content-Type: text/html indica che il corpo del messaggio è di tipo testo e di sottotipo HTML, pertanto la dicitura text/html è il tipo MIME di questo messaggio. Siccome non abbiamo specificato diversamente, il messaggio si considera codificato a 7 bit usando il charset ASCII.
Una volta scritto il messaggio in un file di testo, per inviarlo basta il comando cat lettera.txt | sendmail -t ed ecco fatto!
Inviare un messaggio con una immagine. Usando i vari tipi MIME registrati, potremo inviare anche altri tipi di informazioni, per esempio la nostra solita figura:
MIME-Version: 1.0
Content-Type: image/png
Content-Transfer-Encoding: base64
From: root@webfarm.it
To: tizio@qualcosa.it
Subject: Una bella figurina per te!
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQAAAAA3iMLMAAAANUlEQVR42mMQ
62YoW81QNptBYDXD//8MR9wZrl5nuBLOcD0cxAaK7JZimF3FsNqKYXM9kA0A
vSoSfMoIiCAAAAAASUVORK5CYII=
Oltre alla solita MIME-Version, questa volta l'intestazione Content-Type specifica il tipo MIME image/png. Come è facile immaginare, esistono anche i tipi MIME image/jpeg, image/gif, ecc. con il loro ovvio significato. La terza riga Content-Transfer-Encoding è una novità: dichiara che i dati sono codificati in Base64.
Messaggio a più parti alternative. E' sempre più frequente trovare in circolazione questo tipo di messaggi dopo l'affermarsi del client di posta Outlook Express di Microsoft. Questo programma viene configurato per default con l'opzione MIME (l'altra possibilità mi pare che sia l'Uuencode), e in questo caso il programma formatta tutti i messaggi con un formato MIME di tipo multipart/alternative. Il concetto alla base di questo tipo MIME è il seguente: non tutti i client di posta hanno le stesse possibilità di visualizzazione. Per esempio, alcuni sono in grado di mostrare un documento HTML, altri possono mostrare solo testo. Il formato a più parti alternative permette di inserire lo stesso contenuto in più forme diverse, lasciando al client la possibilità di scegliere il formato preferito tra quelli disponibili. Come esempio ripropongo l'email di notifica spazio esaurito che prima avevamo scritto solo come HTML. Qui lo scriveremo anche come testo ASCII:
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="ZQZQZQ"
From: root@webfarm.it
To: tizio@qualcosa.it
Subject: AVVISO di superamento quota disco
Questo e' un messaggio in piu' parti alternative. Se stai leggendo
queste righe, significa che il tuo client di posta non supporta il
formato MIME. Cio' e' un bene, cosi' puoi vedere come funzionano
veramente le cose. :-)
--ZQZQZQ
Content-Type: text/plain
ATTENZIONE!
La tua maibox ha superato la dimensione massima consentita
di 10 MB. Per favore, provvedi prima possibile a svuotarla,
altrimenti per motivi tecnici saremo costretti a cancellare
tutto il contenuto entro 24 ore! Per maggiori informazioni
sulle condizioni del servizio, leggi il contratto
di fornitura (http://webfarm.it/contratto).
--ZQZQZQ
Content-Type: text/html
<HTML><BODY bgcolor="#ff3030"><H1>ATTENZIONE!</H1>
<P>La tua mailbox ha superato la dimensione massima
consentita di <B>10 MB</B>. Per favore, provvedi
prima possibile a svuotarla, altrimenti per motivi
tecnici saremo costretti a <B>cancellare tutto il
contenuto entro 24 ore!</B></P>
<P>Per maggiori informazioni sulle condizioni del
servizio, leggi il
<A href="http://webfarm.it/contratto">contratto di
fornitura</A>.
</BODY></HTML>
--ZQZQZQ--
Lo stesso contenuto del messaggio viene quindi rappresentato in due forme diverse. Quando l'utilizzatore redige un messaggio non si accorge della doppia rappresentazione, ma si limita ad utilizzare le funzionalità rese disponibili dalla interfaccia che gli viene presentata. Al momento dell'invio, il programma produce la forma HTML e la forma testo dello stesso messaggio. Nel mio esempio i due testi non sono perfettamente equivalenti: il link ipertestuale in questo caso deve essere riprodotto diversamente, e nella forma testo ho riprodotto l'URL per intero dentro alle parentesi. Descriviamo passo passo come funziona questa rappresentazione:
- Nella intestazione abbiamo la solita linea MIME-Version, e poi la linea Content-Type. Questa volta il tipo è multipart/alternative. Subito dopo il tipo ho aggiunto in una riga di continuazione il parametro boundary="ZQZQZQ"; questo parametro serve a dichiarare la stringa di separazione delle varie parti che costituiscono il corpo del messaggio. Questa stringa deve essere univoca, e per evitare collisioni i programmi tendono a renderla molto lunga e con una sequenza casuale di cifre, lettere e altri simboli. Tuttavia per favorire la leggibilità qui ho scelto la stringa ZQZQZQ.
- Il corpo del messaggio comincia con il testo "Questo e' un messaggio in piu' parti alternative. [...]": questa sorta di preambolo è consentito dalle specifiche MIME, ma secondo le stesse specifiche, se presente, deve essere ignorato dai programmi conformi al MIME e quindi non deve essere presentato all'utilizzatore. Ho sfruttato questa possibilità per aggiungere un avviso che sarà leggibile a coloro che non dispongono di un client con supporto MIME, che così potranno capire la ragione della (per loro) strana formattazione del messaggio.
- Ogni sezione MIME nel corpo inizia con la riga di separazione, costruita con due segni - (meno) seguiti dalla stringa di boundary che ho specificato nell'intestazione. Subito dopo c'è l'intestazione MIME che dichiara il tipo dei dati di questa sezione, una riga vuota, e quindi i dati stessi della sezione. La sezione termina dove compare la successiva riga di separazione.
- Al termine del messaggio bisogna inserire la riga di separazione seguita da altri due segni ``-'' (meno).
La cosa più interessante è che ogni sezione MIME nel corpo del messaggio assume la stessa forma di un messaggio, con la sua intestazione, la riga vuota, e il corpo. In effetti MIME consente dichiarazioni ricorsive: ogni sezione può essere del tipo multiparte e contenere quindi un altro messaggio MIME.
Messaggio con allegato. Questo problema lo lascio per esercizio al lettore, che dovrà trovare la risposta senza andare a leggere alcuna documentazione!
(Suggerimento: usa il metodo sperimentale: invia a te stesso un messaggio in formato MIME con allegato, ed esamina il risultato).
Riguardo all'uso di font alternativi nella intestazione, il MIME consente l'uso di vari charset, incluso ISO e UTF-8: i caratteri non ASCII dovranno essere avvolti dentro a una particolare sequenza di caratteri come in questo spezzone di esempio:
Subject: =?ISO-8859-1?Q?Propriet=E0?= del formato MIME
A causa della presenza della lettera accentata "à", che non fa parte del charset ASCII, il client di posta ha codificato l'oggetto del messaggio specificando il charset ISO-8859-1, ha circondato la parola in questione con una serie di strani caratteri, e quindi ha codificando la lettera accentata con il suo valore esadecimale E0.
E' possibile anche usare un charset non ASCII nel corpo del messaggio introducendo un parametro apposito nel campo di intestazione Content-Type:
ContentType: text/plain; charset="ISO-8859-1"
Con queste ultime annotazioni telegrafiche chiudo il discorso sul formato MIME. Ricordo solo che lo stesso formato viene utilizzato anche dal protocollo HTTP per il WEB: in quel caso il canale è sempre pulito a 8 bit per byte.
Fonte: http://www.marforio.org/appunti/sistemadielaborazionedelleinformazioni/i%20font%20-%20Codifica%20dei%20caratteri.doc
Autore del testo: non indicato nel documento di origine
Grafica formati dei font dei caratteri
Visita la nostra pagina principale
Grafica formati dei font dei caratteri
Termini d' uso e privacy