This agreement is *only* for the free fonts that can be downloaded *directly*
from my site.

    * This font is free for personal and commercial use
    * The font file/software may be modified to suit design of system
      requirements, but strictly for your own (personal or commercial) use. You
      may not sell or distribute it
    * Embedding (in PDF's, Flash files and programs) is allowed
    * You may use this font for Font-Face embedding, but only if you put a link
      to www.exljbris.nl on your page and/or put this notice /* A font by Jos
      Buivenga (exljbris) -> www.exljbris.com */ in your CSS file as near as
      possible to the piece of code that declares the Font-Face embedding of
      this font.
    * This font may not be distributed or sold -not online nor on any media-
      without my permission
    * This font is and remains (even when modified) the intellectual property
      of Jos Buivenga
    * exljbris Font Foundry is not liable for any damage resulting from the use
      of this font
