Fix The Heroic Legend of America: Second Revolutionary War (SteamID: 2340720) failing to start. The game has a line of `var i、unit, dataList;` in one of its .js file. The `、`(\u3001, category Po) is a punctuation mark used in CJK languages. This patch adds support for Unicode characters in identifiers according ECMA-262 3rd edition 7.6. <ZWNJ> (\u200c) and <ZWJ> (\u200d) are not allowed so it's not using ES5. However, other Unicode categories other than those specified in the spec are supported in IdentifierPart according tests so it's not fully ECMA-262 compliant. This non-compliant behavior is needed for the game, as demonstrated by the \u3001 in the Po category. Note that make_unicode uses Unicode 17.0.0 to generate the allowed Unicode characters ranges and some characters got moved to different categories compared to Unicode 2.1 used by ECMA-262. However, I don't think it's worth adding another Unicode data file. We can adjust it when it's needed by real-world applications. Conditional compilation identifiers also support some Unicode characters. For example, the following code is valid. ```js @cc_on @set @π = 3.14; WScript.Echo(@π); ``` However, conditional compilation identifiers do not support Unicode escape sequences. So the previous is_identifier_first_char() and is_identifier_char() were wrong as well. With that said, I doubt any application would use Unicode escape sequences for conditional compilation identifiers. So let's use the same parser helpers for standard identifiers for now. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11452