|
Każde ustawienia językowe różne od oryginalnego amerykańskiego angielskiego mają dwa aspekty:
ISO-8859-8
.W hebrajskim jest o wiele więcej (pisanie od prawej do lewej, geometria w X-Windows itd.), ale to HOWTO (przynajmniej pierwszy szkic) zajmuje się tylko sprawami podstawowymi.
Więcej informacji znaleźć można w różnych "narodowych"
HOWTOs (German, Danish itd.) oraz w ISO-8859-1 HOWTO (
ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit
FAQ-ISO-8859-1).
Większość tego pliku pochodzi z pierwszego szkicu autorstwa Vlada Moseanu.
Dodane wyjątki z dokumentów z archiwum e-brew.zip z ftp://ftp.jer1.co.il/pub/software/msdos/communication, oraz kilka poprawek błędów z pomocą członków grupy JCT Linux-il.
Po pierwszym rozprowadzeniu Hebrew-HOWTO wśród Linux-il zawiera ono teraz wszystkie e-maile przysłane mi w związku z pisownią/gramatyką oraz TeX/XeT, Mule oraz vim.
To HOWTO
przygotowano z pomocą całej grupy Linux-il - "Grupa
Izraelskich Użytkowników Linuxa", a zwłaszcza:
Grupa Linux-il (Linux-il@hagiga.jct.ac.il)
Vlad Moseanu (vlad@actcom.co.il)
Gili Granot (gil@csc.cs.technion.ac.il)
Harvey J. Stein (hjstein@math.huji.ac.il)
Dovie Adler (dadler@hobbes.jct.ac.il)
Gavrie Philipson (gavrie@shekel.jct.ac.il)
Żeby wyjaśnić raz na zawsze jedną rzecz: nie ma czegoś takiego jak ośmiobitowe ASCII. ASCII to tylko siedem bitów. Każdy ośmiobitowy kod nie jest ASCII, ale to nie znaczy że nie jest standardem. ISO-8859-8 jest standardem, ale nie [jest równoważne] ASCII. Dziękuję!
Kodowanie znaków hebrajskich zaczyna się od 128 dziesiętnie (alef). Wymaga więc ono ośmiu bitów. Jest to to co ma się na EPROMach kart wideo jako czcionkę sprzętową [w Izraelu - przyp. tłum.] Wszystkie DOSowe edytory hebrajskiego używają tej tabeli (Qtext, HED itd.)
Kodowanie znaków hebrajskich zaczyna się od 224 (alef). Jest to standard internetowy, międzynarodowy i faktyczny standard MS Windows i Macintoshów (Dagesh itd.)
Jest to kodowanie ośmiobitowe i wyparte z użytku, ponieważ zajmuje zasadniczo ten sam przedział ASCII co angielskie małe litery. Najlepiej więc jest go unikać. Niemniej kiedy hebrajski w ISO utraci ósmy bit wskutek działania jakiegoś ignoranckiego unixowego mailera (tak że otrzymasz plątaninę angielskich liter dla hebrajskiej części listu zmieszaną z normalnym angielskim, odwróconym lub nie). Jeśli w liście mieszały się hebrajski i angielski, jest to przykra sytuacja, bowiem otrzymasz albo hebrajski z bałaganem, albo angielski z bałaganem...
Oto kilka prostych komend do konwersji z każdego standardu na inny:
DOS - ISO: tr '\200-\232' '\340-\372' < {dos_file} > {iso_file}
ISO - DOS: tr '\340-\372' '\200-\232' < {iso_file} > {dos_file}
OLD - DOS: tr -z '\200-\232' < {old_Hebrew_file} > {dos_file}
UWAGA: Numery używane przez tr
są w kodzie ósemkowym!
Każda dystrybucja Slackware dostarczana jest z kbd
; pakiet ten
zwany jest keytbls w Slackware (dysk a4 w wersji 2.3.0 - kbd 0.90). Joel
Hoffman dostarczył hebrajskie czcionki i układy klawiatury ze swojego
oryginalnego pliku codepage.tar.Z. Zajrzyj do
/usr/lib/kbd/consolefonts
i poszukaj plików iso08.* (czcionki w standardzie ISO-8859-9, dostosowany
jest do nich układ klawiatury).
Wsadź poniższe linie do /etc/rc.d/rc.local
:
-----
#!/bin/sh
# Wstaw tu swoją lokalną konfigurację
#
INITTY=/dev/tty[1-6]
PATH=/sbin:/etc:/bin:/usr/sbin:/usr/bin
#
# kbd - Ustaw czcionkę na konsoli i układ klawiatury
# ustaw NumLock i tryb metabitu na konsolach od /dev/tty1 do 6
for tty in $INITTY
do
# setleds -D +num < $tty > /dev/null
setmetamode metabit < $tty > /dev/null
done
# ISO-8859-8 (klawiatura i konsola)
setfont iso08.f16
mapscrn trivial
loadkeys Hebrew
# zezwól na odzworowywanie
for tty in $INITTY
do
echo -n -e "\\033(K" >$tty
done
-----
UWAGA: Jeśli używasz X Windows bądź ostrożny używając setleds
,
może to spowodować zawieszenie się X-serwera.
Powyższe ustawienia działają bez zarzutu z hebrajską wersją pico i pine, i wyświetlają poprawny hebrajski w ISO-8859-8 (X Windows, MS Windows).
XFree86 3.1 dostarczany jest z dwoma [bitmapowymi] czcionkami hebrajskimi: heb6x13 i heb8x13. Dodatkowe czcionki znaleźć można w sieci:
dosemu
pod X-Windows (przeczytaj tamtejszy
plik README).
/usr/lib/X11/fonts/misc
) lub stwórz nowy
(/usr/lib/X11/fonts/Hebrew)
. Użyj compress
(.Z, NIE GZIP!) by
spakować czcionki, dla zaoszczędzenia miejsca.
mkfontdir
by (prze)tworzyć plik fonts.dir
i
popraw fonts.alias
(opcjonalne) definiując nowe aliasy.
mkfontdir
nie działa. Musisz dodać
odpowiednie wpisy do fonts.dir
ręcznie lub użyć narzędzia type1ins,
dostępnego na mirrorach SunSite - dop. tłum.]
Krótko mówiąc, musisz ustawić odpowiedni zasób.
Wstaw poniższą linię do $HOME/.Xresources:
lub po prostu uruchom xterm poprzez xterm -fn heb8x13
. Powyższa
czcionka jest o wiele za mała, więc poszukaj lepszej... patrz uwagi
co do startu X11.
Zwykle użyć możesz czcionek hebrajskich z
snunit-project, Zainstaluj je
tak jak opisano, a potem wstaw poniższe wartości domyślne
do swojego lokalnego .Xdefaults
, bądź do app-defaults/Netscape.
----
*documentFonts.latin1.variable.italic*slant: r
*documentFonts.latin1.variable.boldItalic*slant: r
*documentFonts.latin1.variable*family: web
*documentFonts.latin1.fixed*family: webmono
*documentFonts.latin1*registry: iso8859
*documentFonts.latin1*encoding: 8
----
Ogólnie rzecz biorąc, możesz wstawić dowolną czcionkę zamiast powyższych tak długo jak obsługuje ją X11, tak jak opisano.
Z jakiegoś powodu X-serwer nie dziedziczy układu klawiatury z poprzedniego paragrafu [tj. z konsoli - dop. tłum.], a zresztą i tak wolałbym przezdefiniować lewy Alt, prawy Alt i ScrollLock. Naciśnięcie Alt razem z jakimś klawiszem da znak hebrajski, ScrollLock zaś ustawi tryb hebrajski na stałe.
By tego dokonać użyjemy xmodmap
. Poniższe jest plikiem .Xmodmap
,
który poprawia również błędy dotyczące klawisza NumLock.
-----
! Hebrajski układ klawiatury dla XFree86 (dla klawiatury amerykańskiej)
! Vlad Moseanu
!
keysym Alt_L = Mode_switch
keysym Alt_R = Mode_switch
!clear Mod1
clear Mod2
!add Mod1 = Alt_L
add Mod2 = Mode_switch
!
! Przyporządkuj wartości każdemu klawiszowi
!
keycode 8 =
keycode 9 = Escape
keycode 10 = 1 exclam
keycode 11 = 2 at
keycode 12 = 3 numbersign
keycode 13 = 4 dollar
keycode 14 = 5 percent
keycode 15 = 6 asciicircum
keycode 16 = 7 ampersand
keycode 17 = 8 asterisk
keycode 18 = 9 parenleft
keycode 19 = 0 parenright
keycode 20 = minus underscore
keycode 21 = equal plus
keycode 22 = Delete
keycode 23 = Tab
keycode 24 = q Q slash Q
keycode 25 = w W apostrophe W
keycode 26 = e E 0x00f7 E
keycode 27 = r R 0x00f8 R
keycode 28 = t T 0x00e0 T
keycode 29 = y Y 0x00e8 Y
keycode 30 = u U 0x00e5 U
keycode 31 = i I 0x00ef I
keycode 32 = o O 0x00ed O
keycode 33 = p P 0x00f4 P
keycode 34 = bracketleft braceleft
keycode 35 = bracketright braceright
keycode 36 = Return
keycode 37 = Control_L
keycode 38 = a A 0x00f9 A
keycode 39 = s S 0x00e3 S
keycode 40 = d D 0x00e2 D
keycode 41 = f F 0x00eb F
keycode 42 = g G 0x00f2 G
keycode 43 = h H 0x00e9 H
keycode 44 = j J 0x00e7 J
keycode 45 = k K 0x00ec K
keycode 46 = l L 0x00ea L
keycode 47 = semicolon colon 0x00f3 colon
keycode 48 = apostrophe quotedbl comma quotedbl
keycode 49 = grave asciitilde semicolon asciitilde
keycode 50 = Shift_L
keycode 51 = backslash bar
keycode 52 = z Z 0x00e6 Z
keycode 53 = x X 0x00f1 X
keycode 54 = c C 0x00e1 C
keycode 55 = v V 0x00e4 V
keycode 56 = b B 0x00f0 B
keycode 57 = n N 0x00ee N
keycode 58 = m M 0x00f6 M
keycode 59 = comma less 0x00fa less
keycode 60 = period greater 0x00f5 greater
keycode 61 = slash question period question
keycode 62 = Shift_R
keycode 63 = KP_Multiply
!keycode 64 = Alt_L Meta_L
keycode 65 = space
keycode 66 = Caps_Lock
keycode 67 = F1
keycode 68 = F2
keycode 69 = F3
keycode 70 = F4
keycode 71 = F5
keycode 72 = F6
keycode 73 = F7
keycode 74 = F8
keycode 75 = Escape
keycode 76 = F10
keycode 77 = Num_Lock
keycode 78 = Scroll_Lock
keycode 79 = KP_7
keycode 80 = KP_8
keycode 81 = KP_9
keycode 82 = KP_Subtract
keycode 83 = KP_4
keycode 84 = KP_5
keycode 85 = KP_6
keycode 86 = KP_Add
keycode 87 = KP_1
keycode 88 = KP_2
keycode 89 = KP_3
keycode 90 = KP_0
keycode 91 = KP_Decimal
keycode 92 = Sys_Req
keycode 93 =
keycode 94 =
keycode 95 = F11
keycode 96 = F12
keycode 97 = Home
keycode 98 = Up
keycode 99 = Prior
keycode 100 = Left
keycode 101 = Begin
keycode 102 = Right
keycode 103 = End
keycode 104 = Down
keycode 105 = Next
keycode 106 = Insert
keycode 107 = Delete
keycode 108 = KP_Enter
keycode 109 = Control_R
keycode 110 = Pause
keycode 111 = Print
keycode 112 = KP_Divide
!keycode 113 = Alt_R Meta_R
keycode 114 = Break
!
! Tego pliku .Xmodmap używać można dla ustawienia prawidłowej klawiatury
! numerycznej przy ustawieniu ServerNumLock w pliku XF86Config. W tym
! wypadku obsługą NumLock zajmuje się X-serwer.
!
!
keycode 136 = KP_7
keycode 137 = KP_8
keycode 138 = KP_9
keycode 139 = KP_4
keycode 140 = KP_5
keycode 141 = KP_6
keycode 142 = KP_1
keycode 143 = KP_2
keycode 144 = KP_3
keycode 145 = KP_0
keycode 146 = KP_Decimal
keycode 147 = Home
keycode 148 = Up
keycode 149 = Prior
keycode 150 = Left
keycode 151 = Begin
keycode 152 = Right
keycode 153 = End
keycode 154 = Down
keycode 155 = Next
keycode 156 = Insert
keycode 157 = Delete
-----
Aby używać powyższego .Xmodmap
zdefiniuh "Scroll-Lock Mode-Lock
" w XF86Config
.
Jeśli używasz xdm, plik $HOME/.xsession powinien wyglądać jak niżej:
-----
#!/bin/sh
# $XConsortium: Xsession,v 1.9 92/08/29 16:24:57 gildea Exp $
#
# General defs
#
export OPENWINHOME=/usr/openwin
export MANPATH=/usr/local/man:/usr/man/preformat:/usr/man:/usr/X11R6/man
#export HOSTNAME="`cat /etc/HOSTNAME`"
export PATH="/bin: /usr/bin: /usr/X11/bin: /usr/X386/bin: /usr/TeX/bini: /usr/local/bin: /usr/games:."
LESS=-MM
if [ -z $XAPPLRESDIR ]; then
XAPPLRESDIR=/usr/lib/X11/app-defaults:/usr/local/lib/X11/app-defaults
else
XAPPLRESDIR=$XAPPLRESDIR:/usr/lib/X11/app-defaults
fi
export XAPPLRESDIR
#
sysresources=/usr/lib/X11/Xresources
sysmodmap=/usr/lib/X11/Xmodmap
resources=$HOME/.Xresources
xmodmap=$HOME/.Xmodmap
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
if [ -f $resources ]; then
xrdb -merge $resources
fi
if [ -f $xmodmap ]; then
xmodmap $xmodmap
fi
#
# Uruchom aplikacje
#
# xterm -ls -sb &
xhost + # uważaj !!!
exec fvwm
-----
Jeśli wolisz startx
, użyj powyższego jako przykładowego .xinitrc
.
Po więcej szczegółów zajrzyj do ISO 8859-1 HOWTO.
Stwórz plik $HOME/.inputrc zawierający co następuje:
-----
set meta-flag On
set convert-meta Off
set output-meta On
-----
Zdefiniuj co następuje w pliku $HOME/.login lub /etc/csh.login:
setenv LANG iw_IL.ISO8859-8 (lub iw_IL)
Ponieważ jednak binarna wersja tcsh
jest faktycznie skompliowana
bez NLS, zmienną LANG można ustawić dowolnie i nadal będzie ona działać
(nie ma potrzeby tworzenia /usr/lib/nls...).
Pine i towarzyszący mu edytor pico zostały przerobione przez Helen Zommer z CC-huji; adres e-mail do zgłaszania błędów to pineh-bug@horizon.cc.huji.ac.il. Można je ściągnąć z ftp://horizon.cc.huji.ac.il/pub.
emacsa
18.58 i pakiet w
elisp
. Działa w porządku, ale nikt już dziś nie używa emacsa
18.*.
Można go zdobyć z
ftp://archive.cis.ohio-state.edu/pub/gnu/emacs/elisp-archive/misc/Hebrew.tar.Z.emacsem
19.*. Osiągalny z
ftp://archive.cis.ohio-state.edu/pub/gnu/emacs/elisp-archive/misc/Hebrew.el.Z.emacsa
- MULE (MultiLingual Emacs) obsługuje
wiele języków, w tym hebrajski. Kompiluje się i działa pod Linuxem
bez żadnego problemu. Jest to pełny emacs
, z obsługą hebrajskiego
i pisaniem w obie strony. Można go uzyskać z
ftp://kelim.jct.ac.il/pub/Hebrew
Dla dosemu
na WK możesz użyć swojej czcionki hebrajskiej z
EPROMu karty graficznej, a jeśli jej nie masz, istnieje cała masa
DOSowych czcionek hebrajskich z obsługą od EGA do VGA.
Co do X-Windows, powinieneś zdobyć plik ftp://sunsite.unc.edu/pub/Linux/X11/fonts/hebxfonts-0.1.tgz. Zawiera on kilka czcionek, w tym jedną zwaną vgah.pcf, która powienieneś zainstalować w swoim katalogu z czcionkami jak opisano powyżej
Istnieje pisane od podstaw przeniesienie zwykłego xterma na użytek
z hebrajskimi czcionkami (XHTerm = xterm + obsługa hebrajskiego).
Wersja dla Suna udostępniona została z pomocą Danny'ego
<tt>danny@cs.huji.ac.il</tt>. Jewgienij ma jakąś łatę do używania
tej wersji pod Linuxa. Razem z jego wersją powinieneś znaleźć już
skompilowany XHTerm dla X11R5 oraz X11R6. xhterm
używać powinieneś
z opcją -fn
i hebrajską czcionką
jak opisano! Wersję Danny'ego (dla Suna) uzyskać można z
ftp://ftp.huji.ac.il/pub/local/xhterm,
a połatana wersja Jewgienija Stambulczika znajduje się w
ftp://plasma-gate.weizmann.ac.il/pub/software/linux.
Zdobądź ją stamtąd, a otrzymasz z nią pięć
czcionek: [heb10x20.pcf, heb6x13.bdf, heb6x13.pcf,
heb8x13.bdf, heb8x13.pcf]
Największym problemem z TeXem po hebrajsku jest to że znaki powinny
biec w tył względem widoku (tj. pico powinien wstawiać znaki od prawej
do lewej), tak więc najlepszą rzeczą jest zdobycie XHterm plus zwykły
emacs
i pisanie hebrajskim od lewej do prawej, a także do tyłu.
Nowsze dystrybucje NTeXa na SunSite (v. 1.5) zawierają wszystko, w tym
TeX--XeT, skompilowany dla Linuxa. Zdobyć go można z
ftp://sunsite.unc.edu.gz/pub/Linux/apps/tex/ntex.
Starszą wersję TeX--XeT uzyskać można z
ftp://noa.huji.ac.il/tex.
Tą starszą wersję trzeba jednak zrekompilować (niepolecane).
Te wydania TeXa działają dobrze jeśli używasz LaTeXa 2.09. Jeśli chcesz
używać LaTeXa 2e (bieżący standard, de facto), masz problem. Alon Ziv
(alonz@csa.cs.technion.ac.il) pracuje obecnie nad obsługą
hebrajskiego w LaTeX 2e, z użyciem systemu Babel. Nie znam obecnego
stanu prac - zapytaj go!
Nie ma co dużo mówić: jeśli masz zwykłą drukarkę igłową ASCII (ktoż dzisiaj ma?) jest spora szansa że w EPROMie są hebrajskie znaki. Jeśli używasz postscriptu, powienieneś załadować czcionki do drukarki (zawsze możesz użyć do tego czcionek sieciowych wspomnianych powyżej. Czcionek tych można także używać z GhostScriptem.
Jeśli masz drukarkę PCL (LaserJet itd.) możesz użyć albo kasetek z czcionkami, albo GhostScriptu.
Obsługa hebrajskiego dla X Windows i Motifa, produkt El-Mar Software, która dodaje funkcjonalność hebrajską do wielu części i warstw X Windows i Motifa, w tym Xlib, wszystkie widgety Motifa, hterm (hebrajski xterm), dema i proste pożyteczne aplikacje (np. dwujęzykowy edytor oparty na Motif), czcionki (w tym skalowalne Type1), menedżera klawiatury uwzględniającego hebrajski oraz push-mode dla aplikacji nie-Motifowych itd. Mimo wprowadzenia wielu nowych cech i wariacji widgetów Motiffa, obsługa ta nie modyfikuje w żaden sposób wewnętrznej struktury danych Motifa, tak więc instniejące aplikacje, skompilowane i złączone w środowisku i bibliotekami niehebrajskimi można przełączyć (bez rekompilacji!) i uruchamiać z hebrajskim (dzielone biblioteki można zastępować, więc nawet przełączenie nie jest potrzebne!) Używając innego naszego narzędzia, Motif/Xplorer, możesz wziąć aplikacje komercyjne (bez źródła) i przetłumaczyć je na hebrajski. Takim sposobem dodano obsługę hebrajskiego do Oracle Forms 4, Kappy i OMW Intellicorpu, CA-Unicenter i wielu innych szeroko używanych narzędzi Unixowych sprzedawanych w Izraelu. Produkt ten zakupiła i zastosowała większość sprzedawców stacji roboczych (dziewięciu z nich, w tym najwięksi: Sun, HP, SGI), i wiele innych firm wytwarzających oprogramowanie. Pliki makefile istnieją na ponad 30 platform i systemów operacyjnych. Wierzymy tylko w "otwarte" oprogramowanie, tak więc wszyscy klienci otrzymują kompletny kod źródłowy. Posiadamy dobre stosunki z przodującymi siłami w tym przemyśle, w tym z działami technicznym X-Consortium oraz COSE.
Eli Marmor
El-Mar Software Ltd.
Tel.: 050-237338
FAX: 09-984279
marmor@sunshine.cs.biu.ac.ilPS. Zapowiedź obsługi arabskiego w X Windows i Motifie spodziewana jest w styczniu [1996]. Angielski, hebrajski i arabski obsługiwane będą ośmioma bitami (!), wliczając w to pełny zestaw znaków arabskich.
Hosting by: Hurra Communications Sp. z o.o.
Generated: 2007-01-26 18:02:23