How are icon fonts different from Emoji fonts, despite their range of characters?

Godot Version

4.2.2

Question

In a Using Emoji section of the doc I was told that:

CBDT/CBLC (embedded PNGs) and SVG emoji fonts are supported.

I interpret the “SVG emoji fonts” mentioned here as what’s called “OpenType-SVG” font format (or its TrueType equivalent). And then in the Using icon fonts section it said:

Fontello currently does not support creating multicolored fonts (which Godot can render). As of November 2022, support for multicolored fonts in icon font generation tools remains scarce.

So we know Godot can handle some “multicolored fonts” format. What exactly are these formats? OpenType-SVG or something entirely custom?

If I guessed it right, the “Emoji fonts” and the “Icon fonts” are the same sort of font files, something that has SVGs embedded into them, e.g. the OpenType-SVG? So how are the two kinds of font different, despite the fact that:

… icon fonts use the Unicode private use area, which is reserved for use by custom fonts and doesn’t contain standard glyphs by design.

while an Emoji font defines how Unicode Emoji Characters are displayed?

If I guessed it right, the “Emoji fonts” and the “Icon fonts” are the same sort of font files, something that has SVGs embedded into them, e.g. the OpenType-SVG? So how are the two kinds of font different, despite the fact that:

Icon fonts generally aren’t colored. Instead, they use standard font glyphs (just like regular letters). This means they are widely supported, but they can’t have colors. Also, since they are part of the private use area, their locations are nonstandard. Unlike emoji, you can’t switch to another icon font and have all icons still display correctly without having to modify existing texts in your project.

See also this GitHub issue: Flags emoji not rendering correctly on Godot 4.2.1 · Issue #91111 · godotengine/godot · GitHub

Some embedded SVG in fonts may fail to render correctly due to bugs in ThorVG.