• Home
  • Raw
  • Download

Lines Matching refs:norm

325 void Normalizer2DataBuilder::postProcess(Norm &norm) {  in postProcess()  argument
332 if(norm.hasMapping()) { in postProcess()
333 if(norm.mapping->length()>Normalizer2Impl::MAPPING_LENGTH_MASK) { in postProcess()
334 norm.error="mapping longer than maximum of 31"; in postProcess()
339 if(norm.rawMapping!=nullptr) { in postProcess()
340 norms.reorder(*norm.rawMapping, buffer); in postProcess()
343 norms.reorder(*norm.mapping, buffer); in postProcess()
348 norm.leadCC=1; in postProcess()
349 norm.trailCC=0xff; in postProcess()
351 norm.leadCC=buffer.ccAt(0); in postProcess()
352 norm.trailCC=buffer.ccAt(buffer.length()-1); in postProcess()
355 norm.hasCompBoundaryBefore= in postProcess()
356 !buffer.isEmpty() && norm.leadCC==0 && !norms.combinesBack(buffer.charAt(0)); in postProcess()
357 norm.hasCompBoundaryAfter= in postProcess()
358 norm.compositions==nullptr && mappingHasCompBoundaryAfter(buffer, norm.mappingType); in postProcess()
360 if(norm.combinesBack) { in postProcess()
361 norm.error="combines-back and decomposes, not possible in Unicode normalization"; in postProcess()
362 } else if(norm.mappingType==Norm::ROUND_TRIP) { in postProcess()
363 if(norm.compositions!=NULL) { in postProcess()
364 norm.type=Norm::YES_NO_COMBINES_FWD; in postProcess()
366 norm.type=Norm::YES_NO_MAPPING_ONLY; in postProcess()
369 if(norm.compositions!=NULL) { in postProcess()
370 norm.error="combines-forward and has a one-way mapping, " in postProcess()
373 norm.type=Norm::NO_NO_EMPTY; in postProcess()
374 } else if(!norm.hasCompBoundaryBefore) { in postProcess()
375 norm.type=Norm::NO_NO_COMP_NO_MAYBE_CC; in postProcess()
377 norm.type=Norm::NO_NO_COMP_BOUNDARY_BEFORE; in postProcess()
380 norm.type=Norm::NO_NO_COMP_YES; in postProcess()
384 norm.leadCC=norm.trailCC=norm.cc; in postProcess()
386 norm.hasCompBoundaryBefore= in postProcess()
387 norm.cc==0 && !norm.combinesBack; in postProcess()
388 norm.hasCompBoundaryAfter= in postProcess()
389 norm.cc==0 && !norm.combinesBack && norm.compositions==nullptr; in postProcess()
391 if(norm.combinesBack) { in postProcess()
392 if(norm.compositions!=nullptr) { in postProcess()
394 norm.type=Norm::MAYBE_YES_COMBINES_FWD; in postProcess()
396 norm.type=Norm::MAYBE_YES_SIMPLE; // any ccc in postProcess()
398 } else if(norm.compositions!=nullptr) { in postProcess()
400 norm.type=Norm::YES_YES_COMBINES_FWD; in postProcess()
401 } else if(norm.cc!=0) { in postProcess()
402 norm.type=Norm::YES_YES_WITH_CC; in postProcess()
404 norm.type=Norm::INERT; in postProcess()
413 void rangeHandler(UChar32 start, UChar32 end, Norm &norm) U_OVERRIDE { in rangeHandler() argument
414 builder.writeNorm16(norm16Trie, start, end, norm); in rangeHandler()
425 …izer2DataBuilder::writeNorm16(UMutableCPTrie *norm16Trie, UChar32 start, UChar32 end, Norm &norm) { in writeNorm16() argument
426 if((norm.leadCC|norm.trailCC)!=0) { in writeNorm16()
433 switch(norm.type) { in writeNorm16()
438 norm16=norm.offset*2; in writeNorm16()
441 norm16=indexes[Normalizer2Impl::IX_MIN_YES_NO]+norm.offset*2; in writeNorm16()
444 norm16=indexes[Normalizer2Impl::IX_MIN_YES_NO_MAPPINGS_ONLY]+norm.offset*2; in writeNorm16()
447 norm16=indexes[Normalizer2Impl::IX_MIN_NO_NO]+norm.offset*2; in writeNorm16()
450 norm16=indexes[Normalizer2Impl::IX_MIN_NO_NO_COMP_BOUNDARY_BEFORE]+norm.offset*2; in writeNorm16()
453 norm16=indexes[Normalizer2Impl::IX_MIN_NO_NO_COMP_NO_MAYBE_CC]+norm.offset*2; in writeNorm16()
456 norm16=indexes[Normalizer2Impl::IX_MIN_NO_NO_EMPTY]+norm.offset*2; in writeNorm16()
461 int32_t offset=(norm.offset+Normalizer2Impl::MAX_DELTA)<<Normalizer2Impl::DELTA_SHIFT; in writeNorm16()
462 if(norm.trailCC==0) { in writeNorm16()
464 } else if(norm.trailCC==1) { in writeNorm16()
473 norm16=indexes[Normalizer2Impl::IX_MIN_MAYBE_YES]+norm.offset*2; in writeNorm16()
476 norm16=Normalizer2Impl::MIN_NORMAL_MAYBE_YES+norm.cc*2; // ccc=0..255 in writeNorm16()
479 U_ASSERT(norm.cc!=0); in writeNorm16()
480 norm16=Normalizer2Impl::MIN_YES_YES_WITH_CC-2+norm.cc*2; // ccc=1..255 in writeNorm16()
486 if(norm.hasCompBoundaryAfter) { in writeNorm16()
494 (Norm::YES_NO_COMBINES_FWD<=norm.type && norm.type<=Norm::NO_NO_DELTA) || in writeNorm16()
495 norm.cc!=0; in writeNorm16()
499 UBool isCompNoMaybe= norm.type>=Norm::NO_NO_COMP_YES; in writeNorm16()
503 if(norm.leadCC!=0 && start<indexes[Normalizer2Impl::IX_MIN_LCCC_CP]) { in writeNorm16()
940 const Norm *norm; in writeDataFile() local
943 norm = norms.getNorm(c); in writeDataFile()
946 norm = nullptr; in writeDataFile()
951 if(norm == nullptr) { in writeDataFile()
955 type = norm->mappingType; in writeDataFile()
959 mapping = norm->mapping; in writeDataFile()