Skip to main content
Skip table of contents

How to solve an UnsupportedCharsetException when using itext-asian.jar

My Code:

JAVA
public static final String[] tempString =
    { "KozMinPro-Regular.otf", "UniJIS-UCS2-H", pharseString };
bf = BaseFont.createFont(tempString[0], tempString[1], BaseFont.NOT_EMBEDDED);

The exception:

TEXT
java.nio.charset.UnsupportedCharsetException: UniJIS-UCS2-H
        at java.nio.charset.Charset.forName(Unknown Source)
        at com.itextpdf.text.pdf.PdfEncodings.convertToBytes(PdfEncodings.java:186)
        at com.itextpdf.text.pdf.TrueTypeFont.init>(TrueTypeFont.java:376)
        at com.itextpdf.text.pdf.BaseFont.createFont(BaseFont.java:705)
        at com.itextpdf.text.pdf.BaseFont.createFont(BaseFont.java:621)
        at com.itextpdf.text.pdf.BaseFont.createFont(BaseFont.java:456)
        at de.vogella.itext.write.Main.addTextJapanese(Main.java:145)
        at de.vogella.itext.write.Main.addContent(Main.java:134)
        at de.vogella.itext.write.Main.main(Main.java:254)

Posted on StackOverflow on Sep 14, 2014 by Han Kun

In iText 7 and later we create fonts like this:

JAVA
PdfFont font = PdfFontFactory.createFont("KozMinPro-Regular", "UniJIS-UCS2-H", false);

If you want to use CJK fonts (the fonts that are not embedded and require a font pack in Adobe Reader), you should use KozMinPro-Regular (without the otf).

If you have a file named "KozMinPro-Regular.otf", you don't need the font-asian.jar (like itext-asian.jar in iText 5). Just use the font file with an encoding that is supported by that font program.

Click this link if you want to see how to answer this question in iText 5.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.