Branch Coverage

lib/PostScript/Font.pm
Criterion Covered Total %
branch 47 182 25.8


line true false branch
39 0 1 unless defined $font
47 0 0 if $error eq 'die'
48 0 0 if $error eq 'warn'
51 0 1 if lc $atts{'format'} eq 'pfa'
52 0 1 if lc $atts{'format'} eq 'pfb'
54 1 0 unless defined $PostScript::Font::t1disasm
62 0 1 if (lc $atts{'format'} eq 'asm') { }
0 1 elsif (lc $atts{'format'} eq 'binary') { }
63 0 0 if $$self{'verbose'}
69 0 0 if $$self{'verbose'}
77 0 1 if ($@)
99 0 1 if (defined $format)
103 0 1 unless exists $$self{'data'}
109 0 0 unless exists $$self{'glyphs'}
115 0 0 unless exists $$self{'encoding'}
122 0 0 if ref $enc eq 'ARRAY'
124 0 0 if ($enc eq 'StandardEncoding') { }
0 0 elsif ($enc eq 'ISOLatin1Encoding') { }
151 0 1 unless $fh->open($fn)
152 0 1 if $$self{'verbose'}
161 0 1 unless length $data >= 4
166 0 1 if (substr($data, 0, 4) eq "\000\cA\000\000" or substr($data, 0, 4) eq 'OTTO') { }
171 0 0 if ($@)
192 0 1 if $$self{'trace'}
193 0 1 if $sz > 0 and $sz != $len
197 1 0 if ($$data =~ /^\200[\001-\003]/) { }
0 0 elsif (not $$data =~ /^%!/) { }
198 0 1 if $$self{'verbose'}
212 0 1 if defined $type
214 0 1 if ($$data =~ m[^%!FontType(\d+)\n/(\S+)\n]) { }
1 0 elsif ($$data =~ m[/FontName\s*/(\S+)]) { }
0 0 elsif ($$data =~ m[/FontName\s*\(([^\051]+)\)]) { }
215 0 0 unless defined $$self{'type'}
224 0 1 if ($$data =~ m[/FamilyName\s*/(\S+)]) { }
1 0 elsif ($$data =~ m[/FamilyName\s*\(([^\051]+)\)]) { }
230 1 0 unless (defined $$self{'type'})
231 1 0 if $$data =~ m[/FontType\s+(\d+)]
233 1 0 if $$data =~ m[/version\s*\(([^\051]+)\)]
234 1 0 if $$data =~ m[/ItalicAngle\s+([-+]?\d+)]
235 1 0 if $$data =~ m[/isFixedPitch\s+(true|false)]
237 0 1 if ($$data =~ m[/Weight\s*/(\S+)]) { }
1 0 elsif ($$data =~ m[/Weight\s*\(([^\051]+)\)]) { }
243 1 0 if ($$data =~ m(/FontMatrix\s*\[\s*(\d+(?:\.\d*)?)\s+(\d+(?:\.\d*)?)\s+(\d+(?:\.\d*)?)\s+(\d+(?:\.\d*)?)\s+(\d+(?:\.\d*)?)\s+(\d+(?:\.\d*)?)\s*\]))
246 1 0 if ($$data =~ m[/FontBBox\s*\{\s*(-?\d+(?:\.\d*)?)\s+(-?\d+(?:\.\d*)?)\s+(-?\d+(?:\.\d*)?)\s+(-?\d+(?:\.\d*)?)\s*\}])
260 0 0 if $format eq $$self{'format'}
268 0 1 unless defined $data
283 0 1 if $$self{'trace'}
287 1 0 unless $newdata =~ /\n$/
294 1 3 if $$data =~ /^\200\003/
297 0 3 unless ($type, $info) = $$data =~ /^\200([\001-\002])(....)/s
306 2 1 if (ord $type == 1) { }
307 1 1 if $bin ne ''
308 0 2 if $$self{'trace'}
313 0 1 if $$self{'trace'}
318 0 1 if $bin ne ''
325 0 0 unless defined $data
327 0 0 unless $$data =~ /(^.*\beexec\s*\n+) ([A-Fa-f0-9\n]+) (\s*cleartomark.*$)/sx
337 0 0 defined $nulls ? :
339 0 0 $nulls > 32 ? :
352 0 0 unless defined $data
354 0 0 if ($PostScript::Font::t1disasm)
358 0 0 if ($$self{'type'} eq 't')
363 0 0 if $$self{'trace'}
367 0 0 unless $fh->close
372 0 0 unless $$data =~ /(^.*\beexec\s*\n+) ([A-Fa-f0-9\n]+) (\n\s*cleartomark.*$)/sx
382 0 0 defined $nulls ? :
384 0 0 $nulls > 32 ? :
405 0 0 if $ignore-- > 0
423 0 0 if $$self{'verbose'}
425 0 0 unless defined $data
427 0 0 if ($$self{'dataformat'} eq 'type42')
429 0 0 if $$self{'verbose'}
435 0 0 if ($$self{'format'} eq 'binary')
439 0 0 if ($$data =~ m[/CharStrings\s.*\n((?s)(.*))]) { }
444 0 0 if ($$data =~ m[/CharStrings\s.*\n((?s)(.*))]) { }
454 0 0 if $1 eq 'end'
458 0 0 if $$self{'verbose'}
469 0 0 if $$self{'verbose'}
472 0 0 unless defined $data
477 0 0 if $data =~ m[/Encoding\s+(\S+)\s+def]
480 0 0 if ($data =~ m(/Encoding[\n\s]+\[([^\]]+)\][\n\s]+def)m)
486 0 0 if ($enc eq 'PostScript::StandardEncoding'->string) { }
0 0 elsif ($enc eq 'PostScript::ISOLatin1Encoding'->string) { }
500 0 0 if ($data =~ m[/Encoding \d+ array\n(0 1 .*for\n)?((dup \d+\s*/\S+ put(.*)\n)+)])
506 0 0 if ("@enc" eq 'PostScript::StandardEncoding'->string) { }
0 0 elsif ("@enc" eq 'PostScript::ISOLatin1Encoding'->string) { }
524 0 7 if (-x "$_/$exec") { }
0 7 elsif (-x "$_/$exec.exe") { }
525 0 0 if $$self{'verbose'}
529 0 0 if $$self{'verbose'}
545 0 1 if $$self{'t42wrapper'}