Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > General > DVD2AVI / DGIndex

Reply
 
Thread Tools Search this Thread Display Modes
Old 1st January 2021, 07:22   #1  |  Link
lansing
Registered User
 
Join Date: Sep 2006
Posts: 1,657
Unicode filename support for DGIndexNV?

Any news on this?
lansing is offline   Reply With Quote
Old 1st January 2021, 18:11   #2  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
Does it have a resource file embedded? You can check with Resource Hacker.
stax76 is offline   Reply With Quote
Old 1st January 2021, 20:08   #3  |  Link
lansing
Registered User
 
Join Date: Sep 2006
Posts: 1,657
Quote:
Originally Posted by stax76 View Post
Does it have a resource file embedded? You can check with Resource Hacker.
I'm referring to the regular file name in windows. The program pretty much couldn't open any file with non-English filename/file path.
lansing is offline   Reply With Quote
Old 2nd January 2021, 04:26   #4  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
I like the topic text encoding but since it's not open source and another reason... (not related to you) I think it's not the right thread for me.

I suggest using the support forum of the author:

http://rationalqm.us/board/index.php
stax76 is offline   Reply With Quote
Old 2nd January 2021, 21:57   #5  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Looking at a vanilla "DGIndex.exe", it seems like it contains an empty manifest.

You may wish to replace that with the following content, e.g. by using Resource Hacker, in order to enable UTF-8 support:

(requires Windows 10, Version 1903 or later!)

Code:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <assemblyIdentity type="win32" name="avisynth.dgindex" version="1.0.0.0"/>
    <application xmlns="urn:schemas-microsoft-com:asm.v3">
        <windowsSettings>
            <longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
            <activeCodePage xmlns="http://schemas.microsoft.com/SMI/2019/WindowsSettings">UTF-8</activeCodePage>
        </windowsSettings>
    </application>
</assembly>
In my test this worked fine. Even though not all characters may display correctly in the GUI, the input file was opened and the output file was generated without problem:
https://i.imgur.com/n3DokZn.png
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 2nd January 2021 at 22:24.
LoRd_MuldeR is offline   Reply With Quote
Old 3rd January 2021, 01:32   #6  |  Link
lansing
Registered User
 
Join Date: Sep 2006
Posts: 1,657
Quote:
Originally Posted by LoRd_MuldeR View Post
Looking at a vanilla "DGIndex.exe", it seems like it contains an empty manifest.

You may wish to replace that with the following content, e.g. by using Resource Hacker, in order to enable UTF-8 support:

(requires Windows 10, Version 1903 or later!)

Code:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <assemblyIdentity type="win32" name="avisynth.dgindex" version="1.0.0.0"/>
    <application xmlns="urn:schemas-microsoft-com:asm.v3">
        <windowsSettings>
            <longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
            <activeCodePage xmlns="http://schemas.microsoft.com/SMI/2019/WindowsSettings">UTF-8</activeCodePage>
        </windowsSettings>
    </application>
</assembly>
In my test this worked fine. Even though not all characters may display correctly in the GUI, the input file was opened and the output file was generated without problem:
https://i.imgur.com/n3DokZn.png
I tried it on my dgindex, it doesn't work with Japanese. It just crashed like before the modification.
Code:
おめでたい
lansing is offline   Reply With Quote
Old 3rd January 2021, 02:00   #7  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Seems to work for me:
https://i.imgur.com/CKrFHaA.png

Sure the manifest was patched correctly? And you are on Windows 10 version 1903 (May 2019 Update) or later, right?

FWIW, here is "my" patched DGIndex binary:
https://easyupload.io/zp2sjx
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊
LoRd_MuldeR is offline   Reply With Quote
Old 3rd January 2021, 03:02   #8  |  Link
lansing
Registered User
 
Join Date: Sep 2006
Posts: 1,657
Quote:
Originally Posted by LoRd_MuldeR View Post
Seems to work for me:
https://i.imgur.com/CKrFHaA.png

Sure the manifest was patched correctly? And you are on Windows 10 version 1903 (May 2019 Update) or later, right?

FWIW, here is "my" patched DGIndex binary:
https://easyupload.io/zp2sjx
I am using Windows 10 version 2004. Your mod worked. How do you save it? I opened the exe -> edit the manifest -> compile script -> save.
lansing is offline   Reply With Quote
Old 3rd January 2021, 03:35   #9  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Quote:
Originally Posted by lansing View Post
I am using Windows 10 version 2004. Your mod worked. How do you save it? I opened the exe -> edit the manifest -> compile script -> save.
So did I

(Be aware through, that if the EXE is located in "C:\Program Files" or "C:\Program Files (x86)", then Resource Hacker may not have write access, unless it was launched with "run as administrator" option)
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 3rd January 2021 at 03:43.
LoRd_MuldeR is offline   Reply With Quote
Old 3rd January 2021, 06:06   #10  |  Link
lansing
Registered User
 
Join Date: Sep 2006
Posts: 1,657
Quote:
Originally Posted by LoRd_MuldeR View Post
So did I

