Why are there separate fixed-width characters for 0-9 in Japanese, compared to the typical 0-9?
Japanese (日本語) -0123456789
Typical ASCII for everywhere else - 0 1 2 3 4 5 6 7 8 9
Why was there a need to create a separate character set for the same numerals?
Solution 1:
These are fullwidth characters.
These characters, which are in Unicode U+FF00 to U+FFEF, are intended to be used with CJK characters. They exist so that Latin characters can line up with fixed-width CJK text. Historically, Han characters were set double-wide in 80x24 terminals, and these characters were used to match the width of the CJK text.
-
These characters are not limited to numerals. The full Latin alphabet is available in fullwidth form.
ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789
Image source
Solution 2:
Those fullwidth characters are not only for Japanese but also for Korean and Chinese because they have double-width (a.k.a. fullwidth) character set. Due to their visual complexity and poor screen resolution of the past, it was not physically possible to display those languages in halfwidth characters - especially for Korean and Chinese characters.
(Japanese has halfwidth characters as well, but in Japanese, it's somewhat rare to use Japanese characters only. Mostly it comes with Chinese characters mixed. So having halfwidth characters does not help a lot.)
Those big-sized numeric characters were introduced for that. When they were writing, for example, a table or grid-style text without using graphics, typical numeric characters did not mix well. In addition, they had "vertical writing" cultures as well as horizontal writing we use now. Just imagine, if you write those characters vertically, the conventional numeric characters will probably look ugly when mixed.
Similar things were happening in the data structure side as well because halfwidth characters took 1 byte each whilst fullwidth characters did 2 bytes or more.
Making most characters take the same space & memory made many things like these simpler. Likewise, there are fullwidth Roman characters as well.
I kind of understand why you asked this question - nowadays, everything is on GUI. Tables are not purely written in texts any more. Vertical writings are becoming obsolete. To have wider characters we can just adjust the width rather than using fat characters. Most characters take multiple bytes anyway as more complex encodings are introduced. So perhaps it's true that those fullwidth alphanumeric characters are a sort of heritages from the old age like "Scroll Lock" key on your keyboard.