Thursday, May 5, 2011

Java Links

Jasperreports

JAVA SITES NEW

http://docs.jboss.org/richfaces/latest_3_3_X/en/devguide/html/GettingStarted.html
http://livedemo.exadel.com/richfaces-demo/richfaces/actionparam.jsf?c=actionparam&tab=usage
http://www.javabeat.net/tips/168-what-is-transient-keyword-in-java.html
http://www.geekinterview.com/question_details/2
http://www.roseindia.net/help/java/t/index.shtml
http://www.careerride.com/Hibernate-transient-vs-detached-objects.aspx
http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html


http://oldresources.visual-paradigm.com/vpsuite2.3sp3/generate_dao_java_interface.html
http://tutorials.jenkov.com/java-persistence/dao-manager.html
http://user.services.openoffice.org/en/forum/viewtopic.php?f=44&t=1804
http://132.187.25.13/actogramj/api/actoj/io/PDFExporter.html
http://edndoc.esri.com/arcobjects/9.1/Java/arcengine/com/esri/arcgis/output/PDFExporter.html
http://www.sourjuice.com/
http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/OfficeDev/Storing_Documents

JAVA SITES

http://docs.jboss.org/richfaces/latest_3_3_X/en/devguide/html/GettingStarted.html
http://livedemo.exadel.com/richfaces-demo/richfaces/actionparam.jsf?c=actionparam&tab=usage
http://www.javabeat.net/tips/168-what-is-transient-keyword-in-java.html
http://www.geekinterview.com/question_details/2
http://www.roseindia.net/help/java/t/index.shtml
http://www.careerride.com/Hibernate-transient-vs-detached-objects.aspx
http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html
http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html
http://www.javapractices.com/topic/TopicAction.do?Id=66
http://oldresources.visual-paradigm.com/vpsuite2.3sp3/generate_dao_java_interface.html
http://tutorials.jenkov.com/java-persistence/dao-manager.html
http://user.services.openoffice.org/en/forum/viewtopic.php?f=44&t=1804
http://132.187.25.13/actogramj/api/actoj/io/PDFExporter.html
http://edndoc.esri.com/arcobjects/9.1/Java/arcengine/com/esri/arcgis/output/PDFExporter.html
http://www.sourjuice.com/
http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/OfficeDev/Storing_Documents

JASPER BLOGS

<!DOCTYPE html>
<html b:version='2' class='v2' dir='ltr'>
<head>
<meta content='IE=EmulateIE7' http-equiv='X-UA-Compatible'/>
<meta content='width=1100' name='viewport'/>
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<script type="text/javascript">(function() { var a=window;function c(b){this.t={};this.tick=function(b,i,d){d=d!=void 0?d:(new Date).getTime();this.t[b]=[d,i]};this.tick("start",null,b)}var e=new c;a.jstiming={Timer:c,load:e};try{var g=null;a.chrome&&a.chrome.csi&&(g=Math.floor(a.chrome.csi().pageT));g==null&&a.gtbExternal&&(g=a.gtbExternal.pageT());g==null&&a.external&&(g=a.external.pageT);g&&(a.jstiming.pt=g)}catch(h){};a.tickAboveFold=function(b){var f=0;if(b.offsetParent){do f+=b.offsetTop;while(b=b.offsetParent)}b=f;b<=750&&a.jstiming.load.tick("aft")};var j=!1;function k(){j||(j=!0,a.jstiming.load.tick("firstScrollTime"))}a.addEventListener?a.addEventListener("scroll",k,!1):a.attachEvent("onscroll",k);
 })();</script>
<meta content='true' name='MSSmartTagsPreventParsing'/>
<meta content='blogger' name='generator'/>
<link href='http://gangi-java.blogspot.com/favicon.ico' rel='icon' type='image/vnd.microsoft.icon'/>
<link href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html' rel='canonical'/>
<link rel="alternate" type="application/atom+xml" title="GANGIREDDY Blogs - Atom" href="http://gangi-java.blogspot.com/feeds/posts/default" />
<link rel="alternate" type="application/rss+xml" title="GANGIREDDY Blogs - RSS" href="http://gangi-java.blogspot.com/feeds/posts/default?alt=rss" />
<link rel="service.post" type="application/atom+xml" title="GANGIREDDY Blogs - Atom" href="http://www.blogger.com/feeds/10980468/posts/default" />
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://www.blogger.com/rsd.g?blogID=10980468" />
<link rel="alternate" type="application/atom+xml" title="GANGIREDDY Blogs - Atom" href="http://gangi-java.blogspot.com/feeds/3386871857718433333/comments/default" />
<!--[if IE]><script type="text/javascript" src="http://www.blogger.com/static/v1/jsbin/3271268153-ieretrofit.js%22%3E%3C/script>
<![endif]-->
<!--[if IE]> <script> (function() { var html5 = ("abbr,article,aside,audio,canvas,datalist,details," + "figure,footer,header,hgroup,mark,menu,meter,nav,output," + "progress,section,time,video").split(','); for (var i = 0; i < html5.length; i++) { document.createElement(html5[i]); } try { document.execCommand('BackgroundImageCache', false, true); } catch(e) {} })(); </script> <![endif]-->
<title>GANGIREDDY Blogs: Indic Scripts and Jasper Reports - An Interesting episode in Open Source Development</title>
<script type="text/javascript">
if (navigator.userAgent.indexOf('MSIE 6') == -1) {
  WebFontConfig = {
    google: { families: [ 'Chewy', 'Cuprum' ],
    api: 'http://themes.googleusercontent.com/fonts/css?kit=Z5zN2j2e-Pibp4mihPObWkNUApnKVcdx8UDgmbVKfVY'
    },
    loading: function() {
      if (window.jstiming) window.jstiming.load.tick('webfontLoading');
    },
    active: function() {
      if (window.jstiming) window.jstiming.load.tick('webfontActive');
    }
  };
  (function() {
    var wf = document.createElement('script');
    wf.src = '//ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
    wf.type = 'text/javascript';
    wf.async = 'true';
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(wf, s);
  })();
} else {
  document.documentElement.className = 'wf-inactive';
}
</script>
<style type="text/css">
.wf-inactive body, .wf-cuprum-n4-loading body, .wf-cuprum-n4-inactive body {
  font-family: serif;
}
.wf-inactive .header h1, .wf-chewy-n4-loading .header h1, .wf-chewy-n4-inactive .header h1 {
  font-family: serif;
}
</style>
<link type='text/css' rel='stylesheet' href='http://www.blogger.com/static/v1/widgets/1976720479-widget_css_2_bundle.css' />
 <link rel="stylesheet" type="text/css" href="http://www.blogger.com/dyn-css/authorization.css?targetBlogID=10980468&zx=6ad25cbb-62a6-45bf-a6ca-5bbc8e97f48d"/>
<style type="text/css">#navbar-iframe { display:block }
</style>

<style id='page-skin-1' type='text/css'><!--
/*
-----------------------------------------------
Blogger Template Style
Name:     Travel
Designer: Sookhee Lee
URL:      http://www.plyfly.net/
----------------------------------------------- */
/* Variable definitions
====================
<Variable name="keycolor" description="Main Color" type="color" default="#539bcd"/>
<Group description="Page Text" selector="body">
<Variable name="body.font" description="Font" type="font"
default="normal normal 13px 'Trebuchet MS',Trebuchet,sans-serif"/>
<Variable name="body.text.color" description="Text Color" type="color" default="#bbbbbb"/>
</Group>
<Group description="Backgrounds" selector=".body-fauxcolumns-outer">
<Variable name="body.background.color" description="Outer Background" type="color" default="#539bcd"/>
<Variable name="content.background.color" description="Main Background" type="color" default="transparent"/>
</Group>
<Group description="Links" selector=".main-outer">
<Variable name="link.color" description="Link Color" type="color" default="#ff9900"/>
<Variable name="link.visited.color" description="Visited Color" type="color" default="#b87209"/>
<Variable name="link.hover.color" description="Hover Color" type="color" default="#ff9900"/>
</Group>
<Group description="Blog Title" selector=".header h1">
<Variable name="header.font" description="Font" type="font"
default="normal normal 60px 'Trebuchet MS',Trebuchet,sans-serif"/>
<Variable name="header.text.color" description="Text Color" type="color" default="#ffffff" />
</Group>
<Group description="Blog Description" selector=".header .description">
<Variable name="description.text.color" description="Description Color" type="color"
default="#000000" />
</Group>
<Group description="Tabs Text" selector=".tabs-inner .widget li a">
<Variable name="tabs.font" description="Font" type="font"
default="normal bold 16px 'Trebuchet MS',Trebuchet,sans-serif"/>
<Variable name="tabs.text.color" description="Text Color" type="color" default="#ffffff"/>
<Variable name="tabs.selected.text.color" description="Selected Color" type="color" default="#ffffff"/>
</Group>
<Group description="Tabs Background" selector=".tabs-outer .PageList">
<Variable name="tabs.background.color" description="Background Color" type="color" default="transparent"/>
<Variable name="tabs.selected.background.color" description="Selected Color" type="color" default="transparent"/>
</Group>
<Group description="Date Header" selector=".main-inner h2.date-header">
<Variable name="date.font" description="Font" type="font"
default="normal normal 14px 'Trebuchet MS',Trebuchet,sans-serif"/>
<Variable name="date.text.color" description="Text Color" type="color" default="#000000"/>
</Group>
<Group description="Post Title" selector="h3.post-title a">
<Variable name="post.title.font" description="Font" type="font"
default="normal bold 20px 'Trebuchet MS',Trebuchet,sans-serif"/>
<Variable name="post.title.text.color" description="Text Color" type="color"
default="#ffffff"/>
</Group>
<Group description="Post Background" selector=".column-center-inner">
<Variable name="post.background.color" description="Background Color" type="color"
default="transparent"/>
</Group>
<Group description="Gadget Title Color" selector="h2">
<Variable name="widget.title.font" description="Font" type="font"
default="normal bold 14px 'Trebuchet MS',Trebuchet,sans-serif"/>
<Variable name="widget.title.text.color" description="Title Color" type="color" default="#ffffff"/>
</Group>
<Group description="Gadget Text" selector=".footer-inner .widget, .sidebar .widget">
<Variable name="widget.font" description="Font" type="font"
default="italic normal 16px Cuprum"/>
<Variable name="widget.text.color" description="Text Color" type="color" default="#000000"/>
</Group>
<Group description="Gadget Links" selector=".sidebar .widget">
<Variable name="widget.link.color" description="Link Color" type="color" default="#000000"/>
<Variable name="widget.link.visited.color" description="Visited Color" type="color" default="#b87209"/>
<Variable name="widget.alternate.text.color" description="Alternate Color" type="color" default="#ffffff"/>
</Group>
<Group description="Sidebar Background" selector=".column-left-inner .column-right-inner">
<Variable name="widget.outer.background.color" description="Background Color" type="color" default="transparent" />
<Variable name="widget.border.bevel.color" description="Bevel Color" type="color" default="transparent" />
</Group>
<Variable name="body.background" description="Body Background" type="background"
color="#f4bc4f" default="$(color) none repeat-x scroll top center"/>
<Variable name="content.background" description="Content Background" type="background"
color="transparent" default="$(color) none repeat scroll top center"/>
<Variable name="comments.background" description="Comments Background" type="background"
default="#cccccc none repeat scroll top center"/>
<Variable name="content.imageBorder.top.space" description="Content Image Border Top Space" type="length" default="0"/>
<Variable name="content.imageBorder.top" description="Content Image Border Top" type="url" default="none"/>
<Variable name="content.margin" description="Content Margin Top" type="length" default="20px"/>
<Variable name="content.padding" description="Content Padding" type="length" default="20px"/>
<Variable name="content.posts.padding" description="Posts Content Padding" type="length" default="10px"/>
<Variable name="tabs.background.gradient" description="Tabs Background Gradient" type="url"
default="url(http://www.blogblog.com/1kt/travel/bg_black_50.png)%22/>
<Variable name="tabs.selected.background.gradient" description="Tabs Selected Background Gradient" type="url"
default="url(http://www.blogblog.com/1kt/travel/bg_black_50.png)%22/>
<Variable name="widget.outer.background.gradient" description="Sidebar Gradient" type="url"
default="url(http://www.blogblog.com/1kt/travel/bg_black_50.png)%22/>
<Variable name="footer.background.gradient" description="Footer Background Gradient" type="url" default="none"/>
*/
/* Content
----------------------------------------------- */
body {
font: italic normal 16px Cuprum;
color: #000000;
background: #f4bc4f url(http://themes.googleusercontent.com/image?id=0BwVBOzw_-hbMMDYxYTU0MmQtZTA5Yi00MTIwLTk3ZjktZWI4MzJhMDQyOTIy) repeat-x fixed top center;
}
html body .region-inner {
min-width: 0;
max-width: 100%;
width: auto;
}
a:link {
text-decoration:none;
color: #ff9900;
}
a:visited {
text-decoration:none;
color: #b87209;
}
a:hover {
text-decoration:underline;
color: #ff9900;
}
.content-outer .content-cap-top {
height: 0;
background: transparent none repeat-x scroll top center;
}
.content-outer {
margin: 0 auto;
padding-top: 20px;
}
.content-inner {
background: transparent url(http://www.blogblog.com/1kt/travel/bg_black_70.png) repeat scroll top left;
background-position: left -0;
background-color: transparent;
padding: 20px;
}
.main-inner .date-outer {
margin-bottom: 2em;
}
/* Header
----------------------------------------------- */
.header-inner .Header .titlewrapper,
.header-inner .Header .descriptionwrapper {
padding-left: 10px;
padding-right: 10px;
}
.Header h1 {
font: normal normal 60px Chewy;
color: #ffffff;
}
.Header h1 a {
color: #ffffff;
}
.Header .description {
font-size: 130%;
}
/* Tabs
----------------------------------------------- */
.tabs-inner {
margin: 1em 0 0;
padding: 0;
}
.tabs-inner .section {
margin: 0;
}
.tabs-inner .widget ul {
padding: 0;
background: transparent url(http://www.blogblog.com/1kt/travel/bg_black_50.png) repeat scroll top center;
}
.tabs-inner .widget li {
border: none;
}
.tabs-inner .widget li a {
display: inline-block;
padding: 1em 1.5em;
color: #ffffff;
font: normal bold 16px 'Trebuchet MS',Trebuchet,sans-serif;
}
.tabs-inner .widget li.selected a,
.tabs-inner .widget li a:hover {
position: relative;
z-index: 1;
background: transparent url(http://www.blogblog.com/1kt/travel/bg_black_50.png) repeat scroll top center;
color: #ffffff;
}
/* Headings
----------------------------------------------- */
h2 {
font: normal bold 14px 'Trebuchet MS',Trebuchet,sans-serif;
color: #ffffff;
}
.main-inner h2.date-header {
font: normal normal 14px 'Trebuchet MS',Trebuchet,sans-serif;
color: #000000;
}
.footer-inner .widget h2,
.sidebar .widget h2 {
padding-bottom: .5em;
}
/* Main
----------------------------------------------- */
.main-inner {
padding: 20px 0;
}
.main-inner .column-center-inner {
padding: 20px 0;
}
.main-inner .column-center-inner .section {
margin: 0 20px;
}
.main-inner .column-right-inner {
margin-left: 20px;
}
.main-inner .fauxcolumn-right-outer .fauxcolumn-inner {
margin-left: 20px;
background: transparent none repeat scroll top left;
}
.main-inner .column-left-inner {
margin-right: 20px;
}
.main-inner .fauxcolumn-left-outer .fauxcolumn-inner {
margin-right: 20px;
background: transparent none repeat scroll top left;
}
.main-inner .column-left-inner,
.main-inner .column-right-inner {
padding: 15px 0;
}
/* Posts
----------------------------------------------- */
h3.post-title {
margin-top: 20px;
}
h3.post-title a {
font: normal bold 20px 'Trebuchet MS',Trebuchet,sans-serif;
color: #000000;
}
h3.post-title a:hover {
text-decoration: underline;
}
.main-inner .column-center-outer {
background-color: #ffffff;
}
.post-body {
line-height: 1.4;
position: relative;
}
.post-header {
margin: 0 0 1em;
line-height: 1.6;
}
.post-footer {
margin: .5em 0;
line-height: 1.6;
}
#blog-pager {
font-size: 140%;
}
#comments {
background: #cccccc none repeat scroll top center;
padding: 15px;
}
#comments .comment-author {
padding-top: 1.5em;
}
#comments h4,
#comments .comment-author a,
#comments .comment-timestamp a {
color: #000000;
}
#comments .comment-author:first-child {
padding-top: 0;
border-top: none;
}
.avatar-image-container {
margin: .2em 0 0;
}
/* Widgets
----------------------------------------------- */
.sidebar .widget {
border-bottom: 2px solid transparent;
padding-bottom: 10px;
margin: 10px 0;
}
.sidebar .widget:first-child {
margin-top: 0;
}
.sidebar .widget:last-child {
border-bottom: none;
margin-bottom: 0;
padding-bottom: 0;
}
.footer-inner .widget,
.sidebar .widget {
font: italic normal 16px Cuprum;
color: #cccccc;
}
.sidebar .widget a:link {
color: #cccccc;
text-decoration: none;
}
.sidebar .widget a:visited {
color: #b87209;
}
.sidebar .widget a:hover {
color: #cccccc;
text-decoration: underline;
}
.footer-inner .widget a:link {
color: #ff9900;
text-decoration: none;
}
.footer-inner .widget a:visited {
color: #b87209;
}
.footer-inner .widget a:hover {
color: #ff9900;
text-decoration: underline;
}
.widget .zippy {
color: #ffffff;
}
.footer-inner {
background: transparent none repeat scroll top center;
}
/* Mobile
----------------------------------------------- */
body.mobile  {
padding: 0 10px;
}
.mobile-post-outer a {
color: #000000;
}
.mobile-link-button {
background-color: transparent;
border: 1px solid #ff9900;
}
.mobile-link-button a:link, .mobile-link-button a:visited {
color: #ff9900;
}

