Home | History | Annotate | Download | only in gennorm2

Lines Matching defs:Norm

98 struct Norm {
176 normMem=utm_open("gennorm2 normalization structs", 10000, 0x110100, sizeof(Norm));
177 norms=allocNorm(); // unused Norm struct at index 0
211 Norm *Normalizer2DataBuilder::allocNorm() {
212 Norm *p=(Norm *)utm_alloc(normMem);
213 norms=(Norm *)utm_getStart(normMem); // in case it got reallocated
217 /* get an existing Norm unit */
218 Norm *Normalizer2DataBuilder::getNorm(UChar32 c) {
226 const Norm &Normalizer2DataBuilder::getNormRef(UChar32 c) const {
231 * get or create a Norm unit;
234 Norm *Normalizer2DataBuilder::createNorm(UChar32 c) {
239 /* allocate Norm */
240 Norm *p=allocNorm();
247 Norm *Normalizer2DataBuilder::checkNormForMapping(Norm *p, UChar32 c) {
249 if(p->mappingType!=Norm::NONE) {
294 Norm *p=checkNormForMapping(createNorm(c), c);
296 p->mappingType=Norm::ONE_WAY;
323 Norm *p=checkNormForMapping(createNorm(c), c);
325 p->mappingType=Norm::ROUND_TRIP;
330 Norm *p=checkNormForMapping(getNorm(c), c);
332 p->mappingType=Norm::REMOVED;
347 if(norms[value].mappingType==Norm::ROUND_TRIP) {
379 Norm *leadNorm=createNorm(lead);
407 UBool Normalizer2DataBuilder::combinesWithCCBetween(const Norm &norm,
411 const CompositionPair *pairs=norm.getCompositionPairs(length);
422 UChar32 Normalizer2DataBuilder::combine(const Norm &norm, UChar32 trail) const {
424 const CompositionPair *pairs=norm.getCompositionPairs(length);
449 Norm &norm=norms[value];
450 const UnicodeString &m=*norm.mapping;
465 const Norm &cNorm=getNormRef(c);
467 if(norm.mappingType==Norm::ROUND_TRIP) {
469 if(cNorm.mappingType!=Norm::ROUND_TRIP) {
509 if(norm.mappingType==Norm::ROUND_TRIP && prev!=0) {
527 if(norm.rawMapping==NULL) {
529 norm.rawMapping=norm.mapping;
531 delete norm.mapping;
533 norm.mapping=decomposed;
534 // Not norm.setMappingCP(); because the original mapping
601 Normalizer2DataBuilder::reorder(Norm *p, BuilderReorderingBuffer &buffer) {
645 const Norm *starterNorm=&getNormRef(starter);
676 int32_t Normalizer2DataBuilder::writeMapping(UChar32 c, const Norm *p, UnicodeString &dataString) {
756 void Normalizer2DataBuilder::writeCompositions(UChar32 c, const Norm *p, UnicodeString &dataString) {
832 Norm *p=norms+value;
858 (writer.maybeYesCompositions.length()<<Norm::OFFSET_SHIFT)|
859 Norm::OFFSET_MAYBE_YES;
865 (writer.yesYesCompositions.length()<<Norm::OFFSET_SHIFT)|
866 Norm::OFFSET_YES_YES;
869 } else if(p->mappingType==Norm::ROUND_TRIP) {
873 p->offset=(offset<<Norm::OFFSET_SHIFT)|Norm::OFFSET_YES_NO_MAPPING_AND_COMPOSITION;
878 p->offset=(offset<<Norm::OFFSET_SHIFT)|Norm::OFFSET_YES_NO_MAPPING_ONLY;
902 p->offset=(delta<<Norm::OFFSET_SHIFT)|Norm::OFFSET_DELTA;
914 p->offset=((previousOffset-1)<<Norm::OFFSET_SHIFT)|Norm::OFFSET_NO_NO;
919 p->offset=(offset<<Norm::OFFSET_SHIFT)|Norm::OFFSET_NO_NO;
936 const Norm *p=norms+value;
937 int32_t offset=p->offset>>Norm::OFFSET_SHIFT;
941 switch(p->offset&Norm::OFFSET_MASK) {
942 case Norm::OFFSET_NONE:
953 case Norm::OFFSET_MAYBE_YES:
957 case Norm::OFFSET_YES_YES:
960 case Norm::OFFSET_YES_NO_MAPPING_AND_COMPOSITION:
964 case Norm::OFFSET_YES_NO_MAPPING_ONLY:
968 case Norm::OFFSET_NO_NO:
972 case Norm::OFFSET_DELTA:
1057 const Norm &norm=norms[i];
1058 if(norm.hasMapping()) {
1059 if(norm.compositions!=NULL) {