I often require a combination of CJK characters with both low and high codepoints in the same line of text. (Here "low" means "in the Basic Multilingual Plane" or BMP, with codepoint lower than hex 10000.) I do not own a single typeface that contains all the CJK characters in forms I like, so I use two typefaces that look the same and together cover (apparently) all the CJK characters.
In a line of text containing both types of character, TeX requires explicit instructions as to which typeface to use: if a particular typeface does not contain a desired character, the only way to display the corresponding glyph is to specify a different typeface for that character.
My practice has been to assign my normal (BMP) font with
\setCJKmainfont and then a secondary font, which contains all of the high-codepoint characters, with
\setCJKsansfont. The nuisance is that in composing my document, I must manually assign the CJK sans font to the high-codepoint characters.
My question is whether there is a simple procedure that would choose the correct typeface, depending on which of them actually contains the required characters — without my manually changing the typeface.