DataMatrixPadder.java 888 Bytes
/*
 * Decompiled with CFR 0_118.
 */
package com.adobe.xfa.pmp.datamatrixpmp;

import com.adobe.xfa.pmp.datamatrixpmp.DataMatrixInfo;
import java.util.List;

class DataMatrixPadder {
    DataMatrixPadder() {
    }

    static void addPadding(List<Integer> codeWords, int symbolSize) {
        int paddedCodeWords = DataMatrixInfo.DATA_SYMBOLS[symbolSize] - codeWords.size();
        for (int idx = 0; idx < paddedCodeWords; ++idx) {
            if (idx == 0) {
                codeWords.add(129);
                continue;
            }
            codeWords.add(DataMatrixPadder.getPadding(129, codeWords.size() + 1));
        }
    }

    static int getPadding(int codeWord, int position) {
        int pseudoRandomNumber = 149 * position % 253 + 1;
        int t = codeWord + pseudoRandomNumber;
        if (t <= 254) {
            return t;
        }
        return t - 254;
    }
}