// Token: 0x06003539 RID: 13625 RVA: 0x000F1060 File Offset: 0x000EF260 private static SelectionWordBreaker.CharClass[] GetClasses(char[] text) { SelectionWordBreaker.CharClass[] array = new SelectionWordBreaker.CharClass[text.Length]; for (int i = 0; i < text.Length; i++) { char c = text[i]; SelectionWordBreaker.CharClass charClass; if (c < 'Ā') { charClass = (SelectionWordBreaker.CharClass)SelectionWordBreaker._latinClasses[(int)c]; } else if (SelectionWordBreaker.IsKorean(c)) { charClass = SelectionWordBreaker.CharClass.Alphanumeric; } else if (SelectionWordBreaker.IsThai(c)) { charClass = SelectionWordBreaker.CharClass.Alphanumeric; } else if (c == '') { charClass = (SelectionWordBreaker.CharClass.Blank | SelectionWordBreaker.CharClass.WBF_BREAKAFTER); } else { ushort[] array2 = new ushort[1]; SafeNativeMethods.GetStringTypeEx(0U, 1U, new char[] { c }, 1, array2); if ((array2[0] & 8) != 0) { if ((array2[0] & 64) != 0) { charClass = (SelectionWordBreaker.CharClass.Blank | SelectionWordBreaker.CharClass.WBF_ISWHITE); } else { charClass = (SelectionWordBreaker.CharClass.WhiteSpace | SelectionWordBreaker.CharClass.WBF_ISWHITE); } } else if ((array2[0] & 16) != 0 && !SelectionWordBreaker.IsDiacriticOrKashida(c)) { charClass = SelectionWordBreaker.CharClass.Punctuation; } else { charClass = SelectionWordBreaker.CharClass.Alphanumeric; } } array[i] = charClass; } return(array); }
// Token: 0x06003537 RID: 13623 RVA: 0x000F0FD4 File Offset: 0x000EF1D4 private static bool IsSameClass(ushort preceedingType3, SelectionWordBreaker.CharClass preceedingClass, ushort followingType3, SelectionWordBreaker.CharClass followingClass) { bool result = false; if (SelectionWordBreaker.IsIdeographicCharType(preceedingType3) && SelectionWordBreaker.IsIdeographicCharType(followingType3)) { ushort num = (preceedingType3 & 496) ^ (followingType3 & 496); result = ((preceedingType3 & 240) != 0 && (num == 0 || num == 128 || num == 32 || num == 160)); } else if (!SelectionWordBreaker.IsIdeographicCharType(preceedingType3) && !SelectionWordBreaker.IsIdeographicCharType(followingType3)) { result = ((preceedingClass & SelectionWordBreaker.CharClass.WBF_CLASS) == (followingClass & SelectionWordBreaker.CharClass.WBF_CLASS)); } return(result); }
// Token: 0x06003538 RID: 13624 RVA: 0x000F104A File Offset: 0x000EF24A private static bool IsWhiteSpace(char ch, SelectionWordBreaker.CharClass charClass) { return((charClass & SelectionWordBreaker.CharClass.WBF_CLASS) == SelectionWordBreaker.CharClass.Blank && ch != ''); }