--></style>
<style id='template-skin-1' type='text/css'><!--
body {
min-width: 860px;
}
.content-outer, .content-fauxcolumn-outer, .region-inner {
min-width: 860px;
max-width: 860px;
_width: 860px;
}
.main-inner .columns {
padding-left: 0px;
padding-right: 260px;
}
.main-inner .fauxcolumn-center-outer {
left: 0px;
right: 260px;
/* IE6 does not respect left and right together */
_width: expression(this.parentNode.offsetWidth -
parseInt("0px") -
parseInt("260px") + 'px');
}
.main-inner .fauxcolumn-left-outer {
width: 0px;
}
.main-inner .fauxcolumn-right-outer {
width: 260px;
}
.main-inner .column-left-outer {
width: 0px;
right: 100%;
margin-left: -0px;
}
.main-inner .column-right-outer {
width: 260px;
margin-right: -260px;
}
#layout {
min-width: 0;
}
#layout .content-outer {
min-width: 0;
width: 800px;
}
#layout .region-inner {
min-width: 0;
width: auto;
}
--></style>
<script type="text/javascript">
if (window.jstiming) window.jstiming.load.tick('headEnd');
</script></head>
<body class='loading'>
<div class='navbar section' id='navbar'><div class='widget Navbar' id='Navbar1'><script type="text/javascript">
    function setAttributeOnload(object, attribute, val) {
      if(window.addEventListener) {
        window.addEventListener("load",
          function(){ object[attribute] = val; }, false);
      } else {
        window.attachEvent('onload', function(){ object[attribute] = val; });
      }
    }
    function showRelatedContent(args) {
      var el = document.getElementById('related-iframe');
      if (el.parentNode.style.display != 'none') {
        el.parentNode.style.display = 'none';
        document.onclick = showRelatedContent.prevOnClick;
        return;
      }
     
      var match = /(?:^[?]|&)c=([0-9]+)(?:&|(?!.))/.exec(args);
      if (match !== null) {
        document.getElementById('related-loading').style.left = match[1] + 'px';
        el.style.left = Math.max(0, match[1] - parseInt(el.width) / 2) + 'px';
      }
      el.src = "http://www.blogger.com/"
          + '/related-content.g?q='
          + window.location.href
          + '&id=' + "10980468";
      el.parentNode.style.display = 'block';
      showRelatedContent.prevOnClick = document.onclick;

      // Hide related-content dropdown when clicking anywhere but on it.
      document.onclick = function() {
        var el = document.getElementById('related-iframe');
        if (el.parentNode.style.display != 'none') {
          el.parentNode.style.display = 'none';
        }
        document.onclick = showRelatedContent.prevOnClick;
      };
    }
  </script>
<iframe src="http://www.blogger.com/navbar.g?targetBlogID=10980468&amp;blogName=GANGI+JAVA+Blogs&amp;publishMode=PUBLISH_MODE_BLOGSPOT&amp;navbarType=LIGHT&amp;layoutType=LAYOUTS&amp;searchRoot=http%3A%2F%2Fgangi-java.blogspot.com%2Fsearch&amp;blogLocale=en_IN&amp;homepageUrl=http%3A%2F%2Fgangi-java.blogspot.com%2F&amp;targetPostID=3386871857718433333" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" height="30px" width="100%" id="navbar-iframe" allowtransparency="true" title="Blogger Navigation and Search"></iframe>

<div></div></div></div>
<div class='body-fauxcolumns'>
<div class='fauxcolumn-outer body-fauxcolumn-outer'>
<div class='cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'></div>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
</div>
<div class='content'>
<div class='content-fauxcolumns'>
<div class='fauxcolumn-outer content-fauxcolumn-outer'>
<div class='cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'></div>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
</div>
<div class='content-outer'>
<div class='content-cap-top cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left content-fauxborder-left'>
<div class='fauxborder-right content-fauxborder-right'></div>
<div class='content-inner'>
<header>
<div class='header-outer'>
<div class='header-cap-top cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left header-fauxborder-left'>
<div class='fauxborder-right header-fauxborder-right'></div>
<div class='region-inner header-inner'>
<div class='header section' id='header'><div class='widget Header' id='Header1'>
<div id='header-inner'>
<div class='titlewrapper'>
<h1 class='title'>
<a href='http://gangi-java.blogspot.com/'>GANGIREDDY Blogs</a>
</h1>
</div>
<div class='descriptionwrapper'>
<p class='description'><span>Thinking in those processes that we do not understand.</span></p>
</div>
</div>
</div></div>
</div>
</div>
<div class='header-cap-bottom cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
</header>
<div class='tabs-outer'>
<div class='tabs-cap-top cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left tabs-fauxborder-left'>
<div class='fauxborder-right tabs-fauxborder-right'></div>
<div class='region-inner tabs-inner'>
<div class='tabs section' id='crosscol'></div>
<div class='tabs section' id='crosscol-overflow'></div>
</div>
</div>
<div class='tabs-cap-bottom cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
<div class='main-outer'>
<div class='main-cap-top cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left main-fauxborder-left'>
<div class='fauxborder-right main-fauxborder-right'></div>
<div class='region-inner main-inner'>
<div class='columns fauxcolumns'>
<div class='fauxcolumn-outer fauxcolumn-center-outer'>
<div class='cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'></div>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
<div class='fauxcolumn-outer fauxcolumn-left-outer'>
<div class='cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'></div>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
<div class='fauxcolumn-outer fauxcolumn-right-outer'>
<div class='cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left'>
<div class='fauxborder-right'></div>
<div class='fauxcolumn-inner'>
</div>
</div>
<div class='cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
<!-- corrects IE6 width calculation -->
<div class='columns-inner'>
<div class='column-center-outer'>
<div class='column-center-inner'>
<div class='main section' id='main'><div class='widget Blog' id='Blog1'>
<div class='blog-posts hfeed'>
<!-- google_ad_section_start(name=default) -->

          <div class="date-outer">
       
<h2 class='date-header'><span>Monday, May 04, 2009</span></h2>

          <div class="date-posts">
       
<div class='post-outer'>
<div class='post hentry'>
<a name='3386871857718433333'></a>
<h3 class='post-title entry-title'>
Indic Scripts and Jasper Reports - An Interesting episode in Open Source Development
</h3>
<div class='post-header'>
<div class='post-header-line-1'></div>
</div>
<div class='post-body entry-content' id='post-body-3386871857718433333'>
This post explains our efforts in providing  <a href="http://en.wikipedia.org/wiki/Complex_text_layout%22%3EIndic Script</a> Support in <a href="http://en.wikipedia.org/wiki/Pdf%22%3EPDF%3C/a> Export of <a href="http://jasperforge.org/plugins/project/project_home.php?group_id=102">JasperReports</a>. The whole sequence of searching for the solution was very enlightening, entertaining and engrossing. We hope it to be a good case study in how open source solutions are developed using various on line resources like Forums and Mailing Lists.<br />
<br />
About 2 months ago, one day i receive a call from Mr M R Rajagopalan, Director of CDAC Chennai and Head of the <a href="http://bosslinux.in/%22%3EBOSS Linux</a> Project. "GANGIREDDY, do you know why Jasper reports does not support Indic Scripts in its <a href="http://en.wikipedia.org/wiki/Pdf%22%3EPDF%3C/a> Export  while it supports <a href="http://en.wikipedia.org/wiki/Arabic_alphabet%22%3EArabic%3C/a>?" I had no clue. "<a href="http://home.nic.in/%22%3ENIC%3C/a> guys need it yaar, can you do something? I heard it is based on <a href="http://www.pango.org/%22%3EPango%3C/a>". Pango was <a href="http://gangi-java.blogspot.com/2006/10/when-malayalam-renders-well.html%22%3Efamiliar technology</a>. I said "It shouldn't be an issue if it is based on Pango. Will look into it."<br />
<br />
And there I could sense the start of yet another activity. Looked around. Laxminarayana from <a href="http://gangi-java/
.blogspot.com/2007/03/present-pride.html">my team</a> was the best suited for this activity. The fellow had intelligence, enthusiasm and huge amount of  gumption. I asked him if he would like some activity which involved a bit of 'search' and 'research'. He looked excited. Gave him the job.<br />
<br />
In a couple of days he came back with his first finding. JasperReports was not based on Pango. It was based on <a href="http://www.lowagie.com/iText/%22%3EiText%3C/a>. Ouch. Wrong start. Had no clue of how iText works. We downloaded the source, built it and tested it for Arabic scripts. It worked. We tested it for <a href="http://www.omniglot.com/writing/devanagari.htm%22%3EDevanagari%3C/a> and <a href="http://www.omniglot.com/writing/tamil.htm%22%3ETamil%3C/a>. It royally goofed up. Look at <a href="http://itext.ugent.be/itext-in-action/examples/chapter09/results/peace.pdf%22%3Ethis output</a> (see Hindi and Tamil rendering).<br />
<br />
I use to believe that except for the script direction, there were lot of similarities between Arabic and Devanagari as far as Font Rendering was concerned. Both scripts heavily used <a href="http://en.wikipedia.org/wiki/Typographical_ligature%22%3Eligatures%3C/a> and in both scripts, the visual representation for a character could change  based on its position in the word. When we tested for Arabic, all these joins and ligatures were perfect. And it looked so sore with Devanagari. Naively i sent <a href="http://www.mail-archive.com/itext-questions@lists.sourceforge.net/msg43006.html%22%3Emy first mail</a> to iText mailing list.<br />
<br />
We got no response. We looked into the code. We found a Java file called <a href="http://kickjava.com/src/com/lowagie/text/pdf/ArabicLigaturizer.java.htm%22%3EArabicLigaturizer.java%3C/a>. Had read about a discussion  on <a href="http://itext.ugent.be/library/question.php?id=741">Ligaturizers</a> on the iText Mailing Lists. Looked through the code. Couldn't understand its usage. So <a href="http://www.nabble.com/Example-of-ArabicLigaturizer-td21973497.html%22%3Edropped yet another mail</a>. Still no response.<br />
<br />
At the same time Laxminarayana realised that the code had no reordering logic. Reordering is very inherent to complex scripts. In <a href="http://en.wikipedia.org/wiki/Complex_text_layout%22%3Ecomplex scripts like Devanagari</a> , the characters change their order of visual appearance which is unlike Latin scripts in which characters are strictly left to right in order of appearance. In complex scripts 2 or 3 characters combine to form a totally different shape (what we call as <a href="http://en.wikipedia.org/wiki/Glyph%22%3Eglyph%3C/a>). And surprisingly no such ligaturization or reordering code was visible in iText source.<br />
<br />
This led to an enlightenment. Arabic script needs no ligaturization, only substitution. The <a href="http://unicode.org/%22%3EUnicode%3C/a> standard had created character representation for <a href="http://en.wikipedia.org/wiki/Arabic_Unicode%22%3Eall possible Arabic glyphs</a>. While Indic Scripts like <a href="http://unicode.org/charts/PDF/U0900.pdf%22%3EDevnagari%3C/a> were grossly underrepresented. So no reordering logic was needed in rendering Arabic while Indic scripts relied heavily on <a href="http://en.wikipedia.org/wiki/OpenType%22%3Eopentype tables</a> and rendering engines like <a href="http://icu-project.org/%22%3EICU%3C/a> or Pango for representing the <a href="http://en.wikipedia.org/wiki/Complex_Text_Layout%22%3Ecomplex text layouts.</a><br />
<br />
The next step was to get the reordering code into iText. I sent a <a href="http://www.mail-archive.com/itext-questions@lists.sourceforge.net/msg43093.html%22%3Email substantiating my request with our findings</a>. The conversation with the original developers was interesting. Finally found out that the solution was not going to be a trivial one. iText had no provision in its current state to support Indic Scripts.<br />
<br />
The  capability had to be built ground up and was not a job to be over by the weekend. And i could not invest longer duration into it since it was not an activity that I could account in my mainstream work. Maximum we could invest was a couple of months and that was already spent unearthing these findings. Had to look somewhere else. Was it end of road? Thankfully not.<br />
<br />
Maybe it is due to our association with <a href="http://www.openoffice.org/%22%3EOpenOffice.org%3C/a> or maybe not, but, whenever I had thought about creating PDF files, OpenOffice.org was the only thing that came to my mind. For a long time, ability to export to PDF was one of the major features of OpenOffice.org. I knew OpenOffice.org rendered Indic scripts well and that it was based on ICU's rendering logic. We tried exporting PDF from OpenOffice.org for a document in Hindi and it did well.<br />
<br />
We saw a light. We got an idea. An idea fundamental to open source development. Why re-invent the wheel? Why couldn't we just use the capability of OpenOffice.org to export Jasper report to PDF. Our involvement in <a href="http://extensions.services.openoffice.org/project/enghinth%22%3Edeveloping%3C/a> couple of <a href="http://extensions.services.openoffice.org/project/WiRWiB%22%3Eextensions%3C/a> for OpenOffice.org made it comfortable for us to explore the <a href="http://api.openoffice.org/SDK/%22%3EOOo SDK</a>. The idea gripped us. We found 3 resources.<br />
<br />
1) Ability to <a href="http://www.docjar.com/src/api/net/sf/jasperreports/engine/export/oasis/JROdtExporter.java%22%3Eexport Jasper</a> files to <a href="http://books.google.co.in/books?id=LWTbssKt6MUC&amp;pg=PA200&amp;lpg=PA200&amp;dq=jasperreports+export+odt&amp;source=bl&amp;ots=aRIVenkNX8&amp;sig=PObGhQYiI2k1MV9GPMl2KhFhkHU&amp;hl=en&amp;ei=7_z-SZL8HIfg7APf0MjBAg&amp;sa=X&amp;oi=book_result&amp;ct=result&amp;resnum=5#PPA200,M1">ODF format</a><br />
2) <a href="http://user.services.openoffice.org/en/forum/viewtopic.php?f=44&amp;t=1804">API and code to export OpenOffice files to PDF format</a><br />
3) <a href="http://user.services.openoffice.org/en/forum/viewtopic.php?f=44&amp;t=3801">Ability to write OpenOffice files</a> to an <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/io/OutputStream.html%22%3EOutputStream%3C/a%3E%3Cbr />
<br />
Got it into the JasperReports code and voila, the system's ready. And we did achieve it in a relatively short time, something that seemed as a huge task. We could now support scripts like those of Devanagari, Tamil, Thai and Sinhalese in PDF export for JasperReports. And in true open source fashion we release the code today.<br />
<br />
Go <a href="http://code.google.com/p/indic-jasper/%22%3Eget it from here</a> and incorporate it in your projects if you need support for these kind of languages in JasperReport's PDF export. Would be happy if you drop us a line or mention about it on your web page.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Links added with <a href="http://www.cdacbangalore.in/~amarghosh/LinkIt/%22%3ELinkIt%3C/a>
<div style='clear: both;'></div>
</div>
<div class='post-footer'>
<div class='post-footer-line post-footer-line-1'><span class='post-author vcard'>
Posted by
<span class='fn'>GANGIREDDY</span>
</span>
<span class='post-timestamp'>
at
<a class='timestamp-link' href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html' rel='bookmark' title='permanent link'><abbr class='published' title='2009-05-04T16:11:00+05:30'>4:11 PM</abbr></a>
</span>
<span class='post-comment-link'>
</span>
<span class='post-icons'>
<span class='item-action'>
<a href='http://www.blogger.com/email-post.g?blogID=10980468&postID=3386871857718433333' title='Email Post'>
<img alt='' class='icon-action' height='13' src='http://img1.blogblog.com/img/icon18_email.gif' width='18'/>
</a>
</span>
<span class='item-control blog-admin pid-1248480541'>
<a href='http://www.blogger.com/post-edit.g?blogID=10980468&postID=3386871857718433333' title='Edit Post'>
<img alt='' class='icon-action' height='18' src='http://img2.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/>
</a>
</span>
</span>
<div class='post-share-buttons goog-inline-block'>
<a class='goog-inline-block share-button sb-email' href='http://www.blogger.com/share-post.g?blogID=10980468&postID=3386871857718433333&target=email' target='_blank' title='Email This'>
<span class='share-button-link-text'>Email This</span>
</a><a class='goog-inline-block share-button sb-blog' href='http://www.blogger.com/share-post.g?blogID=10980468&postID=3386871857718433333&target=blog' onclick='window.open(this.href, "_blank", "height=270,width=475"); return false;' target='_blank' title='BlogThis!'>
<span class='share-button-link-text'>BlogThis!</span>
</a><a class='goog-inline-block share-button sb-twitter' href='http://www.blogger.com/share-post.g?blogID=10980468&postID=3386871857718433333&target=twitter' target='_blank' title='Share to Twitter'>
<span class='share-button-link-text'>Share to Twitter</span>
</a><a class='goog-inline-block share-button sb-facebook' href='http://www.blogger.com/share-post.g?blogID=10980468&postID=3386871857718433333&target=facebook' onclick='window.open(this.href, "_blank", "height=430,width=640"); return false;' target='_blank' title='Share to Facebook'>
<span class='share-button-link-text'>Share to Facebook</span>
</a><a class='goog-inline-block share-button sb-buzz' href='http://www.blogger.com/share-post.g?blogID=10980468&postID=3386871857718433333&target=buzz' onclick='window.open(this.href, "_blank", "height=415,width=690"); return false;' target='_blank' title='Share to Google Buzz'>
<span class='share-button-link-text'>Share to Google Buzz</span>
</a>
</div>
</div>
<div class='post-footer-line post-footer-line-2'><span class='post-labels'>
Labels:
<a href='http://gangi-java.blogspot.com/search/label/BharateeyaOO' rel='tag'>BharateeyaOO</a>,
<a href='http://gangi-java.blogspot.com/search/label/Indic%20Scripts' rel='tag'>Indic Scripts</a>,
<a href='http://gangi-java.blogspot.com/search/label/iText' rel='tag'>iText</a>,
<a href='http://gangi-java.blogspot.com/search/label/JasperReports' rel='tag'>JasperReports</a>,
<a href='http://gangi-java.blogspot.com/search/label/Open%20Source' rel='tag'>Open Source</a>,
<a href='http://gangi-java.blogspot.com/search/label/OpenOffice' rel='tag'>OpenOffice</a>,
<a href='http://gangi-java.blogspot.com/search/label/org' rel='tag'>org</a>,
<a href='http://gangi-java.blogspot.com/search/label/PDF' rel='tag'>PDF</a>
</span>
</div>
<div class='post-footer-line post-footer-line-3'><span class='post-location'>
</span>
</div>
</div>
</div>
<div class='comments' id='comments'>
<a name='comments'></a>
<h4>
34
comments:
       
</h4>
<div id='Blog1_comments-block-wrapper'>
<dl class='avatar-comment-indent' id='comments-block'>
<dt class='comment-author ' id='c7481607222989275377'>
<a name='c7481607222989275377'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://www.jasperforge.org/ireport" rel="nofollow" onclick=""><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Giulio Toffoli">

</a></span></div>
<a href='http://www.jasperforge.org/ireport' rel='nofollow'>Giulio Toffoli</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-7481607222989275377'>
<p>
Hi GANGIREDDY, great job!<br />Why did you need to create a custom JasperReports distrubution? I think a custom exporter would be enough...isn't? I did not take a look at the code, but I assume you just improved the ODF exporter...
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1241597520000#c7481607222989275377' title='comment permalink'>
1:42 PM
</a>
<span class='item-control blog-admin pid-563070892'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=7481607222989275377' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author blog-author' id='c5881893001058388313'>
<a name='c5881893001058388313'></a>
<div class="avatar-image-container vcard"><span dir="ltr"><a href="http://www.blogger.com/profile/02211917647850295861" rel="nofollow" onclick="" class="avatar-hovercard" id="av-1-02211917647850295861"><img src="http://img1.blogblog.com/img/blank.gif" width="35" height="35" alt="" class="delayLoad" style="display: none;" longdesc="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXJEYqZrsCKOtIQ9kcpPEew838CEwvI37KhfQVqCptYBv92khUiZd-hyg_4Ga-I7oL7VbEjAnC7lIx_uqHBywWhMxqLPyd2LGxnzx6qcdvWiCSnIOE_J09l1l1aeeEaP5rJ0sRUTpB/s45/443288592_c7819ec7d2_o.jpg" title="GANGIREDDY">

<noscript><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXJEYqZrsCKOtIQ9kcpPEew838CEwvI37KhfQVqCptYBv92khUiZd-hyg_4Ga-I7oL7VbEjAnC7lIx_uqHBywWhMxqLPyd2LGxnzx6qcdvWiCSnIOE_J09l1l1aeeEaP5rJ0sRUTpB/s45/443288592_c7819ec7d2_o.jpg" width="35" height="35" class="photo" alt=""></noscript></a></span></div>
<a href='http://www.blogger.com/profile/02211917647850295861' rel='nofollow'>GANGIREDDY</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-5881893001058388313'>
<p>
@Giulio<br /><br />Thanks.<br /><br />We rewrote the PDF exporter to use ODT exporter instead of iText. <br /><br />You are right we don't need to create a whole new distribution. <br /><br />I will try and get this exporter upstream. That wud be better way.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1241597940000#c5881893001058388313' title='comment permalink'>
1:49 PM
</a>
<span class='item-control blog-admin pid-1248480541'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=5881893001058388313' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c6055868063319669160'>
<a name='c6055868063319669160'></a>
<div class="avatar-image-container vcard"><span dir="ltr"><a href="http://www.blogger.com/profile/01559871447161842605" rel="nofollow" onclick="" class="avatar-hovercard" id="av-2-01559871447161842605"><img src="http://img1.blogblog.com/img/blank.gif" width="35" height="35" alt="" class="delayLoad" style="display: none;" longdesc="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLCXeutAqL5q2fVJVmQCQGoy7BD_-8i9THlr-RAvBwsUUyf6XJDLFQLsT6DRwnXHaTAA6sJPyCUQIEWvMKG8f9dPGyHVKKJz7dcMXO2itpzYsDBOwsjItbG1qo-q5S2hegbt-AUDRhGKI/s45/dm1.jpg" title="Damodar Mukhopadhyay">

<noscript><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLCXeutAqL5q2fVJVmQCQGoy7BD_-8i9THlr-RAvBwsUUyf6XJDLFQLsT6DRwnXHaTAA6sJPyCUQIEWvMKG8f9dPGyHVKKJz7dcMXO2itpzYsDBOwsjItbG1qo-q5S2hegbt-AUDRhGKI/s45/dm1.jpg" width="35" height="35" class="photo" alt=""></noscript></a></span></div>
<a href='http://www.blogger.com/profile/01559871447161842605' rel='nofollow'>Damodar Mukhopadhyay</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-6055868063319669160'>
<p>
Nice article,<br /><br />  Carry on ur good job, Can you please provide some brief technical details for this.<br /><br />Thank you.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1241608560000#c6055868063319669160' title='comment permalink'>
4:46 PM
</a>
<span class='item-control blog-admin pid-248596379'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=6055868063319669160' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c2752597236368355340'>
<a name='c2752597236368355340'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://www.blogger.com/profile/04809582596879039420" rel="nofollow" onclick="" class="avatar-hovercard" id="av-3-04809582596879039420"><img src="http://img2.blogblog.com/img/b16-rounded.gif" width="16" height="16" alt="" title="moebiuscurve">

</a></span></div>
<a href='http://www.blogger.com/profile/04809582596879039420' rel='nofollow'>moebiuscurve</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-2752597236368355340'>
<p>
Since you are working in this area maybe I should draw your attention to another area where CTL rendering is required. I did not find any easy CTL rendering libraries for 3D Graphics libraries like OpenGL. Pango does allow me to do things, but only on the surface of 3D environment viewport. We do not have correctly rendered CTL scripts inside the 3D environments. I cannot put correctly rendered "क&#2367;त&#2366;ब" &#8204;on the surface of a "Cone/Cube" inside any 3D environment. <br /><br />If you want to proceed in this direction, then there are some libraries like FTGL, GLTT and libotf etc which you can reuse.<br /><br />Also we need easy API's like Pango to do things in 3D. I would certainly not like to be bothered with details like how to read OTF tables, do certain processing and in what order etc, etc. We want a library to enable developers make scripts in Devanagari/other CTL languages correctly rendered inside 3D environment.<br /><br />Also the rendering primitives should be such which allows developers to do other operations like scaling, twisting, turning, uneven scaling etc on these CTL scripts without breaking already rendered output by the library being talked about. In other words output by this library could be used as a primitive object for further graphics operations.<br /><br />This utility will really be useful.<br />Also it is one of my dream tools currently. At least I would know how to use.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1241609160000#c2752597236368355340' title='comment permalink'>
4:56 PM
</a>
<span class='item-control blog-admin pid-1754004634'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=2752597236368355340' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author blog-author' id='c3598682780841052986'>
<a name='c3598682780841052986'></a>
<div class="avatar-image-container vcard"><span dir="ltr"><a href="http://www.blogger.com/profile/02211917647850295861" rel="nofollow" onclick="" class="avatar-hovercard" id="av-4-02211917647850295861"><img src="http://img1.blogblog.com/img/blank.gif" width="35" height="35" alt="" class="delayLoad" style="display: none;" longdesc="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXJEYqZrsCKOtIQ9kcpPEew838CEwvI37KhfQVqCptYBv92khUiZd-hyg_4Ga-I7oL7VbEjAnC7lIx_uqHBywWhMxqLPyd2LGxnzx6qcdvWiCSnIOE_J09l1l1aeeEaP5rJ0sRUTpB/s45/443288592_c7819ec7d2_o.jpg" title="GANGIREDDY">

<noscript><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXJEYqZrsCKOtIQ9kcpPEew838CEwvI37KhfQVqCptYBv92khUiZd-hyg_4Ga-I7oL7VbEjAnC7lIx_uqHBywWhMxqLPyd2LGxnzx6qcdvWiCSnIOE_J09l1l1aeeEaP5rJ0sRUTpB/s45/443288592_c7819ec7d2_o.jpg" width="35" height="35" class="photo" alt=""></noscript></a></span></div>
<a href='http://www.blogger.com/profile/02211917647850295861' rel='nofollow'>GANGIREDDY</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-3598682780841052986'>
<p>
@moebiuscurve<br /><br />I havent tried much at CTL on 3D. But I can give a quick fix to your problem. <br /><br />You might know that any cone/cubic surface can be textured. <br /><br />Pango  gives APIs using which you can generate images of CTL text. That can be used to wrap around your objects as textures. <br /><br />Does that help your problem?
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1241609580000#c3598682780841052986' title='comment permalink'>
5:03 PM
</a>
<span class='item-control blog-admin pid-1248480541'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=3598682780841052986' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c5203481864256645863'>
<a name='c5203481864256645863'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://www.blogger.com/profile/04809582596879039420" rel="nofollow" onclick="" class="avatar-hovercard" id="av-5-04809582596879039420"><img src="http://img2.blogblog.com/img/b16-rounded.gif" width="16" height="16" alt="" title="moebiuscurve">

</a></span></div>
<a href='http://www.blogger.com/profile/04809582596879039420' rel='nofollow'>moebiuscurve</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-5203481864256645863'>
<p>
Actually I would really like to them as 3D objects and manipulate them in real time 3D VR environments. The requirement is both from developers side as well as a lame users side.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1241610420000#c5203481864256645863' title='comment permalink'>
5:17 PM
</a>
<span class='item-control blog-admin pid-1754004634'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=5203481864256645863' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c4204428572685046749'>
<a name='c4204428572685046749'></a>
<div class="avatar-image-container vcard"><span dir="ltr"><a href="http://www.blogger.com/profile/08086801433396490333" rel="nofollow" onclick="" class="avatar-hovercard" id="av-6-08086801433396490333"><img src="http://img1.blogblog.com/img/blank.gif" width="35" height="35" alt="" class="delayLoad" style="display: none;" longdesc="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyTT1SNQiN9BjthUyUViRGd27UP7UojHiu_wYmkYhYp0KLYtd42Mgxkbw60uipCCYJS1O7pCgELxeZdXYt-se73ssxRvBd3EYOPWoamdS2mSEvvz88nRgfOUwjCauT7r9yBv1CB4-iPRVe/s45/ankit-half.jpg" title="Ankit Dangi">

