Home | History | Annotate | Download | only in gennorm2

Lines Matching refs:Norm

100 struct Norm {
179 normMem=utm_open("gennorm2 normalization structs", 10000, 0x110100, sizeof(Norm));
180 norms=allocNorm(); // unused Norm struct at index 0
214 Norm *Normalizer2DataBuilder::allocNorm() {
215 Norm *p=(Norm *)utm_alloc(normMem);
216 norms=(Norm *)utm_getStart(normMem); // in case it got reallocated
220 /* get an existing Norm unit */
221 Norm *Normalizer2DataBuilder::getNorm(UChar32 c) {
229 const Norm &Normalizer2DataBuilder::getNormRef(UChar32 c) const {
234 * get or create a Norm unit;
237 Norm *Normalizer2DataBuilder::createNorm(UChar32 c) {
242 /* allocate Norm */
243 Norm *p=allocNorm();
250 Norm *Normalizer2DataBuilder::checkNormForMapping(Norm *p, UChar32 c) {
252 if(p->mappingType!=Norm::NONE) {
297 Norm *p=checkNormForMapping(createNorm(c), c);
299 p->mappingType=Norm::ONE_WAY;
326 Norm *p=checkNormForMapping(createNorm(c), c);
328 p->mappingType=Norm::ROUND_TRIP;
333 Norm *p=checkNormForMapping(getNorm(c), c);
335 p->mappingType=Norm::REMOVED;
350 if(norms[value].mappingType==Norm::ROUND_TRIP) {
382 Norm *leadNorm=createNorm(lead);
410 UBool Normalizer2DataBuilder::combinesWithCCBetween(const Norm &norm,
414 const CompositionPair *pairs=norm.getCompositionPairs(length);
425 UChar32 Normalizer2DataBuilder::combine(const Norm &norm, UChar32 trail) const {
427 const CompositionPair *pairs=norm.getCompositionPairs(length);
452 Norm &norm=norms[value];
453 const UnicodeString &m=*norm.mapping;
468 const Norm &cNorm=getNormRef(c);
470 if(norm.mappingType==Norm::ROUND_TRIP) {
472 if(cNorm.mappingType!=Norm::ROUND_TRIP) {
512 if(norm.mappingType==Norm::ROUND_TRIP && prev!=0) {
530 if(norm.rawMapping==NULL) {
532 norm.rawMapping=norm.mapping;
534 delete norm.mapping;
536 norm.mapping=decomposed;
537 // Not norm.setMappingCP(); because the original mapping
604 Normalizer2DataBuilder::reorder(Norm *p, BuilderReorderingBuffer &buffer) {
648 const Norm *starterNorm=&getNormRef(starter);
679 int32_t Normalizer2DataBuilder::writeMapping(UChar32 c, const Norm *p, UnicodeString &dataString) {
759 void Normalizer2DataBuilder::writeCompositions(UChar32 c, const Norm *p, UnicodeString &dataString) {
835 Norm *p=norms+value;
861 (writer.maybeYesCompositions.length()<<Norm::OFFSET_SHIFT)|
862 Norm::OFFSET_MAYBE_YES;
868 (writer.yesYesCompositions.length()<<Norm::OFFSET_SHIFT)|
869 Norm::OFFSET_YES_YES;
872 } else if(p->mappingType==Norm::ROUND_TRIP) {
876 p->offset=(offset<<Norm::OFFSET_SHIFT)|Norm::OFFSET_YES_NO_MAPPING_AND_COMPOSITION;
881 p->offset=(offset<<Norm::OFFSET_SHIFT)|Norm::OFFSET_YES_NO_MAPPING_ONLY;
905 p->offset=(delta<<Norm::OFFSET_SHIFT)|Norm::OFFSET_DELTA;
917 p->offset=((previousOffset-1)<<Norm::OFFSET_SHIFT)|Norm::OFFSET_NO_NO;
922 p->offset=(offset<<Norm::OFFSET_SHIFT)|Norm::OFFSET_NO_NO;
939 const Norm *p=norms+value;
940 int32_t offset=p->offset>>Norm::OFFSET_SHIFT;
944 switch(p->offset&Norm::OFFSET_MASK) {
945 case Norm::OFFSET_NONE:
956 case Norm::OFFSET_MAYBE_YES:
960 case Norm::OFFSET_YES_YES:
963 case Norm::OFFSET_YES_NO_MAPPING_AND_COMPOSITION:
967 case Norm::OFFSET_YES_NO_MAPPING_ONLY:
971 case Norm::OFFSET_NO_NO:
975 case Norm::OFFSET_DELTA:
1060 const Norm &norm=norms[i];
1061 if(norm.hasMapping()) {
1062 if(norm.compositions!=NULL) {