Class PdfEncodings
- java.lang.Object
-
- com.gitlab.pdftk_java.com.lowagie.text.pdf.PdfEncodings
-
public class PdfEncodings extends java.lang.ObjectSupports fast encodings for winansi and PDFDocEncoding. Supports conversions from CJK encodings to CID. Supports custom encodings.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classPdfEncodings.Cp437Conversionprivate static classPdfEncodings.SymbolConversionprivate static classPdfEncodings.SymbolTTConversionprivate static classPdfEncodings.WingdingsConversion
-
Field Summary
Fields Modifier and Type Field Description protected static intCIDCHARprotected static intCIDNONEprotected static intCIDRANGE(package private) static java.util.HashMapcmapsstatic byte[][]CRLF_CID_NEWLINEAssumes that '\\n' and '\\r\\n' are the newline sequences.(package private) static java.util.HashMapextraEncodings(package private) static IntHashtablepdfEncoding(package private) static char[]pdfEncodingByteToChar(package private) static IntHashtablewinansi(package private) static char[]winansiByteToChar
-
Constructor Summary
Constructors Constructor Description PdfEncodings()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidaddExtraEncoding(java.lang.String name, ExtraEncoding enc)Adds an extra encoding.(package private) static voidbreakLong(long n, int size, byte[] seqs)static voidclearCmap(java.lang.String name)Clears the CJK cmaps from the cache.static java.lang.StringconvertCmap(java.lang.String name, byte[] seq)Converts abytearray encoded asnameto a CID string.static java.lang.StringconvertCmap(java.lang.String name, byte[] seq, int start, int length)Converts abytearray encoded asnameto a CID string.static byte[]convertToBytes(java.lang.String text, java.lang.String encoding)Converts aStringto a byte array according to the font's encoding.static java.lang.StringconvertToString(byte[] bytes, java.lang.String encoding)Converts a byte array to aStringaccording to the some encoding.(package private) static java.lang.StringdecodeSequence(byte[] seq, int start, int length, char[][] planes)(package private) static voidencodeSequence(int size, byte[] seqs, char cid, java.util.ArrayList planes)(package private) static voidencodeStream(java.io.InputStream in, java.util.ArrayList planes)static booleanisPdfDocEncoding(java.lang.String text)Checks istextonly has PdfDocEncoding characters.static voidloadCmap(java.lang.String name, byte[][] newline)Loads a CJK cmap to the cache with the option of associating sequences to the newline.(package private) static char[][]readCmap(java.lang.String name, byte[][] newline)(package private) static voidreadCmap(java.lang.String name, java.util.ArrayList planes)
-
-
-
Field Detail
-
CIDNONE
protected static final int CIDNONE
- See Also:
- Constant Field Values
-
CIDRANGE
protected static final int CIDRANGE
- See Also:
- Constant Field Values
-
CIDCHAR
protected static final int CIDCHAR
- See Also:
- Constant Field Values
-
winansiByteToChar
static final char[] winansiByteToChar
-
pdfEncodingByteToChar
static final char[] pdfEncodingByteToChar
-
winansi
static final IntHashtable winansi
-
pdfEncoding
static final IntHashtable pdfEncoding
-
extraEncodings
static final java.util.HashMap extraEncodings
-
cmaps
static final java.util.HashMap cmaps
-
CRLF_CID_NEWLINE
public static final byte[][] CRLF_CID_NEWLINE
Assumes that '\\n' and '\\r\\n' are the newline sequences. It may not work for all CJK encodings. To be used with loadCmap().
-
-
Method Detail
-
convertToBytes
public static final byte[] convertToBytes(java.lang.String text, java.lang.String encoding)Converts aStringto a byte array according to the font's encoding.- Parameters:
encoding- the encoding fo the return byte arraytext- theStringto be converted- Returns:
- an array of
byterepresenting the conversion according to the font's encoding
-
convertToString
public static final java.lang.String convertToString(byte[] bytes, java.lang.String encoding)Converts a byte array to aStringaccording to the some encoding.- Parameters:
bytes- the bytes to convertencoding- the encoding of input bytes- Returns:
- the converted
String
-
isPdfDocEncoding
public static boolean isPdfDocEncoding(java.lang.String text)
Checks istextonly has PdfDocEncoding characters.- Parameters:
text- theStringto test- Returns:
trueif only PdfDocEncoding characters are present
-
clearCmap
public static void clearCmap(java.lang.String name)
Clears the CJK cmaps from the cache. Ifnameis the empty string then all the cache is cleared. Calling this method has no consequences other than the need to reload the cmap if needed.- Parameters:
name- the name of the cmap to clear or all the cmaps if the empty string
-
loadCmap
public static void loadCmap(java.lang.String name, byte[][] newline)Loads a CJK cmap to the cache with the option of associating sequences to the newline.- Parameters:
name- the CJK cmap namenewline- the sequences to be replaced bi a newline in the resulting CID. SeeCRLF_CID_NEWLINE
-
convertCmap
public static java.lang.String convertCmap(java.lang.String name, byte[] seq)Converts abytearray encoded asnameto a CID string. This is needed to reach some CJK characters that don't exist in 16 bit Unicode. The font to use this result must use the encoding "Identity-H" or "Identity-V". See ftp://ftp.oreilly.com/pub/examples/nutshell/cjkv/adobe/.- Parameters:
name- the CJK encoding nameseq- thebytearray to be decoded- Returns:
- the CID string
-
convertCmap
public static java.lang.String convertCmap(java.lang.String name, byte[] seq, int start, int length)Converts abytearray encoded asnameto a CID string. This is needed to reach some CJK characters that don't exist in 16 bit Unicode. The font to use this result must use the encoding "Identity-H" or "Identity-V". See ftp://ftp.oreilly.com/pub/examples/nutshell/cjkv/adobe/.- Parameters:
name- the CJK encoding namestart- the start offset in the datalength- the number of bytes to convertseq- thebytearray to be decoded- Returns:
- the CID string
-
decodeSequence
static java.lang.String decodeSequence(byte[] seq, int start, int length, char[][] planes)
-
readCmap
static char[][] readCmap(java.lang.String name, byte[][] newline) throws java.io.IOException- Throws:
java.io.IOException
-
readCmap
static void readCmap(java.lang.String name, java.util.ArrayList planes) throws java.io.IOException- Throws:
java.io.IOException
-
encodeStream
static void encodeStream(java.io.InputStream in, java.util.ArrayList planes) throws java.io.IOException- Throws:
java.io.IOException
-
breakLong
static void breakLong(long n, int size, byte[] seqs)
-
encodeSequence
static void encodeSequence(int size, byte[] seqs, char cid, java.util.ArrayList planes)
-
addExtraEncoding
public static void addExtraEncoding(java.lang.String name, ExtraEncoding enc)Adds an extra encoding.- Parameters:
name- the name of the encoding. The encoding recognition is case insensitiveenc- the conversion class
-
-