<noscript><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyTT1SNQiN9BjthUyUViRGd27UP7UojHiu_wYmkYhYp0KLYtd42Mgxkbw60uipCCYJS1O7pCgELxeZdXYt-se73ssxRvBd3EYOPWoamdS2mSEvvz88nRgfOUwjCauT7r9yBv1CB4-iPRVe/s45/ankit-half.jpg" width="35" height="35" class="photo" alt=""></noscript></a></span></div>
<a href='http://www.blogger.com/profile/08086801433396490333' rel='nofollow'>Ankit Dangi</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-4204428572685046749'>
<p>
<A HREF="http://web2.sys-con.com/node/963417" REL="nofollow">Here</A> is an interesting article highlighting a few of the preliminary concepts associated with PDF and Fonts.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1242883126574#c4204428572685046749' title='comment permalink'>
10:48 AM
</a>
<span class='item-control blog-admin pid-380318004'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=4204428572685046749' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author blog-author' id='c4609187089646459500'>
<a name='c4609187089646459500'></a>
<div class="avatar-image-container vcard"><span dir="ltr"><a href="http://www.blogger.com/profile/02211917647850295861" rel="nofollow" onclick="" class="avatar-hovercard" id="av-7-02211917647850295861"><img src="http://img1.blogblog.com/img/blank.gif" width="35" height="35" alt="" class="delayLoad" style="display: none;" longdesc="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXJEYqZrsCKOtIQ9kcpPEew838CEwvI37KhfQVqCptYBv92khUiZd-hyg_4Ga-I7oL7VbEjAnC7lIx_uqHBywWhMxqLPyd2LGxnzx6qcdvWiCSnIOE_J09l1l1aeeEaP5rJ0sRUTpB/s45/443288592_c7819ec7d2_o.jpg" title="GANGIREDDY">

<noscript><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXJEYqZrsCKOtIQ9kcpPEew838CEwvI37KhfQVqCptYBv92khUiZd-hyg_4Ga-I7oL7VbEjAnC7lIx_uqHBywWhMxqLPyd2LGxnzx6qcdvWiCSnIOE_J09l1l1aeeEaP5rJ0sRUTpB/s45/443288592_c7819ec7d2_o.jpg" width="35" height="35" class="photo" alt=""></noscript></a></span></div>
<a href='http://www.blogger.com/profile/02211917647850295861' rel='nofollow'>GANGIREDDY</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-4609187089646459500'>
<p>
@Ankit<br /><br />Thanks for the resource.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1242883478458#c4609187089646459500' title='comment permalink'>
10:54 AM
</a>
<span class='item-control blog-admin pid-1248480541'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=4609187089646459500' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c5315988248656115783'>
<a name='c5315988248656115783'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Arul">

</span></div>
Arul
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-5315988248656115783'>
<p>
I tried using the modified JasperReports.jar for our web application that has embedded reports. <br /><br />I get the following error :<br /><br />ODT creation time : 260<br />destfile :/arul/eclipse/apache-tomcat-6.0.18/temp/ITR1_MainReport1021.odt<br />java.lang.NullPointerException<br />        at java.io.File.init(File.java:222)<br />        at ooo.connector.server.OOoServer.start(OOoServer.java:91)<br />        at ooo.connector.BootstrapConnector.connect(BootstrapConnector.java:102)<br />        at ooo.connector.BootstrapSocketConnector.connect(BootstrapSocketConnector.java:68)<br />        at ooo.connector.BootstrapSocketConnector.connect(BootstrapSocketConnector.java:45)<br />        at ooo.connector.BootstrapSocketConnector.bootstrap(BootstrapSocketConnector.java:82)<br />        at net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToByteStream(JRPdfExporter.java:839)<br />        at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:394)<br />        at net.sf.jasperreports.engine.JasperExportManager.exportReportToPdf(JasperExportManager.java:452)<br />        at com.iss.fasttrack.standard.reports.RpUtils.generatePDF(RpUtils.java:397)<br />        at com.iss.fasttrack.standard.reports.RpUtils.generateReport(RpUtils.java:910)<br />        at com.itcs.in.xch.reports.action.ITR1ReportAction.executePDF(ITR1ReportAction.java:155)<br />        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />        at java.lang.reflect.Method.invoke(Method.java:597)<br />        at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)<br />        at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)<br />        at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)<br />        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)<br />        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)<br />        at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)<br />        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)<br />        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)<br />        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)<br />        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br />        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)<br />        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)<br />        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)<br />        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)<br />        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)<br />        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)<br />        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)<br />        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)<br />        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)<br />        at java.lang.Thread.run(Thread.java:619)<br /><br />Can you help ??<br /><br />Thanks<br />Arul
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1245062314415#c5315988248656115783' title='comment permalink'>
4:08 PM
</a>
<span class='item-control blog-admin pid-1057389340'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=5315988248656115783' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c2499655744511440871'>
<a name='c2499655744511440871'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://www.imran2009.blogspot.com/" rel="nofollow" onclick=""><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Imran">

</a></span></div>
<a href='http://www.imran2009.blogspot.com/' rel='nofollow'>Imran</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-2499655744511440871'>
<p>
I&#39;m integrating this for our seam project to work with the sinhala characters..<br /> I&#39;m getting the following error..<br /><br />Caused by: java.lang.NoClassDefFoundError: ooo/connector/BootstrapSocketConnector<br />        at net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToByteStream(JRPdfExporter.java:839)<br />        at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:394)<br /><br />I&#39;ve put the &quot;bootstrapconnector.jar&quot; in the lib..<br />Please help me..<br />Thanks<br />Imran
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1246429139523#c2499655744511440871' title='comment permalink'>
11:48 AM
</a>
<span class='item-control blog-admin pid-901315260'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=2499655744511440871' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c6472529830399254792'>
<a name='c6472529830399254792'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://www.blogger.com/profile/13725414277009138507" rel="nofollow" onclick="" class="avatar-hovercard" id="av-10-13725414277009138507"><img src="http://img2.blogblog.com/img/b16-rounded.gif" width="16" height="16" alt="" title="Imran Ahamed">

</a></span></div>
<a href='http://www.blogger.com/profile/13725414277009138507' rel='nofollow'>Imran Ahamed</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-6472529830399254792'>
<p>
Thanks GANGIREDDY, it worked.!!<br />It worked for Tamil but not for Sinhala..<br />I could see .odt file,which is generated in the temp. When i looked at the characters of sinhala .odt file created @ temp folder is squares..but the tamil .odt file is in tamil..<br /> When i highlight all the squares and select the sinhala fonts then it shows.. what should i do to overcome form this? Please advice..
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1246600476467#c6472529830399254792' title='comment permalink'>
11:24 AM
</a>
<span class='item-control blog-admin pid-630975476'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=6472529830399254792' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c5126015793051455783'>
<a name='c5126015793051455783'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://www.blogger.com/profile/00792691036540694136" rel="nofollow" onclick="" class="avatar-hovercard" id="av-11-00792691036540694136"><img src="http://img2.blogblog.com/img/b16-rounded.gif" width="16" height="16" alt="" title="langda">

</a></span></div>
<a href='http://www.blogger.com/profile/00792691036540694136' rel='nofollow'>langda</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-5126015793051455783'>
<p>
Hi GANGIREDDY..<br /><br />A gr8 article.. Thanks a lot..<br /><br />I am facing one issue.. It would be gr8 if you can provide some help..<br /><br />I have pdf file having data in marathi language.. I am extracting the text from pdf file through the java code(using UTF8 character set) and storing it to a text file. When I try to read the text contents using java code and display it to a web application, its showing data incorrectly. I have embedded Devanagari font(KF-Kiran) in my web application..<br /><br />Thanks in advance..
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1251037015289#c5126015793051455783' title='comment permalink'>
7:46 PM
</a>
<span class='item-control blog-admin pid-1245337584'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=5126015793051455783' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c7000100668171975635'>
<a name='c7000100668171975635'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://www.blogger.com/profile/09755389262070591488" rel="nofollow" onclick="" class="avatar-hovercard" id="av-12-09755389262070591488"><img src="http://img2.blogblog.com/img/b16-rounded.gif" width="16" height="16" alt="" title="ganya">

</a></span></div>
<a href='http://www.blogger.com/profile/09755389262070591488' rel='nofollow'>ganya</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-7000100668171975635'>
<p>
@GANGIREDDY<br />gr8 work 1st of all !!!<br /><br />i m facing the same problem what langda is facing while reading Devanagri pdf on a web page...
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1251092520702#c7000100668171975635' title='comment permalink'>
11:12 AM
</a>
<span class='item-control blog-admin pid-2140523362'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=7000100668171975635' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c99897656209768206'>
<a name='c99897656209768206'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://www.blogger.com/profile/13909582023419122154" rel="nofollow" onclick="" class="avatar-hovercard" id="av-13-13909582023419122154"><img src="http://img2.blogblog.com/img/b16-rounded.gif" width="16" height="16" alt="" title="Sreejith Nair">

</a></span></div>
<a href='http://www.blogger.com/profile/13909582023419122154' rel='nofollow'>Sreejith Nair</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-99897656209768206'>
<p>
Hi,<br /><br />The link to download the code is not woking. Can I know from where I can down load the same?<br /><br />Regards,<br />Sreejith
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1255687658852#c99897656209768206' title='comment permalink'>
3:37 PM
</a>
<span class='item-control blog-admin pid-625028674'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=99897656209768206' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c5973645989792937952'>
<a name='c5973645989792937952'></a>
<div class="avatar-image-container vcard"><span dir="ltr"><a href="http://www.blogger.com/profile/00731675265075573699" rel="nofollow" onclick="" class="avatar-hovercard" id="av-14-00731675265075573699"><img src="http://img1.blogblog.com/img/blank.gif" width="35" height="35" alt="" class="delayLoad" style="display: none;" longdesc="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_5WyOgnsIy7jIq4n0TMKu_Kn2JoN7e1AyfWx0kTgJyLlIsNefVydJd22YXzc0nCgLG6_5tG3OHRSrcfLMhec7hcUgFd5bNcF_Z2FTdBnIMCVjyseYHaFHKSceyi5Bzao358gR50iJ0t8o/s45/gse_multipart65522.jpg" title="Shireesh Anjal">

<noscript><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_5WyOgnsIy7jIq4n0TMKu_Kn2JoN7e1AyfWx0kTgJyLlIsNefVydJd22YXzc0nCgLG6_5tG3OHRSrcfLMhec7hcUgFd5bNcF_Z2FTdBnIMCVjyseYHaFHKSceyi5Bzao358gR50iJ0t8o/s45/gse_multipart65522.jpg" width="35" height="35" class="photo" alt=""></noscript></a></span></div>
<a href='http://www.blogger.com/profile/00731675265075573699' rel='nofollow'>Shireesh Anjal</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-5973645989792937952'>
<p>
Great article! I think it will solve my problem as well. However the download link is not working. Can you please provide a working link?
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1267433378831#c5973645989792937952' title='comment permalink'>
2:19 PM
</a>
<span class='item-control blog-admin pid-1540951'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=5973645989792937952' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c5066227445496435627'>
<a name='c5066227445496435627'></a>
<div class="avatar-image-container vcard"><span dir="ltr"><a href="http://www.blogger.com/profile/01946315933412286965" rel="nofollow" onclick="" class="avatar-hovercard" id="av-15-01946315933412286965"><img src="http://img1.blogblog.com/img/blank.gif" width="35" height="35" alt="" class="delayLoad" style="display: none;" longdesc="http://2.bp.blogspot.com/_Zp4NdABcWO0/SqpeYkhrgCI/AAAAAAAAD9k/q7OV6y3mj4o/S45/DSCF1444.JPG" title="Udai Gupta">

<noscript><img src="http://2.bp.blogspot.com/_Zp4NdABcWO0/SqpeYkhrgCI/AAAAAAAAD9k/q7OV6y3mj4o/S45/DSCF1444.JPG" width="35" height="35" class="photo" alt=""></noscript></a></span></div>
<a href='http://www.blogger.com/profile/01946315933412286965' rel='nofollow'>Udai Gupta</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-5066227445496435627'>
<p>
Indeed a great effort for solving this issue. I wonder would you make the code publicly available?
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1269102940261#c5066227445496435627' title='comment permalink'>
10:05 PM
</a>
<span class='item-control blog-admin pid-398712769'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=5066227445496435627' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c7228569909265515023'>
<a name='c7228569909265515023'></a>
<div class="avatar-image-container vcard"><span dir="ltr"><a href="http://www.blogger.com/profile/03910031015570428793" rel="nofollow" onclick="" class="avatar-hovercard" id="av-16-03910031015570428793"><img src="http://img1.blogblog.com/img/blank.gif" width="35" height="35" alt="" class="delayLoad" style="display: none;" longdesc="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQLczFjDjoyC6TMQYEUI3rnmUtUG3Pt0bduBhP_DXvYTt5JuF0ZXCc9PDRpkQEPa__gQDhVQ5ExDGIvxZW-lITDzzSHdbSZwtr_nBA_1kD-n_ri8r7XB-MG0QoGJOxymwmKy6tAlE4A-Y/s45/DSCN7717.JPG" title="Satish">

<noscript><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQLczFjDjoyC6TMQYEUI3rnmUtUG3Pt0bduBhP_DXvYTt5JuF0ZXCc9PDRpkQEPa__gQDhVQ5ExDGIvxZW-lITDzzSHdbSZwtr_nBA_1kD-n_ri8r7XB-MG0QoGJOxymwmKy6tAlE4A-Y/s45/DSCN7717.JPG" width="35" height="35" class="photo" alt=""></noscript></a></span></div>
<a href='http://www.blogger.com/profile/03910031015570428793' rel='nofollow'>Satish</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-7228569909265515023'>
<p>
I have similar requirement, but I need to create indic .pdf at server side for some application processing. I am able to export .odt file to .pdf and it works with indian languages.<br /><br />Please help me to create .odt file out of database unicode data.. Consider that I am doing it for all indian languages..
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1272883914251#c7228569909265515023' title='comment permalink'>
4:21 PM
</a>
<span class='item-control blog-admin pid-679996223'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=7228569909265515023' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c3278729389349822470'>
<a name='c3278729389349822470'></a>
<div class="avatar-image-container vcard"><span dir="ltr"><a href="http://www.blogger.com/profile/03910031015570428793" rel="nofollow" onclick="" class="avatar-hovercard" id="av-17-03910031015570428793"><img src="http://img1.blogblog.com/img/blank.gif" width="35" height="35" alt="" class="delayLoad" style="display: none;" longdesc="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQLczFjDjoyC6TMQYEUI3rnmUtUG3Pt0bduBhP_DXvYTt5JuF0ZXCc9PDRpkQEPa__gQDhVQ5ExDGIvxZW-lITDzzSHdbSZwtr_nBA_1kD-n_ri8r7XB-MG0QoGJOxymwmKy6tAlE4A-Y/s45/DSCN7717.JPG" title="Satish">

