————————————————#=======================================================================
# ____ ____ _____ _ ____ ___ ____
# | _ \| _ \| ___| _ _ / \ | _ \_ _| |___ \
# | |_) | | | | |_ (_) (_) / _ \ | |_) | | __) |
# | __/| |_| | _| _ _ / ___ \| __/| | / __/
# |_| |____/|_| (_) (_) /_/ \_\_| |___| |_____|
#
# A Perl Module Chain to faciliate the Creation and Modification
# of High-Quality "Portable Document Format (PDF)" Files.
#
#=======================================================================
#
# THIS IS A REUSED PERL MODULE, FOR PROPER LICENCING TERMS SEE BELOW:
#
#
# Copyright Martin Hosken <Martin_Hosken@sil.org>
#
# No warranty or expression of effectiveness, least of all regarding
# anyone's safety, is implied in this software or documentation.
#
# This specific module is licensed under the Perl Artistic License.
#
#
# $Id: Utils.pm,v 2.0 2005/11/16 02:16:00 areibens Exp $
#
#=======================================================================
=head1 NAME
PDF::API3::Compat::API2::Basic::PDF::Utils - Utility functions for PDF library
=head1 DESCRIPTION
A set of utility functions to save the fingers of the PDF library users!
=head1 FUNCTIONS
=cut
use
strict;
use
Exporter;
@ISA
=
qw(Exporter)
;
@EXPORT
=
qw(PDFBool PDFArray PDFDict PDFLiteral PDFName PDFNull PDFNum PDFStr PDFStrHex PDFUtf
asPDFBool asPDFName asPDFNum asPDFStr)
;
no
warnings
qw[ deprecated recursion uninitialized ]
;
=head2 PDFBool
Creates a Bool via PDF::API3::Compat::API2::Basic::PDF::Bool->new
=cut
sub
PDFBool
{ PDF::API3::Compat::API2::Basic::PDF::Bool->new(
@_
); }
=head2 PDFArray
Creates an array via PDF::API3::Compat::API2::Basic::PDF::Array->new
=cut
sub
PDFArray
{ PDF::API3::Compat::API2::Basic::PDF::Array->new(
@_
); }
=head2 PDFDict
Creates a dict via PDF::API3::Compat::API2::Basic::PDF::Dict->new
=cut
sub
PDFDict
{ PDF::API3::Compat::API2::Basic::PDF::Dict->new(
@_
); }
=head2 PDFName
Creates a name via PDF::API3::Compat::API2::Basic::PDF::Name->new
=cut
sub
PDFName
{ PDF::API3::Compat::API2::Basic::PDF::Name->new(
@_
); }
=head2 PDFNull
Creates a null via PDF::API3::Compat::API2::Basic::PDF::Null->new
=cut
sub
PDFNull
{ PDF::API3::Compat::API2::Basic::PDF::Null->new(
@_
); }
=head2 PDFNum
Creates a number via PDF::API3::Compat::API2::Basic::PDF::Number->new
=cut
sub
PDFNum
{ PDF::API3::Compat::API2::Basic::PDF::Number->new(
@_
); }
=head2 PDFStr
Creates a string via PDF::API3::Compat::API2::Basic::PDF::String->new
=cut
sub
PDFStr
{ PDF::API3::Compat::API2::Basic::PDF::String->new(
@_
); }
=head2 PDFStrHex
Creates a hex-string via PDF::API3::Compat::API2::Basic::PDF::String->new
=cut
sub
PDFStrHex
{
my
$x
=PDF::API3::Compat::API2::Basic::PDF::String->new(
@_
);
$x
->{
' ishex'
}=1;
return
(
$x
); }
=head2 PDFUtf
Creates a utf8-string via PDF::API3::Compat::API2::Basic::PDF::String->new
=cut
sub
PDFUtf
{
my
$x
=PDF::API3::Compat::API2::Basic::PDF::String->new(
@_
);
$x
->{
' isutf'
}=1;
return
(
$x
); }
=head2 PDFLiteral
Creates a pdf-literal via PDF::API3::Compat::API2::Basic::PDF::Literal->new
=cut
sub
PDFLiteral
{ PDF::API3::Compat::API2::Basic::PDF::Literal->new(
@_
); }
=head2 asPDFBool
Returns a literal value in PDF output form
=cut
sub
asPDFBool
{ PDF::API3::Compat::API2::Basic::PDF::Bool->new(
@_
)->as_pdf; }
=head2 asPDFStr
Returns a string in PDF output form (including () or <>)
=cut
sub
asPDFStr
{ PDF::API3::Compat::API2::Basic::PDF::String->new(
@_
)->as_pdf; }
=head2 asPDFName
Returns a Name in PDF Output form (including /)
=cut
sub
asPDFName
{ PDF::API3::Compat::API2::Basic::PDF::Name->new(
@_
)->as_pdf (
@_
); }
=head2 asPDFNum
Returns a number in PDF output form
=cut
sub
asPDFNum
{
$_
[0]; }
# no translation needed
=head2 unpacku($str)
Returns a list of unicode values for the given UTF8 string
=cut
sub
unpacku
{
my
(
$str
) =
@_
;
my
(
@res
);
return
(
unpack
(
"U*"
,
$str
));
}
1;