private boolean stringCmpIC(final int caseFlodFlag, final int s1p, final IntHolder ps2, final int mbLen, final int textEnd) { int s1 = s1p; int s2 = ps2.value; final int end1 = s1 + mbLen; while (s1 < end1) { final char c1 = EncodingHelper.toLowerCase(chars[s1++]); final char c2 = EncodingHelper.toLowerCase(chars[s2++]); if (c1 != c2) { return false; } } ps2.value = s2; return true; }
private boolean stringCmpIC(int caseFlodFlag, int s1, IntHolder ps2, int mbLen, int textEnd) { int s2 = ps2.value; int end1 = s1 + mbLen; while (s1 < end1) { char c1 = Character.toLowerCase(chars[s1++]); char c2 = Character.toLowerCase(chars[s2++]); if (c1 != c2) { return false; } } ps2.value = s2; return true; }
public static int[] ctypeCodeRange(final int ctype, final IntHolder sbOut) { sbOut.value = 0x100; // use bitset for codes smaller than 256 int[] range = null; if (ctype < codeRanges.length) { range = codeRanges[ctype]; if (range == null) { // format: [numberOfRanges, rangeStart, rangeEnd, ...] range = new int[16]; int rangeCount = 0; int lastCode = -2; for (int code = 0; code <= 0xffff; code++) { if (isCodeCType(code, ctype)) { if (lastCode < code -1) { if (rangeCount * 2 + 2 >= range.length) { range = Arrays.copyOf(range, range.length * 2); } range[rangeCount * 2 + 1] = code; rangeCount++; } range[rangeCount * 2] = lastCode = code; } } if (rangeCount * 2 + 1 < range.length) { range = Arrays.copyOf(range, rangeCount * 2 + 1); } range[0] = rangeCount; codeRanges[ctype] = range; } } return range; }
public static int[] ctypeCodeRange(int ctype, IntHolder sbOut) { sbOut.value = 0x100; // use bitset for codes smaller than 256 int[] range = null; if (ctype < codeRanges.length) { range = codeRanges[ctype]; if (range == null) { // format: [numberOfRanges, rangeStart, rangeEnd, ...] range = new int[16]; int rangeCount = 0; int lastCode = -2; for (int code = 0; code <= 0xffff; code++) { if (isCodeCType(code, ctype)) { if (lastCode < code -1) { if (rangeCount * 2 + 2 >= range.length) { range = Arrays.copyOf(range, range.length * 2); } range[rangeCount * 2 + 1] = code; rangeCount++; } range[rangeCount * 2] = lastCode = code; } } if (rangeCount * 2 + 1 < range.length) { range = Arrays.copyOf(range, rangeCount * 2 + 1); } range[0] = rangeCount; codeRanges[ctype] = range; } } return range; }
public static int rightAdjustCharHeadWithPrev(final int s, final IntHolder prev) { if (prev != null) { prev.value = -1; /* Sorry */ } return s; }
public static int rightAdjustCharHeadWithPrev(int s, IntHolder prev) { if (prev != null) prev.value = -1; /* Sorry */ return s; }