Symbian
Symbian OS Library

FAQ-0641 What is a "Deprecated non-unicode value"?

[Index][spacer] [Previous] [Next]



 

Classification: C++ Category: Development
Created: 07/19/99 Modified: 09/19/2001
Number: FAQ-0641
Platform: Symbian OS v6.0, Symbian OS v6.1

Question:
When I build my resource files with the latest version of RCOMP, I get a string of warnings such as:

eikon.RSS(969) : Warning: Deprecated non-unicode value in source stream

What does this mean, and what should I do about it?


Answer:
Note that this applies only to Unicode builds, so v6.0 and beyond, and also ER5u (but not ER5).

This warning comes from RCOMP, and means that the input stream expects Unicode character constants, but some of the CP1525-specific character codes have been detected. Rather than break everything, RCOMP assumes that people want the Unicode equivalent and does the relevant translation - the warning is to make people fix the problem!

A typical example:
    #define KEllipsis 0x85

    RESOURCE MENU_PANE r_word_fileoptions_menu
    {
    items=
    {
    MENU_ITEM
    {
    command=EEikCmdFileSaveAs;
    txt="Save as"
    },

    // and so on...
    The specified value of the Ellipsis character ("...") is one of the Codepage 1252 encodings which is not also the Unicode encoding for the same character, so RCOMP warns you of the problem and translates 0x85 into 0x2026, which is the Unicode equivalent.

    The full table of characters which need to be converted is given below, but note that RCOMP will only complain about characters in the range 128-159.

    character narrow build (hex) Unicode build (hex)
    paragraph delimiter 06 2029
    line break 07 2028
    page break 08 000C
    non-break tab 0A none; use 0009 (tab) + FEFF (zero-width non-break space)
    non-break hyphen 0B 2011
    potential hyphen 0C 00AD
    picture 0E FFFC
    visible space 0F none; visible versions of characters are no longer defined in a public header
    non-break space 10 00A0

    Euro currency symbol 80 20AC
    single low-9 quotation mark 82 201A
    small f with hook 83 0192
    double low-9 quotation mark 84 201E
    horizontal ellipsis 85 2026
    dagger 86 2020
    double dagger 87 2021
    modifier circumflex 88 02C6 (see also below)
    per mil 89 2030
    S caron 8A 0160
    single left angle quote 8B 2039
    OE ligature 8C 0152
    Z caron 8E 017D
    left single quote 91 2018
    right single quote 92 2019
    left double quote 93 201C
    right double quote 94 201D
    bullet 95 2022
    en dash 96 2013
    em dash 97 2014
    small tilde 98 02DC
    trademark sign 99 2122
    s caron 9A 0161
    single right angle quote 9B 203A
    oe ligature 9C 0153
    z caron 9E 017E
    Y umlaut 9F 0178

    About the modifier circumflex, hex 88 / 02C6, Tim Band notes: For the circumflex to automatically combine with the previous letter, it is much better to use U+0302, "combining circumflex".
     

    ;