Font copyright information for Wine PostScript driver built-in font metrics.


The font metric information built into the Wine PostScript driver is derived
from two sources.  Individual glyph metrics and some font-wide metrics are
derived from the Adobe Font Metrics (AFM) files at:

    ftp://ftp.adobe.com/pub/adobe/type/win/all/afmfiles/base35/

Windows-specific font metrics, which are not present in the AFM files are
derived from each PostScript font's TrueType "workalike".


ITC Avant Garde Gothic Demi

Copyright (c) 1985, 1987, 1989, 1990, 1991 Adobe Systems Incorporated.  All
rights reserved.  ITC Avant Garde Gothic is a registered trademark of
International Typeface Corporation.

Windows metrics derived from Century Gothic Bold.  Typeface copyright The
Monotype Corporation plc.  Data copyright The Monotype Corporation plc/Type
Solutions Inc. 1990-1991.  All rights reserved.  Century Gothic is a trademark
of The Monotype Corporation plc.


ITC Avant Garde Gothic Demi Oblique

Copyright (c) 1985, 1987, 1989, 1990, 1991 Adobe Systems Incorporated.  All
rights reserved.  ITC Avant Garde Gothic is a registered trademark of
International Typeface Corporation.

Windows metrics derived from Century Gothic Bold Italic.  Typeface copyright The
Monotype Corporation plc.  Data copyright The Monotype Corporation plc/Type
Solutions Inc. 1990-1991.  All rights reserved.  Century Gothic is a trademark
of The Monotype Corporation plc.


ITC Avant Garde Gothic Book

Copyright (c) 1985, 1987, 1989, 1990, 1991 Adobe Systems Incorporated.  All
rights reserved.  ITC Avant Garde Gothic is a registered trademark of
International Typeface Corporation.

Windows metrics derived from Century Gothic.  Typeface copyright The Monotype
Corporation plc.  Data copyright The Monotype Corporation plc/Type Solutions
Inc. 1990-1991.  All rights reserved.  Century Gothic is a trademark of The
Monotype Corporation plc.


ITC Avant Garde Gothic Book Oblique

Copyright (c) 1985, 1987, 1989, 1990, 1991 Adobe Systems Incorporated.  All
rights reserved.  ITC Avant Garde Gothic is a registered trademark of
International Typeface Corporation.

Windows metrics derived from Century Gothic Italic.  Typeface copyright The
Monotype Corporation plc.  Data copyright The Monotype Corporation plc/Type
Solutions Inc. 1990-1991.  All rights reserved.  Century Gothic is a trademark
of The Monotype Corporation plc.


ITC Bookman Demi

Copyright (c) 1985, 1987, 1989, 1992 Adobe Systems Incorporated.  All rights
reserved.  ITC Bookman is a registered trademark of International Typeface
Corporation.

Windows metrics derived from Bookman Old Style Bold.  Digitized data copyright
The Monotype Corporation 1991-1995.  All rights reserved.  Bookman Old Style is
a trademark of The Monotype Corporation which may be registered in certain
jurisdictions.


ITC Bookman Demi Italic

Copyright (c) 1985, 1987, 1989, 1992 Adobe Systems Incorporated.  All rights
reserved.  ITC Bookman is a registered trademark of International Typeface
Corporation.

Windows metrics derived from Bookman Old Style Bold Italic.  Digitized data
copyright The Monotype Corporation 1991-1995.  All rights reserved.  Bookman Old
Style is a trademark of The Monotype Corporation which may be registered in
certain jurisdictions.


ITC Bookman Light

Copyright (c) 1985, 1987, 1989, 1992 Adobe Systems Incorporated.  All rights
reserved.  ITC Bookman is a registered trademark of International Typeface
Corporation.

Windows metrics derived from Bookman Old Style.  Digitized data copyright The
Monotype Corporation 1991-1995.  All rights reserved.  Bookman Old Style is a
trademark of The Monotype Corporation which may be registered in certain
jurisdictions.


