                  The Greek fonts of the cbgreek bundle


Copyright  1999--2004 Claudio Beccari

The programs contained  in  this  bundle  can  be  redistributed  and/or
modified   under   the   terms  of  the  LaTeX  Project  Public  License
Distributed from CTAN  archives in directory macros/latex/base/lppl.txt;
either version 1 of the License, or any later version.


The cbgreek bundle comprises the METAFONT files necessary to create  the
tfm  (TeX  font  metrics) and the pk (raster) files in order to use such
fonts for the composition of Greek text.   The PostScript fonts are also
available on CTAN and are partly maintained  by Apostolos Syropoulos and
partly by Claudio Beccari;  these fonts come in the form of a collection
of PFB  files  together  with  a  cbgreek.map  file  that  contains  the
information  to be  added to  the psfonts.map file or to be added to the
files that the various configuration files read in.

This collection of fonts forms  a  complete  set of families, series and
shapes, at least in the sense as the EC fonts by  J.  Knappen  do;  even
wider,  because the cbgreek bundle includes also the outline family that
is not available with the EC fonts.

The names of the fonts  are  formed  (similarly  to the EC fonts) with a
string comprising four letters and four digits:


lllldddd.mf      lllldddd.tfm      lllldddd.pk         (lllldddd.pfb)

but, differently from the  EC  fonts,  the  four  letters  have  special
meanings:

1) the first letter is always "g" to remind the word Greek
2) the second letter identifies the family:
   r: regular
   s: sans serif
   t: typewriter type
   l: font for slides
   o: outline
3) the third letter identifies the series:
   m: medium
   b: bold
   x: bold extended
   t: monospaced
   i: invisible (proportional) font for slides
   j: invisible (monospaced) font for slides
   w: invisible bold extended font for slides
4) the fourth letter identifies the shape:
   n: normal
   o: oblique (or slanted)
   i: italic (or cursive)
   u: upright italic
   c: caps and small caps
   l: leipzig
   r: roman (serifed lower case letters)
   a: for sans serif italic upright fonts with a variant shape for epsilon
   e: for sans serif italic fonts with a variant shape for epsilon
      (see below).

Not  every  family  has  all  shapes  and  series,  as, for example, the
monospaced family lacks the  bold  extended  series, and the slides font
family lacks  the  "serifed"  normal  series;  in  total  there  are  74
(predefined) combinations.

The  digits represent the design size multiplied by 100, rounded to four
digits and left padded with zeros;  a  design size of 5pt corresponds to
0500; a design size of 19.907pt corresponds to 1990 or 1991 depending on
what you decide (I prefer 1991).

The standard sizes for normal text typesetting are:

5pt 6pt 7pt 8pt 9pt 10pt 10.95pt 12pt  14.4pt  17.28pt  20.74pt  24.88pt
29.86pt 35.83pt

At least these are the sizes declared in the T1????.fd files.

For what concerns the slide fonts, the standard sizes, as defined in the
corresponding fd files, are:

13.82pt 16.59pt 19.907pt 23.89pt 28.66pt 34.4pt 41.28pt

although with the EC fonts  the  "normal"  default font is specified for
several other smaller sizes used only in mathematics.  The standard size
is 19.907 pt, and this is where I prefer to specify 1991  as  the  digit
sequence  of  the corresponding font name. The New Font Selection Scheme
NFSS used by LaTeX won't  complain  and  will  chose the four digit font
closest to the one it requires; the NFSS issues a warning  message  only
when the discrepancy is significant.

Sans serif italic shapes. It has been noticed  that all families but the
Sans Serif  one  have the italic  shape  that contains  an epsilon glyph
resembling to the mathematical "contains" symbol, while all other shapes
contain an epsilon glyph that resembles a "3" sign flipped left to right.
In order to meet the demand for a uniform  behavior of all families, but
maintaining  the necessary  compatibility  with the past situation, four
new series/shape combinations have been added that meet the above demand.
These new combinations have the literal part of their names as such:

      gsme: sanserif italic with variant epsilon
      gsxe: sanserif bold italic with variant epsilon
      gsma: sanserif italic upright with variant epsilon
      gsxa: sanserif bold italic upright with variant epsilon

These new series/shape combination may be used in the following ways:

a) incompatible way: substitute the above names respectively to the names
   gsmi, gsxi, gsmu, and gsxu in the lgrcmss.fd file; in this way you
   systematically replace the pre-existing series/shape combinations with
   the new ones. This setup might result incompatible with other people
   setups and may be used only if you never exchange documents with other
   writers without a previous agreement on the non standard .fd files.

