快紀 | 網誌 | 討論區 | LDP | CLDP
CLE 論壇 首頁 CLE 論壇
任何跟中文化相關的議題都可在此討論
 
 CLECLE 首頁  常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 RDF 我的最愛我的最愛  個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入 

freetype 2.1.9, fontconfig 2.2.3, libXft 2.1.6 PKGBUILD
前往頁面 1, 2, 3  下一頁
 
發表新主題   回覆主題    CLE 論壇 首頁 -> ArchLinux
加到我的最愛 :: 上一篇主題 :: 下一篇主題  
發表人 內容
訪客






發表發表於: 星期四 十月 21, 2004 3:55 pm    文章主題: freetype 2.1.9, fontconfig 2.2.3, libXft 2.1.6 PKGBUILD 引言回覆

这些都有加入了提高中文字体现实质量的"必要的"patch,包括firefly先生的,在我的系统上测试成功,希望对大家有用。参考gentoo的ebuild而写,比较不规范,但能使用。Very Happy

请按照freetype,fontconfig,libxft的顺序编译。

1.freetype
代碼:

# PKGBUILD created by Neo.K <i_anzi@yahoo.com.cn>
pkgname=freetype2
pkgver=2.1.9
pkgrel=1
source=(http://voxel.dl.sourceforge.net/sourceforge/freetype/freetype-2.1.9.tar.bz2\
        http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/freetype/files/2.1/freetype-2.1.9-autohint-cjkfonts-20040809.patch)
build() {
        cd $startdir/src/freetype-2.1.9
        patch -p1<../freetype-2.1.9-autohint-cjkfonts-20040809.patch
        ./configure --prefix=/usr
        make || return 1
        make DESTDIR=$startdir/pkg install
        }

回頂端
Neo
高一


註冊時間: 2004-10-14
文章: 21

發表發表於: 星期四 十月 21, 2004 3:56 pm    文章主題: 引言回覆

2.fontconfig

代碼:

# PKGBUILD created by Neo.K <i_anzi@yahoo.com.cn>
pkgname=fontconfig
pkgver=2.2.3
pkgrel=1
source=(http://freedesktop.org/~fontconfig/release/$pkgname-$pkgver.tar.gz\
        http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/fontconfig/files/patch/fontconfig-2.1-slighthint.patch\
        http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/fontconfig/files/patch/fontconfig-2.2.1-AppleRoman-DynaFont.patch\
        http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/fontconfig/files/patch/fontconfig-2.2.1-include_CJK_charmaps-20030626.patch\
        http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/fontconfig/files/patch/fontconfig-2.2.92-add_extra_option-20031207.patch\
        http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/fontconfig/files/patch/fontconfig-2.2.3-default_config-glc.patch\
        http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/fontconfig/files/patch/fontconfig-2.2.3-multifamily.patch)
build() {
        cd $startdir/src/$pkgname-$pkgver
        patch -p1<../fontconfig-2.1-slighthint.patch
        patch -p1<../fontconfig-2.2.1-AppleRoman-DynaFont.patch
        patch -p1<../fontconfig-2.2.1-include_CJK_charmaps-20030626.patch
        patch -p1<../fontconfig-2.2.92-add_extra_option-20031207.patch
        patch -p1<../fontconfig-2.2.3-default_config-glc.patch
        patch -p1<../fontconfig-2.2.3-multifamily.patch
        ./configure  --x-includes=/usr/X11R6/include \
                     --x-libraries=/usr/X11R6/lib \
                     --prefix=/usr --sysconfdir=/etc
        make || return 1
        make DESTDIR=$startdir/pkg install
        }

_________________
drop slack Slackware
pick solid Archlinux
回頂端
檢視會員個人資料 發送私人訊息
Neo
高一


註冊時間: 2004-10-14
文章: 21

發表發表於: 星期四 十月 21, 2004 3:58 pm    文章主題: 引言回覆

代碼:

