summaryrefslogtreecommitdiffstats
path: root/libass
diff options
context:
space:
mode:
authoreugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-02-15 22:03:09 +0000
committereugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-02-15 22:03:09 +0000
commit1400b0f4367e01aad5228f3213063a541955f061 (patch)
tree35b2ea36afc09b0717280bcf8078478ca1c6d24e /libass
parent520db0d850aabb8beca14603ee46b067871831a6 (diff)
downloadmpv-1400b0f4367e01aad5228f3213063a541955f061.tar.bz2
mpv-1400b0f4367e01aad5228f3213063a541955f061.tar.xz
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. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22228 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libass')
-rw-r--r--libass/ass_font.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/libass/ass_font.c b/libass/ass_font.c
index 1ae136bc1e..285ecde63a 100644
--- a/libass/ass_font.c
+++ b/libass/ass_font.c
@@ -47,9 +47,19 @@ static void charmap_magic(FT_Face face)
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;
+ }
}
/**