为系统添加新字体和中文显示

为系统添加新字体和中文显示,第1张

为 Redhat 的两个字体子系统添加字体 让 Enlightenment 显示中文 Java 的中文问题: JBuilder 的中文问题 J SDK 的中文问题 J RE 的中文问题 大家挑自己需要的看就好了 为 Redhat Linux 添加新字体 [注] 以下过程在 Redhat 上测试通过 准备要安装的字体 如: c f 根据发行注记里所言分别为核心 X 字体子系统和 fontconfig 字体子系统添加字体: 为核心 X 字体子系统添加字体 [注] 以下部分应该对 Redhat 之前的版本也适用 因为 核心 X 字体子系统存在 于迄今为止的版本中 如果你想给你的 Red Hat Linux 系统添加新字体 根据使用新字体的字体子系统而 定 你必须明确所需步骤 对于核心 X 字体子系统 你必须 创建 /usr/share/fonts/local/ 目录(如果它不存在) mkdir /usr/share/fonts/local/ 这一步没问题 如果你必须要创建 /usr/share/fonts/local/ 你就必须把它添加到 X 字体服务器的 路 径中 cfontpath add /usr/share/fonts/local/ 如果是刚创建的 /usr/share/fonts/local/ 那么执行这一行命令会提示错误 因为系统在这个目录里找不到 fonts dir 文件 然后就不 add 不过没关系 这一步跳过去 在第三步之后做 把新字体文件复制到 /usr/share/fonts/local/ 中 照做 使用以下命令来更新字体信息 ttmkfdir d /usr/share/fonts/local/ o /usr/share/fonts/local/fonts scale 照做 然后: ) 把 fonts scale 拷贝出来一份 fonts dir ) cfontpath add /usr/share/fonts/local/ 使用以下命令来重新启动 xfs 字体服务器 service xfs reload 这一步我没成功 因为我发现 redhat 里面没有 service 这个命令 于是 用笨办法解决: 退出 X 再 startx 以上这些步骤做完之后 所有 gtk 的程序里有关字体的部分 (如 xmms 的字体设置 里) 都多出来我们要的新字体 像 simsun tahoma 这时可以在程序内部直接使用了 比如我们让歌曲列表里的中文使用 simsum 英文使用 tahoma 可以这样做: ) 先在 xmms 的 Fonts 里勾上选项 Use fontsets 让 xmms 支持双字节的 中文字体; ) 在 播放清单 部分浏览字体 选择使用 simsum: misc simsun medium r normal c koi r (不用拷这个 选上 simsun 它自己就出来了) 对于英文字体的要用 tahoma 就这么来 一点小技巧: 把这段 misc simsun medium r normal c koi r ^x 剪切下来 再选字体为 tahoma 出现这个: microsoft tahoma medium r normal p viscii 好了 在后面加个逗号 把刚才剪切的那段东东 ^v 粘贴在后面成为: microsoft tahoma medium r normal p viscii misc simsun medium r normal c koi r 这么一行 保存一下 于是歌曲列表就会对中文使用 simsum 英文使用 tahoma 再把这行拷下面 Main Window 的字体里 (要勾上 Use X font ) 这时 xmms 主窗 口里的字体 (像那条来回滚动的歌曲信息的字体) 也和歌曲列表里的一样了 注意 我刚才说的是程序内部 就象 xmms 的歌曲列表一样 而 程序本身 即 xmms 自 己的窗口却还是又粗又大的字体 这时需要改 gtk 的字体设置: ) 用 root 账号: vi /etc/gtkrc zh_CN ) 把原来的: fontset = adobe helvetica medium r normal iso medium r normal gb r 改成和我们上面用在 xmms 里的字体一样: fontset = microsoft tahoma medium r normal p viscii misc simsun medium r normal c koi r ) 保存退出 关掉 xmms 这些程序 再重新打开 效果就出来了! Enjoy! 为 fontconfig 字体子系统添加字体 [注] 以下除了 图形化地安装字体 部分为 Rehat 独有 其他应该在之前版本也适 用 大家试试 这部分简单多了 看 redhat 发行注记: 把新字体添加到 fontconfig 字体子系统比较简单明了 只需把新字体复制到 /usr/share/fonts/ 目录中即可(个体用户可以把新字体复制到 ~/ fonts/ 目录中来修 改他们的个人字体配置) 复制了新字体后 使用 fc cache 来更新字体信息缓存 fc cache (这里的 应该是 /usr/share/fonts/ 或 ~/ fonts/ 目录 ) 我是按这个办法把字体拷 ~/ fonts/ 下面做成功的 (不想使用 root 用户 hh) 个体用户还可以图形化地安装字体 方法是 在 Nautilus 中浏览 fonts:/// 然后把 新字体文件拖放到那里 而这个办法我失败了 无论我用普通用户还是 root 用户 都无法把字体文件 拷贝或者 拖放 到 Nautilus 的 fonts:/// 文件夹里 不知道原因 只好放弃 按第一种方式添加成功后 在 gtk 的程序里设置字体的部分都可以自由使用新字体 比如在控制中心里把应用程序字体都改成 simsum (另外 我发现 号大小的 simsun 效果最好 不使用单色也非常清晰 可以考虑使用) 总的来说 为 Redhat Linux 添加新字体并没有什么太难太神秘的东西 我个人做完之 后 觉得并没有想像中那么难 尤其是 gtk 程序的字体部分 不必改别人说过的那么多 文件 而实际只要添加完字体 改个 /etc/gtkrc zh_CN 就搞定了 让 Enlightenment 显示中文 同样简单 在上面的前提下 找到你当前使用的 E 主题 如我的是在 ~/ enlightenment/themes/AquaX/ 进入这个目录后 最简单的做法: gedit textclass cfg 利用 gedit 的替换功能 把所有关于字体的字符串 如: helvetica bold r normal 统统替换成和 xmms 一样的: microsoft tahoma medium r normal p viscii misc simsun medium r normal c koi r 保存退出 清除 E 的缓存 Restart E 搞定 Java 的中文显示 JBuilder 的中文问题 vi /etc/profile 添加: JAVA_FONTS=/path/to/your/zhfonts/ export JAVA_FONTS 比如要用刚才弄好的 simsum 和 tahoma 字体 因为我们已经把它们放在: /usr/share/fonts/local 里面了 所以这里就可以填: JAVA_FONTS=/usr/share/fonts/local 注意 JBuilder 显然用的是 fontconfig 字体子系统 所以 要让它认出来 有哪些字体可以用 fonts scale 和 fonts dir 这两个问题无疑是必需的 相比较上面核心 X 字体子系统的字体文件夹里 即我的 ~/ fonts 里面只有 字体文件和一个叫 fonts cache 的文件 可以对比著理解 能让 JBuilder 打开的程序显示中文 但 JBuilder 本身中文有问题 下面: 修改 JBuilder 自己的字体配置 比如我的 JBuilder 装在: ~/Apps/Devs/JBuilder 那么: vi ~/Apps/Devs/JBuilder /jdk /jre/lib/font properties 把这样的东西: serif = b&h lucidabright medium r normal %d p iso serif = standard symbols l medium r normal %d p urw fontspecific alic = b&h lucidabright medium i normal %d p iso alic = standard symbols l medium r normal %d p urw fontsp ecific 统统换成如: serif = microsoft tahoma medium r normal p viscii serif = misc simsun medium r normal c koi r alic = microsoft tahoma medium r normal p viscii alic = misc simsun medium r normal c koi r (还是用上面 xmms 一样的字体) 所有这些 = 都是描述英文该用什么字体 而所有 = 都是描述中文该用什么字体 最后保存退出 JBuilder 里的英文就都是 tahoma 所有的中文都是 simsun 自然 因为已经设置了 JAVA_FONTS 所以所有 Java 的应用程序都能正常找到 中文字体并显示 lishixinzhi/Article/program/Java/hx/201311/25919

