ift < , . -
Ctrl Alt Spacebar AltGr Ctrl
注意第 102 个键,他是 <> 键,在 Z 的左边。在主字符右侧的那个字符是由 AltGr 键生成的字符。
定义这个键盘如下:
static const char main_key_NO[MAIN_LEN][4] =
{
"|?,"1!","2"@","3#?,"4?","5%","6&","7/"," ?","?,
"qQ","wW","eE","rR","tT","yY","uU","iI","oO","pP","迮","╚~",
"aA","sS","dD","fF","gG","hH","jJ","kK","lL","","嫫","'*",
"zZ","xX","cC","vV","bB","nN","mM",",;",".:","-_",
"<>"
};
除了 " 和 需要用反斜杠引用起来,和第 102 个键在单独的一行之外,他是很直接的。
您写完了一个这样的表之后,您需要把他添加到 main_key_tab[] 布局索引表中。这看起来如下:
static struct
{
WORD lang, ansi_codepage, oem_codepage;
const char (*key)[MAIN_LEN][4];
} main_key_tab[]={
...
...
{MAKELANGID(LANG_NORWEGIAN,SUBLANG_DEFAULT), 1252, 865, &main_key_NO},
...
在您增加了这个表之后,重新编译 Wine 并测试他的工作。假如检测您的表失败,尝试运行
wine --debugmsg key, keyboard >& key.log
并查看结果的 key.log 文档来找到关于您的布局的错误消息。
注意 LANG_* 和 SUBLANG_* 定义在 include/winnls.h 中,您可能需要用他找出给您的语言分配的编号,并在调试消息输出中找到他。这个编号是(SUBLANG * 0x400 LANG),所以,例如 LANG_NORWEGIAN (0x14) 和 SUBLANG_DEFAULT (0x1) 的组合将是 (十六进制的) 14 1*400 = 414,因为我是挪威人,我将在调试消息输出中查找 0414 以便找出为什么不能检测到我的键盘。
一旦他工作了,请提交到 Wine 计划。假如您使用 CVS,您需要在您的主 Wine 目录中做
cvs -z3 diff -u windows/x11drv/keyboard.c > layout.diff
,接着把 layout.diff 提交到 <wine-patches@winehq.com> 并加上关于他是什么的一个简要的说明。
假如您不使用 CVS,您需要做
diff -u the_backup_file_you_made windows/x11drv/keyboard.c > layout.diff
并按上面解说的那样提交。
假如您做的正确,他将被包括到下一次 Wine 发行中,而任何使用扫描码的有问题的应用程式(尤其是远程控制应用程式)和游戏将荣幸的使用您键盘布局,并且您将不再得到这些闹心的 fixme 消息了。
祝您好运。
4.8. 处理字体
4.8.1. 字体
编写:Alex Korobka <alex@aikea.ams.sunysb.edu>
(提取自 wine/documentation/fonts)
Note: Wine 包含了 fnt2bdf 实用工具。能够在 tools 目录中找到他。能够在 wine headquarters: http://www.winehq.com/tools.html 找到到本文档中提及的工具的链接。
4.8.1.1.如何转换 Windows 字体
假如您要访问一个 Windows 安装,您应该使用 fnt2bdf 实用工具(可在 tools 目录中找到) 来把位图字体(VGASYS.FON、SSERIFE.FON、和 SERIFE.FON)转换成 X 窗口系统能够识别的格式。
用 fnt2bdf 提取位图字体。
使用 bdftopcf 把第一步生成的 .bdf 文档转换成 .pcf 文档。
把 .pcf 文档复制到字体服务器目录中,他的目录通常是 /usr/lib/X11/fonts/misc (您可能要有终极用户的特权)。假如您想建立一个新字体目录,则您必须把他添加到字体路径上。
为把字体复制到其中的那个目录运行 mkfontdir。假如您已在 X 中了,您应该运行 xset fp rehash 来使 X 服务器使用这个新字体。
编辑 ~/.wine/config 文档来删除给您刚安装的字体的别名。
WINE 运行能够无需这些字体,但感观可能很不同。更有,一些应用程式尝试装载他们定制的字体(? on the fly)(WinWord 6.0),并且因为 WINE 仍未实现这个,他转而输出象下面这样的一些东西;
STUB: AddFontResource( SOMEFILE.FON )
您也能够转换这个文档。注意这个 .FON 文档可能不持有任何位图字体,而 fnt2bdf 在这种情况下会失败。还要注意尽管上述消息不会消失,WINE 通过使用您从 SOMEFILE.FON 提取的字体绕过(work around)问题。fnt2bdf 将只适用于 Windows 3.1 字体。他不适用于 TrueType 字体。
怎样处理 TrueType 字体? 有很多商业字体工具能够把他们转换成 Type1 格式但结果的字体是远离主流的 (stellar)。使用他们的其他方式是使用有呈现(render) TrueType 能力的字体服务器(Caldera 有一个,在 sunsite 和他的映像的 Linux/X11/fonts 中有自由的 xfstt,假如您在 FreeBSD 上您能够使用 /usr/ports/x11-servers/Xfstt 中的 port。更有一个 xfsft,他使用 freetype 库,参见 documentation/ttfserver)。
但是,将来有可能通过 FreeType 呈现器支持固有 TrueType(hint, hint :-)
4.8.1.2. 如何向 ~/.wine/config 添加字体别名
许多 Windows 应用程式假定总是存在最初的 Windows 3.1 发布中包含的字体。缺省的 Wine 建立许多把他们映射成现存的 X 字体的别名:
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




