

			   -------------------------

				EASY FONTS v2.0
				    per DOS

			   -------------------------




       1.  INTRODUZIONE
       2.  LICENZA D'USO
       3.  COME SI USA EASY FONTS
       3.1.  La riga di comando
       3.2.  La finestra principale: come definire i caratteri
       3.3.  La finestra principale: i bottoni
       3.4.  La finestra secondaria
       4.  L'IMMAGINE DEL FONT
       4.1.  Posizione dei caratteri rispetto al rigo
       4.2.  Colori utilizzati
       4.3.  Come creare l'immagine
       5.  CARATTERISTICHE DEI FONT CHR
       5.1.  Dimensioni dei caratteri
       5.2.  L'interspazio
       5.3.  L'header del font
       5.4.  Il nome del font
       6.  COME REGISTRARSI
       6.1.  Come inserire la password
       7.  LA VERSIONE WINDOWS DI EASY FONTS
       8.  COME CONTATTARE L'AUTORE




      1.  INTRODUZIONE

	 Easy  Fonts  e`  un programma di grande  utilita`  per  tutti  i
      programmatori che usano la Borland Graphic Interface (BGI).  L'idea
      del programma deriva da alcune semplici considerazioni:
      1)  I font vettoriali forniti dalla Borland sono insufficienti:  si
      finisce con l'usare sempre il solito Triplex o il solito  SansSerif
      con il risultato che anche il programma piu` nuovo e originale  da`
      l'idea del "gia` visto" e questo sminuisce l'interesse dell'utente.
      2)   La  creazione di nuovi font per mezzo del  font  editor  della
      Borland e` un'operazione lunga e noiosa che richiede non solo molta
      pazienza  ma anche un notevole estro artistico e, pertanto, non  e`
      alla portata di tutti.
      3)   I  font  vettoriali  sono  dichiarati  "scalabili"  cioe`   e`
      possibile visualizzare caratteri di qualsiasi dimensione; tuttavia,
      se si utilizzano dimensioni che non siano multiple della dimensione
      standard,  la  resa estetica lascia molto a  desiderare.   Tutti  i
      programmatori  avranno  provato  a  visualizzare  il  font  Triplex
      ponendo  il parametro "size" della procedura SetFontStyle a 3 o  2:
      si ottengono dei caratteri alquanto deformi, cosa inaccettabile  in
      un programma di un certo livello.  Sarebbe preferibile disporre  di
      piu`  font  contenenti lo stesso tipo di	carattere  in  dimensioni
      diverse  (come  avviene  con  i font bitmap)  in	modo  da  poterli
      visualizzare sempre in size 4 con la massima resa estetica.
      4)   Questa e` l'ultima considerazione ed e`  quella  determinante:
      con  tutte  le  migliaia	di  font  gia`	esistenti  e   facilmente
      reperibili  in rete e sui CD-ROM di software PD/shareware,  e`  del
      tutto  inutile crearne di nuovi: e` molto piu` semplice  CONVERTIRE
      tali font verso lo standard Borland.

	 Easy  Fonts  serve  proprio a	questo:  consente  di  convertire
      *QUALSIASI*  font  grafico (anche TrueType) verso il  formato  CHR,
      comune  a  tutti	i linguaggi che  utilizzano  la  Borland  Graphic
      Interface (BGI).
	 Come e` possibile?  Vuol dire forse che Easy Fonts conosce tutti
      i  formati dei file di font esistenti?  Certo che no!  Il  problema
      presenta	una  soluzione molto piu` semplice: Easy  Fonts  anziche'
      richiedere in input il file di font da convertire, prevede che  gli
      sia fornita una immagine bitmap raffigurante tutti i caratteri  del
      font.  Tale immagine puo` essere facilmente creata con il programma
      (o uno dei programmi) che supporta il font da convertire: ad  esem-
      pio  nel caso degli ottimi font TrueType si puo` comodamente  usare
      il Paint di Windows 9x (o il Paintbrush per chi usa  Windows 3.1x);
      creata  l'immagine la si salva in formato PCX e si fornisce  questo
      file a Easy Fonts.
	 Visualizzando i font CHR risultanti dalla conversione, si otter-
      ranno,  in  size 4, dei caratteri rigorosamente identici	a  quelli
      presenti nel file PCX.



      2.  LICENZA D'USO

	 Easy Fonts e` un programma shareware: non e` gratuito,  tuttavia
      e`  possibile  provarlo gratuitamente senza limiti  di  tempo.   La
      versione	del programma fornita in prova e` detta "non  registrata"
      ed  una  limitazione rispetto alla versione  "registrata":  non  e`
      possibile definire piu` di 15 caratteri per ciascun font.
	 L'autore  permette l'uso dei font prodotti con la  versione  non
      registrata   del	programma  unicamente  per  realizzare	 software
      non-profit,  cioe`  software per il quale non sia  richiesto  alcun
      compenso	o  donazione  e  che non  pubblicizzi  alcun  prodotto	o
      servizio;  per  ogni altro tipo di software  (shareware,	ecc.)  e`
      obbligatorio utilizzare la versione registrata di Easy Fonts  (vedi
      paragrafo 6: "Come registrarsi").



      3.  COME SI USA EASY FONTS

      3.1.  La riga di comando

	 La sintassi da utilizzare e` la seguente:

		      EF [<FontImage>] [<FontFile>] [\v]

	 FontImage  e` il nome del file PCX raffigurante i caratteri  che
      si  desidera inserire nel font; FontFile e` il nome di un font  CHR
      gia` esistente al quale si desidera apportare delle modifiche.   E'
      possibile specificare solo il nome del file PCX (qualora si  voglia
      creare un nuovo font), oppure il nome del solo file CHR (qualora si
      desideri apportare delle modifiche ad un font gia` esistente  senza
      aggiungere nuovi caratteri).  Le estensioni PCX e CHR sono facolta-
      tive; tuttavia, se si specifica solo il nome del file CHR e` neces-
      sario fornire anche l'estensione per evitare ambiguita` (altrimenti
      il programma gli aggiungerebbe l'estensione PCX).
	 Il  parametro opzionale  \v  , infine, serve per  forzare  l'uso
      della grafica VGA 640x480x16, rinunciando alla grafica SVGA.   Que-
      sto parametro deve essere utilizzato solo in due casi particolari:
      1) Non si possiede una SVGA e l'immagine PCX che si utilizza ha una
      risoluzione maggiore di 640x480.
      2)  Il programma	non riesce ad utilizzare correttamente la  scheda
      SVGA che si possiede e l'immagine PCX che si utilizza ha un risolu-
      zione maggiore di 640x480.


      3.2.  La finestra principale: come definire i caratteri

	 Supponiamo,  per fissare le idee, di aver lanciato il	programma
      con la seguente riga di comando:

				 EF IMAGE.PCX

      Viene  visualizzata  prima  una  schermata  di  presentazione,  poi
      l'immagine PCX e, infine, sopra di questa, la "finestra principale"
      contenente:
      - una tabella con i primi 64 caratteri del codice ASCII;
      - otto bottoni. Nella tabella, i caratteri gia` definiti	compaiono
      in  blu,	quelli	indefiniti compaiono in  rosso	(in  questo  caso
      compaiono tutti in rosso perche' non abbiamo ancora definito  alcun
      carattere).
	 Supponiamo  ora di voler definire (cioe` aggiungere al font)  il
      carattere "0".  Prima di tutto bisogna cliccare col mouse sullo "0"
      presente	in tabella, poi si clicca sul bottone "Define"; a  questo
      punto  la finestra scompare e sullo schermo resta  solo  l'immagine
      PCX con i vari caratteri grafici.  Ora bisogna disegnare un rettan-
      golo con il mouse attorno all'immagine del carattere "0": si clicca
      una volta (tasto sinistro) per fissare la posizione del primo  ver-
      tice  del rettangolo e una seconda volta per fissare  la	posizione
      del  secondo vertice.  Fatto!  Il carattere "0" e` stato	definito.
      Premendo il tasto destro del mouse ricompare la finestra principale
      (ora il carattere "0" e` blu), e si puo` ricominciare daccapo.
	 E' anche possibile definire piu` caratteri in sequenza: anziche'
      premere il bottone destro per tornare subito alla finestra  princi-
      pale  si	puo` disegnare un nuovo rettangolo attorno  al	carattere
      "1", poi attorno al "2" e cosi` via.  La sequenza si interrompe  al
      verificarsi di uno dei seguenti casi:
      - viene premuto  il bottone destro (ma non durante il  tracciamento
      del rettangolo);
      - si verifica un errore (p.e.: nel rettangolo tracciato non e` con-
      tenuto alcun carattere);
      - il prossimo carattere della sequenza e` gia` definito.
      In tutti questi casi ricompare la finestra principale.
	 Se  si sbaglia a posizionare il primo vertice si puo`	annullare
      il tracciamento del rettangolo premendo il bottone destro.


      3.3.  La finestra principale: i bottoni

	 Vediamo  in  dettaglio le funzioni degli otto	bottoni  presenti
      nella finestra principale.
	 "Define".   Serve per definire (cioe` aggiungere al font) uno	o
      piu`  caratteri in sequenza.  Se il primo carattere della  sequenza
      e` gia` definito viene chiesta conferma sulla effettiva volonta` di
      ridefinirlo;  se	uno dei caratteri successivi  e`  gia`	definito,
      quando  viene il momento di definire quel carattere,  ricompare  la
      finestra principale.
	 ">>" e "<<".  Nella tabella di selezione compaiono solo i  primi
      64  caratteri  del codice ASCII: questi tasti servono  per  passare
      alla pagina successiva e alla pagina precedente della tabella.
	 "Undefine".  Elimina un carattere dal font.
	 "About".  Visualizza alcune informazioni sul programma.
	 "View/Chg".  Visualizza la "finestra secondaria" (v. par. 3.4).
	 "Save".  Salva il font.  Viene richiesta una stringa descrittiva
      da  inserire all'inizio del font e il nome del file da  creare  (v.
      anche  i	paragrafi  5.3	e 5.4).  Se il	file  esiste  gia`  viene
      riscritto senza preavviso.
	 "Exit".   Abbandona  il  programma.  Se il  font  non	e`  stato
      salvato viene chiesta conferma.


      3.4.  La finestra secondaria

	 Questa finestra contiene:
       - alcune informazioni generali nell'angolo superiore sinistro;
      - una tabella di caratteri analoga a quella della finestra  princi-
      pale
       - 8 bottoni.

	 Le informazioni fornite sono:
	 "Chars in font".  Numero totale di  caratteri attualmente  defi-
      niti.
	 "Org to Cap".	Altezza max (in pixel) raggiunta dai caratteri al
      di sopra del rigo.
	 "Org to Bottom".  Altezza minima (in pixel) raggiunta dai carat-
      teri al di sotto del rigo.
	 "Current Interspace".	L'interspazio attualmente utilizzato  (v.
      il paragrafo 5.2).

	 Vediamo le funzioni dei bottoni.
	 "Main".  Torna alla finestra principale.
	 "Select  All"	e "Unselect All".  Per	selezionare/deselezionare
      tutti i caratteri che compaiono in blu nella tabella.  I	caratteri
      selezionati saranno oggetto dell'azione del tasto "Interspace"  (v.
      oltre).	E' altresi` possibile  selezionare/deselezionare  singoli
      caratteri: basta cliccare nella tabella sui caratteri che  interes-
      sano.
	 ">>" e "<<".  Per scorrere le pagine della tabella.
	 "Interspace".	 Permette di modificare l'interspazio  utilizzato
      per i caratteri che verranno definiti da quel momento in poi (v. il
      paragrafo  5.2).	Permette inoltre di modificare l'interspazio  dei
      caratteri selezionati nella tabella (se ce ne sono).
	 "Show Font".  Mostra tutti i caratteri attualmente presenti  nel
      font.  Per fare cio` viene creato il file temporaneo TMP$.CHR nella
      directory  di default; questo file viene poi caricato nella  BGI	e
      visualizzato  tramite OutText().	Il file viene rimosso  in  uscita
      dal  programma; se all'avvio del programma esiste gia` un file  con
      quel nome, il programma abortisce.
	 "Show String".  Mostra una stringa qualsiasi immessa dall'utente
      utilizzando  i caratteri presenti nel font.  Anche in  questo  caso
      viene creato il file TMP$.CHR.



      4.  L'IMMAGINE DEL FONT

	 Come gia` spiegato, il font da convertire deve essere fornito al
      programma  sotto	forma  di una  immagine  grafica  raffigurante	i
      caratteri di tale font.  L'immagine deve essere necessariamente  in
      formato PCX (altri formati verranno aggiunti nelle prossime versio-
      ni); l'immagine puo` essere indifferentemente a 2, 16 o 256  colori
      e puo` avere una risoluzione anche maggiore di 640x480 (Easy  Fonts
      e` in grado di funzionare anche in grafica SVGA con le schede  piu`
      diffuse,	inoltre  riconosce l'interfaccia  VESA).   Ovviamente  e`
      necessario  evitare di superare la risoluzione massima  disponibile
      sulla  propria scheda, altrimenti non sara` possibile  visualizzare
      l'immagine per intero.  Un esempio di immagine raffigurante un font
      e` dato dal file EXAMPLE.PCX.
	 Talvolta  l'immagine puo` apparire con colori diversi da  quelli
      che  si  ottengono  visualizzandola con un  qualsiasi  viewer;  non
      meravigliatevi: per semplicita` Easy Fonts ignora la palette di co-
      lori  contenuta nel file.  Questo di solito non crea  problemi  con
      immagini	a  16  colori (che spesso usano  proprio  la  palette  di
      default)	ma potrebbe crearne qualcuno con immagini a  256  colori.
      La  scelta  di  non alterare la palette di  default  e`  dovuta  al
      desiderio  di  non alterare il colore delle finestre  generate  dal
      programma.   Affrontero`	meglio il problema in una  prossima  ver-
      sione.


      4.1.  Posizione dei caratteri rispetto al rigo

	 La codifica di un carattere a partire dalla sua immagine  bitmap
      presenta	un  problema dovuto al fatto che i caratteri  che  costi-
      tuiscono un font sono di tre tipi diversi:
      1) caratteri che si posizionano interamente al di sopra del rigo	e
      a contatto con esso (es.: lettere maiuscole);
      2)  caratteri che si posizionano anch'essi al di sopra del rigo  ma
      staccati da questo (es.: apostrofo e apici);
      3) caratteri che scendono al di sotto del rigo.
      Come  comunicare	al programma la giusta	posizione  del	carattere
      rispetto al rigo?  La soluzione adottata in Easy Fonts e` quella di
      disegnare tale rigo, cioe` sottolineare i caratteri con un rigo  di
      colore diverso (vedi il file EXAMPLE.PCX).  Per snellire il  lavoro
      si e` fatta la seguente assunzione: laddove il rigo non e` presente
      si  suppone che il carattere sia del primo tipo  (non  discendente,
      attaccato  al  rigo).   Questa categoria	e`  sicuramente  la  piu`
      numerosa:  solitamente  comprende tutte le  lettere  maiuscole,  le
      cifre  e molte lettere minuscole (a, b, c, d, e, f, ecc.), per  cui
      il  rigo	bisognera` disegnarlo solo per i caratteri del	2  e  3
      tipo,  cioe`  qualche  simbolo di punteggiatura  e  alcune  lettere
      minuscole  (g, j, p, q, y).  Il programma ricerca il rigo lungo  la
      quarta  colonna di pixel dell'immagine, cio` significa che  non  e`
      necessario disegnare righi molto lunghi: e` sufficiente che  questi
      righi  partano dal bordo sinistro dell'immagine e si estendano  per
      un  piccolo tratto (si veda EXAMPLE.PCX, un'immagine vale  piu`  di
      mille parole!).
	 Importante:  con  i caratteri del 2 tipo e` necessario  che  il
      rettangolo tracciato attorno ad essi sia abbastanza alto da  inclu-
      dere anche il rigo di riferimento (o il suo prolungamento immagina-
      rio) altrimenti il programma non trovera` tale rigo e  considerera`
      il carattere come appartenente al primo tipo.


      4.2.  Colori utilizzati

	 C'e` un secondo problema da affrontare, anch'esso facilmente ri-
      solvibile: permettere al programma di distinguere il colore dei ca-
      ratteri  dal colore del rigo e dal colore di fondo.   La	soluzione
      adottata e` semplice: come colore di fondo viene assunto il  colore
      del pixel posto nell'angolo inferiore destro dell'immagine,  mentre
      come  colore  per i righi viene assunto il colore di  un	pixel  in
      prossimita`  dell'angolo inferiore destro.  In pratica, questo  si-
      gnifica  che  bisogna disegnare un piccolo  rettangolo  nell'angolo
      inferiore destro e bisogna lasciare vuoto l'angolo inferiore  sini-
      stro (si veda sempre EXAMPLE.PCX).
	 Ovviamente, nel caso in cui l'immagine non contenga righi di ri-
      ferimento (caso di un font contenente solo lettere maiuscole),  non
      e` necessario disegnare il rettangolo colorato: e` sufficiente  la-
      sciare il colore di fondo anche nell'angolo inferiore destro, e  il
      programma si comportera` opportunamente.


      4.3.  Come creare l'immagine

	 Nel caso dei font TrueType si puo` usare qualsiasi programma  di
      grafica pittorica per Windows.  In altri casi una soluzione  sempre
      attuabile e` quella di visualizzare il font sullo schermo	e "cattu-
      rarlo" con uno screen grabber.



      5.  CARATTERISTICHE DEI FONT CHR

      5.1.  Dimensioni dei caratteri

	 I  caratteri di un font CHR non possono essere grandi a  piacere
      ma sono soggetti alle seguenti limitazioni:
      1) l'altezza max al di sopra del rigo e` di 64 pixel;
      2)  la distanza max  dal rigo in giu` (al di sotto del rigo) e`  di
      64 pixel
      3)  la larghezza max, incluso  l'interspazio (v. oltre), e`  di  64
      pixel.


      5.2.  L'interspazio

	 Lo standard prevede che insieme ad ogni carattere venga  codifi-
      cato anche l'interspazio, cioe` lo spazio tra il carattere in  que-
      stione  e quello che verra` scritto alla sua destra in una  stringa
      qualsiasi.  Tale interspazio si misura in pixel e, come gia` accen-
      nato, viene conteggiato nel computo della larghezza complessiva del
      carattere (max 64 pixel).
	 Il valore di default e` 4.  Tale valore e` adatto per	caratteri
      di  media  grandezza, mentre per caratteri molto	piccoli  o  molto
      grandi  puo`  essere necessario ridefinirlo per ottenere	una  resa
      estetica	migliore.   Poiche' e` possibile  modificare  rapidamente
      l'interspazio  dei  caratteri gia` definiti, conviene  operare  nel
      seguente modo:
      1)  si definiscono tutti i caratteri utilizzando	l'interspazio  di
      default;
      2)  si  osserva  il risultato usando i tasti  Show  Font	e/o  Show
      String;
      3)  se la spaziatura non e` soddisfacente, si selezionano  tutti	i
      caratteri con il tasto Select All e si inserisce il nuovo interspa-
      zio  con il tasto Interspace.  Il programma chiedera` se	il  nuovo
      interspazio deve essere utilizzato solo per i caratteri che verran-
      no  definiti in seguito o anche per tutti i caratteri  selezionati.
      Rispondendo Yes verra` modificato l'interspazio dei caratteri sele-
      zionati.
      4)  si ripetono le operazioni 2) e 3) fino ad ottenere il risultato
      desiderato,  poi	si torna alla finestra principale e si	salva  il
      font.
	 Il valore minimo per l'interspazio e` zero. Con questo valore si
      ottengono caratteri attaccati (e` utile per i font script).


      5.3.  L'header del font

	 Lo  standard CHR prevede la possibilita` di inserire  un  header
      contenente delle stringhe descrittive.
	 L'header dei font prodotti da Easy Font contiene 2 stringhe.  La
      prima  viene  immessa  dall'utente nella finestra  di  dialogo  che
      compare quando si preme il tasto "Save"; la seconda viene  aggiunta
      automaticamente	e  contiene  il  nome  del  programma  e   quello
      dell'utente.


      5.4.  Il nome del font

	 Il  nome di un font CHR e` soggetto a una  curiosa  limitazione:
      deve  essere lungo esattamente 4 caratteri, proprio come i nomi  di
      tutti  i	font forniti dalla Borland con i  suoi	compilatori  (non
      chiedetemi il perche'!).



      6.  COME REGISTRARSI

	 La versione registrata del programma (priva di limitazioni) puo`
      essere  acquistata  al prezzo di 49 dollari USA; per  chi  acquista
      anche la  versione Windows  di Easy Fonts, che  e` complementare, e
      non  alternativa, alla  versione DOS (v. paragrafo 7), e`  previsto
      uno sconto del 50% sulla versione DOS.
	 Il pagamento puo` essere effettuato tramite  bonifico  bancario,
      vaglia postale  o carta di credito.  Informazioni aggiornate  sulle
      modalita` di pagamento verranno inviate tramite e-mail su richiesta
      dell'interessato.
	 Gli utenti  registrati  ricevono  una password  che consente  di
      utilizzare il programma senza limitazioni. La password e` calcolata
      a partire dal nome dell'utente (max 20 caratteri).


      6.1.  Come inserire la password

	 Per  inserire la password e` sufficiente lanciare  il	programma
      con il solo parametro /R .  Verranno richiesti il nome  dell'utente
      e la sua password.  Queste informazioni vengono salvate in un  file
      EF.KEY nella stessa directory di EF.EXE.
	 Il nome dell'utente comparira` nell'header dei font prodotti.



      7.  LA VERSIONE WINDOWS DI EASY FONTS

	 E'  disponibile  anche una versione di Easy  Fonts  per  Windows
      (EFONTW21.ZIP).	Attualmente la versione Windows non ha le  stesse
      caratterische  di  quella  per DOS: la  versione	Windows  converte
      solo i font TrueType ma la conversione e` automatica e istantanea.



      8.  COME CONTATTARE L'AUTORE

	 Commenti e suggerimenti sono sempre graditi, anche se vengono da
      utenti  non registrati.   Qualora gli indirizzi seguenti  risultino
      obsoleti provate  a cercare "Pino Navato" con  Altavista, Yahoo!, o
      Google.


      I miei recapiti:

      E-mail:  pnavato@poboxes.com

      WWW:     www.poboxes.com/pnavato/ita.html
	       (attualmente rimanda a
		 www.geocities.com/SiliconValley/4421/ita.html)

      Tel.:    081.771.22.16

      Posta:   Pino Navato
	       Via Pittore, 164
	       80046 S.Giorgio a Cremano (NA)






			   *	 *     *     *	   *
