Hardy fonts woes

jqian at physics.harvard.edu jqian at physics.harvard.edu
Sat Jun 7 18:10:14 UTC 2008


Dear Ubuntu gurus:
	I have just upgraded to Hardy(from *hoary* no less), which is 
quite nice. I made a clean install, moved my old home directory to a 
backup location so that Hardy would create all the configuration files 
from scratch. Most of the thins works fine, but one problem I simply 
can't seem to surmount: no matter what I did, I simply cannot make 
Chinese fonts *smaller than 10pt* to be anti-aliased!
	I tried a number of things. In desperation, I in fact moved 
conf.d directory in /etc/fonts to a backup location, and made a local 
copy of .fonts.conf file in my home directory. This way, no font 
configurations will be read other than .fonts.conf 
(/etc/fonts/fonts.conf is left to be the default). It's attached to 
this message. As you can see, there I explicitly stated:

<match target="font">
	    <edit mode="assign_replace" 
name="antialias"><bool>true</bool></edit>
	    <edit name="hinting"><bool>true</bool></edit>
</match>

Despite this, I simply cannot get any Chinese fonts smaller than 10pt 
to be anti-aliased! The Latin fonts are anti-aliased. This is true 
whether in gnome-terminal or in firefox.
	I can understand that many people do not want to read small 
Chinese fonts with anti-aliasing. So it is set to be default that any 
Chinese fonts below 10pt is not anti-aliased. What I cannot figure out, 
for hours, is where they set it and how to change that. To recap, I 
renamed /etc/fonts/conf.d, leaving the /etc/fonts/conf.d with only file 
50-user.conf, signaling the system to check ~/.fonts.conf, and I 
explicitly requires there *all* the fonts to be anti-aliased. Yet no 
Chinese fonts under 10pt size is anti-alised. Is there a hidden 
configuration somewhere? (Of course I enabled anti-aliasing in 
gnome-appearance-properties.)
	This is a T43 with a clean installation of hardy, 1400x1050 
screen and fglrx driver. Any hints will be greatly appreciated!
	Please reply email to my address also in addition to the list, 
because I'm currently not subscribed to ubuntu-users mailing list.
	Thanks in advance.
								Jiang
-------------- next part --------------
<?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/local/share/fonts</dir>
	<dir>~/.fonts</dir>

	<!-- MacOSX effect-->
	<match target="font"> 
	    <test name="family"><string>Vera Sans YuanTi</string></test> 
	    <edit name="globaladvance"><bool>false</bool></edit> 
	</match> 

	<match target="font"> 
	    <test name="family"><string>Vera Sans YuanTi Mono</string></test> 
	    <edit name="globaladvance"><bool>false</bool></edit> 
	</match> 

	<match target="font"> 
	    <test name="family"><string>Bitstream Vera Sans Mono</string></test> 
	    <edit name="globaladvance"><bool>false</bool></edit> 
	</match> 


	<match target="font"> 
	    <edit mode="assign_replace" name="antialias"><bool>true</bool></edit> 
	    <edit name="hinting"><bool>true</bool></edit> 
	    <!--	 
	    <edit name="autohint"><bool>true</bool></edit> 
	    -->
	</match>
	<match target="font" >
	    <edit mode="assign" name="autohint" > <bool>false</bool> </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>Bitstream Vera Serif</family>
		<family>DejaVu Serif</family>
		<family>DejaVu LGC Serif</family>
		<family>Nimbus Roman No9 L</family>
		<family>Luxi Serif</family>
		<family>Vera Sans YuanTi</family>
		<family>ZYSong 18030</family>
		<family>Hei</family>
		<family>STHeiti</family>
		<family>LiHei Pro</family>
		<family>AR PL SungtiL GB</family>
		<family>AR PL Mingti2L Big5</family>
		<family>Kochi Mincho</family>
		<family>Baekmuk Batang</family>
		<family>FreeSerif</family>
		<family>Lucida Sans Unicode</family>
		<family>MPH 2B Damase</family>
		<default><family>serif</family></default>
	</alias>
