Author: Raphael Finkel. email (without the underscore), web.
Table of contents: Choices | Issues | Fonts | xterm | Yudit | Vim | AbiWord | mule | emacs | KDE | Summary | References |
Choices
To write Yiddish in Unix, you have these choices:
This note concentrates on ways to do the latter. You really want to use
Unicode in the long run, because it allows you to combine multiple languages
into one document, and it defines presentation format, in particular,
bidirectional layout.
Issues
include/X11/keysymdef.h, which comes with X distributions; it
defines Arabic, Thai, Hebrew, and other keysyms. The Hebrew list is missing
the special Yiddish characters.
I don't recommend you play with Hebrew or Yiddish keysyms; the keysym values
are X-Windows specific and don't correspond to Unicode.
However, some applications (such as xterm) understand a keysym of the form
0x100XXXX as the Unicode UCS-2 character XXXX.
Applications can apply further mappings, and that is usually what you want.
Fonts
In Unix, you will be using the X-Windows System. I recommend you get
Markus Kuhn's fonts if you don't already have them in your X-Windows
distribution. They are present in X11R6.4.
The
-misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1 font
has my modifications to make it complete and legible for Yiddish.
xterm
Versions of xterm since 2000 understand UTF-8. You can get
xterm and compile it
yourself if you need; you should stipulate
./configure --enable-wide-chars.
Limitations/bugs:
xterm does not have any BIDI support. It composes
characters by simple overprinting unless it can find a precomposed character.
It puts precomposed characters in the cut buffer, not post-composed, as it
should.
Supporting file:
You might want to add this information to your
~/.Xdefaults file to support (1) a nice Unicode font (at "medium"
font size, and (2) a keyboard encoding for Yiddish (enable/disable with the
Mode_switch key).
yudit
Gaspar Sinai's Yudit editor allows you to edit
UTF-8 text. Here is a screenshot.
I have built a keyboard
mapping for it that is part of the distribution. This mapping has a
multiple-key
front-end processor, so you can type "sh" if you want a shin. The
Yiddish mapping also inserts shtumer alef after a space before certain vowels.
Yudit also works with my XIM.
Yudit has its own truetype-font display engine, so you don't have to have one
in your X11.
Yudit has internationalization, so you can have all editor messages
presented in Yiddish.
Yudit does true BIDI display.
You will need to set your ~/.yudit/yudit.properties file
to have lines something like this:
You might want the
Cyberbit font.
It is missing a few characters, which you can get by adding
CyberBitMods to the font paths.
You might also want the caslr font,
although it is not as pretty for Yiddish.
Yudit is capable of generating PostScript output.
There is a version of Yudit that runs on Win32 platforms that you can find
here.
Brief Win32 installation instructions:
(1) Run the executable you download to install the program (its name matches
this pattern:
yudit.default.language=yi
yudit.editor.font=iso10646
yudit.editor.fonts=arial,cyberbit,iso10646,caslr
yudit.editor.fontsize=20 |
yudit.editor.fontsizes=10,12,14,16,20,24
yudit.editor.input=Yiddish
yudit.editor.inputs=straight,unicode,Yiddish,Russian,German
yudit.font.arial=arial__h.ttf,cyberbit.ttf
yudit.font.caslr=caslr.ttf
yudit.font.cyberbit=cyberbit.ttf,CyberBitMods.ttf
yudit.font.iso10646=-misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1
yudit.editor.fonts=arial,cyberbit,iso10646,caslr
yudit*.exe.
(2) Install the bitmap fonts by running the program that matches this pattern:
bitmap_fonts*.exe.
(3) Using any text editor, modify
Program Files\Yudit\Config\yudit.properties as follows:
yudit.datapath=C:\Program Files\Yudit\data
yudit.fontpath=C:\WINNT\FONTS [for Win2000]
yudit.fontpath=C:\WINDOES\FONTS [for Win98]
Vim
Bram Moolenaar's Vim editor is a freeware
version of the ever-popular vi editor; it runs fine on both Unix and Win32.
Starting with version 6.0, it
has pretty good support for Unicode and Yiddish. Use it along with xterm (as
above) or in gvim mode (bypassing xterm) to get the full benefit.
Here is a screenshot of the gvim interface.
You don't
need the special character mapping stuff for xterm; use a Vim keymap instead.
Put these commands in ~/.vimrc:
You will want to know about the following commands:
set fileencodings=cp1255,utf-8 guifont=8x13bold encoding=utf-8
filetype plugin on
syntax on
If you plan to mix languages,
I suggest you use multiple windows, one with rtl turned on, the other without.
Limitations/bugs:
Vim does not have any BIDI support and is unlikely to get any.
Supporting file:
Get this file and untar it in your home directory.
It includes spellcheck for Romanized and Unicode Yiddish and keyboard macros (a
full front-end processor) for Unicode Yiddish. It requires version 6.0 at
least.
Read the README file (it has instructions for Unix and for Win32).
:set rl sets mode in current window to RTL
:set norl sets mode in current window to LTR
:set keymap=yi switches to the Yiddish keymap
:set encoding=utf-8 allows Vim to output well to your UTF-8 enabled xterm
<control-^> toggles foreign-language input mode.
AbiWord
AbiWord is a full-featured (eventually) word processor, not just a text editor.
It uses XML as its preferred file format, but it can import and export
formatted files and text files in Unicode.
The most recent versions of
the AbiWord word processor handle
BIDI. They also can do Hebrew letter-shaping, which means that final letters
are automatically generated, but the resulting file then contains medial, not
final letters; leave this feature turned off.
AbiWord has versions for Unix, MacOS, and Win32; all have similar look and
feel.
Here is a screenshot.
Much of the following is obsolete; AbiWord is a quickly moving target. It is tricky to set up the fonts for AbiWord for Unix/X-Windows.
/usr/share/AbiSuite/fonts), you need to build a
subdirectory utf-8.
arial.ttf.
ttmkfdir in that directory (find ttmkfdir
here).
This program extracts font names from your ttf files and builds
fonts.scale.
fonts.scale, make one new line for each font (there
will likely already be several with slightly different coding names).
On this new line, set the coding, which is the -iso suffix, to say
iso10646-1.
This suffix says "I am a Unicode font".
mkfontdir in that directory.
This program builds fonts.dir, which X-Windows needs to understand
the contents.
/usr/share/AbiSuite/bin,
run
ttfadmin.sh /usr/share/AbiSuite/fonts/utf-8 ISO-10646-1.
This program establishes auxiliary files *.u2g and *.t42 for each font.
AbiWord needs those auxiliary files to understand the fonts.
/etc/XF86Config), you need to have
Load "type1" Load "xtt"in the "Module" section. If you have to add those lines, you need to restart X-Windows to have the changes take effect.
yi.utf-8.
The
.utf-8 part indicates what font set to use. The
first part says, "I prefer Yiddish throughout".
encoded text,
and then select UTF8 encoding in the resulting dialog.
xmodmap and
switch between English and Yiddish maps. However, this technique requires that
you use multiple keystrokes to get vowels on an alef or lines above a beys or
any other multiple-utf8 character. I can give you the relevant xmodmap files
and a small tk program that lets you alternate among them.
xset fp- /usr/share/AbiSuite/fonts/ and
xset fp- /usr/share/AbiSuite/fonts/utf-8/.
I am working on a spelling checker for AbiWord/Yiddish. I have spelling check files; ask me for details. The following problems currently exist:
mule
Mule 2.3 is an extension to the Gnu emacs 19.28 editor. It does not support
unicode, but it does support various language-specific code pages. It uses its
own peculiar "junet" file format for multilanguage files. I advise you to
avoid it.
emacs
There is an experimental (10/2003) version of emacs that handles UTF8 and
reportedly handles BIDI fairly well; it is at
http://www.m17n.org/emacs-bidi/.
Emacs is a full-featured editor, but it takes a lot of effort to learn it.
KDE
KDE 3 is an "environment", including a window manager and many applications.
Its word-processing application is called KOffice. KOffice supports BIDI and
various encodings, including Unicode.