<noscript><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQLczFjDjoyC6TMQYEUI3rnmUtUG3Pt0bduBhP_DXvYTt5JuF0ZXCc9PDRpkQEPa__gQDhVQ5ExDGIvxZW-lITDzzSHdbSZwtr_nBA_1kD-n_ri8r7XB-MG0QoGJOxymwmKy6tAlE4A-Y/s45/DSCN7717.JPG" width="35" height="35" class="photo" alt=""></noscript></a></span></div>
<a href='http://www.blogger.com/profile/03910031015570428793' rel='nofollow'>Satish</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-3278729389349822470'>
<p>
I tried exporting the .odt to .pdf and it worked fine. I installed open office 2.0.2 and used the jdk1.4 compiled jars and it is failing to export. The reason i want to use jdk 1.4 because, i need to have a solution for weblogic 8.1 which uses jdk 1.4.<br /><br />Any idea will be appreciated...<br /><br />(I need for jasper report and one module which create .odt and followed .pdf.)
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1273124243658#c3278729389349822470' title='comment permalink'>
11:07 AM
</a>
<span class='item-control blog-admin pid-679996223'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=3278729389349822470' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author blog-author' id='c8382341358158673787'>
<a name='c8382341358158673787'></a>
<div class="avatar-image-container vcard"><span dir="ltr"><a href="http://www.blogger.com/profile/02211917647850295861" rel="nofollow" onclick="" class="avatar-hovercard" id="av-18-02211917647850295861"><img src="http://img1.blogblog.com/img/blank.gif" width="35" height="35" alt="" class="delayLoad" style="display: none;" longdesc="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXJEYqZrsCKOtIQ9kcpPEew838CEwvI37KhfQVqCptYBv92khUiZd-hyg_4Ga-I7oL7VbEjAnC7lIx_uqHBywWhMxqLPyd2LGxnzx6qcdvWiCSnIOE_J09l1l1aeeEaP5rJ0sRUTpB/s45/443288592_c7819ec7d2_o.jpg" title="GANGIREDDY">

<noscript><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXJEYqZrsCKOtIQ9kcpPEew838CEwvI37KhfQVqCptYBv92khUiZd-hyg_4Ga-I7oL7VbEjAnC7lIx_uqHBywWhMxqLPyd2LGxnzx6qcdvWiCSnIOE_J09l1l1aeeEaP5rJ0sRUTpB/s45/443288592_c7819ec7d2_o.jpg" width="35" height="35" class="photo" alt=""></noscript></a></span></div>
<a href='http://www.blogger.com/profile/02211917647850295861' rel='nofollow'>GANGIREDDY</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-8382341358158673787'>
<p>
@Sathish <br /><br />Are you trying the code from <a href="http://code.google.com/p/indic-jasper/" rel="nofollow">Indic-Jasper</a> page
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1273124942626#c8382341358158673787' title='comment permalink'>
11:19 AM
</a>
<span class='item-control blog-admin pid-1248480541'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=8382341358158673787' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c6669174427752742076'>
<a name='c6669174427752742076'></a>
<div class="avatar-image-container vcard"><span dir="ltr"><a href="http://www.blogger.com/profile/03910031015570428793" rel="nofollow" onclick="" class="avatar-hovercard" id="av-19-03910031015570428793"><img src="http://img1.blogblog.com/img/blank.gif" width="35" height="35" alt="" class="delayLoad" style="display: none;" longdesc="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQLczFjDjoyC6TMQYEUI3rnmUtUG3Pt0bduBhP_DXvYTt5JuF0ZXCc9PDRpkQEPa__gQDhVQ5ExDGIvxZW-lITDzzSHdbSZwtr_nBA_1kD-n_ri8r7XB-MG0QoGJOxymwmKy6tAlE4A-Y/s45/DSCN7717.JPG" title="Satish">

<noscript><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQLczFjDjoyC6TMQYEUI3rnmUtUG3Pt0bduBhP_DXvYTt5JuF0ZXCc9PDRpkQEPa__gQDhVQ5ExDGIvxZW-lITDzzSHdbSZwtr_nBA_1kD-n_ri8r7XB-MG0QoGJOxymwmKy6tAlE4A-Y/s45/DSCN7717.JPG" width="35" height="35" class="photo" alt=""></noscript></a></span></div>
<a href='http://www.blogger.com/profile/03910031015570428793' rel='nofollow'>Satish</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-6669174427752742076'>
<p>
@GANGIREDDY:<br /><br />No I did not..<br /><br />I used one of three steps specified in your blog.. I wrote my own class using &quot;odfdom&quot; to create &quot;.odt&quot; and used your exporter to export to .pdf.. I was using open office 3.2. But after that I tried with open office 2.0.2. I replaced the jar files and it failed.. I only worked for english..<br /><br />Do you want me to follow the url you last sent??
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1273125719638#c6669174427752742076' title='comment permalink'>
11:31 AM
</a>
<span class='item-control blog-admin pid-679996223'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=6669174427752742076' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author blog-author' id='c1731723775699967390'>
<a name='c1731723775699967390'></a>
<div class="avatar-image-container vcard"><span dir="ltr"><a href="http://www.blogger.com/profile/02211917647850295861" rel="nofollow" onclick="" class="avatar-hovercard" id="av-20-02211917647850295861"><img src="http://img1.blogblog.com/img/blank.gif" width="35" height="35" alt="" class="delayLoad" style="display: none;" longdesc="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXJEYqZrsCKOtIQ9kcpPEew838CEwvI37KhfQVqCptYBv92khUiZd-hyg_4Ga-I7oL7VbEjAnC7lIx_uqHBywWhMxqLPyd2LGxnzx6qcdvWiCSnIOE_J09l1l1aeeEaP5rJ0sRUTpB/s45/443288592_c7819ec7d2_o.jpg" title="GANGIREDDY">

<noscript><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXJEYqZrsCKOtIQ9kcpPEew838CEwvI37KhfQVqCptYBv92khUiZd-hyg_4Ga-I7oL7VbEjAnC7lIx_uqHBywWhMxqLPyd2LGxnzx6qcdvWiCSnIOE_J09l1l1aeeEaP5rJ0sRUTpB/s45/443288592_c7819ec7d2_o.jpg" width="35" height="35" class="photo" alt=""></noscript></a></span></div>
<a href='http://www.blogger.com/profile/02211917647850295861' rel='nofollow'>GANGIREDDY</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-1731723775699967390'>
<p>
@Sathish ,<br /><br /><br />Please download the source from there and build your jasper report. Moreover we have used newer java language constructs like Annotations which might not be supported in jdk 1.4. <br /><br />You might have to rewrite those parts.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1273125972832#c1731723775699967390' title='comment permalink'>
11:36 AM
</a>
<span class='item-control blog-admin pid-1248480541'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=1731723775699967390' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c7525996062948540932'>
<a name='c7525996062948540932'></a>
<div class="avatar-image-container vcard"><span dir="ltr"><a href="http://www.blogger.com/profile/03910031015570428793" rel="nofollow" onclick="" class="avatar-hovercard" id="av-21-03910031015570428793"><img src="http://img1.blogblog.com/img/blank.gif" width="35" height="35" alt="" class="delayLoad" style="display: none;" longdesc="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQLczFjDjoyC6TMQYEUI3rnmUtUG3Pt0bduBhP_DXvYTt5JuF0ZXCc9PDRpkQEPa__gQDhVQ5ExDGIvxZW-lITDzzSHdbSZwtr_nBA_1kD-n_ri8r7XB-MG0QoGJOxymwmKy6tAlE4A-Y/s45/DSCN7717.JPG" title="Satish">

<noscript><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQLczFjDjoyC6TMQYEUI3rnmUtUG3Pt0bduBhP_DXvYTt5JuF0ZXCc9PDRpkQEPa__gQDhVQ5ExDGIvxZW-lITDzzSHdbSZwtr_nBA_1kD-n_ri8r7XB-MG0QoGJOxymwmKy6tAlE4A-Y/s45/DSCN7717.JPG" width="35" height="35" class="photo" alt=""></noscript></a></span></div>
<a href='http://www.blogger.com/profile/03910031015570428793' rel='nofollow'>Satish</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-7525996062948540932'>
<p>
@GANGIREDDY: <br />yes Annotations wont support in 1.4.. <br />Anyway I will work around it and let you know ASAP..<br /><br />should I use the jar files from open office 3.2 or open office 2.0.2??
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1273126384866#c7525996062948540932' title='comment permalink'>
11:43 AM
</a>
<span class='item-control blog-admin pid-679996223'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=7525996062948540932' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author blog-author' id='c2520313947673194380'>
<a name='c2520313947673194380'></a>
<div class="avatar-image-container vcard"><span dir="ltr"><a href="http://www.blogger.com/profile/02211917647850295861" rel="nofollow" onclick="" class="avatar-hovercard" id="av-22-02211917647850295861"><img src="http://img1.blogblog.com/img/blank.gif" width="35" height="35" alt="" class="delayLoad" style="display: none;" longdesc="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXJEYqZrsCKOtIQ9kcpPEew838CEwvI37KhfQVqCptYBv92khUiZd-hyg_4Ga-I7oL7VbEjAnC7lIx_uqHBywWhMxqLPyd2LGxnzx6qcdvWiCSnIOE_J09l1l1aeeEaP5rJ0sRUTpB/s45/443288592_c7819ec7d2_o.jpg" title="GANGIREDDY">

<noscript><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXJEYqZrsCKOtIQ9kcpPEew838CEwvI37KhfQVqCptYBv92khUiZd-hyg_4Ga-I7oL7VbEjAnC7lIx_uqHBywWhMxqLPyd2LGxnzx6qcdvWiCSnIOE_J09l1l1aeeEaP5rJ0sRUTpB/s45/443288592_c7819ec7d2_o.jpg" width="35" height="35" class="photo" alt=""></noscript></a></span></div>
<a href='http://www.blogger.com/profile/02211917647850295861' rel='nofollow'>GANGIREDDY</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-2520313947673194380'>
<p>
@Sathish<br /><br />Use Jar files from 2.4 or 3.2. Both should work.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1273126756926#c2520313947673194380' title='comment permalink'>
11:49 AM
</a>
<span class='item-control blog-admin pid-1248480541'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=2520313947673194380' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c7711431094734288333'>
<a name='c7711431094734288333'></a>
<div class="avatar-image-container vcard"><span dir="ltr"><a href="http://www.blogger.com/profile/06579625117208816377" rel="nofollow" onclick="" class="avatar-hovercard" id="av-23-06579625117208816377"><img src="http://img1.blogblog.com/img/blank.gif" width="35" height="35" alt="" class="delayLoad" style="display: none;" longdesc="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6GdcdoQGfAUlnnFnVqFVgphIGF0rtXed-D02RMSLK5ZooHcDdwKSVtRhAwYmWLk0NmfJGpaZup7n_EeWIc20zpornclUinFIHYb5czrY48FIv95uP3h05TfMutXOcm83TDbdb7X3cVY0/s45/DSC01367.JPG" title="Rahul">

<noscript><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6GdcdoQGfAUlnnFnVqFVgphIGF0rtXed-D02RMSLK5ZooHcDdwKSVtRhAwYmWLk0NmfJGpaZup7n_EeWIc20zpornclUinFIHYb5czrY48FIv95uP3h05TfMutXOcm83TDbdb7X3cVY0/s45/DSC01367.JPG" width="35" height="35" class="photo" alt=""></noscript></a></span></div>
<a href='http://www.blogger.com/profile/06579625117208816377' rel='nofollow'>Rahul</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-7711431094734288333'>
<p>
In fact, it is a good thing that only the essential characters were coded in unicode. It has given us huge flexibility in terms of using our scripts, made the font development lot more faster, and also made the encoding a lot more lighter. <br /><br />As far rendering across the applications is concerned, all these small and big applications should have some fallback to the  best available rendering on the system, in case it doesn&#39;t has its own. <br /><br />The harfbuzz project has been trying to provide an uniform platform, but not sure how it can be ensured that all these applications will adopt the uniform rendering system. I have been away from the project for some time, hence not sure of the current status.<br /><br />Nevertheless, a very good job by you guys!
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1273215436446#c7711431094734288333' title='comment permalink'>
12:27 PM
</a>
<span class='item-control blog-admin pid-1353549679'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=7711431094734288333' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c8173378825062244684'>
<a name='c8173378825062244684'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://www.blogger.com/profile/01743755710374976238" rel="nofollow" onclick="" class="avatar-hovercard" id="av-24-01743755710374976238"><img src="http://img2.blogblog.com/img/b16-rounded.gif" width="16" height="16" alt="" title="Poornima">

</a></span></div>
<a href='http://www.blogger.com/profile/01743755710374976238' rel='nofollow'>Poornima</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-8173378825062244684'>
<p>
Hi GANGIREDDY,<br /><br />This is satish&#39;s Colleague.<br /><br />I am trying the code from <br /><br />http://code.google.com/p/indic-jasper/ link. which you hav advised to use to genearate the reports in indic scripts(Generating  pdf report using openOffice instead of itext.)<br /><br />I am facing one issue..While generating report through our application getting exception &quot;Error Loading Object from file&quot;.<br /><br />Previously i had included jasperreports-1.0.0 in my class path,Now I have rebuilt the jasperReports using ant by including jasperreports-3.5.1.jar in the class path. and I have inluded open office 2.4 libraries.<br /><br />It would be gr8 if you can provide some help..
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1273472777508#c8173378825062244684' title='comment permalink'>
11:56 AM
</a>
<span class='item-control blog-admin pid-924652187'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=8173378825062244684' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author blog-author' id='c541836947533144439'>
<a name='c541836947533144439'></a>
<div class="avatar-image-container vcard"><span dir="ltr"><a href="http://www.blogger.com/profile/02211917647850295861" rel="nofollow" onclick="" class="avatar-hovercard" id="av-25-02211917647850295861"><img src="http://img1.blogblog.com/img/blank.gif" width="35" height="35" alt="" class="delayLoad" style="display: none;" longdesc="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXJEYqZrsCKOtIQ9kcpPEew838CEwvI37KhfQVqCptYBv92khUiZd-hyg_4Ga-I7oL7VbEjAnC7lIx_uqHBywWhMxqLPyd2LGxnzx6qcdvWiCSnIOE_J09l1l1aeeEaP5rJ0sRUTpB/s45/443288592_c7819ec7d2_o.jpg" title="GANGIREDDY">

<noscript><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXJEYqZrsCKOtIQ9kcpPEew838CEwvI37KhfQVqCptYBv92khUiZd-hyg_4Ga-I7oL7VbEjAnC7lIx_uqHBywWhMxqLPyd2LGxnzx6qcdvWiCSnIOE_J09l1l1aeeEaP5rJ0sRUTpB/s45/443288592_c7819ec7d2_o.jpg" width="35" height="35" class="photo" alt=""></noscript></a></span></div>
<a href='http://www.blogger.com/profile/02211917647850295861' rel='nofollow'>GANGIREDDY</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-541836947533144439'>
<p>
@Poornima<br /><br />Please post your issues at <a href="http://code.google.com/p/indic-jasper/issues/list" rel="nofollow">http://code.google.com/p/indic-jasper/issues/list</a>
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1273473800930#c541836947533144439' title='comment permalink'>
12:13 PM
</a>
<span class='item-control blog-admin pid-1248480541'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=541836947533144439' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c6901152087418233166'>
<a name='c6901152087418233166'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><a href="http://www.blogger.com/profile/01743755710374976238" rel="nofollow" onclick="" class="avatar-hovercard" id="av-26-01743755710374976238"><img src="http://img2.blogblog.com/img/b16-rounded.gif" width="16" height="16" alt="" title="Poornima">

</a></span></div>
<a href='http://www.blogger.com/profile/01743755710374976238' rel='nofollow'>Poornima</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-6901152087418233166'>
<p>
Thanks GANGIREDDY.
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1273479907262#c6901152087418233166' title='comment permalink'>
1:55 PM
</a>
<span class='item-control blog-admin pid-924652187'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=6901152087418233166' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c2025396202945277491'>
<a name='c2025396202945277491'></a>
<div class="avatar-image-container vcard"><span dir="ltr"><a href="http://www.blogger.com/profile/13725414277009138507" rel="nofollow" onclick="" class="avatar-hovercard" id="av-27-13725414277009138507"><img src="http://img1.blogblog.com/img/blank.gif" width="35" height="35" alt="" class="delayLoad" style="display: none;" longdesc="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVz5AM-tXooyo03Dz-rWKjfCOTyBN6RajgOP-63hU3iB_VVBDHBksV8e6sgyIa3PQVUSRUYBLnKh-guwyqVywmItpuo6azXsRKZjXiG2AOMlppMkQJL8CwmTvDka-Tc94uUtE41q6P0ZQ/s45/imran5.jpg" title="Imran Ahamed">

