|
jPod PDF library | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.intarsys.pdf.encoding.Encoding
public abstract class Encoding
An Encoding defines the mapping from a codepoint to a character or glyph in the font.
Most fonts use single byte encodings, so shortcut methods are provided in favor of these.
Every font has a built in encoding that can be changed by definen an explicit encoding with a PDFont. This explicit change may be in the form of a "differences" encoding in an explicit dictionary or by means of a named encoding, one of "MacRomanEncoding" or "WinAnsiEncoding".
Composite fonts use a still more complicated technique, based onCMap
instances, defining a mapping from multibyte codepoints to character
selectors.
todo 2 "MacExpertEncoding" is not supported.
If no encoding is found in the font implementation or the font dictionary, "StandardEncoding" is used.
Method Summary | |
---|---|
abstract COSObject |
cosGetObject()
Get an object that can be used as a representation of the receiver encoding within doc . |
static Encoding |
createNamed(COSName name)
"Create" one of the well known encodings. |
Reader |
createReader(InputStream is)
Create a reader on the InputStream is that uses the encoding
defined in the receiver. |
Writer |
createWriter(OutputStream os)
Create a writer on the OutputStream os that uses the
encoding defined in the receiver. |
String |
decode(byte[] bytes)
Decode an array of bytes to characters. |
String |
decode(byte[] bytes,
int offset,
int length)
|
void |
decode(Writer w,
byte[] bytes,
int offset,
int length)
|
byte[] |
encode(char[] value)
Encode an array of characters. |
byte[] |
encode(char[] value,
int offset,
int length)
|
void |
encode(OutputStream bos,
char[] value,
int offset,
int length)
|
byte[] |
encode(String value)
Encode a String . |
abstract int |
getDecoded(int codepoint)
Get the character for the codepoint or -1 if not available. |
int |
getDifferenceDecoded(int codePoint)
|
String |
getDifferenceGlyphName(int codePoint)
|
abstract int |
getEncoded(int character)
Get the codepoint for the the character or -1 if invalid. |
abstract int |
getEncoded(String name)
Get the codepoint for the the named character or -1 if invalid. |
abstract String |
getGlyphName(int codepoint)
Get the character name for a given encoded codepoint. |
abstract String |
getName()
The name of this encoding. |
int |
getNextDecoded(InputStream is)
Get the next decoded character from the input stream. |
int |
getNextEncoded(InputStream is)
The next codepoint from the input stream. |
int |
getValidEncoded(int character)
The codepoint for the character or a valid replacement if invalid. |
int |
getValidEncoded(String name)
The codepoint for the character or a valid replacement if invalid. |
boolean |
isEncodable(char[] chars)
true if chars contains only characters that can
be encoded using this encoding. |
boolean |
isEncodable(char[] chars,
int offset,
int count)
true if chars contains only characters that can
be encoded using this encoding. |
boolean |
isEncodable(String value)
true if value contains only characters that can
be encoded using this encoding. |
boolean |
isFontSpecificEncoding()
Answer true if this encoding is specific to and embedded into the font program itself so that we can not derive any mapping information from here. |
void |
putNextDecoded(OutputStream os,
int character)
Put the next character onto the input stream after encoding. |
void |
putNextEncoded(OutputStream os,
int codepoint)
Put the next codepoint onto the input stream. |
String |
toString()
|
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final COSName CN_MacRomanEncoding
public static final COSName CN_StandardEncoding
public static final COSName CN_WinAnsiEncoding
public static final String NAME_a
public static final String NAME_A
public static final String NAME_aacute
public static final String NAME_Aacute
public static final String NAME_acircumflex
public static final String NAME_Acircumflex
public static final String NAME_acute
public static final String NAME_adieresis
public static final String NAME_Adieresis
public static final String NAME_ae
public static final String NAME_AE
public static final String NAME_agrave
public static final String NAME_Agrave
public static final String NAME_ampersand
public static final String NAME_aring
public static final String NAME_Aring
public static final String NAME_asciicircum
public static final String NAME_asciitilde
public static final String NAME_asterisk
public static final String NAME_at
public static final String NAME_atilde
public static final String NAME_Atilde
public static final String NAME_b
public static final String NAME_B
public static final String NAME_backslash
public static final String NAME_bar
public static final String NAME_braceleft
public static final String NAME_braceright
public static final String NAME_bracketleft
public static final String NAME_bracketright
public static final String NAME_breve
public static final String NAME_brokenbar
public static final String NAME_bullet
public static final String NAME_c
public static final String NAME_C
public static final String NAME_caron
public static final String NAME_ccedilla
public static final String NAME_Ccedilla
public static final String NAME_cedilla
public static final String NAME_cent
public static final String NAME_circumflex
public static final String NAME_colon
public static final String NAME_comma
public static final String NAME_copyright
public static final String NAME_currency
public static final String NAME_d
public static final String NAME_D
public static final String NAME_dagger
public static final String NAME_daggerdbl
public static final String NAME_degree
public static final String NAME_dieresis
public static final String NAME_divide
public static final String NAME_dollar
public static final String NAME_dotaccent
public static final String NAME_dotlessi
public static final String NAME_e
public static final String NAME_E
public static final String NAME_eacute
public static final String NAME_Eacute
public static final String NAME_ecircumflex
public static final String NAME_Ecircumflex
public static final String NAME_edieresis
public static final String NAME_Edieresis
public static final String NAME_egrave
public static final String NAME_Egrave
public static final String NAME_eight
public static final String NAME_ellipsis
public static final String NAME_emdash
public static final String NAME_endash
public static final String NAME_equal
public static final String NAME_eth
public static final String NAME_Eth
public static final String NAME_Euro
public static final String NAME_exclam
public static final String NAME_exclamdown
public static final String NAME_f
public static final String NAME_F
public static final String NAME_fi
public static final String NAME_five
public static final String NAME_fl
public static final String NAME_florin
public static final String NAME_four
public static final String NAME_fraction
public static final String NAME_g
public static final String NAME_G
public static final String NAME_germandbls
public static final String NAME_grave
public static final String NAME_greater
public static final String NAME_guillemotleft
public static final String NAME_guillemotright
public static final String NAME_guilsinglleft
public static final String NAME_guilsinglright
public static final String NAME_h
public static final String NAME_H
public static final String NAME_hungarumlaut
public static final String NAME_hyphen
public static final String NAME_i
public static final String NAME_I
public static final String NAME_iacute
public static final String NAME_Iacute
public static final String NAME_icircumflex
public static final String NAME_Icircumflex
public static final String NAME_idieresis
public static final String NAME_Idieresis
public static final String NAME_igrave
public static final String NAME_Igrave
public static final String NAME_j
public static final String NAME_J
public static final String NAME_k
public static final String NAME_K
public static final String NAME_l
public static final String NAME_L
public static final String NAME_less
public static final String NAME_logicalnot
public static final String NAME_lslash
public static final String NAME_Lslash
public static final String NAME_m
public static final String NAME_M
public static final String NAME_macron
public static final String NAME_minus
public static final String NAME_mu
public static final String NAME_multiply
public static final String NAME_n
public static final String NAME_N
public static final String NAME_nine
public static final String NAME_ntilde
public static final String NAME_Ntilde
public static final String NAME_numbersign
public static final String NAME_o
public static final String NAME_O
public static final String NAME_oacute
public static final String NAME_Oacute
public static final String NAME_ocircumflex
public static final String NAME_Ocircumflex
public static final String NAME_odieresis
public static final String NAME_Odieresis
public static final String NAME_oe
public static final String NAME_OE
public static final String NAME_ogonek
public static final String NAME_ograve
public static final String NAME_Ograve
public static final String NAME_one
public static final String NAME_onehalf
public static final String NAME_onequarter
public static final String NAME_onesuperior
public static final String NAME_ordfeminine
public static final String NAME_ordmasculine
public static final String NAME_oslash
public static final String NAME_Oslash
public static final String NAME_otilde
public static final String NAME_Otilde
public static final String NAME_p
public static final String NAME_P
public static final String NAME_paragraph
public static final String NAME_parenleft
public static final String NAME_parenright
public static final String NAME_percent
public static final String NAME_period
public static final String NAME_periodcentered
public static final String NAME_perthousand
public static final String NAME_plus
public static final String NAME_plusminus
public static final String NAME_q
public static final String NAME_Q
public static final String NAME_question
public static final String NAME_questiondown
public static final String NAME_quotedbl
public static final String NAME_quotedblbase
public static final String NAME_quotedblleft
public static final String NAME_quotedblright
public static final String NAME_quoteleft
public static final String NAME_quoteright
public static final String NAME_quotesinglbase
public static final String NAME_quotesingle
public static final String NAME_r
public static final String NAME_R
public static final String NAME_registered
public static final String NAME_ring
public static final String NAME_s
public static final String NAME_S
public static final String NAME_scaron
public static final String NAME_Scaron
public static final String NAME_section
public static final String NAME_semicolon
public static final String NAME_seven
public static final String NAME_six
public static final String NAME_slash
public static final String NAME_space
public static final String NAME_sterling
public static final String NAME_t
public static final String NAME_T
public static final String NAME_thorn
public static final String NAME_Thorn
public static final String NAME_three
public static final String NAME_threequarters
public static final String NAME_threesuperior
public static final String NAME_tilde
public static final String NAME_trademark
public static final String NAME_two
public static final String NAME_twosuperior
public static final String NAME_u
public static final String NAME_U
public static final String NAME_uacute
public static final String NAME_Uacute
public static final String NAME_ucircumflex
public static final String NAME_Ucircumflex
public static final String NAME_udieresis
public static final String NAME_Udieresis
public static final String NAME_ugrave
public static final String NAME_Ugrave
public static final String NAME_underscore
public static final String NAME_v
public static final String NAME_V
public static final String NAME_w
public static final String NAME_W
public static final String NAME_x
public static final String NAME_X
public static final String NAME_y
public static final String NAME_Y
public static final String NAME_yacute
public static final String NAME_Yacute
public static final String NAME_ydieresis
public static final String NAME_Ydieresis
public static final String NAME_yen
public static final String NAME_z
public static final String NAME_Z
public static final String NAME_zcaron
public static final String NAME_Zcaron
public static final String NAME_zero
Method Detail |
---|
public static Encoding createNamed(COSName name)
name
- The name of the encoding to create.
IllegalArgumentException
- When the encoding is not supported.public abstract COSObject cosGetObject()
doc
.
doc
.public Reader createReader(InputStream is)
is
that uses the encoding
defined in the receiver.
is
- The input stream to read.
is
that uses the
encoding defined in the receiver.public Writer createWriter(OutputStream os)
os
that uses the
encoding defined in the receiver.
os
- The output stream to be written.
os
that uses the
encoding defined in the receiver.public String decode(byte[] bytes)
bytes
-
String
.public String decode(byte[] bytes, int offset, int length)
public void decode(Writer w, byte[] bytes, int offset, int length)
public byte[] encode(char[] value)
value
-
public byte[] encode(char[] value, int offset, int length)
public void encode(OutputStream bos, char[] value, int offset, int length)
public byte[] encode(String value)
String
.
value
- The string to be encoded
String
.public abstract int getDecoded(int codepoint)
codepoint
- The codepoint
public int getDifferenceDecoded(int codePoint)
public String getDifferenceGlyphName(int codePoint)
public abstract int getEncoded(int character)
character
- The character to look up.
public abstract int getEncoded(String name)
name
- The character name to look up.
public abstract String getGlyphName(int codepoint)
codepoint
- The encoded codepoint.
codepoint
or ".notdef".public abstract String getName()
public int getNextDecoded(InputStream is) throws IOException
is
- The input stream with encoded data.
IOException
public int getNextEncoded(InputStream is) throws IOException
is
- The input stream with encoded data.
IOException
public int getValidEncoded(int character)
character
- The character to look up.
public int getValidEncoded(String name)
name
- The glyph name.
public boolean isEncodable(char[] chars)
true
if chars
contains only characters that can
be encoded using this encoding.
chars
- The array of characters
true
if chars
contains only characters
that can be encoded using this encoding.public boolean isEncodable(char[] chars, int offset, int count)
true
if chars
contains only characters that can
be encoded using this encoding.
chars
- The array of characters
true
if chars
contains only characters
that can be encoded using this encoding.public boolean isEncodable(String value)
true
if value
contains only characters that can
be encoded using this encoding.
value
- The string value to be checked
true
if value
contains only characters
that can be encoded using this encoding.public boolean isFontSpecificEncoding()
public void putNextDecoded(OutputStream os, int character) throws IOException
os
- The stream to write the bytes.character
- The character to be encoded.
IOException
public void putNextEncoded(OutputStream os, int codepoint) throws IOException
os
- The stream to write the bytes.codepoint
- The codepoint.
IOException
public String toString()
toString
in class Object
|
jPod PDF library | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |