From e3d4468a24a4e7371ebb6d026ca3c02e394d1cf8 Mon Sep 17 00:00:00 2001 From: arpi_esp Date: Sun, 6 May 2001 02:26:17 +0000 Subject: better .smi support and display two-byte characters- patch by Sunjin Yang git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@707 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libvo/sub.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'libvo/sub.c') diff --git a/libvo/sub.c b/libvo/sub.c index 29eb488cc4..d983324eb5 100644 --- a/libvo/sub.c +++ b/libvo/sub.c @@ -104,19 +104,22 @@ void vo_draw_text_sub(int dxs,int dys,void (*draw_alpha)(int x0,int y0, int w,in int x=0; for(j=0;jwidth[text[j]]; - if(w>100) printf("gazvan: %d (%d=%c)\n",w,text[j],text[j]); + int c=text[j]; + int w = vo_font->width[(c<0x80)?c:(c<<8)+text[++j]]; + if(w>100) printf("gazvan: %d (%d=%c)\n",w,c,c); xsize+=w+vo_font->charspace; } //printf("text width = %d\n",xsize); - if(xsize>dxs) printf("Warning! SUB too wide!!! (%d>%d)\n",xsize,dxs); + //if(xsize>dxs) printf("Warning! SUB too wide!!! (%d>%d)\n",xsize,dxs); x=dxs/2-xsize/2; for(j=0;jfont[c]; + int font; + if (c>=0x80) c=(c<<8)+text[++j]; + font = vo_font->font[c]; if(x>=0 && x+vo_font->width[c]=0) draw_alpha(x,y, -- cgit v1.2.3