Opened 3 years ago
Last modified 3 years ago
#12623 new feature request
TRECISION: œ (o+e ligature) missing from French subtitles
Reported by: | Kurufinwe21 | Owned by: | Kurufinwe21 |
---|---|---|---|
Priority: | normal | Component: | Engine: Trecision |
Version: | Keywords: | ||
Cc: | Game: | Nightlong: Union City Conspiracy |
Description
ScummVM 2.3.0git18721-g8c0c91fe94 (Jun 12 2021 03:56:50) on Windows 10 21H1 64-bit.
Playing Nightlong (Windows, French version, i.e. English voices with French UI/subtitles).
In the cutscene when you first enter the liquor store, the French subtitles read: "Ça vous dérange si je jette un coup d'il ?" It should be "Ça vous dérange si je jette un coup d'œil ?"
I don't know if the character (œ, a ligature of o and e) is missing from the subtitles or from the font used by the game. As shown in the screenshot, other special characters, such as Ç and é, are displayed correctly.
I cannot remember if the problem happened with the original interpreter.
I'm attaching a screenshot and a save.
Attachments (6)
Change History (16)
by , 3 years ago
Attachment: | scummvm-nl-win-fr-00002.png added |
---|
by , 3 years ago
Attachment: | nl-win-fr.003 added |
---|
Savegame. Enter the liquor store on the right to start the cutscene.
comment:1 by , 3 years ago
I've just checked, and this also happens with the original interpreter. It happens for every instance of œ and Œ, not just the one line I pointed out in the initial report.
I don't know if fixing this is feasible, or even within ScummVM's scope. The character is only used about a dozen times throughout the game, and players can easily figure out what's going on from context. The most egregious case is probably the turtle egg on Rocas Perdida, where you end up with an item labelled "uf" (instead of "Œuf") in your inventory.
comment:2 by , 3 years ago
Fix provided in commit 4001ae8f4011dc7660abbc3832924bdf218af1a1
I only tested the sentence in the coktail shop (coup d'œil).
The character is a bit small (just like when you type alt-0156 in a text editor) but that's the best I could do with a character width of 9 characters (7 if you don't count borders). The 'æ' character in the original font is looking similarly small. I also added the 'Œ' character, I'm not sure if it's used...
Tests are possible either by building your own executable based on master, or by using tomorrow's daily build.
comment:3 by , 3 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:4 by , 3 years ago
Resolution: | fixed → pending |
---|
comment:5 by , 3 years ago
Owner: | changed from | to
---|---|
Resolution: | pending → fixed |
Status: | closed → pending |
comment:6 by , 3 years ago
Resolution: | fixed |
---|---|
Status: | pending → new |
This is really nice! It could be left as-is, and it'd be much better than the previous situation (both in ScummVM and with the original interpreter).
Still, I'd like to suggest a few tweaks, if possible. The upper-case glyph looks more like CE than Œ. I made a quick mock-up in GIMP, changing a few pixels to make it look better.
While making this, I also noticed that, normally, shadows are only used on pixels adjacent to the yellow pixels, not in diagonal. So I've also corrected that for both the uppercase and lowercase glyphs.
If I'm understanding the code correctly, my suggestions correspond to:
static const int8 fix140[67] = { 2, 6, 0, 1, 1, 1, 6, 0, 1, 0, 1, 1, 0, 2, 2, 0, 2, 0, 1, 0, 1, 1, 0, 2, 2, 0, 1, 0, 2, 0, 1, 1, 0, 2, 3, 0, 1, 0, 1, 0, 1, 1, 0, 2, 2, 0, 1, 0, 2, 0, 1, 1, 0, 2, 2, 0, 2, 0, 1, 1, 1, 6, 0, 1, 2, 6, 0, 1, 9 }; static const int8 fix156[54] = { 9, 9, 2, 2, 0, 1, 2, 0, 2, 1, 1, 2, 0, 1, 2, 0, 1, 0, 1, 0, 1, 1, 0, 2, 1, 0, 2, 1, 0, 1, 0, 1, 1, 0, 2, 4, 0, 1, 0, 1, 1, 0, 2, 1, 0, 3, 0, 1, 1, 1, 2, 0, 1, 3, 0, 1, 2, 2, 0, 1, 3, 0, 1, 9 };
Unfortunately, I'm not set up to compile ScummVM (or anything) on my current computer, so I can't test those changes myself. I'm attaching a save at the beach, where the turtle egg displays both the uppercase and lowercase glyphs (on the hotspot label, and when looking at it, respectively).
comment:7 by , 3 years ago
Also, I forgot that, in the code snippets above, the sizes of the arrays need to be updated, and also when those arrays are used later on.
So it should be:
static const int8 fix140[69] = { 2, 6, 0, 1, 1, 1, 6, 0, 1, 0, 1, 1, 0, 2, 2, 0, 2, 0, 1, 0, 1, 1, 0, 2, 2, 0, 1, 0, 2, 0, 1, 1, 0, 2, 3, 0, 1, 0, 1, 0, 1, 1, 0, 2, 2, 0, 1, 0, 2, 0, 1, 1, 0, 2, 2, 0, 2, 0, 1, 1, 1, 6, 0, 1, 2, 6, 0, 1, 9 }; static const int8 fix156[64] = { 9, 9, 2, 2, 0, 1, 2, 0, 2, 1, 1, 2, 0, 1, 2, 0, 1, 0, 1, 0, 1, 1, 0, 2, 1, 0, 2, 1, 0, 1, 0, 1, 1, 0, 2, 4, 0, 1, 0, 1, 1, 0, 2, 1, 0, 3, 0, 1, 1, 1, 2, 0, 1, 3, 0, 1, 2, 2, 0, 1, 3, 0, 1, 9 }; delete _fonts[140]._data; delete _fonts[156]._data; _fonts[140]._width = _fonts[156]._width = 9; _fonts[140]._data = new int8[69]; _fonts[156]._data = new int8[64]; memcpy(_fonts[140]._data, fix140, 69); memcpy(_fonts[156]._data, fix156, 64);
(Once again, I cannot test this myself.)
comment:8 by , 3 years ago
Thanks for you tests and for your suggestions. The uppercase OE you suggest is much better indeed. I nevertheless have a little problem with the shadows. I made the oe and OE based on the original ae and AE characters.
I add them in the next attachment. Is there a way to discuss directly (discord, irc, email, whatever) to spare some time?
by , 3 years ago
Attachment: | image-20210701-222533.png added |
---|
comment:9 by , 3 years ago
I don't feel strongly either way about the shadows. As I was touching up the Œ, I just noticed that that was how the shadows seemed to work for the three letters I was looking at (u, f and s). I haven't done a comprehensive survey of the rest of the alphabet.
Going through my screenshots now, it seems like that the shadows work as I said except for a few cases. I'm attaching a screenshot with another line of text. You can see that the shadows are always adjacent to the yellow pixels, except on one character: à. But that character looks weird: the shape of the a isn't even consistent with the unaccented letter!
This bug's original screenshot displays the same thing: every letter uses the same logic for the shadows (just adjacent pixels), except for the Ç, which also has them in diagonal.
If I had to venture a guess, I'd say Trecision started with a font that only had the ASCII characters. Then they (or whoever was in charge of the translations) added the non-ASCII characters by hand (forgetting œ and Œ in the process), but they did it a bit carelessly and added shadows without trying to exactly match the logic used in the original font.
Anyway, I don't think anyone will pay attention to the shadows (I certainly wouldn't have if I hadn't blown up the picture to touch up the Œ), and I'm not advocating that anyone try to fix all the non-ASCII characters in the game. But since œ and Œ are getting added, might as well make them consistent with the "correct" part of the font, I guess?
If you want to discuss this some more, you can reach me at (my-user-name-here)-at-yahoo-dot-com, though I don't think I have much more to say about it all.
comment:10 by , 3 years ago
Type: | defect → feature request |
---|
So this is no longer a bug/defect, but a feature request. Changing its type
Thanks for your feedback! :)
Screenshot