[successivo] [precedente] [inizio] [fine] [indice generale] [violazione licenza] [translators] [docinfo] [indice analitico] [volume] [parte]
Il linguaggio PostScript, nelle sue prime versioni, prevede che il file contenente le istruzioni sia di tipo ASCII, dove è ammissibile usare gli 8 bit per esteso. Tuttavia, l'insieme di caratteri a disposizione non è il solito ISO 8859-1, ma qualcosa di diverso che può essere visto nella tabella 259.1.
Tabella 259.1. Insieme di caratteri normale del linguaggio PostScript.
Per fare riferimento a un simbolo in forma numerica, basta indicare il numero ottale corrispondente, di tre cifre, preceduto dalla barra obliqua inversa. Per facilitare la lettura, la tabella mostra questo modo di fare riferimento ai caratteri, all'inizio e alla fine di ogni riga.
Per poter usare la codifica corrispondente allo standard ISO 8859-1, è necessario dare delle istruzioni particolari. Volendo sbirciare nel codice PostScript generato da vari sistemi di composizione, si può osservare che ognuno utilizza un proprio modo, più o meno sofisticato. Probabilmente, la tecnica più semplice è quella che si può leggere nei sorgenti di Ghostscript, dove vengono dichiarate due funzioni apposite nel modo seguente:
|
In questo modo, quando si va a dichiarare l'uso di un certo tipo di carattere da stampa, invece dell'istruzione
|
|
si usa piuttosto la forma seguente:
|
|
Il linguaggio PostScript mette a disposizione pochi tipi di carattere da stampa; tuttavia, è disponibile l'interprete Ghostscript, su moltissime piattaforme, che mette a disposizione un numero discreto di questi tipi. La tabella 259.13 elenca brevemente i nomi di questi tipi di carattere, mentre in altre tabelle successive viene mostrato l'aspetto di alcuni di questi, ordinando i simboli secondo l'insieme ISO 8859-1.
Tabella 259.2. Carattere da stampa AvantGarde.
Tabella 259.3. Carattere da stampa Bookman.
Tabella 259.4. Carattere da stampa Courier.
Tabella 259.5. Carattere da stampa Helvetica.
Tabella 259.6. Carattere da stampa NewCenturySchlbk.
Tabella 259.7. Carattere da stampa Palatino.
Tabella 259.8. Carattere da stampa Times.
Tabella 259.9. Carattere da stampa Utopia.
Tabella 259.10. Carattere da stampa ZapfChancery.
Tabella 259.11. Carattere da stampa ZapfDingbats (solo con l'insieme di caratteri normale).
Tabella 259.12. Carattere da stampa Symbol (solo con l'insieme di caratteri normale).
Tabella 259.13. Nomi dei tipi di carattere da stampa che solitamente sono disponibili con Ghostscript.
Fino a questo punto è stato visto come selezionare un carattere da stampa con l'istruzione
|
|
oppure con quella seguente, nel caso sia disponibile la funzione relativa:
|
|
In alternativa, è possibile sostituire l'indicazione della dimensione con qualcosa di più articolato, secondo uno dei due schemi seguenti:
|
|
|
|
Tra parentesi quadre appaiono una serie di valori, che se non utilizzati vanno lasciati azzerati. Per comprenderne il significato, conviene partire dalla situazione normale. Supponendo di volere dichiarare un carattere da stampa di tipo Helvetica, normale, di 12 punti, si può usare la definizione solita
|
oppure, in modo più complesso, quella seguente:
|
In pratica, dim_x e dim_y servono per definire la dimensione orizzontale e verticale del carattere. In condizioni normali, la dimensione è la stessa; diversamente, con una dimensione orizzontale più grande di quella verticale si ottiene un carattere più largo, mentre con una dimensione verticale maggiore di quella orizzontale, si ottiene un carattere alto (o sottile). Si osservi l'esempio seguente, di un carattere Helvetica allargato e successivamente alzato. Il risultato, in rapporto, si può vedere nella figura 259.1.
|
|
|
Figura 259.1. Distorsione orizzontale e verticale del carattere da stampa.
|
I valori corrispondenti a rot_x e rot_y permettono di inclinare l'asse X o l'asse Y del testo. In pratica, modificando rot_x si cambia l'andamento orizzontale del testo secondo l'angolo indicato. Per esempio un angolo di 10 gradi fa sì che la riga scritta sia inclinata verso l'alto (ovvero di 10 gradi in senso antiorario), mentre un angolo di -10 gradi genera una riga inclinata verso il basso. La figura 259.2 mostra il risultato che si può ottenere con le due distorsioni seguenti:
|
|
|
Figura 259.2. Distorsione dell'inclinazione orizzontale.
|
Intervenendo invece nel valore rot_y, si cambia l'inclinazione del carattere, senza cambiare l'andamento della riga. In pratica, valori positivi dell'angolazione generano un'inclinazione in avanti, simile a un corsivo, mentre valori negativi generano un'inclinazione all'indietro. La figura 259.3 mostra il risultato che si può ottenere con le due distorsioni seguenti:
|
|
|
Figura 259.3. Distorsione dell'inclinazione verticale.
|
I valori corrispondenti a sp_x e sp_y rappresentano uno spostamento orizzontale e verticale, in punti, senza applicare delle distorsioni vere e proprie.
L'andamento del testo, che normalmente si svolge da sinistra a destra, può essere invertito, assegnando un valore negativo per il primo valore, ovvero per dim_x. La figura 259.4 mostra la comparazione tra un testo scritto in modo normale e un altro che invece si sviluppa verso sinistra, con un comando simile a quello seguente:
|
|
Figura 259.4. Scrittura normale e scrittura da destra a sinistra.
|
Così come si può invertire l'andamento del testo in orizzontale, si può invertire in modo verticale, ottenendo una sorta di riflessione. La figure 259.5 mette a confronto un testo scritto in modo normale e un altro modificato con l'istruzione seguente:
|
|
Figura 259.5. Scrittura ruotata sull'asse orizzontale.
|
Cappella Archive
David Byram-Wigfield, Practical PostScript
Paul Bourke, PostScript Tutorial
<http://astronomy.swin.edu.au/~pbourke/geomformats/postscript/>
David Byram-Wigfield, Making an electronic book
First Guide to PostScript
<http://www.cs.indiana.edu/docproject/programming/postscript/postscript.html>
Appunti di informatica libera 2004.10.10 --- Copyright © 2000-2004 Daniele Giacomini -- <daniele (ad) swlibero·org>, <daniele·giacomini (ad) poste·it>
Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome postscript_caratteri_da_stampa.html
[successivo] [precedente] [inizio] [fine] [indice generale] [violazione licenza] [translators] [docinfo] [indice analitico]