summaryrefslogtreecommitdiffstats
path: root/libvo/sub.c
diff options
context:
space:
mode:
authoratmosfear <atmosfear@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-05-08 19:40:10 +0000
committeratmosfear <atmosfear@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-05-08 19:40:10 +0000
commitb1d77e6840dfa2343641ccef70b42dfb9a2919da (patch)
tree121223f73e28ed34e6b0914e7c88a3568618c692 /libvo/sub.c
parentd53a450b5e3ba164be193c5716afc871051f9134 (diff)
downloadmpv-b1d77e6840dfa2343641ccef70b42dfb9a2919da.tar.bz2
mpv-b1d77e6840dfa2343641ccef70b42dfb9a2919da.tar.xz
Deal with unicode subs (-unicode -nounicode).
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@727 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo/sub.c')
-rw-r--r--libvo/sub.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libvo/sub.c b/libvo/sub.c
index d983324eb5..8610e27bde 100644
--- a/libvo/sub.c
+++ b/libvo/sub.c
@@ -89,6 +89,7 @@ void vo_draw_text_progbar(int dxs,int dys,void (*draw_alpha)(int x0,int y0, int
}
subtitle* vo_sub=NULL;
+int sub_unicode=0;
void vo_draw_text_sub(int dxs,int dys,void (*draw_alpha)(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride)){
int i;
@@ -105,7 +106,7 @@ void vo_draw_text_sub(int dxs,int dys,void (*draw_alpha)(int x0,int y0, int w,in
for(j=0;j<len;j++){
int c=text[j];
- int w = vo_font->width[(c<0x80)?c:(c<<8)+text[++j]];
+ int w = vo_font->width[sub_unicode?((c<0x80)?c:(c<<8)+text[++j]):c];
if(w>100) printf("gazvan: %d (%d=%c)\n",w,c,c);
xsize+=w+vo_font->charspace;
}
@@ -118,7 +119,7 @@ void vo_draw_text_sub(int dxs,int dys,void (*draw_alpha)(int x0,int y0, int w,in
for(j=0;j<len;j++){
int c=text[j];
int font;
- if (c>=0x80) c=(c<<8)+text[++j];
+ if (sub_unicode && (c>=0x80)) c=(c<<8)+text[++j];
font = vo_font->font[c];
if(x>=0 && x+vo_font->width[c]<dxs)
if(font>=0)