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. |