# PKGBUILD created by Neo.K <i_anzi@yahoo.com.cn>
pkgname=libXft
pkgver=2.1.6
pkgrel=1
source=(http://fontconfig.org/release/$pkgname-$pkgver.tar.gz\      http://gentoo.linuxsir.org/download/gentoo/portage/x11-libs/libXft/files/libXft-2.1.2-CJK-extra-20031217.patch)

build() {
        cd $startdir/src/$pkgname-$pkgver
        patch -p1<../../libXft-2.1.2-CJK-extra-20031217.patch
        ./configure --x-includes=/usr/X11R6/include \
                    --x-libraries=/usr/X11R6/lib \
                    --includedir=/usr/X11R6/include \
                    --libdir=/usr/X11R6/lib
        make || return 1
        make DESTDIR=$startdir/pkg install
        }

_________________
drop slack Slackware
pick solid Archlinux
回頂端
檢視會員個人資料 發送私人訊息
Neo
高一


註冊時間: 2004-10-14
文章: 21

發表發表於: 星期四 十月 21, 2004 4:01 pm    文章主題: 引言回覆

PKGBUILD省了很多东西,原因是有些不必要,有些不懂(比如,depends这一项,我都不清楚到底依赖什么,这是我害怕rpm的原因,现在又碰到了,都怪我用惯slack了 Confused )。

希望有心人完善它,谢谢!
_________________
drop slack Slackware
pick solid Archlinux
回頂端
檢視會員個人資料 發送私人訊息
ietiland
大一


註冊時間: 2004-09-01
文章: 131

發表發表於: 星期四 十月 21, 2004 6:51 pm    文章主題: 引言回覆

depends的部分在freetype2與fontconfig應可參考/var/abs裡的設定
libXft就沒辦法了,在ARCH中libXft是包在xorg或xfree86......
不知Neo兄是如何安裝libXft?
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
Neil536T
系主任


註冊時間: 2004-08-25
文章: 239
來自: Taipei

發表發表於: 星期四 十月 21, 2004 7:11 pm    文章主題: 引言回覆

我都是看那套件的官方網站的說明或都是原始檔內都有說明,他所需的相關套件為何,所以它並沒有多難。

另外我也用這樣的方式測試,我是多系統共同一個硬碟的,所以我一顆硬碟內至少有一個winxp,一個是此arch linux,那我先安裝arch base,再到winxp將它備份,再回到arch中開始打包測試,不斷的重覆依不同的性質建立不同的環境來測試套件,這樣就可以從中得到你要的資訊,不過這方式是最笨的方式了。

附注:這些套件,我近期沒辦法打包哦,因為此台電腦暫時沒空轉換到arch linux中,要下星期才能用。不過,有需要的人可以先試著打包,並改進這些pkgbuild。
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站 AIM Address 雅虎訊息通 MSN Messenger
Neo
高一


註冊時間: 2004-10-14
文章: 21

發表發表於: 星期四 十月 21, 2004 8:11 pm    文章主題: 引言回覆

ietiland 寫到:
depends的部分在freetype2與fontconfig應可參考/var/abs裡的設定
libXft就沒辦法了,在ARCH中libXft是包在xorg或xfree86......
不知Neo兄是如何安裝libXft?

代碼:
pacmac -Af libXft*.gz

強制安裝,覆蓋原來的libXft*.so,不會影響系統。

其實,archlinux的xorg本已包含libXft,是不是可以把patch直接用于xorg然後再編譯呢?

只是個設想,不知能不能實現。不過我都有看到有slackware用戶用這樣的方法包裝了xorg的slackware套件,應該是可以實現的(更為讓人驚奇的是,slackware的官方套件中竟然找不到freetype和fontconfig,更不用説是libXft。它們都直接集成到xorg中去了。 Shocked
_________________
drop slack Slackware
pick solid Archlinux
回頂端
檢視會員個人資料 發送私人訊息
ietiland
大一


註冊時間: 2004-09-01
文章: 131

發表發表於: 星期五 十月 22, 2004 9:20 am    文章主題: 引言回覆

呵∼一語驚醒夢中人,我還在想包在xorg怎麼辦,
有辦法獨立出來嗎?要是其他的套件也如此該怎麼辦。

所以我想patch xorg應該是蠻可行的而且是比較根本性的
解決辦法。 Smile
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
ganloo
國三


註冊時間: 2004-09-25
文章: 13
來自: ChongQing

發表發表於: 星期六 十月 23, 2004 11:36 am    文章主題: 引言回覆

依赖关系,一个是可以参考官方原来的pkgubild;二是可以在编译完毕后,用namcap命令检查,推荐。
回頂端
檢視會員個人資料 發送私人訊息
ganloo
國三


註冊時間: 2004-09-25
文章: 13
來自: ChongQing

發表發表於: 星期六 十月 23, 2004 12:43 pm    文章主題: 引言回覆

修改了一下,主要是参考官方的PKGBUILD添加了依赖关系和增加了fontconfig的install。
引言回覆:
# $Id: PKGBUILD,v 1.18 2004/04/30 03:22:41 judd Exp $
# Maintainer: judd <jvinet@zeroflux.org>
# PKGBUILD modified by Neo.K <i_anzi@yahoo.com.cn>
force=y
pkgname=freetype2
pkgver=2.1.9
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\ bytecode.patch http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/freetype/files/2.1/freetype-2.1.9-autohint-cjkfonts-20040809.patch)
install=freetype2.install
md5sums=('ec1b903e4be5f073caa72458ea58c29c' '99ef2d11ed112baf218605a96c791858' 'd91ebddaa55df8f3c23982bb6e7e9ddd')

build() {
cd $startdir/src/freetype-$pkgver
# enable the bytecode interpreter
patch -Np1 -i ../bytecode.patch
# cjkfonts autohint patch
patch -p1<../freetype-2.1.9-autohint-cjkfonts-20040809.patch
./configure --prefix=/usr
make || return 1
make DESTDIR=$startdir/pkg install
}
]


