Font-TTF-Scripts
view release on metacpan or search on metacpan
Examples/ttfenc.pl view on Meta::CPAN
for ($i = $min; $i < 256; $i++)
{
next unless ($map->[$i]);
next if (($opt_z & 2) && pack('C', $i) =~ m/[0-9\-:]/o);
my ($gid) = $font->{'cmap'}->ms_lookup($map->[$i]);
my ($lsb, $adv) = ($font->{'hmtx'}{'lsb'}[$gid], $font->{'hmtx'}{'advance'}[$gid]);
if (-$lsb <= $adv && $lsb != 0)
{
# printf "\\catcode%d=\\active\\uccode1=%d \\uppercase{\\xdef^^A{\\noexpand\\basechar{%s}}}%%\n", $i, $i, chr($i);
# printf "\\catcode%d=\\active\\uccode1=%d \\expandafter\\gdef\\uppercase{^^A}{\\basechar{%s}}%%\n", $i, $i, chr($i);
printf "\\catcode%d=\\active\\uccode1=%d \\uppercase{\\edef^^A{\\noexpand\\basechar{%d}}}%%\n", $i, $i, $i;
push (@list, $i);
}
}
print "}\n";
print "\\def\\un$psname\{".'%'."\n";
foreach (@list)
{
if ($texcatcodes{chr($_)})
Examples/ttfwidth.pl view on Meta::CPAN
$j = ($c_enc == 1) ? $c_map[$c_enc[$i - 32]] : $c_map[$i];
next if ($j == 0);
}
$o_cnt = $h_lsb[$j] + ($g_xmax[$j] - $g_xmin[$j]) / 2;
$o_centre = $h_adw[$j] - $o_cnt;
$o_centre = -$o_centre if ($o_cnt < 0);
if (defined $opt_s)
{
if (!defined $opt_u)
{
printf OUTFILE "\\code %d\n\\char %c\n\\uni 0x%04x\n\\glyph %d\n"
. "\\adw %d\n\\lsb %d\n",
$i, $i, ($c_enc == 1) ? $c_enc[$i] : $i + 0xf000, $i,
$h_adw[$j], $h_lsb[$j];
}
else
{
printf OUTFILE "\\code 0x%04x\n\\glyph %d\n\\adw %d\n\\lsb %d \n",
$c_uni[$i], $i, $h_adw[$j], $h_lsb[$j];
}
printf OUTFILE "\\xmin %d\n\\xmax %d\n\\ymin %d\n\\ymax %d\n\\xcent %d\n\n",
$g_xmin[$j], $g_xmax[$j], $g_ymin[$j], $g_ymax[$j], $o_centre;
}
else
{
if (!defined $opt_u)
{
if ($i == 34)
( run in 0.453 second using v1.01-cache-2.11-cpan-3cd7ad12f66 )