The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

PostScript::Resources - module to fetch data from Unix PostScript Resource '.upr' files

SYNOPSIS

  my $rsc = new PostScript::Resources (options);
  print STDOUT $rsc->FontAFM ("Times-Roman"), "\n";

DESCRIPTION

This package allows Unix font resource files, so called '.upr' files, to be read and parsed.

CONSTRUCTOR

new ( OPTIONS )

The constructor will initialise the PostScript resource context by loading all resource files.

OPTIONS

path => path

path is a colon-separated list of locations where resource files are kept. It defaults to the value of the environment variable PSRESOURCEPATH, which defaults to '::'.

Two adjacent colons in the path represent the list of default places in which a component looks for resources. This is also the default value for users who have not installed private resources. Users with private resources should end the path with a double colon if they want their resources to override the system defaults, or begin it with a double colon if they don't want to override system defaults.

On Unix systems, resource files end with the suffix '.upr' (for Unix PostScript resources). The principal resource file in a directory is named 'PSres.upr'.

If the first line of a principal resource file is 'PS-Resources-Exclusive-1.0', only this file will be loaded and processing continues with the next entry from the path.

If, however, the first line of the principal resource file is 'PS-Resources-1.0', or if there is no such file, all files in the directory with the suffix '.upr' will be loaded.

stdpath => path

The standard locations for resource files.

error => [ 'die' | 'warn' | 'ignore' ]

How errors must be handled.

Invalid entries in the file are always reported unless the error handling strategy is set to 'ignore'.

verbose => value

Prints verbose info if value is true.

trace => value

Prints tracing info if value is true. trace' and 'Implies 'verbose'.

debug => value

Prints debugging info if value is true. Implies 'trace' and 'verbose'.

INSTANCE METHODS

Each of these methods can return undef if the corresponding information could not be found in the file.

FontAFM ( FONTNAME )

The name of the Adobe Font Metrics (.afm) file for the named font.

FontOutline ( FONTNAME )

The name of the PostScript Font program for the named font.

ENVIRONMENT VARIABLES

PSRESOURCEPATH

The list of directories where resource files are kept. Semantics are as defined in appendix A of Display PostScript Toolkit for X, Adobe Technical Note DPS.refmanuals.TK.pdf.

KNOWN BUGS AND LIMITATIONS

Only FontAFM and FontOutline resources are implemented. All other resource sections are ignored.

All info is loaded in memory structures. This is okay for small files or if several lookups are done on the same file.

Backslash escape processing is not yet implemented, except for the handling of line continuation.

This module is intended to be used on Unix systems only. Your mileage on other platforms may vary.

SEE ALSO

http://partners.adobe.com/asn/developer/PDFS/TN/DPS.refmanuals.TK.pdf

The specification of the Adobe Display PostScript Toolkit for X. The format of the font resources file is described in appendix A of this document.

AUTHOR

Johan Vromans, Squirrel Consultancy <jvromans@squirrel.nl>

COPYRIGHT and DISCLAIMER

This program is Copyright 2000,1999 by Squirrel Consultancy. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of either: a) the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or b) the "Artistic License" which comes with Perl.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See either the GNU General Public License or the Artistic License for more details.