我始终不赞成给一个软件包打很多补丁的做法,这样很难维护,但是我没有太国修改neo的PKGBUILD,只是添加一些地方:
引言回覆:
# PKGBUILD created by Neo.K <i_anzi@yahoo.com.cn>
pkgname=fontconfig
pkgver=2.2.3
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')
install=fontconfig.install
source=(http://freedesktop.org/~fontconfig/release/$pkgname-$pkgver.tar.gz\
http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/fontconfig/files/patch/fontconfig-2.1-slighthint.patch\
http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/fontconfig/files/patch/fontconfig-2.2.1-AppleRoman-DynaFont.patch\
http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/fontconfig/files/patch/fontconfig-2.2.1-include_CJK_charmaps-20030626.patch\
http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/fontconfig/files/patch/fontconfig-2.2.92-add_extra_option-20031207.patch\
http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/fontconfig/files/patch/fontconfig-2.2.3-default_config-glc.patch\
http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/fontconfig/files/patch/fontconfig-2.2.3-multifamily.patch fonts.conf local.conf)
#md5sums=('2466a797d645cda5eb466080fdaec416' '37e60cdff43bf3f04e9db8931e0d1f47' 'e89f2ea2a91cb7c2c66d01ba405a67a7' 'eda3f9ceaf0909cf87fe5dc7037f2bd6' '25b01bf833997d814ee14ac0c8592049' '934d42a9bcf719738d06f41654ba5be6' 'd209bd9cbbbbce95d4e8742371b3d746' '2f33e7cc45461a4f8a99fddcb7fb1a94' '1bcd7335c3fe14a1a0f9f664fcf9c259')

build() {
cd $startdir/src/$pkgname-$pkgver
patch -p1<../fontconfig-2.1-slighthint.patch
patch -p1<../fontconfig-2.2.1-AppleRoman-DynaFont.patch
patch -p1<../fontconfig-2.2.1-include_CJK_charmaps-20030626.patch
patch -p1<../fontconfig-2.2.92-add_extra_option-20031207.patch
patch -p1<../fontconfig-2.2.3-default_config-glc.patch
patch -p1<../fontconfig-2.2.3-multifamily.patch
./configure --x-includes=/usr/X11R6/include \
--x-libraries=/usr/X11R6/lib \
--prefix=/usr --sysconfdir=/etc
make || return 1
make DESTDIR=$startdir/pkg install
}

如果我们的软件包打算进入官方的repo,就不应该打这么多补丁,gentoo的补丁是在是过多了。另外我的fonts.conf是修改过的:
引言回覆:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/fonts.conf file to configure system font access -->
<fontconfig>

<!--
DO NOT EDIT THIS FILE.
IT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.
LOCAL CHANGES BELONG IN 'local.conf'.

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 submit any
problems to the fontconfig bugzilla system located at fontconfig.org

Note that the normal 'make install' procedure for fontconfig 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
-->

<dir>/usr/share/fonts</dir>
<dir>/usr/X11R6/lib/X11/fonts/Type1</dir> <dir>/usr/X11R6/lib/X11/fonts/OTF</dir>
<dir>~/.fonts</dir>

<!--
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>Bitstream Vera Serif</family>
<family>Times</family>
<family>Times New Roman</family>
<family>Nimbus Roman No9 L</family>
<family>Luxi Serif</family>
<family>FZHei</family>
<family>Kochi Mincho</family>

