U+FFFD is already a "
replacement character" which means whatever was there has been busted already by previous "conversion", it's displayed to indicate there *was* unpresentable character here.
Assuming is there generic solution to replace unicode symbols that have no presentation in particular font - no, since you don't know which characters are implemented in each TTF, nor is it clear what you (the author) would consider reasonable substitution. For example is it reasonable to replace "™" with "(TM)" and "©" with "(C)"? Maybe yes, maybe no because it may change the text alignment.