           FONTS AND TYPESETTING MACROS FOR THE COPTIC LANGUAGE
                        Version 0.2 2005/04/11

LEGAL STUFF

Copyrights: METAFONT files: S. Rosmorduc 1995 and C. Beccari 2004
            other files: Claudio Beccari 2004-2010

This work may be distributed and/or modified under the conditions of the
 LaTeX Project Public License, either version 1.3 of this license or (at your
 option) any later version. The latest version of this license is in

                 http://www.latex-project.org/lppl.txt

 and version 1.3 or later is part of all distributions of LaTeX
 version 2003/12/01 or later.

The METAFONT files listed below were originally prepared in 1995 by Serge
Rosmorduc and were under the GNU Public Licence; they have been completely
reorganized and the fonts themselves were enriched with many additional glyphs;
although the work of the original author is here fully acknowledged, due to
these enhancements and the different structures and names, these files are now
under the LPPL licence.

This work has the LPPL maintenance status "not maintained".

This work consists of the following files

      README         this file
      coptbase.mf    METAFONT macros
      copto.mf       driver file for Ordinary (upright) Coptic fonts
      copti.mf       driver file for Inclined (slanted) Coptic fonts
      testcop.tex    source LaTeX file for testing macros and for showing macro
                     usage
      testcopOK.pdf  output pdf file with my results
      coptic.sty     extension LaTeX package with some useful macros
      copto.tfm      TeX metric file for font copto
      copti.tfm      TeX metric file for font copti
      lcopcoptic.fd  LaTeX font definition file
      copto.pfb      PostScript font binary file for font copto
      copti.pfb      PostScript font binary file for font copti
      copthyph.tex   hyphenation patterns for the Coptic language



PURPOSE

This bundle of source METAFONT files, PostScript fonts and LaTeX files is an
experimental work for typesetting in Coptic language.

Some solutions and macros derive from Cristiano Pulone.


INSTALLATION

The installation process is a little hacker like, but whoever uses this package
is a volunteer in experimenting it. Therefore s/he must be familiar with
his/her TeX system installation and directory structure. I assume you are
working with a modern installation and that it is compliant with the TeX
Directory System (TDS). Independent from the platform and operating system you
are using, you should have at least two more-or-less identical directory
structures, one platform wide and one user dependent. Generally the system wide
one is rooted in some place such as /user/share/texmf or C:\texmf; the user
dependent structure should be rooted in ~/texmf or in C:\localtexmf. These
roots are just examples; they may vary from installation to installation, but
the important point is that there is at least two roots from which spring up
the two trees of TeX directories. I'd suggest you to use the local/user tree.
This structure very often does not contain all the branches and leaves of the
system wide tree, so it may be necessary to add directories and subdirectories
by hand simply by mimicking the system wide structure. In the following I use
the UNIX syntax for directories and I assume that .../ stands for whatever
precedes the following directory name in the particular directory tree of your
choice.

Put copthyph.tex in .../tex/generic/config and be sure to have in this
directory also the file language.dat. Edit the latter file by adding this
line:

coptic copthyph.tex

(I suggest to place it in alphabetical order)

Put the *.mf files in .../fonts/source/local/coptic; put the *.tfm files in
.../fonts/tfm/local/coptic; put the *.pfb files in
.../fonts/type1/local/coptic; put the *.sty and *.fd files, testcop.tex and
testcopOK.pdf in .../tex/latex/local/coptic; if you like the idea you can save
this file README in .../doc/tex/latex/local/coptic. It might be a good
idea, especially for keeping at hand the mappings and ligatures for typesetting
Coptic text with a Latin keyboard.

At this point refresh the file name data base; the system command might be
texhash or you might need to click on a Option Wizard button depending on your
installation.

Refresh the psfonts.map file; for this task it's possible  that yopu
need to locate and configure an updmap.cfg file before recreating the
psfonts.map file, but this depends on your installation. Before
refreshing the psfonts.map file you should add the following two lines

copti TeX-copti <copti.pfb
copto TeX-copto <copto.pfb

to a file, be it and existing file where your local and personal
postscript fonts are listed or a new file that you may name coptic.map;
in the latter case you have to add this file name to the updmap.cfg
file before refreshing the system wide psfonts.map file.

Some TeX distributions resort to a .../fontname/special.map file where
for each font name the directory and subdirectory are listed where the
tfm and pk files should be moved by the local programs dedicated to the
automatic creation of these files. If your system uses such special.map
file I suggest you add these two lines

copto       local       coptic
copti       local       coptic

