Page 1 of 1

Really sleeeeeeeek fonts ;)

Posted: Fri May 02, 2003 11:20 pm
by shipz

Code: Select all

<?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
-->


	<dir>/usr/share/fonts</dir>
	<dir>/usr/X11R6/lib/X11/fonts</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>			
		<default><family>serif</family></default>
	</alias>
<!--
  Sans-serif faces
 -->
	<alias>
		<family>Helvetica</family>
		<family>Arial</family>
		<family>Verdana</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>SimSun</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>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>
	
<!--
  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>ZYSong18030</family>
			<family>AR PL SungtiL GB</family>
			<family>AR PL Mingti2L Big5</family>
			<family>Baekmuk Batang</family>			
			<family>Times New Roman</family>
			<family>Times</family>
		</prefer>
	</alias>
	<alias>
		<family>sans-serif</family>
		<prefer>
			<family>Luxi Sans</family>
			<family>Nimbus Sans L</family>
			<family>Helvetica</family>
			<family>Kochi Gothic</family>
			<family>ZYSong18030</family>
			<family>AR PL SungtiL GB</family>
			<family>AR PL Mingti2L Big5</family>
			<family>Baekmuk Gulim</family>
			<family>Verdana</family>
			<family>Arial</family>
			<family>SimSun</family>
		</prefer>
	</alias>
	<alias>
		<family>monospace</family>
		<prefer>
			<family>Luxi Mono</family>
			<family>Nimbus Mono L</family>
			<family>Kochi Gothic</family>
			<family>ZYSong18030</family>
			<family>AR PL SungtiL GB</family>
			<family>AR PL Mingti2L Big5</family>
			<family>Baekmuk Gulim</family>
			<family>Andale Mono</family>
			<family>Courier New</family>
		</prefer>
	</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>
	</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>

	<match target="pattern">
        	<test qual="any" name="family">
        	<string>sans-serif</string>
        </test>
        	<edit name="hinting" mode="assign">
                <bool>false</bool>
        	</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>
Make sure you back up your old fonts.conf before using this.

Code: Select all

# cp /etc/fonts/fonts.conf /etc/fonts/fonts.old
Then save the above code in nano or your favorite text editor as fonts.conf and copy it to your /etc/fonts directory.

Code: Select all

# cp /path/to/the/fonts.conf/you/just/saved /etc/fonts/
If this doesn't work goto http://soul.f2o.org/fonts.conf and download the file from there. Credit for this goes to my friend, s0ulslack. ;)

Posted: Fri May 02, 2003 11:38 pm
by ebrostig
Maybe it would have been a good idea to explain why this is the best thing since sliced bread?

What does it do, that is not documented anywhere else?
Does it need any special fonts installed?


Don't just post the file, put some effort into explaining why people would benefit from using the configuration.

Erik

Posted: Sat May 03, 2003 12:09 am
by maw
Doesn't look very special to me... looks very much like my fonts.conf actually.

Posted: Sat May 03, 2003 12:52 am
by shipz
ebrostig wrote:Maybe it would have been a good idea to explain why this is the best thing since sliced bread?

What does it do, that is not documented anywhere else?
Does it need any special fonts installed?


Don't just post the file, put some effort into explaining why people would benefit from using the configuration.

Erik
I or no one else said "this is the best thing since sliced bread". ;) Someone requested me to post the fonts.conf that I use in this section of the forum, so I did.

It simply just adjusts the anti-aliasing in the fonts. No, it doesn't need any special fonts installed. The default fonts that are installed work fine with it (which are the only fonts I usually use.)

What exactly is different in it I have no idea. As I said in my original post I didn't edit it myself, one of my friends did.

Whether it has been "documented" before I have no idea. But by default (in GNOME anyway) prior to using this fonts.conf my fonts are very yucky and edgy looking. They have some aliasing to them but it's very uneven. It's hard to explain, but I'm sure you get the picture.

After using the above fonts.conf the fonts look very smooth and even. Aren't blocky and rough looking as I explained before the fonts.conf. I hope this clears things up. ;)

-Steven

Posted: Sat May 03, 2003 4:59 am
by relyt
Just so you know, it's probably better to specify changes to the supplied fonts.conf in the local.conf; or as I do it, in my ~/.fonts.conf.

/etc/fonts/fonts.conf is supposed to provide a base, and this file is over-written whenever Freetype is upgraded/emerged. This is why editing it is not reccomended.

Posted: Sat May 03, 2003 3:15 pm
by boroshan
Purely for the feedback: No success in my case.

I copied the config into ~/.fonts.conf

mozilla takes 10 minutes or so to start - mainly processing
the fonts.conf file. it also takes a silllly length of time switching
between tabs.

I reverted just to get my main browser back.

It may be to do with the number of true type fonts (~1000) I
import, mind.

Posted: Sat May 03, 2003 4:26 pm
by pjp
Moved from Documentation, Tips & Tricks.

Posted: Sat May 03, 2003 8:01 pm
by PowerFactor
Well I just diffed it with my default fonts.conf and the only real difference is it lacks the section about asian fonts and adds this

Code: Select all

    <match target="pattern">
            <test qual="any" name="family">
            <string>sans-serif</string>
         </test>
            <edit name="hinting" mode="assign">
                 <bool>false</bool>
            </edit>
    </match>
So looks to me like it just turns off hinting on sans-serif fonts. I'm no expert on this stuff though. I didn't try it. My fonts look good now that I disabled aa on the smaller ones.

CRT monitor users

Posted: Sat May 03, 2003 8:11 pm
by aethyr
If you don't use a laptop / lcd you'll want to turn off this bit of code, since it will make the fonts look ugly on your CRT

Code: Select all

<!--
  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>
-->
Note, I haven't tried this config file, so I can't say anything else about it, but I know you're not supposed to use sub-pixel rendering on a CRT monitor.

Re: CRT monitor users

Posted: Sat May 03, 2003 8:27 pm
by ()
aethyr wrote:If you don't use a laptop / lcd you'll want to turn off this bit of code, since it will make the fonts look ugly on your CRT

Code: Select all

<!--
  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>
-->
Note, I haven't tried this config file, so I can't say anything else about it, but I know you're not supposed to use sub-pixel rendering on a CRT monitor.
Unless you uncomment that part you should be fine.

Posted: Sun May 04, 2003 12:57 am
by aethyr
*slaps forehead*

yes, sub-pixel rendering is already commented out. Uncomment it if you have a labtop / LCD.

:/