Branch Coverage

blib/lib/Text/Layout/PDFAPI2.pm
Criterion Covered Total %
branch 72 262 27.4


line true false branch
19 0 3 unless (@data == 1 and ref($data[0]) =~ /^PDF::(API2|Builder)\b/)
24 3 0 if (not $fc or $fc->{'__PDF__'} ne $data[0])
30 3 0 unless $self->get_element_handler("img")
44 0 0 if defined $hb
56 3 2 if defined $f->{'_hb_checked'}
58 0 2 if ($f->get_shaping) { }
60 0 0 if ($f->{'font'}->can('fontfilename')) { }
61 0 0 if (_hb_init())
87 0 1 if ($self->{'_width'})
89 0 0 if ($w < $self->{'_width'})
90 0 0 if ($align eq 'right') { }
0 0 elsif ($align eq 'center') { }
109 0 0 if ($fx == 0 or not $self->{'_content'}[$fx - 1]{'bgcolor'})
114 0 0 if ($fx == $nfx - 1 or not $self->{'_content'}[$fx + 1]{'bgcolor'})
123 0 0 if ($self->{'_content'}[$i]{'type'} eq 'strut') { }
0 0 elsif (defined $delta and $self->{'_content'}[$i]{'bgcolor'} and $self->{'_content'}[$i]{'bgcolor'} eq $self->{'_content'}[$fx]{'bgcolor'}) { }
151 0 1 if ($fragment->{'type'} eq 'strut') { }
0 1 elsif (my $hd = $self->get_element_handler($fragment->{'type'})) { }
153 0 0 if (length $fragment->{'label'})
160 0 0 if $c
180 0 1 unless $fragment->{'type'} eq "text" and length $fragment->{'text'}
186 0 1 unless ($font)
195 0 1 if (_hb_font_check($f)) { }
199 0 0 if $f->{'direction'}
200 0 0 if $f->{'language'}
207 0 0 if ($fragment->{'bgcolor'})
233 1 0 if ($t ne "")
236 0 1 if ($font->issymbol and $font->is_standard)
245 0 1 if ($fragment->{'bgcolor'})
256 0 1 unless $x > $x0
262 0 1 if ($fragment->{'underline'} and $fragment->{'underline'} ne "none")
269 0 0 if ($fragment->{'underline'} eq 'double') { }
278 0 1 if ($fragment->{'strikethrough'})
282 0 0 $f->{'strikeline_position'} ? :
291 0 1 if ($fragment->{'overline'} and $fragment->{'overline'} ne "none")
298 0 0 $f->{'overline_position'} ? :
301 0 0 if ($fragment->{'overline'} eq 'double') { }
309 0 1 if @strikes
320 0 1 if @strikes
322 0 1 if ($fragment->{'href'})
327 0 0 if ($target =~ /^#(.+)/) { }
0 0 elsif ($target =~ /^(?!\w{3,}:)(.*)\#(.+)$/) { }
330 0 0 if (my $c = $pdf->can("named_dest_fiddle"))
368 2 4 if ($_->{'type'} eq 'strut') { }
0 4 elsif (my $hd = $self->get_element_handler($_->{'type'})) { }
378 0 2 if $ab[3] > $a
379 0 2 if $ab[1] < $d
384 0 0 if $all
387 0 0 if $ab[3] > $a
388 0 0 if $ab[1] < $d
389 0 0 if ($all)
390 0 0 if not defined $yMin or $ab[1] < $yMin
391 0 0 if not defined $yMax or $ab[3] > $yMax
395 2 4 unless $_->{'type'} eq "text" and length $_->{'text'}
399 0 4 unless ($font)
410 0 4 if (_hb_font_check($f)) { }
0 4 elsif ($all and $font->can('extents')) { }
413 0 0 if $f->{'language'}
414 0 0 if $f->{'direction'}
420 0 0 if ($all) { }
433 0 0 if $e->{'width'}
435 0 0 if not defined $yMin or $e->{'yMin'} < $yMin
437 0 0 if not defined $yMax or $e->{'yMax'} > $yMax
450 0 0 if $all and 0
452 0 0 if $all
455 0 0 if ($all)
460 0 0 if not defined $yMin or $e->{'yMin'} < $yMin
462 0 0 if not defined $yMax or $e->{'yMax'} > $yMax
476 4 0 if $d0 < $d
477 4 0 if $a0 > $a
481 0 4 unless $dir eq $mydir
488 0 0 if ($self->{'_width'} and $dir and $w < $self->{'_width'})
489 0 0 if ($dir eq "rtl" and !$align || $align eq 'left')
494 0 0 if ($self->{'_width'} and $align and $w < $self->{'_width'})
496 0 0 if ($align eq 'right') { }
0 0 elsif ($align eq 'center') { }
499 0 0 if defined $xMin
500 0 0 if defined $xMax
505 0 0 if defined $xMin
506 0 0 if defined $xMax
510 0 4 defined $xMin ? :
518 0 3 if (my $f = $fc->{$font})
526 0 3 if ($actual =~ /\.[ot]tf$/) { }
0 3 elsif ($actual =~ /(.*\.ttc)(?::(.*))?$/) { }
531 0 0 $fd->{'nosubset'} ? :
546 0 0 $fd->{'nosubset'} ? :
557 0 0 $actual ne $font ? :
0 3 unless $ff
576 0 0 if (defined $cur->[0]) { }
579 0 0 if $cur->[0] > $bb->[0] + $dx
580 0 0 if $cur->[1] > $bb->[1] + $dy
581 0 0 if $cur->[2] < $bb->[2] + $dx
582 0 0 if $cur->[3] < $bb->[3] + $dy
634 0 19 if ($self->{'-dokern'} and $self->haveKernPairs)
635 0 0 if ($self->kernPairCid($lastglyph, $n))
641 0 19 unless (defined $ex and %$ex)
656 4 15 if not defined $yMin or $e->{'yMin'} < $yMin
657 1 18 if not defined $yMax or $e->{'yMax'} > $yMax
661 1 0 if (defined $lastwidth) { }
698 0 1 if (UNIVERSAL::isa($file, 'Font::TTF::Font')) { }
702 0 1 unless -f $file
709 0 1 if ref $class
716 1 0 $opts{'embed'} ? :
717 0 1 defined $font->{'CFF '} ? :
719 0 1 if $data->{'iscff'}
757 1 0 if (defined $font->{'cmap'}->find_ms) { }
782 0 1 if $font->{'OS/2'}->read->{'bProportion'} == 9
783 1 0 unless $font->{'OS/2'}{'bSerifStyle'} > 10 and $font->{'OS/2'}{'bSerifStyle'} < 14
784 0 1 if $font->{'OS/2'}{'bFamilyType'} == 2
786 0 1 if $font->{'OS/2'}{'bLetterform'} > 8
791 0 1 if ($data->{'issymbol'}) { }
798 0 1 if ($font->{'post'}->read->{'FormatType'} == 3 and defined $font->{'cmap'}->read->find_ms) { }
806 0 262 unless $_
814 0 1 if ($self->iscff)
818 0 1 if (defined $data->{'cff'}{'ROS'}) { }
838 17 245 unless $_
841 0 1 if ($data->{'issymbol'})
846 0 256 unless $data->{'g2n'}[$data->{'u2g'}{$_} or 0]
848 41 215 unless $data->{'u2g'}{$_ or 0}
859 261 1 if ($hmtx) { }
868 1 0 unless defined $data->{'kern'}
893 0 0 unless my $file = $self->can("_find_font")->($name)
925 0 0 if ($sel =~ /^(.*):(.*)/) { }
0 0 elsif ($sel) { }
926 0 0 if $1 and lc $d->{'name'}->find_name(1) ne lc $1
927 0 0 if $2 and lc $d->{'name'}->find_name(2) ne lc $2
930 0 0 unless lc $d->{'name'}->find_name(6) eq lc $sel
937 0 0 unless $font
938 0 0 unless exists $opts{'-unicodemap'}
939 0 0 unless exists $opts{'embed'}
944 0 0 if $opts{'-unicodemap'}