/** * Get the next non-ignorable ASCII character from a property name * and lowercases it. * @return ((advance count for the name)<<8)|character
*/ staticinline int32_t
getASCIIPropertyNameChar(constchar *name) {
int32_t i; char c;
/** * Get the next non-ignorable EBCDIC character from a property name * and lowercases it. * @return ((advance count for the name)<<8)|character
*/ staticinline int32_t
getEBCDICPropertyNameChar(constchar *name) {
int32_t i; char c;
/** * Unicode property names and property value names are compared "loosely". * * UCD.html 4.0.1 says: * For all property names, property value names, and for property values for * Enumerated, Binary, or Catalog properties, use the following * loose matching rule: * * LM3. Ignore case, whitespace, underscore ('_'), and hyphens. * * This function does just that, for (char *) name strings. * It is almost identical to ucnv_compareNames() but also ignores * C0 White_Space characters (U+0009..U+000d, and U+0085 on EBCDIC). * * @internal
*/
int32_t PropNameData::getPropertyValueEnum(int32_t property, constchar *alias) {
int32_t valueMapIndex=findProperty(property); if(valueMapIndex==0) { return UCHAR_INVALID_CODE; // Not a known property.
}
valueMapIndex=valueMaps[valueMapIndex+1]; if(valueMapIndex==0) { return UCHAR_INVALID_CODE; // The property does not have named values.
} // valueMapIndex is the start of the property's valueMap, // where the first word is the BytesTrie offset. return getPropertyOrValueEnum(valueMaps[valueMapIndex], alias);
}
U_NAMESPACE_END
//---------------------------------------------------------------------- // Public API implementation
U_CAPI constchar* U_EXPORT2
u_getPropertyName(UProperty property,
UPropertyNameChoice nameChoice) UPRV_NO_SANITIZE_UNDEFINED { // The nameChoice is really an integer with a couple of named constants. // Unicode allows for names other than short and long ones. // If present, these will be returned for U_LONG_PROPERTY_NAME + i, where i=1, 2,...
U_NAMESPACE_USE return PropNameData::getPropertyName(property, nameChoice);
}
U_CAPI constchar* U_EXPORT2
u_getPropertyValueName(UProperty property,
int32_t value,
UPropertyNameChoice nameChoice) UPRV_NO_SANITIZE_UNDEFINED { // The nameChoice is really an integer with a couple of named constants. // Unicode allows for names other than short and long ones. // If present, these will be returned for U_LONG_PROPERTY_NAME + i, where i=1, 2,...
U_NAMESPACE_USE return PropNameData::getPropertyValueName(property, value, nameChoice);
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.