[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [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 227.1.
Tabella 227.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 potrà 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:
/font-to-iso-latin-1 { dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding ISOLatin1Encoding def currentdict end dup /FontName get 80 string cvs (-ISOLatin1) concatstrings cvn exch definefont } def /find-latin-font { findfont font-to-iso-latin-1 } def
In questo modo, quando si va a dichiarare l'uso di un certo tipo di carattere da stampa, invece dell'istruzione
/carattere findfont dimensione scalefont setfont
si userà piuttosto la forma seguente:
/carattere find-latin-font dimensione scalefont setfont
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 227.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 227.2. Carattere da stampa AvantGarde.
Tabella 227.3. Carattere da stampa Bookman.
Tabella 227.4. Carattere da stampa Courier.
Tabella 227.5. Carattere da stampa Helvetica.
Tabella 227.6. Carattere da stampa NewCenturySchlbk.
Tabella 227.7. Carattere da stampa Palatino.
Tabella 227.8. Carattere da stampa Times.
Tabella 227.9. Carattere da stampa Utopia.
Tabella 227.10. Carattere da stampa ZapfChancery.
Tabella 227.11. Carattere da stampa ZapfDingbats (solo con l'insieme di caratteri normale).
Tabella 227.12. Carattere da stampa Symbol (solo con l'insieme di caratteri normale).
Tabella 227.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
/carattere findfont dimensione scalefont setfont
oppure con quella seguente, nel caso sia disponibile la funzione relativa:
/carattere find-latin-font dimensione scalefont setfont
In alternativa, è possibile sostituire l'indicazione della dimensione con qualcosa di più articolato, secondo uno dei due schemi seguenti:
/carattere findfont [dim_x rot_x rot_y dim_y sp_x sp_y] makefont setfont
/carattere find-latin-font [dim_x rot_x rot_y dim_y sp_x sp_y] makefont setfont
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
/Helvetica findfont 12 scalefont setfont
oppure, in modo più complesso, quella seguente:
/Helvetica findfont [12 0 0 12 0 0] makefont setfont
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 227.1.
/Helvetica findfont [30 0 0 12 0 0] makefont setfont
/Helvetica findfont [12 0 0 30 0 0] makefont setfont
|
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 farà sì che la riga scritta sia inclinata verso l'alto (ovvero di 10 gradi in senso antiorario), mentre un angolo di -10 gradi genererà una riga inclinata verso il basso. La figura 227.2 mostra il risultato che si può ottenere con le due distorsioni seguenti:
/Helvetica findfont [12 10 0 12 0 0] makefont setfont
/Helvetica findfont [12 -10 0 12 0 0] makefont setfont
|
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 227.3 mostra il risultato che si può ottenere con le due distorsioni seguenti:
/Helvetica findfont [12 0 10 12 0 0] makefont setfont
/Helvetica findfont [12 0 -10 12 0 0] makefont setfont
|
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 227.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:
/Helvetica findfont [-12 0 0 12 0 0] makefont setfont
|
Così come si può invertire l'andamento del testo in orizzontale, si può invertire in modo verticale, ottenendo una sorta di riflessione. La figure 227.5 mette a confronto un testo scritto in modo normale e un altro modificato con l'istruzione seguente:
/Helvetica findfont [12 0 0 -12 0 0] makefont setfont
|
Cappella Archive
David Byram-Wigfield, Practical PostScript
Paul Bourke, PostScript Tutorial
<http://astronomy.swin.edu.au/pbourke/dataformats/postscript/>
David Byram-Wigfield, Making an electronic book
First Guide to PostScript
<http://www.cs.indiana.edu/docproject/programming/postscript/postscript.html>
daniele @ swlibero.org
Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome postscript_caratteri_da_stampa.html
[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico]