09/09/20 00:36:53 Wiycj4xM
use Font::TTF::Font;
$font = Font::TTF::Font->open($ARGV[0]);
$uni = 0x3041;
$gid = $font->{'cmap'}->ms_lookup($uni);
printf("GID of 0x%x is %d¥n", $uni, $gid);
# read 'vert' feature
$gsub = $font->{'GSUB'}->read;
$subtable_offset = $gsub->{'FEATURES'}->{'vert'}->{'INDEX'};
$vert = $gsub->{'LOOKUP'}->[$subtable_offset];
$vert_coverage = $vert->{'SUB'}->[0]->{'COVERAGE'}->{'val'};
$vert_gid = $gid;
$vert_gid = $vert->{'SUB'}->[0]->{'RULES'}->[$vert_coverage->{$gid}]->[0]->{'ACTION'}->[0]
if (defined $vert_coverage->{$gid});
printf("GID of 0x%x (vert) is %d¥n", $uni, $vert_gid);