PDF-Builder
view release on metacpan or search on metacpan
lib/PDF/Builder/Resource/CIDFont/TrueType/FontFile.pm view on Meta::CPAN
if (defined $font->{'OS/2'}->{'sFamilyClass'}) {
$data->{'panose'} = pack('n', $font->{'OS/2'}->{'sFamilyClass'});
foreach my $p (qw[bFamilyType bSerifStyle bWeight bProportion bContrast bStrokeVariation bArmStyle bLetterform bMidline bXheight]) {
if (defined $font->{'OS/2'}->{$p}) {
$data->{'panose'} .= pack('C', $font->{'OS/2'}->{$p});
}
}
}
$data->{'apiname'} = join('', map { ucfirst(lc(substr($_, 0, 2))) } split m/[^A-Za-z0-9\s]+/, $data->{'fontname'});
$data->{'fontname'} =~ s/[\x00-\x1f\s]//og;
$data->{'altname'} = $font->{'name'}->find_name(1);
$data->{'altname'} =~ s/[\x00-\x1f\s]//og;
$data->{'subname'} = $font->{'name'}->find_name(2);
$data->{'subname'} =~ s/[\x00-\x1f\s]//og;
# TBD in PDF::API2 the following line is just find_ms()
$font->{'cmap'}->read()->find_ms($opts{'isocmap'} || 0);
lib/PDF/Builder/Resource/Font/Postscript.pm view on Meta::CPAN
$data->{'subname'} = $data->{'weight'};
$data->{'subname'} .= ' Italic' if $data->{'italicangle'} < 0;
$data->{'subname'} .= ' Oblique' if $data->{'italicangle'} > 0;
$data->{'subname'} =~ s/[^A-Za-z0-9]+//og;
$data->{'missingwidth'} ||= $data->{'avgwidth2'};
$data->{'issymbol'} = 0;
$data->{'fontbbox'} = [ split(/\s+/,$data->{'fontbbox'}) ];
$data->{'apiname'} = join('', map { ucfirst(lc(substr($_, 0, 2))) } split m/[^A-Za-z0-9\s]+/, $data->{'apiname'});
$data->{'flags'} = 34;
$data->{'uni'} ||= [];
foreach my $n (0..255) {
$data->{'uni'}->[$n] = uniByName($data->{'char'}->[$n] || '.notdef') || 0;
}
delete $data->{'bbox'};
return $data;
lib/PDF/Builder/Resource/Font/Postscript.pm view on Meta::CPAN
$df{'DoubleLowerUnderlineOffset'},
$df{'DoubleUpperUnderlineWidth'},
$df{'DoubleLowerUnderlineWidth'},
$df{'StrikeOutOffset'},
$df{'StrikeOutWidth'},
$df{'KernPairs'},
$df{'KernTracks'} ) = unpack('v*', $buf);
$data->{'fontname'} = $df{'psName'};
$data->{'fontname'} =~ s/[^A-Za-z0-9]+//og;
$data->{'apiname'} = join('', map { ucfirst(lc(substr($_, 0, 2))) } split m/[^A-Za-z0-9\s]+/, $df{'windowsName'});
$data->{'upem'} = 1000;
$data->{'fontbbox'} = [-100,-100, $df{'MaxWidth'},$df{'Ascent'}];
$data->{'stemv'} = 0;
$data->{'stemh'} = 0;
$data->{'lastchar'} = $df{'LastChar'}||0; # running max
$data->{'firstchar'} = $df{'FirstChar'}||255; # running min
( run in 1.269 second using v1.01-cache-2.11-cpan-71847e10f99 )