Show
Ignore:
Timestamp:
10/23/09 07:43:35 (5 months ago)
Author:
cristy
Message:
 
Files:
1 modified

Legend:

Unmodified
Added
Removed
  • ImageMagick/trunk/coders/braille.c

    r1 r433  
    176176    *value; 
    177177 
     178  int 
     179    unicode = 0, 
     180    iso_11548_1 = 0; 
     181 
    178182  long 
    179183    y; 
     
    196200  unsigned long 
    197201    cell_height = 4; 
    198   int 
    199     unicode = 0, iso_11548_1 = 0; 
    200202 
    201203  /* 
     
    206208  assert(image != (Image *) NULL); 
    207209  assert(image->signature == MagickSignature); 
    208  
    209210  if (LocaleCompare(image_info->magick, "UBRL") == 0) 
    210     unicode = 1; 
     211    unicode=1; 
    211212  else 
    212213    if (LocaleCompare(image_info->magick, "ISOBRL") == 0) 
    213       iso_11548_1 = 1; 
     214      iso_11548_1=1; 
    214215    else 
    215       cell_height = 3; 
    216  
     216      cell_height=3; 
    217217  if (image->debug != MagickFalse) 
    218218    (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); 
     
    220220  if (status == MagickFalse) 
    221221    return(status); 
    222  
    223222  if (!iso_11548_1) 
    224223    { 
     
    230229      if (image->page.x) 
    231230      { 
    232         (void) FormatMagickString(buffer,MaxTextExtent,"X: %ld\n", image->page.x); 
     231        (void) FormatMagickString(buffer,MaxTextExtent,"X: %ld\n", 
     232          image->page.x); 
    233233        (void) WriteBlobString(image,buffer); 
    234234      } 
    235235      if (image->page.y) 
    236236      { 
    237         (void) FormatMagickString(buffer,MaxTextExtent,"Y: %ld\n", image->page.y); 
     237        (void) FormatMagickString(buffer,MaxTextExtent,"Y: %ld\n", 
     238          image->page.y); 
    238239        (void) WriteBlobString(image,buffer); 
    239240      } 
     
    241242        image->columns+(image->columns % 2)); 
    242243      (void) WriteBlobString(image,buffer); 
    243       (void) FormatMagickString(buffer,MaxTextExtent,"Height: %lu\n", image->rows); 
     244      (void) FormatMagickString(buffer,MaxTextExtent,"Height: %lu\n", 
     245        image->rows); 
    244246      (void) WriteBlobString(image,buffer); 
    245  
    246247      (void) WriteBlobString(image,"\n"); 
    247248    } 
    248  
    249249  (void) SetImageType(image,BilevelType); 
    250   polarity=(IndexPacket) (PixelIntensityToQuantum(&image->colormap[0]) >= 
    251     (Quantum) (QuantumRange/2)); 
    252   if (image->colors == 2) 
    253     polarity=(IndexPacket) 
    254       (PixelIntensityToQuantum(&image->colormap[0]) >= 
    255        PixelIntensityToQuantum(&image->colormap[1])); 
     250  if (image->storage_class == PseudoClass) { 
     251    polarity=(IndexPacket) (PixelIntensityToQuantum(&image->colormap[0]) >= 
     252      (Quantum) (QuantumRange/2)); 
     253    if (image->colors == 2) 
     254      polarity=(IndexPacket) 
     255        (PixelIntensityToQuantum(&image->colormap[0]) >= 
     256         PixelIntensityToQuantum(&image->colormap[1])); 
     257    polarity = 0; 
     258  } 
    256259  for (y=0; y < (long) image->rows; y+=cell_height) 
    257260  { 
     
    263266      break; 
    264267    indexes=GetVirtualIndexQueue(image); 
    265  
    266268    for (x=0; x < (long) image->columns; x+=2) 
    267269    { 
     
    271273      do 
    272274      { 
    273 #define do_cell(dx,dy,bit) \ 
    274         cell |= (indexes[x+dx+dy*image->columns]==polarity)<<bit; 
     275#define do_cell(dx,dy,bit) do { \ 
     276        if (image->storage_class == PseudoClass) \ 
     277          cell |= (indexes[x+dx+dy*image->columns] == polarity) << bit; \ 
     278        else \ 
     279          cell |= (p[x+dx+dy*image->columns].green == 0) << bit; \ 
     280} while (0)  
    275281 
    276282        do_cell(0,0,0);