title: How to give tamil word docx to java to make PDF
body: <p>I am using xDoc report to generate PDF by giving the docx file as input. everything is fine when I used English docx file, when I used my other language docx file I couldn't get the pdf as readable. </p>
  
  <p>here is my code..</p>
  
  <pre><code>        File fil = new File(
                  "/home/madurauser/analyzer/LOS/DocxProjectWithVelocity1.docx");
  
          FileInputStream in = new FileInputStream(fil);
          IXDocReport report = XDocReportRegistry.getRegistry().loadReport(
                  in, TemplateEngineKind.Velocity);
  
          FieldsMetadata metadata = new FieldsMetadata();
          metadata.addFieldAsList("developers.Inst");
          metadata.addFieldAsList("developers.MBalance");
          metadata.addFieldAsList("developers.MDemand");
          metadata.addFieldAsList("developers.MInterest");
          metadata.addFieldAsList("developers.MPrincipal");
          metadata.addFieldAsList("developers.GBalance");
          metadata.addFieldAsList("developers.GDemand");
          metadata.addFieldAsList("developers.GInterest");
          metadata.addFieldAsList("developers.GPrincipal");
          metadata.addFieldAsList("developers.Members");
          metadata.addFieldAsList("developers.Month");
          report.setFieldsMetadata(metadata);
  
          IContext context = report.createContext();
          List&lt;Developer&gt; developers = new ArrayList&lt;Developer&gt;();
          List&lt;LoanRepaymentSchedule&gt; repay = this.loanService
                  .getLoanRepaymentScheduleById(groupLoan.getLoanId()
                          .longValue());
  
          LoanRepaymentSchedule rep = repay.get(repay.size() - 1);
  
          Project project = new Project(lt, loan.getGroupName(),
                  lastFiveDigitsAccNo, groupDto.getVillageName(),
                  groupDto.getCluster(), groupDto.getClusterCentre(),
                  groupDto.getRegion(), intLoanAmount, loan.getLoanAccNo(),
                  Long.valueOf(loan.getLoanInstallments()),
                  loan.getGroupId(), decIntRate, loan.getAnimator(),
                  loan.getRep1(), loan.getRep2(), noOfDays, brokenPeriod,
                  sanctionDate, lastFiveDigitsAccNo, strSancDate,
                  rep.getMemberCount());
          context.put("project", project);
          for (Iterator iterator = repay.iterator(); iterator.hasNext();) {
  
              LoanRepaymentSchedule loanRepaymentSchedule = (LoanRepaymentSchedule) iterator
                      .next();
              String month;
              Integer year = loanRepaymentSchedule.getYear();
              Integer formattedDate = year % 100;
  
              developers.add(new Developer(intgBal, intgDem, intgInt,
                      intgPri, intmBal, intmDem, intmInt, intmPri, month,
                      loanRepaymentSchedule.getMemberCount(),
                      loanRepaymentSchedule.getMemberCount(),
                      loanRepaymentSchedule.getSerialNo()));
              context.put("developers", developers);
  
          }
  
          // OutputStream out = new FileOutputStream(new File(conv+".pdf"));
          OutputStream out = new FileOutputStream(new File(files + "_" + groupID
                  + ".pdf"));
          Options options = Options.getTo(ConverterTypeTo.PDF).via(
                  ConverterTypeVia.XWPF);
          report.convert(context, options, out);
  </code></pre>
  
  <p>This is my tamil font docx and gave as a input</p>
  
  <p><img src="https://i.stack.imgur.com/EupJ1.png" alt="enter image description here"></p>
  
  <p>The generated output looks like below.
  <img src="https://i.stack.imgur.com/zygqV.png" alt="enter image description here"></p>
  
  <p>Any ideas in this would be appreciated.</p>