It seems to me (as is implied by the second paragraph above) that entity code values in UCS should refer to the same character position as in Unicode. So, for example, if ႐ is the "Z" character in UCS-4 (I know, it's not!) then it should also be the "Z" character in UTF-8 (assuming the same font is used). If so, no conversion of numerically encoded entities should be needed. Of course, I could be wrong!
In Unicode a "Unicode scalar value" aka "ISO/IEC 10646 code point" is a number which stands for an "abstract character", which is something like the Platonic idea of a character. This number itself must be distinguished from its representation in a specific stream of bits used by a computer. The way how a sequence of numbers should be represented in a sequence of bits is called a "serialization". UCS-2 and UCS-4 ("UCS" stands for "Universal Character Set") are two different ways to serialize Unicode. The different UTF ("UCS transformation format") versions (like UTF-8, UTF-16) have been introduced later for the same purpose. UCS-2 covers only a subset of all possible Unicode scalar values; UCS-4 virtually allows to serialize larger numbers in a bit stream than are used as Unicode scalar values. UTF-8 and UTF-16 are covering exactly the range of possible Unicode scalar values.
The mapping from a character set definition to the actual code units used to represent the data is called a "character encoding form". A character encoding form plus a serialization is called a "character encoding scheme". In fact UCS-2, UCS-4, UTF-8, and UTF-16 are all character encoding schemes for Unicode.
XML character references like "Ω" allow for the representation of Unicode scalar values which are not supported by the character encoding scheme used to serialize an XML document. They are a sort of meta-serialization. The character reference "Ω" advises an XML processor to replace this reference with a representation of the Unicode scalar value 937 (which stands for the Greek upper-case Omega abstract character). This is equivalent to the XML character reference "Ω" (and even "Ω" or "&x0000003A9;" as leading zeros may be added at libitum). The 'x' in this character reference indicates that the number is of hexadecimal type (also called 'sedecimal' by those who do not like the mixture of Latin and Greek), while in the absence of an 'x' it is a decimal number. Numbers in the hexadecimal system make use of 16 basic symbols (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F) representing the numbers from 0 to 15. The decimal number '16' is represented by hexadecimal '10', decimal '17' by hexadecimal '11', decimal '255' is hexadecimal 'FF', decimal '256' is hexadecimal '100', and decimal '937' is hexadecimal '3A9'.
"Fonts" are again from a different level of abstraction. A font is a set of so-called "glyph images" used for the visualization of characters. A character may be represented by different glyph images, and the same glyph image might represent different characters.
Dieter Köhler