![]() |
![]() |
![]() |
Restrictions |
Text is rendered using the DrawText method of a graphics context. Its argument is a TDesC8, a string of bytes. A single Unicode character can take between one and three bytes in UTF-8 encoding, and UniFEP rendering expects that characters are not split across several calls to DrawText.
Unfortunately, the EPOC rich text component does not fulfill this assumption, and so UniFEP implements a layer of protection on the Eikon level. This protection is only applied to a graphics context for the screen device in the Eikon environment (a graphic context created from CEikonEnv::Screen()). In particular, the protection is available for CEikonEnv::SystemGc().
Protection is not applied to other graphics contexts, in particular not to any graphics context for rendering to a bitmap. Developers can create a protection layer explicitely using a CUnicodeRenderer object.
UniFEPĀ V2 has the following, much more severe restrictions:
DrawText method of CWindowGc. All other graphics contexts (in particular, the CFbsBitGc class used for rendering to bitmaps) do not support Unicode at all.
Developers can render Unicode to a bitmap by using a CUnicodeRenderer object.
BusyMsgL and InfoMsgL (infoprints) do not use Unicode.
DrawVerticalText does not use Unicode.
![]() |
![]() |
![]() |
Restrictions |