  TrueType Fonts in Debian mini-HOWTO
  Bear Giles, bgiles@coyotesong.com
  v0.3, 10 gennaio 2000

  Questo documento descrive come configurare un sistema Debian per usare
  i font TrueType per la visualizzazione e la stampa.  La versione pi
  recente di questo documento pu essere ottenuta in formato HTML a
  http://www.dimensional.com/~bgiles/debian-tt.html.  Traduzione a cura
  di Giovanni Bortolozzo, borto (at) pluto.linux.it.
  ______________________________________________________________________

  Indice Generale


  1. Introduzione
     1.1 Liberatoria
     1.2 Crediti
     1.3 Link addizionali
     1.4 Storia delle revisioni
     1.5 Commenti
     1.6 Progetti correlati
     1.7 Distribuzione

  2. Schermi (quel che non vi hanno mai detto)
     2.1 Uno sguardo al prossimo XFree86 4.0
     2.2 Panoramica: Preparazione prima di modificare i file di configurazione di X

  3. Visualizzazione (X e i font server)
     3.1 Impostare il font server xfs
     3.2 Impostare il font server xfstt ed installare i font TrueType
     3.3 Usare i font TrueType
     3.4 Installare font TrueType addizionali
     3.5 Internazionalizzazione
     3.6 Questioni di sicurezza

  4. Stampa (ghostscript)
     4.1 Configurare Ghostscript per usare i font TrueType
     4.2 Stampare i campioni dei font TrueType

  5. Generazione dei contenuti
     5.1 Generare le metriche di font AFM
     5.2 Generare i file font.map
     5.3 Manipolazione di immagini: GIMP
     5.4 Conversione da ASCII a PostScript: enscript
     5.5 Formattazione e composizione di testi: groff
     5.6 Formattazione e composizione di testi: TeX

  6. Domande non risposte
  7. Ottenere i font TrueType
     7.1 Un commento sull'uso dei font TrueType gratuiti di Microsoft

  8. Copyright (in inglese)


  ______________________________________________________________________

  11..  IInnttrroodduuzziioonnee

  Una installazione di Linux tipicamente contiene parecchi insiemi
  indipendenti di font e metriche di font.  Un'occhiata veloce al mio
  sistema rivela font e metriche di font sparse nelle seguenti
  directory:

    XFree86 conserva i suoi font in /usr/X11R6/lib/X11/fonts/;


    Ghostscript li conserva in /usr/lib/ghostscript/fonts/;

    TeX li tiene in /usr/lib/texmf/fonts/;

    Il pacchetto kbd di Debian mette i suoi font in
     /usr/share/consolefonts/;

    Groff conserva le sue metriche in /usr/share/font/devps/;

    Enscript (convertitore da ASCII a PostScript) tiene le sue metriche
     in /usr/share/enscript/*.afm.

  Neanche a dirlo, questi font non sono coordinati.

  I font TrueType sono stati progettati per eliminare questo problema
  permettendo che gli stessi file di font siano usati sia per la
  visualizzazione che per la stampa.  Questo Howto prova a mostrare come
  usare questi font TrueType per la visualizzazione, la stampa e la
  preparazione di documenti su sistemi Debian GNU/Linux.


  11..11..  LLiibbeerraattoorriiaa

  Le informazioni in questo documento sono, al meglio delle mie
  conoscenze, corrette.  Comunque questo HOWTO  ancora in versione
  preliminare e quel che funziona per me potrebbe non funzionare per
  qualcun'altro.  Anche se funziona, non sono uno scrittore tecnico
  professionista e sono noto per sorvolare sui dettagli critici.

  Quindi divertitevi, ma giocando sicuri e facendo dei backup.


  11..22..  CCrreeddiittii

  Creato da Bear Giles, <bgiles@coyotesong.com>

  I miei ringraziamenti vanno a:

    Brion Vibber, <brion@pobox.com>, che ha scritto il (preliminare)
     TrueType HOW-TO (http://pobox.com/~brion/linux/TrueType-HOWTO.html)

    Doug Holland, <meldroc@frii.com>, che ha scritto l'XFree86 Font
     Deuglification HOW-TO  (http://www.frii.com/~meldroc/Font-
     Deuglification.html)


  11..33..  LLiinnkk aaddddiizziioonnaallii

  Anche se questi link non discutono direttamente problematiche relative
  ai sistemi o ai pacchetti Debian, possono comunque risultare
  interessanti per i lettori di questo mini-HOWTO.

    Using TrueType Fonts with RedHat Linux
     (http://www.kegel.com/linux/tt.html)

    X Font Tools (http://www.hex.net/~cbbrowne/xfonts.html)

    Getting fonts to look pretty under GNU/Linux for applications like
     StarOffice (http://king.ccrc.wustl.edu/~zubin/fonts.html)

    How to use True Type  fonts for StarOffice Under Linux
     (http://www.mindspring.net/~john_mcl/adding_fonts.html)



  11..44..  SSttoorriiaa ddeellllee rreevviissiioonnii


    0.1. 16 set. 1999: prima versione.

    0.2. 16 set. 1999: aggiunta la sezione Link addizionali.

    0.3. 10 gen. 2000: commenti dei lettori!  Aggiunti chiarimenti su
     diversi dettagli.


  11..55..  CCoommmmeennttii

  Commenti, correzioni, aggiunte e critiche sono sempre benvenuti.  Mi
  si pu raggiungere a bgiles@coyotesong.com.


  11..66..  PPrrooggeettttii ccoorrrreellaattii


    FreeType http://www.freetype.org/ <http://www.freetype.org/>

     Il motore FreeType  un motore libero e portabile per il rendering
     TrueType.  Il codice  una buona implementazione totalmente
     indipendente da quelle di Apple o Microsoft (comunque recentemente
      sorto un problema riguardo un possibile _b_r_e_v_e_t_t_o della Apple).
     FreeType  una libreria non un server per i font o una libreria
     completa per il rendering del testo.


  11..77..  DDiissttrriibbuuzziioonnee

  Questa  la prima stesura e mi aspetto di cambiarla significativamente
  dopo la sua pubblicazione.  Invito a fare riferimento all'ultima
  versione a http://www.dimensional.com/~bgiles/debian-tt.html.  La home
  permanente per questo documento alla fine sar a
  http://www.coyotesong.com/


  22..  SScchheerrmmii ((qquueell cchhee nnoonn vvii hhaannnnoo mmaaii ddeettttoo))

  Prima di tuffarci nell'impostazione dei font TrueType sotto X,
  rivediamo la differenza tra punti e pixel... e perch ce ne
  preoccupiamo tanto.

  Tutti i font visualizzati sono misurati in _p_u_n_t_i.  Un pollice 
  esattamente 72 punti.  Perch 72?  In parte a causa delle limitazioni
  delle macchine tipografiche meccaniche e in parte perch  sempre
  divisibile per 2, 3, 4, 6, 8, 9, 12, 18 e 24.  Non  male notare che
  l'unit predefinita in PostScript  un punto.

  (Nota storica: Ho mentito.  Prima dell'introduzione di PostScript un
  pollice era esattamente 72,27 punti, ma tale dimensione del punto era
  stata impostata nell'epoca delle stampatrici meccaniche con stampi in
  metallo. Con gli schermi dei computer e le stampanti laser  semplice
  ottenere font di qualsiasi dimensione e quindi 72 ha _m_o_l_t_o pi senso
  per le ragioni suddette.)

  Come regola generale, la maggior parte del testo dovrebbe essere tra i
  7 e i 12 punti.  Qualsiasi cosa pi piccola di 6 punti  detto
  letteralmente fine print.  Le stampanti ad aghi usano caratteri a 9
  o 12 punti (rispettivamente per 8 o 6 righe/pollice).

  Viceversa, tutti i driver video devono misurare i font usando il _p_i_x_e_l
  come unit fondamentale.  Per il proprio driver video, il proprio
  schermo  1024x800 pixel, non 10 per 8 pollici (o 720 per 576 punti).
  Per passare da punti (usati per specificare la dimensione dei font) a
  pixel (usati per i riferimenti nella memoria video) si deve conoscere
  la risoluzione del proprio schermo.  Questa  solitamente misurata in
  punti per pollice (dpi) (Ndt: point sono i punti usati per
  misurare i font, mentre questi punti sono dot), sebbene siano in
  realt pixel per pollice.  Questa  l'unit di misura utilizzata in
  due insiemi di font bitmap inclusi con XFree86: l'insieme fonts-75 
  pensato  per l'uso con schermi di fascia bassa con una risoluzione di
  circa 75 dpi, mentre fonts-100  pensato per schermi di fasci media
  con una risoluzione di circa 100 dpi.  Non ci sono font bitmap per
  l'uso con schermi di fascia elevata con risoluzione oltre i 120 dpi.

  Come esempio concreto, uno schermo di 13" di diagonale (11.1"
  utilizzabili) che visualizza un'immagine di 640x480 pixel ha una
  risoluzione di 72.0 dpi.  Questa Non  Una Coincidenza.  Infatti, la
  maggior parte delle pagine web (e applicazioni Microsoft) sono
  progettate attorno ad uno schermo canonico con una risoluzione di
  esattamente 72 dpi.  La configurazione predefinita di XFree86 assume
  uno schermo con una risoluzione di 75 dpi.

  Tornando al mondo reale, nessuno usa pi i video a 640x480, cos come
  nessuno usa pi schermi con 13" di diagonale.  Poich le schede video
  sono migliorate pi velocemente dei monitor non  strano avere una
  configurazione come la mia: schermo con 19" di diagonale (pi di 17"
  usabili), 1600x1200 pixel, risoluzione di 117 dpi.

  Se utilizzo una configurazione standard di X, tutti i miei font sono
  approssimativamente 2/3 delle dimensione voluta.  Non 
  un'esagerazione dire che tutti i font sembrano ridotti di un'ordine
  di grandezza: i font pi grandi (12 punti) sembrano quelli medi (9
  punti), mentre i font medi (9 punti) sembrano quelli piccoli (6
  punti).

  Si possono fare tre cose per correggere questo problema.  Per prima
  cosa si dovrebbe dire al server X la risoluzione reale del proprio
  schermo:

       _/_e_t_c_/_X_1_1_/_x_d_m_/_X_s_e_r_v_e_r_s

       ______________________________________________________________________
       #:0 local /usr/X11R6/bin/X -bpp 16
       :0 local /usr/X11R6/bin/X -bpp 16 -dpi 120
       ______________________________________________________________________



  Poi, ci si deve assicurare di usare come font bitmap preferenziali
  quelli a 100 dpi piuttosto di quelli a 75 dpi:

       _/_e_t_c_/_X_1_1_/_X_F_8_6_C_o_n_f_i_g

       ______________________________________________________________________
       Section "Files"
           RgbPath    "/usr/X11R6/lib/X11/rgb"
           FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/"
           FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/"
           FontPath   "/usr/X11R6/lib/X11/fonts/misc/"
           FontPath   "/usr/X11R6/lib/X11/fonts/Type1/"
           FontPath   "/usr/X11R6/lib/X11/fonts/Speedo/"
       EndSection
       ______________________________________________________________________



  Per finire, se il server X non trova un font bitmap che corrisponde
  esattamente a quanto richiede, prover a scalare un font simile
  replicando i pixel (pixel replication).  Raramente i risultati sono
  piacevoli da usare.  Assumendo di possedere un sistema ragionevolmente
  potente, possiamo dire al server di usare come prima scelta i font
  scalati, poi i bitmap per le corrispondenze esatte e come ultima
  risorsa i bitmap scalati.


       _/_e_t_c_/_X_1_1_/_X_F_8_6_C_o_n_f_i_g

       ______________________________________________________________________
       Section "Files"
           RgbPath    "/usr/X11R6/lib/X11/rgb"
           FontPath   "/usr/X11R6/lib/X11/fonts/Type1/"
           FontPath   "/usr/X11R6/lib/X11/fonts/Speedo/"
           FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
           FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
           FontPath   "/usr/X11R6/lib/X11/fonts/misc/"
           FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/"
           FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/"
       EndSection
       ______________________________________________________________________



  22..11..  UUnnoo ssgguuaarrddoo aall pprroossssiimmoo XXFFrreeee8866 44..00

  Sono appena venuto a sapare che XFree86 supporter le comunicazioni
  DDC, se sia il monitor che la scheda video le supportano.  Ci
  permetter al server X di interrogare il monitor sulle sue reali
  dimensioni fisiche, permettendogli cos di calcolare automaticamente
  le impostazioni DPI corrette.

  Si dovranno ancora fare le modifiche appropriate al proprio font path
  poich al server non dovrebbe essere permesso ignorare le impostazioni
  esplicite dell'utente in base a ci che ha scoperto.


  22..22..  PPaannoorraammiiccaa:: PPrreeppaarraazziioonnee pprriimmaa ddii mmooddiiffiiccaarree ii ffiillee ddii ccoonnffiigguu
  rraazziioonnee ddii XX

  Ogni volta che si fanno delle modifiche ai file di configurazione di
  X11,  un'idea eccellente disabilitare XDM mettendo exit 0 da qualche
  parte all'inizio del file.  Se non lo si fa e X per qualche ragione
  non riesce a partire, XDM metter il sistema in un brutto circolo
  vizioso dal quale  difficile uscire.  Uomo Avvisato, Mezzo Salvato.


  33..  VViissuuaalliizzzzaazziioonnee (( XX  ee ii ffoonntt sseerrvveerr))

  A rigore, non  assolutamente necessario impostare dei font server per
  usare i font TrueType con i server X.  Se si vogliono usare file
  statici invece di un font server, si vedano le istruzioni per
  impostare i font TrueType per ghostscript.


  33..11..  IImmppoossttaarree iill ffoonntt sseerrvveerr xxffss

  A questo punto assumo si abbia un file /etc/X11/XF86Config funzionante
  che carica le directory specificate esplicitamente nel FontPath.  Lo
  si convertir per usare il font server xfs.


    Installare XFS

     Se non lo si  gi fatto, si installi main/binary-*/x11/xfs_*.deb.

    Configurare XFS

     Si editi /etc/X11/xfs/config e si cambi catalogue per contenere la
     propria FontList.  Pu essere utile anche cambiare il valore di
     default-resolutions (risoluzioni predefinite).

       _/_e_t_c_/_X_1_1_/_x_f_s_/_c_o_n_f_i_g

       ______________________________________________________________________
       # percorsi nei quali cercare i font
       catalogue =
           /usr/X11R6/lib/X11/fonts/100dpi/:unscaled,
           /usr/X11R6/lib/X11/fonts/75dpi/:unscaled,
           /usr/X11R6/lib/X11/fonts/misc/,
           /usr/X11R6/lib/X11/fonts/Speedo/,
           /usr/X11R6/lib/X11/fonts/Type1/,
           /usr/X11R6/lib/X11/fonts/100dpi/,
           /usr/X11R6/lib/X11/fonts/75dpi/
       # x1,y1,x2,y2,...
       default-resolutions = 100,100,75,75
       ______________________________________________________________________



    Riavviare XFS

     Riavviare XFS nel modo solito di Debian:

       _s_h_e_l_l _d_i _r_o_o_t

       ______________________________________________________________________
       # /etc/init.d/xfs restart
       ______________________________________________________________________



    Verificare che XFS stia funzionando

     Prima di modificare il file XF86Config, si dovrebbe verificare che
     il server xfs stia funzionando elencando i font tramite il font
     server:


       _s_h_e_l_l _u_t_e_n_t_e

       ______________________________________________________________________
       $ fslsfonts -server unix/:7100
       -adobe-courier-bold-i-normal--0-0-0-0-m-0-iso8859-1
       -adobe-courier-bold-o-normal--0-0-100-100-m-0-iso8859-1
       -adobe-courier-bold-o-normal--0-0-75-75-m-0-iso8859-1
       ....
       ______________________________________________________________________



    Modificare /etc/X11/XF86Config per usare xfs

     Ora si  pronti per dire al server X di usare il font server xfs.
     Si mantenga un font path statico come posizione di ripiego in caso
     di problemi con xfs (conviene mantenere misc poich contiene
     fixed, il font predefinito).

       _/_e_t_c_/_X_1_1_/_X_F_8_6_C_o_n_f_i_g

       ______________________________________________________________________
       Section "Files"
           FontPath   "unix/:7100"
           FontPath   "/usr/X11R6/lib/X11/fonts/misc/"
       EndSection
       ______________________________________________________________________



    Riavviare X

     Riavviare X con startx, a meno che non si viva pericolosamente.  Se
     cos , mi si nomini beneficiario della propria polizza vita
     inusualmente grande e si riavvii xdm.

    Verificare che i font di XFS siano visibili

     Una volta stabilita una sessione X, si pu verificare che il
     proprio server veda tutti i font di xfs elencandoli attraverso il
     server X.

       _s_h_e_l_l _u_t_e_n_t_e

       ______________________________________________________________________
       $ xlsfonts
       -adobe-courier-bold-i-normal--0-0-0-0-m-0-iso8859-1
       -adobe-courier-bold-o-normal--0-0-100-100-m-0-iso8859-1
       -adobe-courier-bold-o-normal--0-0-75-75-m-0-iso8859-1
       ....
       ______________________________________________________________________



  33..22..  IImmppoossttaarree iill ffoonntt sseerrvveerr xxffsstttt  eedd iinnssttaallllaarree ii ffoonntt TTrruueeTTyyppee

  A questo punto assumo che si abbia un font server xfs funzionante e
  che si voglia aggiungere il supporto TrueType attraverso xfstt.

    Installare XFSTT

     Se non lo si  gi fatto, si installi
     main/binary-*/x11/xfstt_*.deb.

    Installare i font TrueType

     Si copino i propri font TrueType nella directory
     /usr/share/fonts/truetype.  Questi file solitamente hanno
     l'estensione .ttf e dovrebbero avere i permessi 0444.

    Riavviare il font server XFSTT

     Si riavvii il server xfstt con l'opzione force-reload

       _s_h_e_l_l _d_i _r_o_o_t



  ______________________________________________________________________
  # /etc/init.d/xfstt force-reload
  ______________________________________________________________________



    Verificare che XFSTT stia funzionando

     Prima di modificare il nostro file XF86Config, si dovrebbe
     verificare che il server xfstt stia funzionando.

     _I_m_p_o_r_t_a_n_t_e_: _i_l _s_e_r_v_e_r xfstt della Debian  in ascolto sulla porta
     7101 non sulla 7100.  Inoltre i permessi predefiniti richiedono che
     si esegua questa interrogazione come root.

       _s_h_e_l_l _d_i _u_n _u_t_e_n_t_e _e _d_i _r_o_o_t

       ______________________________________________________________________
       $ fslsfonts -server unix/:7101
       _FSTransSocketUNIXConnect: Can't connect: errno = 111
       fslsfonts:  unable to open server "unix/:7101"

       # fslsfonts -server unix/:7101
       -ttf-arial black-medium-r-normal-regular-0-0-0-0-p-0-iso8859-1
       -ttf-arial mt black-medium-r-normal-regular-0-0-0-0-p-0-iso8859-1
       -ttf-arial narrow-bold-i-normal-bold italic-0-0-0-0-p-0-iso8859-1
       ______________________________________________________________________



    Modificare /etc/X11/XF86Config per usare xfstt

     Ora si  pronti per dire all'X server di usare il font server
     xfstt.  Vogliamo che preferibilmente usi i font TrueType piuttosto
     che tutti gli altri.

       _/_e_t_c_/_X_1_1_/_X_F_8_6_C_o_n_f_i_g

       ______________________________________________________________________
       Section "Files"
           FontPath   "unix/:7101"
           FontPath   "unix/:7100"
           FontPath   "/usr/X11R6/lib/X11/fonts/misc/"
       EndSection
       ______________________________________________________________________



    Verificare che i font di XFSTT siano visibili

     Una volta stabilita una sessione X, possiamo verificare che il
     nostro server veda tutti i font TrueType elencandoli.


       ______________________________________________________________________
       $ xlsfonts | grep ttf
       -ttf-arial black-medium-r-normal-regular-0-0-0-0-p-0-iso8859-1
       -ttf-arial mt black-medium-r-normal-regular-0-0-0-0-p-0-iso8859-1
       -ttf-arial narrow-bold-i-normal-bold italic-0-0-0-0-p-0-iso8859-1
       ....
       ______________________________________________________________________


  33..33..  UUssaarree ii ffoonntt TTrruueeTTyyppee

  A questo punto dovrebbe essere possibile usare un font TrueType in
  applicazioni come GIMP, Netscape o StarOffice.  Poich la maggior
  parte dei font TrueType non sono equispaziati (monospaced)
  probabilmente non conviene usarli con xterm.


  33..44..  IInnssttaallllaarree ffoonntt TTrruueeTTyyppee aaddddiizziioonnaallii

  Se si sta usando il font server xfstt,  banale installare font
  TrueType addizionali.

    Copiare i nuovi font in /usr/share/fonts/truetype/

    Riavviare xfs con /etc/init.d/xfs restart


  33..55..  IInntteerrnnaazziioonnaalliizzzzaazziioonnee

  xfstt ha la capacit di generare diverse codifiche di font, a patto
  che i font TrueType contengano i glifi (glyph) necessari.  Per
  abilitare font diversi da iso8859-1/unicode-1, si deve modificare
  manualmente lo script /etc/init.d/xfstt:


       _/_e_t_c_/_i_n_i_t_._d_/_x_f_s_t_t

       ______________________________________________________________________
       - start-stop-daemon --start --quiet --exec $XFSTT -- \
             --port $portno --daemon
       + start-stop-daemon --start --quiet --exec $XFSTT -- \
             --port $portno --encoding iso8859-1,koi8-r,windows-1252,symbol-0 \
             --daemon
       ______________________________________________________________________



  Le codifiche riconosciute in Debian 2.1 sono:


    iso8859-1     (Latin 1 - Europa occidentale)

    iso8859-2     (Latin 2 - Europa centrale e orientale)

    iso8859-3     (Latin 3 - esperanto e maltese)

    iso8859-4     (Latin 4 - rimpiazzata da Latin 6)

    iso8859-5     (cirillico)

    iso8859-6     (arabo)

    iso8859-7     (greco)

    iso8859-8     (ebraico)

    iso8859-9     (Latin 5 - Latin 1 con turco invece di islandese)

    iso8859-10    (Latin 6 - lingue nordiche, rimpiazza Latin 4)

    koi8-r        (cirillico)

    windows-1250  (Europa centrale)

    windows-1251  (cirillico)

    windows-1252

    windows-1253  (greco)

    windows-1254

    windows-1255

    windows-1256

    windows-1257

    symbol-0

    wingding-0

    wingreek-0

    cp-437        (varie pagine di codice IBM)

    cp-737

    cp-850

    cp-851

    cp-852

    cp-853

    cp-855

    cp-857

    cp-860

    cp-861

    cp-862

    cp-863

    cp-864

    cp-865

    cp-866

    cp-869

    cp-895

    atari-st

    unicode-2

  I primi 128 caratteri nelle codifiche iso8859-x sono sempre l'ASCII.
  I font windows- abbracciano e estendono gli iso8859-1 con caratteri
  addizionali come smart quotes (poich queste estensioni, come le
  smart quotes non sono definite in iso8859-1, sono solitamente rese
  con dei punti di domanda).

  Eccellenti fonti di informazioni aggiuntiva sulle codifiche dei set di
  caratteri si possono trovare a
    http://ppewww.ph.gla.ac.uk/%7Eflavell/iso8859/iso8859-pointers.html,

    http://anubis.dkuug.dk/i18n/ e

    http://czyborra.com/charsets/iso8859.html.



  33..66..  QQuueessttiioonnii ddii ssiiccuurreezzzzaa

  Qua sopra ho usato i socket Unix, ma i pacchetti Debian standard
  configurano anche xfs e xfstt per restare in ascolto sulle porte 7100
  e 7101, rispettivamente.  L'accesso a queste porte dovrebbe essere
  controllato dal campo trusted-clients in /etc/X11/xfs/config, ma
  questa opzione non  implementata in XFree86 3.3.2.3a.

  Ci significa che chiunque, da ovunque, pu connettersi al font
  server.  Poich xfs (e presumibilmente xfsts) si clonano per
  supportare pi utenti esiste un banale attacco tipo denial-of-service
  contro questi sistemi.  Probabilmente  sicuro utilizzare i font
  server su linee in dialup (poich si  presenti per gestire il
  problema), ma gli utenti di DSL e cable modem dovrebbero usare un
  firewall.


  44..  SSttaammppaa (( gghhoossttssccrriipptt ))

  A partire dalla versione 4, ghostscript supporta i font TrueType con
  un'opzione in compilazione.  Due pacchetti Debian forniscono
  ghostscript:

    main/binary-*/text/gs_*.deb versione 5.10 conforme alle DFSG,

    non-free/binary-*/gs-aladdin_*.deb versione 5.50 non conforme alle
     DFSG.

     Entrambe le versioni supportano i font TrueType.


  44..11..  CCoonnffiigguurraarree GGhhoossttssccrriipptt  ppeerr uussaarree ii ffoonntt TTrruueeTTyyppee

  Se si ha un server xfstt funzionante,  facile configurare ghostscript
  per usare i font TrueType.  Si esegua semplicemente il comando
  seguente:


       ______________________________________________________________________
       # xfstt --gslist --sync >> /etc/gs.Fontmap
       ______________________________________________________________________



  Nella pratica ho scoperto che trae vantaggio da alcune piccole
  modifiche alle definizioni dei font generate da xfstt.  Per prima
  cosa, se un nome di font non contiene alcuno spazio, cambio il nome
  nella notazione usuale.  Se un nome di font contiene degli spazi,
  rimpiazzo tutti gli spazi con trattini e il nome originale viene
  aggiunto come alias per il nuovo nome.

  Per finire, antepongo TTF- (o MS-) a tutti i nomi dei font per
  minimizzare i problemi causati da font TrueType che hanno lo stesso
  nome di font preesistenti.

  Quindi

  ______________________________________________________________________
  (Arial)               (/usr/share/fonts/truetype/arial.ttf)   ;
  (Arial Bold Italic)   (/usr/share/fonts/truetype/arialbi.ttf) ;
  ______________________________________________________________________



  diventa


       ______________________________________________________________________
       /MS-Arial             (/usr/share/fonts/truetype/arial.ttf)   ;
       /MS-Arial-Bold-Italic (/usr/share/fonts/truetype/arialbi.ttf) ;
       (Arial Bold Italic)   /MS-Arial-Bold-Italic                   ;
       /Arial                /MS-Arial                               ;
       ______________________________________________________________________



  Gli alias assicurano che ghostscript e xfstt possano ancora
  specificare lo stesso font con un nome comune.

  Molto pi importante, con le modifiche ai nomi dei font  possibile
  istruire ghostscript ad usare il font TrueType invece dei font
  standard.  La documentazione afferma che questo  possibile anche con
  la notazione con le parentesi, ma io non sono riuscito a farlo
  funzionare.

  Per esempio, possiamo istruire ghostscript a rimpiazzare i font
  Helvetica con i font Arial gratuiti della Microsoft aggiungendo le
  righe seguenti al file /etc/gs.Fontmap:


       ______________________________________________________________________
       /Helvetica               /MS-Arial              ;
       /Helvetica-Oblique       /MS-Arial-Italic       ;
       /Helvetica-Bold          /MS-Arial-Bold         ;
       /Helvetica-BoldOblique   /MS-Arial-Bold-Italic  ;
       ______________________________________________________________________



  Alias simili possono essere definiti per gli altri font standard.
  Questi alias possono essere molto utili sulle stampanti samba che
  servono client Windows.


  44..22..  SSttaammppaarree ii ccaammppiioonnii ddeeii ffoonntt TTrruueeTTyyppee

  Il modo migliore per verificare che ghostscript sia configurato
  propriamente per usare i font TrueType  di stampare le pagine
  campione dei font.  Assumendo di usare ghostscript 5.50 e che sia la
  propria coda di stampa predefinita, si possono stampare tutti i font
  TrueType con il seguente comando:


       ______________________________________________________________________
       # xfstt --gslist --sync | printfont
       ______________________________________________________________________



  dove printfont  il seguente script shell


       ______________________________________________________________________
       #!/bin/sh

       set -e
       IFS= ')'

       while read fontname rest
       do
           cat << EOM | lpr
       %!PS
       (/usr/lib/ghostscript/5.50/prfont.ps) run
       $fontname) DoFont
       EOM
       done
       ______________________________________________________________________



  Se si vogliono stampare solo alcuni font, lo script seguente sar pi
  facile da usare:


       ______________________________________________________________________
       #!/bin/sh

       set -e
       while read -p "Nome di font, o ^D per uscire: " fontname
       do
           cat << EOM | lpr
       %!PS
       (/usr/lib/ghostscript/5.50/prfont.ps) run
       $fontname DoFont
       EOM
       done
       ______________________________________________________________________



  55..  GGeenneerraazziioonnee ddeeii ccoonntteennuuttii

  55..11..  GGeenneerraarree llee mmeettrriicchhee ddii ffoonntt AAFFMM

  I file di metrica AFM non sono necessari per visualizzare file gi
  esistenti con i font TrueType, ma sono necessari per creare nuovi
  file.  Per generare questi file di metrica potrebbe essere usato il
  programma di ghostscript /usr/lib/ghostscript/5.50/printafm.ps, ma io
  ho trovato che il programma ttf2afm del pacchetto tetex-bin  pi
  facile da usare.

  Lo script seguente generer un file afm per tutti i font TrueType in
  una directory:



  ______________________________________________________________________
  #!/bin/sh

  set -e

  for i in *.TTF
  do
      /usr/bin/ttf2afm $i > ${i%TTF}afm
  done

  for i in *.ttf
  do
      /usr/bin/ttf2afm $i > ${i%ttf}afm
  done
  ______________________________________________________________________



  Un problema minore con ttf2afm  che alcune applicazioni si aspettano
  che i file afm comincino con il tag StartFontMetrics, mentre i file
  creati da ttf2afm iniziano con un commento.  Questo problema 
  facilmente risolvibile modificando ciascun file con un editor di
  testo.


  55..22..  GGeenneerraarree ii ffiillee ffoonntt..mmaapp

  Una volta che si hanno i file afm, si deve dire al sistema come
  trovarli.  Questo spesso  fatto attraverso il file font.map.

  Non mi  stato possibile trovare documentazione sul formato di questo
  file, diversamente da fonts.dir, fonts.scale e fonts.alias, tutti
  creati dal programma mkfontdir.  Comunque il formato minimo sembra
  abbastanza semplice:


    Nome del font, senza spazi

    nome del file AFM, senza estensione

  Gli alias sembrano essere implementati tramite voci multiple e
  l'estensione dei file deve essere in caratteri minuscoli.


  55..33..  MMaanniippoollaazziioonnee ddii iimmmmaaggiinnii:: GGIIMMPP

  GIMP  il programma di grafica e manipolazione di immagini della GNU.
  Non  servito fare modifiche ulteriori per usare i font TrueType con
  gimp.


  55..44..  CCoonnvveerrssiioonnee ddaa AASSCCIIII aa PPoossttSSccrriipptt:: eennssccrriipptt

  Enscript  un programma che converte ASCII in PostScript.  Altri
  programmi che servono per scopi simili sono a2ps e mpage.  Non
  riformatta il testo e solitamente  usato per stampare listati di
  codice sorgente.

  Per usare i font TrueType con enscript, si devono fare due cose:

    Aggiungere /usr/share/fonts/truetype al proprio AFMPath.

    Specificare un font TrueType, esplicitamente o come alias di un
     font predefinito.

  Per i dettagli si veda la documentazione di enscript.

  Una volta fatte queste modifiche, non ho avuto problemi ad usare i
  font TrueType.


  55..55..  FFoorrmmaattttaazziioonnee ee ccoommppoossiizziioonnee ddii tteessttii:: ggrrooffff

  Groff  l'interfaccia Gnu al sistema di formattazione di documenti
  groff/troff.   con le pagine man che si pu meglio apprezzare la
  potenza di Groff.

       _s_h_e_l_l _u_t_e_n_t_e

       ______________________________________________________________________
       $ zcat /usr/man/man1/groff.1.gz | groff -man | lpr
       ______________________________________________________________________



  A parte le pagine man, una quantit incredibile di documentazione Unix
  usa la formattazione troff con le macro ms (e qualche volta me).  Il
  pacchetto xbooks di Debian, per esempio, contiene 43 file che usano
  troff con le macro ms.  Con groff questo materiale pu essere stampato
  in maniera elegante.

  Groff  un sistema molto potente, ma  il nipote (o il pronipote) di
  un programma utilizzato per la composizione dei testi per le presse di
  stampa degli anni '60.  Il supporto dei font in groff riflette questo
  retaggio. Groff, diversamente dai suoi predecessori, usa PostScript
  come formato d'uscita predefinito e quindi il precedente lavoro fatto
  con ghostscript risolve met del problema: groff non si deve
  preoccupare della lettura dei file dei font TrueType.  Ha bisogno di
  avere a disposizione metriche di font accurate e questa sezione
  descrive come rigenerare i file di groff necessari:

       _F_i_l_e _d_i _d_e_s_c_r_i_z_i_o_n_e _P_o_s_t_S_c_r_i_p_t _d_i _G_r_o_f_f

       ______________________________________________________________________
       /usr/share/groff/font/devps/DESC
           File di descrizione del dispositivo
       /usr/share/groff/font/devps/text.enc
           Codifica usata per i font testo
       /usr/share/groff/font/devps/generate/textmap
           Mappa predefinita
       /usr/share/groff/font/devps/generate/Makefile
           Makefile standard
       ______________________________________________________________________



  Si deve modificare il Makefile,

       _/_u_s_r_/_s_h_a_r_e_/_g_r_o_f_f_/_f_o_n_t_/_d_e_v_p_s_/_g_e_n_e_r_a_t_e_/_M_a_k_e_f_i_l_e

       ______________________________________________________________________
       - afmdir=/usr/local/afm
       + afmdir=/usr/share/fonts/truetype
       ______________________________________________________________________



  cambiando il nome dei font con il loro equivalente TrueType (e.g., se
  si usano i font TrueType gratuiti di Microsoft si rimpiazzer Hel
  vetica con Arial), e modificare TEXTFONTS e simile per includere solo
  questi font ridefiniti.

  Si deve pure modificare /usr/share/groff/font/devps/generate/afmname
  per usare i nomi dei font TrueType e i file afm e per rimuovere
  un'opzione "-e" da awk.

  Dopo tutto questo, si possono ricostruire le tabelle di groff con

       _s_h_e_l_l _u_t_e_n_t_e

       ______________________________________________________________________
       $ cd /usr/share/groff/font/devps
       $ make -f generate/Makefile
       ______________________________________________________________________



  Come al solito, il modo migliore per verificare le modifiche  usare
  font facilmente riconoscibili. E.g. se si stanno usando i font
  TrueType gratuiti della Microsoft si pu usare Mistral per TR.

  (Il 1 aprile prossimo mi aspetto delle royalty da chiunque
  riconfigurer il proprio sistema per stampare le pagine man con il
  font Old English!)


  55..66..  FFoorrmmaattttaazziioonnee ee ccoommppoossiizziioonnee ddii tteessttii:: TTeeXX

  TeX  un altro insieme molto comune di programmi per la formattazione
  e composizione del testo presente sulla maggior parte dei sistemi
  GNU/Linux.

  I font di TeX possono essere creati con mktexmf, ma ho poche
  informazioni sull'esatto processo.  Maggiori dettagli saranno forniti
  al pi presto.


  66..  DDoommaannddee nnoonn rriissppoossttee


    Applicazioni

     La principale domanda senza risposta  perch se netscape
     communicator pu usare i font TrueType, e ghostscript pu usare gli
     stessi font TrueType, le pagine stampate da netscape non
     assomigliano a quelle sullo schermo.

     La risposta breve  che netscape genera l'output PostScript con i
     font standard (Helvetica e Times-Roman) invece di quelli
     specificati dall'utente o specificati nel file HTML.  La risposta
     lunga  che non ho assolutamente idea del perch forzi questo
     comportamento o se ci sia un modo per evitarlo.


  77..  OOtttteenneerree ii ffoonntt TTrruueeTTyyppee

  Se si cercano font TrueType ecco qui diversi posti dove si pu
  cominciare a guardare:

    c:\windows\fonts sul fermaporte che c' nell'angolo

    Microsoft's Free TrueType Fonts
      <http://www.microsoft.com/typography/fontpack/>
    Acid Fonts
      <http://www.acidcool.com/>

    The Font Ring
      <http://www.webring.org/cgi-bin/webring?ring=fontring&list>


  77..11..  UUnn ccoommmmeennttoo ssuullll''uussoo ddeeii ffoonntt TTrruueeTTyyppee ggrraattuuiittii ddii MMiiccrroossoofftt

  Nessun articolo sul supporto TrueType sotto Linux potrebbe essere
  completo senza un commento sui font TrueType gratuiti di Microsoft.
  Vediamo prima se sia legale utilizzare questi font gratuiti di
  Microsoft:

        <http://www.microsoft.com/typography/faq/faq8.htm>

       ____________________________________________________________
       Q. Cosa posso fare con questi font?
           Chiunque pu scaricare ed installare questi font per il
            proprio uso personale.
           I progettisti [di pagine web] possono specificare questi
            font all'interno delle loro pagine web
          ...
       ____________________________________________________________



  Chiaramente,  legale e ragionevole per gli utenti Linux scaricare e
  installare questi font e quindi vorrei ringraziare la Microsoft per
  averli resi disponibili.

  Poich un'altra clausola restringe la loro redistribuzione in
  qualsiasi forma che aggiunga valore a prodotti commerciali non mi
  aspetto di vedere molto presto dentro a main il pacchetto con questi
  font (potrebbero essere impacchettati dentro a non-free, forse
  utilizzando un pacchetto installatore...?).

  Ora che questo  stato chiarito, voglio dirigere la vostra attenzione
  sulla seconda clausola.  Microsoft incoraggia attivamente gli
  sviluppatori di pagine web a specificare i suoi font nelle pagine web
  e molti editor HTML chiamano esplicitamente questi font.

  Molti siti web, quando vengono visti con un Netscape/Linux standard,
  possono al pi essere descritti come... decifrabili.  Alcuni non lo
  sono nemmeno.  Non  una coincidenza che i siti che sono, diciamo,
  leggibili sono solitamente quelli che specificano esplicitamente tutte
  le informazioni sui font nelle loro pagine web.

  Dopo aver installato questi font ho notato che la maggior parte di
  questi siti problematici sono diventati significativamente pi
  attraenti.  Molti erano ancora altamente Windows-centrici, ma almeno
  non devo ritrarmi schifato ogni volta che carico le loro pagine.

  La mia raccomandazione  di installare i font TrueType gratuiti della
  Microsoft per il proprio browser.  Non  richiesto di creare pagine
  web usandoli e nemmeno di configurare ghostscript per usarli.



  88..  CCooppyyrriigghhtt ((iinn iinngglleessee))

  Copyright  1999 by Bear Giles.

  Unless otherwise stated, Linux HOWTO documents are copyrighted by
  their respective authors.  Linux HOWTO documents may be reproduced and
  distributed whole or in part, in any medium physical or electronic, as
  long as this copyright notice is retained in all copies.  Commercial
  redistribution is allowed and encouraged; however, the author would
  like to be notified of any such distributions.

  All translations, derivative works, or aggregate works incorporating
  any Linux HOWTO documents must be covered under this copyright notice.
  That is, you may produce a derivative work from a HOWTO and impose
  additional restrictions on distribution.  Exceptions to these rules
  may be granted under certain conditions; please contact the Linux
  HOWTO cordinator for more information.

  In short, we wish to promote dissemination of this information through
  as many channels as possible.  However, we do wish to retain copyright
  on the HOWTO documents, and would very much like to be notified of any
  plans to redistribute the HOWTOs, this one in particular!  Web page
  authors are free to link to this HOWTO without restriction, though the
  author would appreciate an email informing him of this, just so he can
  boost his ego by knowing who else reads and links to this document.

  Many of the terms mentioned in this document are trade names.  Unless
  otherwise stated, all trademarks are property of their respectve
  owners.