b) compatible way; you define two new shapes to be used in alternative
   to the standard ones, say ite and uie to match the standard it and ui.
   You add the relevant lines to the lgrcmss.file copying the lines with
   the standard shapes and modifying the shape indication as indicated above.
   You may actually create your non standard extension in an alternate font
   description file, say lcmcmsse.fd, that must be accompanied by a sty file
   where you define the user commands for using such shapes. See the
   fntguide.dvi documentation, that come with every distribution of the
   TeX system for further details, that in any case let you chose the
   definitions and the shortcuts you prefer. Remember: this solution is
   Compatible in the sense that the extension can be sent to any partner
   by means of the \begin{filecontents}{filename}...\end{filecontents}
   facility provided by LaTeXe.

As anybody can verify  in  the  /knappen/ec  branch of the TeX directory
tree, the number of EC fonts specified by  the  four  letter-four  digit
scheme  is  tremendous, because METAFONT requires the full name in order
to generate every font.

The cbgreek bundle does not contain all such font driver files for every
usable font for three reasons:
1) Apostolos Syropoulos  already  produced  them  in  the  sense that he
produced a LaTeX script that generates all the necessary  driver  files;
this  LaTeX  script  is  available  in  the  same  location  of the CTAN
archive.
2) The users  of  MS-DOS,  Windows  3.x,  Windows  9x  with a FAT16 file
allocation table may get in trouble with disk occupation if they had all
those small font driver files (more or less 900 files).
3) Most, if  not  all,  driver  files  can  be  downloaded from the CTAN
archives as they are already available there.

I managed to have such driver files reduced to only one statement,  i.e.
all those font driver files contain just the line

input cbgreek

You can add comments before and/or after that only line, but that is the
only  line  that  METAFONT  and the font driver file require in order to
generate both the tfm and  the  pk  files.  Therefore  if you are one of
those unfortunate FAT16 users, you might as well generate yourself  just
those driver files you really need.

As an example suppose you want  to generate the regular medium normal 10
point Greek font: you just create one file  containing  only  the  above
magic  line  and  you  save it in a folder searched by METAFONT with the
name

grmn1000.mf

Afterwards you run (directly or indirectly) METAFONT and your tfm and pk
files get generated with the proper extensions and possibly are moved to
the proper directories/folders.

If you use one of those TeX systems that generates the necessary tfm and
pk  files on the fly, you only need to prepare the mf files as described
above; if  you  have  available  the  makeTeXtfm  (or  maketfm)  and the
makeTeXpk (or makepk) applications/executables, once  you  have  created
the above simple file grmn1000.mf, you might create the tfm and pk files
directly by issuing such commands as

makeTeXtfm grmn1000      or           maketfm grmn1000

and

makeTeXpk grmn1000       or           makepk grmn1000

and  if  your system is well configured you get the desired files in the
correct directories/folders without any more work.

For creating PBF PostScript fonts either you download them directly from
CTAN, or, if you need other  sizes not already provided for by Apostolos
or by me,  you need  sophisticated  software (although  freely available
from the Internet) and must  learn its use so as to get  the best out of
it.


The cbgreek fonts have already been used to typeset a number of books in
Greece and  the  newsletter  "Eutupon",  which  is  the  bulletin of the
Hellenic Association of the Friends of TeX. The BABEL version 3.7 should
have  these  fonts as the default ones. Nevertheless no guarantee of any
kind can be given  concerning  the  fitness and merchantability of these
fonts for any specific task; you use  them  as  they  are  and  you  are
responsible  of  the  results  you  get.  At  the same time criticism is
welcomed so that new versions may satisfy more users.

As long as I can, I try  to maintain these fonts; address your criticism
and your suggestions to

claudio.beccari@polito.it

and I see what I can  do  in  order  to  satisfy the largest part of the
Greek typesetting community.

========================================================================

In order to use these fonts with  LaTeX2e you should resort to the babel
package  and  invoke  the  greek  language,  possibly  among  the  other
languages you use in that particular document; in the  latter  case  the
last  named  language  is  the  default one. The babel support for Greek
includes several .sty files, the greek font  definition  files  and  the
Greek  language  description file. Once you have all these files and you
have configured your TeX system  for  typesetting Greek text, you do not
have to worry about anything else but writing your text.  All  the  font
selection  commands  keep working as with the Latin alphabet (except you
have also the possibility  of  using  the  outline family of fonts, that
is not standard with latin fonts); size, shape, series  and  family  are
changed  exactly  with the same common commands you use with Latin text,
even {\em ...} or \emph{...}.

Of  course,  if  you want to have correctly hyphenated text, you have to
edit the file  language.dat  so  as  to  add  Greek  to the other loaded
hyphenation patterns, and you must run initex so  as  to  produce  a new
latex.fmt   format   file;   the   details   vary  between  the  various
implementations of the TeX system,  therefore  you  have to find out the
details on your documentation.

