1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
|
package Font::TTF::Features::Sset;
=head1 NAME
Font::TTF::Features::Sset - Class for Stylistic Set Feature Parameters
=head1 DESCRIPTION
Handles the Feature Parameters valus for Stylistic Sets
=head1 INSTANCE VARIABLES
=over 4
=item INFILE
The read file handle
=item OFFSET
Location of the file in the input file
=item Version
The minor version number, currently always 0
=item UINameID
The 'name' table name ID that specifies a string (or strings, for multiple
languages) for a user-interface label for this feature
=back
=head1 METHODS
=cut
use Font::TTF::Utils;
use strict;
=head2 $t->read
Reads the Feature Params
=cut
sub read
{
my ($self) = @_;
my ($fh) = $self->{' INFILE'};
my ($off) = $self->{' OFFSET'};
my $dat;
$fh->seek($off, 0);
$fh->read($dat, 4);
($self->{'Version'}, $self->{'UINameID'}) = TTF_Unpack("SS", $dat);
return $self;
}
=head2 $t->out($fh)
Writes the FeatureParams table to the output
=cut
sub out
{
my ($self, $fh) = @_;
$fh->print(TTF_Pack("S", $self->{'Version'}));
$fh->print(TTF_Pack("S", $self->{'UINameID'}));
$self;
}
=head2 Font::TTF::Features::Sset->new()
Creates a new FeatureParams object.
Values for INFILE and OFFSET canbe passed as parameters
=cut
sub new
{
my ($class,%parms) = @_;
my ($self) = {};
my ($p);
foreach $p (keys %parms)
{ $self->{" $p"} = $parms{$p}; }
bless $self, $class;
}
1;
=head1 AUTHOR
David Raymond L<David_Raymond@sil.org>.
=head1 LICENSING
Copyright (c) 1998-2013, SIL International (http://www.sil.org)
This module is released under the terms of the Artistic License 2.0.
For details, see the full text of the license in the file LICENSE.
=cut
|