LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1161|回复: 9

部分中文粗体无法显示的一个原因

[复制链接]
发表于 2006-7-27 07:44:54 | 显示全部楼层 |阅读模式
不知何时开始,突然发现linuxsir论坛页面上部分中文不能显示粗体了。其他网站,包括百度/126等等,都是如此。后来查看其源代码,发现原来是html标记的问题。凡是用原有HTML标记<b>的地方,只能显示英文粗体,中文粗体不显示;而用CSS来控制font-weight的地方,可以显示所有粗体。

此区别是在我的系统上发现的,ArchLinux current.,可能其他兄弟没有遇到这个问题。

详情见图.
图1: “主题”二字可以显示粗体。而下面的帖子标题只有英文能显示粗体。
图2:HTML标记和CSS测试。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2006-7-28 10:30:59 | 显示全部楼层
字体的问题?
回复 支持 反对

使用道具 举报

发表于 2006-7-28 10:43:30 | 显示全部楼层
可能是font.conf的问题?
上次在fc5里我修改font.conf的时候出现过类似问题!具体情况忘了,很久没用fc系列了,现在arch里还没见过这样的情况!
回复 支持 反对

使用道具 举报

发表于 2006-7-30 00:57:52 | 显示全部楼层
我在ubuntu下 用simsun字体firefox有这样的情况

有的地方明明有粗体 有的地方没有

但我换重带粗体的字体如微软雅黑就可以显示

所以我觉得是字体问题

ps:我没有改字体的配置文件 只是装了字体而已
回复 支持 反对

使用道具 举报

发表于 2006-7-30 08:25:57 | 显示全部楼层
还是那句话:
  1. linux对中文的支持超级烂!
复制代码
回复 支持 反对

使用道具 举报

发表于 2006-7-30 09:57:42 | 显示全部楼层
通过修改local.conf可以解决,我一直等待akito的hinting补丁和firefly的一些补丁能够直接进入fontconfig和freetype的主流版本。
Linux对于中文的支持,如果你在90年代使用过linux,你就知道现在的linux中文用户有多幸福,gtk2对于国际环境的支持,至少不比windows差;gnome几乎不需要特别的配置了;fontconfig和freetype也不需要打什么补丁了;openoffice2也加入了不少firefly等的补丁(firefly的版本几乎使中文显示没有问题,打印还没有试过);
关键在于很多中文的事情,国外的开发者不知道,目前的很多补丁,hack性质比较多,考虑的只是达到(解决中文问题的)目的,即使有些补丁写的很干净,但是由于沟通不够,软件的维护者并不了解为什么要加入这些代码(要知道代码越多越可能出现bug),因此置之一旁。
回复 支持 反对

使用道具 举报

发表于 2006-7-30 10:32:15 | 显示全部楼层
现在的中文支持比原来确实进步很大,某些方面比windows强,而且Linux走的是国际化道路,windows分成很多地方版。
Linux的方向是由给它做贡献的人决定的。中文支持不好跟中国人做的贡献少有直接关系。中国人,尤其是大陆人做的贡献太少了。 ;) 我也是大陆的。
回复 支持 反对

使用道具 举报

发表于 2006-7-30 19:31:49 | 显示全部楼层
不带粗体的中文是 fontconfig 给自动合成的。
在 fonts.conf 里有一段:
  1. <!--
  2. Synthetic emboldening for fonts that do not have bold face available
  3. -->
  4.         <match target="font">
  5.                 <!-- check to see if the font is just regular -->
  6.                 <test name="weight" compare="less_eq">
  7.                         <int>100</int>
  8.                 </test>
  9.                 <!-- check to see if the pattern requests bold -->
  10.                 <test target="pattern" name="weight" compare="more_eq">
  11.                         <int>200</int>
  12.                 </test>
  13.                 <!-- set the embolden flag -->
  14.                 <edit name="embolden" mode="assign">
  15.                         <bool>true</bool>
  16.                 </edit>
  17.         </match>
复制代码
把里面的 200 改成 180, linuxsir 里就能看到完整粗体,你最好把这个加到 /etc/fonts/local.conf 或 ~/.fonts.conf
回复 支持 反对

使用道具 举报

发表于 2006-7-31 12:53:00 | 显示全部楼层
excellent
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-7-31 18:14:55 | 显示全部楼层
谢谢各位了!终于发现了问题!
哈哈,这段代码我原来一直加的,是我后来自己改.fonts.conf的时候不小心把那段删掉了,怪不得原来显示正常的现在怎么不行了呢,真是的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表