generated pdf containing the Thai characters on Windows 2008 different form on Win 2003

Jing F Fan <[email protected]> Wed, 12 Nov 2014 17:52:43 +0800
Newsgroups gmane.comp.java.lib.itext.general
Message-ID <OFD9590017.401B93F9-ON48257D8E.00341B30-48257D8E.00366124@cn.ibm.com>
Dear all,
When we used iText to generate pdf containing the Thai characters on Window
7/2008, some characters can't display properly, while on windows 2003,
everything works well.

In windows 2003, the result is:


while in windows 2008, the result is:

Tahoma/Tahomabd used in my code is installed on both Win 2003 and 2008, use
the tahoma.ttf/tahomabd.ttf in windows 2003 replace the ones in win7/win
2008 could resolve the problem on win7/2008.

There is a discussion in which the issue is similar to mine, but I think
the answer could not resolve my problem.
http://itext-general.2136553.n4.nabble.com/Thai-characters-iText-support-td4658747.html

Could you please help confirm it's an iText known issue/limitation or a bug
of Windows? Thanks!

Source code:

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Font;
import com.itextpdf.text.FontFactory;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.ColumnText;
import com.itextpdf.text.pdf.PdfContentByte;
import com.itextpdf.text.pdf.PdfWriter;

public class TestThai {
	public static final String RESULT = "Testthai.pdf";
	public static final String FRAGMENT = "ครั้งที่";


	public static void main(String[] args) {
		float pageWidth = 596.0f;
		float pageHeight = 842.0f;
		Rectangle rect = new Rectangle(pageWidth, pageHeight);
		Document doc = new Document(rect, 0, 0, 0, 0);
		FileOutputStream out = null;
		PdfWriter pdfWriter = null;
		try {

			FontFactory.registerDirectories();

			out = new FileOutputStream(RESULT);
			pdfWriter = PdfWriter.getInstance(doc, out);
			doc.open();

			Font pdfFont = FontFactory.getFont("Tahoma", BaseFont.
IDENTITY_H, false, 22.0f);
			PdfContentByte pdfContentByte =
pdfWriter.getDirectContent();

			float px = 70.0f;
			float py = 80.0f;
			float baselineOffsets = 18.0f;
			float baseline = py + baselineOffsets;

			int runDirection = PdfWriter.RUN_DIRECTION_LTR;

			Phrase phrase = new Phrase(FRAGMENT, pdfFont);
			int alignMethod = PdfContentByte.ALIGN_LEFT;

			ColumnText.showTextAligned(pdfContentByte, alignMethod,
phrase, px, doc.top(baseline), 0f, runDirection, 0);

		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (DocumentException e) {
			e.printStackTrace();
		}
		finally {
			if (doc != null) {
				doc.close();
			}
			if (out != null) {
				try {
					out.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			if (pdfWriter != null) {
			}
		}

	}

}


Best Regards,
Jing Fan
Email: [email protected]

------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk

_______________________________________________
iText-questions mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/itext-questions

iText(R) is a registered trademark of 1T3XT BVBA.
Many questions posted to this list can (and will) be answered with a reference to the iText book: http://www.itextpdf.com/book/
Please check the keywords list before you ask for examples: http://itextpdf.com/themes/keywords.php
30935477.gif (image/gif, 2.3 KB) - not displayed
30562538.gif (image/gif, 2.1 KB) - not displayed