<noscript><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVz5AM-tXooyo03Dz-rWKjfCOTyBN6RajgOP-63hU3iB_VVBDHBksV8e6sgyIa3PQVUSRUYBLnKh-guwyqVywmItpuo6azXsRKZjXiG2AOMlppMkQJL8CwmTvDka-Tc94uUtE41q6P0ZQ/s45/imran5.jpg" width="35" height="35" class="photo" alt=""></noscript></a></span></div>
<a href='http://www.blogger.com/profile/13725414277009138507' rel='nofollow'>Imran Ahamed</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-2025396202945277491'>
<p>
Hi,<br /> I&#39;ve done a work around for iText to properly render the indict scripts.In my case Sinhala/Tamil.Hence open office need not to be used &amp; there are lot of advantage using the iText then odf method..<br />Please keep on eye at my blog I&#39;ll be posting the work around in near future Since our system is at UAT level..so busy..<br />Imran
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1273481471701#c2025396202945277491' title='comment permalink'>
2:21 PM
</a>
<span class='item-control blog-admin pid-630975476'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=2025396202945277491' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author blog-author' id='c2489313918212532270'>
<a name='c2489313918212532270'></a>
<div class="avatar-image-container vcard"><span dir="ltr"><a href="http://www.blogger.com/profile/02211917647850295861" rel="nofollow" onclick="" class="avatar-hovercard" id="av-28-02211917647850295861"><img src="http://img1.blogblog.com/img/blank.gif" width="35" height="35" alt="" class="delayLoad" style="display: none;" longdesc="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXJEYqZrsCKOtIQ9kcpPEew838CEwvI37KhfQVqCptYBv92khUiZd-hyg_4Ga-I7oL7VbEjAnC7lIx_uqHBywWhMxqLPyd2LGxnzx6qcdvWiCSnIOE_J09l1l1aeeEaP5rJ0sRUTpB/s45/443288592_c7819ec7d2_o.jpg" title="GANGIREDDY">

<noscript><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXJEYqZrsCKOtIQ9kcpPEew838CEwvI37KhfQVqCptYBv92khUiZd-hyg_4Ga-I7oL7VbEjAnC7lIx_uqHBywWhMxqLPyd2LGxnzx6qcdvWiCSnIOE_J09l1l1aeeEaP5rJ0sRUTpB/s45/443288592_c7819ec7d2_o.jpg" width="35" height="35" class="photo" alt=""></noscript></a></span></div>
<a href='http://www.blogger.com/profile/02211917647850295861' rel='nofollow'>GANGIREDDY</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-2489313918212532270'>
<p>
@Imran<br /><br />How near is that future?
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1273481708924#c2489313918212532270' title='comment permalink'>
2:25 PM
</a>
<span class='item-control blog-admin pid-1248480541'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=2489313918212532270' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c7986793726098253555'>
<a name='c7986793726098253555'></a>
<div class="avatar-image-container vcard"><span dir="ltr"><a href="http://www.blogger.com/profile/03910031015570428793" rel="nofollow" onclick="" class="avatar-hovercard" id="av-29-03910031015570428793"><img src="http://img1.blogblog.com/img/blank.gif" width="35" height="35" alt="" class="delayLoad" style="display: none;" longdesc="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQLczFjDjoyC6TMQYEUI3rnmUtUG3Pt0bduBhP_DXvYTt5JuF0ZXCc9PDRpkQEPa__gQDhVQ5ExDGIvxZW-lITDzzSHdbSZwtr_nBA_1kD-n_ri8r7XB-MG0QoGJOxymwmKy6tAlE4A-Y/s45/DSCN7717.JPG" title="Satish">

<noscript><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQLczFjDjoyC6TMQYEUI3rnmUtUG3Pt0bduBhP_DXvYTt5JuF0ZXCc9PDRpkQEPa__gQDhVQ5ExDGIvxZW-lITDzzSHdbSZwtr_nBA_1kD-n_ri8r7XB-MG0QoGJOxymwmKy6tAlE4A-Y/s45/DSCN7717.JPG" width="35" height="35" class="photo" alt=""></noscript></a></span></div>
<a href='http://www.blogger.com/profile/03910031015570428793' rel='nofollow'>Satish</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-7986793726098253555'>
<p>
@GANGIREDDY: <br />I am using JDK 1.4 and OpenOffice 2.4.0 to crate indic language PDF. Everything worked fine in windows environment. The same app is not working in solaris. It is showing some junk characters in case of indic languages...<br /><br />Do I need to install anything else after installing openoffice in solaris???
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1274952058258#c7986793726098253555' title='comment permalink'>
2:50 PM
</a>
<span class='item-control blog-admin pid-679996223'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=7986793726098253555' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author blog-author' id='c8210581672958885017'>
<a name='c8210581672958885017'></a>
<div class="avatar-image-container vcard"><span dir="ltr"><a href="http://www.blogger.com/profile/02211917647850295861" rel="nofollow" onclick="" class="avatar-hovercard" id="av-30-02211917647850295861"><img src="http://img1.blogblog.com/img/blank.gif" width="35" height="35" alt="" class="delayLoad" style="display: none;" longdesc="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXJEYqZrsCKOtIQ9kcpPEew838CEwvI37KhfQVqCptYBv92khUiZd-hyg_4Ga-I7oL7VbEjAnC7lIx_uqHBywWhMxqLPyd2LGxnzx6qcdvWiCSnIOE_J09l1l1aeeEaP5rJ0sRUTpB/s45/443288592_c7819ec7d2_o.jpg" title="GANGIREDDY">

<noscript><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXJEYqZrsCKOtIQ9kcpPEew838CEwvI37KhfQVqCptYBv92khUiZd-hyg_4Ga-I7oL7VbEjAnC7lIx_uqHBywWhMxqLPyd2LGxnzx6qcdvWiCSnIOE_J09l1l1aeeEaP5rJ0sRUTpB/s45/443288592_c7819ec7d2_o.jpg" width="35" height="35" class="photo" alt=""></noscript></a></span></div>
<a href='http://www.blogger.com/profile/02211917647850295861' rel='nofollow'>GANGIREDDY</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-8210581672958885017'>
<p>
@Sathish <br /><br />Please post your issues to <br /><br /><a href="http://code.google.com/p/indic-jasper/issues/list" rel="nofollow">http://code.google.com/p/indic-jasper/issues/list</a>
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1275020734739#c8210581672958885017' title='comment permalink'>
9:55 AM
</a>
<span class='item-control blog-admin pid-1248480541'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=8210581672958885017' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c3928173688483882674'>
<a name='c3928173688483882674'></a>
<div class="avatar-image-container vcard"><span dir="ltr"><a href="http://www.blogger.com/profile/03910031015570428793" rel="nofollow" onclick="" class="avatar-hovercard" id="av-31-03910031015570428793"><img src="http://img1.blogblog.com/img/blank.gif" width="35" height="35" alt="" class="delayLoad" style="display: none;" longdesc="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQLczFjDjoyC6TMQYEUI3rnmUtUG3Pt0bduBhP_DXvYTt5JuF0ZXCc9PDRpkQEPa__gQDhVQ5ExDGIvxZW-lITDzzSHdbSZwtr_nBA_1kD-n_ri8r7XB-MG0QoGJOxymwmKy6tAlE4A-Y/s45/DSCN7717.JPG" title="Satish">

<noscript><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQLczFjDjoyC6TMQYEUI3rnmUtUG3Pt0bduBhP_DXvYTt5JuF0ZXCc9PDRpkQEPa__gQDhVQ5ExDGIvxZW-lITDzzSHdbSZwtr_nBA_1kD-n_ri8r7XB-MG0QoGJOxymwmKy6tAlE4A-Y/s45/DSCN7717.JPG" width="35" height="35" class="photo" alt=""></noscript></a></span></div>
<a href='http://www.blogger.com/profile/03910031015570428793' rel='nofollow'>Satish</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-3928173688483882674'>
<span class='deleted-comment'>This post has been removed by the author.</span>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1275022799370#c3928173688483882674' title='comment permalink'>
10:29 AM
</a>
<span class='item-control blog-admin '>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=3928173688483882674' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c7708423829887957484'>
<a name='c7708423829887957484'></a>
<div class="avatar-image-container vcard"><span dir="ltr"><a href="http://www.blogger.com/profile/03910031015570428793" rel="nofollow" onclick="" class="avatar-hovercard" id="av-32-03910031015570428793"><img src="http://img1.blogblog.com/img/blank.gif" width="35" height="35" alt="" class="delayLoad" style="display: none;" longdesc="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQLczFjDjoyC6TMQYEUI3rnmUtUG3Pt0bduBhP_DXvYTt5JuF0ZXCc9PDRpkQEPa__gQDhVQ5ExDGIvxZW-lITDzzSHdbSZwtr_nBA_1kD-n_ri8r7XB-MG0QoGJOxymwmKy6tAlE4A-Y/s45/DSCN7717.JPG" title="Satish">

<noscript><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQLczFjDjoyC6TMQYEUI3rnmUtUG3Pt0bduBhP_DXvYTt5JuF0ZXCc9PDRpkQEPa__gQDhVQ5ExDGIvxZW-lITDzzSHdbSZwtr_nBA_1kD-n_ri8r7XB-MG0QoGJOxymwmKy6tAlE4A-Y/s45/DSCN7717.JPG" width="35" height="35" class="photo" alt=""></noscript></a></span></div>
<a href='http://www.blogger.com/profile/03910031015570428793' rel='nofollow'>Satish</a>
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-7708423829887957484'>
<p>
@GANGIREDDY:<br /><br />Any idea regarding this issue :<br /><br />I logged the issue to &quot;code.google.com&quot;<br /><br />http://code.google.com/p/indic-jasper/issues/detail?id=2<br /><br />Any suggestion will be appreciated...
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1275892507016#c7708423829887957484' title='comment permalink'>
12:05 PM
</a>
<span class='item-control blog-admin pid-679996223'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=7708423829887957484' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
<dt class='comment-author ' id='c5217300333672225403'>
<a name='c5217300333672225403'></a>
<div class="avatar-image-container avatar-stock"><span dir="ltr"><img src="http://img1.blogblog.com/img/blank.gif" width="16" height="16" alt="" title="Anonymous">

</span></div>
Anonymous
said...
</dt>
<dd class='comment-body' id='Blog1_cmt-5217300333672225403'>
<p>
@Arul,<br /><br />I am facing same issue, have you got solution?
</p>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html?showComment=1291638359462#c5217300333672225403' title='comment permalink'>
5:55 PM
</a>
<span class='item-control blog-admin pid-1121858764'>
<a class='comment-delete' href='http://www.blogger.com/delete-comment.g?blogID=10980468&postID=5217300333672225403' title='Delete Comment'>
<img src='//www.blogger.com/img/icon_delete13.gif'/>
</a>
</span>
</span>
</dd>
</dl>
</div>
<p class='comment-footer'>
<a href='https://www.blogger.com/comment.g?blogID=10980468&postID=3386871857718433333' onclick=''>Post a Comment</a>
</p>
<div id='backlinks-container'>
<div id='Blog1_backlinks-container'>
<a name='links'></a><h4>
</h4>
<p class='comment-footer'>
<a class='comment-link' href='' id='Blog1_backlinks-create-link' target='_blank'>
</a>
</p>
</div>
</div>
</div>
</div>
<div id="latency-3386871857718433333"></div><script type="text/javascript">if (window['tickAboveFold']) {window['tickAboveFold'](document.getElementById("latency-3386871857718433333")); } </script>

        </div></div>
     
<!-- google_ad_section_end -->
</div>
<div class='blog-pager' id='blog-pager'>
<span id='blog-pager-newer-link'>
<a class='blog-pager-newer-link' href='http://gangi-java.blogspot.com/2009/05/exploring-openofficeorg-api-through.html' id='Blog1_blog-pager-newer-link' title='Newer Post'>Newer Post</a>
</span>
<span id='blog-pager-older-link'>
<a class='blog-pager-older-link' href='http://gangi-java.blogspot.com/2009/04/normalize-your-notions.html' id='Blog1_blog-pager-older-link' title='Older Post'>Older Post</a>
</span>
<a class='home-link' href='http://gangi-java.blogspot.com/'>Home</a>
</div>
<div class='clear'></div>
<div class='post-feeds'>
<div class='feed-links'>
Subscribe to:
<a class='feed-link' href='http://gangi-java.blogspot.com/feeds/3386871857718433333/comments/default' target='_blank' type='application/atom+xml'>Post Comments (Atom)</a>
</div>
</div>
</div></div>
</div>
</div>
<div class='column-left-outer'>
<div class='column-left-inner'>
<aside>
</aside>
</div>
</div>
<div class='column-right-outer'>
<div class='column-right-inner'>
<aside>
<div class='sidebar section' id='sidebar-right-1'><div class='widget Followers' id='Followers1'>
<h2 class='title'>Followers</h2>
<div class='widget-content'>
<div id='Followers1-wrapper'>
<div style='margin-right:2px;'>
<script type="text/javascript">
        if (!window.google || !google.friendconnect) {
          document.write('<script type="text/javascript"' +
              'src="http://www.google.com/friendconnect/script/friendconnect.js%22%3E' +
              '</scr' + 'ipt>');
        }
      </script>
<script type="text/javascript">
      if (!window.registeredBloggerCallbacks) {
        window.registeredBloggerCallbacks = true;

       

       
        gadgets.rpc.register('requestReload', function() {
          document.location.reload();
        });

       
        gadgets.rpc.register('requestSignOut', function(siteId) {
         
          google.friendconnect.container.openSocialSiteId = siteId;
          google.friendconnect.requestSignOut();
        });
      }
    </script>
<script type="text/javascript">
   
    function registerGetBlogUrls() {
      gadgets.rpc.register('getBlogUrls', function() {
        var holder = {};
       
         
           
           
              holder.currentPost = "http://www.blogger.com/feeds/10980468/posts/default/3386871857718433333";
           
           
           
              holder.currentComments = "http://www.blogger.com/feeds/10980468/3386871857718433333/comments/default";
           
            holder.currentPostUrl = "";
            holder.currentPostId = 3386871857718433333
         
         
         
            holder.postFeed = "http://www.blogger.com/feeds/10980468/posts/default";
         
         
         
            holder.commentFeed = "http://www.blogger.com/feeds/10980468/comments/default";
         
          holder.currentBlogUrl = "http://gangi-java.blogspot.com/";
          holder.currentBlogId = "10980468";
       
        return holder;
      });
    }
  </script>
<script type="text/javascript">
  if (!window.registeredCommonBloggerCallbacks) {
    window.registeredCommonBloggerCallbacks = true;

    gadgets.rpc.register('resize_iframe', function(height) {
      var el = document.getElementById(this['f']);
      if (el) {
        el.style.height = height + 'px';
      }
    });

   
    gadgets.rpc.register('set_pref', function() {});

    registerGetBlogUrls();
  }
  </script>
