linuxfonts⽬录,linuxfonts
关于Linux字体
以前没有关注Linux的字体。最近遇到好⼏个关于字体的问题,特地了解了字体的相关知识。下⾯,⾸先列出遇到的问题:
在fedora下,中⽂字体在很多地⽅表现得很糟糕,很不美观。⼀个最⼤的问题,就是在chrome浏览器下的中⽂字体表现的很差,笔画不清晰,很多字体发虚。
IDE⼯具NetBeans打开⽂件,中⽂⽆法显⽰,⽤“⼝”字代替。这⾥,⾸先得明⽩⼀点,NetBeans这个IDE是使⽤JAVA开发的,也就是说NetBeans是⼀个JAVA应⽤程序。
⾃⼰以前对字体没有什么基本的概念,下⾯就将学习内容做⼀些笔记。
字体⼤⼩显⽰等的调节
特别折腾,安装了基于ubuntu的Linux deepin,安装完之后发现显⽰效果很不好,主要问题是问题看上去很模糊,⼤⼩也不合适。⾃⼰摸索着主要从下⾯⼏个⽅⾯去配置。
显⽰器分辨率
字体不好看,不够清晰,不⼀定是字体种类,字体⼤⼩等的问题。显⽰器的分辨率也很重要。例如,原来配置是在13⼨的笔记本上,现在换成了23⼨的显⽰器。显⽰效果就很差了。这个需要设置Linux系统显⽰器分辨率的输出。我发现,Linux⼀般很难⾃⼰检测好显⽰器的分辨率,设置好。
例如,现在我23⼨的显⽰器,Linux系统给我设置的分辨率是1280×800,显⽰效果当然不好。查看和设置的命令如下:
一年级简单字谜xrandr//查看Linux系统设置的分辨率
xrandr -s 1920*1080//设置输出的分辨率
关于WQY字体
圣诞节日期字体全部设置为了⽂泉驿等宽微⽶⿊,⼤⼩为13。个⼈感觉,最重要是显⽰器的分辨率,对显⽰效果起到了决定性的作⽤。
杭州西湖简介[root@pos.d]# yum -C list wqy*
Loaded plugins: presto, refresh-packagekit
Available Packages
wqy-unibit-fontswqy Unibit等宽字体
wqy-zenhei-fontswqy正⿊体
NetBeans中⽂字体
缺省的NetBeans在使⽤Swing的缺省字体,⼤⼩为11。IDE⼯具NetBeans打开⽂件,中⽂显⽰为⽅框的原因:
NetBeans是⼀个Java应⽤程序,Java程序启动的时候会去在$JAVA_HOME/jre/lib/fonts⽬录下寻相应的字体来显⽰。由于JDK默认没有中⽂字体,所以我们需要⼿⼯的来设置⼀下,让java应⽤程序能
够到相应的中⽂字体。这样就能够解决问题了。
Netbeans是⼀个java应⽤程序,所以在安装时,肯定会在你的系统中安装有java development kit (jdk) 或 java runtime environment (jre) 的安装包。可以通过NetBeans的配置⽂件查看到其运⾏时jre所在的位置。在NetBeans安装⽬录的f⽂件中,可以看到需要的jre的位置如下所⽰:
# Default location of JDK, can be overridden by using --jdkhome
netbeans_jdkhome="/usr/lib/jvm/jre"
下⾯你需要做的,就是配置好这个JRE中的字体,让这个JRE⽀持中⽂字体。那么,怎么让jre⽀持中⽂字体,或者说到系统中的中⽂字体呢?
jrd的中⽂⽀持
按Sun的⽂档描述,jre在⼀个操作系统的字体配置⽂件,根据下列信息来确定。jre 使⽤按下列顺序第⼀个到的⽂件作为系统的字体配置⽂件:
JavaHome/lib/fontconfig.OS.Version.properties
JavaHome/lib/fontconfig.OS.Version.bfc
JavaHome/lib/fontconfig.OS.properties
JavaHome/lib/fontconfig.OS.bfc
JavaHome/lib/fontconfig.Version.properties陈每文
JavaHome/lib/fontconfig.Version.bfc
JavaHome/lib/fontconfig.properties
JavaHome/lib/fontconfig.bfc
其中,JavaHome是JRE 的⽬录;OS表⽰操作系统的种类的字符串,对 Windows,为 “98″, “2000″, “Me”, “XP”, “2003″.对Solaris,为空.对Linux,为 “Sun”, “RedHat”, “Turbo”, “SuSE”;Version 表⽰操作系统版本的字符串。另外,上⾯的⽂件以 .properties 为扩展名的为⽂本⽂件,以 .bfc 结尾的是⼆进制⽂件。
按照这个⽂档的说明,我们可以按照下⾯的⽅法来配置中⽂字体。
确定系统的发布版类型,判别⽅法是 /etc ⽬录下的 release ⽂件:
/
etc/redhat-release => RedHat
/etc/sun-release => Sun
/etc/turbolinux-release => Turbo
菲利浦亲王/etc/SuSE-release => SuSE
按这种判断⽅法,Fedora 等发源于 RedHat 的发布版都属于 RedHat 类。如果 /etc ⽬录下不存在上⾯ 4 个⽂件的任何⼀个,则 OS 为空。
拷贝 JavaHome/lib/fontconfig.OS.properties.src 为 JavaHome/lib/fontconfig.OS.properties。如对于 Fedora:
cp fontconfig.RedHat.properties.src fontconfig.RedHat.properties
对于不属于上⾯ 4 类的发布版,不妨拷贝 RedHat 的配置⽂件为 fontconfig.properties:
cp fontconfig.RedHat.properties.src fontconfig.properties
编辑上述 .properties ⽂件,在⽂件的“Font File Names”⼀节⾥,到在下⾯⼀⾏:
机械迷城文字攻略filename.-misc-zysong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/chinese/f
将“=”号以后的中⽂字体⽂件名,改为本系统上存在的⼀个中⽂字体⽂件名。您如果愿意,可以修改其他⼏⾏,为繁体中⽂、⽇语、韩语等您可能⽤到的语⾔设置合适的字体。
经过这么简单的修改,Java 的图形界⾯程序就可以正确地显⽰中⽂了。
上⾯介绍的是设置中⽂字体的标准的做法。另外,还有⼀个“偷懒”的做法。这就是:不需要修改任何⽂件,只要创建⼀个新⽬录:
JavaHome/lib/fonts/fallback/
然后把中⽂字体的 TTF ⽂件拷贝到这个⽬录⾥就 OK 了!
其实不只netbeans,我们经常会发现在Linux下,很多其它的java应⽤程序的中⽂会变成⼀个⼀个的“⼝”字,都是同样的原因。解决的办法也是⼀样的。
字体格式
我在linux中双击字体⽂件名就看到了, 包括⼏乎所有字体格式, 如pfb, ttf, otf, pfa, pcf等, 但⽆法看到afm, 和tfm格式的.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论