I am not sure what you mean with the chord... You can do the coloring.
And if whatever you want to display is part of a font, then you should be able to add the utf8 for it. That is it has to be a monospaced font.
About the lexer, I guess you mean highlighter. There is a tutorial (sample files are in the Lazarus installation's example folder)
http://wiki.lazarus.freepascal.org/SynEdit_Highlighter
If you have "[ Bb ]" in the text, and want that to be displayed as some other char...
That is a bit more complicated, and if at all (not tested) will only work for read-only mode. You would have write and insert a custom "view" of the textbuffer (such as TSynEditStringTabExpander), including a TLazSynDisplayView.
Those can replace text before display. But I am not sure this will work with caret movement, or text-selection. (Again, never tested that).
For this part "display view" their is no doc, but the code. Further more, those classes will change in future...