# ChangeLog for media-fonts/font-adobe-utopia-75dpi
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/media-fonts/font-adobe-utopia-75dpi/ChangeLog,v 1.26 2009/03/02 14:31:58 pva Exp $

  02 Mar 2009; Peter Volkov <pva@gentoo.org>
  font-adobe-utopia-75dpi-1.0.1.ebuild:
  ~mips keyworded, bug #237411

  24 Feb 2008; Raúl Porcel <armin76@gentoo.org>
  font-adobe-utopia-75dpi-1.0.1.ebuild:
  alpha stable

  23 Jan 2008; Raúl Porcel <armin76@gentoo.org>
  font-adobe-utopia-75dpi-1.0.1.ebuild:
  Add ~alpha

  16 Jun 2007; Christoph Mende <angelos@gentoo.org>
  font-adobe-utopia-75dpi-1.0.1.ebuild:
  Stable on amd64 wrt bug 180609

  06 Jun 2007; Jeroen Roovers <jer@gentoo.org>
  font-adobe-utopia-75dpi-1.0.1.ebuild:
  Stable for HPPA (bug #180609).

  05 Jun 2007; Luca Barbato <lu_zero@gentoo.org>
  font-adobe-utopia-75dpi-1.0.1.ebuild:
  Marked ppc

  05 Jun 2007; Christian Faulhammer <opfer@gentoo.org>
  font-adobe-utopia-75dpi-1.0.1.ebuild:
  stable x86, bug 180609

  04 Jun 2007; Gustavo Zacarias <gustavoz@gentoo.org>
  font-adobe-utopia-75dpi-1.0.1.ebuild:
  Stable on sparc wrt #180609

  26 Nov 2006; Diego Pettenò <flameeyes@gentoo.org>
  font-adobe-utopia-75dpi-1.0.1.ebuild:
  Add ~x86-fbsd keyword.

  10 Jul 2006; Aron Griffis <agriffis@gentoo.org>
  font-adobe-utopia-75dpi-1.0.1.ebuild:
  Mark 75dpi-1.0.1 stable on ia64

  02 Jul 2006; Markus Rothe <corsair@gentoo.org>
  font-adobe-utopia-75dpi-1.0.1.ebuild:
  Stable on ppc64

  04 Jun 2006; Donnie Berkholz <spyderous@gentoo.org>;
  font-adobe-utopia-75dpi-1.0.1.ebuild:
  (#133980) Add a real description (Max Lorenz).

  14 Feb 2006; Markus Rothe <corsair@gentoo.org>
  font-adobe-utopia-75dpi-1.0.1.ebuild:
  Added ~ppc64

  10 Jan 2006; Michael Hanselmann <hansmi@gentoo.org>
  font-adobe-utopia-75dpi-1.0.1.ebuild:
  Added to ~hppa, ~ppc.

  26 Dec 2005; Joshua Baergen <joshuabaergen@gentoo.org>
  -font-adobe-utopia-75dpi-1.0.0.ebuild:
  Pull old versions.

*font-adobe-utopia-75dpi-1.0.1 (23 Dec 2005)

  23 Dec 2005; Donnie Berkholz <spyderous@gentoo.org>;
  +font-adobe-utopia-75dpi-1.0.1.ebuild:
  Bump for 7.0.

*font-adobe-utopia-75dpi-1.0.0 (18 Dec 2005)

  18 Dec 2005; Donnie Berkholz <spyderous@gentoo.org>;
  -font-adobe-utopia-75dpi-0.99.2.ebuild,
  +font-adobe-utopia-75dpi-1.0.0.ebuild:
  Bump for 7.0RC4.

  10 Dec 2005; Donnie Berkholz <spyderous@gentoo.org>;
  font-adobe-utopia-75dpi-0.99.2.ebuild:
  Remove mkfontscale and mkfontdir deps; moved to x-modular.eclass.

  07 Dec 2005; Donnie Berkholz <spyderous@gentoo.org>;
  -font-adobe-utopia-75dpi-0.99.0.ebuild,
  -font-adobe-utopia-75dpi-0.99.1.ebuild:
  Pull old versions.

*font-adobe-utopia-75dpi-0.99.2 (07 Dec 2005)

  07 Dec 2005; Donnie Berkholz <spyderous@gentoo.org>;
  +font-adobe-utopia-75dpi-0.99.2.ebuild:
  Bump for 7.0RC2.

*font-adobe-utopia-75dpi-0.99.1 (20 Oct 2005)

  20 Oct 2005; Donnie Berkholz <spyderous@gentoo.org>;
  +font-adobe-utopia-75dpi-0.99.1.ebuild:
  Bump for 7.0 RC1.

  09 Sep 2005; Donnie Berkholz <spyderous@gentoo.org>; +metadata.xml:
  Add metadata.

  14 Aug 2005; Donnie Berkholz <spyderous@gentoo.org>;
  font-adobe-utopia-75dpi-0.99.0.ebuild:
  Autodiscover fonts instead of specifying them.

  11 Aug 2005; Donnie Berkholz <spyderous@gentoo.org>;
  font-adobe-utopia-75dpi-0.99.0.ebuild:
  Update to use new x-modular.eclass setup code. See font-misc-misc ChangeLog
  for more details.

  09 Aug 2005; Ferris McCormick <fmccor@gentoo.org>
  font-adobe-utopia-75dpi-0.99.0.ebuild:
  Add ~sparc keyword (modular X testing).

*font-adobe-utopia-75dpi-0.99.0 (08 Aug 2005)

  08 Aug 2005; Donnie Berkholz <spyderous@gentoo.org>;
  +font-adobe-utopia-75dpi-0.99.0.ebuild:
  Initial commit for modular X.