to a local copy of special.map ("local copy" means the one that is in the
local tree; if there is none, copy the one in the system wide tree to the local
tree and edit the latter one).

Now you need to recreate format files at least for latex and pdflatex;
check your installation characteristics, because since the beginning of
2004 the official motor for TeX related material is e-TeX and its
initializing versions, while modern installations dating before 2004
still use TeX. If you use MiKTeX the MiKTeX Options wizard is
compatible with the inner workings and you don't have to fear any
trouble. Some simpler installations might have a command-line texconfig
command that does the whole work for you, others require using the command 
line command fmtutils with proper arguments. In any case you have
to recreate the format files in order to exploit the facilities offered
by the Coptic hyphenation patterns. Remember, though, that they are
experimental; they probably do an acceptable job, but they are very 
far away from perfection.

At this point you should be ready to test your installation. If you latex
testcop.tex you should verify that the run is executed without errors; your dvi
previewer should let you preview the output, keeping in mind that on its first
run it will spend a few seconds for generating the pk files according to your
system configuration.

You should test also by running pdflatex on testcop.tex and preview the result
with your favorite pdf document viewer; this program should let you verify if
the type1 Coptic fonts have been effectively been loaded. Actually this
information, should your viewer be incapable of displaying the font
information, is available at the end of the textcop.log file where the loaded
fonts are listed; if there appears the indication copto.pfb everything is OK;
if there is copto.pk or copto.600pk, this means that the psfonts.map file has
not been generated correctly; review your steps and check with your TeX
installation idiosyncrasies for what concerns font maps; some modern
installations that do not belong to the last generation require the listing of
several map files within the configuration files of dvips, of pdftex, and of
dvipdfm. In case edit these configuration files accordingly.

If your dvi and pdf output is identical to the one contained in testcopOK.pdf
then you probably successfully installed all the parts of this bundle.


MAPPINGS AND LIGATURES

I am not aware of the existence of any keyboard driver under any operating
system that allows direct keying of Coptic characters. I am aware that there is
a group working on the definition of a Coptic Standard Character Code (CSCC);
information is available at the internet address

http://www.copticchurch.net/coptic_fonts/

This group is also producing several variants in ttf format.

I did not chose to follow the indications set forth by this group for several
reasons:

1) I started with the fonts created by Serge Rosmorduc that were not complying
with the proposed standard;

2) I decided to stick to the first 128 positions of the ANSI table, so as to
minimize the TeX and LaTeX related material and as to avoid the necessity of an
input encoding;

3) the main application of Rosmorduc fonts, I assumed, was for philological
works, therefore I omitted the arabic numbers and many if not all punctuation
marks altogether; this means that such signs, if necessary, should be typeset
with regular Latin fonts.

May be my choices are wrong, but let's not forget this work is at an
experimental stage, possibly even a pre-alpha one; may be in a future release I
might change mind. Nevertheless since it is at a usable stage, I decided to
make it available to the Coptic philologists who are using LaTeX.

The idea is that one should be capable of typesetting Coptic text using a Latin
keyboard. As far as I know the only macro variant that is difficult to typeset
with a US keyboard is \° (requested by Cristiano Pulone); it is true that the
"degree" symbol appears in most European keyboards, but in case, the alias
command \0 has been devised that produces the same result.

