Menu

How to make to display Russian Tags ?

Andrey
2010-03-05
2013-04-30
1 2 3 > >> (Page 1 of 3)
  • Andrey

    Andrey - 2010-03-05

    Can Mpxplay (DOS version) read and convert Russian letters from win-1251 or Unicode to the 866 code page in DOS?

     
  • Andrey

    Andrey - 2010-03-05

    Seems win1251 works, but UTF-16 tag is still a problem…

    Conv852437   =1;
    WinChars     ="абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
    DosChars     =" Ўў_¤_с……………";  all alphabet in dos encoding…

     
  • Andrey

    Andrey - 2010-03-05

    in "moreinfo.txt" I found the function "CPNAMEs (codepages) for-8cp option"
    how to write -8cp CP1251 to  "mpxplay.ini"?

     
  • Mpxplay

    Mpxplay - 2010-03-10

    You are the first person (after idontknow how many years), who gives any feedback about the -8cp option… :D
    With the Conv852437=8 setting I use the (default) ISO-8859-2 codepage and I haven't really tested the -8cp option.
    So, it works? :)

    No such mpxplay.ini setting. Nobody has needed it yet…
    Use Conv852437=9 and a batch file: create an MPXP.BAT with a "mpxplay.exe -8cp CP1251 %1 %2 %3 %4" line.

     
  • Andrey

    Andrey - 2010-03-10

    I always first:)
    Thank you very much your advice helped me, and it works! (only-8ucp option) …
    Works fine with two encodings 1251 and UTF-16!
    Please enable this option in the ini file!
    and for some reason do not want to convert the two russian letters "Р" and "С":)

     
  • Mpxplay

    Mpxplay - 2010-03-11

    Yes, it's -8ucp, not -8cp. "Copy 'n' paste" bug… :)

    Currently the default setting is Conv852437=8, this converts UTF8 and UTF16 strings to ISO-8859-2 charset. This is also not really good, just I have no better idea for the UTF decoding…
    The default WinChars/DOSchars are configured for the hungarian language. I don't think so that it's a good idea to enable it by default (with the Conv852437=9 setting)…
    (btw. the "Conv852437" is the old name/method of this function, just I haven't changed it)

    "for some reason do not want to convert the two russian letters "Р" and "С" "
    Try ISO-8859-5 codepage, not CP1251.
    http://msdn.microsoft.com/en-us/goglobal/bb964656.aspx

     
  • Andrey

    Andrey - 2010-03-12

    Historically that we are both audio files with Unicode and Windows-1251 tags. Windows-1251 differs from the ISO 8859-5 characters are shifted to 16 … that will lead to incorrect display tags with 8 bit encoding…

    I certainly understand what the problem after conversion UTF16 -> WIN, once again converts but from UT8 -> WIN, unfortunately russian character "P" has the code 0xD0 what is perceived as the beginning of UTF-8…

    Interest in the audio file has an identification UTF16 or UTF-8 tag? to two times not convert!

     
  • Andrey

    Andrey - 2010-03-12

    If you do not mind I made a little site dedicated to russian localization of your program and FreeDOS, I have posted two images of floppy disks …

    FreeDOS + Mpxplay + DOS/4G
    FreeDOS + Mpxplay + DOS/32A

    http://mpxplay.narod.ru/

     
  • Andrey

    Andrey - 2010-03-12

    Maybe instead of options WinChars, and DosChars better to use a table top 128 characters?
    because that not every editor can create a file containing the two character encoding…

    for example 1251 -> 866(ru dos)

    3F,3F,27,3F,22,3A,C5,D8,3F,25,3F,3C,3F,3F,3F,3F,
      3F,27,27,22,22,07,2D,2D,3F,54,3F,3E,3F,3F,3F,3F,
      FF,F6,F7,3F,FD,3F,B3,15,F0,63,F2,3C,BF,2D,52,F4,
      F8,2B,49,69,3F,E7,14,FA,F1,FC,F3,3E,3F,3F,3F,F5,
      80,81,82,83,84,85,86,87,88,89,8A,8B,8C,8D,8E,8F,
      90,91,92,93,94,95,96,97,98,99,9A,9B,9C,9D,9E,9F,
      A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,
      E0,E1,E2,E3,E4,E5,E6,E7,E8,E9,EA,EB,EC,ED,EE,EF

    ???

     
  • Mpxplay

    Mpxplay - 2010-03-13

    I certainly understand what the problem after conversion UTF16 -> WIN, once again converts but from UT8 -> WIN, unfortunately russian character "P" has the code 0xD0 what is perceived as the beginning of UTF-8…

    This is false…
    1. UTF strings are converted to the selected (-8ucp) codepage. (multibyte to one char)
    2. If the WinChars to DosChars conversion is enabled (-8 or Conv852437=9), the program searches and replaces the characters, which are configured (written) in the WinChars and DosChars lines (searches for WinChar(s), replaces with the DosChar from the same char position).
    I've made the latter conversion, because I use normal us-ascii codepage, which doesn't contain the all hungarian characters, I just convert them to a similar ones.

    I don't know how should work this stuff at you. You have to find the correct settings. I know it's an "advanced" thing…
    You said first, that with the new WinChars/DosChars config the non-UTF (single win-char) strings are displayed correctly, only the UTF16 strings are bad. Then I (still) assume that the target codepage (-8ucp) is wrong…
    It's also possible, that my CP1251 table is wrong. I will look around…

    btw. Thank You for that page!

     
  • Mpxplay

    Mpxplay - 2010-03-13

    I don't see difference between playlist\charmaps.h -> mapping_unicode_cp1251 and
    http://msdn.microsoft.com/en-us/goglobal/cc305144.aspx
    I don't know where can fail those chars…

    Interest in the audio file has an identification UTF16 or UTF-8 tag? to two times not convert!
    There are a lot of variations in the "identification". It's handled properly at ID3V2 header, ID3V1 always use local-charset (non UTF), but old OggVorbis files can cause problems, because from the v1.0 Vorbis uses UTF8, but earlier encoders use(d) simple local charset. And this change is not "signed" in the stream… I've made the -8uv option for this…

     
  • Andrey

    Andrey - 2010-03-13

    With your table cp1251 all right, I looked CHARMAPS.H!
    two russian character "P", "C" - exactly match 0x0420, 0x0421(multibyte),
    ie 0x0D0, 0x0D1(one char), an error here can not be! but they turn into one letter 0x0411 ie 0x0C1 …

     
  • Andrey

    Andrey - 2010-03-13

    I am now disabled WinChars, and DosChars - Conv852437 = 8
    still a combination of two characters (UTF16) 0x0420 and 0x0421 give 0x0C1
    two 0x0420 and 0x0422 give 0x0C2
    two 0x0420 and 0x0423 give 0x0C3
    two 0x0420 and 0x0424 give 0x0C4
    etc.
    means this error before WinChars to DosChars convert …

     
  • Andrey

    Andrey - 2010-03-13

    Possible to force the UTF16 without UTF8?
    may be still matter in an automatic determination UTF16 /UTF8 ?

    in the manual, I found an interesting option for me -8ccp (instead WinChars to DosChars)
    tried mpxplay.exe -8ucp CP1251 -8ccp CP866
    and mpxplay.exe -8ucp CP1251 -8ccp 866
    but nothing is converted, this option is simply ignored …

     
  • Mpxplay

    Mpxplay - 2010-03-14

    Can you send me that small (64kbit) MP3 file on email? (see readme.txt for my email address and sending method)
    Put it in a zip. thnx

     
  • Andrey

    Andrey - 2010-03-14

    direct link to the file
    http://mpxplay.narod.ru/mp.mp3

     
  • Mpxplay

    Mpxplay - 2010-03-15

    1. This is not that file (5. comment), I need all russian characters in UTF16.

    2. Which program do you use for tagging?
    There is (you can see) a FFFEh in the tags. This also says, that the string is UTF16-LE. It's not need (I mean, it's ignored), because there is a text-enc-type in the id3v2-frame-headers, that selects really the UTF decoding type in Mpxplay.
    So that 2 byte (FFFEh) is skipped, but there is an additional 3. byte here, a space (20h), that's not handled by Mpxplay. This causes the problem at the latest file.
    Winamp and Foobar can handle these tags, so I should do something with it…

    btw. I couldn't find yet any description about the using of UTF strings in ID3V2 (I have an ID3V2 doc, but it doesn't contain anything about this), I'll try to find something…

     
  • Andrey

    Andrey - 2010-03-15

    I updated the file http://mpxplay.narod.ru/mp.mp3  http://mpxplay.narod.ru/mp.zip
    I saved the file with a winamp 5.572

     
  • Mpxplay

    Mpxplay - 2010-03-16

    I was wrong in the post 17. , but you were right in the 7. already… :D
    The -8ucp option enables/forces an extra UTF8 conversion (control.c)… it's corrected now (next release within 1-2 weeks)…
    I didn't see this bug, because I use the default ISO-8859-2, without using the -8ucp command-line option…

     
  • Andrey

    Andrey - 2010-03-16

    Thank you for your solution!
    And the last question on encoding (console/text display output) how to use -8ccp NUM ??? in the 14.
    -8ccp  I think is not working…

     
  • Mpxplay

    Mpxplay - 2010-03-16

    There is an WIN-api function to change the codepage of the console window (ie: -8ccp 852). But it doesn't work at me under WinXP. I've just left it in the program. I hoped that it will work at somebody, but it seems, it doesn't work at all… I mean, I also don't know how should it work…
    Maybe I will write a comment in readme.txt, that this option probably has no effect. (and this function doesn't exist in the DOS versions, only in the Win32 one)
    There are a copule of win-api functions, which are missing or don't work. The mouse-wheel handling is simply missing from the console api.

    btw. the -8uv option has the same bug like -8ucp (also corrected)

     
  • Andrey

    Andrey - 2010-03-16

    If replace win-api functions to internal function, and as a symbol table use additional tables such as in 9 for  866 codepage? and this tables write to charmaps.h ?

     
  • Mpxplay

    Mpxplay - 2010-03-17

    I was wrong again. The -8ccp function works properly in the win32 version.
    Using -8ucp CP866 -8ccp 866 options and Conv852437=8 setting, I see properly the russian UTF16 chars in Mpxplay under my hungarian XP… :)
    For the hungarian text I did try the "-8ucp CP852 -8ccp 852".  The UTF16 chars are displayed correctly.
    BUT because the -8ucp option has effect at the UTF decodings only, the non-UTF CP1250 chars are bad with this setting.
    Yeah, this is wrong/missing. I have to think on it…
    (I don't think so that I should add anything to charmaps.h, rather I will generate a conv table inline, but I have to change the config method, perhaps with a source and target codepage setting)

    btw. I originally made the WinChars/DosChars conversion (instead of what I wrote above), because I use CP1250 under Win and CP437 under DOS, but there's no valid/standard conversion between these codepages. (some hungarian chars are missing from CP437)
    But if there is a correct way between two codepages (like 1251 and 866, or 1250 and 852), we can generate a conversion table for them…

     
  • Andrey

    Andrey - 2010-03-17

    strange but I have a russian xp. only where the characters display correctly only in the name of the window:) but I-8ccp 866 still does not work! Why, then use-8ccp 866 if all the conversion performs -8ucp CP866? I apologize for my English :))
    "mpxplay.exe -8ucp CP866 -8ccp 866" = "mpxplay.exe -8ucp CP866"
    .
    the whole point is to make
    UNICODE-> WIN-> DOS and not UNICODE -> DOS!!!

    should probably be so
    for russian
    UTF16-> WIN1251-> DOS866 or UTF8-> WIN1251-> DOS866 or WIN1251-> DOS866
    hungarian UTF16-> WIN1250-> DOS852 or UTF8-> WIN1250-> DOS852 or WIN1250-> DOS852

    I'll think about correct way how to convert win to dos thru unicode …  be a way :)

     
1 2 3 > >> (Page 1 of 3)

Log in to post a comment.