类 LzcompCompress
java.lang.Object
com.google.typography.font.tools.conversion.eot.LzcompCompress
Implement LZCOMP compression algorithm as defined in MicroType Express, part of the EOT
draft spec at
}
Java implementation based on http://www.w3.org/Submission/MTX/ reference code
@link 无效
{@link "http://www.w3.org/Submission/MTX/"
- 作者:
- Raph Levien
-
嵌套类概要
嵌套类 -
字段概要
字段修饰符和类型字段说明private static final intprivate BitIOWriterprivate byte[]private static final intprivate static final intprivate static final intprivate HuffmanEncoderprivate intprivate intprivate intprivate intprivate LzcompCompress.HashNode[]private static final intprivate static final intprivate static final intprivate HuffmanEncoderprivate intprivate static final intprivate intprivate intprivate intprivate static final intprivate HuffmanEncoderprivate boolean -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明static byte[]compress(byte[] dataIn) private voidencode()private voidencodeDistance2(int value, int distRanges) private intencodeDistance2Cost(int value, int distRanges) private voidencodeLength(int value, int dist, int numDistRanges) private intencodeLengthCost(int value, int dist, int numDistRanges) (专用程序包) intfindMatch(int index, int[] distOut, int[] gainOut, int[] costPerByteOut) private intgetNumDistRanges(int dist) static int(专用程序包) voidprivate intmakeCopyDecision(int index, int[] bestDist) (专用程序包) voidsetDistRange(int length) private byte[]private voidupdateModel(int index) private voidwrite(byte[] dataIn)
-
字段详细资料
-
MAX_2BYTE_DIST
private static final int MAX_2BYTE_DIST- 另请参阅:
-
DIST_MIN
private static final int DIST_MIN- 另请参阅:
-
DIST_WIDTH
private static final int DIST_WIDTH- 另请参阅:
-
LEN_MIN
private static final int LEN_MIN- 另请参阅:
-
LEN_MIN3
private static final int LEN_MIN3- 另请参阅:
-
LEN_WIDTH
private static final int LEN_WIDTH- 另请参阅:
-
BIT_RANGE
private static final int BIT_RANGE- 另请参阅:
-
PRELOAD_SIZE
private static final int PRELOAD_SIZE- 另请参阅:
-
DEFAULT_MAX_COPY_DIST
private static final int DEFAULT_MAX_COPY_DIST- 另请参阅:
-
bits
-
usingRunLength
private boolean usingRunLength -
length1
private int length1 -
maxCopyDist
private int maxCopyDist -
distEncoder
-
lenEncoder
-
symEncoder
-
numDistRanges
private int numDistRanges -
distMax
private int distMax -
dup2
private int dup2 -
dup4
private int dup4 -
dup6
private int dup6 -
numSyms
private int numSyms -
buf
private byte[] buf -
hashTable
-
-
构造器详细资料
-
LzcompCompress
private LzcompCompress()
-
-
方法详细资料
-
write
private void write(byte[] dataIn) -
setDistRange
void setDistRange(int length) -
encode
private void encode() -
initializeModel
void initializeModel() -
makeCopyDecision
private int makeCopyDecision(int index, int[] bestDist) -
findMatch
int findMatch(int index, int[] distOut, int[] gainOut, int[] costPerByteOut) -
getNumDistRanges
private int getNumDistRanges(int dist) -
encodeLength
private void encodeLength(int value, int dist, int numDistRanges) -
encodeLengthCost
private int encodeLengthCost(int value, int dist, int numDistRanges) -
encodeDistance2
private void encodeDistance2(int value, int distRanges) -
encodeDistance2Cost
private int encodeDistance2Cost(int value, int distRanges) -
updateModel
private void updateModel(int index) -
toByteArray
private byte[] toByteArray() -
compress
public static byte[] compress(byte[] dataIn) -
getPreloadSize
public static int getPreloadSize()
-