зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1081858 - Part 3. Implement IsEastAsianWidthFWH using ICU or nsUnicodeProperties data. r=jfkthame
This commit is contained in:
Родитель
3c0597029f
Коммит
62f72040da
|
@ -295,6 +295,11 @@ GetTitlecaseForAll(uint32_t aCh)
|
|||
}
|
||||
return aCh;
|
||||
}
|
||||
|
||||
bool IsEastAsianWidthFWH(uint32_t aCh)
|
||||
{
|
||||
return GetCharProps2(aCh).mEastAsianWidthFWH;
|
||||
}
|
||||
#endif
|
||||
|
||||
#define DEFINE_BMP_1PLANE_MAPPING_GET_FUNC(prefix_) \
|
||||
|
|
|
@ -156,6 +156,22 @@ GetTitlecaseForAll(uint32_t aCh) // maps both UC and LC to titlecase
|
|||
return u_totitle(aCh);
|
||||
}
|
||||
|
||||
inline bool
|
||||
IsEastAsianWidthFWH(uint32_t aCh)
|
||||
{
|
||||
switch (u_getIntPropertyValue(aCh, UCHAR_EAST_ASIAN_WIDTH)) {
|
||||
case U_EA_FULLWIDTH:
|
||||
case U_EA_WIDE:
|
||||
case U_EA_HALFWIDTH:
|
||||
return true;
|
||||
case U_EA_AMBIGUOUS:
|
||||
case U_EA_NARROW:
|
||||
case U_EA_NEUTRAL:
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
#else // not ENABLE_INTL_API
|
||||
|
||||
// Return whether the char has a mirrored-pair counterpart.
|
||||
|
@ -192,6 +208,9 @@ uint32_t GetLowercase(uint32_t aCh);
|
|||
uint32_t GetTitlecaseForLower(uint32_t aCh); // maps LC to titlecase, UC unchanged
|
||||
uint32_t GetTitlecaseForAll(uint32_t aCh); // maps both UC and LC to titlecase
|
||||
|
||||
// Return whether the char has EastAsianWidth class F or W or H.
|
||||
bool IsEastAsianWidthFWH(uint32_t aCh);
|
||||
|
||||
#endif // !ENABLE_INTL_API
|
||||
|
||||
// returns the simplified Gen Category as defined in nsIUGenCategory
|
||||
|
|
Загрузка…
Ссылка в новой задаче