From dc921b70a94249212cfb0260e0037a46afc6423f Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Mon, 14 Apr 2008 18:58:00 +0000 Subject: Fix T1 font rendering in dvi backend. Patch by Mattias Nissler. 2008-04-14 Carlos Garcia Campos * backend/dvi/mdvi-lib/bitmap.[ch]: (bitmap_convert_lsb8), (bitmap_convert_msb8): * backend/dvi/mdvi-lib/t1.c: (t1_glyph_bitmap): * backend/dvi/mdvi-lib/tt.c: (tt_get_bitmap): Fix T1 font rendering in dvi backend. Patch by Mattias Nissler. svn path=/trunk/; revision=3006 --- (limited to 'backend/dvi/mdvi-lib/bitmap.c') diff --git a/backend/dvi/mdvi-lib/bitmap.c b/backend/dvi/mdvi-lib/bitmap.c index 0c59820..3b16042 100644 --- a/backend/dvi/mdvi-lib/bitmap.c +++ b/backend/dvi/mdvi-lib/bitmap.c @@ -125,7 +125,7 @@ static Uchar bit_swap[] = { * hopelessly slow. */ -BITMAP *bitmap_convert_lsb8(Uchar *bits, int w, int h) +BITMAP *bitmap_convert_lsb8(Uchar *bits, int w, int h, int stride) { BITMAP *bm; int i; @@ -147,12 +147,13 @@ BITMAP *bitmap_convert_lsb8(Uchar *bits, int w, int h) for(i = 0; i < h; i++) { #ifdef WORD_LITTLE_ENDIAN memcpy(unit, curr, bytes); - curr += bytes; + curr += stride; #else int j; for(j = 0; j < bytes; curr++, j++) unit[j] = bit_swap[*curr]; + cur += stride - bytes; #endif memzero(unit + bytes, bm->stride - bytes); unit += bm->stride; @@ -162,7 +163,7 @@ BITMAP *bitmap_convert_lsb8(Uchar *bits, int w, int h) return bm; } -BITMAP *bitmap_convert_msb8(Uchar *data, int w, int h) +BITMAP *bitmap_convert_msb8(Uchar *data, int w, int h, int stride) { BITMAP *bm; Uchar *unit; @@ -180,9 +181,10 @@ BITMAP *bitmap_convert_msb8(Uchar *data, int w, int h) for(j = 0; j < bytes; curr++, j++) unit[j] = bit_swap[*curr]; + curr += stride - bytes; #else memcpy(unit, curr, bytes); - curr += bytes; + curr += stride; #endif memzero(unit + bytes, bm->stride - bytes); unit += bm->stride; -- cgit v0.9.1