-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Open
Labels
driverenhancementfeature requestneeds designimplementation details needs to be properly addressedimplementation details needs to be properly addressed
Description
Using romanizations for game metadata is fairly lossy and at the very least it's poor documentation. I propose there should be a secondary title string for the original language, keeping the romanized version.
Ideally, the developer could also use UTF-8 to write it in, instead of using escaped unicode. For this, srcclean needs to stop horribly destroying unicode for no reason.
Metadata
Metadata
Assignees
Labels
driverenhancementfeature requestneeds designimplementation details needs to be properly addressedimplementation details needs to be properly addressed
Type
Projects
Milestone
Relationships
Development
Select code repository
Activity
felipesanches commentedon Jan 26, 2016
Some proposals:
This works, but it terribly unreadable.
This seems much better!
trap15 commentedon Jan 26, 2016
I'd like to put it in two different fields, so something like:
Or for fields where they're the same, maybe something like
felipesanches commentedon Jan 26, 2016
What about in the case of accented latin text?
Could it be like this?
Bear in mind that both the "company" and the "full name" fields may have unicode characters...
We may have to use some macros to make it nicer and cleaner. I can understand the idea of using null strings but I'd preffer to not have them visible in the source at all.
angelosa commentedon Jan 26, 2016
As things stands, I'm prone to think that the current MAME categorization system isn't in any way adeguate for 2016 standards.
Random examples:
Bottom line: I don't like software list / XML system either for personal tastes (namely being unreadable by human eye in raw format), but it certainly treats these "optional" things like non-romaji alphabets just well.
felipesanches commentedon Jan 26, 2016
@angelosa Could you please open a new issue on GitHub specifically about the broader topic of improving the way MAME stores metadata in general? I think you've got valid points and I would add some more comments on that, but I'd preffer to keep this issue focused on the unicode strings and have all other discussion going on in a separate issue, for the sake of clarity and better organization of the current issues at hand.
trap15 commentedon Jan 26, 2016
Could use compound literals?
In which case defaults end up being 0/NULL. More readable than XML, and keeps it in the driver.
felipesanches commentedon Jan 26, 2016
The file src/mame/drivers/cps2.cpp has got almost 300 GAME entries... It would be good to keep all metadata in a single line if possible. But sometimes, indeed the lines get really long!
felipesanches commentedon Jan 26, 2016
A tool called pyftsubset in the fonttools project (https://github.com/behdad/fonttools/) may be able to generate the needed Noto font subsetting that I suggested on IRC earlier today for unicode metadata strings in MAME.
Noto is a libre font family being developed by Google to have a very wide glyph coverage. So it is essentially a font designed to fulfill needs of ambitious multi-language projects like this.
But the problem is that such a font family has very large file sizes. So the idea is that we should generate a minimal font subset that contains only the glyphs needed. Before packaging a new MAME release, we would have to run an automatic subsetting script that would list all unicode codepoints of glyphs used in metadata strings declared in MAME's codebase and then the generated minimal font file would be added as a program resource and loaded by default in the MAME ui.
This would guarantee that all metadata would be properly rendered in our user interface.
felipesanches commentedon Jan 26, 2016
oh! And by the way... here's the Noto libre font project website:
https://www.google.com/get/noto/