Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Last revision Both sides next revision
blog:get_out_of_infinality_part_1 [2017/01/18 17:14]
sam [Step 1: Get Rid of Infinality]
blog:get_out_of_infinality_part_1 [2017/01/18 17:55]
sam
Line 3: Line 3:
 This is what I do to my systems to get them up to date with freetype 2.7, which invalidates((and incorporates some of)) the infinality patches. ​  This assumes you have multilib installed. ​  ​Remove references to ''​lib32-''​ packages if you don't. This is what I do to my systems to get them up to date with freetype 2.7, which invalidates((and incorporates some of)) the infinality patches. ​  This assumes you have multilib installed. ​  ​Remove references to ''​lib32-''​ packages if you don't.
  
-**Step 0:** Update system and get rid of orphans to make sure things are clean.+**Step 0:** Update system and get rid of orphans to make sure things are clean.  Make sure you have an alternative wm like ''​windowmaker''​ installed so freetype2 problems aren't deadly.
  
 ===== Step 1: Get Rid of Infinality ===== ===== Step 1: Get Rid of Infinality =====
Line 14: Line 14:
 pacman -S --asdeps ttf-dejavu gsfonts cantarell-fonts ​ pacman -S --asdeps ttf-dejavu gsfonts cantarell-fonts ​
 pacman -R `pacman -Qq | grep -- -ib$` pacman -R `pacman -Qq | grep -- -ib$`
 +pacman -S --asdeps gdk-pixbuf2 lib32-gdk-pixbuf2
 </​code>​ </​code>​
 +
 +At this point, all of the infinality stuff should be gone.   If you need a webbrowser open to read this doc, reopen it now.
 +
 +===== Step 2:  Font Replacement =====
 +
 +==== Google Fonts ====
 +
 +I'd like to install the full google-fonts archive, but the PKGBUILD sometimes doesn'​t list all the fonts it provides. ​  Keep that in mind when you install it.
 +
 +<​code>​
 +aurget -S ttf-google-fonts-git
 +</​code>​
 +
 +Also, as of right now, the google fonts package has problems with the ''​Khand''​ style fonts. ​  if you don't already have ''​ttf-freefont''​ installed, now would be a good time.
 +
 +==== fonts-meta-* ====
 +
 +There'​s a set of package that provides the font packages infinality used to provide. ​  ​Install it now.
 +
 +<​code>​
 +aurget -S --deps fonts-meta-base
 +# As of right now, brings in: ttf-heuristica-1.0.2-2 ttf-courier-prime-1.203-2 fonts-meta-base-1-2 ​
 +# And from pacman: ttf-liberation-2.00.1-7 ​ ttf-symbola-9.00-1
 +aurget -S --deps fonts-meta-extended-lt
 +# ttf-carlito-20130920-1 ttf-impallari-cantora-1.001-1 ttf-caladea-20130214-1 fonts-meta-extended-lt-2-1
 +# And from pacman: ttf-impallari-cantora-1.001-1 tex-gyre-fonts-2.005-3
 +</​code>​
 +
 +==== Fonts I Like ====
 +
 +This is mostly stuff to cover all of my bases with the Unicode set.  I'm on wikipedia linguistics pages a lot these days.   ​However,​ there are some fonts that are just nice to have, like the standard DOS vga font.
 +
 +<​code>​
 +pacman -S --needed ttf-liberation ttf-baekmuk ttf-bitstream-vera ttf-cheapskate ttf-hannom ttf-junicode ttf-sazanami ttf-ubraille ​  ​ttf-gentium ttf-hanazono ​ ttf-linux-libertine-g ​ ttf-symbola
 +aurget -S --deps ttf-inconsolata-g otf-quivira ttf-ibm-vga8 ttf-envy-code-r
 +</​code>​
 +
 +===== /​etc/​fonts/​local.conf =====
 +
 +
 +Now we need local definition magic to make it look nice.   I got it from {{https://​gist.github.com/​cryzed/​e002e7057435f02cc7894b9e748c5671}}.  ​
 +
 +<code xml>
 +
 +<?xml version='​1.0'?>​
 +<​!DOCTYPE fontconfig SYSTEM '​fonts.dtd'>​
 +<​fontconfig>​
 +  <match target="​font">​
 +    <edit name="​rgba"​ mode="​assign">​
 +      <​const>​rgb</​const>​
 +    </​edit>​
 +    ​
 +    <!-- Should be enabled by default -->
 +    <edit name="​hinting"​ mode="​assign">​
 +      <​bool>​true</​bool>​
 +    </​edit>​
 +
 +    <!-- Should be disabled by default
 +    <edit name="​autohint"​ mode="​assign">​
 +      <​bool>​false</​bool>​
 +    </​edit>​-->​
 +
 +    <!-- Should be enabled by default -->
 +    <edit name="​antialias"​ mode="​assign">​
 +      <​bool>​true</​bool>​
 +    </​edit>​
 +
 +    <edit name="​hintstyle"​ mode="​assign">​
 +      <​const>​hintslight</​const>​
 +    </​edit>​
 +    ​
 +    <edit name="​lcdfilter"​ mode="​assign">​
 +      <​const>​lcddefault</​const>​
 +    </​edit>​
 +  </​match>​
 +  ​
 +  <!-- Replacements from http://​bohoomil.com/​doc/​05-fonts/​ (until ibfonts-meta-extended) -->
 +  <​alias>​
 +    <​family>​serif</​family>​
 +    <​prefer><​family>​Heuristica</​family></​prefer>​
 +  </​alias>​
 +  <​alias>​
 +    <​family>​sans-serif</​family>​
 +    <​prefer><​family>​Noto Sans</​family></​prefer>​
 +  </​alias>​
 +  <​alias>​
 +    <​family>​monospace</​family>​
 +    <​prefer><​family>​Liberation Mono</​family></​prefer>​
 +  </​alias>​
 +  <​alias>​
 +    <​family>​fantasy</​family>​
 +    <​prefer><​family>​Signika</​family></​prefer>​
 +  </​alias>​
 +  <​alias>​
 +    <​family>​cursive</​family>​
 +    <​prefer><​family>​TeX Gyre Chorus</​family></​prefer>​
 +  </​alias>​
 +  <​match>​
 +    <test name="​family"><​string>​Arial</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​Liberation Sans</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Arial Narrow</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​Liberation Sans Narrow</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Book Antiqua</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​TeX Gyre Bonum</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Calibri</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​Carlito</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Cambria</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​Caladea</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​New Century Schoolbook</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​TeX Gyre Schola</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Comic Sans MS</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​Signika</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Consolas</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​Droid Sans Mono Slashed</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Constantia</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​Merriweather</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Corberl</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​Merriweather Sans</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Courier New</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​Courier Prime</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Geneva</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​Noto Sans</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Georgia</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​Gelasio</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Helvetica</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​Liberation Sans</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Helvetica Narrow</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​Liberation Sans Narrow</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Helvetica Neue</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​Open Sans</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Impact</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​Oswald</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​ITC Zapf Chancery</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​TeX Gyre Chorus</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Lucida Calligraphy</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​Quintessential</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Lucida Handwriting</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​Quintessential</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Lucida Casual</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​CantoraOne</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Lucida Console</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​Droid Sans Mono</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Lucida Sans Typewriter</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​Liberation Sans Mono</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Lucida Fax</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​Luxi Mono</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Lucida Sans / Grande</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​Droid Sans</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Palatino Linotype</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​TeX Gyre Pagella</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​SegoeUI</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​WeblySleek UI</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Symbol</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​Symbola</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Tahoma</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​DejaVu Sans Condensed</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Times New Roman</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​Liberation Serif</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Trebuchet MS</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​Ubuntu</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Verdana</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​DejaVu Sans</​string>​
 +    </​edit>​
 +  </​match>​
 +  <​match>​
 +    <test name="​family"><​string>​Windings</​string></​test>​
 +    <edit name="​family"​ mode="​assign"​ binding="​strong">​
 +      <​string>​Symbola</​string>​
 +    </​edit>​
 +  </​match>​
 +</​fontconfig>​
 +</​code>​
 +
 +===== Wrapping Up =====
 +
 +At this point, you should have the fonts that sort of approximate what I had under infinality. ​  There are some kerning changes, but they mostly don't bother me.   I can tweak it as time goes on.    So, you'll want to quit out of windowmaker or whatever and go back into GNOME. ​  Once you've verified everything is nice, you can purge the pacman cache to get some space back.
 +
 +<note warning>
 +**FIXME:** Make sure you've got the right kind of LCD hinting.
 +</​note>​
 +
 +
 +
 +
 +
 +
 +
 +
 +