(Be aware through, that if the EXE is located in "C:\Program Files" or "C:\Program Files (x86)", then Resource Hacker may not have write access, unless it was launched with "run as administrator" option)
Thanks I finally got mine working, don't know why it doesn't the first time. I copied the <application> tag into my manifest and dgindexNV also working now.
lansing is offline   Reply With Quote
Old 3rd January 2021, 09:26   #11  |  Link
lansing
Registered User
 
Join Date: Sep 2006
Posts: 1,657
I encountered another problem, seems like dgdecodenv.dll couldn't read unicode as well, DGSource couldn't read the unicode file path in my vapoursynth script, and then it couldn't read the file path in the dgi file also. Modifying the manifest for the dll didn't help.
lansing is offline   Reply With Quote
Old 3rd January 2021, 15:07   #12  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
Only staxrip, x264 and mpv.net use a UTF-8 manifest, since a week. But you can enable UTF-8 support system wide in the administrative language settings of Windows 10 v1903.

Last edited by stax76; 8th January 2021 at 12:48.
stax76 is offline   Reply With Quote
Old 3rd January 2021, 16:27   #13  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Quote:
Originally Posted by lansing View Post
I encountered another problem, seems like dgdecodenv.dll couldn't read unicode as well, DGSource couldn't read the unicode file path in my vapoursynth script, and then it couldn't read the file path in the dgi file also. Modifying the manifest for the dll didn't help.
Things like "long path" awareness and the ANSI codepage are per-process settings. You'd have to set that in the manifest of the "main" EXE file. TTBOMK, you cannot do it for individual DLLs.

BTW: Windows has been supporting the "Unicode" (UTF-16) API ever since Windows 2000. So any application/library written in the past ~20 years should actually be using the "Unicode" (UTF-16) API – instead of the old "ANSI" API – and thus should not need to be concerned with ANSI codepages at all. The whole idea of enforcing a certain codepage via manifest is just a workaround for "legacy" code. The "proper" fix is updating the code to the modern "Unicode" (UTF-16) API.
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 3rd January 2021 at 16:48.
LoRd_MuldeR is offline   Reply With Quote
Old 3rd January 2021, 16:53   #14  |  Link
Emulgator
Big Bit Savings Now !
 
Emulgator's Avatar
 
Join Date: Feb 2007
Location: close to the wall
Posts: 1,531
Interesting, good to know.
__________________
"To bypass shortcuts and find suffering...is called QUALity" (Die toten Augen von Friedrichshain)
"Data reduction ? Yep, Sir. We're that issue working on. Synce invntoin uf lingöage..."
Emulgator is offline   Reply With Quote
Old 7th January 2021, 22:53   #15  |  Link
videoh
Useful n00b
 
Join Date: Jul 2014
Posts: 1,667
Currently, Unicode is not supported, but you should be able to achieve the desired result by appropriately setting your system locale. If not, let me know. Probably something can be done about it.
videoh is offline   Reply With Quote
Old 8th January 2021, 07:14   #16  |  Link
lansing
Registered User
 
Join Date: Sep 2006
Posts: 1,657
Quote:
Originally Posted by videoh View Post
Currently, Unicode is not supported, but you should be able to achieve the desired result by appropriately setting your system locale. If not, let me know. Probably something can be done about it.
Changing system locale is a Windows XP thing. DGIndexNV works now with manifest mod, it's just that it's doesn't work for DGDecodeNV.
lansing is offline   Reply With Quote
Old 8th January 2021, 11:25   #17  |  Link
videoh
Useful n00b
 
Join Date: Jul 2014
Posts: 1,667
Quote:
Originally Posted by lansing View Post
Changing system locale is a Windows XP thing.
No.

https://www.isunshare.com/windows-10...indows-10.html

Quote:
DGIndexNV works now with manifest mod, it's just that it's doesn't work for DGDecodeNV.
Try the system locale.
videoh is offline   Reply With Quote
Old 8th January 2021, 18:34   #18  |  Link
lansing
Registered User
 
Join Date: Sep 2006
Posts: 1,657
Quote:
Originally Posted by videoh View Post
Nobody should be changing their system locale just to run a non unicode program because it's very annoying, it requires a system reboot every time you changed it while the keyboard were also changed. That's why there was AppLocale back in the XP days.
lansing is offline   Reply With Quote
Old 8th January 2021, 20:55   #19  |  Link
videoh
Useful n00b
 
Join Date: Jul 2014
Posts: 1,667
AppLocale still works for Win10:

https://github.com/xupefei/Locale-Emulator

Is that working for you?
videoh is offline   Reply With Quote
Old 8th January 2021, 21:57   #20  |  Link
lansing
Registered User
 
Join Date: Sep 2006
Posts: 1,657
Quote:
Originally Posted by videoh View Post
AppLocale still works for Win10:

https://github.com/xupefei/Locale-Emulator

Is that working for you?
This one only supports 32 bit program, all my programs are 64 bit.
lansing is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 13:36.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.