Displaying unicode filenames correctly

OK thanks -- but the funny thing is that Dopus (with practically the same settings and especially with the same font) displays the Unicode symbols correctly on my laptop. Both computers are running Windows 10.

PC:

Laptop:

Windows does font linking so it could also be that another font isn't installed, although it seems a bit odd, unless you have different versions of the main font on the two machines.

At the end of the day, this isn't something Opus is doing. Opus tells Windows to output the characters in the font you have chosen, and the rest is down to Windows and the font (or fonts, if font-linking comes into play).

Try with Segeo UI which (AFAIK) is still what File Explorer uses. If it works in that, then you know the issue was with the font you were using.

1 Like

OK thanks will do.

So I've now tried a dozen different fonts, including Segoe UI, and in none of them the symbols are displayed :thinking:

Maybe the symbol font on that machine is messed up in some way. It looks like it's displaying a different symbol to the one you expect.

I don't really know though. It's down to the fonts and OS rather than anything we are doing.

Dopus displays the symbols :heavy_check_mark::warning: :radioactive: elsewhere as well. Just not in file lists :man_shrugging:t3:

But they work fine on your other laptop. The issue is outside of Opus.

Yeah, but I wonder what this could be. IMHO this is not a case of some special symbol font, but simply Unicode characters of the very font that is used :tipping_hand_man:t3:

Are the two machines the same version of Windows? It doesn't look like it but that could be the theme modifications.

The machines are both Windows 10. The PC only has a different theme than the laptop. However, I have now deleted the Dopus configuration, and lo and behold, the Unicode icons are displayed correctly in Dopus. What now...?

When I restore the configuration, the issue comes back, even when I deselect all options:

Only you can know what you've changed in your config, but I would suspect it comes down to the font settings.

When I delete prefs.oxc from /dopusdata/ConfigFiles, the issue goes away.

[Locating the config files by hand]

O.k. so now I just deleted this part from prefs.oxc:

<fonts>
	<files>Palatino Linotype/-27,400,0,0,0,0,18,200,10</files>
	<tree>Verdana/-24,400,0,0,0,0,34,200,9</tree>
	<status>Palatino Linotype/-24,400,0,0,0,0,18,200,9</status>
	<header>Palatino Linotype/-24,400,0,0,0,1,0,200,9</header>
	<thumbnails>Georgia/-24,400,0,0,0,0,18,200,9</thumbnails>
	<foldertabs>Vezus Serif Regular/-21,400,0,0,0,1,0,200,8</foldertabs>
	<fdb>Palatino Linotype/-24,400,0,0,0,1,0,200,9</fdb>
	<log>Courier New/-24,400,0,0,0,1,0,200,9</log>
	<groups>Palatino Linotype/-29,400,0,0,0,1,0,200,11</groups>
	<panelnc>Palatino Linotype/-24,400,0,0,0,1,0,200,9</panelnc>
	<jobsbar>Segoe UI/-24,400,0,0,0,1,0,200,9</jobsbar>
	<metapane>Palatino Linotype/-24,400,0,0,0,1,0,200,9</metapane>
	<renamemacro>Lucida Console/-21,400,0,0,0,1,0,200,8</renamemacro>
	<infotips>Segoe UI/-24,400,0,0,0,1,0,200,9</infotips>
	<code>Consolas/-24,400,0,0,0,1,0,200,9</code>

Issue is still gone!

So compare that to your config on the other machine. If they're different then you know where the issue is. If they're the same then you know it's a font that must be different.

1 Like

Ok, the only difference was in this line:

Palatino Linotype/-27,400,0,0,0,0,18,200,10

That's when I deleted the line on the PC, and then set the font back to Palatino Linotype. Now the line is as follows:

Palatino Linotype/-27,400,0,0,0,0,0,200,10

And the issue is still gone!

I wonder what these numbers mean, especially the 18 which apparently caused the issue.

It's the lfPitchAndFamily member of LOGFONTW (wingdi.h) - Win32 apps | Microsoft Learn -- 18 means FF_ROMAN|VARIABLE_PITCH, while 0 means nothing is specified at all.

Why that was different or causes Windows to render the font differently, I don't know.

FF_ROMAN could exclude non-roman characters, perhaps.

Recent versions of Opus and Windows on my machine set it to 0, but maybe old versions did something different and one of the configs dates back to then.

1 Like

2.1.1.24 PitchFont Enumeration

DEFAULT_PITCH: The default pitch, which is implementation-dependent.

FIXED_PITCH: A fixed pitch, which means that all the characters in the font occupy the same width when output in a string.

VARIABLE_PITCH: A variable pitch, which means that the characters in the font occupy widths that are proportional to the actual widths of the glyphs when output in a string. For example, the "i" and space characters usually have much smaller widths than a "W" or "O" character.

:man_shrugging:t3::tipping_hand_man:t3:

For some reason, the issue has reappeared on the same PC.

I have just tried two dozen fonts and none of them display the special characters mentioned above. The only font that displays the special characters is Segoe UI :tipping_hand_man:t3:

These are the entries under "Fonts" in the prefs.oxc file:

<fonts>
	<files>Segoe UI/-24,400,0,0,0,1,0,200,9</files>
	<tree>Segoe UI/-24,400,0,0,0,1,0,200,9</tree>
	<status>Segoe UI/-24,400,0,0,0,1,0,200,9</status>
	<header>Segoe UI/-24,400,0,0,0,1,0,200,9</header>
	<thumbnails>Segoe UI/-24,400,0,0,0,1,0,200,9</thumbnails>
	<foldertabs>Segoe UI/-24,400,0,0,0,1,0,200,9</foldertabs>
	<fdb>Segoe UI/-24,600,0,0,0,1,0,200,9</fdb>
	<log>Courier New/-24,400,0,0,0,1,0,200,9</log>
	<groups>Segoe UI/-29,400,0,0,0,1,0,200,11</groups>
	<panelnc>Segoe UI/-24,400,0,0,0,1,0,200,9</panelnc>
	<jobsbar>Segoe UI/-24,400,0,0,0,1,0,200,9</jobsbar>
	<metapane>Segoe UI/-24,400,0,0,0,1,0,200,9</metapane>
	<renamemacro>Consolas/-24,400,0,0,0,1,0,200,9</renamemacro>
	<infotips>Segoe UI/-24,400,0,0,0,1,0,200,9</infotips>
	<code>Consolas/-24,400,0,0,0,1,0,200,9</code>
</fonts>

Then the other fonts don't have the characters (and/or font-linking is broken on the machine, maybe; I'm not really sure how it works these days, as Windows handles it rather than us doing anything).

It's not something Opus itself is involved with. It'll come down to the fonts every time.