Reading, Writing and Printing in Greek
This page covers mainly UNIX systems which run some X-server.
This page is not limited to fonts but also includes pointers to programms of
interest to users who read and write in greek. There are
several resources online, but most of them are in the UK and Greece and
communications are very slow with these sites. This is why copies of some
of these resources are offered through HR-Net.
Table of Contents
Why do I see incomprehensible characters when I look at greek pages?
How to make an X-terminal show greek?gz
How to write greek (editing)
Greek filenames etc.
How to print greek
How to read or write email in greek
Other programs which work with greek
I still cannot see greek!!! What should I do?
Other sources of information on the subject of greek
Perhaps you know that a byte has 8 bits. Each bit can be 0 or 1,
so that you can have 256 different bytes. Traditionally, english plus punctuation,
control characters etc. occupies the first 128 combinations. The upper 128 ones are used
for various purposes. The International Standard ISO-8859-7, which almost coincides
with the Greek Standardization Organization (EL.O.T. 928), defines a certain
correspondence of greek characters with hexadecimal codes. Similarly, for western european
languages which need accents over e or a, or ~ over n etc, there are definitions
known as ISO-8859-1.
The result is that, for example, the code D0 seen in greek gives
, while with the Western-European standard it
For further information you can read the ISO.8859-1.FAQ and you can see the complete tables of the correspondence between hexadecimal codes and the greek and western european languages
Hrnet fonts. This is a
complete collection of fonts created by the HR-Net Group. It is ideal
for use with Mosaic, Netscape and the like, as it includes variable
and fixed width characters, italics, etc. They are offered for screen
resolutions of 75 dpi and 100 dpi. HR-Net offers complete instructions for installation and usage.
The HR-net fonts team thanks Angelos Haritsis for his help in
creating these fonts
This is a collection which is missing many font sizes although what is
included is nice and very legible. Because of the missing font sizes it is
not good for use with WWW browsers but it is OK for editing and terminal
reading. The creators of this collection have also written
gterm, a greek version of xterm. Unfortunately,
there are some problems with it, the principal one being memory
leaks. rxvt may be a better solution.
These are a complete collection of greek fonts for X11 and postscript,
created by Angelos Haritsis
The package includes installation instructions. The part of the fonts that
deals with X11 is installed in the same way as the other fonts. The postscript
fonts are installed by including their location in some appropriate
environment variable ( GS_FONTPATH for ghostview) or as a command line option for the program which needs to access them. A very practical use
for them is printing greek HTML pages. This has already been accomplished
but there are certain defects in the final result.
Fonts from the
National Technical University of Athens (NTUA). This collection
includes fixed width as well as Helvetica and Courier, with sizes 12 up to
18. Please check the
README file by Panagiotis Hristias.
The original is at Hristias fonts
The above font collections may be installed by following the general
installation instructions for X-windows fonts.
Having installed greek fonts, any program that runs under X will be
able to display greek as long as it can display 8-bit characters. This can
be done in the following two ways:
- Passing an argument of the type -fn or -font sc-elot14 from
the command line.
- Putting in a resource file (netscape.rsrc for example) lines like:
*documentFonts.latin1.fixed*family: grtt, and then saying at the command line:
xrdb -merge netscape.rsrc. When you run the program again it
will use the resources that you declared, therefore the greek fonts also.
If you want this to happen every time, you will have to put the command
xrdb -merge netscape.rsrc in your .xinitrc file. If
you are a superuser, you can put the resource file in the
Remote font server.
You may assume that you have
this problem if the command xset fp+ gives errors about
"parameter out of range" and gives you "opcodes of failed request."
If the font server runs on a different
machine than the one you are using
(remote font server), you cannot install fonts without having superuser privileges
or the cooperation of somebody with such privileges. Variations of this theme
are some problems with AFS, remote ligins, NIS and some old xdm, xterm and netscape problems.
For help and possible solutions please consult remote font
- Andrew file system .
If you are using the Andrew file system (AFS) then you must, in addition to the
usual Unix permissions (ugo-rwx), define special AFS permissions so that the X server
can access the new fonts. Specifically, you need to define "list" and "read"
permission for each font file (and the directory path as well). This can be done using
fs sa <grfonts> system:anyuser rl
replacing <grfonts> with the name of the directory where the
font files are (without <>).
Openwindows systems .
If you are using Openwindows you will need
SunOS and Linux allow 8-bit filenames.
You can use any Unix program if the shell you are running is
'8-bit-clean' like the latest tcsh versions and of course
if the programs themselves (say grep, awk etc. ) are
8-bit clean themselves. A combination of tcsh under Linux using
rxvt works with no problems. Actually, the only problem is in
ftp-ing or otherwise transferring your files to another machine which may
not have this functionality.
The emacs package
emacs greek-mode by Sarantos Kapidakis defines a 'greek-mode'
which is toggled using "ESC-G".
( greek-mode.el does not work with XEmacs. XEmacs is not emacs
under X11 , but another independent program.
If you are using XEmacs see
below for additional instructions)
greek-mode.el works irrespectively of whether you can see greek or not, since
all it does is to generate the 8-bit sequences corresponding to greek.
To see greek do not forget to say standard-display-european
which generally allows you to see 8-bit characters, from western european
languages. If you do not have this set you will be seeing codes like \345\374 etc.
The source is in Crete.
and the latest version of this package is at
and supports emacs version 19.34.
If you put the following line in your .emacs you will automatically load
greek-mode.el. This does not activate it automatically, so you do not loose
anything by doing this except a very small startup delay
(load "/yourpath/greek-mode" nil t)
If you run emacs in its own window, (and not under say xterm or rxvt)
you can place code like the following one in your .emacs
which places greek fonts in the emacs font menu.
You press left mouse and Control simultaneously, and you will see greek as
This also transparent to the user, and it means you do not need a separate
window for greek and non-greek text.
;;; Include greek fonts for Ctrl+Right-Mouse-Button
;; default fonts
;; greek fonts
("Greek Large" "g9x15")
("Greek Huge" "gallant.gr.elot.19")
This code can be customized easily to your particular fonts.
you use XEmacs and not emacs, insert the following line in
greek-mode.el, after the line reading (provide 'greek-mode)
around the top of the file:
(defvar standard-display-table nil "")
This will make the file incompatible with plain emacs, so if you need
to use both you'll have to copy greek-mode.el to, for
example, xgreek-mode.el before editing, and then use
greek-mode in emacs and xgreek-mode in XEmacs.
There is a greek vi, for which there are no sources
since the copyright belongs to some company (ATT perhaps?). This means
you can only run it on the machines for which it has been compiled.
viH.1 man page
and the executables for the various platforms are at
SunOS 4.1 ,
A very good implementation of vi for Greek users is viH . This is based on vim, and includes sources and executables for a variety of UNIX systems.
The author is Andreas Moshovos. This viH is not the same as
the previously mentioned.
ELVIS Elvis also handles greek. Unfortunately we do not have details
If you run rxvt (which replaces xterm without memory
leaks) you can say, for example, grep 'some greek text'
greek_file_name. When using rxvt you switch back and
forth between greek and latin alphabets by hitting the Right ALT
key (this can be modified via the Xmodmap program). rxvt does
Tektronix emulation like xterm. The original is at the U.K. :
You can put the following in your .Xdefaults or some
similar file. This will fix up for you the xterm font menu which you access
via CTRL+ right mouse.
*fontMenu.Label: VT Fonts
*fontMenu*fontescape*Label: Escape Sequence
Also here, you can customize at will. Do not forget that xterm allows only
6 preset options in this way.
One easy way is
It converts your greek text to postscript which can be printed as usual.
The original is at
From Manolis Lourakis we have a
greek-enabled version of the GNU enscript . Try it.
A more difficult way is to go through TeX/LaTex. See below.
How to print greek HTML, e.g. through netscape?
First you must have installed greek postscript fonts .
Then you say File|Save as Postscript from netscape for the
page of your interest.
The next stage is to change the initial declarations in the netscape-generated postscript codeso that for example, Times-Bold becomes GreekTimesBold and so forth.
Make sure that GS_FONTPATH includes your greek postscript fonts directory.
then via ghostview or ghostscript you can print.
Unfortunately the netscape-produced postscript is made for the sizes of
the ISO-8859-1 fonts.
We hope to fix this up soon.
Greek Typesetting, Especially with TeX/LaTex
Greek keyboard applications
xgrk by Spiros Ioannou
- Xgreek by HR-Net
If you use programs (Mail User Agents a.k.a. MUAs) like pine, elm, mail or mailx
that is, MUAs which run in a terminal box, then you do not have any display problems, since
you use xterm or rxvt font capabilities.
For example if you are in a rxvt window, when you give pine or mail, press
Right_Alt, thus entering the rxvt greek mode, and then you write greek.
If you use programs like mailtool or exmh , that is MUAs that open their own X-window
you will have at least the problem of how to write.
Especially under X11R6, you will not be able to put 'tonoi' because apparently X11R6
does not support dead keys. X11R5 apparently does.
A solution that I use is
Xmodmap which redefines the keyboard.
You need to have two keyboard definition files, one for greek and one for the latin alphabet.
Then, see how you can put in your window manager menus the commands for running xmodmap
with either one of the two definition files. You can also find the keyboard shortcuts.
I know how to set this up in fvwm , and here there are two example xmodmap files for a
PC keyboard. It is very easy to modify them for other keyboards. (They are based on
files by Rorris)
greek xmodmap and
As explained above, greek occupies the upper 128 positions in the 8-bit character table
Due to the US-American origin of the network, and since english does not require these
characters, these (with the eighth bit set to 1) have been used for parity checks,
and other special tricks. Also many email gateways, automatically strip the eighth bit
and then forward your message. Thus, there are things like uuencode in older times, and now
MIME, which convert your 8-bit message to a 7-bit representation that is not affected
by email gateways. All modern e-mail programs (pine and elm for example), do these conversions for outgoing
or incoming mail automatically. The classic mail does not.
Elm has the problem that it needs metamail as an external program.
Pine, exmh and Netscape have these capabilities incorporated.
In summary, you can send greek either directly in its 8-bit representation, with a certain
danger of content corruption, or in a MIME representation, which effectively can be done
with any program except plain mail.
In any case, e-mail in greek is much easier than you imagine. Try it!
In order to view your text you can use moreH.
The original is at moreH (Creta).
To correct your spelling mistakes use U.S. copy at ispellH. It comes with a
dictionary which will give you a good start.
The original is at ispellH (Creta).
Γιάννης Μήταλας and Νίκος Σερασκέρης made the necessary modifications to the ispell program, so that it can correct greek text too.
Their work is at greek ispell .
gr2gr.prl is a
PERL program which converts Greek between the ELOT 928 standard, IBM
code page 437, Macintosh, greeklish like what Cosmos-FM uses and so on. It
was written by Angelos Haritsis (firstname.lastname@example.org).
Instructions for Greek and Netscape
Greek Netscape Resources for Netscape 1.1:
The netscape.ad file modifies the strings that appear in
Netscape so that you have not only greek text in the document area but also
in the menus. You have to do the usual xrdb -merge
This is valid for Netscape up to version 1.12 only.
Of course you can use this as a model for the next versions..
From Japan, Multi-Localization Enhanced Mosaic (Great for multilingual users.)
You can change languages using menus as with Netscape version 2.0.
Unfortunately it does not handle tables very well, and it is really old now..
If you are using the hrnet fonts you can follow the
special instructions for their usage with
If you want to see alone what is happening, do not forget the
man command. Commands that have to do with fonts under
X-windows are the following: xlsfonts, xfd,
mkfontdir, xset . Read these pages.
If you get messages about "parameter out of range" or "opcodes of failed request" etc. from xset fp+ , make sure that you read Possible problems .
Write us on the
Bulletin Board . If you write us
we will ask you to run xset q . So, please enclose the output of
with your first message. This will tell us whether you have some variety of
the 'remote font server' problem. It is about 99% of the problems.
Please be as
specific as possible about the operating system you are using, the
procedure you followed, and the exact error messages (or other
unexpected behavior) you encountered. Include session scripts or
copies of the error messages if possible.
Do not forget to tell us what is your system. Use the dmesg
or the uname command.
Other Sources of Information on the Topic
HR-Net, 12 July 1998