ITC Bookman Light Italic

Copyright (c) 1985, 1987, 1989, 1992 Adobe Systems Incorporated.  All rights
reserved.  ITC Bookman is a registered trademark of International Typeface
Corporation.

Windows metrics derived from Bookman Old Style Italic.  Digitized data copyright
The Monotype Corporation 1991-1995.  All rights reserved.  Bookman Old Style is
a trademark of The Monotype Corporation which may be registered in certain
jurisdictions.


Courier Bold

Copyright (c) 1989, 1990, 1991 Adobe Systems Incorporated.  All rights reserved.

Windows metrics derived from Courier New Bold.  Typeface copyright The Monotype
Corporation plc.  Data copyright The Monotype Corporation plc/Type Solutions
Inc. 1990-1992.  All rights reserved.  Courier is a trademark of The Monotype
Corporation plc, registered in certain countries.


Courier Bold Oblique

Copyright (c) 1989, 1990, 1991 Adobe Systems Incorporated.  All rights reserved.

Windows metrics derived from Courier New Bold Italic.  Typeface copyright The
Monotype Corporation plc.  Data copyright The Monotype Corporation plc/Type
Solutions Inc. 1990-1992.  All rights reserved.  Courier is a trademark of The
Monotype Corporation plc, registered in certain countries.


Courier

Copyright (c) 1989, 1990, 1991 Adobe Systems Incorporated.  All rights reserved.

Windows metrics derived from Courier New.  Typeface copyright The Monotype
Corporation plc.  Data copyright The Monotype Corporation plc/Type Solutions
Inc. 1990-1994.  All rights reserved.  Courier is a trademark of The Monotype
Corporation plc, registered in certain countries.


Courier Oblique

Copyright (c) 1989, 1990, 1991 Adobe Systems Incorporated.  All rights reserved.

Windows metrics derived from Courier New Italic.  Typeface copyright The
Monotype Corporation plc.  Data copyright The Monotype Corporation plc/Type
Solutions Inc. 1990-1992.  All rights reserved.  Courier is a trademark of The
Monotype Corporation plc, registered in certain countries.


Helvetica

Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated.  All rights
reserved.  Helvetica is a trademark of Linotype AG and/or its subsidiaries.

Windows metrics derived from Arial.  Typeface copyright The Monotype Corporation
plc.  Data copyright The Monotype Corporation plc/Type Solutions Inc. 1990-1992.
All rights reserved.  Arial is a registered trademark of The Monotype
Corporation plc, registered in the United States Patent and Trademark Office and
elsewhere.


Helvetica Bold

Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated.  All rights
reserved.  Helvetica is a trademark of Linotype AG and/or its subsidiaries.

Windows metrics derived from Arial Bold.  Typeface copyright The Monotype
Corporation plc.  Data copyright The Monotype Corporation plc/Type Solutions
Inc. 1990-1992.  All rights reserved.  Arial is a registered trademark of The
Monotype Corporation plc, registered in the United States Patent and Trademark
Office and elsewhere.


Helvetica Bold Oblique

Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated.  All rights
reserved.  Helvetica is a trademark of Linotype AG and/or its subsidiaries.

Windows metrics derived from Arial Bold Italic.  Typeface copyright The Monotype
Corporation plc.  Data copyright The Monotype Corporation plc/Type Solutions
Inc. 1990-1992.  All rights reserved.  Arial is a registered trademark of The
Monotype Corporation plc, registered in the United States Patent and Trademark
Office and elsewhere.


Helvetica Narrow

Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated.  All rights
reserved.  Helvetica is a trademark of Linotype AG and/or its subsidiaries.

Windows metrics derived from Arial Narrow.  Digitized data copyright The
Monotype Corporation 1991-1995.  All rights reserved.  Arial is a trademark of
The Monotype Corporation which may be registered in certain jurisdictions.


