Java Code Examples for com.ibm.icu.lang.UProperty#GENERAL_CATEGORY_MASK

The following examples show how to use com.ibm.icu.lang.UProperty#GENERAL_CATEGORY_MASK . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: UCharacterProperty.java    From fitnotifications with Apache License 2.0 5 votes vote down vote up
public int getIntPropertyValue(int c, int which) {
    if(which<UProperty.INT_START) {
        if(UProperty.BINARY_START<=which && which<UProperty.BINARY_LIMIT) {
            return binProps[which].contains(c) ? 1 : 0;
        }
    } else if(which<UProperty.INT_LIMIT) {
        return intProps[which-UProperty.INT_START].getValue(c);
    } else if (which == UProperty.GENERAL_CATEGORY_MASK) {
        return getMask(getType(c));
    }
    return 0; // undefined
}
 
Example 2
Source File: UCharacterProperty.java    From trekarta with GNU General Public License v3.0 5 votes vote down vote up
public int getIntPropertyValue(int c, int which) {
    if(which<UProperty.INT_START) {
        if(UProperty.BINARY_START<=which && which<UProperty.BINARY_LIMIT) {
            return binProps[which].contains(c) ? 1 : 0;
        }
    } else if(which<UProperty.INT_LIMIT) {
        return intProps[which-UProperty.INT_START].getValue(c);
    } else if (which == UProperty.GENERAL_CATEGORY_MASK) {
        return getMask(getType(c));
    }
    return 0; // undefined
}
 
Example 3
Source File: UnicodeData.java    From es6draft with MIT License 5 votes vote down vote up
static Property from(String name) {
    // Don't allow loose matching.
    int property;
    CHECK: try {
        property = UCharacter.getPropertyEnum(name);
        // Filter out synthetic names.
        if (property == UProperty.GENERAL_CATEGORY_MASK) {
            return null;
        }
        String shortName = UCharacter.getPropertyName(property, UProperty.NameChoice.SHORT);
        if (shortName != null && shortName.equals(name)) {
            break CHECK;
        }
        for (int i = 0;; ++i) {
            String longName = UCharacter.getPropertyName(property, UProperty.NameChoice.LONG + i);
            if (longName != null && longName.equals(name)) {
                break CHECK;
            }
        }
    } catch (IllegalArgumentException e) {
        return null;
    }
    if (property >= UProperty.BINARY_START && property < BINARY_PROPERTY_LIMIT) {
        return BinaryProperty.forId(property);
    }
    return EnumProperty.forId(property);
}
 
Example 4
Source File: UnicodeData.java    From es6draft with MIT License 5 votes vote down vote up
static EnumProperty forId(int propertyId) {
    if ((propertyId >= UProperty.INT_START && propertyId < INT_PROPERTY_LIMIT)
            || propertyId == UProperty.GENERAL_CATEGORY_MASK || propertyId == UProperty.SCRIPT_EXTENSIONS) {
        if (propertyId == UProperty.GENERAL_CATEGORY) {
            return General_Category;
        }
        for (EnumProperty e : EnumProperty.values()) {
            if (e.propertyId == propertyId) {
                return e;
            }
        }
    }
    return null;
}
 
Example 5
Source File: UCharacterProperty.java    From fitnotifications with Apache License 2.0 4 votes vote down vote up
public final int getSource(int which) {
    if(which<UProperty.BINARY_START) {
        return SRC_NONE; /* undefined */
    } else if(which<UProperty.BINARY_LIMIT) {
        return binProps[which].getSource();
    } else if(which<UProperty.INT_START) {
        return SRC_NONE; /* undefined */
    } else if(which<UProperty.INT_LIMIT) {
        return intProps[which-UProperty.INT_START].getSource();
    } else if(which<UProperty.STRING_START) {
        switch(which) {
        case UProperty.GENERAL_CATEGORY_MASK:
        case UProperty.NUMERIC_VALUE:
            return SRC_CHAR;

        default:
            return SRC_NONE;
        }
    } else if(which<UProperty.STRING_LIMIT) {
        switch(which) {
        case UProperty.AGE:
            return SRC_PROPSVEC;

        case UProperty.BIDI_MIRRORING_GLYPH:
            return SRC_BIDI;

        case UProperty.CASE_FOLDING:
        case UProperty.LOWERCASE_MAPPING:
        case UProperty.SIMPLE_CASE_FOLDING:
        case UProperty.SIMPLE_LOWERCASE_MAPPING:
        case UProperty.SIMPLE_TITLECASE_MAPPING:
        case UProperty.SIMPLE_UPPERCASE_MAPPING:
        case UProperty.TITLECASE_MAPPING:
        case UProperty.UPPERCASE_MAPPING:
            return SRC_CASE;

        case UProperty.ISO_COMMENT:
        case UProperty.NAME:
        case UProperty.UNICODE_1_NAME:
            return SRC_NAMES;

        default:
            return SRC_NONE;
        }
    } else {
        switch(which) {
        case UProperty.SCRIPT_EXTENSIONS:
            return SRC_PROPSVEC;
        default:
            return SRC_NONE; /* undefined */
        }
    }
}
 
Example 6
Source File: UCharacterProperty.java    From trekarta with GNU General Public License v3.0 4 votes vote down vote up
final int getSource(int which) {
    if(which<UProperty.BINARY_START) {
        return SRC_NONE; /* undefined */
    } else if(which<UProperty.BINARY_LIMIT) {
        return binProps[which].getSource();
    } else if(which<UProperty.INT_START) {
        return SRC_NONE; /* undefined */
    } else if(which<UProperty.INT_LIMIT) {
        return intProps[which-UProperty.INT_START].getSource();
    } else if(which<UProperty.STRING_START) {
        switch(which) {
        case UProperty.GENERAL_CATEGORY_MASK:
        case UProperty.NUMERIC_VALUE:
            return SRC_CHAR;

        default:
            return SRC_NONE;
        }
    } else if(which<UProperty.STRING_LIMIT) {
        switch(which) {
        case UProperty.AGE:
            return SRC_PROPSVEC;

        case UProperty.BIDI_MIRRORING_GLYPH:
            return SRC_BIDI;

        case UProperty.CASE_FOLDING:
        case UProperty.LOWERCASE_MAPPING:
        case UProperty.SIMPLE_CASE_FOLDING:
        case UProperty.SIMPLE_LOWERCASE_MAPPING:
        case UProperty.SIMPLE_TITLECASE_MAPPING:
        case UProperty.SIMPLE_UPPERCASE_MAPPING:
        case UProperty.TITLECASE_MAPPING:
        case UProperty.UPPERCASE_MAPPING:
            return SRC_CASE;

        case UProperty.ISO_COMMENT:
        case UProperty.NAME:
        case UProperty.UNICODE_1_NAME:
            return SRC_NAMES;

        default:
            return SRC_NONE;
        }
    } else {
        switch(which) {
        case UProperty.SCRIPT_EXTENSIONS:
            return SRC_PROPSVEC;
        default:
            return SRC_NONE; /* undefined */
        }
    }
}
 
Example 7
Source File: UnicodeSet.java    From fitnotifications with Apache License 2.0 3 votes vote down vote up
/**
 * Modifies this set to contain those code points which have the
 * given value for the given binary or enumerated property, as
 * returned by UCharacter.getIntPropertyValue.  Prior contents of
 * this set are lost.
 *
 * @param prop a property in the range
 * UProperty.BIN_START..UProperty.BIN_LIMIT-1 or
 * UProperty.INT_START..UProperty.INT_LIMIT-1 or.
 * UProperty.MASK_START..UProperty.MASK_LIMIT-1.
 *
 * @param value a value in the range
 * UCharacter.getIntPropertyMinValue(prop)..
 * UCharacter.getIntPropertyMaxValue(prop), with one exception.
 * If prop is UProperty.GENERAL_CATEGORY_MASK, then value should not be
 * a UCharacter.getType() result, but rather a mask value produced
 * by logically ORing (1 &lt;&lt; UCharacter.getType()) values together.
 * This allows grouped categories such as [:L:] to be represented.
 *
 * @return a reference to this set
 *
 * @stable ICU 2.4
 */
public UnicodeSet applyIntPropertyValue(int prop, int value) {
    checkFrozen();
    if (prop == UProperty.GENERAL_CATEGORY_MASK) {
        applyFilter(new GeneralCategoryMaskFilter(value), UCharacterProperty.SRC_CHAR);
    } else if (prop == UProperty.SCRIPT_EXTENSIONS) {
        applyFilter(new ScriptExtensionsFilter(value), UCharacterProperty.SRC_PROPSVEC);
    } else {
        applyFilter(new IntPropertyFilter(prop, value), UCharacterProperty.INSTANCE.getSource(prop));
    }
    return this;
}