File: Size.pm

package info (click to toggle)
libfont-ttf-perl 1.04-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 1,128 kB
  • ctags: 486
  • sloc: perl: 17,382; makefile: 10
file content (130 lines) | stat: -rw-r--r-- 1,968 bytes parent folder | download
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
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.



=cut