Branch Coverage

lib/SIRTX/Font.pm
Criterion Covered Total %
branch 0 530 0.0


line true false branch
300 0 0 if scalar @args
317 0 0 if (defined $glyph_attr->[$glyph])
334 0 0 if $last == $updates{$glyph}
359 0 0 if (defined $glyph) { }
373 0 0 if ($ref =~ /^[0-9]+\z/u) { }
0 0 elsif ($ref =~ /^:(.+)\z/u) { }
381 0 0 if ($cmp eq '<') { }
0 0 elsif ($cmp eq '<=') { }
0 0 elsif ($cmp eq '>') { }
0 0 elsif ($cmp eq '>=') { }
0 0 elsif ($cmp eq '==') { }
393 0 0 unless ($res)
407 0 0 if (defined $glyph) { }
415 0 0 if ($key =~ s/:rgb\z//u)
420 0 0 unless defined $type
421 0 0 unless defined $value
423 0 0 if ($type eq 'uint') { }
0 0 elsif ($type eq 'bool') { }
0 0 elsif ($type eq 'string') { }
0 0 elsif ($type eq 'codepoint') { }
0 0 elsif (ref $type) { }
0 0 elsif (eval { do { $value->isa($type) } }) { }
0 0 elsif ($type eq 'Data::Identifier' and not eval { do { $value->isa('Data::Identifier') } }) { }
424 0 0 unless $value =~ /^(?:0|[1-9][0-9]*)\z/u
428 0 0 if $value eq "no" or $value eq "nein" or $value eq "false" or $value eq "off"
429 0 0 $value ? :
433 0 0 if (length $value == 0)
439 0 0 if &none(sub { $_ eq $value; } , @{$type;})
448 0 0 if (defined $glyph) { }
453 0 0 unless (eval { do { $self->_check_constrains($glyph) } })
454 0 0 if (defined $glyph) { }
467 0 0 if defined $n
476 0 0 if defined $n
485 0 0 if defined $n
494 0 0 if scalar @opts
503 0 0 if scalar @opts
505 0 0 unless defined $key
506 0 0 unless defined $_metadata_types{$key}
515 0 0 if scalar @opts
523 0 0 if wantarray
530 0 0 if wantarray
560 0 0 unless defined $self->{'chars'}{$codepoint}
574 0 0 unless defined $self->{'chars'}{$codepoint}
593 0 0 unless exists $required{$codepoint}
605 0 0 if (defined $glyph)
607 0 0 if ($glyph < 0 or $glyph >= scalar @{$self->{'glyphs'};})
619 0 0 if ($codepoint =~ /^[Uu]\+([0-9a-fA-F]{4,6})$/u) { }
625 0 0 if $codepoint < 0 or $codepoint > 1114111
636 0 0 if defined $self->{'chars'}{$codepoint}
687 0 0 if scalar @opts
689 0 0 unless defined $glyph
690 0 0 if $glyph < 0 or $glyph >= scalar @{$self->{'glyphs'};}
691 0 0 unless defined $key
692 0 0 unless defined $_glyph_metadata_types{$key}
693 0 0 unless exists $self->{'glyph_attr'}[$glyph]
702 0 0 if scalar @opts
719 0 0 unless scalar readline $in eq "\0\aSF\r\n\300\n"
726 0 0 unless $marker == 1536
728 0 0 if ($type & 64)
732 0 0 if ($len) { }
739 0 0 if $got != $len
742 0 0 if ($type == 0) { }
0 0 elsif ($type == 129) { }
0 0 elsif ($type == 130) { }
0 0 elsif ($type == 195) { }
0 0 elsif ($type == 132 or $type == 196) { }
0 0 elsif ($type & 128) { }
761 0 0 if (($vb & 3) == 3) { }
0 0 elsif (($vb & 3) == 2) { }
0 0 elsif (($vb & 3) == 1) { }
0 0 elsif (($vb & 3) == 0) { }
771 0 0 if $vx
773 0 0 if (length $extra >= 16)
775 0 0 if $uuid ne "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
778 0 0 if (length $extra > 16)
785 0 0 $vx != 0 && $vx != 65535 ? :
790 0 0 if $icontext != 0 and $icontext < 65533
791 0 0 if defined $displaycolour
793 0 0 if (length $extra >= 8)
796 0 0 if $eic <= 1114111
798 0 0 if ($ergb <= 16777215)
810 0 0 unless defined $count
811 0 0 unless $self->bits == 1
816 0 0 $w & 7 ? :
821 0 0 if $char == 4294967295
831 0 0 unless length $data == $entry_size
856 0 0 if (defined $run) { }
858 0 0 if ($idx == $run->[0] + $next and $glyph == $run->[2] + $next) { }
882 0 0 if scalar @extra_headers
899 0 0 unless (eval { do { $in->isa("Image::Magick") } })
913 0 0 unless substr($data, 0, 2) eq "\0\0"
916 0 0 if $w & 128 or $h & 128
930 0 0 unless open my $in, "<:utf8", $filename
942 0 0 unless defined $pg
956 0 0 if scalar keys %opts
964 0 0 unless scalar @{$pg;}
970 0 0 if (defined $primary)
985 0 0 if scalar keys %opts
997 0 0 unless defined $type
998 0 0 unless defined $in
1000 0 0 if ($type eq "auto" and not ref $in)
1001 0 0 if ($in =~ /\.(sf|psf|hex|ttf)((?:\.gz)?)\z/u) { }
0 0 elsif ($in =~ m([/\\][Uu]\+([0-9a-fA-F]{4,6})\.[^\.]+\z)u) { }
1009 0 0 if $type eq "auto"
1011 0 0 if ($type eq 'psf') { }
0 0 elsif ($type eq 'hex') { }
0 0 elsif ($type eq 'sf') { }
0 0 elsif ($type eq 'glyph') { }
0 0 elsif ($type eq 'ttf') { }
1016 0 0 if scalar keys %opts
1018 0 0 unless (ref $in)
1022 0 0 unless open $fh, "<", $in
1024 0 0 if $gz
1033 0 0 if scalar keys %opts
1052 0 0 if scalar keys %opts
1054 0 0 unless (ref $in)
1058 0 0 unless open $fh, "<", $in
1060 0 0 if $gz
1064 0 0 if $in->read($data, 2) != 2
1066 0 0 if ($data eq "6\cD") { }
0 0 elsif ($data eq "r\265") { }
1070 0 0 if $in->read($data, 2) != 2
1077 0 0 $mode & 1 ? :
1080 0 0 if $in->read($data, $height) != $height
1084 0 0 if ($mode & 6) { }
1091 0 0 if ($data == 65535) { }
1092 0 0 if $cc < $glyphs
1108 0 0 if $in->read($data, 30) != 30
1111 0 0 if $magic2 != 34378
1112 0 0 if $version != 0
1113 0 0 if $headersize != 32
1120 0 0 if $in->read($data, $bytesperglyph) != $bytesperglyph
1124 0 0 if ($flags) { }
1154 0 0 unless (ref $in)
1158 0 0 unless open $fh, "<", $in
1160 0 0 if $gz
1169 0 0 $w % 8 ? :
1174 0 0 unless my($cp, $pixel) = $line =~ /^([0-9A-F]{4,}):([0-9A-F]+)$/u
1182 0 0 if ($pixel_count == $wb) { }
0 0 elsif ($pixel_count == 1 and $wb == 2) { }
1208 0 0 if scalar keys %opts
1221 0 0 if ($platform_id == 1 and $language_id == 0 or $platform_id == 3 and $language_id == 1033)
1225 0 0 if $flat_namedinfos{$name_id} ne $value
1231 0 0 $face->is_italic ? :
1232 0 0 $face->is_bold ? :
1236 0 0 if (defined $flat_namedinfos{'5'} and not ref $flat_namedinfos{'5'})
1240 0 0 if ($v =~ /^(?:MS core font:\s*)?[Vv]([0-9]+)\.([0-9]+)\s*\z/u) { }
0 0 elsif ($v =~ /^Version\s+([0-9]+)\.([0-9]+)(?:\s*;\s*[12][0-9]{3}-[01][0-9]-[0-3][0-9])?\s*\z/u) { }
1246 0 0 if (defined $version_major)
1247 0 0 if $version_major < 0
1248 0 0 if $version_major > 255
1251 0 0 if (defined $version_minor)
1252 0 0 if $version_minor < 0
1253 0 0 if $version_minor > 255
1268 0 0 if $dy < 0
1274 0 0 $left > 0 ? :
0 0 unless ($p->CopyPixels("image", $bitmap, "x", 0, "y", 0, "dx", $left > 0 ? $left : 0, "dy", $dy))
1284 0 0 unless $ok
1300 0 0 if scalar keys %opts
1302 0 0 unless opendir my $dir, $directory
1304 0 0 if ($ent =~ /^U\+([0-9A-F]{4,})\.(?:png|wbmp)$/u)
1309 0 0 if $incremental and defined $chars->{$codepoint}
1321 0 0 if -f $fullname
1326 0 0 if -f $fullname
1337 0 0 if defined $glyph
1338 0 0 unless defined $glyph and $glyph >= 0
1340 0 0 unless defined $glyph
1342 0 0 if ($self->width >= 128 or $self->height >= 128 or $self->bits != 1)
1360 0 0 if scalar keys %opts
1366 0 0 unless open my $out, ">:utf8", $filename
1377 0 0 if scalar keys %opts
1379 0 0 unless (ref $out)
1383 0 0 unless open $fh, ">", $out
1385 0 0 if $gz
1389 0 0 if ($type eq 'sf') { }
0 0 elsif ($type eq 'hex') { }
1407 0 0 if ($width & 7)
1425 0 0 $w % 8 ? :
1436 0 0 $h - $_ < $i * $h8 ? :
1440 0 0 $h - $_ > 7 * $h8 || $_ == 1 ? :
1442 0 0 $_ > 4 * $h8 ? :
1448 0 0 if ($wb == 1) { }
0 0 elsif ($wb == 2) { }
1482 0 0 if (defined $vmiddleline and defined $hmiddleline)
1488 0 0 if $key =~ /l/u
1489 0 0 if $key =~ /r/u
1490 0 0 if ($key =~ /t/u)
1493 0 0 if ($key =~ /b/u)
1497 0 0 if ($wb == 1) { }
0 0 elsif ($wb == 2) { }
1512 0 0 $w % 8 ? :
1517 0 0 if (ref $line)
1520 0 0 unless length $line == $w
1542 0 0 if ($w <= 8) { }
0 0 elsif ($w <= 16) { }
1565 0 0 if $d == $empty
1566 0 0 if (defined $baseline) { }
1567 0 0 if $baseline != $i
1580 0 0 if ($matches >= 4)
1604 0 0 if ($d & $msb >> $i)
1605 0 0 if (defined $vpixel and $vpixel != $i) { }
1621 0 0 unless $k
1622 0 0 if (defined $hpixel and $hpixel != $i) { }
1632 0 0 if (defined $vpixel)
1634 0 0 if (defined $vmiddleline) { }
1635 0 0 if $vmiddleline == $vpixel
1641 0 0 if (defined $hpixel)
1642 0 0 if (defined $hmiddleline) { }
1643 0 0 if $hmiddleline == $hpixel
1655 0 0 if ($vmatches >= 4)
1658 0 0 if ($hmatches >= 4)
1668 0 0 if $cp >= 9472 and $cp <= 9599
1670 0 0 if ($cp > 32 and $cp < 127 and not $attr->{'resync'})
1676 0 0 unless (defined $attr->{'preskip'})
1681 0 0 if ($x & 12582912) != 12582912
1688 0 0 unless (defined $attr->{'postskip'})
1689 0 0 $w & 7 ? :
1694 0 0 if ($x & 3) != 3
1697 0 0 if $postskip > 15
1705 0 0 if ($cp == 32 and not defined $attr->{'postskip'})
1707 0 0 if $postskip > 15
1711 0 0 if scalar keys %{$attr;}
1721 0 0 if defined $glyph
1722 0 0 unless defined $glyph and $glyph >= 0
1724 0 0 unless defined $glyph
1726 0 0 if ($self->bits != 1)
1730 0 0 if ($w <= 8) { }
0 0 elsif ($w <= 16) { }
1744 0 0 if scalar @opts
1762 0 0 unless defined $chars
1777 0 0 $self->has_all_codepoints_from('important') ? :
1778 0 0 $self->get_attribute('reverse_slant') ? :
1780 0 0 if ($slant eq 'roman') { }
0 0 elsif ($slant eq 'italic') { }
0 0 elsif ($slant eq 'oblique') { }
1790 0 0 if ($weight eq 'normal') { }
0 0 elsif ($weight eq 'bold') { }
0 0 elsif ($weight eq 'thin') { }
1807 0 0 if (($flags & 192) == 64) { }
0 0 elsif (($flags & 192) == 192 or ($flags & 192) == 0) { }
1813 0 0 if ($slant == 12) { }
0 0 elsif ($slant == 4) { }
0 0 elsif ($slant == 8) { }
1823 0 0 if ($weight == 3) { }
0 0 elsif ($weight == 1) { }
0 0 elsif ($weight == 2) { }
1839 0 0 if (($flags & 49152) == 49152 or ($flags & 49152) == 0) { }
1876 0 0 if ($version_type eq 'stable') { }
0 0 elsif ($version_type eq 'rc') { }
0 0 elsif ($version_type eq 'beta') { }
0 0 elsif ($version_type eq 'devel') { }
1888 0 0 if (defined $uuid)
1892 0 0 if (defined(my $name = eval { do { $self->get_attribute("font_name") } }))
1895 0 0 if (length $extra != 16)
1902 0 0 if ($len % 8)
1905 0 0 if ($len % 8)
1933 0 0 unless defined $icontext or defined $displaycolour
1937 0 0 if (defined $displaycolour)
1941 0 0 defined $displaycolour ? :
1943 0 0 $icontext >= 65535 ? :
1945 0 0 if (defined $displaycolour and eval { do { $displaycolour->generator->eq("55febcc4-6655-4397-ae3d-2353b5856b34") } })
1951 0 0 if (defined $icontext and $icontext >= 65533 or defined $displaycolour_rgb)
1952 0 0 defined $icontext ? :
1953 0 0 defined $displaycolour_rgb ? :
1956 0 0 $extra ne '' ? :