diff --git a/orders.c b/orders.c index e2ef1f9..00b5394 100644 --- a/orders.c +++ b/orders.c @@ -742,27 +742,7 @@ static void process_fontcache(STREAM s) datasize = (height * ((width + 7) / 8) + 3) & ~3; in_uint8p(s, data, datasize); - /* Need to reverse bit order */ - rev_data = xmalloc(datasize); - - for (j = 0; j < datasize; j++) - { - in = data[j]; - out = 0; - if (in & 1) out |= 128; - if (in & 2) out |= 64; - if (in & 4) out |= 32; - if (in & 8) out |= 16; - if (in & 16) out |= 8; - if (in & 32) out |= 4; - if (in & 64) out |= 2; - if (in & 128) out |= 1; - rev_data[j] = out; - } - - bitmap = ui_create_glyph(width, height, rev_data); - xfree(rev_data); - + bitmap = ui_create_glyph(width, height, data); cache_put_font(font, character, offset, baseline, width, height, bitmap); } diff --git a/xwin.c b/xwin.c index dc2e5ab..799aef3 100644 --- a/xwin.c +++ b/xwin.c @@ -248,6 +248,10 @@ HGLYPH ui_create_glyph(int width, int height, uint8 *data) image = XCreateImage(display, visual, 1, ZPixmap, 0, data, width, height, 8, scanline); + image->byte_order = MSBFirst; + image->bitmap_bit_order = MSBFirst; + XInitImage(image); + XSetFunction(display, gc, GXcopy); XPutImage(display, bitmap, gc, image, 0, 0, 0, 0, width, height); XFree(image);