<div id="div-1ndy3xs0lfqgv" style="width: 100%; "></div>
<script type="text/javascript">
    var skin = {};
    skin['FACE_SIZE'] = '32';
    skin['HEIGHT'] = "260";
    skin['TITLE'] = "Followers";
    skin['BORDER_COLOR'] = "transparent";
    skin['ENDCAP_BG_COLOR'] = "transparent";
    skin['ENDCAP_TEXT_COLOR'] = "#000000";
    skin['ENDCAP_LINK_COLOR'] = "#ff9900";
    skin['ALTERNATE_BG_COLOR'] = "transparent";
   
    skin['CONTENT_BG_COLOR'] = "transparent";
    skin['CONTENT_LINK_COLOR'] = "#ff9900";
    skin['CONTENT_TEXT_COLOR'] = "#000000";
    skin['CONTENT_SECONDARY_LINK_COLOR'] = "#ff9900";
    skin['CONTENT_SECONDARY_TEXT_COLOR'] = "#ffffff";
    skin['CONTENT_HEADLINE_COLOR'] = "#ffffff";
    skin['FONT_FACE'] = "italic normal 16px Cuprum";
    google.friendconnect.container.setParentUrl("/");
    google.friendconnect.container["renderMembersGadget"](
    {id: "div-1ndy3xs0lfqgv",
     height: 260,
    
    
    
     site: "11607185844542623931",
     
     locale: 'en_IN' },
     skin);
  </script>
</div>
</div>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='http://www.blogger.com/rearrange?blogID=10980468&widgetType=Followers&widgetId=Followers1&action=editWidget&sectionId=sidebar-right-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("Followers1"));' target='configFollowers1' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div>
</div><div class='widget BlogArchive' id='BlogArchive1'>
<h2>Blog Archive</h2>
<div class='widget-content'>
<div id='ArchiveList'>
<div id='BlogArchive1_ArchiveList'>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/search?updated-min=2011-01-01T00%3A00%3A00%2B05%3A30&updated-max=2012-01-01T00%3A00%3A00%2B05%3A30&max-results=4'>2011</a>
<span class='post-count' dir='ltr'>(4)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2011_02_01_archive.html'>February</a>
<span class='post-count' dir='ltr'>(2)</span>
<ul class='posts'>
<li><a href='http://gangi-java.blogspot.com/2011/02/hunting-happiness.html'>Hunting Happiness</a></li>
<li><a href='http://gangi-java.blogspot.com/2011/02/certain-emptiness-this-weekend.html'>Certain emptiness this weekend</a></li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2011_01_01_archive.html'>January</a>
<span class='post-count' dir='ltr'>(2)</span>
<ul class='posts'>
<li><a href='http://gangi-java.blogspot.com/2011/01/reluctant-runner.html'>Reluctant runner</a></li>
<li><a href='http://gangi-java.blogspot.com/2011/01/time-tread-softly-please.html'>Time... tread softly please</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/search?updated-min=2010-01-01T00%3A00%3A00%2B05%3A30&updated-max=2011-01-01T00%3A00%3A00%2B05%3A30&max-results=6'>2010</a>
<span class='post-count' dir='ltr'>(6)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2010_12_01_archive.html'>December</a>
<span class='post-count' dir='ltr'>(1)</span>
<ul class='posts'>
<li><a href='http://gangi-java.blogspot.com/2010/12/this-year-not-only.html'>This year.... not only</a></li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2010_06_01_archive.html'>June</a>
<span class='post-count' dir='ltr'>(1)</span>
<ul class='posts'>
<li><a href='http://gangi-java.blogspot.com/2010/06/rendezvous-with-rain.html'>Rendezvous with Rain</a></li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2010_04_01_archive.html'>April</a>
<span class='post-count' dir='ltr'>(1)</span>
<ul class='posts'>
<li><a href='http://gangi-java.blogspot.com/2010/04/taming-prejudices.html'>Taming Prejudices</a></li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2010_03_01_archive.html'>March</a>
<span class='post-count' dir='ltr'>(1)</span>
<ul class='posts'>
<li><a href='http://gangi-java.blogspot.com/2010/03/prayer-of-contented-mind.html'>Prayer of a contented mind</a></li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2010_02_01_archive.html'>February</a>
<span class='post-count' dir='ltr'>(2)</span>
<ul class='posts'>
<li><a href='http://gangi-java.blogspot.com/2010/02/building-on-google-app-engine.html'>Building on Google App Engine</a></li>
<li><a href='http://gangi-java.blogspot.com/2010/02/oye-its-friday.html'>Oye, Its Friday!!</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate expanded'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy toggle-open'>&#9660;&#160;</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/search?updated-min=2009-01-01T00%3A00%3A00%2B05%3A30&updated-max=2010-01-01T00%3A00%3A00%2B05%3A30&max-results=31'>2009</a>
<span class='post-count' dir='ltr'>(31)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2009_12_01_archive.html'>December</a>
<span class='post-count' dir='ltr'>(1)</span>
<ul class='posts'>
<li><a href='http://gangi-java.blogspot.com/2009/12/amnesia-is-live.html'>Amnesia is live!!</a></li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2009_11_01_archive.html'>November</a>
<span class='post-count' dir='ltr'>(2)</span>
<ul class='posts'>
<li><a href='http://gangi-java.blogspot.com/2009/11/new-home-on-web.html'>New Home on Web</a></li>
<li><a href='http://gangi-java.blogspot.com/2009/11/bringing-in-daughter-in-law.html'>Bringing in the Daughter-in-law</a></li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2009_10_01_archive.html'>October</a>
<span class='post-count' dir='ltr'>(3)</span>
<ul class='posts'>
<li><a href='http://gangi-java.blogspot.com/2009/10/how-many-you-have.html'>How many you have?</a></li>
<li><a href='http://gangi-java.blogspot.com/2009/10/relevance-and-reference.html'>Relevance and Reference</a></li>
<li><a href='http://gangi-java.blogspot.com/2009/10/preferences-luck-embarrassments-and.html'>Preferences,  Luck,  Embarrassments and Relief</a></li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2009_09_01_archive.html'>September</a>
<span class='post-count' dir='ltr'>(2)</span>
<ul class='posts'>
<li><a href='http://gangi-java.blogspot.com/2009/09/questions-people-ask-about-open-source.html'>Questions people ask about open source software</a></li>
<li><a href='http://gangi-java.blogspot.com/2009/09/looking-past-immediate-emotion.html'>Looking past the immediate emotion.</a></li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2009_08_01_archive.html'>August</a>
<span class='post-count' dir='ltr'>(1)</span>
<ul class='posts'>
<li><a href='http://gangi-java.blogspot.com/2009/08/accessor-methods-with-side-effects.html'>Accessor methods with side-effects</a></li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2009_07_01_archive.html'>July</a>
<span class='post-count' dir='ltr'>(4)</span>
<ul class='posts'>
<li><a href='http://gangi-java.blogspot.com/2009/07/amazing-abilities.html'>Amazing Abilities</a></li>
<li><a href='http://gangi-java.blogspot.com/2009/07/reduce-guilt-syndrome.html'>&quot;Reduce the Guilt&quot; Syndrome</a></li>
<li><a href='http://gangi-java.blogspot.com/2009/07/optical-illusion.html'>An optical illusion</a></li>
<li><a href='http://gangi-java.blogspot.com/2009/07/there-goes-your-lower-berth.html'>There goes your lower berth!!</a></li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2009_06_01_archive.html'>June</a>
<span class='post-count' dir='ltr'>(1)</span>
<ul class='posts'>
<li><a href='http://gangi-java.blogspot.com/2009/06/gaps-and-vacuums.html'>Gaps and Vacuums</a></li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate expanded'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy toggle-open'>&#9660;&#160;</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2009_05_01_archive.html'>May</a>
<span class='post-count' dir='ltr'>(4)</span>
<ul class='posts'>
<li><a href='http://gangi-java.blogspot.com/2009/05/you-can-gxliterate-on-openofficeorg-now.html'>You can GXLiterate on OpenOffice.org now</a></li>
<li><a href='http://gangi-java.blogspot.com/2009/05/picture-says-it-all.html'>The picture says it all...</a></li>
<li><a href='http://gangi-java.blogspot.com/2009/05/exploring-openofficeorg-api-through.html'>Exploring OpenOffice.org API through MindMaps</a></li>
<li><a href='http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html'>Indic Scripts and Jasper Reports - An Interesting ...</a></li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2009_04_01_archive.html'>April</a>
<span class='post-count' dir='ltr'>(2)</span>
<ul class='posts'>
<li><a href='http://gangi-java.blogspot.com/2009/04/normalize-your-notions.html'>Normalize your notions</a></li>
<li><a href='http://gangi-java.blogspot.com/2009/04/couple-of-cases-of-comforting-calmness.html'>Couple of cases of comforting calmness</a></li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2009_03_01_archive.html'>March</a>
<span class='post-count' dir='ltr'>(1)</span>
<ul class='posts'>
<li><a href='http://gangi-java.blogspot.com/2009/03/door-is-open-but-please-knock.html'>The door is open, but please knock.</a></li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2009_02_01_archive.html'>February</a>
<span class='post-count' dir='ltr'>(6)</span>
<ul class='posts'>
<li><a href='http://gangi-java.blogspot.com/2009/02/i-carry-office-with-me.html'>I carry office with me</a></li>
<li><a href='http://gangi-java.blogspot.com/2009/02/wirwib-is-available.html'>WiRWiB is available</a></li>
<li><a href='http://gangi-java.blogspot.com/2009/02/gmail-search-history.html'>GMail Search History</a></li>
<li><a href='http://gangi-java.blogspot.com/2009/02/millipede-movements.html'>Millipede Mo(ve)ments</a></li>
<li><a href='http://gangi-java.blogspot.com/2009/02/discomforting-designs.html'>(Dis)Comforting Designs</a></li>
<li><a href='http://gangi-java.blogspot.com/2009/02/guide-to-getting-addicted-to-walking.html'>Guide to getting addicted (to walking)</a></li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2009_01_01_archive.html'>January</a>
<span class='post-count' dir='ltr'>(4)</span>
<ul class='posts'>
<li><a href='http://gangi-java.blogspot.com/2009/01/look-at-this-lookatthis.html'>Look at This LookAtThis</a></li>
<li><a href='http://gangi-java.blogspot.com/2009/01/have-you-seen-magmypiccom.html'>Have you seen Magmypic.com</a></li>
<li><a href='http://gangi-java.blogspot.com/2009/01/heavy-heart-heavy-head-and.html'>Heavy heart, Heavy head and an enlightenment</a></li>
<li><a href='http://gangi-java.blogspot.com/2009/01/my-dad-continues-to-live.html'>My dad continues to live...</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/search?updated-min=2008-01-01T00%3A00%3A00%2B05%3A30&updated-max=2009-01-01T00%3A00%3A00%2B05%3A30&max-results=44'>2008</a>
<span class='post-count' dir='ltr'>(44)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2008_12_01_archive.html'>December</a>
<span class='post-count' dir='ltr'>(3)</span>
<ul class='posts'>
<li><a href='http://gangi-java.blogspot.com/2008/12/what-has-changed-after-marriage.html'>What has changed after marriage?</a></li>
<li><a href='http://gangi-java.blogspot.com/2008/12/which-girl-should-i-choose.html'>Which girl should I choose?</a></li>
<li><a href='http://gangi-java.blogspot.com/2008/12/inconvenienced-state-searching.html'>Inconvenienced state, searching solutions...</a></li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2008_10_01_archive.html'>October</a>
<span class='post-count' dir='ltr'>(2)</span>
<ul class='posts'>
<li><a href='http://gangi-java.blogspot.com/2008/10/give-chance-to-goodness.html'>Give a chance to goodness</a></li>
<li><a href='http://gangi-java.blogspot.com/2008/10/gotcha-for-hp-touchsmart-pc.html'>A Gotcha For HP TouchSmart PC and Linux</a></li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2008_09_01_archive.html'>September</a>
<span class='post-count' dir='ltr'>(1)</span>
<ul class='posts'>
<li><a href='http://gangi-java.blogspot.com/2008/09/bloggers-link-it-linkit-at-your.html'>Bloggers .... Link It ( LinkIt ) at your convenien...</a></li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2008_08_01_archive.html'>August</a>
<span class='post-count' dir='ltr'>(6)</span>
<ul class='posts'>
<li><a href='http://gangi-java.blogspot.com/2008/08/no-one-is-myopic-in-hindsight.html'>No one is myopic in hindsight</a></li>
<li><a href='http://gangi-java.blogspot.com/2008/08/b-trees-n-ary-trees-autocracy-and.html'>B-Trees, N-ary Trees, Autocracy and Democracy</a></li>
<li><a href='http://gangi-java.blogspot.com/2008/08/my-morning-walkway.html'>My morning walkway</a></li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2008_07_01_archive.html'>July</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2008_06_01_archive.html'>June</a>
<span class='post-count' dir='ltr'>(2)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2008_05_01_archive.html'>May</a>
<span class='post-count' dir='ltr'>(4)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2008_04_01_archive.html'>April</a>
<span class='post-count' dir='ltr'>(5)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2008_03_01_archive.html'>March</a>
<span class='post-count' dir='ltr'>(7)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2008_02_01_archive.html'>February</a>
<span class='post-count' dir='ltr'>(6)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2008_01_01_archive.html'>January</a>
<span class='post-count' dir='ltr'>(7)</span>
</li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/search?updated-min=2007-01-01T00%3A00%3A00%2B05%3A30&updated-max=2008-01-01T00%3A00%3A00%2B05%3A30&max-results=43'>2007</a>
<span class='post-count' dir='ltr'>(43)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2007_12_01_archive.html'>December</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2007_11_01_archive.html'>November</a>
<span class='post-count' dir='ltr'>(7)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2007_10_01_archive.html'>October</a>
<span class='post-count' dir='ltr'>(7)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2007_09_01_archive.html'>September</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2007_08_01_archive.html'>August</a>
<span class='post-count' dir='ltr'>(2)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2007_07_01_archive.html'>July</a>
<span class='post-count' dir='ltr'>(2)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2007_06_01_archive.html'>June</a>
<span class='post-count' dir='ltr'>(3)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2007_05_01_archive.html'>May</a>
<span class='post-count' dir='ltr'>(4)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2007_04_01_archive.html'>April</a>
<span class='post-count' dir='ltr'>(4)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2007_03_01_archive.html'>March</a>
<span class='post-count' dir='ltr'>(4)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2007_02_01_archive.html'>February</a>
<span class='post-count' dir='ltr'>(5)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2007_01_01_archive.html'>January</a>
<span class='post-count' dir='ltr'>(3)</span>
</li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/search?updated-min=2006-01-01T00%3A00%3A00%2B05%3A30&updated-max=2007-01-01T00%3A00%3A00%2B05%3A30&max-results=50'>2006</a>
<span class='post-count' dir='ltr'>(66)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2006_12_01_archive.html'>December</a>
<span class='post-count' dir='ltr'>(5)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2006_11_01_archive.html'>November</a>
<span class='post-count' dir='ltr'>(5)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2006_10_01_archive.html'>October</a>
<span class='post-count' dir='ltr'>(4)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2006_09_01_archive.html'>September</a>
<span class='post-count' dir='ltr'>(6)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2006_08_01_archive.html'>August</a>
<span class='post-count' dir='ltr'>(8)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2006_07_01_archive.html'>July</a>
<span class='post-count' dir='ltr'>(6)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2006_06_01_archive.html'>June</a>
<span class='post-count' dir='ltr'>(7)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2006_05_01_archive.html'>May</a>
<span class='post-count' dir='ltr'>(6)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2006_04_01_archive.html'>April</a>
<span class='post-count' dir='ltr'>(5)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2006_03_01_archive.html'>March</a>
<span class='post-count' dir='ltr'>(5)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2006_02_01_archive.html'>February</a>
<span class='post-count' dir='ltr'>(4)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2006_01_01_archive.html'>January</a>
<span class='post-count' dir='ltr'>(5)</span>
</li>
</ul>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/search?updated-min=2005-01-01T00%3A00%3A00%2B05%3A30&updated-max=2006-01-01T00%3A00%3A00%2B05%3A30&max-results=50'>2005</a>
<span class='post-count' dir='ltr'>(62)</span>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2005_12_01_archive.html'>December</a>
<span class='post-count' dir='ltr'>(6)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2005_11_01_archive.html'>November</a>
<span class='post-count' dir='ltr'>(9)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2005_10_01_archive.html'>October</a>
<span class='post-count' dir='ltr'>(6)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2005_09_01_archive.html'>September</a>
<span class='post-count' dir='ltr'>(4)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2005_08_01_archive.html'>August</a>
<span class='post-count' dir='ltr'>(10)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2005_07_01_archive.html'>July</a>
<span class='post-count' dir='ltr'>(13)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2005_06_01_archive.html'>June</a>
<span class='post-count' dir='ltr'>(11)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2005_05_01_archive.html'>May</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2005_04_01_archive.html'>April</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
<ul class='hierarchy'>
<li class='archivedate collapsed'>
<a class='toggle' href='javascript:void(0)'>
<span class='zippy'>

          &#9658;&#160;
       