<family>FZZhunYuan-M02</family>
<family>AR PL SungtiL GB</family>
<family>AR PL Mingti2L Big5</family>
<family>Baekmuk Batang</family>
<default><family>serif</family></default>
</alias>
<!--
Sans-serif faces
-->
<alias>
<family>Bitstream Vera Sans</family>
<family>Helvetica</family>
<family>Arial</family>
<family>Verdana</family>
<family>Nimbus Sans L</family>
<family>Luxi Sans</family>
<family>FZHei</family>
<family>FZZhunYuan-M02</family>
<family>Kochi Gothic</family>
<family>AR PL KaitiM GB</family>
<family>AR PL KaitiM Big5</family>
<family>Baekmuk Dotum</family>
<family>SimSun</family>
<default><family>sans-serif</family></default>
</alias>
<!--
Monospace faces
-->
<alias>
<family>Bitstream Vera Sans Mono</family>
<family>Courier</family>
<family>Courier New</family>
<family>Andale Mono</family>
<family>Luxi Mono</family>
<family>Nimbus Mono L</family>
<family>FZHei</family>
<family>FZZhunYuan-M02</family>
<family>NSimSun</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>

<!--
Some Asian fonts misadvertise themselves as monospaced when
in fact they are dual-spaced (half and full). This makes
FreeType very confused as it forces all widths to match.
Undo this magic by disabling the width forcing code -->
<match target="font">
<test name="family"><string>GulimChe</string></test>
<edit name="globaladvance"><bool>false</bool></edit>
</match>

<match target="font">
<test name="family"><string>DotumChe</string></test>
<edit name="globaladvance"><bool>false</bool></edit>
</match>

<match target="font">
<test name="family"><string>BatangChe</string></test>
<edit name="globaladvance"><bool>false</bool></edit>
</match>

<match target="font">
<test name="family"><string>GungsuhChe</string></test>
<edit name="globaladvance"><bool>false</bool></edit>
</match>

<!--
The Bitstream Vera fonts have GASP entries suggesting that hinting be
disabled below 8 ppem, but FreeType ignores those, preferring to use
the data found in the instructed hints. The initial Vera release
didn't include the right instructions in the 'prep' table. Fix this
by disabling hinting manually at smaller sizes (< 8ppem)
-->

<match target="font">
<test name="family">
<string>Bitstream Vera Sans</string>
</test>
<test name="pixelsize" compare="less">
<double>7.5</double>
</test>
<edit name="hinting">
<bool>false</bool>
</edit>
</match>

<match target="font">
<test name="family">
<string>Bitstream Vera Serif</string>
</test>
<test name="pixelsize" compare="less">
<double>7.5</double>
</test>
<edit name="hinting">
<bool>false</bool>
</edit>
</match>

<match target="font">
<test name="family">
<string>Bitstream Vera Sans Mono</string>
</test>
<test name="pixelsize" compare="less">
<double>7.5</double>
</test>
<edit name="hinting">
<bool>false</bool>
</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>

<!--
Aliases to try to find the "best" standard document fonts the user has
-->
<alias>
<family>Times New Roman</family>
<accept>
<family>Thorndale AMT</family>
<family>Nimbus Roman No9 L</family>
</accept>
</alias>
<alias>
<family>Times</family>
<accept>
<family>Nimbus Roman No9 L</family>
<family>Thorndale AMT</family>
<family>Times New Roman</family>
</accept>
</alias>
<alias>
<family>Helvetica</family>
<accept>
<family>Nimbus Sans L</family>
<family>Albany AMT</family>
<family>Arial</family>
</accept>
</alias>
<alias>
<family>Arial</family>
<accept>
<family>Albany AMT</family>
<family>Nimbus Sans L</family>
<family>Arial</family>
</accept>
</alias>
<alias>
<family>Courier</family>
<accept>
<family>Cumberland AMT</family>
<family>Courier New</family>
</accept>
</alias>
<alias>
<family>Courier New</family>
<accept>
<family>Cumberland AMT</family>
</accept>
</alias>

<!--
Check user preference to avoid bitmap fonts and replace
bitmap face names with equivalent scalable fonts
-->

<match target="pattern">
<test name="prefer_outline">
<bool>true</bool>
</test>
<test name="family">
<string>Helvetica</string>
</test>
<edit name="family" mode="prepend" binding="same">
<string>Arial</string>
</edit>
</match>