首先,浏览器支持什么字体取决于用户系统里安装了什么字体,比如CSS中这么写:

font-family:"微软雅黑","黑体","宋体";
那么浏览器会尝试按照从左到右的顺序依次应用,假设用户电脑上没有安装微软雅黑,那么就用黑体。

接下来,开发人员有点郁闷了,这个世界有这么多字体,我怎么保证用户电脑上有我希望的字体呢?美工给我的完美效果,到了老板电脑上一团糟,会不会被骂死?

这时,CSS勇敢的站出来了,它约定了5种通用字体:"serif"、"sans-serif"、"cursive"、"fantasy"、"monospace",请注意,这5个不是5个字体,表示5类字体,比如说serif表示那种字体成比例,且上下有小横线的(参考time new roman),那么只要符合这个特征的字体都可以算成是serif, 具体采用哪个字体,由浏览器自己根据用户电脑上安装了哪种字体采用一个默认的,各浏览器可能有所不同。几乎所有你知道的普通字体都落入这5种字体类中,这样CSS可以基本上保证一个网页呈现在不同用户的电脑上的用户体验是差不多的。

最后,我们的美工比较变态,非要弄了个高大上的字体,一般用户电脑上都没有的咋整?我们可以用font-face让用户的浏览器从服务器上下载字体

@font-face {    
   font-family: 美轮美奂的字体;    
   src:url('字体文件1woff'),  
   url('字体文件2ttf'),    
   url('字体文件3eot');
}

你问我为什么要搞好几个url指向多个字体文件?我只能说还是为了那个坑爹的兼容性,怕有的字体文件在这个 *** 作系统不支持啊。

总结:浏览器支持哪些字体? 支持任何你想支持的字体。

为什么使用css服务器端字体
a) Serif字体系列的字体成比例,而且有上下短线。成比例是指字体中的所有字符根据其不同大小有不同的宽度。例如,小写i和小写m的宽度就不同。上下短线是每个字符笔划末端的装饰,比如大写A两条腿底部的短线。Serif字体系列包括Times、Georgia和NewCentury Schoolbook。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/12902937.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存