The different lower and upper case Coptic glyphs are obtained with the
following Latin keys; some glyphs are obtained by a sequence of two Latin keys.

  dec.ASCII  name                   command
       code
         21  "trema"                \"
         22  "emdash"               \char22 (actually not used...)
         33  "threepoints left"     \trepun
         34  "threepoints right"    \trepuntd
         35  epsi                   ps
         36  Epsi                   Ps or PS
         40  Thida                  81
         41  exi                    ks
         42  Exi                    Ks or KS
         43  phi                    p1
         44  Phi                    P1
         45  "hyphen"               -
         46  "period"               .
         47  hori                   h1
         48  Hori                   H1
         50  hori akh               h2
         51  ti                     tj
         52  Ti                     Tj or TJ
         53  "crux"                 \Crux
         54  Hori akh               H2
         56  thida                  8
         57  i-trema                \"i
         58  "very short dash"      \° or \0
         59  djandja                dj or d1
         60  Djandja                Dj or DJ or D1
         61  "double sloping dash"  \=
         62  em (`m)                \'m
         64  en (`n)                \'n
         65  Alpha                  A
         66  Bida, Vida             B
         67  Cima                   C
         68  Dalda                  D
         69  Ei                     E
         70  Fei                    F
         71  Gamma                  G
         72  Ita                    H
         73  Iauda                  I
         74  Hei                    Hj or HJ or J
         75  Kabba                  K
         76  Laula                  L
         77  Mi, Mei                M
         78  Ni, Nei                N
         79  O                      O
         80  Pi, Pei                P
         81  Shima                  Q
         82  Ro                     R
         84  Tau                    T
         85  Ue                     U
         86  "crucicula"            \crucicula or V
         87  Omega                  W
         88  Chi                    X
         89  Shei                   Y
         90  Zida                   Z
         91  "open bracket"         [
         93  "closed bracket"       ]
         96  "grave accent"         \' (notice the apostrophe instead
                                        of the back tick)
         97  alpha                  a
         98  bida, vida             b
         99  cima                   c
        100  dalda                  d
        101  ei                     e
        102  fei                    f
        103  gamma                  g
        104  ita                    h
        105  iauda                  i
        106  hei                    hj or j
        107  kabba                  k
        108  laula                  l
        109  mi, mei                m
        110  ni, nei                n
        111  o                      o
        112  pi, pei                p
        113  shima                  q
        114  ro                     r
        115  "ligatures"            s
        116  tau                    t
        117  ue                     u
        118  ue-trema               \"u
        119  omega                  w
        120  chi                    x
        121  shei                   y
        122  zida                   z

Notice the following:

1) \' is an accent macro; it can superimpose the grave accent over any letter.
The apostrophe instead of the back tick was chosen because some keyboards miss
the latter key. At the same time apparently the acute accent is not used
except, perhaps, for marking the tonic accent in grammars and the like; it is
possible that in the future a true acute accent and its macro will be
introduced, but at this stage it is not considered essential. At the same time
the sequences \'m and \'n do not behave as accent macros generally do, but
produce directly the accented glyphs (where the accent is not centered but is
at the left margin of the letter box) and do not  block of the hyphenation
mechanism

2) Several glyphs are obtained with a ligature mechanism that involves two
keystrokes; there are also some alternative choices. The hyphenation patterns
behave correctly in their presence, whatever ligature is chosen.

3) The hyphenation patterns were created by myself, a perfect ignorant of the
Coptic language; I suppose they have to be corrected, but this will take time
and the feedback from Coptic philologists; I suppose there aren't too many out
there among LaTeX users; nevertheless...

4) In spite of the presence of hyphenation patterns, the frequent use of
diacritical marks (especially the over line mark) produces frequent
unsatisfactory results, especially overfull lines.


TYPESETTING MACROS

The file coptic.sty contains the necessary definitions for inputting some
special glyphs. The macros are the following:

1) \H and \h replace the corresponding ligatures for Hori and hori; they are
defined for compatibility with the copte.sty definitions by Rosmorduc; I
immagine they are less comfortable than the corresponding ligatures also
because they require at least a space after, or a couple of braces around, or a
\   (\space) at the end of the word.

2) \= over lines a single letter (without braces) or a group of letters
enclosed in balanced braces; \=m\=t\=r is not the same as \={mtr}; in the
latter case the letters are over lined by a continuous line, while in the
former each letter has its own over line with a small gap (the inter letter
space) interrupting the over lines.

3) \" is the diaeresis or trema macro that superimposes a trema over any
letter; with i and u it produces the accented glyph and this avoids the
hyphenation interruption.

4) \' accent macro for the grave accent.

5) \° and its (intruding) alias \0 introduce a very short dash used to separate
certain particles that carry a specific grammatical meaning in Coptic. It is a
good point where to break a line, if necessary, and this is done in a
completely automatic way. The ordinary key ":" (without quotes) produces the
same short dash, but does not allow line breaking.

6) \+ introduces a double short inclined dash between two parts of a word; line
breaking is not allowed at this double dash, but the macro allows line breaking
in the two partial words. The same sign can be introduced with the key "="
(without quotes), but hyphenation is prohibited in both word segments.

7) \trepun and its alias \threedots introduce a magic sign made up of three
dots forming an equilateral triangle; the vertex is at the left and the base
lies vertically at the right; if this sign is to be typeset by itself (which I
suppose is always the case) it must be written \trepun\ .

8) \trepund produces a similar glyph, but the triangle vertex is on the right.

9) \sic is a macro that receives an argument over which the tiny sized word
"sic" (without quotes) is superimposed.

10) \dubbio with its English alias \dubious is a macro that receives one or more
words as its argument; this string is over braced and a tiny sized question
mark is centered on the top of the whole construction. Obviously the whole
string cannot be hyphenated and may produce overfull (line) boxes. Since this
material is quite tall, in order to maintain a decently homogeneous base line
skip it is better to typeset the whole document with a \linespread value of
1.4.

