EuclideanDistanceComputer.java 854 Bytes
/*
 * Decompiled with CFR 0_118.
 */
package com.adobe.internal.pdftoolkit.pdf.content.processor;

import com.adobe.internal.pdftoolkit.pdf.content.processor.DistanceComputer;
import com.adobe.internal.pdftoolkit.pdf.content.processor.FontWidthStore;
import java.util.Set;

class EuclideanDistanceComputer
implements DistanceComputer {
    EuclideanDistanceComputer() {
    }

    public double getDistance(FontWidthStore baseFont, FontWidthStore reference) {
        double distance = 0.0;
        for (Integer unicode : baseFont.getUnicodes()) {
            double baseWidth = baseFont.getWidth(unicode) / 1000.0;
            double refWidth = reference.getWidth(unicode) / 1000.0;
            if (baseWidth == -1.0 || refWidth == -1.0) continue;
            distance += Math.pow(baseWidth - refWidth, 2.0);
        }
        return distance;
    }
}