| PDF-API3 documentation | Contained in the PDF-API3 distribution. |
PDF::API3::Compat::API2::Basic::TTF::PCLT - PCLT TrueType font table
The PCLT table holds various pieces HP-PCL specific information. Information here is generally not used by other software, except for the xHeight and CapHeight which are stored here (if the table exists in a font).
Only from table and the standard:
version
FontNumber
Pitch
xHeight
Style
TypeFamily
CapHeight
SymbolSet
Typeface
CharacterComplement
FileName
StrokeWeight
WidthType
SerifStyle
Notice that Typeface, CharacterComplement and FileName return arrays
of unsigned characters of the appropriate length
Reads the table into memory thanks to some utility functions
Writes the table to a file either from memory or by copying.
None known
Martin Hosken Martin_Hosken@sil.org. See PDF::API3::Compat::API2::Basic::TTF::Font for copyright and licensing.
| PDF-API3 documentation | Contained in the PDF-API3 distribution. |
#======================================================================= # ____ ____ _____ _ ____ ___ ____ # | _ \| _ \| ___| _ _ / \ | _ \_ _| |___ \ # | |_) | | | | |_ (_) (_) / _ \ | |_) | | __) | # | __/| |_| | _| _ _ / ___ \| __/| | / __/ # |_| |____/|_| (_) (_) /_/ \_\_| |___| |_____| # # 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: PCLT.pm,v 2.0 2005/11/16 02:16:00 areibens Exp $ # #======================================================================= package PDF::API3::Compat::API2::Basic::TTF::PCLT;
use strict; use vars qw(@ISA %fields @field_info); require PDF::API3::Compat::API2::Basic::TTF::Table; use PDF::API3::Compat::API2::Basic::TTF::Utils; @ISA = qw(PDF::API3::Compat::API2::Basic::TTF::Table); @field_info = ( 'version' => 'f', 'FontNumber' => 'L', 'Pitch' => 'S', 'xHeight' => 'S', 'Style' => 'S', 'TypeFamily' => 'S', 'CapHeight' => 'S', 'SymbolSet' => 'S', 'Typeface' => 'C16', 'CharacterComplement' => 'C8', 'FileName' => 'C6', 'StrokeWeight' => 'C', 'WidthType' => 'C', 'SerifStyle' => 'c'); sub init { my ($k, $v, $c, $i); for ($i = 0; $i < $#field_info; $i += 2) { ($k, $v, $c) = TTF_Init_Fields($field_info[$i], $c, $field_info[$i + 1]); next unless defined $k && $k ne ""; $fields{$k} = $v; } }
sub read { my ($self) = @_; my ($dat); $self->SUPER::read || return $self; init unless defined $fields{'xHeight'}; $self->{' INFILE'}->read($dat, 54); TTF_Read_Fields($self, $dat, \%fields); $self; }
sub out { my ($self, $fh) = @_; return $self->SUPER::out($fh) unless $self->{' read'}; $fh->print(TTF_Out_Fields($self, \%fields, 54)); } 1;