PDF::Builder::Resource::Font::SynFont - Module for using synthetic Fonts.
#
use PDF::Builder;
#
$pdf = PDF::Builder->new();
$cft = $pdf->corefont('Times-Roman'); # ttfont, etc. also works
$sft = $pdf->synfont($cft, -condense => .75); # condense by 25%
#
This works for corefonts, PS fonts, and TTF/OTF
fonts; but does not work for CJK fonts or bitmapped fonts.
See also "Synthetic Fonts" in PDF::Builder::Docs.
- $font = PDF::Builder::Resource::Font::SynFont->new($pdf, $fontobj,
%options)
- Returns a synfont object.
Valid %options are:
-encode ... changes the encoding of the font from its
default. See Perl's Encode for the supported values.
Warning: only single byte encodings are supported. Multibyte
encodings such as UTF-8 are invalid.
-pdfname ... changes the reference-name of the font
from its default. The reference-name is normally generated automatically
and can be retrieved via
$pdfname=$font->name().
-condense ... condense/expand factor (0.1-0.9 =
condense, 1 = normal, 1.1+ = expand). It's the multiplier for character
widths vs. normal.
-oblique ... italic angle (+/-) in degrees, where the
character box is skewed. While it's unlikely that anyone will want to
slant characters at +/-360 degrees, they should be aware that these will
be treated as an angle of 0 degrees (deg2rad() wraps around). 0
degrees of italic slant (obliqueness) is the default.
-bold ... embolding factor (0.1+, bold=1, heavy=2,
...). It is additional outline thickness (linewidth),
which expands the character outwards.
-space ... additional charspacing in em (0-1000).
-caps ... create synthetic small-caps. 0 = no, 1 = yes.
These are capitals of lowercase letters, at 80% height and 88%
width.