3. 天城文输入和输出设置

3.1. Linux 控制台

天城文字符在 Linux 控制台中无法正确显示。然而,NCST 开发了 ncst-term(X Window 系统中的终端模拟器程序),它支持在将击键发送到 ncst-term 中运行的应用程序之前将其转换为 UTF-8,并支持显示应用程序输出为 UTF-8 字节序列的 Unicode 字符。

3.2. X Window 系统

你需要在你的XF86Config-4文件中进行一些更改(通常位于/etc/X11/目录)。一个示例配置文件XF86Config-4.indix随 IndiX 系统一起安装。此文件可以在/etc/X11/目录中找到。

3.2.1. 天城文字体

OpenType 是最适合正确渲染任何印度文字的字体格式。IndiX 系统附带一个名为 "raghu" 的 OpenType 字体,用于印地语。任何人都可以免费使用和分发此字体。你可以在/usr/X11R6/lib/X11/fonts/TrueType/目录中找到。

安装印度字体

为了安装印度字体,你必须以 root 用户身份登录。已知 X 字体服务器 (xfs) 在 IndiX 系统中存在一些问题,因此请将其从 X 服务器的 FontPath 中删除。这可以通过修改你的XF86Config-4文件中实现(通常在/etc/X11/)并在 Files 部分注释掉该行并添加/usr/X11R6/lib/X11/fonts/TrueType/到当前的 FontPath。

之后,FontPath 应该看起来类似于这样
  FontPath   "unix/:7100"
  FontPath   "/usr/X11R6/lib/X11/fonts/misc"
  FontPath   "/usr/X11R6/lib/X11/fonts/100dpi"
  FontPath   "/usr/X11R6/lib/X11/fonts/75dpi"
  FontPath   "/usr/X11R6/lib/X11/fonts/TrueType"
  FontPath   "/usr/X11R6/lib/X11/fonts/Type1"
接下来,为了使用你拥有的 OpenType 字体,请在启动时加载 "freetype" 模块。你可以通过在XF86Config-4文件的 Module 部分添加以下行来实现。
  Load "freetype"
确保你也在 Files 部分指定模块搜索路径。
  ModulePath "/usr/X11R6/lib/modules/fonts"
  ModulePath "/usr/X11R6/lib/modules/drivers"
  ModulePath "/usr/X11R6/lib/modules"
  ModulePath "/usr/X11R6/lib"
  ModulePath "/usr/lib"
你要安装的任何新的印度字体都应该放在/usr/X11R6/lib/X11/fonts/TrueType/目录中。现在,切换到此目录并运行以下命令
  $ mkfontdir
  $ xset fp rehash
如果你想将新的印度字体放在其他目录中,你必须使用 xset 来添加新的 FontPath。请参阅 xset 手册页以获得进一步的帮助。你可以通过运行 xlsfonts 命令来检查新安装的字体。如果你使用此命令没有看到任何印度字体,你可能需要重启 X。

3.2.2. 天城文键盘布局

IndiX 系统附带一个用于 xmodmap 的键盘映射文件。你可以使用 xmodmap 实用程序来映射天城文键盘。对于大多数发行版,当你启动 X 时,X 服务器将查找Xmodmap/etc/X11/目录中。如果该文件不存在,服务器将查找.Xmodmap在你的 $HOME 中。只需将.Xmodmap放在你的 $HOME 中即可。当你启动 X 服务器时,它将加载此文件。你也可以加载.Xmodmap从命令行
  $ xmodmap ~/.Xmodmap

Note

如果你使用的是 XFree86 版本 4.0 或更高版本,你需要在XF86Config-4 文件的 InputDevice 部分添加行 XkbDisable。。你可以像以下示例一样配置键盘部分。
  Section "InputDevice"
  Identifier  "Keyboard0"
  Driver      "keyboard"
  Option      "XkbDisable"
  EndSection