Excessive time required to define asian fonts and save PDF document
<[email protected]> 21 Jan 2014 23:44:43 -0800
| Newsgroups | gmane.comp.lang.perl.modules.pdfapi2 |
|---|---|
| Message-ID | <[email protected]> |
--9nlWnTS9ocNmxdhsK3FKVLWiM6a5jwOaA8HvrLV
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: base64
SSBoYXZlIGEgd2ViIGFwcGxpY2F0aW9uIHdoaWNoIGdlbmVyYXRlcyBQREYgcmVwb3J0cyB1
c2luZyBQREY6OkFQSTIuICBXZSBhcmUgY3VycmVudGx5IHByb2R1Y2luZyB2ZXJzaW9ucyBv
ZiB0aGVzZSByZXBvcnRzIGluIENoaW5lc2UgYW5kIHNvIGZhciB0aGlzIHByb2Nlc3MgaGFz
IGdvbmUgd2VsbCB3aXRoIGp1c3Qgb25lIGV4Y2VwdGlvbjogdGhlIHRpbWUgdGFrZW4gdG8g
Z2VuZXJhdGUgdGhlIENoaW5lc2UgZm9udHMgYW5kIHRvIHNhdmUgdGhlIFBERiBkb2N1bWVu
dC4gDQoNCkhlcmUgaXMgYSBjb21wYXJpc29uIG9mIHRpbWluZ3MgZm9yIHRoZSBFbmdsaXNo
IGFuZCBDaGluZXNlIHZlcnNpb25zIG9mIHRoZSByZXBvcnQgKGZpZ3VyZXMgYXJlIHNlY29u
ZHMpDQoNCiBEZWZpbml0aW9uIG9mIHR3byBmb250czogICBFbmdsaXNoIDAuMDc4ICAgIENo
aW5lc2U6IDIuMTg0DQpTYXZpbmcgb2YgZG9jdW1lbnQ6ICAgICBFbmdsaXNoOiAwLjA5NCAg
ICBDaGluZXNlOiAyLjAxMg0KQWxsIG90aGVyIHByb2Nlc3NlczogICAgIEVuZ2xpc2g6IDAu
NTE0ICAgIENoaW5lc2U6IDAuNzY0DQoNCg0KQXMgcmVnYXJkcyBmb250IGRlZmluaXRpb24s
IGVhY2ggYWRkaXRpb25hbCBDaGluZXNlIGZvbnQgZGVmaW5lZCB3aXRoaW4gUERGOjpBUEkg
YnkgY29kZSBzdWNoIGFzIHRoZSBmb2xsb3dpbmcNCg0KICRmb250eyJDaGluZXNlIn17IlJv
bWFuIn0gPSAgJHBkZi0+dHRmb250KCAnc2ltaGVpLnR0ZicpLCAtZW5jb2RlID0+ICd1dGY4
JzsNCg0KDQp0YWtlcyBhcHByb3ggb25lIGFkZGl0aW9uYWwgc2Vjb25kLiBJIGhhdmUgYWxz
byBub3RpY2VkIHN1Y2ggYWRkaXRpb25hbCB0aW1lIG92ZXJoZWFkcyB3aGVuIHVzaW5nIG90
aGVyIFRUIGZvbnRzLCBidXQgbm90IHRvIHRoZSBzYW1lIGV4dGVudCBhcyB3aXRoIHRoZSBD
aGluZXNlIGZvbnRzLg0KDQpQZXJoYXBzIHRoaXMgaXMgYW4gaW5ldml0YWJsZSBvdmVyaGVh
ZCBkdWUgdG8gdGhlIHNpemUgb2YgdGhlIGZvbnQuICBIb3dldmVyLCBJIHdvdWxkIGJlIGlu
dGVyZXN0ZWQgdG8ga25vdyBpZiBhbnlvbmUgZWxzZSBoYXMgaGFkIHNpbWlsYXIgZXhwZXJp
ZW5jZXMsIHdoYXQgdGhlIGNhdXNlIG9mIHRoaXMgaXMgYW5kIHdoZXRoZXIgdGhlcmUgaXMg
YW55IHdheSBpbiB3aGljaCB0aGlzIHRpbWUgb3ZlcmhlYWQgY2FuIGJlIHJlZHVjZWQu
--9nlWnTS9ocNmxdhsK3FKVLWiM6a5jwOaA8HvrLV
Content-Type: text/html; charset=UTF-8
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: #fff;">
<span style="display:none"> </span>
<!--~-|**|PrettyHtmlStartT|**|-~-->
<div id="ygrp-mlmsg" style="position:relative;">
<div id="ygrp-msg" style="z-index: 1;">
<!--~-|**|PrettyHtmlEndT|**|-~-->
<div id="ygrp-text" >
<p>I have a web application which generates PDF reports using PDF::API2. We are currently producing versions of these reports in Chinese and so far this process has gone well with just one exception: the time taken to generate the Chinese fonts and to save the PDF document. <br><br>Here is a comparison of timings for the English and Chinese versions of the report (figures are seconds)<br><br><div>Definition of two fonts: English 0.078 Chinese: 2.184<br>Saving of document: English: 0.094 Chinese: 2.012<br>All other processes: English: 0.514 Chinese: 0.764<br></div><br>As regards font definition, each additional Chinese font defined within PDF::API by code such as the following
<br><br><div>$font{"Chinese"}{"Roman"} = $pdf->ttfont( 'simhei.ttf'), -encode => 'utf8';<br></div><br>takes approx one additional second. I have also noticed such additional time overheads when using other TT fonts, but not to the same extent as with the Chinese fonts.<br><br>Perhaps this is an inevitable overhead due to the size of the font. However, I would be interested to know if anyone else has had similar experiences, what the cause of this is and whether there is any way in which this time overhead can be reduced.</p>
</div>
<!--~-|**|PrettyHtmlStart|**|-~-->
<div style="color: #fff; height: 0;">__._,_.___</div>
<table cellspacing=4px style="margin-top: 20px; margin-bottom: 10px;">
<tbody>
<tr>
<td style="font-size: 12px; font-family: arial; font-weight: bold; padding: 7px 5px 5px; color: #FFF; background-color: #F2F2F2; border: 1px solid #EAEAEA " >
<a style="text-decoration: none; color: #2D50FD" href="http://groups.yahoo.com/group/perl-text-pdf-modules/post;_ylc=X3oDMTJwdXVzbjI0BF9TAzk3MzU5NzE0BGdycElkAzIwMTczODIEZ3Jwc3BJZAMxNzA1MDA3NzA5BG1zZ0lkAzM3ODAEc2VjA2Z0cgRzbGsDcnBseQRzdGltZQMxMzkwMzc2Njg1?act=reply&messageNum=3780">Reply via web post</a>
</td>
<td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px; color: #FFF; background-color: #F2F2F2; border: 1px solid #EAEAEA; " >
<a href="mailto:[email protected]?subject=Re%3A%20Excessive%20time%20required%20to%20define%20asian%20fonts%20and%20save%20PDF%20document" style="text-decoration: none; color: #2D50FD;">
Reply to sender </a>
</td>
<td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px; color: #FFF; background-color: #F2F2F2; border: 1px solid #EAEAEA; ">
<a href="mailto:[email protected]?subject=Re%3A%20Excessive%20time%20required%20to%20define%20asian%20fonts%20and%20save%20PDF%20document" style="text-decoration: none; color: #2D50FD">
Reply to group </a>
</td>
<td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px; color: #FFF; background-color: #F2F2F2; border: 1px solid #EAEAEA; " >
<a href="http://groups.yahoo.com/group/perl-text-pdf-modules/post;_ylc=X3oDMTJlZTAxanFnBF9TAzk3MzU5NzE0BGdycElkAzIwMTczODIEZ3Jwc3BJZAMxNzA1MDA3NzA5BHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTM5MDM3NjY4NQ--" style="text-decoration: none; color: #2D50FD">Start a New Topic</a>
</td>
<td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px; color: #2D50FD; background-color: #F2F2F2; border: 1px solid #EAEAEA; " >
<a href="http://groups.yahoo.com/group/perl-text-pdf-modules/message/3780;_ylc=X3oDMTM0dDdicnE3BF9TAzk3MzU5NzE0BGdycElkAzIwMTczODIEZ3Jwc3BJZAMxNzA1MDA3NzA5BG1zZ0lkAzM3ODAEc2VjA2Z0cgRzbGsDdnRwYwRzdGltZQMxMzkwMzc2Njg1BHRwY0lkAzM3ODA-" style="text-decoration: none; color: #2D50FD;">Messages in this topic</a>
(1)
</td>
</tr>
</tbody>
</table>
<!------- Start Nav Bar ------>
<!-- |**|begin egp html banner|**| -->
<!-- |**|end egp html banner|**| -->
<!-- |**|begin egp html banner|**| -->
<div id="ygrp-vital" style="background-color: #f2f2f2; font-family: Verdana; font-size: 10px; margin-bottom: 10px; padding: 10px;">
<span id="vithd" style="font-weight: bold; color: #333; text-transform: uppercase; ">Recent Activity:</span>
<ul style="list-style-type: none; margin: 0; padding: 0; display: inline;">
</ul>
<div style="clear: both; padding-top: 2px; color: #1e66ae;">
<a href="http://groups.yahoo.com/group/perl-text-pdf-modules;_ylc=X3oDMTJlazI3cmdkBF9TAzk3MzU5NzE0BGdycElkAzIwMTczODIEZ3Jwc3BJZAMxNzA1MDA3NzA5BHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTM5MDM3NjY4NQ--" style="text-decoration: none;">Visit Your Group</a>
</div>
</div>
<div id="ygrp-grfd" style="font-family: Verdana; font-size: 12px; 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>
<div id="ft" style="font-family: Arial; font-size: 11px; margin-top: 5px; padding: 0 2px 0 0; clear: both;">
<a href="http://groups.yahoo.com/;_ylc=X3oDMTJkb25wMGVpBF9TAzk3NDc2NTkwBGdycElkAzIwMTczODIEZ3Jwc3BJZAMxNzA1MDA3NzA5BHNlYwNmdHIEc2xrA2dmcARzdGltZQMxMzkwMzc2Njg1" style="float: left;"><img src="http://l.yimg.com/ru/static/images/yg/img/email/new_logo/logo-groups-137x15.png" height="15" width="137" alt="Yahoo! Groups" style="border: 0;"/></a>
<div style="color: #747575; float: right;">Switch to: <a href="mailto:perl-text-pdf-modules-traditional-hHKSG33TihhbjbujkaE4pw@public.gmane.org?subject=Change Delivery Format: Traditional" style="text-decoration: none;">Text-Only</a>, <a href="mailto:perl-text-pdf-modules-digest-hHKSG33TihhbjbujkaE4pw@public.gmane.org?subject=Email Delivery: Digest" class="margin-rt" style="text-decoration: none;">Daily Digest</a> • <a href="mailto:perl-text-pdf-modules-unsubscribe-hHKSG33TihhbjbujkaE4pw@public.gmane.org?subject=Unsubscribe" style="text-decoration: none;">Unsubscribe</a> • <a href="http://info.yahoo.com/legal/us/yahoo/utos/terms/" style="text-decoration: none;">Terms of Use</a> • <a href="mailto:[email protected]?subject=Feedback on the redesigned individual mail v1" style="text-decoration: none;">Send us Feedback </a></div>
</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: #fff;">
<!-- Start Recommendations -->
<div id="ygrp-reco">
</div>
<!-- End Recommendations -->
</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=3780/stime=1390376685" width="1" height="1"> <br>
<div style="color: #fff; height: 0;">__,_._,___</div>
<!--~-|**|PrettyHtmlEnd|**|-~-->
</body>
<!--~-|**|PrettyHtmlStart|**|-~-->
<head>
<style type="text/css">
<!--
#ygrp-mkp {
border: 1px solid #d8d8d8;
font-family: Arial;
margin: 10px 0;
padding: 0 10px;
}
#ygrp-mkp hr {
border: 1px solid #d8d8d8;
}
#ygrp-mkp #hd {
color: #628c2a;
font-size: 85%;
font-weight: 700;
line-height: 122%;
margin: 10px 0;
}
#ygrp-mkp #ads {
margin-bottom: 10px;
}
#ygrp-mkp .ad {
padding: 0 0;
}
#ygrp-mkp .ad p {
margin: 0;
}
#ygrp-mkp .ad a {
color: #0000ff;
text-decoration: none;
}
#ygrp-sponsor #ygrp-lc {
font-family: Arial;
}
#ygrp-sponsor #ygrp-lc #hd {
margin: 10px 0px;
font-weight: 700;
font-size: 78%;
line-height: 122%;
}
#ygrp-sponsor #ygrp-lc .ad {
margin-bottom: 10px;
padding: 0 0;
}
#actions {
font-family: Verdana;
font-size: 11px;
padding: 10px 0;
}
#activity {
background-color: #e0ecee;
float: left;
font-family: Verdana;
font-size: 10px;
padding: 10px;
}
#activity span {
font-weight: 700;
}
#activity span:first-child {
text-transform: uppercase;
}
#activity span a {
color: #5085b6;
text-decoration: none;
}
#activity span span {
color: #ff7900;
}
#activity span .underline {
text-decoration: underline;
}
.attach {
clear: both;
display: table;
font-family: Arial;
font-size: 12px;
padding: 10px 0;
width: 400px;
}
.attach div a {
text-decoration: none;
}
.attach img {
border: none;
padding-right: 5px;
}
.attach label {
display: block;
margin-bottom: 5px;
}
.attach label a {
text-decoration: none;
}
blockquote {
margin: 0 0 0 4px;
}
.bold {
font-family: Arial;
font-size: 13px;
font-weight: 700;
}
.bold a {
text-decoration: none;
}
dd.last p a {
font-family: Verdana;
font-weight: 700;
}
dd.last p span {
margin-right: 10px;
font-family: Verdana;
font-weight: 700;
}
dd.last p span.yshortcuts {
margin-right: 0;
}
div.attach-table div div a {
text-decoration: none;
}
div.attach-table {
width: 400px;
}
div.file-title a, div.file-title a:active, div.file-title a:hover, div.file-title a:visited {
text-decoration: none;
}
div.photo-title a, div.photo-title a:active, div.photo-title a:hover, div.photo-title a:visited {
text-decoration: none;
}
div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts {
font-family: Verdana;
font-size: 10px;
font-weight: normal;
}
.green {
color: #628c2a;
}
.MsoNormal {
margin: 0 0 0 0;
}
o {
font-size: 0;
}
#photos div {
float: left;
width: 72px;
}
#photos div div {
border: 1px solid #666666;
height: 62px;
overflow: hidden;
width: 62px;
}
#photos div label {
color: #666666;
font-size: 10px;
overflow: hidden;
text-align: center;
white-space: nowrap;
width: 64px;
}
#reco-category {
font-size: 77%;
}
#reco-desc {
font-size: 77%;
}
.replbq {
margin: 4px;
}
#ygrp-actbar div a:first-child {
/* border-right: 0px solid #000;*/
margin-right: 2px;
padding-right: 5px;
}
#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-mlmsg #logo {
padding-bottom: 10px;
}
#ygrp-msg p a {
font-family: Verdana;
}
#ygrp-msg p#attach-count span {
color: #1E66AE;
font-weight: 700;
}
#ygrp-reco #reco-head {
color: #ff7900;
font-weight: 700;
}
#ygrp-reco {
margin-bottom: 20px;
padding: 0px;
}
#ygrp-sponsor #ov li a {
font-size: 130%;
text-decoration: none;
}
#ygrp-sponsor #ov li {
font-size: 77%;
list-style-type: square;
padding: 6px 0;
}
#ygrp-sponsor #ov ul {
margin: 0;
padding: 0 0 0 8px;
}
#ygrp-text {
font-family: Georgia;
}
#ygrp-text p {
margin: 0 0 1em 0;
}
#ygrp-text tt {
font-size: 120%;
}
#ygrp-vital ul li:last-child {
border-right: none !important;
}
-->
</style>
</head>
<!--~-|**|PrettyHtmlEnd|**|-~-->
</html>
<!-- end group email -->
--9nlWnTS9ocNmxdhsK3FKVLWiM6a5jwOaA8HvrLV--