[fixed] No cyryllic characters in the EPG in 1.8.pre (1 Viewer)

agold

Portal Member
September 6, 2009
16
10
Hi there,
after upgrading to 1.8.pre, my MP lost cyrillic characters in the EPG.
I checked in the mysql - program data is good.

uploading support file, screenshot from MP and from mysql

What's may be wrong?

Thanks,
Andrey
 

Attachments

  • sql.jpg
    sql.jpg
    490.3 KB
  • mp.jpg
    mp.jpg
    339.9 KB

Sebastiii

Development Group
  • Team MediaPortal
  • November 12, 2007
    16,583
    10,403
    France
    Home Country
    France France
    Hi :)
    Thanks for your log

    [2014-06-03 15:05:40,278] [Log ] [MPMain ] [DEBUG] - GUIFont: remaining high order char = 'Х', TypeCode = '1061'
    [2014-06-03 15:05:40,278] [Log ] [MPMain ] [DEBUG] - GUIFont: remaining high order char = 'Ф', TypeCode = '1060'
    [2014-06-03 15:05:40,278] [Log ] [MPMain ] [DEBUG] - GUIFont: remaining high order char = 'а', TypeCode = '1072'
    [2014-06-03 15:05:40,279] [Log ] [MPMain ] [DEBUG] - GUIFont: remaining high order char = 'к', TypeCode = '1082'
    [2014-06-03 15:05:40,279] [Log ] [MPMain ] [DEBUG] - GUIFont: remaining high order char = 'т', TypeCode = '1090'
    [2014-06-03 15:05:40,279] [Log ] [MPMain ] [DEBUG] - GUIFont: remaining high order char = 'о', TypeCode = '1086'
    [2014-06-03 15:05:40,279] [Log ] [MPMain ] [DEBUG] - GUIFont: remaining high order char = 'р', TypeCode = '1088'
    [2014-06-03 15:05:40,280] [Log ] [MPMain ] [DEBUG] - GUIFont: remaining high order char = 'С', TypeCode = '1057'
    [2014-06-03 15:05:40,280] [Log ] [MPMain ] [DEBUG] - GUIFont: remaining high order char = 'Ш', TypeCode = '1064'
    [2014-06-03 15:05:40,280] [Log ] [MPMain ] [DEBUG] - GUIFont: remaining high order char = 'А', TypeCode = '1040'
    [2014-06-03 15:05:40,280] [Log ] [MPMain ] [DEBUG] - GUIFont: remaining high order char = 'я', TypeCode = '1103'
    [2014-06-03 15:05:40,280] [Log ] [MPMain ] [DEBUG] - GUIFont: remaining high order char = 'с', TypeCode = '1089'
    [2014-06-03 15:05:40,281] [Log ] [MPMain ] [DEBUG] - GUIFont: remaining high order char = 'е', TypeCode = '1077'
    [2014-06-03 15:05:40,281] [Log ] [MPMain ] [DEBUG] - GUIFont: remaining high order char = 'р', TypeCode = '1088'
    [2014-06-03 15:05:40,281] [Log ] [MPMain ] [DEBUG] - GUIFont: remaining high order char = 'и', TypeCode = '1080'
    [2014-06-03 15:05:40,281] [Log ] [MPMain ] [DEBUG] - GUIFont: remaining high order char = 'я', TypeCode = '1103'
    [2014-06-03 15:05:40,297] [Log ] [MPMain ] [DEBUG] - GUIFont: remaining high order char = 'С', TypeCode = '1057'
    [2014-06-03 15:05:40,297] [Log ] [MPMain ] [DEBUG] - GUIFont: remaining high order char = 'Ш', TypeCode = '1064'
    [2014-06-03 15:05:40,297] [Log ] [MPMain ] [DEBUG] - GUIFont: remaining high order char = 'А', TypeCode = '1040'
    [2014-06-03 15:05:40,297] [Log ] [MPMain ] [DEBUG] - GUIFont: remaining high order char = 'а', TypeCode = '1072'
    [2014-06-03 15:05:40,298] [Log ] [MPMain ] [DEBUG] - GUIFont: remaining high order char = 'м', TypeCode = '1084'
    [2014-06-03 15:05:40,298] [Log ] [MPMain ] [DEBUG] - GUIFont: remaining high order char = 'е', TypeCode = '1077'
    [2014-06-03 15:05:40,298] [Log ] [MPMain ] [DEBUG] - GUIFont: remaining high order char = 'р', TypeCode = '1088'

    There is change done to replace some special character directly in fontengine but it seems to break EPG for you and surely other, we need to thing about.
    Thanks again for your report.
     

    Sebastiii

    Development Group
  • Team MediaPortal
  • November 12, 2007
    16,583
    10,403
    France
    Home Country
    France France
    @Owlsroost :)

    Is there anyway to if when an containsOutOfBoundsChar is detected on fontengine, we have a callback (not sure if it's the real word) to MP to use GUIFontManager.DrawText ?

    I'm explaining a little more :

    Currently, all font are sent to fontEngine (C++) and some special character are replaced if detected but other are bypassed.
    Before, all special character was redirect to GUIFontManager.DrawText but it lead to overlap in myvideo/movpic etc in fact in all where we scroll.

    So i was thinking to send all to fontengine like it was now, do some conversion there for common character but if some are not in conversion list, we send it back to MP to use GUIFontManager.DrawText instead.

    I'm not sure why it's not possible to fix overlap when GUIFontManager.DrawText is in use but it seems that it need a total rework for it.
     

    agold

    Portal Member
    September 6, 2009
    16
    10
    Hi, Sebastiii
    little more info - same behaviour with cyrillic names with channel groups, if I choose group list I see only english names

    Andrey
     

    tomakas123

    Portal Member
    March 6, 2012
    19
    6
    48
    Home Country
    Lithuania Lithuania
    cyrillic channel names didn't show in channel list, EPG. Skin Titan.
     

    HomeY

    Test Group
  • Team MediaPortal
  • February 23, 2008
    6,475
    4,645
    49
    ::1
    Home Country
    Netherlands Netherlands
    Merged these 2 threads and moved them to the 1.8 Pre Release bug report forum.
     

    Guzzi

    Retired Team Member
  • Premium Supporter
  • August 20, 2007
    2,161
    747
    Hi :)

    There is change done to replace some special character directly in fontengine but it seems to break EPG for you and surely other, we need to thing about.
    Thanks again for your report.
    In such cases, it might be worth to test:
    Code:
    <section name="debug">
        <entry name="useExtendedCharsWithStandardCulture">2048</entry>
    </section>

    See here
    This will use more GPU memory, not sure, if it'll work - but it will make sure that characters mentioned in log will not using sprite method to be rendered - and not replaced in the added method, as it is not a "high order char" anymore...
     

    Sebastiii

    Development Group
  • Team MediaPortal
  • November 12, 2007
    16,583
    10,403
    France
    Home Country
    France France
    Hi :)

    It seems that MP code set something to 255 from i have remember and when i have change it to 2048, MP didn't work and crash but i didn't use your setting, i will try :)
     

    Sebastiii

    Development Group
  • Team MediaPortal
  • November 12, 2007
    16,583
    10,403
    France
    Home Country
    France France
    Yep in : \mediaportal\Core\guilib\GUIFont.cs
    we have hardcoded value :
    private int _StartCharacter = 32;
    private int _EndCharacter = 255;


    And for 'useExtendedCharsWithStandardCulture ' : so not sure it's fully related to font engine but i didn't really understand lol
    Code:
            // Some chinese might prefer to use an english OS but still have all chars for media, etc
            bool useChineseHack = false;
            int useChineseHackNum = 0;
            using (Settings reader = new MPSettings())
            {
              useChineseHack = reader.GetValueAsBool("debug", "useExtendedCharsWithStandardCulture", false);
              if (useChineseHack)
              {
                _characters = 1536;
              }
    
              useChineseHackNum = reader.GetValueAsInt("debug", "useExtendedCharsWithStandardCulture", 0);
              if (useChineseHackNum >= 128 && useChineseHackNum <= 1536)
              {
                useChineseHack = true;
                _characters = useChineseHackNum;
              }
              else
              {
                if (useChineseHack)
                  useChineseHackNum = 1536;
              }
            }
            GlobalServiceProvider.Get<ILog>().Debug("ExtendedChars = {0}:{0}, StringChars = {1}", useChineseHack,
                                                    useChineseHackNum, strings.characters);
     

    Sebastiii

    Development Group
  • Team MediaPortal
  • November 12, 2007
    16,583
    10,403
    France
    Home Country
    France France
    Hey :)

    Jira open : https://issues.team-mediaportal.com/browse/MP1-4512 :)
    So what i have try to do :
    Revert partial previous commit, in fact all special char that match the replacement done in fontengine c++ and checked on c#.
    Like this, it will be displayed correctly :)

    All other special char will be sent to C# (like it was before the commit done in 1.8.0 pre) but this time i have tweak the overlap, so it mean that if line contain a special char that is not matched/replaced in fontengine (c++), the line shouldn't overlap and should be displayed from GUIFontManager.

    So it's a compromise and should be ok for all of us :)

    @agold and @tomakas123, i will link an installer on Jira for be able to test :)
     

    Users who are viewing this thread

    Top Bottom