<match target="pattern">
<test name="prefer_outline">
<bool>true</bool>
</test>
<test name="family">
<string>Times</string>
</test>
<edit name="family" mode="prepend" binding="same">
<string>Times New Roman</string>
</edit>
</match>
<!--
Provide required aliases for standard names
-->
<alias>
<family>serif</family>
<prefer>
<family>Nimbus Roman No9 L</family>
<family>Thorndale AMT</family>
<family>Bitstream Vera Serif</family>
<family>Times New Roman</family>
<family>Luxi Serif</family>
<family>Times</family>
<family>FZHei</family>
<family>FrankRuehl</family>
<family>Kochi Mincho</family>
<family>FZZhunYuan-M02</family>
<family>ZYSong18030</family>
<family>AR PL SungtiL GB</family>
<family>AR PL Mingti2L Big5</family>
<family>Baekmuk Batang</family>
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>
<family>Luxi Sans</family>
<family>Albany AMT</family>
<family>Bitstream Vera Sans</family>
<family>Verdana</family>
<family>Nimbus Sans L</family>
<family>Arial</family>
<family>Helvetica</family>
<family>FZHei</family>
<family>Nachlieli</family>
<family>Kochi Gothic</family>
<family>FZZhunYuan-M02</family>
<family>ZYSong18030</family>
<family>AR PL SungtiL GB</family>
<family>AR PL Mingti2L Big5</family>
<family>Baekmuk Gulim</family>
<family>SimSun</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Luxi Mono</family>
<family>Bitstream Vera Sans Mono</family>
<family>Andale Mono</family>
<family>Cumberland AMT</family>
<family>Courier New</family>
<family>FZHei</family>
<family>Miriam Mono</family>
<family>Nimbus Mono L</family>
<family>Kochi Gothic</family>
<family>FZZhunYuan-M02</family>
<family>ZYSong18030</family>
<family>AR PL SungtiL GB</family>
<family>AR PL Mingti2L Big5</family>
<family>Baekmuk Gulim</family>
</prefer>
</alias>

<!--
We can't hint CJK fonts well, so turn off hinting for CJK fonts.
-->


<match target="font">
<test name="family" compare="eq">
<string>Kochi Mincho</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="family" compare="eq">
<string>FZHei</string>
</test>
<edit name="hinting" mode="assign">
<bool>false</bool>
</edit>
</match>
<match target="font">
<test name="family" compare="eq">
<string>Kochi Gothic</string>
</test>
<edit name="hinting" mode="assign">
<bool>false</bool>
</edit>
<edit name="rh_prefer_bitmaps" mode="assign">
<bool>false</bool>
</edit>
</match>
<match target="font">
<test name="family" compare="eq">
<string>Baekmuk Batang</string>
</test>
<edit name="hinting" mode="assign">
<bool>false</bool>
</edit>
</match>
<match target="font">
<test name="family" compare="eq">
<string>Baekmuk Dotum</string>
</test>
<edit name="hinting" mode="assign">
<bool>false</bool>
</edit>
</match>
<match target="font">
<test name="family" compare="eq">
<string>Baekmuk Gulim</string>
</test>
<edit name="hinting" mode="assign">
<bool>false</bool>
</edit>
</match>
<match target="font">
<test name="family" compare="eq">
<string>Baekmuk Headline</string>
</test>
<edit name="hinting" mode="assign">
<bool>false</bool>
</edit>
</match>
<match target="font">
<test name="family" compare="eq">
<string>AR PL Mingti2L Big5</string>
</test>
<edit name="hinting" mode="assign">
<bool>false</bool>
</edit>
</match>
<match target="font">
<test name="family" compare="eq">
<string>AR PL KaitiM Big5</string>
</test>
<edit name="hinting" mode="assign">
<bool>false</bool>
</edit>
</match>
<match target="font">
<test name="family" compare="eq">
<string>AR PL SungtiL GB</string>
</test>
<edit name="hinting" mode="assign">
<bool>false</bool>
</edit>
</match>
<match target="font">
<test name="family" compare="eq">
<string>AR PL KaitiM GB</string>
</test>
<edit name="hinting" mode="assign">
<bool>false</bool>
</edit>
</match>
<match target="font">
<test name="family" compare="eq">
<string>ZYSong18030</string>
</test>
<edit name="hinting" mode="assign">
<bool>false</bool>
</edit>
</match>

<!--
We also need to turn off hinting for Indic fonts with a joined baseline.
-->
<match target="font">
<test name="family" compare="eq">
<string>Mukti Narrow</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>0.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>0xfffb</int> <!-- INTERLINEAR ANNOTATION TERMINATOR -->
</blank>
<!--
Rescan configuration every 30 seconds when FcFontSetList is called
-->
<rescan>
<int>30</int>
</rescan>
</config>

</fontconfig>


fontconfig.install和local.conf是应用的官方的,你需要把这些同样发在一个目录下。

libxft我根本无法下载源代码,也不赞同单独打包,所以不管了。
回頂端
檢視會員個人資料 發送私人訊息
訪客






發表發表於: 星期六 十月 23, 2004 1:39 pm    文章主題: 引言回覆

多谢,呵呵。 Very Happy

用这么多补丁实在也是没有办法,谁叫我们使用的是中文呢 Confused

