160 r Ogg %C9%AB%D6%D0%C9%AB%C2%DB%CC%B3+windows+live 160 160 ܉
%C9%AB%D6%D0%C9%AB%C2%DB%CC%B3+windows+live search 160 %C9%AB%D6%D0%C9%AB%C2%DB%CC%B3+windows+live search Newloveyou Ogg Ogg y Ogg %C9%AB%D6%D0%C9%AB%C2%DB%CC%B3+windows+live Ogg 160 %C9%AB%D6%D0%C9%AB%C2%DB%CC%B3+windows+live Ogg 160 search1 %C9%AB%D6%D0%C9%AB%C2%DB%CC%B3+windows+live Ogg %C9%AB%D6%D0%C9%AB%C2%DB%CC%B3+windows+live 1 Ogg search 160 search 160 @
160 search %C9%AB%D6%D0%C9%AB%C2%DB%CC%B3+windows+live on %C9%AB%D6%D0%C9%AB%C2%DB%CC%B3+windows+live csearchn Newloveyou i 160 %C9%AB%D6%D0%C9%AB%C2%DB%CC%B3+windows+live %C9%AB%D6%D0%C9%AB%C2%DB%CC%B3+windows+live searchsearch
xsearchl %C9%AB%D6%D0%C9%AB%C2%DB%CC%B3+windows+live search 160 %C9%AB%D6%D0%C9%AB%C2%DB%CC%B3+windows+live
160
Ogg %C9%AB%D6%D0%C9%AB%C2%DB%CC%B3+windows+live searchf Newloveyou
Xft Ҳһ library, ʹ Fontconfig match Ҫ֮, Q ԓή@Щ֡Xft rQҪҪʹ core protocol XRender ֡XRender XFree86 4.x extension, J@Ǟ˱ X һ hack, ^Á anti-aliased ֣Ŀǰ ʹV^ anti-aliased text ֻʹ͵ĕrã LucֵĕrҪʹ core lib. Core library x-truetype freetype backendȻҲǿԮֻ֣^ľͲ anti-aliased Чˡ
Еr XRender ʹÕr^W·һf X server X apps, Xft Ҳʹ core lib ֡óʽ؞@Щ}ģ_ YӍ[ء\Ŀġ
Freetype (em>) һܰĮֺʽ죬XFree86 4.3 Ⱥ 2.1.2. Freetype ṩ Xft ήֵYӍ̎ anti-aliasing hinting. freetype ĸ׃Ӱ푵 Xft ֣ Fontconfig ĸ׃Ӱ푵 Xft ȥxց
@evľµ Fontconfig c Xft2 Of Xft1.0 ~/.xftconfig Ͳˡ
b fontconfig, NԓѽһAOOnԵ /etc/fonts/ (һЩ Linux distributions) /usr/X11R6/etc/fonts (һЩ BSD flavors) ҿ fonts.conf @n
fonts.conf Ǻε xml ʽ etc/ e fonts.conf system-wide Oһ㲻hֱӸԸ local.conf ԼĿ ~/.fonts.conf . P fonts.conf ĸNZ manpage e^ѽú ԔM@eֻἰ^ҪһЩݣdȤ߿ man fonts-conf. еO <fontconfig> c </fontconfig> ֮gпS tags, Ԕ tags ԅ fonts.dtd manpage.
<dir> eһ·fontconfig Լfޒȥ@·e^ͣ: <dir>/foo/bar/myfonts</dir>
<include> OnMĸʽһӵġ
Ҫ element ԓ <match> ˡmatch ҪЃɷN÷, һN pattern match, һN font match. ǰߕе match ᘌĸĕõе͵xʽϡʲNҪ͵Č? @ӿᘌeV Fontconfig ԓȥ̎@ЩͣǸV renderer ԓȥ@Щ͡@eһЩõԵбPеČ ՈǢ manpage
Hinting Áѻ@ʾķΞĻޣ͵ĿsҪ иĿ, 箔һlλڃɂظgr, ԓȡ߅ĸ߀߅ ĸ? @Ŀƛ]ãͳF͵r]ЌRС Ť˵r Hinting ~YӍ, V renderer ԓ̎@Щ IJݣʹСֵĕr܉ÿҲ Hinting ǷdzMrM ĹTrueType ͺܶ࣬ Hinting Ͳࡣӵ Hinting ͕׃úy
@}freetype autohint ĹܣԄӞ] hint hinting Ĺ TrueType hinting Ќģ ȫɵʹã autohint Ͳ@ơautohint Ȼo hint һӺã^ٱț] hint ҪЩԒmˣSP}s () Ŀǰ freetype autohint ߀ò齨 hinting yȣʹӢ֣ԭͺܸߣȽ hinting ; ֮ˡԳ˱ԹΞĻϺyǛ] hinting, ʹ autohinter ɵһЩЧ
Anti-alias njĻԔĴСLuȻٿsҪĴСδ MһĸûAacԭ X ֧Ԯ logic \㲻ʹãԲ XRender extension _Ŀġһ Anti-alias ֮⣬Xft ߀֧Ԯ ˞ LCD OӋ subpixel rendering.
ʲN subpixel rendering? ÷ŴRȥ LCD, lFһεLСؘɵġ@ ͨǼtG{}dz hinting, Sr, distribution freetype bytecode hinting _ʹ̓Ȳ bytecode hinting freetype AO]д_ʹ freetype e^ autohinter, ЕrЧ eЕrsM⡣ hinting MrMֵOӋ hinting ĕrֻᘌcֵ@ʾ hinting Ĺ@ʾ҂ @ʾС anti-aliasing ԒͨDzOӋѻĹȵ; hinting ĕrС anti-aliasing ͕@÷dzyŤ˻ DһFP@ freetype ˺ܶŬ autohinter Ҳʽ Լ hinting 㷨 hinting ǂֵܼĆ}Mac OS X anti-aliasing ;Ͷʹ hinting. fontconfig ҂{}ص pattern match: Ҫʹ pattern match, ֻҪµ pattern, ͕е:
<match target="pattern">
...
</match>
gŵĿһB test, ȻһB edit. test ÷:
<test qual="any|all|first|not_first"
name=""
compare="eq|not_eq|less|less_eq|more|more_eq|contains|not_contains">
ֵ
</test>
any ָf, ֻҪ͵ԓ list ֮һзҪ test ֵ, test ͕all ԒҪ list ֮еĶϣfirst Ҫһϣ not_first Ҫ˵һзϵġֻͨõ any, AOҲ any. name eľǰČ, name="family". compare DZ^ėl, eq , less С, Դơ <test> סǂֵҪÁ^ֵ : int, double, string, matrix, bool ȵȡһ test ėl, ͕Mе edit AΣϗl test lČ:
<edit name=""
mode="assign|assign_replace|prepend|append|prepend_first|append_last">
ֵ
</edit>
ע fontconfig , (property) һ list, ༴һԿ Sֵ assign f match ֵȡ, assign_replace fԓ list ֵȡֵָ, prepend tDz list б match ǂֵ ǰ^, Դơ
fonts.conf eһ:
<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>
@ pattern match f, prefer_outline ֵ true ĕr, family ֽ Times, NͰ family list ǰ Times New Roman@ԭ, Times c, ϣSóʽָ Times @ʾr, Ҫc@ʾ, Ҫ Times New Roman @ TrueType @ʾ, @ӿ Times New Roman ăș Times ǰ档 Family matching һN match ÷ pattern matching ֻᘌe͵Čģ÷:
<match target="font">
...
</match>
eӣAO܉_ anti-aliasing, hinting Kʹ subpixel rendering, Ҿ͌:
<match target="font">
<edit name="antialias"><bool>true</bool></edit>
<edit name="rgba" mode="assign"><const>rgb</const></edit>
<edit name="hinting"><bool>true</bool></edit>
</match>
ҿX Luxi Mono @ijЩr, subpixel ̫ÿ, Ҿ͌:
<match target="font">
<test name="family"><string>Luxi Mono</string></test>
<edit name="rgba"><const>none</const></edit>
</match>
Q. кܶ ttf, ҪNb?
ǰf^, ȫG ~/.fonts/ e^ȥɡ symbolic link ҲԡG֮һ fc-list гѰbͿЛ]e档Q. b, ҵijʽ (rxvt, aterm, gtk1.x) sʹ
@Щʽʹ X core fonts, ʹ fontconfig Ҳ]֧Ԯ Xft, ͛]k@ӵı^߀ǿ^yķʽb@Щ͡µ gtk2, Gnome2, mlterm, Mozilla (Firebird), Qt3.x ֧Ԯ fontconfigQ. Ҫʹ¼wԆ
, mingliu.ttc G ~/.fonts ˡQ. Ҫ Windows Сǘӵ¼wkأʲNһЩС¼wĹPأ
()w 11, 12, 13, 15, 16, 20 cĴСeǶc֣QԒfֵ hinting ףЕrc֕^Ч¼wʹ bytecode MϹP, ]оM bytecode interpreter freetype 汾 render ĕr͕Ո_ϵy freetype2 source ֮, include/freetype/config/ftoption.h e #defineTT_CONFIG_OPTION_BYTECODE_INTERPRETER Dzд_ҲʹÃȽ autohinter. ׂضĴСǃȽcͣԛ]б bytecode interpreter Ӱ푡 _ freetype оM bytecode interpreter ֮, O¼w@ЩСr@ʾȽcֶҪ anti-aliased, ~/.fonts.conf :<match target="font">
<test name="family"><string>PMingLiU</string></test>
<edit name="antialias"><bool>true</bool></edit>
<edit name="hinting"><bool>true</bool></edit>
<edit name="autohint"><bool>false</bool></edit>
</match>
<match target="font">
<test name="family"><string>PMingLiU</string></test>
<test name="size" compare="less_eq"><int>12</int></test>
<edit name="antialias" mode="assign"><bool>false</bool></edit>
<edit name="hinting" mode="assign"><bool>true</bool></edit>
</match>
Q. ҵļw (MingLiU) Ӣֺ֕Ȍ?
<match target="font">fһ鲻ԭ, @], N߀Ը spacing:
<test name="family"><string>MingLiU</string></test>
<edit name="globaladvance"><bool>false</bool></edit>
</match>
<match target="font">0 proportional spacing, 100 mono, 110 charcell.
<test name="family"><string>MingLiU</string></test>
<edit name="spacing"><int>0</int></edit>
</match>
Q. Ҫ Gnome2 xεӢͷ_O
Gtk2 ʹÃɽM alias: Sans Serif. Sans ǟor˼Ҳ Arial, Verdana ȵ߅Ƿ֡Serif tr֣ Times. fontconfig ȡęC, /etc/fonts/fonts.conf e@һΣP:
<alias>c@һ:
<family>Bitstream Vera Sans</family>
<family>Helvetica</family>
<family>Arial</family>
<family>Verdana</family>
<family>Nimbus Sans L</family>
<family>Luxi Sans</family>
<family>Kochi Gothic</family>
<family>PMingLiU</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>
<alias>ҪQ list ͼMȥǰ, ڮзҪ@ʾZԵֵĕr͕ϣҰ PMingLiU OĶǰ棬PMingLiU ͕Ҫ@ʾĵĕrȱxȻfPMingLiU K Sans-serif Ҫ serif, Ҫ Bitstream Vera Sans 䣬ʷһ
<family>sans-serif</family>
<prefer>
<family>Bitstream Vera Sans</family>
<family>Verdana</family>
<family>Nimbus Sans L</family>
<family>Luxi Sans</family>
<family>Arial</family>
<family>Helvetica</family>
<family>Kochi Gothic</family>
<family>PMingLiU</family>
<family>AR PL KaitiM GB</family>
<family>AR PL KaitiM Big5</family>
<family>Baekmuk Dotum</family>
<family>SimSun</family>
</prefer>
</alias>
Q. ֵĆ}Dz֪ĺNk
XFT_DEBUG @h׃@ʾͬĂeYӍ_һ terminal, XFT_DEBUG OҪеijʽ֮ǰҲSԎҵ}пOĔֵУXFT_DBG_OPEN 1Ҫͬr_ijׂex헣ͰֵӾͿˡ XFT_DEBUG=3 mozilla _һ͵ڶx헵ģʽ_ mozilla. Ȥǣ GLYPH GLYPHV ͬr_r, Xft console ascii art ӡ :)
XFT_DBG_OPENV 2
XFT_DBG_RENDER 4
XFT_DBG_DRAW 8
XFT_DBG_REF 16
XFT_DBG_GLYPH 32
XFT_DBG_GLYPHV 64
XFT_DBG_CACHE 128
XFT_DBG_CACHEV 256
XFT_DBG_MEMORY 512
Q. ϵͶyʲN^eͣ
Ӣ́f, Bitstream Vera Sans, Bitstream Vera Serif, Bitstream Vera Mono ǸƷ| free ͡Bitstream Cyberbit MȡãFѽMˣH Unicode coverage, nȵȵּ Microsoft Monotype I Verdana, Times New Roman ȵҲƯ hinting; Kochi Gothic Kochi Mincho ǸƷ| free ͡Arial Unicode MS Unicode coverage Ҳֻܴ@͞@N coverage, SطPc^ͱһЩҪÁĵСֵԒĿǰð hinting Pʹְ hinting Pб^˸d^¼wһҪ_⣩Q. @ FAQ ̫]ЎˡҪҵĆ}Ҳܶطeˡ
Ќeĵط`ҲՈָ@e , Ҳֱc Edit this page ԼġQ. @ЩOs܄ӡһж̫韩ˣ