Addition of new characters for new types in USR generation


I am in the process of implementing fixed point types in C as part of the
extension proposed in This involves
adding 24 new types and we would like some suggestions on how to approach
reserving USR characters for these types.

Essentially there are 4 different qualities that distinguish these types:
- _Fract v _Accum
- signed v unsigned
- size (short, unspecified, long)
- and saturated v unsaturated

signed short _Accum
_Sat unsigned long _Fract

It seems that most alphanumeric characters are already taken. Would it be
fine if I just took up 24 more characters or is there a cleaner solution?
If more than 1 character is allowed to represent one type, this could also
help reduce the number characters taken.

I also see that some types share the same USR character (like Char_U/Char_S
and Float16/Half). What constitutes 2 types having the same USR code?