You are not logged in.
Here is my chinese opmitised fonts.conf file, and ANYBODY who is using another language is supposed to benefit from it, you can get better font display if it works, so I ask for more tester, all you neet to do is to replace your original fonts.conf file(under your /ete/fonts/) with this one, don't forget backup firstly.
I don't know how to enclose an attachment, so I post my fonts.conf 's content here, I am using freetype 2.1.8 and fontconfig 2.2.2, I compiled them by abs, and almost the same PKGBUILD as Judd, however I don't apply any patches.
fonts.conf:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts.conf file to configure system font access -->
<fontconfig><!--
The intent of this standard configuration file is to be adequate for
most environments. If you have a reasonably normal environment and
have found problems with this configuration, they are probably
things that others will also want fixed. Please send any suggested
changes to fonts@xfree86.org so that future releases can include
such changes.Note that the normal 'make install' procedure for XFree86 is to
replace any existing fonts.conf file with the new version. Place
any local customizations in local.conf which this file references.Keith Packard
--><!-- Font directory list configured on Mon Feb 24 17:42:07 EST 2003 -->
<dir>/usr/share/fonts</dir>
<dir>/usr/X11R6/lib/X11/fonts/Type1</dir>
<dir>/usr/X11R6/lib/X11/fonts/TTF</dir>
<dir>~/.fonts</dir><!--
Enable sub-pixel rendering
<match target="font">
<test qual="all" name="rgba">
<const>unknown</const>
</test>
<edit name="rgba" mode="assign"><const>rgb</const></edit>
</match>
--><!--
Accept deprecated 'mono' alias, replacing it with 'monospace'
-->
<match target="pattern">
<test qual="any" name="family">
<string>mono</string>
</test>
<edit name="family" mode="assign">
<string>monospace</string>
</edit>
</match><!--
Accept alternate 'sans serif' spelling, replacing it with 'sans-serif'
-->
<match target="pattern">
<test qual="any" name="family">
<string>sans serif</string>
</test>
<edit name="family" mode="assign">
<string>sans-serif</string>
</edit>
</match><!--
Accept deprecated 'sans' alias, replacing it with 'sans-serif'
-->
<match target="pattern">
<test qual="any" name="family">
<string>sans</string>
</test>
<edit name="family" mode="assign">
<string>sans-serif</string>
</edit>
</match><!--
Mark common families with their generics so we'll get
something reasonable
--><!--
Serif faces
-->
<alias>
<family>Times</family>
<family>Times New Roman</family>
<family>Nimbus Roman No9 L</family>
<family>Luxi Serif</family>
<family>Kochi Mincho</family>
<family>AR PL SungtiL GB</family>
<family>AR PL Mingti2L Big5</family>
<family>Baekmuk Batang</family>
<family>NSimSun</family>
<family>SimSun</family>
<default><family>serif</family></default>
</alias>
<!--
Sans-serif faces
-->
<alias>
<family>Helvetica</family>
<family>Arial</family>
<family>Verdana</family>
<family>Tahoma</family>
<family>Nimbus Sans L</family>
<family>Luxi Sans</family>
<family>Kochi Gothic</family>
<family>AR PL KaitiM GB</family>
<family>AR PL KaitiM Big5</family>
<family>Baekmuk Dotum</family>
<family>FZYuanTi</family>
<default><family>sans-serif</family></default>
</alias>
<!--
Monospace faces
-->
<alias>
<family>Courier</family>
<family>Courier New</family>
<family>Andale Mono</family>
<family>Luxi Mono</family>
<family>Nimbus Mono L</family>
<family>SimHei</family>
<default><family>monospace</family></default>
</alias>
<!--
If the font still has no generic name, add sans-serif
-->
<match target="pattern">
<test qual="all" name="family" compare="not_eq">
<string>sans-serif</string>
</test>
<test qual="all" name="family" compare="not_eq">
<string>serif</string>
</test>
<test qual="all" name="family" compare="not_eq">
<string>monospace</string>
</test>
<edit name="family" mode="append_last">
<string>sans-serif</string>
</edit>
</match>
<!--
Load per-user customization file
-->
<include ignore_missing="yes">~/.fonts.conf</include><!--
Load local system customization file
-->
<include ignore_missing="yes">local.conf</include><!--
Alias well known font names to available TrueType fonts
-->
<alias>
<family>Times</family>
<accept><family>Times New Roman</family></accept>
</alias>
<alias>
<family>Helvetica</family>
<accept><family>Verdana</family></accept>
</alias>
<alias>
<family>Arial</family>
<accept><family>Verdana</family></accept>
</alias>
<alias>
<family>Courier</family>
<accept><family>Courier New</family></accept>
</alias><!--
Provide required aliases for standard names
-->
<alias>
<family>serif</family>
<prefer>
<family>Nimbus Roman No9 L</family>
<family>Luxi Serif</family>
<family>Kochi Mincho</family>
<family>Baekmuk Batang</family>
<family>Times New Roman</family>
<family>Times</family>
<family>STZhongsong</family>
</prefer>
<accept>
<family>SimSun</family>
<family>ZYSong18030</family>
<family>AR PL SungtiL GB</family>
<family>AR PL Mingti2L Big5</family>
</accept>
</alias><match target="pattern">
<test qual="any" name="family">
<string>sans-serif</string>
</test>
<edit name="family" mode="append" binding="strong">
<string>Verdana</string>
</edit>
</match><alias>
<family>sans-serif</family>
<prefer>
<family>Luxi Sans</family>
<family>Nimbus Sans L</family>
<family>Helvetica</family>
<family>Kochi Gothic</family>
<family>Baekmuk Gulim</family>
<family>Verdana</family>
<family>Arial</family>
<family>FZYuanTi</family>
</prefer>
<accept>
<family>SimHei</family>
<family>STKaiti</family>
<family>AR PL KaitiM GB</family>
<family>AR PL KaitiM Big5</family>
</accept>
</alias><alias>
<family>monospace</family>
<prefer>
<family>Luxi Mono</family>
<family>Nimbus Mono L</family>
<family>Kochi Gothic</family>
<family>Baekmuk Gulim</family>
<family>Andale Mono</family>
<family>Courier New</family>
<family>SimHei</family>
</prefer>
<accept>
<family>AR PL SungtiL GB</family>
<family>AR PL Mingti2L Big5</family>
</accept>
</alias><!--
We can't hint CJK fonts well, so turn off hinting for CJK fonts.
--><match target="font">
<test name="lang" compare="contains">
<string>ja</string>
</test>
<edit name="hinting" mode="assign">
<bool>false</bool>
</edit>
<!-- the rh_prefer_bitmaps options (a nonstandard
Red Hat extension), controls whether embedded
bitmaps, when available are preferred
to antialiased rendering. For Japanese,
we prefer antialiased rendering -->
<edit name="rh_prefer_bitmaps" mode="assign">
<bool>false</bool>
</edit>
</match>
<match target="font">
<test name="lang" compare="contains">
<string>ko</string>
</test>
<edit name="hinting" mode="assign">
<bool>false</bool>
</edit>
</match>
<match target="font">
<test name="lang" compare="contains">
<string>zh</string>
</test>
<edit name="hinting" mode="assign">
<bool>false</bool>
</edit>
</match><!--
Artificial oblique for fonts without an italic or oblique version
--><match target="font">
<!-- check to see if the font is roman -->
<test name="slant">
<const>roman</const>
</test>
<!-- check to see if the pattern requested non-roman -->
<test target="pattern" name="slant" compare="not_eq">
<const>roman</const>
</test>
<!-- multiply the matrix to slant the font -->
<edit name="matrix" mode="assign">
<times>
<name>matrix</name>
<matrix><double>1</double><double>.2</double>
<double>0</double><double>1</double>
</matrix>
</times>
</edit>
<!-- pretend the font is oblique now -->
<edit name="slant" mode="assign">
<const>oblique</const>
</edit>
</match><config>
<!--
These are the default Unicode chars that are expected to be blank
in fonts. All other blank chars are assumed to be broken and
won't appear in the resulting charsets
-->
<blank>
<int>0x0020</int> <!-- SPACE -->
<int>0x00a0</int> <!-- NO-BREAK SPACE -->
<int>0x00ad</int> <!-- SOFT HYPHEN -->
<int>0x115f</int> <!-- HANGUL CHOSEONG FILLER -->
<int>0x1160</int> <!-- HANGUL JUNGSEONG FILLER -->
<int>0x1680</int> <!-- OGHAM SPACE MARK -->
<int>0x2000</int> <!-- EN QUAD -->
<int>0x2001</int> <!-- EM QUAD -->
<int>0x2002</int> <!-- EN SPACE -->
<int>0x2003</int> <!-- EM SPACE -->
<int>0x2004</int> <!-- THREE-PER-EM SPACE -->
<int>0x2005</int> <!-- FOUR-PER-EM SPACE -->
<int>0x2006</int> <!-- SIX-PER-EM SPACE -->
<int>0x2007</int> <!-- FIGURE SPACE -->
<int>0x2008</int> <!-- PUNCTUATION SPACE -->
<int>0x2009</int> <!-- THIN SPACE -->
<int>0x200a</int> <!-- HAIR SPACE -->
<int>0x200b</int> <!-- ZERO WIDTH SPACE -->
<int>0x200c</int> <!-- ZERO WIDTH NON-JOINER -->
<int>0x200d</int> <!-- ZERO WIDTH JOINER -->
<int>0x200e</int> <!-- LEFT-TO-RIGHT MARK -->
<int>0x200f</int> <!-- RIGHT-TO-LEFT MARK -->
<int>0x2028</int> <!-- LINE SEPARATOR -->
<int>0x2029</int> <!-- PARAGRAPH SEPARATOR -->
<int>0x202a</int> <!-- LEFT-TO-RIGHT EMBEDDING -->
<int>0x202b</int> <!-- RIGHT-TO-LEFT EMBEDDING -->
<int>0x202c</int> <!-- POP DIRECTIONAL FORMATTING -->
<int>0x202d</int> <!-- LEFT-TO-RIGHT OVERRIDE -->
<int>0x202e</int> <!-- RIGHT-TO-LEFT OVERRIDE -->
<int>0x202f</int> <!-- NARROW NO-BREAK SPACE -->
<int>0x205f</int> <!-- MEDIUM MATHEMATICAL SPACE -->
<int>0x2060</int> <!-- WORD JOINER -->
<int>0x2061</int> <!-- FUNCTION APPLICATION -->
<int>0x2062</int> <!-- INVISIBLE TIMES -->
<int>0x2063</int> <!-- INVISIBLE SEPARATOR -->
<int>0x206A</int> <!-- INHIBIT SYMMETRIC SWAPPING -->
<int>0x206B</int> <!-- ACTIVATE SYMMETRIC SWAPPING -->
<int>0x206C</int> <!-- INHIBIT ARABIC FORM SHAPING -->
<int>0x206D</int> <!-- ACTIVATE ARABIC FORM SHAPING -->
<int>0x206E</int> <!-- NATIONAL DIGIT SHAPES -->
<int>0x206F</int> <!-- NOMINAL DIGIT SHAPES -->
<int>0x3000</int> <!-- IDEOGRAPHIC SPACE -->
<int>0x3164</int> <!-- HANGUL FILLER -->
<int>0xfeff</int> <!-- ZERO WIDTH NO-BREAK SPACE -->
<int>0xffa0</int> <!-- HALFWIDTH HANGUL FILLER -->
<int>0xfff9</int> <!-- INTERLINEAR ANNOTATION ANCHOR -->
<int>0xfffa</int> <!-- INTERLINEAR ANNOTATION SEPARATOR -->
<int>0xfffa</int> <!-- INTERLINEAR ANNOTATION TERMINATOR -->
</blank>
<!--
Rescan configuration every 30 seconds when FcFontSetList is called
-->
<rescan>
<int>30</int>
</rescan>
</config></fontconfig>
and my freetype 2.1.8 PKGBUILD:
# $Id: PKGBUILD,v 1.18 2004/04/30 03:22:41 judd Exp $
# Maintainer: judd <jvinet@zeroflux.org>
force=y
pkgname=freetype2
pkgver=2.1.8
pkgrel=1
pkgdesc="TrueType font rendering library"
url="http://freetype.sourceforge.net"
depends=('glibc' 'zlib')
source=(ftp://gd.tuwien.ac.at/publishing/freetype/freetype2/freetype-$pkgver.tar.bz2)
install=freetype2.install
md5sums=('f717615787a1aadbdb164d1bc23c2308')build() {
cd $startdir/src/freetype-$pkgver
# enable the bytecode interpreter
# patch -Np1 -i ../bytecode.patch
./configure --prefix=/usr
make || return 1
make DESTDIR=$startdir/pkg install
}
PKGBUILD for fontconfig 2.2.2:
# $Id: PKGBUILD,v 1.5 2004/02/07 20:49:19 judd Exp $
# Maintainer: judd <jvinet@zeroflux.org>
pkgname=fontconfig
pkgver=2.2.2
pkgrel=1
pkgdesc="A library for configuring and customizing font access"
url="http://www.freedesktop.org/software/fontconfig"
depends=('expat' 'freetype2' 'zlib')
backup=('etc/fonts/local.conf' 'etc/fonts/fonts.conf')
source=(http://pdx.freedesktop.org/software/fontconfig/releases/fontconfig-$pkgver.tar.gz)
md5sums=('af6e9a8addfa89aa68d703d5eb004185')build() {
cd $startdir/src/$pkgname-$pkgver
# patch -Np1 -i ../freetype.patch
./configure --prefix=/usr --sysconfdir=/etc
make || return 1
make DESTDIR=$startdir/pkg install
install -D -m644 ../fonts.conf $startdir/pkg/etc/fonts/fonts.conf
mkdir -p $startdir/pkg/usr/X11R6/bin
ln -sf /usr/bin/fc-cache $startdir/pkg/usr/X11R6/bin/fc-cache
}
Offline
Oh, you can contact me at iamganlu@21cn.com, thank you. and I am not a developer or maintainer of ArchLinux, if you are interested in testing, don't complain Archlinux's developer, I did it just for myself, but after I find it work and see someone complaining bad i18n support of Archlinux, so I decide to post it here, if I can be of any help, that's my pleasure, if not, dont' complain about it.
Offline
I don't know if I dare to try this ganlu. I try to understand taoism but in iso-8859-1 that is ,lol....
arch + gentoo + initng + python = enlisy
Offline
It's surely harmless, ha ha. I't's nothing about chinese specific, I am using English interface, but I have to deal with chinese, that's why I have to change some lines in the fonts.conf, I learn it from some chinese hackers. I can see very appearant change after I use this one, and I am using Gnome 2.6.1.
Offline
nihao,
Let me try. Because I am chinese too.
Can you make libxft, freetype and fontconfig that have Firefly patches applied?
I want to try those pacakges too.
Also, do you use KDE? are you happy with the KDE konsole fonts?
Perhaps we can discuss this issue more and even write a chinese how-to for arch.
When false is taken for true, true becomes false;
If non-being turns into being, being becomes non-being.
Pages full of fantastic talk
Penned with bitter tears;
All men call the author mad,
None his message hears.
Offline
yes ,we should have a libxft freetype fontconfig FAQ for user from china!
Offline
Can you make libxft, freetype and fontconfig that have Firefly patches applied?
I want to try those pacakges too.
I have compiled those patched packages before, not only with firefly's but also aiko's (sorry for possible misspell), but now I think it's better not do any patches at all, since I am quite satisfied with the latest freetype2 and fontconfig, firefle gives me more trouble than better display, I mean I don't want just bold chinese or chinese fonts name at price of my system stability. Of course, if you want one, I will post my PKGBUILD, but I strongly recommand you try the latest version.
do you use KDE
KDE is absolutely excellent DE, but I feel it a little bit bloating, I am a Gnome die-hard, ha ha, but you can set right konsole environment for better KDE konsole fonts.
Really nice to know there are many chinese Archlinux fans.
Offline
Seems you have gone further in Arch than me.
Then why not write a Chinese how-to guide in wiki page or here?
All Chinese arch users can benefit from this chinese howto and contribute their ideas.
What do you think?
When false is taken for true, true becomes false;
If non-being turns into being, being becomes non-being.
Pages full of fantastic talk
Penned with bitter tears;
All men call the author mad,
None his message hears.
Offline
Hi ganlu,
I don't know if this will help you, but there is a package called mlterm in extra.
This is compile with freetype2 support and uses xft AFAIK. Maybe this brings
you a console which you can use with your desired fonts. On the other hand,
it doesn't provide tabs which is a clear shortcoming compared to konsole or
gnome-terminal.
bye neri
KDE is absolutely excellent DE, but I feel it a little bit bloating, I am a Gnome die-hard, ha ha, but you can set right konsole environment for better KDE konsole fonts.
Really nice to know there are many chinese Archlinux fans.
Offline
Then why not write a Chinese how-to guide in wiki page or here?
All Chinese arch users can benefit from this chinese howto and contribute their ideas.
I have written very basic one and post in the community of linuxsir.org, I will pick it up later and add new feature when I am free.
Offline
I got brave and gave your font.conf a shot. everything worked great but when building the fontconfig pkg I had to change the source line to...
source=(http://freedesktop.org/~fontconfig/release/fontconfig-2.2.2.tar.gz)
other than that the freetype and font pkgbuild files worked and installed fine.
When I replaced my font.conf file with yours, after backing up mine ofcourse, and rebooted I didn't have any problems but the overall apearence was not as good as it was when using my original file. I switched back to my original and no harm done. I don't speak chinese but was curious. I'm just learning abs and building my own packages. I was impressed with your pkgbuild files working and then installing with no errors. The first ones I have ever used that worked. but now when I run pacman -Su it wants to upgrade back to fontconfig-2.2.1-2 and freetype2-2.1.7-1. I should say downgrade. I guess I need to search for an answer to why it doesn't recognize the new pakages as being the latest.
-- archlinux 是一个极好的 linux。
Offline
but now when I run pacman -Su it wants to upgrade back to fontconfig-2.2.1-2 and freetype2-2.1.7-1. I should say downgrade. I guess I need to search for an answer to why it doesn't recognize the new pakages as being the latest.
pacman -Syu
y = download the latest package list (with the latest versions)
Note: never do a -u without a -y!
Hmm.... Maybe pacman should show a warning in this case (something like: "Upgrading migh not get you the latest packs. Would you also like to sync the package lists first? [Y/n]")
:: / my web presence
Offline
Mostly my font.conf improves Chinese or some CJK display iwthout hurting people using other language. When you compile some latest version of packages which are not included in the offical repository, you'd better put a line "IgnorePkg = XXx" in you /etc/pacman.conf, so when you run pacman with -Syu, pacman simply ignores those package. I have no problem with freetype 2.1.8, I know it caused some problems with arch's firefox build and so on. I take it because I heard version 2.1.8 merges some patches coming from some Chinese and CJK developers, which will make better CJK fonts display quality. For some reasions I keeped freetype2 bytecode turning off, but now I thinks it' better to turn it on for Western fonts display, and I turned off autohinting but got hinting on for the Chinese fonts, which makes good sense in my point.
Anyway, I think ABS is really flexible and I appreciate the hard work of developers and thanks for your brave using my font.conf. ha ha.
Offline