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 )