LinuxSir.cn,穿越时空的Linuxsir!

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

用icewm的兄弟请进来看下,关于firefox的字体问题

[复制链接]
发表于 2005-8-28 17:38:40 | 显示全部楼层 |阅读模式
请看下面的图
本来想英文用tahoma的AA,中文用文泉驿的点阵。就在fonts.conf形式像如下的三个字段里加入了tahoma和wenquanyi bitmap song。

  1.           <alias>
  2.                 <family>serif</family>
  3.                 <prefer>
  4.                         <family>Tahoma</family>
  5.                         <family>wenquanyi bitmap song</family>
  6.                         <family>Times New Roman</family>
  7.                         <family>Bitstream Vera Serif</family>
  8.                         <family>Nimbus Roman No9 L</family>
  9.                         <family>Luxi Serif</family>
  10.                         <family>Times</family>
  11.                         <family>Kochi Mincho</family>
  12.                         <family>AR PL SungtiL GB</family>
  13.                         <family>AR PL Mingti2L Big5</family>
  14.                         <family>Baekmuk Batang</family>
  15.                 </prefer>
  16.                </alias>
复制代码


结果firefox的菜单字体就全成了文泉驿的字体了。可别的gtk2程序的菜单英文字体却是tahoma。如下图1
本来想firefox的菜单字体由gtkrc来决定,可已经建立了gtkrc这个文件了,它没有发挥作用。
  1. [chensong@chenpp ~]$ echo $GTK2_RC_FILES
  2. /etc/gtk-2.0/gtkrc


  3. [chensong@chenpp ~]$ cat /etc/gtk-2.0/gtkrc
  4. style "user-font"
  5. {
  6. font_name="Tahoma,wenquanyi bitmap song 11"
  7. }
  8. widget_class "*" style "user-font"
  9. gtk-font-name="Tahoma,wenquanyi bitmap song 11"
复制代码

于是在fonts.conf里的那三个字段前面加入类似

  1. <match target="pattern">
  2.         <test qual="any" name="family">
  3.                 <string>sans-serif</string> <!--这一行不同滴 -->
  4.         </test>
  5.                 <edit name="family" mode="append" binding="strong">
  6.                         <string>Tahoma</string>
  7.                 </edit>
  8.         </match>
复制代码

强制英文优先使用tahoma,结果firefox菜单字体如我所愿了,可icewm的时间提示框的中文字体消失了,退出icewm的提示框的中文也消失了。如下图2,3
所以想问下
1.现在该怎么做呢?firefox的菜单字体是由什么决定呢?(firefox是arch官方编译的firefox1.0.4)
2.
icewm的时间提示框和退出提示框的字体是由preferences文件里的那个参数决定的呢?(改下icewm的字体设置参数也许可以解决。)
图1

图2

图3
发表于 2005-8-28 18:53:16 | 显示全部楼层
是这样的
~/.gtkrc  是 Gtk 1.X 程序的

~/.gtkrc-2.0  才是 Gtk2 程序的


可以看看我的 ~/.gtkrc-2.0  内容
hua@hua:cnO'Reilly$ cat ~/.gtkrc-2.0
[php]# -- THEME AUTO-WRITTEN DO NOT EDIT
include "/usr/share/themes/Clearlooks-Quicksilver/gtk-2.0/gtkrc"

style "user-font"
{
  font_name="WenQuanYi Bitmap Song 9"
}
widget_class "*" style "user-font"

include "/home/hua/.gtkrc-2.0.mine"


# -- THEME AUTO-WRITTEN DO NOT EDIT
[/php]

其中第一行的
include "/usr/share/themes/Clearlooks-Quicksilver/gtk-2.0/gtkrc"
是指定 Gtk2 主题用 Clearlooks-Quicksilver  , 我不喜欢 Gtk2 默认主题