Helvetica Narrow Bold

Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated.  All rights
reserved.  Helvetica is a trademark of Linotype AG and/or its subsidiaries.

Windows metrics derived from Arial Narrow Bold.  Digitized data copyright The
Monotype Corporation 1991-1995.  All rights reserved.  Arial is a trademark of
The Monotype Corporation which may be registered in certain jurisdictions.


Helvetica Narrow Bold Oblique

Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated.  All rights
reserved.  Helvetica is a trademark of Linotype AG and/or its subsidiaries.

Windows metrics derived from Arial Narrow Bold Italic.  Digitized data copyright
The Monotype Corporation 1991-1995.  All rights reserved.  Arial is a trademark
of The Monotype Corporation which may be registered in certain jurisdictions.


Helvetica Narrow Oblique

Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated.  All rights
reserved.  Helvetica is a trademark of Linotype AG and/or its subsidiaries.

Windows metrics derived from Arial Narrow Italic.  Digitized data copyright The
Monotype Corporation 1991-1995.  All rights reserved.  Arial is a trademark of
The Monotype Corporation which may be registered in certain jurisdictions.


Helvetica Oblique

Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated.  All rights
reserved.  Helvetica is a trademark of Linotype AG and/or its subsidiaries.

Windows metrics derived from Arial Italic.  Typeface copyright The Monotype
Corporation plc.  Data copyright The Monotype Corporation plc/Type Solutions
Inc. 1990-1992.  All rights reserved.  Arial is a registered trademark of The
Monotype Corporation plc, registered in the United States Patent and Trademark
Office and elsewhere.


New Century Schoolbook Bold

Copyright (c) 1985, 1987, 1988, 1991 Adobe Systems Incorporated.  All rights
reserved.

Windows metrics derived from Century Schoolbook Bold.  Typeface copyright The
Monotype Corporation plc.  Data copyright The Monotype Corporation plc/Type
Solutions Inc. 1990-1991.  All rights reserved.  Century Schoolbook is a
registered trademark of The Monotype Corporation plc.


New Century Schoolbook Bold Italic

Copyright (c) 1985, 1987, 1989, 1991 Adobe Systems Incorporated.  All rights
reserved.

Windows metrics derived from Century Schoolbook Bold Italic.  Typeface copyright
The Monotype Corporation plc.  Data copyright The Monotype Corporation plc/Type
Solutions Inc. 1990-1991.  All rights reserved.  Century Schoolbook is a
registered trademark of The Monotype Corporation plc.


New Century Schoolbook Italic

Copyright (c) 1985, 1987, 1989, 1991 Adobe Systems Incorporated.  All rights
reserved.

Windows metrics derived from Century Schoolbook Italic.  Typeface copyright The
Monotype Corporation plc.  Data copyright The Monotype Corporation plc/Type
Solutions Inc. 1990-1991.  All rights reserved.  Century Schoolbook is a
registered trademark of The Monotype Corporation plc.


New Century Schoolbook Roman

Copyright (c) 1985, 1987, 1989, 1991 Adobe Systems Incorporated.  All rights
reserved.

Windows metrics derived from Century Schoolbook.  Typeface copyright The
Monotype Corporation plc.  Data copyright The Monotype Corporation plc/Type
Solutions Inc. 1990-1991.  All rights reserved.  Century Schoolbook is a
registered trademark of The Monotype Corporation plc.


Palatino Bold

Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated.  All rights
reserved.  Palatino is a trademark of Linotype AG and/or its subsidiaries.

Windows metrics derived from Book Antiqua Bold.  Digitized data copyright The
Monotype Corporation 1991-1995.  All rights reserved.  Book Anqiqua is a
trademark of the Monotype Corporation which may be registered in certain
jurisdictions.


Palatino Bold Italic

Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated.  All rights
reserved.  Palatino is a trademark of Linotype AG and/or its subsidiaries.

