Class ContextualTable<T extends ContextualRule>

    • Method Detail

      • getMatchingContextRule

        public T getMatchingContextRule​(GlyphLine line)
        Gets a most preferable context rule that matches the line at current position. If no matching context rule is found, it returns null.

        NOTE: if matching context rule is found, the GlyphLine.start and GlyphLine.end will be changed in such way that they will point at start and end of the matching context glyph sequence inside the glyph line.
        Parameters:
        line - a line, which is to be checked if it matches some context.
        Returns:
        matching context rule or null, if none was found.
      • getSetOfRulesForStartGlyph

        protected abstract java.util.List<T> getSetOfRulesForStartGlyph​(int startId)
        Gets a set of rules, which start with given glyph id.
        Parameters:
        startId - id of the first glyph in the sequence
        Returns:
        a list of ContextualSubstRule instances. The list will be empty if there are no rules that start with a given glyph id
      • checkIfContextMatch

        protected int checkIfContextMatch​(GlyphLine line,
                                          T rule)
        Checks if given glyph line matches given rule.
        Parameters:
        line - glyph line to be checked
        rule - rule to be compared with a given glyph line
        Returns:
        either index which corresponds to the last glyph of the matching context inside the glyph line if context matches, or -1 if context doesn't match