RE: Announcing PDF::Kit - some subroutinesfor working with PDF::API2
"Shawn H. Corey" <[email protected]> Mon, 06 Jul 2009 14:27:31 -0400
| Newsgroups | gmane.comp.lang.perl.modules.pdfapi2 |
|---|---|
| Message-ID | <1246904851.2432.21.camel@mungo> |
--lV1wYNOeVwuzEzmNX8y-k1EowqH7xlArvupfYgY
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
On Mon, 2009-07-06 at 12:38 -0500, Jay Hannah wrote:
> Sure, it does any font you have the font file for -- bold, italic, underlined, color changes, size, whatever. <i> is whatever font file you assign to <i>.
>
> No, PDF::TextBlock doesn't do nesting. If you want three fonts (1) bold (2) italic (3) bold AND italic; then you have to define 3 tags for that, and use them one at a time.
>
> PDF::TextBlock does justify, fulljustify, left, and right.
>
> Patches welcome! :)
>
> j
This is not clear in the documentation. For example, how do I specify
two different sizes?
BTW, what you call a font is not a font; it's a typeface. This started
with Adobe and has perpetuated since. A font has a typeface and a size.
This is because if you print a typeface at 72 pt and at 6 pt and blew up
the 6 pt until it's the same height as the 72 pt, you would notice that
the strokes on the 72 pt are narrower than the 6 pt one. This is to
make it more pleasing to look at.
The problem is that PDF::API2 associates a typeface object with the pdf
one and the font object with the text object. It is not clear in the
documentation on how to access the text object so that different sizes
may be used.
BTW, lead is named after the metal lead, atomic symbol Pb, and is the
distance, in points, between the baselines. At one time it was the size
of the lead spacers used to separate the rows of type in the block.
--
Just my 0.00000002 million dollars worth,
Shawn
Programming is as much about organization and communication
as it is about coding.
--lV1wYNOeVwuzEzmNX8y-k1EowqH7xlArvupfYgY
Content-Type: text/html; charset=US-ASCII
Content-Transfer-Encoding: 7bit
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
</head>
<body style="background-color: #ffffff;">
<!--~-|**|PrettyHtmlStartT|**|-~-->
<div id="ygrp-mlmsg" style="width:655px; position:relative;">
<div id="ygrp-msg" style="width: 470px; margin:0; padding:0 25px 0 0; float:left; z-index:1;">
<!--~-|**|PrettyHtmlEndT|**|-~-->
<div id="ygrp-text" >
<!--~-|**|PrettyHtmlStart|**|-~-->
<br><br>
<!--~-|**|PrettyHtmlEnd|**|-~-->
<p>On Mon, 2009-07-06 at 12:38 -0500, Jay Hannah wrote:<br>
> Sure, it does any font you have the font file for -- bold, italic, underlined, color changes, size, whatever. <i> is whatever font file you assign to <i>. <br>
> <br>
> No, PDF::TextBlock doesn't do nesting. If you want three fonts (1) bold (2) italic (3) bold AND italic; then you have to define 3 tags for that, and use them one at a time.<br>
> <br>
> PDF::TextBlock does justify, fulljustify, left, and right.<br>
> <br>
> Patches welcome! :)<br>
> <br>
> j<br>
<br>
This is not clear in the documentation. For example, how do I specify<br>
two different sizes?<br>
<br>
BTW, what you call a font is not a font; it's a typeface. This started<br>
with Adobe and has perpetuated since. A font has a typeface and a size.<br>
This is because if you print a typeface at 72 pt and at 6 pt and blew up<br>
the 6 pt until it's the same height as the 72 pt, you would notice that<br>
the strokes on the 72 pt are narrower than the 6 pt one. This is to<br>
make it more pleasing to look at.<br>
<br>
The problem is that PDF::API2 associates a typeface object with the pdf<br>
one and the font object with the text object. It is not clear in the<br>
documentation on how to access the text object so that different sizes<br>
may be used.<br>
<br>
BTW, lead is named after the metal lead, atomic symbol Pb, and is the<br>
distance, in points, between the baselines. At one time it was the size<br>
of the lead spacers used to separate the rows of type in the block.<br>
<br>
-- <br>
Just my 0.00000002 million dollars worth,<br>
Shawn<br>
<br>
Programming is as much about organization and communication<br>
as it is about coding.<br>
<br>
</p>
</div>
<!--~-|**|PrettyHtmlStart|**|-~-->
<div width="1" style="color: white; clear: both;">__._,_.___</div>
<!-- Start the section with Message In topic -->
<div id="ygrp-actbar" style="clear: both; margini-bottom: 25px; white-space:nowrap; color: #666; text-align: right;">
<span class="left" style="float: left; white-space:nowrap;">
<a href="http://groups.yahoo.com/group/perl-text-pdf-modules/message/3670;_ylc=X3oDMTM0NWlvODRmBF9TAzk3MzU5NzE0BGdycElkAzIwMTczODIEZ3Jwc3BJZAMxNzA1MDA3NzA5BG1zZ0lkAzM2NzIEc2VjA2Z0cgRzbGsDdnRwYwRzdGltZQMxMjQ2OTA0ODYzBHRwY0lkAzM2NzA-">
Messages in this topic </a> (<span class="bld" style="font-weight:bold;">3</span>)
</span>
<a href="http://groups.yahoo.com/group/perl-text-pdf-modules/post;_ylc=X3oDMTJwdmM3a2wyBF9TAzk3MzU5NzE0BGdycElkAzIwMTczODIEZ3Jwc3BJZAMxNzA1MDA3NzA5BG1zZ0lkAzM2NzIEc2VjA2Z0cgRzbGsDcnBseQRzdGltZQMxMjQ2OTA0ODYz?act=reply&messageNum=3672">
<span class="bld" style="font-weight:bold;">
Reply </span> (via web post)
</a> |
<a href="http://groups.yahoo.com/group/perl-text-pdf-modules/post;_ylc=X3oDMTJldWh1NWpvBF9TAzk3MzU5NzE0BGdycElkAzIwMTczODIEZ3Jwc3BJZAMxNzA1MDA3NzA5BHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTI0NjkwNDg2Mw--" class="bld" style="font-weight:bold;">
Start a new topic </a>
</div>
<!------- Start Nav Bar ------>
<!-- |**|begin egp html banner|**| -->
<div id="ygrp-vitnav" style="padding-top: 10px; font-family: Verdana; font-size: 77%; margin: 0;">
<a href="http://groups.yahoo.com/group/perl-text-pdf-modules/messages;_ylc=X3oDMTJlYzVlbzJvBF9TAzk3MzU5NzE0BGdycElkAzIwMTczODIEZ3Jwc3BJZAMxNzA1MDA3NzA5BHNlYwNmdHIEc2xrA21zZ3MEc3RpbWUDMTI0NjkwNDg2Mw--">Messages</a>
| <a href="http://groups.yahoo.com/group/perl-text-pdf-modules/polls;_ylc=X3oDMTJmZWJ1aXZ0BF9TAzk3MzU5NzE0BGdycElkAzIwMTczODIEZ3Jwc3BJZAMxNzA1MDA3NzA5BHNlYwNmdHIEc2xrA3BvbGxzBHN0aW1lAzEyNDY5MDQ4NjM-">Polls</a>
| <a href="http://groups.yahoo.com/group/perl-text-pdf-modules/members;_ylc=X3oDMTJlNmd0aGY0BF9TAzk3MzU5NzE0BGdycElkAzIwMTczODIEZ3Jwc3BJZAMxNzA1MDA3NzA5BHNlYwNmdHIEc2xrA21icnMEc3RpbWUDMTI0NjkwNDg2Mw--">Members</a>
</div>
<!-- |**|end egp html banner|**| -->
<div id="ygrp-grfd" style="font-family: Verdana; font-size: 77%; padding: 15px 0;">
<!-- |**|begin egp html banner|**| -->
To unsubscribe from this group, send an email to:<BR>
perl-text-pdf-modules-unsubscribe-Km8ibD4bFueDmjp1MlKEbA@public.gmane.org<BR>
<BR>
<!-- |**|end egp html banner|**| -->
</div>
<!-- yahoo logo -->
<!-- |**|begin egp html banner|**| -->
<div id="ygrp-ft" style="font-family: verdana; font-size: 77%; border-top: 1px solid #666; padding: 5px 0;">
<a href="http://groups.yahoo.com/;_ylc=X3oDMTJkMmg0cm11BF9TAzk3MzU5NzE0BGdycElkAzIwMTczODIEZ3Jwc3BJZAMxNzA1MDA3NzA5BHNlYwNmdHIEc2xrA2dmcARzdGltZQMxMjQ2OTA0ODYz">
<img src="http://us.i1.yimg.com/us.yimg.com/i/yg/img/logo/ma_grp_160.gif" height="15" width="106" border="0" alt="Yahoo! Groups"></a> <br>
<a href="http://groups.yahoo.com/group/perl-text-pdf-modules/join;_ylc=X3oDMTJmdGVobWk2BF9TAzk3MzU5NzE0BGdycElkAzIwMTczODIEZ3Jwc3BJZAMxNzA1MDA3NzA5BHNlYwNmdHIEc2xrA3N0bmdzBHN0aW1lAzEyNDY5MDQ4NjM-">Change settings via the Web</a> (Yahoo! ID required) <br>
Change settings via email: <a href="mailto:perl-text-pdf-modules-digest-hHKSG33TihhbjbujkaE4pw@public.gmane.org?subject=Email Delivery: Digest">Switch delivery to Daily Digest</a> | <a href = "mailto:perl-text-pdf-modules-traditional-hHKSG33TihhbjbujkaE4pw@public.gmane.org?subject=Change Delivery Format: Traditional">Switch format to Traditional</a> <br>
<a href="http://groups.yahoo.com/group/perl-text-pdf-modules;_ylc=X3oDMTJkbXVyZG5hBF9TAzk3MzU5NzE0BGdycElkAzIwMTczODIEZ3Jwc3BJZAMxNzA1MDA3NzA5BHNlYwNmdHIEc2xrA2hwZgRzdGltZQMxMjQ2OTA0ODYz">
Visit Your Group
</a> |
<a href="http://docs.yahoo.com/info/terms/">
Yahoo! Groups Terms of Use </a> |
<a href="mailto:perl-text-pdf-modules-unsubscribe-hHKSG33TihhbjbujkaE4pw@public.gmane.org?subject=">
Unsubscribe </a>
</div> <!-- |**|end egp html banner|**| -->
</div> <!-- ygrp-msg -->
<!-- Sponsor -->
<!-- |**|begin egp html banner|**| -->
<div id="ygrp-sponsor" style="width:160px; float:right; clear:none; margin:0 0 25px 0; background: white;">
<!-- Network content -->
<!-- Start Recommendations -->
<div id="ygrp-reco">
</div>
<!-- End Recommendations -->
<!-- Start vitality -->
<div id="ygrp-vital" style="background-color: #e0ecee; margin-bottom: 20px; padding: 2px 0 8px 8px;">
<div id="vithd" style="font-size: 77%; font-family: Verdana; font-weight: bold; color: #333; text-transform: uppercase;">Recent Activity</div>
<ul style="list-style-type:none; padding: 0; margin: 2px 0;">
<li style="clear: both; list-style-type: none; border: 1px solid #e0ecee;">
<div class="ct" style="float: right; font-weight: bold; color: #ff7900; float: right; width: 2em; text-align:right; padding-right: .5em;"><span style="display:none"> </span>1</div>
<div class="cat" style="font-weight: bold;"><a href="http://groups.yahoo.com/group/perl-text-pdf-modules/members;_ylc=X3oDMTJmNWc3b29lBF9TAzk3MzU5NzE0BGdycElkAzIwMTczODIEZ3Jwc3BJZAMxNzA1MDA3NzA5BHNlYwN2dGwEc2xrA3ZtYnJzBHN0aW1lAzEyNDY5MDQ4NjM-">New Members</a></div>
</li>
</ul>
<a href="http://groups.yahoo.com/group/perl-text-pdf-modules;_ylc=X3oDMTJlaDk5Y2ppBF9TAzk3MzU5NzE0BGdycElkAzIwMTczODIEZ3Jwc3BJZAMxNzA1MDA3NzA5BHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTI0NjkwNDg2Mw--">
Visit Your Group </a>
</div>
<!-- Network content -->
<div style="background-color:#EEEEEE; margin-bottom:20px; padding:10px 8px;"> <div id="nc">
<div class="ad" style="color:#628C2A; font-family:Arial; font-weight:bold;">
<div id="hd1">Give Back</div>
<p><a href="http://us.lrd.yahoo.com/_ylc=X3oDMTJtaW8wcm9wBF9TAzk3MzU5NzE0BF9wAzEEZ3JwSWQDMjAxNzM4MgRncnBzcElkAzE3MDUwMDc3MDkEc2VjA25jbW9kBHNsawNicmFuZARzdGltZQMxMjQ2OTA0ODYz;_ylg=1/SIG=11314uv3k/**http%3A//brand.yahoo.com/forgood" style="text-decoration:none; color:#1E66AE; font-weight: normal;">Yahoo! for Good</a></p>
<p style="color: #000000; font-weight: normal;">Get inspired</p>
<p style="color: #000000; font-weight: normal;">by a good cause.</p>
</div>
<div class="ad" style="color:#628C2A; font-family:Arial; font-weight:bold;">
<div id="hd1">Y! Toolbar</div>
<p><a href="http://us.lrd.yahoo.com/_ylc=X3oDMTJvdXZsMDc1BF9TAzk3MzU5NzE0BF9wAzIEZ3JwSWQDMjAxNzM4MgRncnBzcElkAzE3MDUwMDc3MDkEc2VjA25jbW9kBHNsawN0b29sYmFyBHN0aW1lAzEyNDY5MDQ4NjM-;_ylg=1/SIG=11c6dvmk9/**http%3A//toolbar.yahoo.com/%3F.cpdl=ygrps" style="text-decoration:none; color:#1E66AE; font-weight: normal;">Get it Free!</a></p>
<p style="color: #000000; font-weight: normal;">easy 1-click access</p>
<p style="color: #000000; font-weight: normal;">to your groups.</p>
</div>
<div class="ad" style="color:#628C2A; font-family:Arial; font-weight:bold;">
<div id="hd1">Yahoo! Groups</div>
<p><a href="http://groups.yahoo.com/start;_ylc=X3oDMTJvcG9sY2JqBF9TAzk3MzU5NzE0BF9wAzMEZ3JwSWQDMjAxNzM4MgRncnBzcElkAzE3MDUwMDc3MDkEc2VjA25jbW9kBHNsawNncm91cHMyBHN0aW1lAzEyNDY5MDQ4NjM-" style="text-decoration:none; color:#1E66AE; font-weight: normal;">Start a group</a></p>
<p style="color: #000000; font-weight: normal;">in 3 easy steps.</p>
<p style="color: #000000; font-weight: normal;">Connect with others.</p>
</div>
</div>
</div>
</div> <!-- |**|end egp html banner|**| -->
<div style="clear:both; color: #FFF; font-size:1px;">.</div>
</div> <img src="http://geo.yahoo.com/serv?s=97359714/grpId=2017382/grpspId=1705007709/msgId=3672/stime=1246904863/nc1=1/nc2=2/nc3=3" width="1" height="1"> <br>
<div style="color: white; clear: both;">__,_._,___</div>
<!--~-|**|PrettyHtmlEnd|**|-~-->
</body>
<!--~-|**|PrettyHtmlStart|**|-~-->
<head>
<style type="text/css">
<!--
#ygrp-mkp{
border: 1px solid #d8d8d8;
font-family: Arial;
margin: 14px 0px;
padding: 0px 14px;
}
#ygrp-mkp hr{
border: 1px solid #d8d8d8;
}
#ygrp-mkp #hd{
color: #628c2a;
font-size: 85%;
font-weight: bold;
line-height: 122%;
margin: 10px 0px;
}
#ygrp-mkp #ads{
margin-bottom: 10px;
}
#ygrp-mkp .ad{
padding: 0 0;
}
#ygrp-mkp .ad a{
color: #0000ff;
text-decoration: none;
}
-->
</style>
</head>
<head>
<style type="text/css">
<!--
#ygrp-sponsor #ygrp-lc{
font-family: Arial;
}
#ygrp-sponsor #ygrp-lc #hd{
margin: 10px 0px;
font-weight: bold;
font-size: 78%;
line-height: 122%;
}
#ygrp-sponsor #ygrp-lc .ad{
margin-bottom: 10px;
padding: 0 0;
}
-->
</style>
</head>
<head>
<style type="text/css">
<!--
#ygrp-mlmsg {font-size:13px; font-family: arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}
#ygrp-mlmsg table {font-size:inherit;font:100%;}
#ygrp-mlmsg select, input, textarea {font:99% arial,helvetica,clean,sans-serif;}
#ygrp-mlmsg pre, code {font:115% monospace;*font-size:100%;}
#ygrp-mlmsg * {line-height:1.22em;}
#ygrp-text{
font-family: Georgia;
}
#ygrp-text p{
margin: 0 0 1em 0;
}
dd.last p a {
font-family: Verdana;
font-weight: bold;
}
#ygrp-vitnav{
padding-top: 10px;
font-family: Verdana;
font-size: 77%;
margin: 0;
}
#ygrp-vitnav a{
padding: 0 1px;
}
#ygrp-mlmsg #logo{
padding-bottom: 10px;
}
#ygrp-reco {
margin-bottom: 20px;
padding: 0px;
}
#ygrp-reco #reco-head {
font-weight: bold;
color: #ff7900;
}
#reco-category{
font-size: 77%;
}
#reco-desc{
font-size: 77%;
}
#ygrp-vital a{
text-decoration: none;
}
#ygrp-vital a:hover{
text-decoration: underline;
}
#ygrp-sponsor #ov ul{
padding: 0 0 0 8px;
margin: 0;
}
#ygrp-sponsor #ov li{
list-style-type: square;
padding: 6px 0;
font-size: 77%;
}
#ygrp-sponsor #ov li a{
text-decoration: none;
font-size: 130%;
}
#ygrp-sponsor #nc{
background-color: #eee;
margin-bottom: 20px;
padding: 0 8px;
}
#ygrp-sponsor .ad{
padding: 8px 0;
}
#ygrp-sponsor .ad #hd1{
font-family: Arial;
font-weight: bold;
color: #628c2a;
font-size: 100%;
line-height: 122%;
}
#ygrp-sponsor .ad a{
text-decoration: none;
}
#ygrp-sponsor .ad a:hover{
text-decoration: underline;
}
#ygrp-sponsor .ad p{
margin: 0;
font-weight: normal;
color: #000000;
}
o{font-size: 0; }
.MsoNormal{
margin: 0 0 0 0;
}
#ygrp-text tt{
font-size: 120%;
}
blockquote{margin: 0 0 0 4px;}
.replbq{margin:4}
dd.last p span {
margin-right: 10px;
font-family: Verdana;
font-weight: bold;
}
dd.last p span.yshortcuts {
margin-right: 0;
}
div.photo-title a,
div.photo-title a:active,
div.photo-title a:hover,
div.photo-title a:visited {
text-decoration: none;
}
div.file-title a,
div.file-title a:active,
div.file-title a:hover,
div.file-title a:visited {
text-decoration: none;
}
#ygrp-msg p#attach-count {
clear: both;
padding: 15px 0 3px 0;
overflow: hidden;
}
#ygrp-msg p#attach-count span {
color: #1E66AE;
font-weight: bold;
}
div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts {
font-family: Verdana;
font-size: 10px;
font-weight: normal;
}
#ygrp-msg p a {
font-family: Verdana;
font-size: 10px;
}
#ygrp-mlmsg a {
color: #1E66AE;
}
div.attach-table div div a {
text-decoration: none;
}
div.attach-table {
width: 400px;
}
-->
</style>
</head>
<!--~-|**|PrettyHtmlEnd|**|-~-->
</html><!--End group email -->
--lV1wYNOeVwuzEzmNX8y-k1EowqH7xlArvupfYgY--