页次: 1
请看下面的截图,在相同的系统设置下,Chromium,Firefox和Konqueror浏览器都已经正常显示汉字了。
惟独Opera浏览器只能显示方块乱码。
这是什么问题?
已经安装了Google Noto CJK字体。
因为这个操作系统是给老外用的,所以系统菜单必须保持为英文,也就是LANG, LANGUAGE等环境变量需要保持en_US。这个老外需要看一些中文和日文的网页和文档。
现在最让人困惑的是,同样的系统设置和字体,为什么各个浏览器都能显示汉字了,惟独Opera不能显示汉字?
难道是Opera不支持多语种吗?
离线
咦,难道 Opera 也不用 fontconfig 的?
离线
我试了一下,在英文 locale 下 opera 能够正确显示中文啊。你安装 wqy-zenhei 试试呢?
离线
我试了一下,在英文 locale 下 opera 能够正确显示中文啊。你安装 wqy-zenhei 试试呢?
现在的情况是,同样的系统设置和字体,其他浏览器都能正常显示汉字;惟独Opera不行,猜测很可能是Opera的问题,但是不知道应该修改什么东西。
已经安装了wqy zenhei和wqy microhei,但是依然不管用。
Arch的wiki说Opera有bug,Opera会强制忽略Opera设置菜单中的字体设置,同时也忽略系统的字体设置,然后有Opera的核心代码“智能”选择字体。
智能过头了,Opera连自己设置菜单中的字体都会忽略。如何才能强制Opera使用系统字体呢?
反过来看,你的Opera无论如何都无法出现乱码,这其实也是问题,因为在你的系统上它会坚持选择中文,如论你如何修改都得不到乱码。
Chromium,Firefox都是可控的,通过修改设置或卸载字体,就可以得到乱码;反之,修改设置并安装字体就可以解决乱码。
Opera Linux版完全就是无法控制啊。
离线
反过来看,你的Opera无论如何都无法出现乱码,这其实也是问题,因为在你的系统上它会坚持选择中文,如论你如何修改都得不到乱码。
Chromium,Firefox都是可控的,通过修改设置或卸载字体,就可以得到乱码;反之,修改设置并安装字体就可以解决乱码。
不是。我要得到乱码,得卸载所有中文字体。不管 locale 为何,fontconfig 都会尽力显示它而避免留下方框。
离线
tedaz 说:反过来看,你的Opera无论如何都无法出现乱码,这其实也是问题,因为在你的系统上它会坚持选择中文,如论你如何修改都得不到乱码。
Chromium,Firefox都是可控的,通过修改设置或卸载字体,就可以得到乱码;反之,修改设置并安装字体就可以解决乱码。不是。我要得到乱码,得卸载所有中文字体。不管 locale 为何,fontconfig 都会尽力显示它而避免留下方框。
两个问题:
首先,卸载所有中文字体肯定会导致乱码,问题是你无法保证chromium正常显示汉字的情况下,通过修改设置让Opera乱码,所以这还是opera的问题,不是系统的问题。
其次,为了改善渲染效果,安装了infinality,无法使用fontconfig了,有什么替代的办法吗?(我依然觉得这个fontconfig无关)
离线
我并不会修改配置让任意使用 fontconfig 的程序显示方框而不影响其它程序。
你安装 fontconfig-infinality?
离线
我并不会修改配置让任意使用 fontconfig 的程序显示方框而不影响其它程序。
你安装 fontconfig-infinality?
对的,fontconfig-infinality。
现在的问题是,即使设置了LANG=zh_CN,echo显示依然是C,这是什么情况?
离线
没设对呗……你是怎么设置的?
离线
没设对呗……你是怎么设置的?
infinality应该不影响区域和语言吧,fc-presets set,然后选择3(ms)。
nano /etc/locale.gen
取消注释
en_US.UTF-8
zh_CN.UTF-8
zh_TW.UTF-8
locale-gen
nano /etc/locale.conf
LANG=en_US.UTF-8
nano ~/.xinitrc
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN:en_US
export LC_CTYPE=en_US.UTF-8
nano ~/.xprofile
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN:en_US
export LC_CTYPE=en_US.UTF-8
离线
页次: 1