# Chinese display and input

## ohliumliu

Hi everyone,

   I just started using gentoo and now it's time to figure out how to display and input Chinese. I follow some of the posts here and online documentation, but still can't get Chinese display in konqueror. Firefox is fine, which might means I have all the fonts installed. Some posts talk about font substitution in qtconfig, but more information is needed for a noob like me to make it working. As for Chinese, I guess I messed up the picture by installing different input machines: scim, fcitx ... I have skim in my kde panel, but cannot get it to work with control+space.

   Any suggestion would be gratefully appreciated.

----------

## acevery

最好不要同时用scim和fcitx，你用kde，skim(scim for kde)恐怕是最好的选择了。

我用的是scim(gnome)下的，以前用fcitx，后来因为自己要定制郑码的码表，自己用的是UTF-8的环境，fcitx不支持UTF-8编码的码表，就换成scim了。

你试着把fcitx先卸掉，如果你是用kdm进入kde的，在~/.xprofile中加入：

LANG='zh_CN.UTF8' scim -d

export XMODIFIERS=@im=SCIM

export GTK_IM_MODULE="scim"

export QT_IM_MODULE="scim"

如果是用startx进入kde的，就在~/.xinitrc中加入

LANG='zh_CN.UTF8' scim -d

export XMODIFIERS=@im=SCIM

export GTK_IM_MODULE="scim"

export QT_IM_MODULE="scim"

----------

## ohliumliu

阿， 知道乐，原来我用的是kmd，却设置的xinitrc。原来都没有过xprofile。现在输入法好了，

唯一的问题是中文不能在所有基于qt的地方显示。比如，我现在用firefox写中文回帖，打出拼音后，

提示栏里全是方格，只能猜测第几个选项是对的（不过，错别字好像也不太多，因为用的都是

比较熟悉的字词）。看来还是kde显示中文的问题。不知有什么办法。

多谢多谢！

 *acevery wrote:*   

> 最好不要同时用scim和fcitx，你用kde，skim(scim for kde)恐怕是最好的选择了。
> 
> 我用的是scim(gnome)下的，以前用fcitx，后来因为自己要定制郑码的码表，自己用的是UTF-8的环境，fcitx不支持UTF-8编码的码表，就换成scim了。
> 
> 你试着把fcitx先卸掉，如果你是用kdm进入kde的，在~/.xprofile中加入：
> ...

 

----------

## acevery

如果是skim里的字显示不了就是你的skim前端没有设置好使用的字体，在任务栏里的skim图标那里点右键－选前端里面有选项设置．Last edited by acevery on Wed Aug 22, 2007 6:30 pm; edited 1 time in total

----------

## ohliumliu

多谢，skim提示栏可以显示中文了，但是在qt application窗口里打字出来的都是方框，虽然skim提示栏里是汉字。看来还是要设置字体，但我试过qtconfig，好像不管用 :Sad: 

刚刚在control center里把系统fonts都改成了simsun，现在标题栏都可以显示中文了，打字时也没有问题，唯一的就是konqueror打开中文网页还是没有中文。

 *acevery wrote:*   

> �����skim�������ʾ���˾������skimǰ��û�����ú�ʹ�õ����壬����������skimͼ��������Ҽ�ѡǰ��������ѡ�����ã�

 

----------

## acevery

 *ohliumliu wrote:*   

> 多谢，skim提示栏可以显示中文了，但是在qt application窗口里打字出来的都是方框，虽然skim提示栏里是汉字。看来还是要设置字体，但我试过qtconfig，好像不管用
> 
> 刚刚在control center里把系统fonts都改成了simsun，现在标题栏都可以显示中文了，打字时也没有问题，唯一的就是konqueror打开中文网页还是没有中文。
> 
> 

 

这个应该konqueror中有设置字符编码的，firefox是在 查看－字符编码，中文的如果显示不了，一般用GB18030就可以了。

----------

## ohliumliu

set enconding也不行，甚至我在konqueror的configuration里把字体改成simsun都不行。是不是要重新把系统的字体编码弄一遍。

