Lines Matching full:collation
19 #include "collation.h"
206 CollationKeys::LevelCallback::needToWrite(Collation::Level /*level*/) { return TRUE; }
209 * Map from collation strength (UColAttributeValue)
210 * to a mask of Collation::Level bits up to that strength,
230 Collation::Level minLevel, LevelCallback &callback,
238 levels |= Collation::CASE_LEVEL_FLAG;
273 if(p < variableTop && p > Collation::MERGE_SEPARATOR_PRIMARY) {
287 if((levels & Collation::QUATERNARY_LEVEL_FLAG) != 0) {
302 } while(p < variableTop && p > Collation::MERGE_SEPARATOR_PRIMARY);
308 if(p > Collation::NO_CE_PRIMARY && (levels & Collation::PRIMARY_LEVEL_FLAG) != 0) {
320 if(p1 > Collation::MERGE_SEPARATOR_BYTE) {
321 sink.Append(Collation::PRIMARY_COMPRESSION_LOW_BYTE);
324 sink.Append(Collation::PRIMARY_COMPRESSION_HIGH_BYTE);
353 if((levels & Collation::SECONDARY_LEVEL_FLAG) != 0) {
357 } else if(s == Collation::COMMON_WEIGHT16 &&
359 p != Collation::MERGE_SEPARATOR_PRIMARY)) {
371 if(s < Collation::COMMON_WEIGHT16) {
386 if(prevSecondary < Collation::COMMON_WEIGHT16) {
400 if(0 < p && p <= Collation::MERGE_SEPARATOR_PRIMARY) {
414 secondaries.appendByte(p == Collation::NO_CE_PRIMARY ?
415 Collation::LEVEL_SEPARATOR_BYTE : Collation::MERGE_SEPARATOR_BYTE);
425 if((levels & Collation::CASE_LEVEL_FLAG) != 0) {
434 if((c & 0xc0) == 0 && c > Collation::LEVEL_SEPARATOR_BYTE) {
443 (c > Collation::LEVEL_SEPARATOR_BYTE || !cases.isEmpty())) {
450 if(c <= Collation::LEVEL_SEPARATOR_BYTE) {
458 if(c > Collation::LEVEL_SEPARATOR_BYTE) {
474 if(c > Collation::LEVEL_SEPARATOR_BYTE) {
485 if((levels & Collation::TERTIARY_LEVEL_FLAG) != 0) {
488 if(t == Collation::COMMON_WEIGHT16) {
500 if(t < Collation::COMMON_WEIGHT16) {
508 if(t > Collation::COMMON_WEIGHT16) { t += 0xc000; }
520 if(t < Collation::COMMON_WEIGHT16) {
528 if(t > Collation::COMMON_WEIGHT16) { t += 0x4000; }
544 if(t <= Collation::NO_CE_WEIGHT16) {
576 if((levels & Collation::QUATERNARY_LEVEL_FLAG) != 0) {
578 if((q & 0xc0) == 0 && q > Collation::NO_CE_WEIGHT16) {
580 } else if(q == Collation::NO_CE_WEIGHT16 &&
590 quaternaries.appendByte(Collation::LEVEL_SEPARATOR_BYTE);
592 if(q == Collation::NO_CE_WEIGHT16) {
593 q = Collation::LEVEL_SEPARATOR_BYTE;
616 if((lower32 >> 24) == Collation::LEVEL_SEPARATOR_BYTE) { break; } // ce == NO_CE
623 if((levels & Collation::SECONDARY_LEVEL_FLAG) != 0) {
624 if(!callback.needToWrite(Collation::SECONDARY_LEVEL)) { return; }
626 sink.Append(Collation::LEVEL_SEPARATOR_BYTE);
630 if((levels & Collation::CASE_LEVEL_FLAG) != 0) {
631 if(!callback.needToWrite(Collation::CASE_LEVEL)) { return; }
633 sink.Append(Collation::LEVEL_SEPARATOR_BYTE);
652 if((levels & Collation::TERTIARY_LEVEL_FLAG) != 0) {
653 if(!callback.needToWrite(Collation::TERTIARY_LEVEL)) { return; }
655 sink.Append(Collation::LEVEL_SEPARATOR_BYTE);
659 if((levels & Collation::QUATERNARY_LEVEL_FLAG) != 0) {
660 if(!callback.needToWrite(Collation::QUATERNARY_LEVEL)) { return; }
662 sink.Append(Collation::LEVEL_SEPARATOR_BYTE);