5 ms·
One issue is that most programming languages links their version to a particular unicode version, by example, .NET 4 supports Unicode 5.1 while .NET 4.5 support
by _old_dude_ 8y ago
One issue is that most programming languages links their version to a particular unicode version, by example, .NET 4 supports Unicode 5.1 while .NET 4.5 supports Unicode 6, etc.
The new Era will be soon supported by Unicode 12.1 [1].
For older version of .Net (or Java) you also need to support the new Era without supporting the whole Unicode 12.1 spec, introducing a non backward compatibility behavior because the new code point U+32FF has now a different meaning.
Currently we have already added tests for the new code point in all our supported applications and are ready to update them using the same channel as a security issue.
[1] http://blog.unicode.org/2018/09/new-japanese-era.html http://blog.unicode.org/2018/09/new-japanese-era.html
- tecleandor 8y agoOh, interesting, didn't know that they "create" a new Kanji with the sum of all the possible kanjis in the Era name. Two questions: - Should I be safe in the way that, even in my software doesn't support that unicode version, or my font doesn't have that symbol, I'll at least get a "notdef" or whatever symbol and not break everything? - what if the new name is composed by just one Kanji? Is it getting an unicode symbol anyway? Is it considered a different Kanji?
- fenomas 8y agoTo be clear there's no new kanji being created here, just a new unicode character with two existing kanji compacted into one glyph. So most typical use cases won't be affected either way, since era names are normally just written with two regular characters rather than with the compacted one.
- Nullabillity 8y agoSo what's the point then? This sounds like a job for font ligatures.
- fenomas 8y agoI don't know much about unicode but presumably it's analogous to characters like "㎏" or "㎒". There are quite a lot of code points for several characters compressed into one glyph.
- Freak_NL 8y ago> what if the new name is composed by just one Kanji? It will be two existing kanji. That's pretty much a given. Don't worry about it. These compound characters are compatibility characters for older software, and for use as a compact notation in print (i.e., it is mostly a display issue). Any new code point assigned will not be in use now (U+32FF), so you won't break anything. Your software may display a box with the code point address in it, or just an empty box, instead of a glyph from one of the installed fonts. If you deal with years written with the era name, you tend to get them written as two characters. This year (until the abdication) is 平成31年 (year 31 of Heisei). Abbreviations do occur; you will then get only the first character of the name era, so 平31. This is why the new name will not start with 平, 昭, 大, or 明 (the first characters of the past four era names).
- masklinn 8y ago> Oh, interesting, didn't know that they "create" a new Kanji with the sum of all the possible kanjis in the Era name. They don't really, they create a new codepoint for a special (<square> in this case) composition of the era name. > Should I be safe in the way that, even in my software doesn't support that unicode version, or my font doesn't have that symbol It might fallback on the compatibility decomposition (the two combined kanji, so instead of "㍻" you'd have "平成".
- anoncake 8y agoMaybe era kanjis should be encoded in a systematic manner similar to flags. The EU flag is encoded as <Flag letter E><Flag letter U>, the new era would be encoded like <JP era number 2><JP era number 0><JP era number 1><JP era number 9>.
- Freak_NL 8y agoYour proposal does not handle the edge case of an emperor dying in the year of his ascension.
- anoncake 8y agoEasily solved by adding another digit after the year. That leaves the edge case of Japan having more than 10 emperors in a year, but thats unlikely.
- eloisant 8y agoOr they could just have era1=Meiji, era2=Taisho, era3=Showa, era4=Heisei etc. since Japan only had 4 eras named that way so far (and past era are pretty much not changing). Then era1-era0 for the 10th era. Much simpler than building from the Gregorian year.
- anoncake 8y agoBy building from the Gregorian year, you can convert the Japanese year to the Gregorian one without needing updates when a new era begins. I dont know how useful that is in practice though. Otherwise you can just reserve a range of codepoints for era names.
- coldacid 8y agoExcept that Japanese eras actually go back to approximately 645 AD, and some emperors reigned through multiple eras and others shared eras (Emperor Meiji himself began his rule in Keio year 3, and it wasn't until Keio year 4 that that era ended and the Meiji era began). Your scheme only works for modern eras rather than the full span of them.