The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
package Font::TTF::Features::Size;

=head1 NAME

Font::TTF::Features::Size - Class for Size Feature Parameters

=head1 DESCRIPTION

Handles the Feature Parameters valus for Size features

=head1 INSTANCE VARIABLES

=over 4

=item INFILE

The read file handle

=item OFFSET

Location of the file in the input file

=item DesignSize

Design Size in decipoints

=item SubFID

Identifier for the fonts in a subfamily

=item SubFNameID

The 'name' table name ID for the subfamily name

=item MinSize

Bottom end of recomended usage size range

=item MaxSize

Top end of recomended usage size range


=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, 10);

    (    $self->{'DesignSize'}
				,$self->{'SubFID'}
				,$self->{'SubFNameID'}
				,$self->{'MinSize'}
				,$self->{'MaxSize'} ) = TTF_Unpack("S*", $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->{'DesignSize'}
    		,$self->{'SubFID'}
    		,$self->{'SubFNameID'}
    		,$self->{'MinSize'}
    		,$self->{'MaxSize'} ));
    $self;
}

=head2 Font::TTF::Features::Sset->new()

Creates a new FeatureParams object.  Table instance variables are passed in
at this point as an associative array.

=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 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.

The test suite contains test fonts released under the SIL Open Font License 1.1, see OFL.txt.

=cut