Branch Coverage

blib/lib/Image/ExifTool/Font.pm
Criterion Covered Total %
branch 56 218 25.6


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/)