*** empty log message ***
[dana/urxvt.git] / doc / README.greek
1                 -------------------------------
2                 rxvt support for greek keyboard
3                 -------------------------------
4
5                 A. Haritsis <ah@doc.ic.ac.uk>
6
7 rxvt supports both ELOT-928 (ISO-8859-7 standard) and IBM-437 keyboard
8 translations for greek character entry. It is possible to start rxvt windows
9 in any of the two translations, making it possible to use both translations
10 modes simultanesuly on the same screen! No need to convert your files back
11 and forth if you don't want to.
12
13 When in greek mode, type ; or : twice to emit the respective symbol.
14 No need to switch language mode back and forth!
15
16 rxvt ISO-8859-7 includes mappings for the following (usually forgotten):
17 anw teleia =  ;.
18 <<         =  ;<
19 >>         =  ;>
20   Also:
21 Copyright  =  ;c
22 Section    =  ;s
23
24 For Greek Elot-928 or IBM-437 keyboard for rxvt & X greek entry support
25 you will need to:
26
27 1) compile rxvt with an ANSI C compiler (eg gcc) as follows:
28
29    Use the  --enable-greek  option in  configure , or edit config.h and
30    define GREEK_SUPPORT
31
32    Then your rxvt executable with greek support should be created.  Install
33    it as you would do for the normal rxvt.  There is no need to change its
34    name.  It works fully as a normal rxvt but if you press the 'toggle'
35    keysym (see below) it will switch into greek translation mode.  The extra
36    memory it takes in less than 4 kBytes.
37
38 2) install greek elot & ibm437 fonts(s) for X-windows
39    eg.
40         cp a_greek_font.pcf.Z /usr/lib/X11/misc/
41
42    and ammend the fonts.dir and fonts.alias in /usr/lib/X11/misc/. Greek
43    fonts are available as a separate file which you can download from
44    sunsite (/pub/Linux/X11/misc/greek-xfont-pack.tgz).  A new release of a
45    FULL set of fixed (and proportional and Type1 for use by netscape etc)
46    can be found in the HCR archive - see at end).  I might upload them at
47    sunsite et all as well.
48
49 3) include the following in your X resources:
50         rxvt.font: grfixed      (or the name of your preferred greek font)
51         rxvt.bits: 8                            (default)
52         rxvt.greektoggle_key: Mode_switch       (default)
53
54    where grfixed is an alias for one of the elot-928 font in the pack.
55
56    Remember that the default keyboard translation is ELOT928.  If you need
57    to start rxvt with suppport for IBM437, use the command line of rxvt to
58    set mode & font (command line option -grk4 can do this).  Remember to use
59    an Elot font with the Elot translation mode and a 437 font with the
60    IBM437 mode.
61
62    You can choose any keysym you wish as the "toggler" greek_switch_keysym.
63    Choosing `VoidSymbol' will effectively _disable_ the greek keyboard.  
64    The default is keysym `Mode_switch'.
65
66    For XFree86 this is defined in the /usr/lib/X11/Xmodmap.* files as:
67         keycode 113 = Mode_switch  (it is the Right Alt key or ALtGr)
68    You may define it to be something else with a command like:
69
70         xmodmap -e "keycode ... = Mode_switch"
71
72    or changing your ~/.Xmodmap file (see xmodmap(1) and X(1) about this).  
73    I personally prefer the AltGr key on PC X terminals since it allows fast
74    switching. Of course this might not be liked by left-handed people.  You
75    can redefine it to whtever you like under X, but I would NOT recommend
76    keycodes that have other uses.
77
78 5) Not all programs are 8-bit clean -- ie, they sometimes strip the top bit
79    of a character which is essential for the greek fonts.
80
81    Unfortunately bash is one of these programs (at least I couldn't figure
82    out how to make it to work). Use tcsh instead: it is 8-bit clean.
83
84    You will generally need to include in your ...rc files:
85
86    For sh/bash:
87         LC_CTYPE=iso_8859_1; export LC_CTYPE
88         LESSCHARSET=latin1; export LESSCHARSET
89         
90    For bash to be 8-bit clean, add the following lines to ~/.inputrc:
91         set meta-flag on
92         set convert-meta off
93         set output-meta on
94
95    For csh/tcsh:
96         setenv LC_CTYPE iso_8859_1
97         setenv LESSCHARSET latin1
98
99 Still some applications will have problems.  Emacs has its own support for
100 greek characters achieved with the .el script written by sarantos@csd.uch.gr
101 (for 19.20 +).  It might be possible to have greek support via emacs
102 invocations with the -nw argument (with this version of rxvt) but I have not
103 tried it.  Elvis (vi clone) works fine.  I highly recommend vim version 3.15
104 and later.  I have added support for making native languge vi'ing very easy
105 (see langmap option). It's by far the most powerful vi (or maybe editor :-)
106 I have ever seen.
107
108 If some (terminal-based) applications do not work, please direct complaints
109 to their authors stating that you would like them to be 8-bit clean.
110
111 I will soon release a linux version of an 8-bit clean curses lib and
112 versions of some useful programs that work with it (eg ytalk).  Watch the
113 HCR archive.
114
115 Do not expect programs that are not running within an rxvt window to have greek
116 keyboard support. For this, it will be needed to change the Xlib so that it
117 supports 4-state FSMs (rather than only 2 - I do not count shift keys or caps
118 lock) for keyboard entry (required for greek keyboards).
119
120 And something amusing and (maybe) useful: some filesystems (including SunOS
121 and Linux filesystems -- haven't checked others) allow names with 8-bit
122 characters; so you can create files or directories with names containing
123 greek characters!
124
125 Enjoy,
126
127 Angelo Haritsis <ah@doc.ic.ac.uk>
128
129 For more greek related tools/fonts etc, have a look at the
130 HELLENIC RESOURCES ARCHIVE (HCR) : ftp://dolphin.doc.ic.ac.uk/pub/greek/
131 maintained by the above author.