So I just tried this:
Component name given to library:
~!@#$%^&*()_+-=/*{}[]|\:";'<>?,/
Component name accepted by library:
~!@_$%_()-___{}_______'_____
Therefore, these were converted to underscores:
^&_+=/[]|:";<>?,/
Tried saving a skp file as:
~!@#$%^&*()_+-=/*{}[]|\:";'<>?,/
Result:
"invalid file name"
Tried saving a skp file as:
~!@_$%_()-___{}_______'_____
Result:
~!@_$%_()-___{}_______'_____
Conclusion:
I am bummed-out about losing & and/or + in my component names. Oh well.