还有个问题就是用kde control center安装字体，只能给当前用户添加新的字体，到administrator模式还是不能添加系统字体。而且系统字体

不包括emerg的archifont，虽然xorgconf里面已经加上了。  :Question: 

 *acevery wrote:*   

>  *ohliumliu wrote:*   多谢，skim提示栏可以显示中文了，但是在qt application窗口里打字出来的都是方框，虽然skim提示栏里是汉字。看来还是要设置字体，但我试过qtconfig，好像不管用
> 
> 刚刚在control center里把系统fonts都改成了simsun，现在标题栏都可以显示中文了，打字时也没有问题，唯一的就是konqueror打开中文网页还是没有中文。
> 
>  
> ...

 

----------

## akar

　　Ｘ字體管理的底層是 fontconfig，想必設一下字體 alias 可以解決問題。在系統字體配置文件是放在這裏的 /etc/fonts/conf.d 。

 :Idea:   不熟悉改的，就先找找一些網絡文章看看，改之前可以先備個份。

字體大概分三大族：　sans, sans-serif, monospace ,以下是隨手拿來的一個配置範例：

 */etc/fonts/conf.d/40-generic.conf wrote:*   

> 
> 
> <?xml version="1.0"?>
> 
> <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
> ...

 

 :Arrow:  　當中,每個字體族都必須要配有中文字體（像"东文宋体"），你需要把它改為自己系統所安裝的中文字體名稱。

用以下指令查看系統己安裝的所有字體：

```
 fc-list
```

 :Question:  　對了，我也搞不清楚用  kde control ceneter 做系統安裝字體，該字體藏到哪里去了？？ 用 find 窮找也找不到...

----------

## ohliumliu

看来要仔细找找文档了。我只是把simsun加到了40-generic.conf的每个族中，还是不能完全解决问题。比如，www.xinhuanet.com和sports.sina.com.cn都可以，但后者的链接点进去之后都是方框字，前者没有问题。这些网页（包括有问题的链接）都是gb2312。但是mitbbs.com不可以，虽然也是gb2312编码的。似乎只差一点点就可以了......

 *akar wrote:*   

> 　　Ｘ字體管理的底層是 fontconfig，想必設一下字體 alias 可以解決問題。在系統字體配置文件是放在這裏的 /etc/fonts/conf.d 。
> 
>   不熟悉改的，就先找找一些網絡文章看看，改之前可以先備個份。
> 
> 字體大概分三大族：　sans, sans-serif, monospace ,以下是隨手拿來的一個配置範例：
> ...

 

----------

## akar

把　ＳＩＭＳＵＭ　的　fonts.scale　貼出來看看。

在 /usr/share/fonts 內。

----------

## acevery

我把我的/etc/fonts/conf.avail/51-local.conf贴出来,最后的几个prefer是设置字体替换次序的：

