| line |
true |
false |
branch |
|
403
|
0 |
0 |
unless $raf->Read($buff, 12) == 12 |
|
404
|
0 |
0 |
unless $buff =~ /^ttcf\0[\x01\x02]\0\0/ |
|
408
|
0 |
0 |
unless $num < 256 and $raf->Read($buff, $num * 4) == $num * 4 |
|
410
|
0 |
0 |
if $et->{'OPTIONS'}{'FastScan'} and $et->{'OPTIONS'}{'FastScan'} == 3 |
|
419
|
0 |
0 |
unless $raf->Seek($offset, 0) |
|
420
|
0 |
0 |
unless &ProcessOTF($et, $dirInfo) |
|
437
|
0 |
2 |
unless $offset |
|
438
|
0 |
2 |
if ($verbose) |
|
443
|
0 |
0 |
if $verbose > 2 |
|
444
|
0 |
0 |
unless $processTag{$tag} |
|
446
|
0 |
2 |
if $transformed or $size < 8 |
|
447
|
0 |
2 |
unless ($tag eq "name") |
|
455
|
0 |
2 |
if ($recEnd > $size) |
|
460
|
0 |
2 |
if ($strStart < $recEnd or $strStart > $size) |
|
466
|
0 |
2 |
if (&Get16u($dataPt, 0) == 1 and $recEnd + 2 <= $size) |
|
468
|
0 |
0 |
if ($langTags and $recEnd + 2 + $langTags * 4 < $size) |
|
473
|
0 |
0 |
if $langLen == 0 or $langLen & 1 or $langLen > 40 |
|
475
|
0 |
0 |
if $langPt + $langLen > $size |
|
486
|
0 |
2 |
if $verbose |
|
495
|
63 |
0 |
if ($strPt + $strLen <= $size) |
|
500
|
63 |
0 |
if ($sys) { } |
|
503
|
0 |
63 |
if (not $charset) { } |
|
504
|
0 |
0 |
unless (defined $charset or $et->{'FontWarn'}) |
|
517
|
30 |
20 |
if ($tagInfo and $lang and $lang ne "en") |
|
519
|
30 |
0 |
if $langInfo |
|
521
|
0 |
63 |
if ($verbose) |
|
522
|
0 |
0 |
if $langID > 1024 |
|
539
|
0 |
2 |
$verbose ? : |
|
553
|
0 |
2 |
unless $raf->Read($buff, 12) == 12 |
|
554
|
0 |
2 |
unless $buff =~ /^(\0\x01\0\0|OTTO|true|typ1|\xa5(kbd|lst))[\0\x01]/ |
|
556
|
0 |
2 |
$1 eq 'OTTO' ? : |
|
557
|
0 |
2 |
if $et->{'OPTIONS'}{'FastScan'} and $et->{'OPTIONS'}{'FastScan'} == 3 |
|
560
|
0 |
2 |
unless $numTables > 0 and $numTables < 512 |
|
562
|
0 |
2 |
unless $raf->Read($tbl, $len) == $len |
|
569
|
14 |
2 |
unless $processTag{$tag} or $verbose |
|
572
|
0 |
2 |
unless ($raf->Seek($offset + $base, 0) and $raf->Read($buff, $size) == $size) |
|
577
|
0 |
2 |
if $err |
|
578
|
2 |
0 |
if defined $err |
|
596
|
0 |
1 |
unless $buff =~ /^Start(Comp|Master)?FontMetrics\s+\d+/ |
|
597
|
0 |
0 |
$1 eq 'Comp' ? : |
|
|
0 |
1 |
$1 ? : |
|
599
|
0 |
1 |
if $et->{'OPTIONS'}{'FastScan'} and $et->{'OPTIONS'}{'FastScan'} == 3 |
|
603
|
0 |
19 |
unless $raf->ReadLine($buff) |
|
604
|
1 |
18 |
if (defined $comment and not $buff =~ /^Comment\s/) |
|
608
|
0 |
19 |
unless $buff =~ /^(\w+)\s+(.*?)[\x0d\x0a]/ |
|
610
|
1 |
18 |
if ($tag eq "Comment" and $val =~ /^(Creation Date):\s+(.*)/) |
|
614
|
1 |
18 |
if ($tag eq "Comment") |
|
616
|
0 |
1 |
defined $comment ? : |
|
619
|
6 |
12 |
unless ($et->HandleTag($tagTablePtr, $tag, $val)) |
|
621
|
1 |
5 |
if $tag =~ /^Start/ and $tag ne "StartDirection" |
|
635
|
0 |
0 |
unless $raf->Read($buff, 1) |
|
637
|
0 |
0 |
if ($val == 253) { } |
|
|
0 |
0 |
elsif ($val == 254) { } |
|
|
0 |
0 |
elsif ($val == 255) { } |
|
638
|
0 |
0 |
unless $raf->Read($buff, 2) == 2 |
|
641
|
0 |
0 |
unless $raf->Read($buff, 1) |
|
644
|
0 |
0 |
unless $raf->Read($buff, 1) |
|
660
|
0 |
0 |
unless $raf->Read($buff, 1) |
|
662
|
0 |
0 |
if not $_ and $byte == 128 |
|
663
|
0 |
0 |
if $val & 4261412864 |
|
665
|
0 |
0 |
unless $byte & 128 |
|
678
|
0 |
0 |
unless (eval {
do {
require Compress::Zlib
}
}) |
|
683
|
0 |
0 |
if $inflate |
|
684
|
0 |
0 |
unless ($inflate and $stat == Compress::Zlib::Z_STREAM_END()) |
|
698
|
0 |
0 |
unless (eval {
do {
require IO::Uncompress::Brotli
}
}) |
|
703
|
0 |
0 |
if ($@) |
|
720
|
0 |
0 |
unless $raf->Seek(0, 0) and $raf->Read($buff, 48) == 48 |
|
721
|
0 |
0 |
unless $buff =~ /^(wOF[F2])/ |
|
722
|
0 |
0 |
$1 eq 'wOFF' ? : |
|
734
|
0 |
0 |
if ($type eq 'woff') { } |
|
735
|
0 |
0 |
unless ($raf->Seek($off + 24, 0) and $raf->Read($tbl, $numTables * 20) == $numTables * 20) |
|
742
|
0 |
0 |
unless $processTag{$tag} or $verbose |
|
743
|
0 |
0 |
unless $raf->Seek($pos, 0) and $raf->Read($buff, $compLen) == $compLen |
|
745
|
0 |
0 |
if ($compLen eq $len) { } |
|
748
|
0 |
0 |
unless &Uncompress($et, \$buff) |
|
751
|
0 |
0 |
if $err |
|
752
|
0 |
0 |
if defined $err |
|
757
|
0 |
0 |
unless $raf->Seek($off + 24, 0) |
|
759
|
0 |
0 |
unless $raf->Read($buff, 1) |
|
762
|
0 |
0 |
unless $tag or $raf->Read($tag, 4) == 4 |
|
764
|
0 |
0 |
unless defined $len |
|
766
|
0 |
0 |
if ($tag eq "glyf" or $tag eq "loca" xor $flags & 192) |
|
774
|
0 |
0 |
if $err |
|
776
|
0 |
0 |
if ($flavor eq "ttcf") |
|
777
|
0 |
0 |
unless $raf->Seek(4, 1) |
|
779
|
0 |
0 |
unless defined $n and $raf->Seek(4, 1) |
|
780
|
0 |
0 |
unless $raf->Seek(4, 1) |
|
782
|
0 |
0 |
unless defined &Read255UInt16($raf) |
|
784
|
0 |
0 |
if $err |
|
786
|
0 |
0 |
unless $raf->Read($buff, $compSize) == $compSize |
|
787
|
0 |
0 |
unless &Unbrotli($et, \$buff) |
|
793
|
0 |
0 |
if ($processTag{$tag} or $verbose) |
|
796
|
0 |
0 |
if $err |
|
797
|
0 |
0 |
if defined $err |
|
805
|
0 |
0 |
if ($metaLen) |
|
806
|
0 |
0 |
unless ($raf->Seek($metaPos, 0) and $raf->Read($buff, $metaLen) == $metaLen) |
|
810
|
0 |
0 |
if ($type eq 'woff') { } |
|
811
|
0 |
0 |
unless &Uncompress($et, \$buff) |
|
813
|
0 |
0 |
unless &Unbrotli($et, \$buff) |
|
833
|
0 |
5 |
unless $raf->Read($buff, 24) and $raf->Seek(0, 0) |
|
834
|
1 |
4 |
if ($buff =~ /^(\0\x01\0\0|OTTO|true|typ1)[\0\x01]/) { } |
|
|
0 |
4 |
elsif ($buff =~ /^ttcf\0[\x01\x02]\0\0/) { } |
|
|
1 |
3 |
elsif ($buff =~ /^Start(Comp|Master)?FontMetrics\s+\d+/s) { } |
|
|
2 |
1 |
elsif ($buff =~ /^(.{6})?%!(PS-(AdobeFont-|Bitstream )|FontType1-)/s) { } |
|
|
1 |
0 |
elsif ($buff =~ /^\0[\x01\x02]/ and $raf->Seek(0, 2) and $raf->Tell > 117 and $raf->Tell == unpack('x2V', $buff) and $raf->Seek(0, 0) and $raf->Read($buff, 117) == 117 and &SetByteOrder('II') and $raf->Seek(&Get32u(\$buff, 101), 0) and $raf->Read($buf2, 11) == 11 and lc $buf2 eq "postscript\000") { } |
|
|
0 |
0 |
elsif ($buff =~ /^(wOF[F2])/) { } |
|
841
|
1 |
1 |
if $1 |
|
856
|
0 |
1 |
if $et->{'OPTIONS'}{'FastScan'} and $et->{'OPTIONS'}{'FastScan'} == 3 |
|
863
|
1 |
0 |
if ($raf->Seek($nameOff, 0) and $raf->Read($buff, 256) and $buff =~ /^([\x20-\xff]+)\0([\x20-\xff]+)\0/) |