Log in

View Full Version : ass subtitles rendered using fonts not installed on system?


basinilya
19th August 2012, 11:28
Hi Doom9! I'm on windows 7 and have problem playing a video file with ass subtitles with MPC HC 1.6.3.5435 with built-in ass support:
http://i40.fastpic.ru/big/2012/0819/3e/debb01e9f7539a8823da13e21413a03e.jpg
Russian letters displayed as stars.

Same with Windows Media Player+DirectVobSub 2.41.5435


Style: signs,laCartoonerie,52,&H00FFFFFF,&H0000FFFF,&H0010522E,&H00000000,0,0,0,0,100,100,0,0,1,0,0,8,10,10,10,0
...
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:08:58.07,0:09:00.49,signs,Text,0000,0000,0000,,Надпись: спиртное Юки

The font laCartoonerie is not installed. But the star sign seems to be from it. Changing the font name to a non-existing font fixes the problem. So, the players definitely know something about laCartoonerie, although it's not installed.

sneaker_ger
19th August 2012, 15:13
laCartoonerie does net seem to include Cyrillic letters, so if it gets loaded (via mkv attachment for example), these stars get displayed instead. Though usually the renderer should use a different font if the font does not include the desired letters. :confused:

cyberbeing
19th August 2012, 18:06
If it only occurs with this particular font, and not all fonts which don't include Cyrillic glyphs, it's probably a Microsoft bug.

Does it occur if you set your System Locale for Non-Unicode Languages to Russian?


You can usually workaround such issues by setting the style font encoding manually...
Style: signs,laCartoonerie,52,&H00FFFFFF,&H0000FFFF,&H0010522E,&H00000000,0,0,0,0,100,100,0,0,1,0,0,8,10,10,10,204
...or overriding the encoding of the line itself
Dialogue: 0,0:08:58.07,0:09:00.49,signs,Text,0000,0000,0000,,{\fe204}Надпись: спиртное Юки

sneaker_ger
19th August 2012, 18:15
Oh, yes, now I can reproduce it, too. I had the style overridden like in cyberbeing's example, so I didn't see the stars instead of Cyrillic.

basinilya
19th August 2012, 18:18
Thanks, but what bothers me now is: there is no file laCartoonerie.TTF in c:\Windows\Fonts\ . How can it still be used by the players?

sneaker_ger
19th August 2012, 18:19
Mkv file attachment.

basinilya
19th August 2012, 19:02
If it only occurs with this particular font, and not all fonts which don't include Cyrillic glyphs, it's probably a Microsoft bug.

Same for MV Boli. I think the font is valid, because in winword I can't type cyrillic letters with laCartoonerie - the font is switched to Calibri.


Does it occur if you set your System Locale for Non-Unicode Languages to Russian?

yes


You can usually workaround such issues by setting the style font encoding manually...
Style: signs,laCartoonerie,52,&H00FFFFFF,&H0000FFFF,&H0010522E,&H00000000,0,0,0,0,100,100,0,0,1,0,0,8,10,10,10,204

This causes ALL, even Latin letters rendered in different font


...or overriding the encoding of the line itself
Dialogue: 0,0:08:58.07,0:09:00.49,signs,Text,0000,0000,0000,,{\fe204}Надпись: спиртное Юки
This works!
Looks like, without explicit {\fe} mpc cannot mix different fonts within one style. I don't understand it, because the .ass file has UTF-8 encoding, so there should be no need for explicit {\fe}.
I also tried to play the file with mplayer win32. It correctly displays latin letters with laCartoonerie and cyrillic letters with Verdana.

Mkv file attachment.
Many thanks.