Ignore:
Timestamp:
May 25, 2006, 4:09:55 PM (16 years ago)
Author:
Eugene Romanenko
Message:

poppler updated to version 0.5.2, also needed changes to be compatible with new poppler

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/poppler/mypoppler/poppler/TextOutputDev.cc

    r2 r27  
    498498  xMin = yMin = 0;
    499499  xMax = yMax = -1;
     500  normalized = NULL;
     501  normalized_len = 0;
     502  normalized_idx = NULL;
    500503}
    501504
     
    511514  gfree(edge);
    512515  gfree(col);
     516  if (normalized) {
     517    gfree(normalized);
     518    gfree(normalized_idx);
     519  }
    513520}
    514521
     
    23762383
    23772384  // sort blocks into xy order for column assignment
     2385  if (blocks)
     2386    gfree (blocks);
    23782387  blocks = (TextBlock **)gmallocn(nBlocks, sizeof(TextBlock *));
    23792388  for (blk = blkList, i = 0; blk; blk = blk->next, ++i) {
     
    25132522  blkArray = (TextBlock **)gmallocn(nBlocks, sizeof(TextBlock *));
    25142523  memcpy(blkArray, blocks, nBlocks * sizeof(TextBlock *));
     2524  while (flows) {
     2525    flow = flows;
     2526    flows = flows->next;
     2527    delete flow;
     2528  }
    25152529  flows = lastFlow = NULL;
    25162530  firstBlkIdx = 0;
     
    26532667  // convert the search string to uppercase
    26542668  if (!caseSensitive) {
    2655     s2 = (Unicode *)gmallocn(len, sizeof(Unicode));
     2669    s2 = unicodeNormalizeNFKC(s, len, &len, NULL);
    26562670    for (i = 0; i < len; ++i) {
    2657       s2[i] = unicodeToUpper(s[i]);
     2671      s2[i] = unicodeToUpper(s2[i]);
    26582672    }
    26592673  } else {
    2660     s2 = s;
     2674    s2 = unicodeNormalizeNFKC(s, len, &len, NULL);
    26612675  }
    26622676
     
    27132727      }
    27142728
     2729      if (!line->normalized)
     2730        line->normalized = unicodeNormalizeNFKC(line->text, line->len,
     2731                                                &line->normalized_len,
     2732                                                &line->normalized_idx);
    27152733      // convert the line to uppercase
    2716       m = line->len;
     2734      m = line->normalized_len;
    27172735      if (!caseSensitive) {
    27182736        if (m > txtSize) {
     
    27212739        }
    27222740        for (k = 0; k < m; ++k) {
    2723           txt[k] = unicodeToUpper(line->text[k]);
     2741          txt[k] = unicodeToUpper(line->normalized[k]);
    27242742          }
    27252743          } else {
    2726         txt = line->text;
     2744        txt = line->normalized;
    27272745          }
    27282746
     
    27432761          switch (line->rot) {
    27442762          case 0:
    2745             xMin1 = line->edge[j];
    2746             xMax1 = line->edge[j + len];
     2763            xMin1 = line->edge[line->normalized_idx[j]];
     2764            xMax1 = line->edge[line->normalized_idx[j + len]];
    27472765            yMin1 = line->yMin;
    27482766            yMax1 = line->yMax;
     
    27512769            xMin1 = line->xMin;
    27522770            xMax1 = line->xMax;
    2753             yMin1 = line->edge[j];
    2754             yMax1 = line->edge[j + len];
     2771            yMin1 = line->edge[line->normalized_idx[j]];
     2772            yMax1 = line->edge[line->normalized_idx[j + len]];
    27552773            break;
    27562774          case 2:
    2757             xMin1 = line->edge[j + len];
    2758             xMax1 = line->edge[j];
     2775            xMin1 = line->edge[line->normalized_idx[j + len]];
     2776            xMax1 = line->edge[line->normalized_idx[j]];
    27592777            yMin1 = line->yMin;
    27602778            yMax1 = line->yMax;
     
    27632781            xMin1 = line->xMin;
    27642782            xMax1 = line->xMax;
    2765             yMin1 = line->edge[j + len];
    2766             yMax1 = line->edge[j];
     2783            yMin1 = line->edge[line->normalized_idx[j + len]];
     2784            yMax1 = line->edge[line->normalized_idx[j]];
    27672785            break;
    27682786          }
     
    28082826    }
    28092827
     2828  gfree(s2);
    28102829  if (!caseSensitive) {
    2811     gfree(s2);
    28122830    gfree(txt);
    28132831  }
     
    33603378  state->setFillColor(glyph_color);
    33613379  out->updateFillColor(state);
     3380  word->font->gfxFont->incRefCnt();
    33623381  state->setFont(word->font->gfxFont, word->fontSize);
    33633382  out->updateFont(state);
     
    33753394 
    33763395  out->endString(state);
     3396
     3397  delete string;
    33773398}
    33783399
Note: See TracChangeset for help on using the changeset viewer.