IceWM 可以用  ~/.icewm/prefoverride 来配置
hua@hua:cnO'Reilly$ cat ~/.icewm/prefoverride
### 自定义 IceWM 设置
## 设置 XFT 字体 (下面的字体设置适合 Xft.dpi:96 的情况,可以在 ~/.Xresources 写入 Xft.dpi:96 )
# meXft="Bitstream Vera Serif:size=9,AR PL ShanHeiSun Uni:size=11"
meXft="serif:size=11"
MenuFontNameXft="serif:size=11"
StatusFontNameXft="serif:size=11"
QuickSwitchFontNameXft="serif:size=11"
NormalButtonFontNameXft="serif:size=11"
ActiveButtonFontNameXft="serif:size=11"
NormalTaskBarFontNameXft="serif:size=11"
ActiveTaskBarFontNameXft="serif:size=11"
MinimizedWindowFontNameXft="serif:size=11"
ListBoxFontNameXft="serif:size=11"
ToolTipFontNameXft="serif:size=11"
ClockFontNameXft="serif:size=11"
ApmFontNameXft="serif:size=11"
LabelFontNameXft="serif:size=11"
TitleFontNameXft="serif:size=12"

### 设置个人偏好
### 配置任务条
## 不要显示和监测邮件
TaskBarShowMailboxStatus=0
MailCheckDelay=0
NetworkStatusDevice="eth0"
## 显示 APM 状态
# TaskBarShowAPMStatus=1
## LED 方式显示时间,显示格式为"时:分:秒"
TaskBarClockLeds=1
TimeFormat="%H:%M:%S"

ShowAbout=1
ShowRun=1

## 桌面背景
# DesktopBackgroundcolor="rgb:00/20/40"
# DesktopBackgroundImage=""
## 虚拟桌面
WorkspaceNames=" 风 ", " 华 ", " 雪 ", " 月 "
#EdgeSwitch=1

### 窗口选项
## 不透明移动和改变窗口大小
OpaqueMove=0
OpaqueResize=0
## 新窗口显示后不自动取得焦点 ( 类似 KDE/Gnome 风格 )
FocusOnMap=0
## 菜单追踪鼠标动作 (类似 KDE/Gnome 菜单 )
MenuMouseTracking=1


## 锁住屏幕的程序
LockCommand="xlock -mode blank"
回复 支持 反对

使用道具 举报