Babel offers  two  flavors  of  greek;  if  you  specify  greek  in the
command

\usepackage[...,greek,...]{babel}

you are set for typesetting with modern monotoniko spelling,  where  you
use  only the acute accent and no spirits (breathings); on the opposite,
if you want to typeset classical (or  katareuousa)  Greek,  you  specify
polutoniko greek as in

\usepackage[...,greek,...]{babel}
\languageattribute{greek}{polutoniko}

and  you  can  typeset  with  the  whole  set  of  accents, spirits, and
subscripted or adscripted iotas.

You  select  the  language  you   want   by   means   of   the   command
\selectlanguage{greek}  or  you  can  input  a  citation  in a different
language by  means  of  the  command \foreignlanguage{greek}{....}. Read
the general babel  documentation  for  more  specific  environments  and
read  the  Greek  support  documentation file for finding out how to map
the Greek characters on a  Latin  keyboard  and what you can actually do
with the babel support for Greek.

Happy LaTeXing!

     ===================================================================

Acknowledgments

I  have to thank many people and I can't list all of them here, but some
are so important that I have to specify:

Silvio Levy produced the first Greek font files I started with; if I had
to start from scratch my fonts wouldn't even exist.

Yannis Haralambous wrote other METAFONT files after those of Levy; I got
suggestions also from Yannis files. He gave me also very fine advice and
suggestions, for which I thank him in a special way.

Jorge Knappen produced the EC fonts  from  which I got the whole idea of
extending that approach to the Greek fonts; for  compatibility  reasons,
therefore,  I  extracted  his  METAFONT  interpolation routines from his
files and put them  in  the  file  cbspline.mf;  the merit of generating
fonts of any size between 5pt and 99.99pt comes directly from Jorge.

Apostolos Syropoulos, the president of the Hellenic Association  of  the
Friends  of  TeX  assisted  me  with patience and countless suggestions,
criticism and time spent in  testing  the various versions of the fonts.
He also was the first one who dared using my fonts, and, he told me,  he
started with the slides for  a  speech  he  gave some years ago, when no
other Greek slide fonts were available.  He also wrote the  experimental
versions  of the BABEL extensions for the Greek language and defined the
font definition files that go with version 3.7 of BABEL.

Dimitri Filippou tested my  fonts  and  sent  me a conspicuous number of
suggestions and criticism  for  which  I  thank  him  very much. He also
"forced" me to produce the Leipzig Greek fonts; he  cooperated  in  this
task revising the different glyphs several times; he spent a lot of time
helping  me  with  these  fonts;  without his help these fonts would not
exist. Later on he helped me with  the revision of  the sans serif fonts
and revised every single lower case glyph in this family. Again a lot of
thanks.


The many unknown Hellenic Friends of TeX who, with the intermediation of
Apostolos,  let me know the bugs of the METAFONT code I wrote, so that I
could correct it and possibly eliminate such bugs.

 ===========================================================================

File list:

1) METAFONT CODE USED BY THE ALL THE FONT DRIVER FILES

cbaccent.mf
cbbase.mf
cbdigits.mf
cbgreek.mf
cblig.mf
cbligit.mf
cbligsc.mf
cbligtt.mf
cblower.mf
cbpunct.mf
cbspline.mf
cbupper.mf

2) METAFONT CODE USED BY SPECIFIC BASE FONT DRIVER FILES

glic.mf     glii.mf     glin.mf     glio.mf     gliu.mf
gljc.mf                 gljn.mf     gljo.mf
glmc.mf     glmi.mf     glmn.mf     glmo.mf     glmu.mf
gltc.mf                 gltn.mf     glto.mf
glic.mf     glii.mf     glin.mf     glio.mf     gliu.mf
glwc.mf     glwi.mf     glwn.mf     glwo.mf     glwu.mf
glxc.mf     glxi.mf     glxn.mf     glxo.mf     glxu.mf
gmtr.mf
gomc.mf     gomi.mf     gomn.mf     gomo.mf     gomu.mf
goxc.mf     goxi.mf     goxn.mf     goxo.mf     goxu.mf
grmc.mf     grmi.mf     grmn.mf     grmo.mf     grmu.mf     grml.mf     grmr.mf
grxc.mf     grxi.mf     grxn.mf     grxo.mf     grxu.mf     grxl.mf     grxr.mf     grbl.mf
gsmc.mf     gsmi.mf     gsmn.mf     gsmo.mf     gsmu.mf     gsme.mf     gsma.mf
gsxc.mf     gsxi.mf     gsxn.mf     gsxo.mf     gsxu.mf     gsxe.mf     gsxa.mf
gttc.mf     gtti.mf     gttn.mf     gtto.mf     gttu.mf


Turin, 2nd of August 2004
