X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/e316fc14bef26f958937aec0e6854b61f71a3b34..09dded3d8606e8e4406fffcf477ceb4a1c97fee2:/font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern/ClassArray.pm diff --git a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern/ClassArray.pm b/font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern/ClassArray.pm deleted file mode 100644 index ddc630e..0000000 --- a/font-optimizer/ext/Font-TTF/lib/Font/TTF/Kern/ClassArray.pm +++ /dev/null @@ -1,153 +0,0 @@ -package Font::TTF::Kern::ClassArray; - -=head1 NAME - -Font::TTF::Kern::ClassArray - ClassArray Kern Subtable for AAT - -=head1 METHODS - -=cut - -use strict; -use vars qw(@ISA); -use Font::TTF::Utils; -use Font::TTF::AATutils; -use IO::File; - -@ISA = qw(Font::TTF::Kern::Subtable); - -sub new -{ - my ($class) = @_; - my ($self) = {}; - - $class = ref($class) || $class; - bless $self, $class; -} - -=head2 $t->read - -Reads the table into memory - -=cut - -sub read -{ - my ($self, $fh) = @_; - - my $subtableStart = $fh->tell() - 8; - my $dat; - $fh->read($dat, 8); - my ($rowWidth, $leftClassTable, $rightClassTable, $array) = unpack("nnnn", $dat); - - $fh->seek($subtableStart + $leftClassTable, IO::File::SEEK_SET); - $fh->read($dat, 4); - my ($firstGlyph, $nGlyphs) = unpack("nn", $dat); - $fh->read($dat, $nGlyphs * 2); - my $leftClasses = []; - foreach (TTF_Unpack("S*", $dat)) { - push @{$leftClasses->[($_ - $array) / $rowWidth]}, $firstGlyph++; - } - - $fh->seek($subtableStart + $rightClassTable, IO::File::SEEK_SET); - $fh->read($dat, 4); - ($firstGlyph, $nGlyphs) = unpack("nn", $dat); - $fh->read($dat, $nGlyphs * 2); - my $rightClasses = []; - foreach (TTF_Unpack("S*", $dat)) { - push @{$rightClasses->[$_ / 2]}, $firstGlyph++; - } - - $fh->seek($subtableStart + $array, IO::File::SEEK_SET); - $fh->read($dat, $self->{'length'} - $array); - - my $offset = 0; - my $kernArray = []; - while ($offset < length($dat)) { - push @$kernArray, [ TTF_Unpack("s*", substr($dat, $offset, $rowWidth)) ]; - $offset += $rowWidth; - } - - $self->{'leftClasses'} = $leftClasses; - $self->{'rightClasses'} = $rightClasses; - $self->{'kernArray'} = $kernArray; - - $fh->seek($subtableStart + $self->{'length'}, IO::File::SEEK_SET); - - $self; -} - -=head2 $t->out_sub($fh) - -Writes the table to a file - -=cut - -sub out_sub -{ -} - -=head2 $t->print($fh) - -Prints a human-readable representation of the table - -=cut - -sub print -{ - my ($self, $fh) = @_; - - my $post = $self->post(); - - $fh = 'STDOUT' unless defined $fh; - - -} - -sub dumpXML -{ - my ($self, $fh) = @_; - my $post = $self->post(); - - $fh = 'STDOUT' unless defined $fh; - $fh->printf("\n"); - $self->dumpClasses($self->{'leftClasses'}, $fh); - $fh->printf("\n"); - - $fh->printf("\n"); - $self->dumpClasses($self->{'rightClasses'}, $fh); - $fh->printf("\n"); - - $fh->printf("\n"); - my $kernArray = $self->{'kernArray'}; - foreach (0 .. $#$kernArray) { - $fh->printf("\n", $_); - my $row = $kernArray->[$_]; - foreach (0 .. $#$row) { - $fh->printf("\n", $_, $row->[$_]); - } - $fh->printf("\n"); - } - $fh->printf("\n"); -} - -sub type -{ - return 'kernClassArray'; -} - - - -1; - -=head1 BUGS - -None known - -=head1 AUTHOR - -Jonathan Kew L. See L for copyright and -licensing. - -=cut -