mirror of
https://github.com/mpv-player/mpv.git
synced 2024-09-20 03:52:22 +02:00
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> git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13680 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
d535890b50
commit
229c7f9c84
@ -1290,6 +1290,11 @@ bold black outline
|
||||
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:
|
||||
|
@ -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},
|
||||
|
@ -33,6 +33,7 @@ char *sub_cp=NULL;
|
||||
#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 @@ subtitle* sub_fribidi (subtitle *sub, int sub_utf8)
|
||||
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);
|
||||
|
@ -59,6 +59,12 @@ typedef struct {
|
||||
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.
|
||||
|
Loading…
Reference in New Issue
Block a user