```

<?xml version="1.0"?>

<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

<!-- /etc/fonts/local.conf file to configure system font access by local set -->

<fontconfig>

<!--

Accept deprecated 'mono' alias, replacing it with 'monospace'

-->

<match target="pattern">

<test qual="any" name="family">

<string>mono</string>

</test>

<edit name="family" mode="assign">

<string>monospace</string>

</edit>

</match>

<!--

Accept alternate 'sans serif' spelling, replacing it with 'sans-serif'

-->

<match target="pattern">

<test qual="any" name="family">

<string>sans serif</string>

</test>

<edit name="family" mode="assign">

<string>sans-serif</string>

</edit>

</match>

<!--

Accept deprecated 'sans' alias, replacing it with 'sans-serif'

-->

<match target="pattern">

<test qual="any" name="family">

<string>sans</string>

</test>

<edit name="family" mode="assign">

<string>sans-serif</string>

</edit>

</match>

<!--

Mark common families with their generics so we'll get

something reasonable

-->

<!--

Serif faces

-->

<alias>

<family>Times New Roman</family>

<family>Apple Garamond</family>

<family>SimSun-18030</family>

<family>Bitstream Vera Serif</family>

<family>Nimbus Roman No9 L</family>

<family>Luxi Serif</family>

<family>Kochi Mincho</family>

<family>AR PL SungtiL GB</family>

<family>AR PL Mingti2L Big5</family>

<family>Baekmuk Batang</family>

<family>Kingsoft Phonetic Plain</family>

<default><family>serif</family></default>

</alias>

<!--

Sans-serif faces

-->

<alias>

<family>Lucida MAC</family>

<family>Tahoma</family>

<family>Microsoft YaHei</family>

<family>STXihei</family>

<family>Bitstream Vera Sans</family>

<family>Helvetica</family>

<family>Arial</family>

<family>Nimbus Sans L</family>

<family>Luxi Sans</family>

<family>Kochi Gothic</family>

<family>AR PL KaitiM GB</family>

<family>AR PL KaitiM Big5</family>

<family>Baekmuk Dotum</family>

<family>Kingsoft Phonetic Plain</family>

<default><family>sans-serif</family></default>

</alias>

<!--

Monospace faces

-->

<alias>

<family>Lucida Console</family>

<family>Bitstream Vera Sans Mono</family>

<family>WenQuanYi Bitmap Song</family>

<family>STXihei</family>

<family>SimSun</family>

<family>Courier</family>

<family>Courier New</family>

<family>Luxi Mono</family>

<family>Nimbus Mono L</family>

<family>Kingsoft Phonetic Plain</family>

<default><family>monospace</family></default>

</alias>

<!--

If the font still has no generic name, add sans-serif

-->

<match target="pattern">

<test qual="all" name="family" compare="not_eq">

<string>sans-serif</string>

</test>

<test qual="all" name="family" compare="not_eq">

<string>serif</string>

</test>

<test qual="all" name="family" compare="not_eq">

<string>monospace</string>

</test>

<edit name="family" mode="append_last">

<string>sans-serif</string>

</edit>

</match>

<!--

Prefer "Standard Symbols L" as Symbol font

-->

<match target="pattern">

<test name="family">

<string>Symbol</string>

</test>

<edit name="family" mode="prepend" binding="same">

<string>Standard Symbols L</string>

</edit>

</match>

<!--

Provide required aliases for standard names

-->

<alias>

<family>serif</family>

<prefer>

<family>Times New Roman</family>

<family>Bitstream Vera Serif</family>

<family>SimSun-18030</family>

<family>Apple Garamond</family>

<family>Nimbus Roman No9 L</family>

<family>Luxi Serif</family>

<family>WenQuanYi Bitmap Song</family>

<family>Kochi Mincho</family>

<family>AR PL SungtiL GB</family>

<family>AR PL Mingti2L Big5</family>

<family>Baekmuk Batang</family>

</prefer>

</alias>

<alias>

<family>sans-serif</family>

<prefer>

<family>Tahoma</family>

<family>Lucida Grande</family>

<family>Helvetica</family>

<family>Arial</family>

<family>Lucida MAC</family>

<family>Microsoft YaHei</family>

<family>FZXiHei I-Z08</family>

<family>Nimbus Sans L</family>

<family>Luxi Sans</family>

<family>Kochi Gothic</family>

<family>AR PL KaitiM GB</family>

<family>AR PL KaitiM Big5</family>

<family>Baekmuk Dotum</family>

</prefer>

</alias>

<alias>

<family>monospace</family>

<prefer>

<family>Lucida Console</family>

<family>Bitstream Vera Sans Mono</family>

<family>FZXiHei I-Z08</family>

<family>Luxi Mono</family>

<family>Nimbus Mono L</family>

</prefer>

</alias>

<!--

Provide required aliases for standard names

<alias>

<family>SimSun-18030</family>

<prefer>

<family>Times New Roman</family>

<family>Apple Garamond</family>

<family>SimSun-18030</family>

<family>Kingsoft Phonetic Plain</family>

<family>WenQuanYi Bitmap Song</family>

<family>Kochi Mincho</family>

<family>AR PL SungtiL GB</family>

<family>AR PL Mingti2L Big5</family>

<family>Baekmuk Batang</family>

</prefer>

</alias>

-->

</fontconfig>

```

