(I’m messing with dark magic here…)
I’m attempting to determine if z3 files can be compatible with accented characters. At first I had hope because:
- everything at this page on the Zcharacter directive doesn’t say anything about Z-machine v3 (granted, nobody uses v3)
- when I try “
Zcharacter '@^e'; Zcharacter '@^a';” and compile to z3, the compiler doesn’t complain.
- Gargoyle displays it fine (but not most retro interpreters (for è and à they put a * and a ) instead, except the Amstrad CPC, which somehow displays 1/2 and 3/4 ?)
When I try to redefine the whole character table with
(Roger Firth’s table), even my Gargoyle (old version) gets all messed up (all the punctuation is wrong), and the other interpreters too; this hints at a hardcoded table.
Frotz seems to handle the punctuation much better (as well as GBAFrotz), but my slightly-behind version doesn’t support accents (they just disappear on the GBA version); also, there is a bug in the Story Headline display. (A period in the headline is replaced by a 9, in both versions; I should probably report this?)
(The ZXZVM interpreter for ZX Spectrum +3 also handles punctuation well, but interestingly it has the same bug as Frotz for the period in the headline; the periods display fine otherwise in both ZXZVM and Frotz.)
The Z-Machine standards seem to think that the table is fixed in version 2-4 of the Z-Machine, anyway. (Then why is the compiler letting me do it? Is it a bug?) This is paragraph 3 of the standard (3.5.3 and 3.5.5).
There’s also the talk about the higher ZSCII table, where the -C1 / Latin-1 encoding stores the accent (and it works fine in z5). But not all interpreters support this? (at least old z3 interpreters likely ignored this? It’s not an Inform 6 thing, is it?)
(And then there’s also the question of whether the system itself can display accents anyway, but that’s another question; I just would like to figure out the code/interpreter side.)
Thanks fo your help understanding all this