我个人不喜欢打开freetype的bytecode,因为我不用mingliu字体,而且感觉打开了以后中文的antialias没有关闭后好看。

感谢完善! Cool
回頂端
Neo.K
訪客





發表發表於: 星期六 十月 23, 2004 1:42 pm    文章主題: 引言回覆

hint:
如果要用官方的fonts.conf local.conf,fontconfig-2.2.3-default_config-glc.patch 这补丁就不需要了,这是Gentoo简体中文用户组的默认fonts.conf和local.conf。
回頂端
ganloo
國三


註冊時間: 2004-09-25
文章: 13
來自: ChongQing

發表發表於: 星期六 十月 23, 2004 6:57 pm    文章主題: 引言回覆

修改了一下:
引言回覆:
# $Id: PKGBUILD,v 1.18 2004/04/30 03:22:41 judd Exp $
# Maintainer: judd <jvinet@zeroflux.org>
# PKGBUILD modified by Neo.K <i_anzi@yahoo.com.cn>
force=y
pkgname=freetype2
pkgver=2.1.9
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\ bytecode.patch http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/freetype/files/2.1/freetype-2.1.9-autohint-cjkfonts-20040809.patch)
install=freetype2.install
md5sums=('ec1b903e4be5f073caa72458ea58c29c' '99ef2d11ed112baf218605a96c791858' 'd91ebddaa55df8f3c23982bb6e7e9ddd')

build() {
cd $startdir/src/freetype-$pkgver
# enable the bytecode interpreter
patch -Np1 -i ../bytecode.patch
# cjkfonts autohint patch
patch -p1<../freetype-2.1.9-autohint-cjkfonts-20040809.patch
export CFLAGS=""
./configure --prefix=/usr
make || return 1
make DESTDIR=$startdir/pkg install
}

使用官方的install文件,如果不喜欢打开bytecode,就注释掉那一行即可。我还是比较西华打开后清爽的感觉。

fontconfig:
引言回覆:
# PKGBUILD created by Neo.K <i_anzi@yahoo.com.cn>
pkgname=fontconfig
pkgver=2.2.3
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')
install=fontconfig.install
source=(http://freedesktop.org/~fontconfig/release/$pkgname-$pkgver.tar.gz\
http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/fontconfig/files/patch/fontconfig-2.1-slighthint.patch\
http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/fontconfig/files/patch/fontconfig-2.2.1-AppleRoman-DynaFont.patch\
http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/fontconfig/files/patch/fontconfig-2.2.1-include_CJK_charmaps-20030626.patch\
http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/fontconfig/files/patch/fontconfig-2.2.92-add_extra_option-20031207.patch\
http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/fontconfig/files/patch/fontconfig-2.2.3-default_config-glc.patch\
http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/fontconfig/files/patch/fontconfig-2.2.3-multifamily.patch fonts.conf local.conf)
#md5sums=('2466a797d645cda5eb466080fdaec416' '37e60cdff43bf3f04e9db8931e0d1f47' 'e89f2ea2a91cb7c2c66d01ba405a67a7' 'eda3f9ceaf0909cf87fe5dc7037f2bd6' '25b01bf833997d814ee14ac0c8592049' '934d42a9bcf719738d06f41654ba5be6' 'd209bd9cbbbbce95d4e8742371b3d746' '2f33e7cc45461a4f8a99fddcb7fb1a94' '1bcd7335c3fe14a1a0f9f664fcf9c259')

build() {
cd $startdir/src/$pkgname-$pkgver
# some cjk patches
patch -p1<../fontconfig-2.1-slighthint.patch
patch -p1<../fontconfig-2.2.1-AppleRoman-DynaFont.patch
patch -p1<../fontconfig-2.2.1-include_CJK_charmaps-20030626.patch
patch -p1<../fontconfig-2.2.92-add_extra_option-20031207.patch
# patch -p1<../fontconfig-2.2.3-default_config-glc.patch
# patch -p1<../fontconfig-2.2.3-multifamily.patch
# freetype patch
patch -p1 <../freetype.patch
./configure --x-includes=/usr/X11R6/include \
--x-libraries=/usr/X11R6/lib \
--prefix=/usr --sysconfdir=/etc
make || return 1
make DESTDIR=$startdir/pkg install
install -D -m644 ../fonts.conf $startdir/pkg/etc/fonts/fonts.conf
install -D -m644 ../local.conf $startdir/pkg/etc/fonts/local.conf
mkdir -p $startdir/pkg/usr/X11R6/bin
ln -sf /usr/bin/fc-cache $startdir/pkg/usr/X11R6/bin/fc-cache
}