10) \barretta under marks with a short vertical little bar the letter that
constitutes its argument; generally it is a djandja but it can be any letter.

11) \asterisco and its English alias \Asterisk (notice the capitalization)
introduce a large centered asterisk.

12) \Crux introduces a special symbol similar to a raised extra-deep ro with a
bar across the descending stroke. An isolated \Crux sign must be typeset as
\Crux\  .

13) \crocetta with its Latin alias \crucicula introduces a small cross that is
frequently found in liturgical Coptic texts.

14) \iesus (to be written \iesus\  as an isolated symbol) is a shorthand
abbreviation in liturgical Coptic texts replacing the name \textcoptic{Iecuc}.

15) \xcr (to be written \xcr\  as an isolated symbol) is a shorthand
abbreviation in liturgical Coptic texts.

16) \xc (to be written \xc\  as an isolated symbol) is a shorthand abbreviation
in liturgical Coptic texts replacing the name \textcoptic{Xrictoc}.

17) \djois(to be written \djois\  as an isolated symbol) is a shorthand
abbreviation in liturgical Coptic texts replacing the name \textcoptic{Djois}.

It is possible that in the future more abbreviations of "nomina sacra" are
introduced, but this requires feedback from the Coptic philologists out there.

Most important of all there are the following specific commands for shifting
from Latin to Coptic script and viceversa.

1) \texcoptic typesets with Coptic fonts and coptic hyphenation its argument;
the aliases \texcopte and \textcopto remain for backward compatibility

2) \textlatin typesets in Latin characters its argument; hyphenation rules are
not changed; in order to use the correct Latin encoding it is necessary that
the package coptic.sty is not loaded before another package that changes the
default font encoding; coptic.sty memorizes the encoding in force at the moment
it is loaded and that encoding is assumed to be one of the Latin encodings,
such as OT1 or T1; should the whole document be typeset with the main language
being Greek or Russian, \textlatin will typeset its argument respectively with
the Greek or the Cyrillic alphabet if coptic.sty is loaded after a language
selection such as, for example, \selectlanguage{greek}.

3) \begin{coptic} ... \end{coptic} is an environment where Coptic text may be
introduced that shall be typeset with the Coptic font and hyphenation. For
backward compatibility this environment may be called also copte or copto.

4) Within the scope of \textcoptic or the environment coptic commands such as
\textit or \textsl keep their meaning, although both resort to the same
inclined Coptic font.

IMPORTANT REMARK

There is no babel Coptic language definition file, at least for now. When
the Coptic language is invoked only its alphabet and its hyphenation rules are
used, but it is not the same as specifying a coptic option to the babel
package; this means that commands such as \selectlanguage{coptic} DO NOT WORK.

CONCLUSION

I will not maintain the files of this bundle but I may add more glyphs to the
fonts and or add more macros or new files. I do not pretend to be the only one
who has the privilege of controlling the development of this bundle.

There are many things that remain to be done; a non exhaustive list is the
following:

1) Hyphenation patterns are complete in the sense that they include all the
couples of any two letters of the Coptic alphabet, but they are far from exact;
many combinations never appear in real Coptic texts, and I suppose many of the
remaining meaningful ones are wrong. Feedback from the Coptic philologists is
needed.

2) More magic signs and more nomina sacra are required.

3) The fonts themselves require fine tuning with proper kerning information; at
the present stage this is almost totally missing.

4) Many  macros for typesetting real philological marks may be borrowed from
the extension package teubenr.sty, but since they are meant for typesetting
of marked up Greek texts, the philological marks may not be adequate for the
Coptic fonts.

So, you see, there is a lot to be done, and the above list is just the
beginning. Nevertheless this bundle is already usable and the brave ones who
will try it might suggest some corrections and improvements. In this case write
e-mail messages to

claudio dot beccari at gmail dot com.

Not necessarily I will acknowledge receipt of your message, but as much as I
can, in my free time, I might set your suggestions on the TO-DO list, and maybe
I might even release further versions of this bundle with your suggestions
really implemented. If somebody wants to take over, just let me know: you are
welcome.

In 2010 Elie Roux, whom I thank very much, produced a coptic.sty correction for eliminating any refernece to non ASCII characters; therfore the command \¼ still exists, but the character ¼ is referneced by its ANSI code. This, according to Elie, allows using the UTF8 input encoding. In any case the alias \0 is always there.

Claudio Beccari
