HR-Net - Hellenic Resources Network Compact version
Today's Suggestion
Browse through our Interesting Nodes on the United States of America
HomeAbout HR-NetNewsWeb SitesDocumentsOnline HelpUsage InformationContact us
Thursday, 26 May 2016
  Latest News (All)
     From Greece
     From Cyprus
     From Europe
     From Balkans
     From Turkey
     From USA
  World Press
  News Archives
Web Sites
  Interesting Nodes
  Special Topics
  Treaties, Conventions
  U.S. Agencies
  Cyprus Problem
  Personal NewsPaper
  Greek Fonts

[English] [ASCII Greek] [Elot928 Greek]

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
  • Problems, exceptions
  • 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

    8-bit characters

    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 [PI] , while with the Western-European standard it gives [D]

    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

    How to make an X-terminal show greek

    1. 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
    2. greekXfonts 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.
    3. postscript fonts 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.
    4. 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:

    1. Passing an argument of the type -fn or -font sc-elot14 from the command line.
    2. 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 app-defaults directory.

    Possible Problems

    • 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 servers etc.

    • 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 the command
      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 different instructions.

    How to write in greek

    • 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 greek-mode.el , 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 an option, 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
      (setq x-fixed-font-alist
        '("Font menu"
           ;; default fonts
           ("fixed" "fixed")
           ("Unreadable" "nil2")
           ("Tiny" "5x7")
           ("Small" "6x10")
           ("Medium" "7x13")
           ("Large" "9x15")
           ("Huge" "10x20")
           ;;  greek fonts
           ("Greek Large" "g9x15")
           ("Greek Huge" "")
      This code can be customized easily to your particular fonts.


      If 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 , OSF , Convex , HP , linux .
    • 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
    • Greek rxvt.210 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 not have Tektronix emulation like xterm. The original is at the U.K. : rxvt.210 (U.K.)
    • xterm X-resources 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*fontdefault*Label:    Default
      *fontMenu*font1*Label: g9x15
      VT100*font1: g9x15
      *fontMenu*font5*Label:  9x15
      *VT100*font5:           9x15
      *fontMenu*font6*Label:  10x20
      *VT100*font6:           10x20
      *fontMenu*fontescape*Label:     Escape Sequence
      *fontMenu*fontsel*Label: Selection
      *Title: ellhniko"

      Also here, you can customize at will. Do not forget that xterm allows only 6 preset options in this way.

    Greek filenames and directories

    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.

    How to Print Greek

    • One easy way is a2ps. It converts your greek text to postscript which can be printed as usual. The original is at a2ps (Creta).
    • ENSCRIPT 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

    How do I send or read e-mail in greek?

    Greek keyboard applications

    1. xgrk by Spiros Ioannou
    2. Xgreek by HR-Net (requires wish)
    3. xmodmap
      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

      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 US xmodmap

    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!

    Other programs that work with greek

    • 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 (
    • Netscape Instructions for Greek and Netscape
    • Greek Netscape Resources for Netscape 1.1: The 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 these browsers.

    I still cannot see greek!!! What do I do?

    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
     xset q
    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
  • Back to Top
    Copyright © 1995-2003 HR-Net (Hellenic Resources Network). An HRI Project.
    All Rights Reserved.