根据Neo.K的建议,重新使用官方的fonts.conf(开始使用的fonts.conf有一点问题,有些字体会不再显示在字体选项中),因此不打那个补丁了。另外我个人不喜欢用multifamily补丁(可以显示字体的中文名-遗憾的是同时英文名同时还是显示,应该象windows那样显示了中文字体名就不再显示英文的字体名才对,而且在firefox里面中文字体名无法正确显示)。其他的都使用了官方的install. fonts.conf, local.conf。
但是很遗憾,在我的系统中看不出太多的好处,也没有发现什么坏处。
PS:Neo.K,拜托,PKGBUILD不写依赖关系是最糟糕的事情,写简单的,基本的,但是不写的话,最终会把系统弄得一团糟。
回頂端
檢視會員個人資料 發送私人訊息
Neo
高一


註冊時間: 2004-10-14
文章: 21

發表發表於: 星期六 十月 23, 2004 8:24 pm    文章主題: 引言回覆

感谢,我正努力读namcap的文档,希望以后不要再写这么糟糕的PKGBUID Rolling Eyes

我个人也建议不要使用multifamily的patch了,这样的话,要让gnome,mozilla,firefox的选字程序能显示中文字体名称,得分别给pango,mozilla,firefox打补丁,维护困难。

字体的漂亮与否,跟fonts.conf和local.conf的关系太大了 。

稍等,我会把我的修改版本奉上。

很感谢ganloo各方面的建议。 Very Happy 谢谢。
_________________
drop slack Slackware
pick solid Archlinux
回頂端
檢視會員個人資料 發送私人訊息
ganloo
國三


註冊時間: 2004-09-25
文章: 13
來自: ChongQing

發表發表於: 星期日 十月 24, 2004 12:12 am    文章主題: 引言回覆

现在差不多完整了。
freetype2:
引言回覆:
# $Id: PKGBUILD,v 1.18 2004/04/30 03:22:41 judd Exp $
# Maintainer: judd <jvinet@zeroflux.org>
# Modified by Neo.K <i_anzi@yahoo.com.cn> and ganlu <rhythm_gan@yahoo.com.cn>
force=y
pkgname=freetype2
pkgver=2.1.9
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\ bytecode.patch http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/freetype/files/2.1/freetype-2.1.9-autohint-cjkfonts-20040809.patch)
install=freetype2.install
md5sums=('ec1b903e4be5f073caa72458ea58c29c' '99ef2d11ed112baf218605a96c791858' 'd91ebddaa55df8f3c23982bb6e7e9ddd')

build() {
cd $startdir/src/freetype-$pkgver
# enable the bytecode interpreter
patch -Np1 -i ../bytecode.patch
# cjkfonts autohint patch
patch -p1<../freetype-2.1.9-autohint-cjkfonts-20040809.patch
export CFLAGS=""
./configure --prefix=/usr
make || return 1
make DESTDIR=$startdir/pkg install
}


使用官方的install文件,你需要使用abs把官方PKGUIBLD同步后,再复制到同意目录下。如果不喜欢打开bytecode,就注释掉那一行即可。我还是比较西华打开后清爽的感觉。

