View | Details | Raw Unified
Collapse All | Expand All

(-) backend/dvi/mdvi-lib/bitmap.c (-4 / +6 lines)
 Lines 125-131    Link Here 
 * hopelessly slow.
 * 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;
	BITMAP	*bm;
	int	i;
	int	i;
 Lines 147-158    Link Here 
	for(i = 0; i < h; i++) {
	for(i = 0; i < h; i++) {
#ifdef WORD_LITTLE_ENDIAN
#ifdef WORD_LITTLE_ENDIAN
		memcpy(unit, curr, bytes);
		memcpy(unit, curr, bytes);
		curr += bytes;
		curr += stride;
#else
#else
		int	j;
		int	j;
		
		
		for(j = 0; j < bytes; curr++, j++)
		for(j = 0; j < bytes; curr++, j++)
			unit[j] = bit_swap[*curr];
			unit[j] = bit_swap[*curr];
		cur += stride - bytes;
#endif
#endif
		memzero(unit + bytes, bm->stride - bytes);
		memzero(unit + bytes, bm->stride - bytes);
		unit  += bm->stride;
		unit  += bm->stride;
 Lines 162-168    Link Here 
	return bm;
	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;
	BITMAP	*bm;
	Uchar	*unit;
	Uchar	*unit;
 Lines 180-188    Link Here 
		
		
		for(j = 0; j < bytes; curr++, j++)
		for(j = 0; j < bytes; curr++, j++)
			unit[j] = bit_swap[*curr];
			unit[j] = bit_swap[*curr];
		curr += stride - bytes;
#else
#else
		memcpy(unit, curr, bytes);
		memcpy(unit, curr, bytes);
		curr += bytes;
		curr += stride;
#endif
#endif
		memzero(unit + bytes, bm->stride - bytes);
		memzero(unit + bytes, bm->stride - bytes);
		unit += bm->stride;
		unit += bm->stride;
(-) backend/dvi/mdvi-lib/bitmap.h (-2 / +2 lines)
 Lines 136-143    Link Here 
extern void bitmap_rotate_counter_clockwise __PROTO((BITMAP *));
extern void bitmap_rotate_counter_clockwise __PROTO((BITMAP *));
extern void bitmap_flip_rotate_clockwise __PROTO((BITMAP *));
extern void bitmap_flip_rotate_clockwise __PROTO((BITMAP *));
extern void bitmap_flip_rotate_counter_clockwise __PROTO((BITMAP *));
extern void bitmap_flip_rotate_counter_clockwise __PROTO((BITMAP *));
extern BITMAP *bitmap_convert_lsb8 __PROTO((Uchar *, int, int));
extern BITMAP *bitmap_convert_lsb8 __PROTO((Uchar *, int, int, int));
extern BITMAP *bitmap_convert_msb8 __PROTO((Uchar *, int, int));
extern BITMAP *bitmap_convert_msb8 __PROTO((Uchar *, int, int, int));
#include <stdio.h>
#include <stdio.h>
extern void	bitmap_print __PROTO((FILE *, BITMAP *));
extern void	bitmap_print __PROTO((FILE *, BITMAP *));
(-) backend/dvi/mdvi-lib/t1.c (-13 / +4 lines)
 Lines 437-461    Link Here 
static inline BITMAP *t1_glyph_bitmap(GLYPH *glyph)
static inline BITMAP *t1_glyph_bitmap(GLYPH *glyph)
{
{
	BITMAP	*bm;
	int	w, h, pad;
	int	w, h;
	
	
	w = GLYPH_WIDTH(glyph);
	w = GLYPH_WIDTH(glyph);
	h = GLYPH_HEIGHT(glyph);
	h = GLYPH_HEIGHT(glyph);
	if(!w || !h)
	if(!w || !h)
		return MDVI_GLYPH_EMPTY;
		return MDVI_GLYPH_EMPTY;
	switch(glyph->bpp << 3) {
		case 8: 
	pad = T1_GetBitmapPad();
			bm = bitmap_convert_lsb8((unsigned char *)glyph->bits, w, h);
	return bitmap_convert_lsb8((unsigned char *)glyph->bits, w, h, ROUND(w, pad) * (pad >> 3));
			break;
		default:
			warning(_("(t1) unsupported bitmap pad size %d\n"),
				glyph->bpp);
			bm = MDVI_GLYPH_EMPTY;
			break;
	}
	return bm;
}
}
static void t1_font_shrink_glyph(DviContext *dvi, DviFont *font, DviFontChar *ch, DviGlyph *dest)
static void t1_font_shrink_glyph(DviContext *dvi, DviFont *font, DviFontChar *ch, DviGlyph *dest)
(-) backend/dvi/mdvi-lib/tt.c (-1 / +1 lines)
 Lines 382-388    Link Here 
	
	
	TT_Translate_Outline(&outline, -bbox.xMin, -bbox.yMin);
	TT_Translate_Outline(&outline, -bbox.xMin, -bbox.yMin);
	TT_Get_Outline_Bitmap(tt_handle, &outline, &raster);
	TT_Get_Outline_Bitmap(tt_handle, &outline, &raster);
	glyph->data = bitmap_convert_msb8(raster.bitmap, w, h);
	glyph->data = bitmap_convert_msb8(raster.bitmap, w, h, ROUND(w, 8));
	TT_Done_Outline(&outline);
	TT_Done_Outline(&outline);
	mdvi_free(raster.bitmap);
	mdvi_free(raster.bitmap);