Mercurial > mplayer.hg
diff libass/ass_font.c @ 22210:4a958bd08920
Select the first charmap in the font, if FreeType did not autoselect any.
This happens, for example, with fonts only having an Apple Roman charmap.
author | eugeni |
---|---|
date | Thu, 15 Feb 2007 22:03:09 +0000 |
parents | 0d8005d2fe5c |
children | 1de2a46a0987 |
line wrap: on
line diff
--- a/libass/ass_font.c Thu Feb 15 21:53:28 2007 +0000 +++ b/libass/ass_font.c Thu Feb 15 22:03:09 2007 +0000 @@ -47,9 +47,19 @@ unsigned eid = cmap->encoding_id; if (pid == 3 /*microsoft*/ && (eid == 1 /*unicode bmp*/ || eid == 10 /*full unicode*/)) { FT_Set_Charmap(face, cmap); - break; + return; } } + + if (!face->charmap) { + if (face->num_charmaps == 0) { + mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_NoCharmaps); + return; + } + mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_NoCharmapAutodetected); + FT_Set_Charmap(face, face->charmaps[0]); + return; + } } /**