- unsigned int c=0;
- if(len & (sizeof(unsigned int)-1)) {
- Guchar c2=0;
- for(t=0;t<len;t++) {
- c2 |= polypixels[t]&textpixels[t];
- }
- c = c2;
- } else {
- len /= sizeof(unsigned int);
- for(t=0;t<len;t++) {
- c |= (((unsigned int*)polypixels)[t]) & (((unsigned int*)textpixels)[t]);
+ unsigned long long int c=0;
+ assert(sizeof(unsigned long long int)==8);
+ {
+ if((polypixels&7) || (textpixels&7)) {
+ msg("<warning> Non-optimal alignment");
+ }
+ int l2 = len;
+ len /= sizeof(unsigned long long int);
+ c = compare64((unsigned long long int*)polypixels, (unsigned long long int*)textpixels, len);
+ int l1 = len*sizeof(unsigned long long int);
+ for(t=l1;t<l2;t++) {
+ c |= (unsigned long long int)(polypixels[t]&textpixels[t]);
+#if (xpdfMajorVersion*10000 + xpdfMinorVersion*100 + xpdfUpdateVersion) < 30207
+ GfxState*state1 = state->copy();
+ GfxState*state2 = state->copy();
+ state1->setPath(0);
+ state1->setPath(state->getPath()->copy());
+ state2->setPath(0);
+ state2->setPath(state->getPath()->copy());
+#else
boolpolydev->beginTransparencyGroup(state1, bbox, blendingColorSpace, isolated, knockout, forSoftMask);
rgbdev->beginTransparencyGroup(state2, bbox, blendingColorSpace, isolated, knockout, forSoftMask);
clip1dev->beginTransparencyGroup(state, bbox, blendingColorSpace, isolated, knockout, forSoftMask);
boolpolydev->beginTransparencyGroup(state1, bbox, blendingColorSpace, isolated, knockout, forSoftMask);
rgbdev->beginTransparencyGroup(state2, bbox, blendingColorSpace, isolated, knockout, forSoftMask);
clip1dev->beginTransparencyGroup(state, bbox, blendingColorSpace, isolated, knockout, forSoftMask);
+#if (xpdfMajorVersion*10000 + xpdfMinorVersion*100 + xpdfUpdateVersion) < 30207
+ GfxState*state1 = state->copy();
+ GfxState*state2 = state->copy();
+ state1->setPath(0);
+ state1->setPath(state->getPath()->copy());
+ state2->setPath(0);
+ state2->setPath(state->getPath()->copy());
+#else