It looks like it is impossible to assign different notehead shapes according to their pitch through Percussion Mapping.
So I would like to explore the possibility of doing this through Finalescript.
The result I am seeking to achieve is that when I run the Finalescript on a piece of music, it will change all B#, C and Dbb noteheads into triangle (for example), and all Cx, D and Ebb noteheads into a diamond, etc. The layout of the music is to remain the same, including the accidental and the positioning of the noteheads -- only the shapes of the noteheads will be changed based on their actual pitch.
Thanks in advance from your input. Feedback from experienced scripters and plug-in developers are especially appreciated.