----------

## ohliumliu

这个我是完全不知所云啊。还望不吝赐教。

```

11

simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-p-0-ascii-0

simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-p-0-cns11643-1

simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-p-0-cns11643-2

simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-p-0-cns11643-3

simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-p-0-gb18030.2000-0

simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-p-0-gb2312.1980-0

simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-p-0-iso10646-1

simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-p-0-iso8859-1

simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0

simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-p-0-jisx0208.1990-0

simsun.ttf -misc-simsun-medium-r-normal--0-0-0-0-p-0-koi8-r

```

 *akar wrote:*   

> 把　ＳＩＭＳＵＭ　的　fonts.scale　貼出來看看。
> 
> 在 /usr/share/fonts 內。

 

----------

## ohliumliu

我的基本什么都没有，看来要有时间仔细研究一下。

```

<?xml version="1.0"?>

<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

<!-- /etc/fonts/conf.avail/51-local.conf file to configure system font access -->

<fontconfig>

        <!-- Load local system customization file -->

        <include ignore_missing="yes">local.conf</include>

</fontconfig>

```

 *acevery wrote:*   

> 我把我的/etc/fonts/conf.avail/51-local.conf贴出来,最后的几个prefer是设置字体替换次序的：
> 
> ```
> 
> <?xml version="1.0"?>
> ...

 

----------

## akar

ohliumliu：

fonts.scale 是設置 某一字體究竟支援多少種字集編碼。

麻煩你看看 操作系統的 locale 配置：

```
$ locale -a |grep zh_
```

如果沒有 gb2312 那便要重新生成，詳情請看我們新版主 Robert 最近的翻譯力作：　Gentoo手册(中文版)　第六章

acevery：　好奇問一下，為什麼你要用　SimSun-18030，而不是 SimSun 呢？

----------

## ohliumliu

对，果真没有gb2312

```
zh_CN

zh_CN.gb18030

zh_CN.gbk

zh_CN.utf8

zh_HK

zh_HK.utf8

zh_SG

zh_SG.gbk

zh_SG.utf8

zh_TW

zh_TW.euctw

zh_TW.utf8

```

用locale-gen试试。

 *akar wrote:*   

> ohliumliu：
> 
> fonts.scale 是設置 某一字體究竟支援多少種字集編碼。
> 
> 麻煩看看 操作系統的 locale 配置：
> ...

 

Re: 如何得到gentoo内所有软件的开发人员名单 *xlzheng wrote:*   

> 大家知道如何得到gentoo内所有软件包名单是如何得到吗？最近一直在为此事发愁，希望大家给提供一些信息，谢谢

 

来招聘的吧～～  :Laughing:   :Laughing:   :Laughing: 

----------

## ohliumliu

用了locale-gen之后系统由于没找到zh_CN.gb2312，结果把一些原来有的也覆盖了。locale的输出是

```

locale: Cannot set LC_CTYPE to default locale: No such file or directory

locale: Cannot set LC_ALL to default locale: No such file or directory

LANG=

LC_CTYPE=zh_CN.gb2312

LC_NUMERIC="POSIX"

LC_TIME="POSIX"

LC_COLLATE="POSIX"

LC_MONETARY="POSIX"

LC_MESSAGES="POSIX"

LC_PAPER="POSIX"

LC_NAME="POSIX"

LC_ADDRESS="POSIX"

LC_TELEPHONE="POSIX"

LC_MEASUREMENT="POSIX"

LC_IDENTIFICATION="POSIX"

LC_ALL=

```

上面的LC_CTYPE是在bashrc中设的。难道locale-gen把系统的LC变量都重设了么？按照文档指示重新写了/etc/env.d/02locale，把他们都改成en_US了。

但是locale-gen总是找不到字符集。我的locale.gen如下，不知对不对

```

