FontConfig
Created: Date(2006-01-03T05:04:00CST) by ["Atie"]
Priority: NeedsPriority
People: NeedsLead, NeedsSecond
- Contributors: ["Atie"], ["Zero0w"]
- Interested:
Status: UbzSpecification, BrainDump (then DraftSpecification then EditedSpecification then ApprovedSpecification), DistroSpecification
- Branch:
- Malone bug:
- Packages affected:
- Depends: This specification is a sub specficication of ["BetterCJKSupportSpecification"].
- Dependents:
- BoF sessions: none yet
Summary
This sub specification aims at improving Font configuration for CJK support in Ubuntu.
Rationale
Use cases
Scope
Design
1. Provide fonts.conf for CJK users to see beautifized fonts without efforts for their own settings.
You can also use fontforge to open and explore the ttf files and determine whether or not they carry embedded bitmaps, and at what sizes.
- There is also another way to enable embedded bitmap globally without the need to match certain range of font size over a particular font name. It is to patch the fontconfig and libXft package directly, here are the patches:
[http://www.linuxhall.org/images/material/fontconfig-2.2.3-add_extra_option-20041127-01.patch fontconfig-2.2.3-add_extra_option-20041127-01.patch]
[http://www.linuxhall.org/images/material/libXft-2.1.6-CJK-extra-20041128.patch libXft-2.1.6-CJK-extra-20041128.patch]
With these patches, a new fontconfig parameter called "embeddedbitmap" can be turned on, which will manage the process globally and only target the font with embedded bitmaps. This is better than the "antialias" parameter because the "antialias" will turn off anti-aliasing even at those font sizes that are without embedded bitmaps. And that's the reason we need to limit it to certain range as we have been doing now.
I haven't been following the upstream discussions so I am not sure why these two patches were rejected. Maybe we can try to push it through the LaunchPad again.
More discussions can be found in this [http://moto.debian.org.tw/viewtopic.php?p=42973&sid=4d707f6f4ec23567f9938d087c0e30ca#42973 Chinese Debian forum].
- There is also another way to enable embedded bitmap globally without the need to match certain range of font size over a particular font name. It is to patch the fontconfig and libXft package directly, here are the patches:
- Chinese
- ttf-arphic-uming
- ttf-newsung (setting should be equivalent to uming)
- Japanese
- ttf-kochi-gothic
- ttf-kochi-mincho
- ipafont
- ipamonafont
Note: ipafont and ipamonafont package can be found in ubuntu-ja [http://archive.ubuntulinux.jp/ubuntu-ja/breezy/ breezy-extra].
Also see the possible [http://ukai.org/b/log/debian/legal licensing issue].
- Korean
- ttf-baekmuk ( Fonts in this package are used by fontconfig. By a survey, 5% of voters like this - due to lower quality for displaying than the others. )
- ttf-unfonts ( 63% of voters prefer this. Has several font-sets, even bold font-sets. )
- ttf-alee ( 30% of voters, includes bitmap font and good for screen display. )
- To get best displaying
<match target="font"> <test name="family"><string>EunGuseul</string></test> <edit mode="assign" name="autohint"><bool>true</bool></edit> </match> <match target="font"> <test name="family"><string>EunGuseul</string></test> <test name="pixelsize" compare="more"><int>11</int></test> <test name="pixelsize" compare="less"><int>16</int></test> <edit mode="assign" name="autohint"><bool>false</bool></edit> <edit mode="assign" name="antialias"><bool>false</bool></edit> </match>- To match with Bitsream Vera fonts
<match target="pattern"> <test name="family"><string>EunGuseul</string></test> <edit mode="append" binding="strong" Name="family"> <string>Bitstream Vera Sans</string> </edit> </match> <match target="pattern"> <test name="family"><string>EunGuseul Mono</string></test> <edit mode="append" binding="strong" name="family"> <string>Bitstream Vera Sans Mono</string> </edit> </match>
2. Setting up a .conf file to /etc/fonts/conf.d when a ttf-font package installed, is it preferred way to solve this?
Implementation
Code
Data preservation and migration
Packages affected
Outstanding issues