@ISA
=
qw(Font::TTF::Mort::Subtable)
;
sub
new
{
my
(
$class
,
$direction
,
$orientation
,
$subFeatureFlags
) =
@_
;
my
(
$self
) = {
'direction'
=>
$direction
,
'orientation'
=>
$orientation
,
'subFeatureFlags'
=>
$subFeatureFlags
};
$class
=
ref
(
$class
) ||
$class
;
bless
$self
,
$class
;
}
sub
read
{
my
(
$self
,
$fh
) =
@_
;
my
(
$dat
);
my
(
$format
,
$lookup
) = AAT_read_lookup(
$fh
, 2,
$self
->{
'length'
} - 8,
undef
);
$self
->{
'format'
} =
$format
;
$self
->{
'lookup'
} =
$lookup
;
$self
;
}
sub
pack_sub
{
my
(
$self
) =
@_
;
return
AAT_pack_lookup(
$self
->{
'format'
},
$self
->{
'lookup'
}, 2,
undef
);
}
sub
print
{
my
(
$self
,
$fh
) =
@_
;
my
$post
=
$self
->post();
$fh
=
'STDOUT'
unless
defined
$fh
;
my
$lookup
=
$self
->{
'lookup'
};
$fh
->
printf
(
"\t\tLookup format %d\n"
,
$self
->{
'format'
});
if
(
defined
$lookup
) {
foreach
(
sort
{
$a
<=>
$b
}
keys
%$lookup
) {
$fh
->
printf
(
"\t\t\t%d [%s] -> %d [%s])\n"
,
$_
,
$post
->{
'VAL'
}[
$_
],
$lookup
->{
$_
},
$post
->{
'VAL'
}[
$lookup
->{
$_
}]);
}
}
}
1;