Windows metrics derived from Book Antiqua Bold Italic.  Digitized data copyright
The Monotype Corporation 1991-1995.  All rights reserved.  Book Antiqua is a
trademark of the Monotype Corporation which may be registered in certain
jurisdictions.


Palatino Italic

Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated.  All rights
reserved.  Palatino is a trademark of Linotype AG and/or its subsidiaries.

Windows metrics derived from Book Antiqua Italic.  Digitized data copyright The
Monotype Corporation 1991-1995.  All rights reserved.  Book Antiqua is a
trademark of The Monotype Corporation which may be registered in certain
jurisdictions.


Palatino Roman

Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated.  All rights
reserved.  Palatino is a trademark of Linotype AG and/or its subsidiaries.

Windows metrics derived from Book Antiqua.  Digitized data copyright The
Monotype Corporation 1991-1995.  All rights reserved.  Book Antiqua is a
trademark of The Monotype Corporation which may be registered in certain
jurisdictions.


Symbol

Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated.  All rights
reserved.

Windows metrics derived from [Monotype] Symbol.  Typeface copyright The Monotype
Corporation plc.  Data copyright the Monotype Corporation plc/Type Solutions
Inc. 1990-1992.  All rights reserved.


Times Bold

Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated.  All rights
reserved.  Times is a trademark of Linotype AG and/or its subsidiaries.

Windows metrics derived from Times New Roman Bold.  Typeface copyright The
Monotype Corporation plc/Type Solutions Inc. 1990-1992.  All rights reserved.
Times New Roman is a registered trademark of the Monotype Corporation plc,
registered in the United States Patent and Trademark Office and elsewhere.


Times Bold Italic

Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated.  All rights
reserved.  Times is a trademark of Linotype AG and/or its subsidiaries.

Windows metrics derived from Times New Roman Bold Italic.  Typeface copyright
the Monotype Corporation plc/Type Solutions Inc. 1990-1992.  All rights
reserved.  Times New Roman is a registered trademark of the Monotype Corporation
plc, registered in the United States Patent and Trademark Office and elsewhere.


Times Italic

Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated.  All rights
reserved.  Times is a trademark of Linotype AG and/or its subsidiaries.

Windows metrics derived from Times New Roman Italic.  Typeface copyright The
Monotype Corporation plc/Type Solutions Inc. 1990-1992.  All rights reserved.
Times New Roman is a registered trademark of the Monotype Corporation plc,
registered in the United States Patent and Trademark Office and elsewhere.

Times Roman

Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated.  All rights
reserved.  Times is a trademark of Linotype AG and/or its subsidiaries.

Windows metrics derived from Times New Roman.  Typeface copyright The Monotype
Corporation plc/Type Solutions Inc. 1990-1992.  All rights reserved.  Times New
Roman is a registered trademark of The Monotype Corporation plc, registered in
the United States Patent and Trademark Office and elsewhere.


ITC Zapf Chancery Medium Italic

Copyright (c) 1985, 1987, 1989, 1990 Adobe Systems Incorporated.  All rights
reserved.  ITC Zapf Chancery is a registered trademark of International Typeface
Corporation.

Windows metrics derived from Monotype Corsiva.  Digitized data copyright The
Monotype Corporation 1991-1995.  All rights reserved.  Monotype Corsiva is a
trademark of The Monotype Corporation which may be registered in certain
jurisdictions.


ITC Zapf Dingbats

Copyright (c) 1985, 1987, 1988, 1989 Adobe Systems Incorporated.  All rights
reserved.  ITC Zapf Dingbats is a registered trademark of International Typeface
Corporation.

Windows metrics derived from Monotype Sorts.  Digitized data copyright Monotype
Typography Ltd 1991-1995.  All rights reserved.  Monotype Sorts is a trademark
of Monotype Typography, Ltd which may be registered in certain jurisdictions.
