类 LzcompCompress

java.lang.Object
com.google.typography.font.tools.conversion.eot.LzcompCompress

public class LzcompCompress extends Object
Implement LZCOMP compression algorithm as defined in MicroType Express, part of the EOT draft spec at
@link 无效
{@link "http://www.w3.org/Submission/MTX/"
} Java implementation based on http://www.w3.org/Submission/MTX/ reference code
作者:
Raph Levien
  • 字段详细资料

    • 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

      private BitIOWriter bits
    • usingRunLength

      private boolean usingRunLength
    • length1

      private int length1
    • maxCopyDist

      private int maxCopyDist
    • distEncoder

      private HuffmanEncoder distEncoder
    • lenEncoder

      private HuffmanEncoder lenEncoder
    • symEncoder

      private HuffmanEncoder 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

      private LzcompCompress.HashNode[] 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()