<!--
  Sans-serif faces
 -->
	<alias>
		<family>Verdana</family>
		<family>Helvetica</family>
		<family>Arial</family>
		<family>Bitstream Vera Sans</family>
		<family>DejaVu Sans</family>
		<family>DejaVu LGC Sans</family>
		<family>Nimbus Sans L</family>
		<family>Luxi Sans</family>
		<family>Vera Sans YuanTi</family>
		<family>ZYSong 18030</family>
		<family>Hei</family>
		<family>STHeiti</family>
		<family>LiHei Pro</family>
		<family>AR PL KaitiM GB</family>
		<family>AR PL KaitiM Big5</family>
		<family>Kochi Gothic</family>
		<family>Baekmuk Dotum</family>
		<family>SimSun</family>
		<family>FreeSans</family>
		<family>Lucida Sans Unicode</family>
		<family>MPH 2B Damase</family>
		<default><family>sans-serif</family></default>
	</alias>
<!--
  Monospace faces
 -->
 	<alias>
		<family>Bitstream Vera Sans Mono</family>
		<family>DejaVu Sans Mono</family>
		<family>DejaVu LCG Sans Mono</family>
	        <family>Monaco</family>
		<family>Vera Sans YuanTi Mono</family>
		<family>ZYSong 18030</family>
		<family>AR PL SungtiL GB</family>
		<family>Kochi Gothic</family>
		<family>Hei</family>
		<family>STHeiti</family>
		<family>LiHei Pro</family>
		<family>Courier</family>
		<family>Courier New</family>
		<family>Andale Mono</family>
		<family>Luxi Mono</family>
		<family>Nimbus Mono L</family>
		<family>NSimSun</family>
		<family>FreeMono</family>
		<family>Lucida Sans Unicode</family>
		<family>MPH 2B Damase</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>


<!--
  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>
	<match target="pattern">
	    <test qual="any" name="family">
		<string>Georgia</string>
	    </test>
	    <edit 
		name="family" 
		mode="assign">
		<string>Times New Roman</string>
	    </edit>
	</match>
	-->

<!--
  Provide required aliases for standard names
-->
	<alias>
		<family>serif</family>
		<prefer>
		        <family>Times</family> 
			<family>Times New Roman</family>
			<family>Bitstream Vera Serif</family>
			<family>DejaVu Serif</family>
			<family>DejaVu LGC Serif</family>
			<family>Nimbus Roman No9 L</family>
			<family>Luxi Serif</family>
			<family>Times</family>
			<family>Frank Ruehl</family>
			<family>Vera Sans YuanTi</family>
			<family>ZYSong 18030</family>
			<family>AR PL SungtiL GB</family>
			<family>AR PL Mingti2L Big5</family>
			<family>Kochi Mincho</family>
			<family>Baekmuk Batang</family>
			<family>FreeSerif</family>
			<family>Lucida Sans Unicode</family>
			<family>MPH 2B Damase</family>
		</prefer>
	</alias>
	<alias>
		<family>sans-serif</family>
		<prefer>
			<family>Verdana</family>
			<family>Bitstream Vera Sans</family>
			<family>DejaVu Sans</family>
			<family>DejaVu LGC Sans</family>
			<family>Nimbus Sans L</family>
			<family>Luxi Sans</family>
			<family>Arial</family>
			<family>Helvetica</family>
			<family>Nachlieli</family>
			<family>Vera Sans YuanTi</family>
			<family>ZYSong 18030</family>
			<family>AR PL KaitiM GB</family>
			<family>AR PL KaitiM Big5</family>
			<family>Kochi Gothic</family>
			<family>Baekmuk Dotum</family>
			<family>SimSun</family>
			<family>FreeSans</family>
			<family>Lucida Sans Unicode</family>
			<family>MPH 2B Damase</family>
		</prefer>
	</alias>
	<alias>
		<family>monospace</family>
		<prefer>
			<family>Bitstream Vera Sans Mono</family>
			<family>DejaVu Sans Mono</family>
			<family>DejaVu LGC Sans Mono</family>
		        <family>Monaco</family>
			<family>Andale Mono</family>
			<family>Courier New</family>
			<family>Luxi Mono</family>
			<family>Nimbus Mono L</family>
			<family>Miriam Mono</family>
			<family>Vera Sans YuanTi Mono</family>
			<family>ZYSong 18030</family>
			<family>AR PL SungtiL GB</family>
			<family>Kochi Gothic</family>
			<family>Baekmuk Dotum</family>
			<family>FreeMono</family>
			<family>Lucida Sans Unicode</family>
			<family>MPH 2B Damase</family>
		</prefer>
	</alias>

<!-- 
 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>
	<!--	<include>/usr/share/fonts/wenquanyi/wqy-bitmapfont/85-wqy-bitmapsong.conf</include>
	-->
</fontconfig>


More information about the ubuntu-users mailing list