Last active
August 29, 2015 14:12
-
-
Save zafarella/0c52ec0da6812b4661a2 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version='1.0'?> | |
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'> | |
<fontconfig> | |
<!-- | |
Documented at | |
http://linux.die.net/man/5/fonts-conf | |
To check font mapping run the command at terminal | |
$ fc-match 'helvetica Neue' | |
WARNING :: Droid Sans font with autohinter becomes bad, without autohinter looks great, but becomes smallish, cant help | |
even the smallish is so good, that i am using it on desktop | |
but cannot be used as a substitution for arial, since 12px (which is very common on websites) becomes small as if tahoma 10px | |
Noto sans does better in this case, can be used as arial substitution without loss of size | |
noto sans is slightly fatter than droid sans | |
Open sans is much fat, and open sans bold looks bad, hence we choose noto sans as the replacement for arial | |
Download the following fonts | |
Droid fonts whole sets | |
Download from google web fonts | |
open sans all styles | |
noto sans all styles | |
noto serif all styles | |
--> | |
<!-- | |
.fonts.conf | |
release 6.3.23 | |
Licensed under GNU GPL | |
================================ | |
LCD optimized 96 dpi | |
"Sharp'N'Clear" font settings | |
with emphasis on 'msttcorefonts' | |
tested on Ubuntu GNU/Linux 5.10 | |
================================ | |
by Obi Bok | |
Gmail: obibok | |
http://linuxtuneup.blogspot.com | |
================================ | |
Why was this conceived? | |
- some font families look better hinted by Byte Code Interpreter (BCI) | |
while other fonts look better hinted by Auto-Hinter | |
- hinting type affects italic and bold fonts differently | |
- antialiasing needs to be adjusted according to font families and sizes | |
Essentially, there is no one single rule that works for all fonts. | |
NOTE: | |
- Verdana @ 8pt doesn't render '2' and '6' right | |
- Arial shows 'Z' distorted in Firefox 1.5 | |
--> | |
<!-- | |
Make font sizes match the dpi set in Xorg. | |
Increase or decrease this value if fonts are too small or too large | |
for your screen resolution. | |
FIXME: this only affects QT-based apps? | |
--> | |
<match target="pattern"> | |
<edit mode="assign" name="dpi"> | |
<double>96</double> | |
</edit> | |
</match> | |
<!-- | |
Enable anti-aliasing. | |
This only works for outline and scalable fonts. | |
Bitmap and PostScript fonts do not get anti-aliased. | |
FIXME: is this correct? | |
--> | |
<match target="font"> | |
<edit mode="assign" name="antialias"> | |
<bool>true</bool> | |
</edit> | |
</match> | |
<!-- | |
Set sub-pixel order if not detected. | |
"X knows the sub pixel order already, and if this is enabled as well, | |
Freetype produces some very strange results. However, if you do still | |
have problems, consider (...) 'rgb' (the standard for LCD monitors), | |
'bgr' (unusual), 'vrgb' (vertical rgb, if you have a monitor that | |
has been rotated by 90 degrees[1]), 'vgbr' (as vrgb, but very rare)." | |
<http://www.linuxquestions.org/linux/answers/Hardware/\ | |
LCD_TFT_Monitor_Configuration_in_X_Org> | |
Find out your LCD's sub-pixel order: | |
<http://grc.com/image/cleartype2c.gif> | |
--> | |
<match target="font"> | |
<test compare="eq" name="rgba" qual="all"> | |
<const>unknown</const> | |
</test> | |
<edit mode="assign" name="rgba"> | |
<const>rgb</const> | |
</edit> | |
</match> | |
<!-- | |
Sub-pixel hinting via BCI enabled by default if compiled in. | |
"Whole-pixel anti-aliasing does not represent a useful solution for | |
improving small point-size type. (...) By 'borrowing' sub-pixels from | |
adjacent whole pixels, we can fine-tune the placement and width of typeface | |
features with three times more horizontal accuracy then ever before!" | |
<http://grc.com/ctwhat.htm> | |
--> | |
<!-- | |
Disable anti-aliasing for select fonts based on size and style. | |
| font | WinXP | Linux | | |
========================================= | |
Andale Mono IPA 14 13 | |
Arial 12 13 | |
Arial Black 12 - | |
Arial Narrow 14 13 | |
Berling Antiqua 12 13 | |
Book Antiqua 12 13 | |
Bookdings 0 ? | |
Bookman Old Style 22 13 | |
Century Gothic 16 16 | |
Comic Sans MS 11 9/11 | |
Courier New 26 22 | |
Franklin Gothic Medium 12 10/12 | |
Frutiger Linotype 12 10/12 | |
Garamond 18 13/19 | |
Georgia 12 12/13 | |
Impact 16 0 | |
Kartika 12 16 | |
Lucida Console 12 13 | |
Lucida Sans Typewriter 12 12 | |
Lucida Sans Unicode 12 10/13 | |
Marlett ? ? | |
Microsoft Sans Serif 12 12/13 | |
Palatino Linotype 12 13 | |
SylfaenARM - 13 | |
Symbol 12 ? | |
Tahoma 12 12/13 | |
Times New Roman 12 13 | |
Trebuchet MS 12 12 | |
Verdana 12 12 | |
Vrinda 12 17 | |
Webdings 20 ? | |
Wingdings 20 ? | |
========================================= | |
"The relationship of pixels to points depends on the number of pixels | |
per inch, which is typically some 'standard' value corresponding to | |
default screen fonts. For example, MS Windows has two standard sets of | |
screen fonts initially designed for IBM display systems: 'small' (VGA) | |
and 'large' (8514/A). 'Small' fonts are 96 pixels per inch, 'large' are | |
120. Macintosh systems render type at a nominal 72 pixels per inch, i.e. | |
one pixel = one point. Some display systems using scalable screen fonts | |
allow fine tuning of pixels per inch to suit user preferences." | |
<http://www.hpaa.com/css1/pxnpts.asp> | |
X pt * 96 dpi / 72 dpi = Y px | |
--> | |
<!-- | |
font group #1: normal roman anti-aliased above 10pt/13.4px | |
--> | |
<match target="font"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Franklin Gothic Medium</string> | |
<string>Frutiger Linotype</string> | |
<!-- Lucida Sans Unicode has no italic and uses artificial oblique --> | |
<string>Lucida Sans Unicode</string> | |
</test> | |
<test compare="less_eq" name="pixelsize" qual="any"> | |
<double>13.4</double> | |
</test> | |
<test compare="less_eq" name="weight" qual="any"> | |
<const>medium</const> | |
</test> | |
<test compare="eq" name="slant" qual="any"> | |
<const>roman</const> | |
</test> | |
<edit mode="assign" name="antialias"> | |
<bool>false</bool> | |
</edit> | |
</match> | |
<!-- | |
font group #2: normal roman anti-aliased above 11pt/14.7px | |
Must use 15px instead of 14.7px for this to work in QT-based apps | |
--> | |
<match target="font"> | |
<test compare="eq" name="family" qual="any"> | |
<!-- Comic Sans MS has no italic and uses artificial oblique --> | |
<string>Comic Sans MS</string> | |
</test> | |
<test compare="less_eq" name="pixelsize" qual="any"> | |
<double>15</double> | |
</test> | |
<test compare="less_eq" name="weight" qual="any"> | |
<const>medium</const> | |
</test> | |
<test compare="eq" name="slant" qual="any"> | |
<const>roman</const> | |
</test> | |
<edit mode="assign" name="antialias"> | |
<bool>false</bool> | |
</edit> | |
</match> | |
<!-- | |
font group #3: normal roman anti-aliased above 12pt/16px | |
Must use at least 16.1px instead of 16px for this to work in Firefox | |
Does not work in Chrome properly | |
In chrome 13px evalutes to 17.4px pixelsize test, funny! | |
--> | |
<match target="font"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Georgia</string> | |
<string>Lucida Sans</string> | |
<string>Lucida Sans Typewriter</string> | |
<!-- Microsoft Sans Serif has no italic and uses artificial oblique --> | |
<string>Microsoft Sans Serif</string> | |
<!-- Tahoma has no italic and uses artificial oblique --> | |
<string>Tahoma</string> | |
<string>Trebuchet MS</string> | |
<string>Verdana</string> | |
</test> | |
<test compare="less_eq" name="pixelsize" qual="any"> | |
<double>16.1</double> | |
</test> | |
<test compare="less_eq" name="weight" qual="any"> | |
<const>medium</const> | |
</test> | |
<test compare="eq" name="slant" qual="any"> | |
<const>roman</const> | |
</test> | |
<edit mode="assign" name="antialias"> | |
<bool>false</bool> | |
</edit> | |
</match> | |
<!-- | |
font group #4: normal roman anti-aliased above 13pt/17.4px | |
--> | |
<match target="font"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Arial</string> | |
<string>Arial Narrow</string> | |
<string>Berling Antiqua</string> | |
<string>Book Antiqua</string> | |
<string>Bookman Old Style</string> | |
<string>Garamond</string> | |
<!-- Lucida Console has no italic and uses artificial oblique --> | |
<string>Lucida Console</string> | |
<string>Palatino Linotype</string> | |
<string>SylfaenARM</string> | |
<string>Times New Roman</string> | |
</test> | |
<test compare="less_eq" name="pixelsize" qual="any"> | |
<double>17.4</double> | |
</test> | |
<test compare="less_eq" name="weight" qual="any"> | |
<const>medium</const> | |
</test> | |
<test compare="eq" name="slant" qual="any"> | |
<const>roman</const> | |
</test> | |
<edit mode="assign" name="antialias"> | |
<bool>false</bool> | |
</edit> | |
</match> | |
<!-- | |
font group #5: normal roman anti-aliased above 16pt/21.4px | |
--> | |
<match target="font"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Century Gothic</string> | |
<string>Kartika</string> | |
</test> | |
<test compare="less_eq" name="pixelsize" qual="any"> | |
<double>21.4</double> | |
</test> | |
<test compare="less_eq" name="weight" qual="any"> | |
<const>medium</const> | |
</test> | |
<test compare="eq" name="slant" qual="any"> | |
<const>roman</const> | |
</test> | |
<edit mode="assign" name="antialias"> | |
<bool>false</bool> | |
</edit> | |
</match> | |
<!-- | |
font group #6: normal roman anti-aliased above 17pt/23px | |
--> | |
<match target="font"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Vrinda</string> | |
</test> | |
<test compare="less_eq" name="pixelsize" qual="any"> | |
<double>23</double> | |
</test> | |
<test compare="less_eq" name="weight" qual="any"> | |
<const>medium</const> | |
</test> | |
<test compare="eq" name="slant" qual="any"> | |
<const>roman</const> | |
</test> | |
<edit mode="assign" name="antialias"> | |
<bool>false</bool> | |
</edit> | |
</match> | |
<!-- | |
font group #7: normal roman anti-aliased above 22pt/29.4px | |
--> | |
<match target="font"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Courier New</string> | |
</test> | |
<test compare="less_eq" name="pixelsize" qual="any"> | |
<double>29.4</double> | |
</test> | |
<test compare="less_eq" name="weight" qual="any"> | |
<const>medium</const> | |
</test> | |
<test compare="eq" name="slant" qual="any"> | |
<const>roman</const> | |
</test> | |
<edit mode="assign" name="antialias"> | |
<bool>false</bool> | |
</edit> | |
</match> | |
<!-- | |
font group #8: bold roman anti-aliased above 9pt/12px | |
--> | |
<match target="font"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Georgia</string> | |
</test> | |
<test compare="less_eq" name="pixelsize" qual="any"> | |
<double>12</double> | |
</test> | |
<test compare="more" name="weight" qual="any"> | |
<const>medium</const> | |
</test> | |
<test compare="eq" name="slant" qual="any"> | |
<const>roman</const> | |
</test> | |
<edit mode="assign" name="antialias"> | |
<bool>false</bool> | |
</edit> | |
</match> | |
<!-- | |
font group #9: bold roman anti-aliased above 10pt/13.4px | |
--> | |
<match target="font"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Tahoma</string> | |
<string>Verdana</string> | |
</test> | |
<test compare="less_eq" name="pixelsize" qual="any"> | |
<double>13.4</double> | |
</test> | |
<test compare="more" name="weight" qual="any"> | |
<const>medium</const> | |
</test> | |
<test compare="eq" name="slant" qual="any"> | |
<const>roman</const> | |
</test> | |
<edit mode="assign" name="antialias"> | |
<bool>false</bool> | |
</edit> | |
</match> | |
<!-- | |
font group #10: bold roman anti-aliased above 12pt/16px | |
--> | |
<match target="font"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Courier New</string> | |
</test> | |
<test compare="less_eq" name="pixelsize" qual="any"> | |
<double>16</double> | |
</test> | |
<test compare="more" name="weight" qual="any"> | |
<const>medium</const> | |
</test> | |
<test compare="eq" name="slant" qual="any"> | |
<const>roman</const> | |
</test> | |
<edit mode="assign" name="antialias"> | |
<bool>false</bool> | |
</edit> | |
</match> | |
<!-- | |
Enable FreeType Auto-Hinter for select fonts. | |
Auto-Hinter is disabled by default if Bytecode Interpreter was compiled in. | |
Some Linux "native" fonts look better hinted by Auto-Hinter, | |
usually in sizes 11pt-13pt; others look better hinted by BCI. | |
--> | |
<!-- | |
Set Auto-Hinter to full hinting style. | |
'slight' and 'medium' hinting often produce pixel discoloration. | |
hintfull for all fonts by default | |
--> | |
<match target="font"> | |
<edit mode="assign" name="hintstyle"> | |
<const>hintfull</const> | |
</edit> | |
</match> | |
<!-- | |
font group #11: hinted via Auto-Hinter | |
--> | |
<match target="font"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Bitstream Charter</string> | |
<string>Courier 10 Pitch</string> | |
<string>DejaVu Sans Condensed</string> | |
<string>DejaVu Serif Condensed</string> | |
<string>FreeMono</string> | |
<string>FreeSans</string> | |
<string>FreeSerif</string> | |
<string>Luxi Mono</string> | |
<string>Luxi Sans</string> | |
<string>Luxi Serif</string> | |
<string>MgOpen Canonica</string> | |
<string>MgOpen Cosmetica</string> | |
<string>MgOpen Modata</string> | |
<string>MgOpen Moderna</string> | |
<string>URW Bookman L</string> | |
<string>URW Chancery L</string> | |
<string>URW Gothic L</string> | |
<string>URW Palladio L</string> | |
</test> | |
<edit mode="assign" name="autohint"> | |
<bool>true</bool> | |
</edit> | |
</match> | |
<!-- | |
font group #12: normal italic hinted via Auto-Hinter at 9-10pt | |
Arial hinted via BCI at 9pt has distorted 'y', at 10pt - '2' | |
--> | |
<match target="font"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Arial</string> | |
</test> | |
<test compare="more_eq" name="pixelsize" qual="any"> | |
<double>12</double> | |
</test> | |
<test compare="less_eq" name="pixelsize" qual="any"> | |
<double>13.4</double> | |
</test> | |
<test compare="less_eq" name="weight" qual="any"> | |
<const>medium</const> | |
</test> | |
<test compare="not_eq" name="slant" qual="any"> | |
<const>roman</const> | |
</test> | |
<edit mode="assign" name="autohint"> | |
<bool>true</bool> | |
</edit> | |
</match> | |
<!-- | |
font group #13: normal italic hinted via Auto-Hinter at 12pt | |
This fixes distorted 'K' | |
--> | |
<match target="font"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Book Antiqua</string> | |
</test> | |
<test compare="eq" name="pixelsize" qual="any"> | |
<double>16</double> | |
</test> | |
<test compare="less_eq" name="weight" qual="any"> | |
<const>medium</const> | |
</test> | |
<test compare="not_eq" name="slant" qual="any"> | |
<const>roman</const> | |
</test> | |
<edit mode="assign" name="autohint"> | |
<bool>true</bool> | |
</edit> | |
</match> | |
<!-- | |
font group #14: normal italic hinted via Auto-Hinter at all sizes | |
--> | |
<match target="font"> | |
<test compare="eq" name="family" qual="any"> | |
<!-- 10, 11, 12 --> | |
<string>Frutiger Linotype</string> | |
<!-- 8-9: 'z', '2'; 10-15, 17, 19: 'z' --> | |
<string>Times New Roman</string> | |
<!-- 9-10: 'N' 'Q'; 12: 'w', 'C', 'D', 'O', 'Q', 'R', '2', '9', '0' --> | |
<string>Verdana</string> | |
</test> | |
<test compare="less_eq" name="weight" qual="any"> | |
<const>medium</const> | |
</test> | |
<test compare="not_eq" name="slant" qual="any"> | |
<const>roman</const> | |
</test> | |
<edit mode="assign" name="autohint"> | |
<bool>true</bool> | |
</edit> | |
</match> | |
<!-- | |
Set minimum allowed size to avoid illegible fonts. | |
--> | |
<!-- 7pt in QT-based apps --> | |
<match target="pattern"> | |
<test compare="less" name="size" qual="any"> | |
<double>7</double> | |
</test> | |
<edit mode="assign" name="size"> | |
<double>7</double> | |
</edit> | |
</match> | |
<!-- 9.4px (7pt) in GTK-based apps --> | |
<match target="pattern"> | |
<test compare="less" name="pixelsize" qual="any"> | |
<double>9.4</double> | |
</test> | |
<edit mode="assign" name="pixelsize"> | |
<double>9.4</double> | |
</edit> | |
</match> | |
<!-- | |
TODO: Create rules limiting minimum sizes for these *bold* fonts: | |
Andale Mono | Andale Mono IPA | |
Arial | |
Arial Narrow | |
Berling Antiqua | |
Book Antiqua | |
Bookman Old Style | |
Century Gothic | |
Comic Sans MS | |
Courier New | |
Franklin Gothic Medium | |
Frutiger Linotype | |
Garamond | |
Georgia | |
Kartika | |
Lucida Console | |
Lucida Sans Typewriter | |
Lucida Sans Unicode | |
Microsoft Sans Serif | |
Palatino | Palatino Linotype | |
SylfaenARM | |
Tahoma | |
Times New Roman | |
Trebuchet MS | |
Verdana | |
Vrinda | |
--> | |
<!-- | |
font group #15: bold fonts no smaller than 10.7px (8pt) | |
FIXME: for Firefox and other GTK-based apps? | |
--> | |
<match target="font"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Arial</string> | |
</test> | |
<test compare="less" name="pixelsize" qual="any"> | |
<double>10.7</double> | |
</test> | |
<test compare="more" name="weight" qual="any"> | |
<const>medium</const> | |
</test> | |
<edit mode="assign" name="pixelsize"> | |
<double>10.7</double> | |
</edit> | |
</match> | |
<!-- | |
Anti-alias fonts with "fake" styles. | |
FIXME: QT only? GTK? Firefox? | |
--> | |
<!-- FIXME: dirty_hack(tm) - fontconfig reports syntax errors --> | |
<match target="font"> | |
<test compare="not_eq" name="matrix" qual="any"> | |
<double>0</double> | |
</test> | |
<!-- another approach - no errors but freezes Firefox 1.5 --> | |
<!-- | |
<match target="font"><test qual="any" name="matrix" compare="eq"><name>matrix</name></test> | |
--> | |
<edit mode="assign" name="antialias"> | |
<bool>true</bool> | |
</edit> | |
</match> | |
<!-- | |
Substitute unavailable and/or unwanted fonts. | |
Aliases will not work if the actual fonts are installed. | |
Replacing font family works in Firefox (FIXME: and other GTK-based apps?) | |
QT-based apps also need font foundry replaced. | |
Grouping fonts for substitution doesn't work in Firefox, so we need each | |
font family replaced individually. | |
--> | |
<!-- | |
sans-serif | |
"If the font still has no generic name, add sans-serif" | |
/etc/fonts.conf | |
Therefore, we only substitute what we need. | |
--> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Bitstream Charter</string> | |
</test> | |
<edit binding="same" mode="append" name="family"> | |
<string>serif</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Bitstream Vera Sans</string> | |
</test> | |
<edit binding="same" mode="append" name="family"> | |
<string>sans</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>DejaVu Sans</string> | |
</test> | |
<edit binding="same" mode="append" name="family"> | |
<string>sans</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>DejaVu Sans Condensed</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Arial</string> | |
</edit> | |
</match> | |
<!-- | |
Dont do this, overriding freesans will cause utf fonts to be come rubbish in chrome | |
--> | |
<!-- | |
<match target="pattern"><test qual="any" name="family" compare="eq"><string>FreeSans</string></test><edit name="family" mode="prepend" binding="same"><string>Arial</string></edit></match> | |
--> | |
<!-- | |
ON web pages if font family is like this | |
font-family: 'Helvetica Neue', arial, sans-serif; | |
google chrome will immediately move to next font, if it does not find the first, even if there are append entries | |
But firefox will take the append entry if the font does not exist :) | |
--> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Helvetica</string> | |
</test> | |
<edit binding="same" mode="append" name="family"> | |
<string>Sans</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Helvetica Neue</string> | |
</test> | |
<edit binding="same" mode="append" name="family"> | |
<string>Sans</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Lucida</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Arial</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<!-- FIXME: may need to use "Lucida Bright" instead --> | |
<string>LucidaBright</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Arial</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Lucida Bright</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Arial</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Luxi Sans</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Arial</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>MgOpen Cosmetica</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Arial</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>MgOpen Modata</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Arial</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>MgOpen Moderna</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Arial</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>System</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Arial</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>URW Gothic L</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Arial</string> | |
</edit> | |
</match> | |
<!-- | |
FIXME: Verdana renders characters '2' and '6' slightly distorted | |
so it will be substituted with Arial. | |
EDIT Silver Moon : not replacing verdana with arial. | |
hey verdana is slightly fatty, how about replacing it with open sans or noto sans | |
open sans is fattier compared to droid sans | |
BAH, it looks good | |
Open Sans is cramped at 11px with autohint = true | |
'sa' the s and a will stick badly | |
'50' the 5 and 0 will stick badly | |
But 12px onwards Open Sans is better than Noto Sans | |
But the vote goes to noto sans for verdana replaced to maintain beauty at 11px | |
Another note | |
noto sans has single stroke small g , open sans has the 2 round style g | |
noto sans p is thin, open sans p is better looking | |
--> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Verdana</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Noto Sans</string> | |
</edit> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Open Sans</string> | |
</edit> | |
</match> | |
<!-- | |
serif | |
--> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Bitstream Vera Serif</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Georgia</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>DejaVu Serif</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Georgia</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>DejaVu Serif Condensed</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Georgia</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Luxi Serif</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Georgia</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>MgOpen Canonica</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Georgia</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>New Century Schoolbook</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Georgia</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>New York</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Georgia</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Palatino</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Georgia</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Times</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Georgia</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>URW Bookman L</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Georgia</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>URW Palladio L</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Georgia</string> | |
</edit> | |
</match> | |
<!-- | |
monospace | |
--> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Andale Mono</string> | |
</test> | |
<edit binding="same" mode="append" name="family"> | |
<string>monospace</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Bitstream Vera Sans Mono</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Courier New</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Courier</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>monospace</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>DejaVu Sans Mono</string> | |
</test> | |
<edit binding="same" mode="append" name="family"> | |
<string>monospace</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Fixedsys</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Courier New</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<!-- FIXME: Ubuntu Wiki uses "Lucida Typewriter" instead --> | |
<string>LucidaTypewriter</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Courier New</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Lucida Typewriter</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Courier New</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Luxi Mono</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Courier New</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Monaco</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Courier New</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Terminal</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Courier New</string> | |
</edit> | |
</match> | |
<!-- | |
cursive | |
--> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Apple Chancery</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Comic Sans MS</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Lucida Handwriting</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Comic Sans MS</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>URW Chancery L</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Comic Sans MS</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Zapf Chancery</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Comic Sans MS</string> | |
</edit> | |
</match> | |
<!-- | |
fantasy | |
--> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Copperplate</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Impact</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Desdemona</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Impact</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Kino</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Impact</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Techno</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Impact</string> | |
</edit> | |
</match> | |
<!-- | |
Provide required aliases for standard names. | |
--> | |
<!-- | |
<alias><family>sans-serif</family><prefer><family>Arial</family></prefer></alias><alias><family>serif</family><prefer><family>Georgia</family></prefer></alias> | |
--> | |
<!-- | |
<alias><family>monospace</family><prefer><family>Courier New</family></prefer></alias> | |
--> | |
<alias> | |
<family>cursive</family> | |
<prefer> | |
<family>Comic Sans MS</family> | |
</prefer> | |
</alias> | |
<alias> | |
<family>fantasy</family> | |
<prefer> | |
<family>Impact</family> | |
</prefer> | |
</alias> | |
<!-- | |
Added by Silver Moon ([email protected]) | |
Changes focussing on Droid Sans, replacing windows old fonts like arial, courier | |
and fixing some fonts like lucida grande bold, and hindi fonts | |
--> | |
<!-- | |
Replace arial fonts larger than 12px by droid sans | |
Works only in firefox, not in chrome | |
--> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Arial</string> | |
</test> | |
<test compare="more" name="pixelsize" qual="any"> | |
<double>12.0</double> | |
</test> | |
<edit binding="strong" mode="assign" name="family"> | |
<string>droid sans</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Arial</string> | |
</test> | |
<test compare="less" name="pixelsize" qual="any"> | |
<double>13.0</double> | |
</test> | |
<edit binding="same" mode="assign" name="family"> | |
<string>noto sans</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Arial</string> | |
</test> | |
<edit binding="same" mode="assign" name="family"> | |
<string>noto sans</string> | |
</edit> | |
</match> | |
<!-- | |
Replace Georgia by Noto Serif | |
--> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Georgia</string> | |
</test> | |
<edit binding="same" mode="assign" name="family"> | |
<string>Noto Serif</string> | |
</edit> | |
</match> | |
<!-- | |
Behavioug is similar to droid sans, | |
WITHOUT AUTOHINTER | |
1. becomes smallish, like droid sans, very small on desktop , | |
2. DESKTOP - HIGHLY PROPORTIONATE, HIGHLY CLEAR | |
2. WEBPAGES - less clearer - vertical stands become hazy | |
3. slightly less STRETCHED | |
WITH AUTOHINTER : | |
1. very slightly STRETCHED | |
2. CRYSTAL CLARITY on webpages, | |
3. lesser proportionate on desktop, CLARITY KIND OF OK OK | |
3. bold font ugly with hintfull, good with hintslight | |
Since we are using noto sans as arial replacement, hint it fully with autohinter. | |
hintslight will compromise clarity | |
thought of doing this, above 12px autohint = false | |
below 13px authint = true | |
but autohint false leads to loss of clarity, but makes width correct | |
moreover chrome does not obey pixelsize correctly | |
--> | |
<match target="font"> | |
<test compare="eq" name="family" qual="any"> | |
<string>noto sans</string> | |
</test> | |
<edit mode="assign" name="autohint"> | |
<bool>true</bool> | |
</edit> | |
<edit mode="assign" name="hintstyle"> | |
<const>hintfull</const> | |
</edit> | |
</match> | |
<match target="font"> | |
<test compare="eq" name="family" qual="any"> | |
<string>ubuntu</string> | |
</test> | |
<edit mode="assign" name="autohint"> | |
<bool>true</bool> | |
</edit> | |
<edit mode="assign" name="hintstyle"> | |
<const>hintfull</const> | |
</edit> | |
</match> | |
<!-- | |
DROID SANS | |
WITHOUT AUTOHINTER | |
1.CLEARER 13px onwards | |
2. 12px on webpages very small | |
3. super clear at 12px | |
4. 9pt desktop super clear, super PROPORTIONATE | |
AUTOHINT = TRUE | |
1. LESS CLEARER | |
2. 'n' is cramped | |
3. 9pt desktop, slightly distorted | |
4. 12px webpage is normal sized, but not great as noto sans with autohint = true. but better than arial | |
droid sans with autohinter, becomes more disproportionate on gnome, this is lesser with noto sans | |
in browser there is not much difference between autohint true/false | |
true leads to clarity loss | |
--> | |
<match target="font"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Droid Sans</string> | |
<string>Droid Sans Mono</string> | |
</test> | |
<edit mode="assign" name="autohint"> | |
<bool>false</bool> | |
</edit> | |
<edit mode="assign" name="hintstyle"> | |
<const>hintfull</const> | |
</edit> | |
</match> | |
<match target="font"> | |
<test compare="eq" name="family" qual="any"> | |
<string>liberation mono</string> | |
</test> | |
<edit mode="assign" name="autohint"> | |
<bool>false</bool> | |
</edit> | |
<edit mode="assign" name="hintstyle"> | |
<const>hintmedium</const> | |
</edit> | |
</match> | |
<!-- time for stupid tricks for 2 stupid browsers, namely firefox and chrome --> | |
<!-- stupid trick for firefox | |
firefox obeys pixelsize but not size | |
--> | |
<match target="font"> | |
<test compare="eq" name="family" qual="any"> | |
<string>noto sans</string> | |
</test> | |
<test compare="less" name="pixelsize" qual="any"> | |
<double>16</double> | |
</test> | |
<test compare="more" name="weight" qual="any"> | |
<const>medium</const> | |
</test> | |
<edit mode="assign" name="autohint"> | |
<bool>true</bool> | |
</edit> | |
<edit binding="weak" mode="assign" name="hintstyle"> | |
<const>hintslight</const> | |
</edit> | |
</match> | |
<!-- | |
stupid trick for chrome | |
chrome obeys size, but not pixelsize below 17.4 pixel | |
--> | |
<match target="font"> | |
<test compare="eq" name="family" qual="any"> | |
<string>noto sans</string> | |
</test> | |
<test compare="less" name="size" qual="any"> | |
<double>16</double> | |
</test> | |
<test compare="more" name="weight" qual="any"> | |
<const>medium</const> | |
</test> | |
<edit mode="assign" name="antialias"> | |
<bool>true</bool> | |
</edit> | |
<edit mode="assign" name="autohint"> | |
<bool>true</bool> | |
</edit> | |
<edit binding="weak" mode="assign" name="hintstyle"> | |
<const>hintslight</const> | |
</edit> | |
</match> | |
<!-- use droid sans mono for monospace --> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>monospace</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Droid Sans Mono</string> | |
</edit> | |
</match> | |
<!-- use droid sans mono for sans-serif --> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>sans-serif</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Noto Sans</string> | |
</edit> | |
</match> | |
<!-- use droid sans mono for Courier New --> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Courier New</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Droid Sans Mono</string> | |
</edit> | |
</match> | |
<!-- replace times new roman with droid serif --> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Times New Roman</string> | |
<string>serif</string> | |
</test> | |
<edit binding="same" mode="prepend" name="family"> | |
<string>Noto Serif</string> | |
</edit> | |
</match> | |
<!-- lucida grande bold, with hintfull, becomes stiff looking, with 1 part of a letter more fat than the other, therefor hintslight--> | |
<match target="font"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Lucida Grande</string> | |
</test> | |
<test compare="more" name="weight" qual="any"> | |
<const>medium</const> | |
</test> | |
<edit mode="assign" name="hintstyle"> | |
<const>hintslight</const> | |
</edit> | |
</match> | |
<!-- lucida grande bold, with hintfull, becomes stiff looking, with 1 part of a letter more fat than the other, therefor hintslight--> | |
<match target="font"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Lucida Console</string> | |
</test> | |
<edit mode="assign" name="antialias"> | |
<bool>true</bool> | |
</edit> | |
<edit mode="assign" name="autohint"> | |
<bool>false</bool> | |
</edit> | |
<edit mode="assign" name="hintstyle"> | |
<const>hintfull</const> | |
</edit> | |
</match> | |
<!-- | |
Open sans WITHOUT autohint, becomes fattish in chrome/firefox | |
WITH autohint, becomes crytalline, very good | |
but like noto sans, the bold version is not beautiful | |
need to fix : TODO | |
--> | |
<match target="font"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Open Sans</string> | |
</test> | |
<edit mode="assign" name="autohint"> | |
<bool>true</bool> | |
</edit> | |
<edit mode="assign" name="hintstyle"> | |
<const>hintfull</const> | |
</edit> | |
</match> | |
<!-- | |
Styling for hindi fonts | |
Hindi (hi) | |
--> | |
<!-- force Lohit Hindi for hindi font --> | |
<match target="pattern"> | |
<test compare="eq" name="lang"> | |
<string>hi</string> | |
</test> | |
<edit binding="strong" mode="prepend" name="family"> | |
<string>Lohit Hindi</string> | |
</edit> | |
</match> | |
<!-- do some antialiasing tweak for gargi and lohit hindi font --> | |
<match target="font"> | |
<test compare="eq" name="family" qual="any"> | |
<string>gargi</string> | |
<string>Lohit Hindi</string> | |
</test> | |
<edit mode="assign" name="antialias"> | |
<bool>true</bool> | |
</edit> | |
<edit mode="assign" name="autohint"> | |
<bool>true</bool> | |
</edit> | |
<edit mode="assign" name="hintstyle"> | |
<const>hintslight</const> | |
</edit> | |
</match> | |
<!-- Replace mangal with lohit hindi, mangal is a stupid font --> | |
<match target="pattern"> | |
<test compare="eq" name="family" qual="any"> | |
<string>mangal</string> | |
</test> | |
<edit binding="strong" mode="assign" name="family"> | |
<string>Lohit Hindi</string> | |
</edit> | |
</match> | |
<!-- Hindi (hi) ends --> | |
<match target="font"> | |
<test compare="eq" name="family" qual="any"> | |
<string>Skype UI Symbol</string> | |
</test> | |
<edit mode="assign" name="antialias"> | |
<bool>true</bool> | |
</edit> | |
</match> | |
</fontconfig> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
is used on lenovo laptop - pretty nice. but after mac screen - better install linux on mac.