Change put_num_and_fill to work on CharType not char, so that formatting of signed zeroes is wide character safe even if '0' is not used for zeroes.