Mercurial > mplayer.hg
changeset 13679:59bb11213d11
correctly display the commas of most hebrew subtitles on the left side
of the sentence with fribidi, make the old behaviour optional
patch by Shachar Raindel <shacharr <at> gmail.com>
author | faust3 |
---|---|
date | Mon, 18 Oct 2004 20:41:06 +0000 |
parents | dc1facd7c7b0 |
children | 326d3bd9dba6 |
files | DOCS/man/en/mplayer.1 cfg-common.h subreader.c subreader.h |
diffstat | 4 files changed, 17 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/DOCS/man/en/mplayer.1 Mon Oct 18 20:30:07 2004 +0000 +++ b/DOCS/man/en/mplayer.1 Mon Oct 18 20:41:06 2004 +0000 @@ -1290,6 +1290,11 @@ Turns on flipping subtitles using FriBiDi. . .TP +.B \-noflip-hebrew-commas +Change FriBiDi's assumptions about the placements of commas in subtitles. +Use this if commas in subtitles are shown at the start of a sentence +instead of at the end. +.TP .B \-font <path\ to\ font.desc\ file> (OSD only) Search for the OSD/\:SUB fonts in an alternative directory (default for normal fonts: ~/\:.mplayer/\:font/\:font.desc, default for FreeType fonts:
--- a/cfg-common.h Mon Oct 18 20:30:07 2004 +0000 +++ b/cfg-common.h Mon Oct 18 20:41:06 2004 +0000 @@ -219,10 +219,14 @@ {"fribidi-charset", &fribidi_charset, CONF_TYPE_STRING, 0, 0, 0, NULL}, {"flip-hebrew", &flip_hebrew, CONF_TYPE_FLAG, 0, 0, 1, NULL}, {"noflip-hebrew", &flip_hebrew, CONF_TYPE_FLAG, 0, 1, 0, NULL}, + {"flip-hebrew-commas", &fribidi_flip_commas, CONF_TYPE_FLAG, 0, 1, 0, NULL}, + {"noflip-hebrew-commas", &fribidi_flip_commas, CONF_TYPE_FLAG, 0, 0, 1, NULL}, #else {"fribidi-charset", "MPlayer was compiled without FriBiDi support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, {"flip-hebrew", "MPlayer was compiled without FriBiDi support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, {"noflip-hebrew", "MPlayer was compiled without FriBiDi support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, + {"flip-hebrew-commas", "MPlayer was compiled without FriBiDi support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, + {"noflip-hebrew-commas", "MPlayer was compiled without FriBiDi support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, #endif #ifdef USE_ICONV {"subcp", &sub_cp, CONF_TYPE_STRING, 0, 0, 0, NULL},
--- a/subreader.c Mon Oct 18 20:30:07 2004 +0000 +++ b/subreader.c Mon Oct 18 20:41:06 2004 +0000 @@ -33,6 +33,7 @@ #include <fribidi/fribidi.h> char *fribidi_charset = NULL; int flip_hebrew = 1; +int fribidi_flip_commas = 0; #endif extern char* dvdsub_lang; @@ -1208,7 +1209,7 @@ break; } len = fribidi_charset_to_unicode (char_set_num, ip, len, logical); - base = FRIBIDI_TYPE_ON; + base = fribidi_flip_commas?FRIBIDI_TYPE_ON:FRIBIDI_TYPE_L; log2vis = fribidi_log2vis (logical, len, &base, /* output */ visual, NULL, NULL, NULL);
--- a/subreader.h Mon Oct 18 20:30:07 2004 +0000 +++ b/subreader.h Mon Oct 18 20:41:06 2004 +0000 @@ -59,6 +59,12 @@ int sub_errs; } sub_data; +#ifdef USE_FRIBIDI +extern char *fribidi_charset; +extern int flip_hebrew; +extern int fribidi_flip_commas; +#endif + sub_data* sub_read_file (char *filename, float pts); subtitle* subcp_recode1 (subtitle *sub); // enca_fd is the file enca uses to determine the codepage.