Ubuntu etk程序中文显示为方块问题解决方法

关于etk的资料实在太少,就连英文资料也是如此。象emphasis和exhibit之类的程序中文显示为方块的问题一直非常困扰,我google了很长时间才在linuxsir论坛上看到一点眉目,不过也是语焉不详,没办法,自己又反复试验折腾了好久,终于部分解决了问题。实际上etk程序中文显示为方块的问题是由于缺省的etk主题default.edj没有使用中文字体造成的(opengeu自带的另外两个etk主题“日照”和“月光”也一样),解决的思路如下:

将系统默认的etk主题复制到用户的etk主题目录并改名为chinese.edj:

cp /usr/local/share/etk/themes/default.edj ~/.e/etk/themes/chinese.edj

用edje_decc命令将chinese.edj解包成~/.e/etk/themes下的一个chinese目录:

cd ~/.e/etk/themes
edje_decc chinese.edj

修改

进入这个chinese目录及其widgets子目录修改其中的*.edc配置文件,但是怎么改法就有讲究了。我现在是将系统里的文泉驿字体复制到chinese目录中,再在chinese/default.edc文件中添加关于文泉驿字体的alias(比如叫WQY),然后进chinese/widgets子目录,将里面的*.edc文件中几个明显出现Vera和Sans这样的字体名字的地方都改成了WQY。我没有把Vera-It和Vera-Bd这样的斜体和粗体也改成WQY,因为这样对于英文来说就没有斜体和粗体的区分了,而如果把这些字体也替换成不同的中文字体添加进去的话,打包出来的etk主题文件太大。所以这样只解决了普通字体中文显示的问题,如果etk程序界面中出现斜体和粗体的话中文还是有方框。也许etk主题文件中可以实现直接引用系统字体文件,不过我还没有好好研究试验。

重新打包

改完之后运行这个chinese目录下的build.sh脚本就可以重新打包成一个chinese.edj主题文件,只需将它移动回去覆盖原来的那个:

./build.sh
mv chinese.edj ..

用etk_prefs命令套用该主题文件:

etk_prefs --theme=chinese搞定。为方便人民群众,我把自己制作的chinese.edj提供出来:

http://cid-395fa98992dfdc37.skydrive.live.com/self.aspx/software/chinese.edj

时间: 2024-09-20 00:20:02

Ubuntu etk程序中文显示为方块问题解决方法的相关文章

SecureCRT连接ubuntu时,中文显示乱码的解决方法

在用SecureCRT连接ubuntu时,中文显示乱码,如下设置即可: 在linux终端设置如下:(1)/var/lib/locales/supported.d/local文件中添加一行:zh_CN.UTF-8 UTF-8,执行sudo locale-gen下载文件(2)在/etc/environment中增加两行分别为:LANG="zh_CN.UTF-8"和LC_ALL="zh_CN.UTF-8"(3)~/.profile中增加两行分别为:export LANG=

解决JSP开发Web程序中文显示的三种方法

js|web|程序|解决|显示|中文 方法一:最简单也是用的最多的方法 <%@ page language="java" pageEncoding="GBK" %> 或者<%@ page contenttype="text/html;charset=gbk";>这里可以用gb2312或者gbk,只是gbk比gb2312支持跟多的字符. 这个方法用于jsp页面中的中文显示. 方法二:使用过滤器 过滤器使用主要针对表单提交,插

Linux下application中文显示为方块解决

  Linux下application中文显示为方块解决 Linux(我用的是ubuntu)下的java应用程序,UI处输入中文字符,会显示成方块,虽然最终 输出或生成文件时没有问题,但让应用中的输入无法正常显示. 原因是jdk中缺少中文包,我们可以下载fireflysung来解决这个问题. 在JRE目录下的 lib/fonts/下新建一目录fallback, 把fireflysung.ttf放到这个目录下. 重启你的应用,OK,问题解决了.^_^ fireflysung.rar (5.2 MB

解决JSP开发Web程序中文显示三种方法

方法一:最简单也是用的最多的方法 <%@ page language="java" pageEncoding="GBK" %> 或者<%@ page contenttype="text/html;charset=gbk";>这里可以用gb2312或者gbk,只是gbk比gb2312支持跟多的字符. 这个方法用于jsp页面中的中文显示. 方法二:使用过滤器 过滤器使用主要针对表单提交,插入数据库的数据都是?号.这也是应为to

JSP页面中超链接传递中文参数出现乱码问题解决方法_JSP编程

本文实例讲述了JSP页面中超链接传递中文参数出现乱码问题解决方法.分享给大家供大家参考,具体如下: 这里分析超链接传递中文参数,在接受页面中出现乱码问题的解决方法. 解决方法: 在接受页面里可以如下处理, 复制代码 代码如下: <%=new String(request.getParameter("变量名字").getBytes("ISO-8859-1")) %> 注意这里用的是 new String() 创建一个新的字符串 例题: 页面一: <h

ubuntu 命令行中文乱码问题的解决方法

  首先...我说的命令行是指Ctrl+Alt+F1~F6开启的纯命令行模式 不是在X Window里打开的终端... 如果你遇到的是终端里无法显示中文这篇文里的方法基本对你没用....可以跳过了~ 言归正传 纯命令行中中文无法显示 导致的原因是安装过程中选择了中文,所以系统默认配置也设置成了中文,改成英文即可. 解决方法1:学好英文..把环境变量设置为英文....(别抽我..) 修改/etc/default/locale sudo vim /etc/default/locale1 修改默认的

Win7系统中文显示乱码的修复方法

  点击开始菜单图标并单击打开控制面板. 在区域和语言设置-管理中,选择更改显示语言. 选择管理标签,并点击更改系统区域设置. 将非Unicode语言更改为简体中文即可可以正常显示了.

SecureCRT中文显示乱码的解决方法

看了网上写的很多文章,他们提到的都差不多,可是我的问题解决还要其他更改.先写一般人出现乱码的解决办法. 1.修改远程linux机器的编码配置 # vi /etc/sysconfig/i18n 进入编码配置页 把LANG改成支持UTF-8的字符集 如:LANG="zh_CN.UTF-8" 或者是LANG="en_US.UTF-8" 2.然后再对Securecrt进行编码配置 在选项-回话选项里,更改外观的字符编码为UTF-8 但是我的问题还是没有解决 3.在字体里面更

php中文字符串截取乱码问题解决方法

字符串编码为GB2312的,一个中文字符占两个字节:  代码如下 复制代码 public static function chinesesubstr($str, $start, $len) { // $str指字符串,$start指字符串的起始位置,$len指字符串长度         $strlen = $start + $len; // 用$strlen存储字符串的总长度,即从字符串的起始位置到字符串的总长度         for($i = $start; $i < $strlen;) {