发表于 2005-8-28 20:41:08 | 显示全部楼层
不是,firefox菜单的字体是由~/.mozilla/firefox/*default/chrome/userChrome.css

您的这个目录下应该有userChrome.css的一个sample,里面有注释的,根据注释改一下就OK了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-28 21:06:18 | 显示全部楼层
Post by jhuangjiahua

~/.gtkrc 是 Gtk 1.X 程序的

~/.gtkrc-2.0 才是 Gtk2 程序的

晕啊,.gtkrc-2.0(如果在设全局的话,岂不是/etc/gtk-2.0/gtkrc-2.0了么?)和/etc/gtk-2.0/gtkrc,哪个才是啊?难道debian的环境变量和别的发行版差别这么大?


我已经设置变量GTK2_RC_FILES=/etc/gtkrc-2.0/gtkrc了,
在这个贴子里/etc/gtk-2.0/gtkrc也发挥了作用。http://www.linuxfans.org/nuke/mo ... p;highlight=firefox

而且在我没有使用文泉驿字体,没有更改字体设置,没有设置变量GTK2_RC_FILES=/etc/gtkrc-2.0/gtkrc的时候,
/etc/gtk-2.0/gtkrcr里的字体是tahoma和simsun,这个文件还是发挥了作用了的,尽管firefox是用simsun来显示菜单字体的。

现在我把simsun从/etc/gtk-2.0/gtkrc里移除,
  1. [chensong@chenpp ~]$ cat /etc/gtk-2.0/gtkrc
  2. style "user-font"
  3. {
  4. font_name="Tahoma 11"
  5. }
  6. widget_class "*" style "user-font"
  7. gtk-font-name="Tahoma 11"
复制代码

  1. <match target="pattern">
  2.         <test qual="any" name="family">
  3.                 <string>sans-serif</string> <!--这一行不同滴 -->
  4.         </test>
  5.                 <edit name="family" mode="append" binding="strong">
  6.                         <string>Tahoma</string>
  7.                 </edit>
  8.         </match>
复制代码

这一段从fonts.conf里移除,结果firefox的菜单字体就是tahoma和文泉驿字体了。

现在问题又来了,在/etc/gtk-2.0/gtkrc里设置同时设置tahoma和simsun(或是wenquanyi bitmap song),firefox只会用simsun(或是wenquanyi bitmap song)来显示菜单字体。
如果菜单是全英文的菜单,则会以tahoma来显示。
这个让我郁闷了。
那么在/etc/gtk-2.0/gtkrc使用两个以上的字体的时候应该怎么写这个配置文件呢?
它的正确的格式又是什么样的呢?
如果我要用tahoma的粗体来显示的话,又要怎么写字体名呢,用tahoma-bold?
tahoma-bold没有用啊。

还有
  1. <match target="pattern">
  2.         <test qual="any" name="family">
  3.                 <string>sans-serif</string> <!--这一行不同滴 -->
  4.         </test>
  5.                 <edit name="family" mode="append" binding="strong">
  6.                         <string>Tahoma</string>
  7.                 </edit>
  8.         </match>
复制代码

这一段怎么在我这里(用icewm),怎么就不行了呢?
在这个贴子里,
http://www.linuxfans.org/nuke/mo ... ewtopic&t=26394
还有这里也同样包含了上面的那个字段
http://www.linuxfans.org/nuke/modules/Forums/files/local_733.conf
怎么就可以用了呢?
回复 支持 反对

使用道具 举报

发表于 2005-8-28 21:15:48 | 显示全部楼层
firefox的菜单好像不受gtkrc*的控制,不过在gnome-control-center里面设置的管用。
修改菜单的我在上一个帖子说了,chen1960兄弟可以试试。我的这样改比较有效。只要设置一个英文字体就可以了,中文字体会按照fonts.conf里面的顺序来替换。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-28 21:36:30 | 显示全部楼层
Post by RaindropsFall
不是,firefox菜单的字体是由~/.mozilla/firefox/*default/chrome/userChrome.css

您的这个目录下应该有userChrome.css的一个sample,里面有注释的,根据注释改一下就OK了。
Post by RaindropsFall

firefox的菜单好像不受gtkrc*的控制,不过在gnome-control-center里面设置的管用。
修改菜单的我在上一个帖子说了,chen1960兄弟可以试试。我的这样改比较有效。只要设置一个英文字体就可以了,中文字体会按照fonts.conf里面的顺序来替换。

偶这里没有userChrome.css这个文件。也许新建一个,它可以发挥作用。不过,如果没有这个文件呢,firefox的菜单字体配置又从那里指定呢?

  1. [chensong@chenpp ~]$ ls .mozilla/firefox/
  2. pluginreg.dat  profiles.ini  zr52oawv.default
  3. [chensong@chenpp ~]$ ls .mozilla/firefox/zr52oawv.default/c
  4. cert8.db           compatibility.ini  compreg.dat
  5. chrome/            components.ini     cookies.txt
  6. [chensong@chenpp ~]$ ls .mozilla/firefox/zr52oawv.default/chrome/
  7. userChrome-example.css  userContent-example.css
复制代码

在上面的贴子里,我把/etc/gtk-2.0/gtkrc,原本的tahoma,simsun两个字体,改成了仅仅有一个tahoma字体,且在fonts.conf 里指定文泉驿点阵字体放在tahoma之后,这样就可以实现菜单英文字体用tahoma中文用文泉驿点阵了,说明/etc/gtk-2.0/gtkrc还是发挥了作用了。
回复 支持 反对

使用道具 举报

发表于 2005-8-28 21:51:40 | 显示全部楼层
但是你不能设置字体的大小。
那个目录里应该有一个userChrome-example.css,把他改改mv 成 user-Chrome.css就行了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-28 22:10:36 | 显示全部楼层
可以在/etc/gtk-2.0/gtkrc里调节firefox菜单的字体大小啊。
11号字体时(图一)
14号字体时 (图二)

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2005-8-28 22:15:30 | 显示全部楼层
是吗?我从来没成功过,最后不得不逼着我改userChrome.css。
回复 支持 反对

使用道具 举报

发表于 2005-8-28 23:48:30 | 显示全部楼层
这说明你的firefox不是一个GTK程序,而是一个XUL程序。你必须在编译Firefox的时候显式强行指定用gtk/pango来编译,他才能够受gtkrc-2.0的控制。

你看这个图:http://www.linuxfans.org/nuke/mo ... en-firefox-show.png

注意菜单栏中的英文字体,这个就是我在IceWM中抓的图,系统的默认设置就是这样,我什么都没有动。
回复 支持 反对

使用道具 举报

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

本版积分规则

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