fontconfig:
引言回覆:
# Contributor by Neo.K <i_anzi@yahoo.com.cn> and ganlu <rhythm_gan@yahoo.com.cn>
pkgname=fontconfig
pkgver=2.2.3
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')
install=fontconfig.install
source=(http://freedesktop.org/~fontconfig/release/$pkgname-$pkgver.tar.gz\
[url]http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/fontconfig/files/patch/fontconfig-2.1-slighthint.patch\[/url]
[url]http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/fontconfig/files/patch/fontconfig-2.2.1-AppleRoman-DynaFont.patch\[/url]
[url]http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/fontconfig/files/patch/fontconfig-2.2.1-include_CJK_charmaps-20030626.patch\[/url]
[url]http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/fontconfig/files/patch/fontconfig-2.2.92-add_extra_option-20031207.patch\[/url]
# [url]http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/fontconfig/files/patch/fontconfig-2.2.3-default_config-glc.patch\[/url]
http://gentoo.linuxsir.org/download/gentoo/portage/media-libs/fontconfig/files/patch/fontconfig-2.2.3-multifamily.patch fonts.conf local.conf)
md5sums=('2466a797d645cda5eb466080fdaec416' '37e60cdff43bf3f04e9db8931e0d1f47'\
'e89f2ea2a91cb7c2c66d01ba405a67a7' 'eda3f9ceaf0909cf87fe5dc7037f2bd6'\
'25b01bf833997d814ee14ac0c8592049' 'd209bd9cbbbbce95d4e8742371b3d746'\
'e02d9c8be296ea0a80eb9689eae2aeaa' '1bcd7335c3fe14a1a0f9f664fcf9c259')

build() {
cd $startdir/src/$pkgname-$pkgver
# some cjk patches
patch -p1<../fontconfig-2.1-slighthint.patch
patch -p1<../fontconfig-2.2.1-AppleRoman-DynaFont.patch
patch -p1<../fontconfig-2.2.1-include_CJK_charmaps-20030626.patch
patch -p1<../fontconfig-2.2.92-add_extra_option-20031207.patch
# patch -p1<../fontconfig-2.2.3-default_config-glc.patch
patch -p1<../fontconfig-2.2.3-multifamily.patch
# freetype patch
patch -p1 <../freetype.patch
./configure --x-includes=/usr/X11R6/include \
--x-libraries=/usr/X11R6/lib \
--prefix=/usr --sysconfdir=/etc
make || return 1
make DESTDIR=$startdir/pkg install
install -D -m644 ../fonts.conf $startdir/pkg/etc/fonts/fonts.conf
install -D -m644 ../local.conf $startdir/pkg/etc/fonts/local.conf
mkdir -p $startdir/pkg/usr/X11R6/bin
ln -sf /usr/bin/fc-cache $startdir/pkg/usr/X11R6/bin/fc-cache
}


根据Neo.K的建议,重新使用官方的fonts.conf(开始使用的fonts.conf有一点问题,有些字体会不再显示在字体选项中),因此不打那个补丁了。另外我个人不喜欢用multifamily补丁(可以显示字体的中文名-遗憾的是同时英文名同时还是显示,应该象windows那样显示了中文字体名就不再显示英文的字体名才对,而且在firefox里面中文字体名无法正确显示)。其他的都使用了官方的install. fonts.conf, local.conf。

libXft:
引言回覆:
# Contributor by Neo.K <i_anzi@yahoo.com.cn> and ganlu <rhythm_gan@yahoo.com.cn>
pkgname=libXft
pkgver=2.1.6
pkgrel=1
depends=('xorg')
source=(http://freedesktop.org/~xlibs/release/$pkgname-$pkgver.tar.gz\
http://gentoo.linuxsir.org/download/gentoo/portage/x11-libs/libXft/files/libXft-2.1.2-CJK-extra-20031217.patch)
md5sums=('1ba6d9b1aec9a237b508663c46d8a979' 'ba32ca6f098dfcf7243216da71ab4fc0')

build() {
cd $startdir/src/$pkgname-$pkgver
# cjk extra patch for better cjk fonts support
patch -p1<../../libXft-2.1.2-CJK-extra-20031217.patch
./configure --prefix=/usr/X11R6
make || return 1
make DESTDIR=$startdir/pkg install
}

安装的时候需要使用force,即:
pacman -Af /var/abs/local/libXft/libXft-2.1.6-1.pkg.tar.gz

pango:
引言回覆:
# $Id: PKGBUILD,v 1.23 2004/10/04 17:07:47 judd Exp $
# Maintainer: dorphell <dorphell@archlinux.org>
# Modified by ganlu <rhythm_gan@yahoo.com.cn>
pkgname=pango
pkgver=1.6.0
pkgrel=1
pkgdesc="A library for layout and rendering of text"
depends=('glib2' 'x-server')
install=pango.install
source=(http://mirrors.geekbone.org/gnome/sources/$pkgname/1.6/$pkgname-$pkgver.tar.bz2 http://firefly.idv.tw/setfont-xft/patches/pango/1.6.0/pango-1.6.0-style.patch)
url="http://www.gtk.org/"
md5sums=('6c732bbc5fba5a0f1f8086e8aa4f490d' ''2bab01ca4a811e3d960e3e598b3be5dc )

build() {
cd $startdir/src/$pkgname-$pkgver
# firefly pango patch
patch -p1<../pango-1.6.0-style.patch
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make || return 1
make DESTDIR=$startdir/pkg install
}

本来这个打国补丁的pango包是需要libXft包的,但是由于本身libXft并没有单独打包而包含在xofg中的,所以最终决定不把这个依赖关系包含进去,如果你要得到粗体效果,还是需要打过补丁的LibXft支持。
编译都很简单,也没有地方上传打好的包,所以各位自己动手做啦。
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    CLE 論壇 首頁 -> ArchLinux 所有的時間均為 台北時間 (GMT + 8 小時)
前往頁面 1, 2, 3  下一頁
1頁(共3頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票


Powered by phpBB 2.0.17 © 2001, 2002 phpBB Group
正體中文語系由 phpbb-tw 維護製作