en_US

en_US.UTF-8 UTF-8

zh_CN GB2312

zh_CN GB18030

zh_CN GBK

zh_TW BIG5

```

locale-gen的结果是

```

 * Generating 5 locales (this might take a while) with 1 jobs

 *  (1/5) Generating en_US. ...

character map file `en_US.UTF-8' not found: No such file or directory     [ !! ]

 *  (2/5) Generating en_US.UTF-8 ...

character map file `zh_CN' not found: No such file or directory

cannot open locale definition file `UTF-8': No such file or directory     [ !! ]

 *  (3/5) Generating zh_CN.GB2312 ...

character map file `zh_CN' not found: No such file or directory

cannot open locale definition file `GB2312': No such file or directory    [ !! ]

 *  (4/5) Generating zh_CN.GB18030 ...

character map file `zh_CN' not found: No such file or directory

cannot open locale definition file `GB18030': No such file or directory   [ !! ]

 *  (5/5) Generating zh_CN.GBK ...

character map file `zh_TW' not found: No such file or directory

cannot open locale definition file `GBK': No such file or directory       [ !! ]

 * Bad entry in locale.gen: 'BIG5 '; skipping

 * Generation complete

```

后来按照这个网页http://wiki.freespire.org/index.php/Support_Chinese，改了改locale.gen，再一运行

locale-gen，竟然成功了，没有报错。但是locale -a里面还是没有gb2312.

是不是要用localedef自己定义新的locale呢？有没有gui做这件事啊？谢谢！

----------

## akar

或者可以按照之前的站內文章做一下: https://forums.gentoo.org/viewtopic-p-3737426.html#3737426

----------

## acevery

不需要gb2312的，gb18030是gbk的超集，而gbk是gb2312的超集。

SimSun-18030是大字符集gb18030的simsun,SimSun是gbk的。我用的郑码是支持gb18030，用SimSun的话有些字出不来。

 *ohliumliu wrote:*   

> 对，果真没有gb2312
> 
> acevery：　好奇問一下，為什麼� 要用　SimSun-18030，而不是 SimSun 呢？

 

----------

## ohliumliu

按这种方法重新设置了一下locale.gen，运行locale-gen之后查看locale -a还是没有zh_CN.gb2312,但有zh_CN，在您提示的帖子里好像说默认就是gb2312。我有看了几个中文网站，有的行有的不行。现在怀疑是不是网站本身设置的不同会产生不同的结果。

 *akar wrote:*   

> 或者可以按照之前的站內文章做一下: https://forums.gentoo.org/viewtopic-p-3737426.html#3737426

 

----------

## akar

 *acevery wrote:*   

> 
> 
>  *AKar wrote:*   為什麼 要用　SimSun-18030，而不是 SimSun 呢？ 
> 
> 不需要gb2312的，gb18030是gbk的超集，而gbk是gb2312的超集。
> ...

 

　　原來是這樣。　：）

 *ohliumliu wrote:*   

> 
> 
> ... 比如，www.xinhuanet.com和sports.sina.com.cn都可以，但后者的链接点进去之后都是方框字，前者没有问题。这些网页（包括有问题的链接）都是gb2312。但是mitbbs.com不可以，虽然也是gb2312编码的。似乎只差一点点就可以了...... 
> 
> 

 

　　回看一下，你的報錯情況，說得好像比較迷糢。整理了思緒，有可能是網站的 css 指定字體所產生的問題吧，嘿嘿，不妨一試：　安裝 simhei 字體。

----------

## ohliumliu

改用simhei后，更多的网站显示正常了。看来就是css的问题。谢谢！

 *akar wrote:*   

>  *acevery wrote:*   
> 
>  *AKar wrote:*   為什麼 要用　SimSun-18030，而不是 SimSun 呢？ 
> 
> 不需要gb2312的，gb18030是gbk的超集，而gbk是gb2312的超集。
> ...

 

----------

