GujaratiFormatter.java 2.51 KB
/*
 * Decompiled with CFR 0_118.
 */
package com.adobe.fontengine.inlineformatting.infontformatting;

import com.adobe.fontengine.inlineformatting.AttributedRun;
import com.adobe.fontengine.inlineformatting.infontformatting.IndicFormatter;

public class GujaratiFormatter
extends IndicFormatter {
    protected int splitVowelsAndNormalize(AttributedRun run, int start, int limit) {
        return limit;
    }

    protected int nukta() {
        return 2748;
    }

    protected int virama() {
        return 2765;
    }

    protected boolean isConsonant(int usv) {
        return 2709 <= usv && usv <= 2745 || 2784 <= usv && usv <= 2785 || 2544 <= usv && usv <= 2544 || 9676 == usv;
    }

    protected boolean hasNukta(int usv) {
        return false;
    }

    protected int removeNukta(int usv) {
        return usv;
    }

    protected boolean isMark(int usv) {
        return 2750 <= usv && usv <= 2764 || 2786 <= usv && usv <= 2787 || 2689 <= usv && usv <= 2691;
    }

    protected boolean isIndependentVowel(int usv) {
        return 2693 <= usv && usv <= 2708 || 2784 <= usv && usv <= 2785 || 9676 == usv;
    }

    protected IndicFormatter.Position getPosition(int usv) {
        switch (usv) {
            case 2751: {
                return IndicFormatter.Position.left;
            }
            case 2757: 
            case 2759: 
            case 2760: {
                return IndicFormatter.Position.topMatra;
            }
            case 2689: 
            case 2690: {
                return IndicFormatter.Position.topOther;
            }
            case 2753: 
            case 2754: 
            case 2755: 
            case 2756: 
            case 2786: 
            case 2787: {
                return IndicFormatter.Position.bottom;
            }
            case 2750: 
            case 2752: 
            case 2761: 
            case 2763: 
            case 2764: {
                return IndicFormatter.Position.rightMatra;
            }
            case 2691: {
                return IndicFormatter.Position.rightOther;
            }
        }
        return IndicFormatter.Position.any;
    }

    protected IndicFormatter.Shape rephLike(int usv) {
        if (2736 == usv) {
            return IndicFormatter.Shape.rephCons;
        }
        return IndicFormatter.Shape.any;
    }

    protected boolean subjoins(int usv) {
        return usv == 2736;
    }

    protected boolean postjoins(int usv) {
        return false;
    }

    protected boolean postjoinsIndependentVowels(int usv) {
        return false;
    }
}