Next Previous Contents

4. 设定 X Windows - XFree86 3.1

4.1 希伯来文字型

XFree86 3.1 含有两种希伯来文字型: heb6x13 和 heb8x13. 你可以从网上找到其它字型:

4.2 安装字型

4.3 在 X-Windows 应用程序中使用希伯来字型.

简单来说, 你需要做一些设定.

Xterm

在 $HOME/.Xresources 中加入以下句子:

xterm*font: heb8x13

或直接以 xterm -fn heb8x13 启动 Xterm. 上面所提供的字型非常地小, 请另寻一个更好的... 请参考关于启动 X11 的意见与范例.

Netscape

一般来说, 你可以使用 snunit - webfonts 的字型, 按照 此处所指示 进行安装, 并在你的 .Xdefaults 目录或是 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
----
一般来说, 任何 如在此处所述, 为 X11 所支持的字型 (除了 webfonts 之外) 都可以被接受.

4.4 对应键盘字元.

因为某种缘故, X 伺服器并不会继承上篇所述的 keymap; 不过没关系, 因为我也打算要另外定义左 ALT, 右 ALT, 和 Scroll Lock 键. 当 ALT 和某个键被一起按下, 就会产生希伯来文字元; Scroll Lock 会将键盘锁定在希伯来文输入模式.

我们必须使用 xmodmap. 接著我们需用 Xmodmap 来更正使用 "Num Lock" 的 bug.

-----
! (美式/希伯来语键盘用) XFree86 的希伯来语 key mapping
! 作者: Vlad Moseanu
!
keysym Alt_L = Mode_switch
keysym Alt_R = Mode_switch
!clear Mod1
clear Mod2
!add Mod1 = Alt_L
add Mod2 = Mode_switch
!
! 为每个键做 mapping
!
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
!
!万一 XF86Config 中有设定 "ServerNumLock" 键, 这个 xmodmap 文档可以用来设定正确的数字键对应表.
!在这种情况下, Xserver 负责 Num Lock 的处理.
!
!
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
-----

欲使用上述的 Xmodmap, 请在 XF86Config 中定义 "Scroll-Lock Mode-Lock".

4.5 整合以上所有的文件内容, 以及范例.

如果你使用 xdm, 那么你的 $HOME/.xsession 应会看起来像这样:

-----
#!/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
#
# Start applications
#
# xterm -ls -sb &
xhost +                 # look out !!!
exec fvwm
-----

如果你偏好使用 startx, 请在 .xinitrc 中使用以上的设定.


Next Previous Contents