</span>
</a>
<a class='post-count-link' href='http://gangi-java.blogspot.com/2005_02_01_archive.html'>February</a>
<span class='post-count' dir='ltr'>(1)</span>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='http://www.blogger.com/rearrange?blogID=10980468&widgetType=BlogArchive&widgetId=BlogArchive1&action=editWidget&sectionId=sidebar-right-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("BlogArchive1"));' target='configBlogArchive1' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div>
</div><div class='widget Profile' id='Profile1'>
<h2>About Me</h2>
<div class='widget-content'>
<a href='http://www.blogger.com/profile/02211917647850295861'><img alt='My Photo' class='profile-img' height='77' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguPxbuc_QOjmjTOI3rVd_kWvlHPgHJkiDP6FllDnyKcbLOloTwBWlk66Ya0S0QPrYjj0iGDvCoefxe6kNLHGcmRlJ_Jyrz_VSReUcJhZPs4WHwWZzAsIDzPj9cjTxi53eSTAQ-6cGZ/s220/GANGI-JAVA.png' width='80'/></a>
<dl class='profile-datablock'>
<dt class='profile-data'>
<a class='profile-name-link' href='http://www.blogger.com/profile/02211917647850295861' rel='author'>
GANGIREDDY
</a>
</dt>
<dd class='profile-data'>Bangalore, Karnataka, India</dd>
</dl>
<a class='profile-link' href='http://www.blogger.com/profile/02211917647850295861' rel='author'>View my complete profile</a>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='http://www.blogger.com/rearrange?blogID=10980468&widgetType=Profile&widgetId=Profile1&action=editWidget&sectionId=sidebar-right-1' onclick='return _WidgetManager._PopupConfig(document.getElementById("Profile1"));' target='configProfile1' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div>
</div></div>
</aside>
</div>
</div>
</div>
<div style='clear: both'></div>
<!-- columns -->
</div>
<!-- main -->
</div>
</div>
<div class='main-cap-bottom cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
<footer>
<div class='footer-outer'>
<div class='footer-cap-top cap-top'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
<div class='fauxborder-left footer-fauxborder-left'>
<div class='fauxborder-right footer-fauxborder-right'></div>
<div class='region-inner footer-inner'>
<div class='foot section' id='footer-1'></div>
<table border='0' cellpadding='0' cellspacing='0' class='section-columns columns-2'>
<tbody>
<tr>
<td class='first columns-cell'>
<div class='foot section' id='footer-2-1'></div>
</td>
<td class='columns-cell'>
<div class='foot section' id='footer-2-2'></div>
</td>
</tr>
</tbody>
</table>
<!-- outside of the include in order to lock Attribution widget -->
<div class='foot section' id='footer-3'><div class='widget Attribution' id='Attribution1'>
<div class='widget-content' style='text-align: center;'>
&#169; GANGIREDDY. }Travel template. Powered by <a href='http://www.blogger.com' target='_blank'>Blogger</a>.
</div>
<div class='clear'></div>
<span class='widget-item-control'>
<span class='item-control blog-admin'>
<a class='quickedit' href='http://www.blogger.com/rearrange?blogID=10980468&widgetType=Attribution&widgetId=Attribution1&action=editWidget&sectionId=footer-3' onclick='return _WidgetManager._PopupConfig(document.getElementById("Attribution1"));' target='configAttribution1' title='Edit'>
<img alt='' height='18' src='http://img1.blogblog.com/img/icon18_wrench_allbkg.png' width='18'/>
</a>
</span>
</span>
<div class='clear'></div>
</div></div>
</div>
</div>
<div class='footer-cap-bottom cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
</footer>
<!-- content -->
</div>
</div>
<div class='content-cap-bottom cap-bottom'>
<div class='cap-left'></div>
<div class='cap-right'></div>
</div>
</div>
</div>
<script type='text/javascript'>
    window.setTimeout(function() {
        document.body.className = document.body.className.replace('loading', '');
      }, 10);
  </script>
<script type="text/javascript">
if (window.jstiming) window.jstiming.load.tick('widgetJsBefore');
</script><script type="text/javascript" src="http://www.blogger.com/static/v1/widgets/4286431867-widgets.js%22%3E%3C/script>
<script type='text/javascript'>
if (typeof(BLOG_attachCsiOnload) != 'undefined' && BLOG_attachCsiOnload != null) { window['blogger_templates_experiment_id'] = "templatesV2";window['blogger_blog_id'] = '10980468';BLOG_attachCsiOnload('item_'); }_WidgetManager._Init('http://www.blogger.com/rearrange?blogID=10980468','http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html','10980468');
_WidgetManager._SetPageActionUrl('http://www.blogger.com/display?blogID=10980468','APq4FmA1EIFwq8yCaz2aQvJSH7SVT8l-_69E0FxN8-CHKOtjRvlfk84Gindn7FPZzmFm0SgZw7fV1YrCUZXIsyZ4LbjHIXfKjA==','AOuZoY7hRZbWtoq3Nn2g4z1M0y1S60EKdA:1304409202872');
_WidgetManager._SetDataContext([{'name': 'blog', 'data': {'title': 'GANGIREDDY Blogs', 'pageType': 'item', 'url': 'http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html', 'canonicalUrl': 'http://gangi-java.blogspot.com/2009/05/indic-scripts-and-jasper-reports.html', 'homepageUrl': 'http://gangi-java.blogspot.com/', 'faviconUrl': 'http://gangi-java.blogspot.com/favicon.ico', 'enabledCommentProfileImages': true, 'searchLabel': '', 'searchQuery': '', 'pageName': 'Indic Scripts and Jasper Reports - An Interesting episode in Open Source Development', 'pageTitle': 'GANGIREDDY Blogs: Indic Scripts and Jasper Reports - An Interesting episode in Open Source Development', 'encoding': 'UTF-8', 'locale': 'en-IN', 'isPrivate': false, 'isMobile': false, 'mobileClass': '', 'languageDirection': 'ltr', 'feedLinks': '\74link rel\75\42alternate\42 type\75\42application/atom+xml\42 title\75\42GANGIREDDY Blogs - Atom\42 href\75\42http://gangi-java.blogspot.com/feeds/posts/default\42 /\76\n\74link rel\75\42alternate\42 type\75\42application/rss+xml\42 title\75\42GANGIREDDY Blogs - RSS\42 href\75\42http://gangi-java.blogspot.com/feeds/posts/default?alt\75rss\42 /\76\n\74link rel\75\42service.post\42 type\75\42application/atom+xml\42 title\75\42GANGIREDDY Blogs - Atom\42 href\75\42http://www.blogger.com/feeds/10980468/posts/default\42 /\76\n\74link rel\75\42EditURI\42 type\75\42application/rsd+xml\42 title\75\42RSD\42 href\75\42http://www.blogger.com/rsd.g?blogID\07510980468\42 /\76\n\74link rel\75\42alternate\42 type\75\42application/atom+xml\42 title\75\42GANGIREDDY Blogs - Atom\42 href\75\42http://gangi-java.blogspot.com/feeds/3386871857718433333/comments/default\42 /\76\n', 'meTag': '', 'openIdOpTag': '', 'imageSrcTag': '', 'latencyHeadScript': '\74script type\75\42text/javascript\42\76(function() { var a\75window;function c(b){this.t\75{};this.tick\75function(b,i,d){d\75d!\75void 0?d:(new Date).getTime();this.t[b]\75[d,i]};this.tick(\42start\42,null,b)}var e\75new c;a.jstiming\75{Timer:c,load:e};try{var g\75null;a.chrome\46\46a.chrome.csi\46\46(g\75Math.floor(a.chrome.csi().pageT));g\75\75null\46\46a.gtbExternal\46\46(g\75a.gtbExternal.pageT());g\75\75null\46\46a.external\46\46(g\75a.external.pageT);g\46\46(a.jstiming.pt\75g)}catch(h){};a.tickAboveFold\75function(b){var f\0750;if(b.offsetParent){do f+\75b.offsetTop;while(b\75b.offsetParent)}b\75f;b\74\075750\46\46a.jstiming.load.tick(\42aft\42)};var j\75!1;function k(){j||(j\75!0,a.jstiming.load.tick(\42firstScrollTime\42))}a.addEventListener?a.addEventListener(\42scroll\42,k,!1):a.attachEvent(\42onscroll\42,k);\n })();\74/script\076', 'mobileHeadScript': '', 'ieCssRetrofitLinks': '\74!--[if IE]\76\74script type\75\42text/javascript\42 src\75\42http://www.blogger.com/static/v1/jsbin/3271268153-ieretrofit.js\42\76\74/script\76\n\74![endif]--\076'}}]);
_WidgetManager._RegisterWidget('_FollowersView', new _WidgetInfo('Followers1', 'sidebar-right-1', null, document.getElementById('Followers1'), {'title': 'Followers', 'codeSnippet': '\74script type\75\42text/javascript\42\76\n        if (!window.google || !google.friendconnect) {\n          document.write(\47\74script type\75\42text/javascript\42\47 +\n              \47src\75\42http://www.google.com/friendconnect/script/friendconnect.js\42\76\47 +\n              \47\74/scr\47 + \47ipt\76\47);\n        }\n      \74/script\76\n\74script type\75\42text/javascript\42\76\n      if (!window.registeredBloggerCallbacks) {\n        window.registeredBloggerCallbacks \75 true;\n\n        \n\n        \n        gadgets.rpc.register(\47requestReload\47, function() {\n          document.location.reload();\n        });\n\n        \n        gadgets.rpc.register(\47requestSignOut\47, function(siteId) {\n          \n          google.friendconnect.container.openSocialSiteId \75 siteId;\n          google.friendconnect.requestSignOut();\n        });\n      }\n    \74/script\76\n\74script type\75\42text/javascript\42\76\n    \n    function registerGetBlogUrls() {\n      gadgets.rpc.register(\47getBlogUrls\47, function() {\n        var holder \75 {};\n        \n          \n            \n            \n              holder.currentPost \75 \42http://www.blogger.com/feeds/10980468/posts/default/3386871857718433333\42;\n            \n            \n            \n              holder.currentComments \75 \42http://www.blogger.com/feeds/10980468/3386871857718433333/comments/default\42;\n            \n            holder.currentPostUrl \75 \42\42;\n            holder.currentPostId \75 3386871857718433333\n          \n          \n          \n            holder.postFeed \75 \42http://www.blogger.com/feeds/10980468/posts/default\42;\n          \n          \n          \n            holder.commentFeed \75 \42http://www.blogger.com/feeds/10980468/comments/default\42;\n          \n          holder.currentBlogUrl \75 \42http://gangi-java.blogspot.com/\42;\n          holder.currentBlogId \75 \04210980468\42;\n        \n        return holder;\n      });\n    }\n  \74/script\76\n\74script type\75\42text/javascript\42\76\n  if (!window.registeredCommonBloggerCallbacks) {\n    window.registeredCommonBloggerCallbacks \75 true;\n\n    gadgets.rpc.register(\47resize_iframe\47, function(height) {\n      var el \75 document.getElementById(this[\47f\47]);\n      if (el) {\n        el.style.height \75 height + \47px\47;\n      }\n    });\n\n    \n    gadgets.rpc.register(\47set_pref\47, function() {});\n\n    registerGetBlogUrls();\n  }\n  \74/script\76\n\74div id\75\42div-v7sqoqsxaj40\42 style\75\42width: 100%; \42\76\74/div\76\n\74script type\75\42text/javascript\42\76\n    var skin \75 {};\n    skin[\47FACE_SIZE\47] \75 \04732\47;\n    skin[\47HEIGHT\47] \75 \042260\42;\n    skin[\47TITLE\47] \75 \42Followers\42;\n    skin[\47BORDER_COLOR\47] \75 \42transparent\42;\n    skin[\47ENDCAP_BG_COLOR\47] \75 \42transparent\42;\n    skin[\47ENDCAP_TEXT_COLOR\47] \75 \42#000000\42;\n    skin[\47ENDCAP_LINK_COLOR\47] \75 \42#ff9900\42;\n    skin[\47ALTERNATE_BG_COLOR\47] \75 \42transparent\42;\n    \n    skin[\47CONTENT_BG_COLOR\47] \75 \42transparent\42;\n    skin[\47CONTENT_LINK_COLOR\47] \75 \42#ff9900\42;\n    skin[\47CONTENT_TEXT_COLOR\47] \75 \42#000000\42;\n    skin[\47CONTENT_SECONDARY_LINK_COLOR\47] \75 \42#ff9900\42;\n    skin[\47CONTENT_SECONDARY_TEXT_COLOR\47] \75 \42#ffffff\42;\n    skin[\47CONTENT_HEADLINE_COLOR\47] \75 \42#ffffff\42;\n    skin[\47FONT_FACE\47] \75 \42italic normal 16px Cuprum\42;\n    google.friendconnect.container.setParentUrl(\42/\42);\n    google.friendconnect.container[\42renderMembersGadget\42](\n    {id: \42div-v7sqoqsxaj40\42,\n     height: 260,\n     \n     \n     \n     site: \04211607185844542623931\42,\n      \n     locale: \47en_IN\47 },\n     skin);\n  \74/script\076'}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_BlogArchiveView', new _WidgetInfo('BlogArchive1', 'sidebar-right-1', null, document.getElementById('BlogArchive1'), {'languageDirection': 'ltr'}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_ProfileView', new _WidgetInfo('Profile1', 'sidebar-right-1', null, document.getElementById('Profile1'), {}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_AttributionView', new _WidgetInfo('Attribution1', 'footer-3', null, document.getElementById('Attribution1'), {'attribution': '&#169; GANGIREDDY. }Travel template. Powered by \74a href\75\47http://www.blogger.com\47 target\75\47_blank\47\76Blogger\74/a\76.'}, 'displayModeFull'));
_WidgetManager._RegisterWidget('_HeaderView', new _WidgetInfo('Header1', 'header'));
_WidgetManager._RegisterWidget('_NavbarView', new _WidgetInfo('Navbar1', 'navbar'));
_WidgetManager._RegisterWidget('_BlogView', new _WidgetInfo('Blog1', 'main', null, document.getElementById('Blog1'), {'cmtInteractionsEnabled': false, 'showBacklinks': true, 'postId': '3386871857718433333'}, 'displayModeFull'));
</script>
</body>
</html>