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