Body:
Hello everyone,
I’m having a persistent issue with ScaleForm (GFx) resource loading and I’m hoping someone with ScaleForm experience can help.
My client works correctly when installed in an English-only path, but fails when the installation path contains Chinese characters.
In the Chinese-path case, Chinese text becomes garbled or rendered as squares, even though the same text displays correctly in an English path.
What works
Text encoding has been verified:
Client strings are converted from GBK / ANSI to UTF-8 before being passed to ScaleForm.
In an English directory, Chinese text displays correctly.
Fonts are correctly configured:
$NormalFont is mapped to Arial Unicode MS
The font files load and render correctly in non-Chinese paths.
fontconfig.txt and font libraries are valid.
What fails
When the client is installed in a directory containing Chinese characters, ScaleForm fails to load resources correctly:
.gfx files
fontconfig.txt
fontlib (.swf) files
images referenced by ScaleForm
As a result:
Fonts fall back or fail to load
Chinese text appears as garbled characters or squares
Using GetShortPathNameW does not produce an ASCII short path (8.3 names appear to be disabled on the disk).
Loading resources via absolute UTF-8 paths also fails.
ScaleForm appears to rely on ANSI file APIs or relative paths internally, which do not handle non-ASCII paths.
Key observation
If I temporarily change the current working directory to the ScaleForm resource folder, loading may succeed —
but this breaks other parts of the client that rely on the working directory (e.g. UI textures loaded via relative paths).
My understanding so far
It seems that ScaleForm.dll internally uses ANSI file access (e.g. fopen, CreateFileA) and relative paths, which causes all resource loading to fail when the base path contains non-ASCII characters.
What I’m asking for
Is there a proper way to set a resource root / content path in ScaleForm so that it can load files using Unicode paths?
Is there a documented or recommended way to make ScaleForm fully Unicode-path safe?
Or is the only reliable solution to ensure all ScaleForm resources are accessed through ASCII-only paths (e.g. via a virtual drive or external resource directory)?
Any guidance, documentation, or experience with this issue would be greatly appreciated.
Thank you very much for your time and help!
https://ibb.co/YBz6C1NWhttps://ibb.co/b5R94GqZ