charconvfw/charconv_fw/documentation/cnvapi.rtf
branchRCL_3
changeset 15 9a2be90ac9a2
parent 13 7ff7c6e94fea
child 17 93dabad1a1d2
child 19 f7b2d24357ad
--- a/charconvfw/charconv_fw/documentation/cnvapi.rtf	Thu Apr 01 00:28:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1095 +0,0 @@
-{\rtf1\adeflang1025\ansi\ansicpg1252\uc2\adeff0\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe2052\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
-{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}{\f3\fbidi \froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f7\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604020202030204}Helv{\*\falt Arial};}
-{\f10\fbidi \fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}{\f13\fbidi \fnil\fcharset134\fprq2{\*\panose 02010600030101010101}\'cb\'ce\'cc\'e5{\*\falt ??????\'a1\'a7????};}
-{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;}{\f38\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Tahoma;}{\f39\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Verdana;}
-{\f40\fbidi \fnil\fcharset134\fprq2{\*\panose 00000000000000000000}@\'cb\'ce\'cc\'e5;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
-{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}
-{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
-{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}
-{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f42\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f43\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
-{\f45\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f46\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f47\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f48\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
-{\f49\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f50\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f52\fbidi \fswiss\fcharset238\fprq2 Arial CE;}{\f53\fbidi \fswiss\fcharset204\fprq2 Arial Cyr;}
-{\f55\fbidi \fswiss\fcharset161\fprq2 Arial Greek;}{\f56\fbidi \fswiss\fcharset162\fprq2 Arial Tur;}{\f57\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f58\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);}
-{\f59\fbidi \fswiss\fcharset186\fprq2 Arial Baltic;}{\f60\fbidi \fswiss\fcharset163\fprq2 Arial (Vietnamese);}{\f62\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}{\f63\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}
-{\f65\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f66\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f67\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f68\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}
-{\f69\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f70\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f174\fbidi \fnil\fcharset0\fprq2 SimSun Western{\*\falt ??????\'a1\'a7????};}
-{\f382\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}{\f383\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f385\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f386\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}
-{\f389\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}{\f422\fbidi \fswiss\fcharset238\fprq2 Tahoma CE;}{\f423\fbidi \fswiss\fcharset204\fprq2 Tahoma Cyr;}{\f425\fbidi \fswiss\fcharset161\fprq2 Tahoma Greek;}
-{\f426\fbidi \fswiss\fcharset162\fprq2 Tahoma Tur;}{\f427\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew);}{\f428\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic);}{\f429\fbidi \fswiss\fcharset186\fprq2 Tahoma Baltic;}
-{\f430\fbidi \fswiss\fcharset163\fprq2 Tahoma (Vietnamese);}{\f431\fbidi \fswiss\fcharset222\fprq2 Tahoma (Thai);}{\f432\fbidi \fswiss\fcharset238\fprq2 Verdana CE;}{\f433\fbidi \fswiss\fcharset204\fprq2 Verdana Cyr;}
-{\f435\fbidi \fswiss\fcharset161\fprq2 Verdana Greek;}{\f436\fbidi \fswiss\fcharset162\fprq2 Verdana Tur;}{\f439\fbidi \fswiss\fcharset186\fprq2 Verdana Baltic;}{\f440\fbidi \fswiss\fcharset163\fprq2 Verdana (Vietnamese);}
-{\f444\fbidi \fnil\fcharset0\fprq2 @\'cb\'ce\'cc\'e5 Western;}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
-{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
-{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
-{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
-{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
-{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}
-{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}
-{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
-{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
-{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
-{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
-{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
-{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
-{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
-{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
-{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}
-{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}
-{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
-{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
-{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;
-\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;
-\red192\green192\blue192;}{\*\defchp \fs22 }{\*\defpap \ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 
-\rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 \sqformat \spriority0 Normal;}{\s1\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 
-\ab\af1\afs28\alang1025 \ltrch\fcs0 \b\f1\fs28\lang1033\langfe1033\kerning28\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink15 \sqformat heading 1;}{\s2\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin0\itap0 
-\rtlch\fcs1 \ab\ai\af1\afs24\alang1025 \ltrch\fcs0 \b\i\f1\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink16 \sqformat heading 2;}{
-\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\faauto\outlinelevel2\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \f1\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink17 \sqformat heading 3;}{
-\s4\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\faauto\outlinelevel3\rin0\lin0\itap0 \rtlch\fcs1 \ab\af1\afs24\alang1025 \ltrch\fcs0 \b\f1\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink18 \sqformat heading 4;}{
-\s5\ql \li0\ri0\sb240\sa60\widctlpar\wrapdefault\faauto\outlinelevel4\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs22\alang1025 \ltrch\fcs0 \f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink19 \sqformat heading 5;}{\*\cs10 
-\additive \ssemihidden Default Paragraph Font;}{\*\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv 
-\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1033\langfe2052\cgrid\langnp1033\langfenp2052 \snext11 \ssemihidden \sunhideused \sqformat 
-Normal Table;}{\*\cs15 \additive \rtlch\fcs1 \ab\af31503\afs32 \ltrch\fcs0 \b\fs32\lang0\langfe1033\kerning32\loch\f31502\hich\af31502\dbch\af31501\langnp0\langfenp1033 \sbasedon10 \slink1 \slocked \spriority9 Heading 1 Char;}{\*\cs16 \additive 
-\rtlch\fcs1 \ab\ai\af31503\afs28 \ltrch\fcs0 \b\i\fs28\lang0\langfe1033\loch\f31502\hich\af31502\dbch\af31501\langnp0\langfenp1033 \sbasedon10 \slink2 \slocked \ssemihidden \spriority9 Heading 2 Char;}{\*\cs17 \additive \rtlch\fcs1 \ab\af31503\afs26 
-\ltrch\fcs0 \b\fs26\lang0\langfe1033\loch\f31502\hich\af31502\dbch\af31501\langnp0\langfenp1033 \sbasedon10 \slink3 \slocked \ssemihidden \spriority9 Heading 3 Char;}{\*\cs18 \additive \rtlch\fcs1 \ab\af31507\afs28 \ltrch\fcs0 
-\b\fs28\lang0\langfe1033\loch\f31506\hich\af31506\dbch\af31505\langnp0\langfenp1033 \sbasedon10 \slink4 \slocked \ssemihidden \spriority9 Heading 4 Char;}{\*\cs19 \additive \rtlch\fcs1 \ab\ai\af31507\afs26 \ltrch\fcs0 
-\b\i\fs26\lang0\langfe1033\loch\f31506\hich\af31506\dbch\af31505\langnp0\langfenp1033 \sbasedon10 \slink5 \slocked \ssemihidden \spriority9 Heading 5 Char;}{\s20\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 
-\ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext20 \slink21 \ssemihidden footnote text;}{\*\cs21 \additive \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang0\langfe1033\langnp0\langfenp1033 
-\sbasedon10 \slink20 \slocked \ssemihidden Footnote Text Char;}{\*\cs22 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \super \sbasedon10 \ssemihidden footnote reference;}{\s23\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \cbpat9 \rtlch\fcs1 
-\af38\afs20\alang1025 \ltrch\fcs0 \f38\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext23 \slink24 \ssemihidden \styrsid9966710 Document Map;}{\*\cs24 \additive \rtlch\fcs1 \af38\afs16 \ltrch\fcs0 
-\f38\fs16\lang0\langfe1033\langnp0\langfenp1033 \sbasedon10 \slink23 \slocked \ssemihidden Document Map Char;}{\*\ts25\tsrowd\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv
-\brdrs\brdrw10 \trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv 
-\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe2052\loch\f0\hich\af0\dbch\af13\cgrid\langnp1033\langfenp2052 \sbasedon11 \snext25 \styrsid3870519 Table Grid;}{
-\s26\ql \li0\ri0\widctlpar\tqc\tx4320\tqr\tx8640\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 
-\sbasedon0 \snext26 \slink27 \ssemihidden \sunhideused \styrsid13245431 header;}{\*\cs27 \additive \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang0\langfe1033\langnp0\langfenp1033 \sbasedon10 \slink26 \slocked \ssemihidden \styrsid13245431 Header Char;}{
-\s28\ql \li0\ri0\widctlpar\tqc\tx4320\tqr\tx8640\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 
-\sbasedon0 \snext28 \slink29 \ssemihidden \sunhideused \styrsid13245431 footer;}{\*\cs29 \additive \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang0\langfe1033\langnp0\langfenp1033 \sbasedon10 \slink28 \slocked \ssemihidden \styrsid13245431 Footer Char;}}
-{\*\listtable{\list\listtemplateid1324391182\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'01*;}{\levelnumbers;}\hres0\chhres0 }{\listname ;}\listid-2}
-{\list\listtemplateid-1187883360\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid134807553\'01{\uc1\u-3913 ?};}{\levelnumbers;}\f3\fbias0\hres0\chhres0 
-\fi-360\li1380\jclisttab\tx1380\lin1380 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid134807555\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 
-\fi-360\li2100\jclisttab\tx2100\lin2100 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid134807557\'01{\uc1\u-3929 ?};}{\levelnumbers;}
-\f10\fbias0\hres0\chhres0 \fi-360\li2820\jclisttab\tx2820\lin2820 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid134807553
-\'01{\uc1\u-3913 ?};}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li3540\jclisttab\tx3540\lin3540 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
-\leveltemplateid134807555\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li4260\jclisttab\tx4260\lin4260 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
-\leveltemplateid134807557\'01{\uc1\u-3929 ?};}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4980\jclisttab\tx4980\lin4980 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0
-{\leveltext\leveltemplateid134807553\'01{\uc1\u-3913 ?};}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5700\jclisttab\tx5700\lin5700 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360
-\levelindent0{\leveltext\leveltemplateid134807555\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li6420\jclisttab\tx6420\lin6420 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360
-\levelindent0{\leveltext\leveltemplateid134807557\'01{\uc1\u-3929 ?};}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li7140\jclisttab\tx7140\lin7140 }{\listname ;}\listid54819243}{\list\listtemplateid1466231512\listhybrid{\listlevel\levelnfc0
-\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid134807567\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel\levelnfc4
-\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid134807577\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li1440\jclisttab\tx1440\lin1440 }
-{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid134807579\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-180\li2160
-\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid134807567\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 
-\hres0\chhres0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid134807577\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 
-\af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid134807579\'02\'05.;}{\levelnumbers
-\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-180\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid134807567
-\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
-\leveltemplateid134807577\'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace360
-\levelindent0{\leveltext\leveltemplateid134807579\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-180\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid423111094}{\list\listtemplateid-688208078\listhybrid{\listlevel
-\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid134807567\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li720\jclisttab\tx720\lin720 }{\listlevel
-\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid134807577\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li1440
-\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid134807579\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 
-\hres0\chhres0 \fi-180\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid134807567\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 
-\af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid134807577\'02\'04.;}{\levelnumbers
-\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid134807579
-\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-180\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
-\leveltemplateid134807567\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360
-\levelindent0{\leveltext\leveltemplateid134807577\'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1
-\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid134807579\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-180\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1301228057}}{\*\listoverridetable
-{\listoverride\listid-2\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelold\levelspace0\levelindent283{\leveltext\'01{\uc1\u-3913 ?};}{\levelnumbers;}\f3\fbias0 
-\fi-283\li283\lin283 }}\ls1}{\listoverride\listid54819243\listoverridecount0\ls2}{\listoverride\listid423111094\listoverridecount0\ls3}{\listoverride\listid1301228057\listoverridecount0\ls4}}{\*\revtbl {Unknown;}{x120li;}}{\*\rsidtbl \rsid263778\rsid532711\rsid1256931\rsid1385641
-\rsid2174399\rsid3870519\rsid4806205\rsid5273633\rsid6626992\rsid6646124\rsid8201307\rsid8468412\rsid9512948\rsid9847436\rsid9966710\rsid10027302\rsid10029829\rsid12140715\rsid12266512\rsid13245431\rsid13650870\rsid13834222\rsid15169297\rsid15427529
-\rsid16195214\rsid16410473}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\author Preferred Customer}{\operator x120li}{\creatim\yr1999\mo3\dy16\hr14\min36}
-{\revtim\yr2009\mo6\dy9\hr18\min22}{\printim\yr1999\mo3\dy17\hr16\min34}{\version18}{\edmins29}{\nofpages11}{\nofwords5165}{\nofchars33192}{\*\company Dell Computer Corporation}{\nofcharsws38281}{\vern32895}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.
-com/office/word/2003/wordml}{\xmlns2 urn:schemas-microsoft-com:office:smarttags}}\paperw11906\paperh16838\margl1800\margr1800\margt1440\margb1440\gutter0\ltrsect 
-\deftab340\widowctrl\ftnbj\aenddoc\revisions\trackmoves1\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0
-\showxmlerrors0\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\formshade\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale120\nolnhtadjtbl\rsidroot9966710 \fet0
-{\*\wgrffmtfilter 013f}\ilfomacatclnup0{\*\ftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 
-\ltrch\fcs0 \insrsid13245431 \chftnsep 
-\par }}{\*\ftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13245431 
-\chftnsepc 
-\par }}{\*\aftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13245431 
-\chftnsep 
-\par }}{\*\aftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13245431 
-\chftnsepc 
-\par }}\ltrpar \sectd \ltrsect\linex0\headery709\footery709\colsx709\endnhere\sectdefaultcl\sftnbj {\*\pnseclvl1\pnlcrm\pnstart1\pnindent283\pnhang }{\*\pnseclvl2\pnf3\pnstart1\pnindent283 {\pntxtb \hich ?}}{\*\pnseclvl3\pnf3\pnstart1\pnindent283 
-{\pntxtb \hich ?}}{\*\pnseclvl4\pnf3\pnstart1\pnindent283 {\pntxtb \hich ?}}{\*\pnseclvl5\pnf3\pnstart1\pnindent283 {\pntxtb \hich ?}}{\*\pnseclvl6\pnf3\pnstart1\pnindent283 {\pntxtb \hich ?}}{\*\pnseclvl7\pnf3\pnstart1\pnindent283 {\pntxtb \hich ?}}
-{\*\pnseclvl8\pnf3\pnstart1\pnindent283 {\pntxtb \hich ?}}{\*\pnseclvl9\pnf3\pnstart1\pnindent283 {\pntxtb \hich ?}}\pard\plain \ltrpar\s1\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 
-\ab\af1\afs28\alang1025 \ltrch\fcs0 \b\f1\fs28\lang1033\langfe1033\kerning28\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid6646124 Converting text between different character-encoding systems
-\par }\pard\plain \ltrpar\qj \fi720\li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
-EPOC machines internally store text encoded in Unicode - the character set}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs22\super\insrsid6646124 \chftn {\footnote \ltrpar \pard\plain \ltrpar\s20\qj \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 
-\af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs22\super\insrsid6646124 \chftn }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  The term \'93character set\'94
- is used throughout this document to refer to }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid6646124 a set of characters and their encodings}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  as defin
-ed by a particular body (e.g. a government organization, a consortium, etc).}}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- defined by The Unicode Consortium. However, much of the text sent between the EPOC machine and the outside world (e.g. in emails) will be encoded in character sets other than Uni
-code. The CHARCONV component provides a DLL for converting text (both ways) between Unicode and other standard characters sets. It also supports converting (both ways) between }{\rtlch\fcs1 \af0 \ltrch\fcs0 
-\deleted\revauthdel1\revdttmdel1188449428\insrsid6646124\delrsid9847436 2-byte Unicode (also known as }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 UCS-2}{\rtlch\fcs1 \af0 \ltrch\fcs0 
-\deleted\revauthdel1\revdttmdel1188449428\insrsid6646124\delrsid9847436 )}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  and }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\revauthdel1\revdttmdel1188449428\insrsid6646124\delrsid9847436 its }{\rtlch\fcs1 \af0 
-\ltrch\fcs0 \deleted\revauthdel1\revdttmdel1188449422\insrsid6646124\delrsid5273633 two }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\revauthdel1\revdttmdel1188449428\insrsid6646124\delrsid9847436 transformation format}{\rtlch\fcs1 \af0 \ltrch\fcs0 
-\deleted\revauthdel1\revdttmdel1188449422\insrsid6646124\delrsid5273633 s}{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\revauthdel1\revdttmdel1188449428\insrsid6646124\delrsid9847436  }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 UTF-7}{\rtlch\fcs1 \af0 
-\ltrch\fcs0 \cf0\revised\revauth1\revdttm1188449428\insrsid9847436 , as well as between UTF-16}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- and UTF-8. There is no direct way to convert between UTF-7 and UTF-8 though - in fact CHARCONV as a whole does not provide any direct conversion facilities other than to or from Unicode (UCS-2}{\rtlch\fcs1 \af0 \ltrch\fcs0 
-\cf0\revised\revauth1\revdttm1188449423\insrsid5273633  or }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188449421\insrsid5273633 UTF-16}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 ).
-\par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\faauto\outlinelevel1\rin0\lin0\itap0 \rtlch\fcs1 \ab\ai\af1\afs24\alang1025 \ltrch\fcs0 \b\i\f1\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 
-\ltrch\fcs0 \insrsid6646124 Converting text between Unicode and other standard character sets
-\par }\pard\plain \ltrpar\qj \fi720\li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 The class }{\rtlch\fcs1 
-\af2 \ltrch\fcs0 \f2\insrsid6646124 CCnvCharacterSetConverter}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  is provided for converting text between Unicode and other standard character sets. The public parts of the class are shown below:
-\par }\pard \ltrpar\qj \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid6646124 class CCnvCharacterSetConverter : public CBase
-\par \tab \{
-\par public:
-\par \tab enum TAvailability
-\par \tab \tab \{
-\par \tab \tab EAvailable,
-\par \tab \tab ENotAvailable
-\par \tab \tab \};
-\par \tab enum TError
-\par \tab \tab \{
-\par \tab \tab EErrorIllFormedInput=-1
-\par \tab \tab \};
-\par \tab enum TEndianness
-\par \tab \tab \{
-\par \tab \tab ELittleEndian,
-\par \tab \tab EBigEndian
-\par \tab \tab \};
-\par \tab enum \{KStateDefault=0\};
-\par \tab struct SCharacterSet
-\par \tab \tab \{
-\par \tab \tab inline TUint Identifier() const;
-\par \tab \tab inline TBool NameIsFileName() const;
-\par \tab \tab inline TPtrC Name() const;
-\par \tab private:
-\par \tab \tab // ...
-\par \tab \tab \};
-\par public:
-\par \tab IMPORT_C static CCnvCharacterSetConverter* NewL();
-\par \tab IMPORT_C static CCnvCharacterSetConverter* NewLC();
-\par \tab IMPORT_C virtual ~CCnvCharacterSetConverter();
-\par \tab IMPORT_C static CArrayFix<SCharacterSet>* CreateArrayOfCharacterSetsAvailableL(RFs&);
-\par \tab IMPORT_C static CArrayFix<SCharacterSet>* CreateArrayOfCharacterSetsAvailableLC(RFs&);
-\par \tab IMPORT_C TUint ConvertStandardNameOfCharacterSetToIdentifierL(const TDesC8&, RFs&);
-\par \tab IMPORT_C HBufC8* ConvertCharacterSetIdentifierToStandardNameL(TUint, RFs&);
-\par \tab IMPORT_C TUint ConvertMibEnumOfCharacterSetToIdentifierL(TInt, RFs&);
-\par \tab IMPORT_C TInt ConvertCharacterSetIdentifierToMibEnumL(TUint, RFs&);
-\par \tab IMPORT_C void PrepareToConvertToOrFromL(TUint, const CArrayFix<SCharacterSet>&, RFs&);
-\par \tab IMPORT_C TAvailability PrepareToConvertToOrFromL(TUint, RFs&);
-\par \tab IMPORT_C void SetDefaultEndiannessOfForeignCharacters(TEndianness);
-\par \tab IMPORT_C void SetReplacementForUnconvertibleUnicodeCharactersL(const TDesC8&);
-\par \tab IMPORT_C TInt ConvertFromUnicode(TDes8&, const TDesC16&) const;
-\par \tab IMPORT_C TInt ConvertFromUnicode(TDes8&, const TDesC16&, TInt&) const;
-\par \tab IMPORT_C TInt ConvertFromUnicode(TDes8&, const TDesC16&, TInt&, TInt&) const;
-\par \tab IMPORT_C TInt ConvertToUnicode(TDes16&, const TDesC8&, TInt&) const;
-\par \tab IMPORT_C TInt ConvertToUnicode(TDes16&, const TDesC8&, TInt&, TInt&) const;
-\par \tab IMPORT_C TInt ConvertToUnicode(TDes16&, const TDesC8&, TInt&, TInt&, TInt&) const;
-\par private:
-\par \tab // ...
-\par \tab \};
-\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\faauto\outlinelevel2\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \f1\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 
-\insrsid6646124 Overview
-\par }\pard\plain \ltrpar\qj \fi720\li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
-There are two basic stages involved in using a }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 CCnvCharacterSetConverter}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- object to change the encoding of a piece of text from one character set to another. It is first necessary to select the foreign character set of interest. Then having done that, t
-he actual conversion of text to or from that character set can be performed. Selecting the foreign character set is done by calling one of the overloads of }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 PrepareToConvertToOrFromL}{\rtlch\fcs1 \af0 
-\ltrch\fcs0 \insrsid6646124 . Text conversion itself is done by calling one of the overloads of }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertFromUnicode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  or }{\rtlch\fcs1 \af2 \ltrch\fcs0 
-\f2\insrsid6646124 ConvertToUnicode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 .
-\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\faauto\outlinelevel2\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \f1\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 
-\insrsid6646124 Creating and destroying }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 CCnvCharacterSetConverter}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid6646124  objects
-\par }\pard\plain \ltrpar\qj \fi720\li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 Objects of the }{
-\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 CCnvCharacterSetConverter}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  class are created by calling either of the static member functions }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 NewL}{
-\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  or }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 NewLC}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 , the latter leaving the object on the clean
-up stack. These objects are created on the heap and are thus destroyed using the }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 delete}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- operator as normal. Creating one of these objects only involves some allocation on the heap and initialization of member data - it does not involve anything as onerous as scanning for files, or loading data from a file. Such \'93heavyweight\'94
- activities are done at a later stage (see \'93Selecting the foreign character set to convert to/from\'94 below).
-\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\faauto\outlinelevel2\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \f1\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 
-\insrsid6646124 The member functions for doing the conversion
-\par }\pard\plain \ltrpar\qj \fi720\li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
-The most important member functions of the class are }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertFromUnicode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  and }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertToUnicode}{\rtlch\fcs1 
-\af0 \ltrch\fcs0 \insrsid6646124 . These all convert the text passed in the second parameter and output the resulting text in the first parameter. Sixteen-bit descriptors are used to hold any text encoded in Unicode (UCS-2}{\rtlch\fcs1 \af0 \ltrch\fcs0 
-\cf0\revised\revauth1\revdttm1188449427\insrsid9847436  }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188449429\insrsid12266512 or}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188449427\insrsid9847436  }{\rtlch\fcs1 \af0 
-\ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404155\insrsid13245431 UTF-16}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 )
-, and eight-bit descriptors are used to hold any text encoded in any other character set. Foreign character sets (i.e. character sets other than Unicode) may use a single byte per character (e.g. Code Page 1252) or more than one byte per character (e.g. C
-hina\rquote s GB 2312-80) or even a variable number of bytes per character (e.g. Japan\rquote s Shift-JIS) - hence the need to use eight-bit descriptors.
-\par The third parameter to the second two overloads of }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertFromUnicode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  (which is purely an output parameter) }{\rtlch\fcs1 \af0 \ltrch\fcs0 
-\insrsid10029829\charrsid6626992 holds the
- indices of each Unicode character in the source text that could not be converted.  This is because the foreign character set has no equivalents for these Unicode characters. It can record, at a maximum, 25 unconvertible characters. So if the input source
- text has more than 25 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15427529\charrsid6626992 unconvertible}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10029829\charrsid6626992  characters, only the first 25 of these characters will be recorded.}{\rtlch\fcs1 \af0 
-\ltrch\fcs0 \cf1\insrsid10029829  }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid10029829  }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9966710  }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 Similarly, the fourth parameters to the second two overloads of }{
-\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertToUnicode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- (which are also purely output parameters) tell the caller the number of characters in the input descriptor that could not be converted into Unicode (for the analogous reason). In neither }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 
-ConvertFromUnicode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  or }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertToUnicode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  is conversion aborted because
- of unconvertible characters. (What is written to the output descriptor for such unconvertible characters is discussed in a separate paragraph below.) The purpose of these parameters in the case of both }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 
-ConvertFromUnicode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  and }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertToUnicode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  is to allow t
-he caller to gauge a rough idea of the proportion of characters that are failing to be converted. (Recall that a character in the input descriptor to }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertToUnicode}{\rtlch\fcs1 \af0 \ltrch\fcs0 
-\insrsid6646124  does not necessarily occupy only a single byte of that descriptor. However, since Unicode
- is intended to cover all possible characters and thus be the superset of all character sets, this will rarely, if ever, report anything other than zero characters, although it will report the existence of unconvertible characters if the input descriptor 
-contains illegal \'93characters\'94, i.e. values not actually in the foreign character set.)
-\par The last parameter to the last overloads of both }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertFromUnicode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  and }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertToUnicode}{\rtlch\fcs1 \af0 
-\ltrch\fcs0 \insrsid6646124  (these are again purely output parameters) indicates the index of the first character (or in the case of }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertToUnicode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
-, the index of the first }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid6646124 byte}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- of the first character) in the input descriptor that could not be converted. If all the characters in the input descriptor could be converted, this parameter is set to a negative value.
-\par The }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 TInt}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  value returned by }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertFromUnicode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  and }{
-\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertToUnicode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  is either one of the negative error values defined in }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 CCnvCharacterSetConverter}{\rtlch\fcs1 
-\af0 \ltrch\fcs0 \insrsid6646124 \rquote s }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 enum TError}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs22\super\insrsid6646124 \chftn {\footnote \ltrpar \pard\plain \ltrpar
-\s20\qj \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs22\super\insrsid6646124 \chftn }{\rtlch\fcs1 \af0 
-\ltrch\fcs0 \insrsid6646124  Although there is currently only one error code in }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 CCnvCharacterSetConverter::TError}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 , this ma
-y be extended in the future, so CHARCONV clients should program defensively to allow for this.}}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- or the number of elements left at the end of the input descriptor which were not converted, either (i) because there was no room left in the output descriptor, 
-or (ii) because the input descriptor ended with an incomplete sequence (e.g. half-way through a multi-byte character).
-\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f3\fs20\lang1033\langfe1033\langfenp1033\insrsid6646124 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\qj \fi-283\li283\ri0\widctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0
-\pnf3\pnstart1\pnindent283\pnhang {\pntxtb \hich \'b7}}\faauto\ls1\rin0\lin283\itap0\pararsid9966710 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
-The ability to do partial conversions means that the CHARCONV client does not have to try to guess how big to make the output descript
-or for a given input descriptor, they can simply do the conversion in a loop using a smallish output descriptor (an output descriptor whose }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 MaxLength()}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- is less than about 20 elements would not be recommended) - the code in the \'93Sample code\'94 section below g
-ives a demonstration of how to do this. It is worth noting that even if the output descriptor was not big enough to hold the entire converted input text, it will not necessarily be full in the sense of have its }{\rtlch\fcs1 \af2 \ltrch\fcs0 
-\f2\insrsid6646124 Length()}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  equal its }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 MaxLength()}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 . The only sure
- way to find out whether the whole input descriptor has been converted is to test whether the return value (if not negative) is zero or not.
-\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f3\fs20\lang1033\langfe1033\langfenp1033\insrsid6646124 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\qj \fi-283\li283\ri0\widctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0
-\pnf3\pnstart1\pnindent283\pnhang {\pntxtb \hich \'b7}}\faauto\ls1\rin0\lin283\itap0\pararsid9966710 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
-The ability to cope with an input descriptor being truncated is useful if the client cannot guarantee whether th
-e input descriptor will be complete, e.g. if they themselves are receiving it in chunks from an external source. All that the client needs to do to handle this situation is to add the specified number of descriptor elements to the start of the input descr
-iptor passed to the next call. However, there is a binary compatibility issue here. For those clients whose input descriptor is known to be complete, if they perform the sort of loop found in the first two examples in the \'93Sample code\'94
- section, they would g
-et into an infinite loop if the input descriptor was corrupt such that it ended with an incomplete sequence, as the conversion function would always return a value greater than zero. To avoid this problem arising, the behavior of the conversion functions 
-is actually such that if none of the input descriptor can be consumed because it consists }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid6646124 exclusively}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  of an incomplete sequence, the error }{\rtlch\fcs1 
-\af2 \ltrch\fcs0 \f2\insrsid6646124 EErrorIllFormedInput}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  (defined in }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 CCnvCharacterSetConverter}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 \rquote s }{
-\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 enum TError}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 ) will be returned. In order for this error not to be returned when the presence of an incomplete sequence at the end of the input descriptor does }{
-\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid6646124 not}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  mean it is corrupt, the input descriptor must be long enough such that it cannot consist exclusively of an incomplete sequence - an input descriptor of
- at least 20 elements should be plenty long enough. (The third example in the \'93Sample code\'94 section below gives an illustration of how to use CHARCONV to convert fragmented input.)
-\par }\pard \ltrpar\qj \fi720\li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 The third parameter to }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 
-ConvertToUnicode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  is used to save state information across multiple calls to }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertToUnicode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- where each call starts off where the previous call reached in the input descriptor. At the start of each such series of calls to }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertToUnicode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- this parameter must be set to }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 CCnvCharacterSetConverter::KStateDefault}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  and thereafter not tampered with, but simply passed in to each }{\rtlch\fcs1 \af2 
-\ltrch\fcs0 \f2\insrsid6646124 ConvertToUnicode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  call.
-\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel2\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 
-\f1\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid6646124 Selecting the foreign character set to convert to/from
-\par }\pard\plain \ltrpar\qj \fi720\li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 
-\ltrch\fcs0 \insrsid6646124 When the }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 CCnvCharacterSetConverter}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  object has been created, before either }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 
-ConvertFromUnicode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  or }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertToUnicode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- can be called, it is necessary to state which foreign character set is to be converted to/from. This is done by calling either of the two overloads of }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 PrepareToConvertToOrFromL}{\rtlch\fcs1 \af0 
-\ltrch\fcs0 \insrsid6646124 . Each takes the identifier (a Symbian-defined UID) of the required character set as it\rquote s first parameter, and a file-server session object as it\rquote 
-s last parameter. The first overload requires the array returned by either of }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 CCnvCharacterSetConverter}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 \rquote s static member functions }{\rtlch\fcs1 \af2 
-\ltrch\fcs0 \f2\insrsid6646124 CreateArrayOfCharacterSetsAvailableL}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  or }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 CreateArrayOfCharacterSetsAvailableLC}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- to be passed in as its second parameter. This array contains one }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 CCnvCharacterSetConverter::SCharacterSet}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- item for each foreign character set that is available (at run-time) for text conversion. The }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 Identifier}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  member function of }{\rtlch\fcs1 \af2 \ltrch\fcs0 
-\f2\insrsid6646124 SCharacterSet}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  returns the Symbian-UID identifier of the character set represented by that object. (See below for a discussion of }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 
-SCharacterSet}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 \rquote s other member functions.) Creating this array is not required for calling the second overload.
-\par If the first overload of }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 PrepareToConvertToOrFromL}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- is used, the character-set identifier passed into the first parameter must correspond to an item in the array passed to the second parameter (i.e. that item\rquote s }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 Identifier}{\rtlch\fcs1 \af0 
-\ltrch\fcs0 \insrsid6646124  member function returns the same number), or a panic will oc
-cur. The second overload, however, is less demanding - the character set identified in the first parameter does not have to be available at run-time. Depending on whether the character set is available or not, it returns }{\rtlch\fcs1 \af2 \ltrch\fcs0 
-\f2\insrsid6646124 EAvailable}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  or }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ENotAvailable}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  (from }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 C
-CnvCharacterSetConverter}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 \rquote s }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 enum TAvailability}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 ). Calls to }{\rtlch\fcs1 \af2 \ltrch\fcs0 
-\f2\insrsid6646124 ConvertFromUnicode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  or }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertToUnicode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- convert to or from the character set whose identifier was passed into the last }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 PrepareToConvertToOrFromL}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  call which did not return }{\rtlch\fcs1 \af2 
-\ltrch\fcs0 \f2\insrsid6646124 ENotAvailable}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 . If all calls previously returned }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ENotAvailable}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
-, a panic will occur.
-\par The two overloads of }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 PrepareToConvertToOrFromL}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- are designed for different usage. In a situation where it may be necessary to present the user with a list of all the possible character sets for them to c
-hoose which to convert to/from, then the first overload would need to be used. However, if the CHARCONV client wishes to convert the content of, say, an email message, or an HTML document, i.e. something that describes within itself what character set its
- content is in, then the second overload would be more appropriate.
-\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel2\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 
-\f1\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid6646124 Efficiency considerations
-\par }\pard\plain \ltrpar\qj \fi720\li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 
-\ltrch\fcs0 \insrsid6646124 The first overload of }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 PrepareToConvertToOrFromL}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- should be used in preference to the second overload if a number of different character sets are to be converted to/from in a short space of time. The reason for this is that the second overload, unlike the first, internally has to do a file scan}{
-\rtlch\fcs1 \af0 \ltrch\fcs0 \cs22\super\insrsid6646124 \chftn {\footnote \ltrpar \pard\plain \ltrpar\s20\qj \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 
-\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs22\super\insrsid6646124 \chftn }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  The second overload of }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 
-PrepareToConvertToOrFromL}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  is fast to call for if the required conversion data/code is hard-coded wit
-hin CHARCONV (this currently applies to Code Page 1252, ISO 8859-1, ASCII and SMS 7-bit, and also the Unicode transformation formats UTF-7 and UTF-8). For other character sets, file scanning is necessary.}}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- which is similar to the one performed by }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 CreateArrayOfCharacterSetsAvailableL}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  and }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 
-CreateArrayOfCharacterSetsAvailableLC}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
-. Thus it is more efficient to do the file-scanning once to start with by calling one of these array-creating functions, and then pass that array in to the first overload of }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 PrepareToConvertToOrFromL}{
-\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- each time the target/source character set is to be changed (first checking to see if each required character set is in the array, to avoid the panic that occurs if it is not). However, if the different calls to }{\rtlch\fcs1 \af2 \ltrch\fcs0 
-\f2\insrsid6646124 PrepareToConvertToOrFromL}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  are spread out over a }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid6646124 considerable}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- time, it may be best to use the second overload for this as it will perform the necessary re-scanning of files each time and thus pick up any new files that have been installed in the mean time.
-\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel2\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 
-\f1\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 SCharacterSet}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid6646124  and the names of foreign character sets
-\par }\pard\plain \ltrpar\qj \fi720\li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af2 
-\ltrch\fcs0 \f2\insrsid6646124 SCharacterSet}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 \rquote s member function }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 Name}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- returns the full path and file name of the conversion-data file for that character set, although for those character sets for which CHARCONV hard codes conversion data (rather than getting it from a file) }{\rtlch\fcs1 \af2 \ltrch\fcs0 
-\f2\insrsid6646124 Name}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  returns an arbitrary name for that character set. }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid6646124 
-Note that the name returned cannot be treated as an Internet-standard name. Converting between the Internet-standard names of character sets and the Symbian-UID identifiers that }{\rtlch\fcs1 \ai\af2 \ltrch\fcs0 \i\f2\insrsid6646124 Prepar
-eToConvertToOrFromL}{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid6646124  expects is provided by the member functions }{\rtlch\fcs1 \ai\af2 \ltrch\fcs0 \i\f2\insrsid6646124 ConvertStandardNameOfCharacterSetToIdentifierL}{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 
-\i\insrsid6646124  and }{\rtlch\fcs1 \ai\af2 \ltrch\fcs0 \i\f2\insrsid6646124 ConvertCharacterSetIdentifierToStandardNameL}{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid6646124  (see \'93Other member functions\'94 below).}{\rtlch\fcs1 \af0 \ltrch\fcs0 
-\insrsid6646124  Also, the name returned is locale-independent and therefore should be hidden from the user}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs22\super\insrsid6646124 \chftn {\footnote \ltrpar \pard\plain \ltrpar\s20\qj \li0\ri0\widctlpar\wrapdefault{\*\pn 
-\pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs22\super\insrsid6646124 \chftn }{\rtlch\fcs1 \af0 
-\ltrch\fcs0 \insrsid6646124  If a character-set name needs to be shown to the user (and therefore is locale-dependent), that name should to be mapped to the locale-independent name returned by }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 Name}{
-\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  by some software at a higher level than CHARCONV.}}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 . }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 NameIsFileName}{\rtlch\fcs1 \af0 \ltrch\fcs0 
-\insrsid6646124  returns whether }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 Name}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  returns a file name or just an arbitrary name. (This may prove useful, for example, to find out whether F32\rquote 
-s file-name parsing class }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 TParse}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  can be used on the return value of }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 Name}{\rtlch\fcs1 \af0 \ltrch\fcs0 
-\insrsid6646124 .)
-\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel2\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 
-\f1\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid6646124 Other member functions
-\par }\pard\plain \ltrpar\qj \fi720\li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 
-\ltrch\fcs0 \insrsid6646124 For character sets using more than one byte per character, the \'93endian\'94-ness of those characters may be defined or left open}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs22\super\insrsid6646124 \chftn {\footnote \ltrpar 
-\pard\plain \ltrpar\s20\qj \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 
-\cs22\super\insrsid6646124 \chftn }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  As an example of each, {\*\xmlopen\xmlns2{\factoidname country-region}}{\*\xmlopen\xmlns2{\factoidname place}}China{\*\xmlclose}{\*\xmlclose}\rquote 
-s GB2312-80 defines the byte order of its two-byte characters, whereas Unicode leaves the byte order of its two-byte characters undefined.}}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
-. Although none of the foreign character sets currently supported by CHARCONV are of undefined endianness, the member function }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 SetDefaultEndiannessOfForeignCharacters}{\rtlch\fcs1 \af0 \ltrch\fcs0 
-\insrsid6646124  which takes either }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ELittleEndian}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  or }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 EBigEndian}{\rtlch\fcs1 \af0 \ltrch\fcs0 
-\insrsid6646124  (from }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 CCnvCharacterSetConverter}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 \rquote s }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 enum TEndianness}{\rtlch\fcs1 \af0 \ltrch\fcs0 
-\insrsid6646124 ) allows the CHARCONV client to set the endianness that }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertFromUnicode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  and }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 
-ConvertToUnicode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  use when converting to or from foreign character sets of undefined endianness.
-\par When converting to Unicode, e
-ach character in the input descriptor for which there is no equivalent in Unicode is converted to the Unicode character specifically designated for that purpose - 0xFFFD. (As already noted, this should rarely, if ever, be the case, unless the input is cor
-rupt.) When converting the other way, each foreign character set provides a default character to be used for each Unicode character lacking an equivalent in that character set. This default may be overridden by calling the member function }{\rtlch\fcs1 
-\af2 \ltrch\fcs0 \f2\insrsid6646124 SetReplacementForUnconvertibleUnicodeCharactersL}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 . It should be noted that }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 PrepareToConvertToOrFromL}{\rtlch\fcs1 \af0 
-\ltrch\fcs0 \insrsid6646124  undoes the effect of any previous }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 SetReplacementForUnconvertibleUnicodeCharactersL}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- call, and thus for the latter to have any effect, it should be called between the }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 PrepareToConvertToOrFromL}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  call and the subsequent }{\rtlch\fcs1 \af2 
-\ltrch\fcs0 \f2\insrsid6646124 ConvertFromUnicode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  call(s). The parameter to }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 SetReplacementForUnconvertibleUnicodeCharactersL}{\rtlch\fcs1 \af0 \ltrch\fcs0 
-\insrsid6646124  should be passed a single, possibly multi-byte, character, whose byte order (if multi-byte) should be little-endian if the endianness of the character set is undefined, otherwise the same endianness as is defined by the character set.
-
-\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertStandardNameOfCharacterSetToIdentifierL}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  is provided for the CHARCONV client to be able to find out the Symbian UID of a character set f
-or a given Internet-standard name of that character set. It returns zero if the name of the character set was not known. This function can be called at any time in the }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 CCnvCharacterSetConverter}{
-\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  object\rquote s lifetime.
-\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertCharacterSetIdentifierToStandardNameL}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- is provided for the CHARCONV client to be able to find out an Internet-standard name of a character set (which is a \'93preferred MIME name\'94 where possible) for the Symbian UID of that character set. It returns }{\rtlch\fcs1 \af2 \ltrch\fcs0 
-\f2\insrsid6646124 NULL}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  if the UID of the character set was not known. This function can be called at any time in the }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 CCnvCharacterSetConverter}{\rtlch\fcs1 
-\af0 \ltrch\fcs0 \insrsid6646124  object\rquote s lifetime.
-\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertMibEnumOfCharacterSetToIdentifierL}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  is provided for the CHARCONV client to be able to find out the Symbian UID of a character set for a given MIB-enum}{
-\rtlch\fcs1 \af0 \ltrch\fcs0 \cs22\super\insrsid6646124 \chftn {\footnote \ltrpar \pard\plain \ltrpar\s20\qj \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 
-\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs22\super\insrsid6646124 \chftn }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  MIB enum values are defined in }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid6646124 
-ftp.isi.edu/in-notes/iana/assignments/character-sets}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 .}}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- of that character set. It returns zero if the name of the character set was not known. This function can be called at any time in the }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 CCnvCharacterSetConverter}{\rtlch\fcs1 \af0 \ltrch\fcs0 
-\insrsid6646124  object\rquote s lifetime.
-\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertCharacterSetIdentifierToMibEnumL}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- is provided for the CHARCONV client to be able to find out a MIB-enum of a character set for the Symbian UID of that character set. It returns zero if the UID of the character set was not known. This function can be called at any time in the }{
-\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 CCnvCharacterSetConverter}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  object\rquote s lifetime.
-\par The four functions described above all behave as follows. The first time any if them is called with a first parameter that is not in }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 CCnvCharacterSetConverter}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
-\rquote s internal hard-coded list, a file scan is done to try to find out the required information from a file. The results of this are stored in the }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 CCnvCharacterSetConverter}{\rtlch\fcs1 \af0 
-\ltrch\fcs0 \insrsid6646124  object, so that no subsequent call to }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid6646124 any}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  of these four functions will repeat the file scanning.
-\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel2\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 
-\f1\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid6646124 Sample code
-\par }\pard\plain \ltrpar\qj \fi720\li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 
-\ltrch\fcs0 \insrsid6646124 The sample code below illustrates typical usage of }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 CCnvCharacterSetConverter}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 .
-\par }\pard \ltrpar\qj \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
-\par An example of how to convert, in small chunks, Unicode text to another character set:
-\par 
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid6646124 
-LOCAL_C void ConvertUnicodeTextL(CCnvCharacterSetConverter& aCharacterSetConverter,
-\par \tab \tab \tab \tab \tab \tab \tab \tab RFs& aFileServerSession,
-\par \tab \tab \tab \tab \tab \tab \tab \tab TUint aForeignCharacterSet,
-\par \tab \tab \tab \tab \tab \tab \tab \tab const TDesC16& aUnicodeText)
-\par \tab \{
-\par \tab if (aCharacterSetConverter.PrepareToConvertToOrFromL(aForeignCharacterSet, aFileServerSession)
-\par \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab !=CCnvCharacterSetConverter::EAvailable)
-\par \tab \tab User::Leave(KErrNotSupported);
-\par 
-\par \tab TBuf8<20> outputBuffer;
-\par \tab TPtrC16 remainderOfUnicodeText(aUnicodeText);
-\par \tab FOREVER
-\par \tab \tab \{
-\par \tab \tab const TInt returnValue=aCharacterSetConverter.ConvertFromUnicode(outputBuffer,
-\par \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab remainderOfUnicodeText);
-\par \tab \tab if (returnValue==CCnvCharacterSetConverter::EErrorIllFormedInput)
-\par \tab \tab \tab User::Leave(KErrCorrupt);
-\par \tab \tab else if (returnValue<0) // future-proof against "TError" expanding
-\par \tab \tab \tab User::Leave(KErrGeneral);
-\par 
-\par \tab \tab // ? - do something here with outputBuffer
-\par 
-\par \tab \tab if (returnValue==0)
-\par \tab \tab \tab break; // all of aUnicodeText has been converted and handled
-\par \tab \tab remainderOfUnicodeText.Set(remainderOfUnicodeText.Right(returnValue));
-\par \tab \tab \}
-\par \tab \}
-\par }\pard \ltrpar\qj \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
-\par An example of how to convert, in small chunks, text in another character set to Unicode:
-\par 
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid6646124 LOCAL_C void Co
-nvertForeignTextL(CCnvCharacterSetConverter& aCharacterSetConverter,
-\par \tab \tab \tab \tab \tab \tab \tab \tab RFs& aFileServerSession,
-\par \tab \tab \tab \tab \tab \tab \tab \tab TUint aForeignCharacterSet,
-\par \tab \tab \tab \tab \tab \tab \tab \tab const TDesC8& aForeignText)
-\par \tab \{
-\par \tab if (aCharacterSetConverter.PrepareToConvertToOrFromL(aForeignCharacterSet, aFileServerSession)
-\par \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab !=CCnvCharacterSetConverter::EAvailable)
-\par \tab \tab User::Leave(KErrNotSupported);
-\par 
-\par \tab TBuf16<20> outputBuffer;
-\par \tab TPtrC8 remainderOfForeignText(aForeignText);
-\par \tab // "state" must be initialized to CCnvCharacterSetConverter::KStateDefault - it must not be
-\par \tab // tampered with thereafter but simply passed into each call of "ConvertToUnicode"
-\par \tab TInt state=CCnvCharacterSetConverter::KStateDefault;
-\par \tab FOREVER
-\par \tab \tab \{
-\par \tab \tab const TInt returnValue=aCharacterSetConverter.ConvertToUnicode(outputBuffer,
-\par \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab remainderOfForeignText,
-\par \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab state);
-\par \tab \tab if (returnValue==CCnvCharacterSetConverter::EErrorIllFormedInput)
-\par \tab \tab \tab User::Leave(KErrCorrupt);
-\par \tab \tab else if (returnValue<0) // future-proof against "TError" expanding
-\par \tab \tab \tab User::Leave(KErrGeneral);
-\par 
-\par \tab \tab // ? - do something here with outputBuffer
-\par 
-\par \tab \tab if (returnValue==0)
-\par \tab \tab \tab break; // all of aForeignText has been converted and handled
-\par \tab \tab remainderOfForeignText.Set(remainderOfForeignText.Right(returnValue));
-\par \tab \tab \}
-\par \tab \}
-\par }\pard \ltrpar\qj \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
-\par An example of how to convert, in small chunks, }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid6646124 fragmented}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  text in another character set to Unicode:
-\par 
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid6646124 
-LOCAL_C void ConvertForeignTextL(CCnvCharacterSetConverter& aCharacterSetConverter,
-\par \tab \tab \tab \tab \tab \tab \tab \tab RFs& aFileServerSession,
-\par \tab \tab \tab \tab \tab \tab \tab \tab TUint aForeignCharacterSet)
-\par \tab \{
-\par \tab if (aCharacterSetConverter.PrepareToConvertToOrFromL(aForeignCharacterSet, aFileServerSession)
-\par \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab !=CCnvCharacterSetConverter::EAvailable)
-\par \tab \tab User::Leave(KErrNotSupported);
-\par 
-\par \tab const TInt KMaximumLengthOfBufferForForeignText=200;
-\par \tab TUint8 bufferForForeignText[KMaximumLengthOfBufferForForeignText];
-\par \tab TInt lengthOfBufferForForeignText=0;
-\par 
-\par \tab FOREVER
-\par \tab \tab \{
-\par \tab \tab TPtr8 nextChunkOfForeignText(bufferForForeignText+lengthOfBufferForForeignText,
-\par \tab \tab \tab \tab \tab \tab \tab KMaximumLengthOfBufferForForeignText-lengthOfBufferForForeignText);
-\par 
-\par \tab \tab // ? load nextChunkOfForeignText here
-\par 
-\par \tab \tab const TInt lengthOfNextChunkOfForeignText=nextChunkOfForeignText.Length();
-\par \tab \tab lengthOfBufferForForeignText+=lengthOfNextChunkOfForeignText;
-\par 
-\par \tab \tab const TBool isLastChunkOfForeignText= // ? find out from the source of the foreign text
-\par \tab \tab // whether this is the last chunk and set this variable accordingly, e.g. the source may
-\par \tab \tab // define that the last chunk is of length zero, in which case the expression
-\par \tab \tab // "(lengthOfNextChunkOfForeignText==0)" would be assigned to this variable; note that
-\par \tab \tab // even if the length of this chunk is zero, we can't just exit this function here as
-\par \tab \tab // bufferForForeignText may not be empty (i.e. lengthOfBufferForForeignText>0)
-\par 
-\par \tab \tab TBuf16<20> outputBuffer;
-\par \tab \tab TPtrC8 remainderOfForeignText(bufferForForeignText, lengthOfBufferForForeignText);
-\par \tab \tab // "state" must be initialized to CCnvCharacterSetConverter::KStateDefault - it must not
-\par \tab \tab // be tampered with thereafter but simply passed into each call of "ConvertToUnicode"
-\par \tab \tab TInt state=CCnvCharacterSetConverter::KStateDefault;
-\par \tab \tab FOREVER
-\par \tab \tab \tab \{
-\par \tab \tab \tab const TInt lengthOfRemainderOfForeignText=remainderOfForeignText.Length();
-\par \tab \tab \tab if (isLastChunkOfForeignText)
-\par \tab \tab \tab \tab \{
-\par \tab \tab \tab \tab if (lengthOfRemainderOfForeignText==0)
-\par \tab \tab \tab \tab \tab return; // the single point of exit of this function
-\par \tab \tab \tab \tab \}
-\par \tab \tab \tab else
-\par \tab \tab \tab \tab \{
-\par \tab \tab \tab \tab // As this isn't the last chunk, we don't want ConvertToUnicode to return
-\par \tab \tab \tab \tab // CCnvCharacterSetConverter::EErrorIllFormedInput if the input descriptor ends
-\par \tab \tab \tab \tab // with an incomplete sequence - but it will only do this if *none* of the input
-\par \tab \tab \tab \tab // descriptor can be consumed. Therefore if the input descriptor is long enough
-\par \tab \tab \tab \tab // (20 elements or longer is plenty adequate) there is no danger of this error
-\par \tab \tab \tab \tab // being returned for this reason. If it's shorter than that, we'll simply put it
-\par \tab \tab \tab \tab // at the start of the buffer so that it gets converted with the next chunk.
-\par \tab \tab \tab \tab if (lengthOfRemainderOfForeignText<20)
-\par \tab \tab \tab \tab \tab \{
-\par \tab \tab \tab \tab \tab // put any remaining foreign text at the start of bufferForForeignText
-\par \tab \tab \tab \tab \tab lengthOfBufferForForeignText=lengthOfRemainderOfForeignText;
-\par \tab \tab \tab \tab \tab Mem::Copy(bufferForForeignText, remainderOfForeignText.Ptr(),
-\par \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab lengthOfBufferForForeignText);
-\par \tab \tab \tab \tab \tab break;
-\par \tab \tab \tab \tab \tab \}
-\par \tab \tab \tab \tab \}
-\par 
-\par \tab \tab \tab const TInt returnValue=aCharacterSetConverter.ConvertToUnicode(outputBuffer,
-\par \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab remainderOfForeignText,
-\par \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab state);
-\par \tab \tab \tab if (returnValue==CCnvCharacterSetConverter::EErrorIllFormedInput)
-\par \tab \tab \tab \tab User::Leave(KErrCorrupt);
-\par \tab \tab \tab else if (returnValue<0) // future-proof against "TError" expanding
-\par \tab \tab \tab \tab User::Leave(KErrGeneral);
-\par 
-\par \tab \tab \tab // ? - do something here with outputBuffer
-\par 
-\par \tab \tab \tab remainderOfForeignText.Set(remainderOfForeignText.Right(returnValue));
-\par \tab \tab \tab \}
-\par \tab \tab \}
-\par \tab \}
-\par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\outlinelevel1\rin0\lin0\itap0 \rtlch\fcs1 \ab\ai\af1\afs24\alang1025 \ltrch\fcs0 
-\b\i\f1\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid6646124 Converting text between UCS-2}{\rtlch\fcs1 \af1 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188449424\insrsid4806205 /}{\rtlch\fcs1 \af1 
-\ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404155\insrsid13245431 UTF-16}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid6646124  and Unicode\rquote s transformation formats
-\par }\pard\plain \ltrpar\qj \fi720\li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 
-\ltrch\fcs0 \insrsid6646124 The class }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 CnvUtfConverter}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  is provided for converting text between UCS-2}{\rtlch\fcs1 \af0 \ltrch\fcs0 
-\cf0\revised\revauth1\revdttm1188449425\insrsid4806205  and UTF-7, }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188449430\insrsid12266512 as well as }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188449425\insrsid4806205 
-between }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404160\insrsid13245431 UTF-16}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  and }{\rtlch\fcs1 \af0 \ltrch\fcs0 
-\deleted\revauthdel1\revdttmdel1188449425\insrsid6646124\delrsid4806205 the two Unicode transformation formats UTF-7 and }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 UTF-8. (For the definition of these formats, see }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 
-\i\insrsid6646124 The Unicode Standard}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  published by The Unicode Consortium.) The public parts of the class are shown below:
-\par }\pard \ltrpar\qj \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid6646124 class CnvUtfConverter
-\par \tab \{
-\par public:
-\par \tab enum TError
-\par \tab \tab \{
-\par \tab \tab EErrorIllFormedInput=-1
-\par \tab \tab \};
-\par \tab enum \{KStateDefault=0\};
-\par public:
-\par \tab IMPORT_C static TInt ConvertFromUnicodeToUtf7(TDes8&, const TDesC16&, TBool);
-\par \tab IMPORT_C static TInt ConvertFromUnicodeToUtf8(TDes8&, const TDesC16&);
-\par \tab IMPORT_C static TInt ConvertToUnicodeFromUtf7(TDes16&, const TDesC8&, TInt&);
-\par \tab IMPORT_C static TInt ConvertToUnicodeFromUtf8(TDes16&, const TDesC8&);
-\par private:
-\par \tab // ...
-\par \tab \};
-\par }\pard \ltrpar\qj \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
-\par }\pard \ltrpar\qj \fi720\li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 In fact the functionality of this class is also available via the }{\rtlch\fcs1 \af2 
-\ltrch\fcs0 \f2\insrsid6646124 CCnvCharacterSetConverter}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  class by passing it the UID for UTF-7 or UTF-8. However, }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 CnvUtfConverter}{\rtlch\fcs1 \af0 
-\ltrch\fcs0 \insrsid6646124  is provided for ease of use as it requires no instantiation (all the member functions are static). The four func
-tions all convert the text passed in the second parameter and output the resulting text in the first parameter. Sixteen-bit descriptors are used to hold text encoded in UCS-2}{\rtlch\fcs1 \af0 \ltrch\fcs0 
-\deleted\revauthdel1\revdttmdel1188449427\insrsid6646124\delrsid9847436  }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\revauthdel1\revdttmdel1188449426\insrsid6646124\delrsid9847436 (i.e. normal 2-byte Unicode)}{\rtlch\fcs1 \af0 \ltrch\fcs0 
-\cf0\revised\revauth1\revdttm1188449427\insrsid9847436  or }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404162\insrsid13245431 UTF-16}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 , and eight-bit descriptors are used to hold te
-xt encoded either of the transformation formats.
-\par UTF-7 divides the Unicode character set into 3 subsets: set D which is the set of characters that are encoded directly (i.e. unaltered), set B which is the set of characters that are encoded in modified \'93base 64\'94
-, and set O which is the set of characters that can either be encoded directly, or in modified \'93base 64\'94. The }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 TBool}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  parameter to }{\rtlch\fcs1 \af2 
-\ltrch\fcs0 \f2\insrsid6646124 ConvertFromUnicodeToUtf7}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  controls the way that the characters in set O are encoded: passing in }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ETrue}{\rtlch\fcs1 \af0 
-\ltrch\fcs0 \insrsid6646124  causes them to be encoded in \'93base 64\'94 (which is the \'93safer\'94 option), and }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 EFalse}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- causes them to encoded directly. The contents of set O are listed in their entirety below.
-\par }\pard \ltrpar\qj \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
-\par }\pard \ltrpar\qc \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\insrsid6646124 !"#$%&*;<=>@[]^_`\{|\}}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\insrsid6646124 
-\par }\pard \ltrpar\qj \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
-\par }\pard \ltrpar\qj \fi720\li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 The variant of UTF-8 used internally by Java differs from standard UTF-8 in two wa
-ys. First, the specific case of the NULL character (0x0000) is encoded in the two-byte format, and second, only the one-, two- and three-byte formats are used (i.e. not the four-byte format which is normally used for Unicode surrogate-pairs). Generating t
-his variant of UTF-8 is not supported via }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 CnvUtfConverter}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 ; however, it is possible by using }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 
-CCnvCharacterSetConverter}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  with a UID of }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 KCharacterSetIdentifierJavaConformantUtf8}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 .
-\par The }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 TInt}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  value returned by all four member functions is either one of the negative error values defined in }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 
-CnvUtfConverter}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 \rquote s }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 enum TError}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cs22\super\insrsid6646124 \chftn {\footnote \ltrpar \pard\plain \ltrpar
-\s20\qj \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 
-\cs22\super\insrsid6646124 \chftn }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  Although there is currently only one error code in }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 CnvUtfConverter::TError}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
-, this may be extended in the future, so CHARCONV clients should program defensively to allow for this.}}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- or the number of elements left at the end of the input descriptor which were not converted, either (i) because there was no room left in the output descriptor, or (ii) because the input descriptor ended with an incomplete sequence (e.g. half-way through 
-a multi-byte character).
-\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f3\fs20\lang1033\langfe1033\langfenp1033\insrsid6646124 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\qj \fi-283\li283\ri0\widctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0
-\pnf3\pnstart1\pnindent283\pnhang {\pntxtb \hich \'b7}}\faauto\ls1\rin0\lin283\itap0\pararsid9966710 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
-The ability to do partial conversions means that the CHARCONV client does not have to try to guess how big to make the output descriptor for a given input descriptor, they can simply do the conversion in a loop using a smallish o
-utput descriptor (an output descriptor whose }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 MaxLength()}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  is less than about 20 elements would not be recommended) - the code in the \'93Sample code\'94
- section below gives a demonstration of how to do this. It is worth noting that even if the output descriptor was not big enough to hold the entire converted input text, it will not necessarily be full in the sense of have its }{\rtlch\fcs1 \af2 
-\ltrch\fcs0 \f2\insrsid6646124 Length()}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  equal its }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 MaxLength()}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
-. The only sure way to find out whether the whole input descriptor has been converted is to test whether the return value (if not negative) is zero or not.
-\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f3\fs20\lang1033\langfe1033\langfenp1033\insrsid6646124 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\qj \fi-283\li283\ri0\widctlpar\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls1\pnrnot0
-\pnf3\pnstart1\pnindent283\pnhang {\pntxtb \hich \'b7}}\faauto\ls1\rin0\lin283\itap0\pararsid9966710 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
-The ability to cope with an input descriptor being truncated is useful if the client cannot guarantee whether the input descriptor will be complete, e.g. if they themselves are receiving it in chunks from an
- external source. All that the client needs to do to handle this situation is to add the specified number of descriptor elements to the start of the input descriptor passed to the next call. However, there is a binary compatibility issue here. For those c
-lients whose input descriptor is known to be complete, if they perform the sort of loop found in the first two examples in the \'93Sample code\'94
- section, they would get into an infinite loop if the input descriptor was corrupt such that it ended with an incompl
-ete sequence, as the conversion function would always return a value greater than zero. To avoid this problem arising, the behavior of the conversion functions is actually such that if none of the input descriptor can be consumed because it consists }{
-\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid6646124 exclusively}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  of an incomplete sequence, the error }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 EErrorIllFormedInput}{\rtlch\fcs1 \af0 \ltrch\fcs0 
-\insrsid6646124  (defined in }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 CCnvCharacterSetConverter}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 \rquote s }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 enum TError}{\rtlch\fcs1 \af0 \ltrch\fcs0 
-\insrsid6646124 ) will be returned. In order for this error not to be returned when the presence of an incomplete sequence at the end of the input descriptor does }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid6646124 not}{\rtlch\fcs1 \af0 \ltrch\fcs0 
-\insrsid6646124  mean it is corrupt, the input descriptor must be long enough such that it cannot consist exclusively of an incomplete sequence - an input descriptor of at least 20 elements should be plenty long enough. (The third example in the \'93
-Sample code\'94 section below gives an illustration of how to use CHARCONV to convert fragmented input.)
-\par }\pard \ltrpar\qj \fi720\li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 The third parameter to }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertToUnicodeFromUtf7}{\rtlch\fcs1 \af0 \ltrch\fcs0 
-\insrsid6646124  is used to save state information across multiple calls to }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertToUnicodeFromUtf7}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  where each call starts off where the p
-revious call reached in the input descriptor. At the start of each such series of calls to }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertToUnicodeFromUtf7}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 , this parameter must be set to }{
-\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 CnvUtfConverter::KStateDefault}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  and thereafter not tampered with, but simply passed in to each }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertToUnicode
-}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  call.
-\par }\pard\plain \ltrpar\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\faauto\outlinelevel2\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \f1\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 
-\insrsid6646124 Sample Code
-\par }\pard\plain \ltrpar\qj \fi720\li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
-The sample code below illustrates typical usage of }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 CnvUtfConverter}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
- to convert to and from UTF-7. (Converting to and from UTF-8 is almost identical, the only differences being that }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertFromUnicodeToUtf8}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  and }{\rtlch\fcs1 
-\af2 \ltrch\fcs0 \f2\insrsid6646124 ConvertToUnicodeFromUtf8}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  each only take two parameters.)
-\par }\pard \ltrpar\qj \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
-\par An example of how to convert, in small chunks, Unicode (UCS-2) to UTF-7:
-\par 
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid6646124 LOCAL_C void EncodeL(const TDesC16& aUnicodeText)
-\par \tab \{
-\par \tab TBuf8<20> outputBuffer;
-\par \tab TPtrC16 remainderOfUnicodeText(aUnicodeText);
-\par \tab FOREVER
-\par \tab \tab \{
-\par \tab \tab const TInt returnValue=CnvUtfConverter::ConvertFromUnicodeToUtf7(outputBuffer,
-\par \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab remainderOfUnicodeText,
-\par }\pard \ltrpar\ql \fi340\li5780\ri0\widctlpar\wrapdefault\faauto\rin0\lin5780\itap0 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid6646124 ETrue);
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid6646124 \tab \tab if (returnValue==CnvUtfConverter::EErrorIllFormedInput)
-\par \tab \tab \tab User::Leave(KErrCorrupt);
-\par \tab \tab else if (returnValue<0) // future-proof against "TError" expanding
-\par \tab \tab \tab User::Leave(KErrGeneral);
-\par 
-\par \tab \tab // ? - do something here with outputBuffer
-\par 
-\par \tab \tab if (returnValue==0)
-\par \tab \tab \tab break; // all of aUnicodeText has been converted and handled
-\par \tab \tab remainderOfUnicodeText.Set(remainderOfUnicodeText.Right(returnValue));
-\par \tab \tab \}
-\par \tab \}
-\par }\pard \ltrpar\qj \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
-\par An example of how to convert, in small chunks, UTF-7 to Unicode (UCS-2):
-\par 
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid6646124 LOCAL_C void DecodeL(const TDesC8& aUtf7)
-\par \tab \{
-\par \tab TBuf16<20> outputBuffer;
-\par \tab TPtrC8 remainderOfUtf7(aUtf7);
-\par \tab // "state" must be initialized to CnvUtfConverter::KStateDefault - it must not be tampered
-\par }\pard \ltrpar\ql \fi340\li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid6646124 // with thereafter but simply passed into each call of "ConvertToUnicodeFromUtf7"
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid6646124 \tab TInt state=CnvUtfConverter::KStateDefault;
-\par \tab FOREVER
-\par \tab \tab \{
-\par \tab \tab const TInt returnValue=CnvUtfConverter::ConvertToUnicodeFromUtf7(outputBuffer,
-\par }\pard \ltrpar\ql \fi340\li5780\ri0\widctlpar\wrapdefault\faauto\rin0\lin5780\itap0 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid6646124 remainderOfUtf7,
-\par state);
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid6646124 \tab \tab if (returnValue==CnvUtfConverter::EErrorIllFormedInput)
-\par \tab \tab \tab User::Leave(KErrCorrupt);
-\par \tab \tab else if (returnValue<0) // future-proof against "TError" expanding
-\par \tab \tab \tab User::Leave(KErrGeneral);
-\par 
-\par \tab \tab // ? - do something here with outputBuffer
-\par 
-\par \tab \tab if (returnValue==0)
-\par \tab \tab \tab break; // all of aUtf7 has been converted and handled
-\par \tab \tab remainderOfUtf7.Set(remainderOfUtf7.Right(returnValue));
-\par \tab \tab \}
-\par \tab \}
-\par }\pard \ltrpar\qj \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124 
-\par An example of how to convert, in small chunks, }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid6646124 fragmented}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6646124  UTF-7 to Unicode (UCS-2):
-\par 
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid6646124 LOCAL_C void DecodeL()
-\par \tab \{
-\par \tab const TInt KMaximumLengthOfBufferForUtf7=200;
-\par \tab TUint8 bufferForUtf7[KMaximumLengthOfBufferForUtf7];
-\par \tab TInt lengthOfBufferForUtf7=0;
-\par 
-\par \tab FOREVER
-\par \tab \tab \{
-\par \tab \tab TPtr8 nextChunkOfUtf7(bufferForUtf7+lengthOfBufferForUtf7,
-\par \tab \tab \tab \tab \tab \tab \tab KMaximumLengthOfBufferForUtf7-lengthOfBufferForUtf7);
-\par 
-\par \tab \tab // ? load nextChunkOfUtf7 here
-\par 
-\par \tab \tab const TInt lengthOfNextChunkOfUtf7=nextChunkOfUtf7.Length();
-\par \tab \tab lengthOfBufferForUtf7+=lengthOfNextChunkOfUtf7;
-\par 
-\par \tab \tab const TBool isLastChunkOfUtf7= // ? find out from the source of the UTF-7 whether this is
-\par \tab \tab // the last chunk and set this variable accordingly, e.g. the source may define that the
-\par \tab \tab // last chunk is of length zero, in which case the expression
-\par \tab \tab // "(lengthOfNextChunkOfUtf7==0)" would be assigned to this variable; note that even if
-\par \tab \tab // the length of this chunk is zero, we can't just exit this function here as
-\par \tab \tab // bufferForUtf7 may not be empty (i.e. lengthOfBufferForUtf7>0)
-\par 
-\par \tab \tab TBuf16<20> outputBuffer;
-\par \tab \tab TPtrC8 remainderOfUtf7(bufferForUtf7, lengthOfBufferForUtf7);
-\par \tab \tab // "state" must be initialized to CnvUtfConverter::KStateDefault - it must not be tampered
-\par \tab \tab // with thereafter but simply passed into each call of "ConvertToUnicodeFromUtf7"
-\par \tab \tab TInt state=CnvUtfConverter::KStateDefault;
-\par \tab \tab FOREVER
-\par \tab \tab \tab \{
-\par \tab \tab \tab const TInt lengthOfRemainderOfUtf7=remainderOfUtf7.Length();
-\par \tab \tab \tab if (isLastChunkOfUtf7)
-\par \tab \tab \tab \tab \{
-\par \tab \tab \tab \tab if (lengthOfRemainderOfUtf7==0)
-\par \tab \tab \tab \tab \tab return; // the single point of exit of this function
-\par \tab \tab \tab \tab \}
-\par \tab \tab \tab else
-\par \tab \tab \tab \tab \{
-\par \tab \tab \tab \tab // As this isn't the last chunk, we don't want ConvertToUnicodeFromUtf7 to return
-\par \tab \tab \tab \tab // CnvUtfConverter::EErrorIllFormedInput if the input descriptor ends with an
-\par \tab \tab \tab \tab // incomplete sequence - but it will only do this if *none* of the input
-\par \tab \tab \tab \tab // descriptor can be consumed. Therefore if the input descriptor is long enough
-\par \tab \tab \tab \tab // (20 elements or longer is plenty adequate) there is no danger of this error
-\par \tab \tab \tab \tab // being returned for this reason. If it's shorter than that, we'll simply put it
-\par \tab \tab \tab \tab // at the start of the buffer so that it gets converted with the next chunk.
-\par \tab \tab \tab \tab if (lengthOfRemainderOfUtf7<20)
-\par \tab \tab \tab \tab \tab \{
-\par \tab \tab \tab \tab \tab // put any remaining UTF-7 at the start of bufferForUtf7
-\par \tab \tab \tab \tab \tab lengthOfBufferForUtf7=lengthOfRemainderOfUtf7;
-\par \tab \tab \tab \tab \tab Mem::Copy(bufferForUtf7, remainderOfUtf7.Ptr(), lengthOfBufferForUtf7);
-\par \tab \tab \tab \tab \tab break;
-\par \tab \tab \tab \tab \tab \}
-\par \tab \tab \tab \tab \}
-\par 
-\par \tab \tab \tab const TInt returnValue=CnvUtfConverter::ConvertToUnicodeFromUtf7(outputBuffer,
-\par \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab remainderOfUtf7,
-\par \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab \tab state);
-\par \tab \tab \tab if (returnValue==CnvUtfConverter::EErrorIllFormedInput)
-\par \tab \tab \tab \tab User::Leave(KErrCorrupt);
-\par \tab \tab \tab else if (returnValue<0) // future-proof against "TError" expanding
-\par \tab \tab \tab \tab User::Leave(KErrGeneral);
-\par 
-\par \tab \tab \tab // ? - do something here with outputBuffer
-\par 
-\par \tab \tab \tab remainderOfUtf7.Set(remainderOfUtf7.Right(returnValue));
-\par \tab \tab \tab \}
-\par \tab \tab \}
-\par \tab \}
-\par }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 
-\par }\pard \ltrpar\qj \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3870519 A description of the UTF-8 conversion routines:
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 
-\par 
-\par Example usage of CnvUtfConverter::ConvertFromUnicodeToUtf8(TDes8&, const TDesC16&):
-\par 
-\par }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519\charrsid16195214 The conversion from Unicode (}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 UTF-16}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519\charrsid16195214 )}{
-\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519  }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519\charrsid16195214 to UTF-8.
-\par }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 
-\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs14 \ltrch\fcs0 \f2\fs14\lang1033\langfe1033\langfenp1033\insrsid3870519 \hich\af2\dbch\af0\loch\f2 1.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
-\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\ls3\rin0\lin720\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 ConvertFromUnicodeToUtf8(TDes8&, const TDesC16&) can accept valid}{\rtlch\fcs1 
-\af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519  }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid10027302 
-\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\rin0\lin720\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 surrogate pairs}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519\charrsid263778  }{
-\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 (code points > U+FFFF), each surrogate pair encountered will output a valid 4 byte UTF-8 sequence. }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519\charrsid263778 
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\insrsid3870519\charrsid10027302 
-\par }\pard \ltrpar\ql \fi340\li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\lang2057\langfe1033\langnp2057\insrsid3870519 For example:
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\lang2057\langfe1033\langnp2057\insrsid3870519 
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 \tab }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\insrsid3870519\charrsid16195214 The }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 UCS2 }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519\charrsid16195214 input of: }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid10027302 0xd800}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519  0xdc00 (a surrogate pair)}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid10027302 
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid13834222 
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 \tab Will output UTF-8: }{\rtlch\fcs1 \af2\afs14 
-\ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519 0}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid10027302 xf0}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519  0}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid10027302 x90}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519  0}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid10027302 x80}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519  0}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid10027302 x80}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519  (a valid 4 byte UTF-8 string)
-\par 
-\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs14 \ltrch\fcs0 \f2\fs14\lang2057\langfe1033\langnp2057\langfenp1033\insrsid3870519 \hich\af2\dbch\af0\loch\f2 2.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
-\jclisttab\tx720\wrapdefault\faauto\ls3\rin0\lin720\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\lang2057\langfe1033\langnp2057\insrsid3870519 The converter when used via }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\insrsid3870519\charrsid1385641 CCnvCharacterSetConverter with a UID of KCharacterSetIdentifierJavaConformantUtf8}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519  will be java compliant.
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 
-\par }\pard \ltrpar\ql \fi340\li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 For example:
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 
-\par \tab }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519\charrsid16195214 The }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 UCS2}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519\charrsid16195214  input of: }{\rtlch\fcs1 
-\af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 0x0000 0xd9e0 0xdda3 
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 \tab Will output }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\insrsid3870519\charrsid16195214 UTF-8}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 : }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519 0}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid13650870 xc0}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519  0}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid13650870 x80}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519  0}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid13650870 xe8}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519  0}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid13650870 x87}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519  0}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid13650870 xaa}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid15169297 
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 
-\par Example usage of CnvUtfConverter::ConvertToUnicodeFromUtf8(TDes16&, const TDesC8&) which is now standards compliant:
-\par 
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid8468412 
-For reference table 3-7 }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519 from \'93The Unicode Standard 5.0\'94
-\par 
-\par \ltrrow}\trowd \irow0\irowband0\ltrrow\ts25\trgaph108\trrh242\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 
-\trftsWidth3\trwWidth8447\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid16410473\tbllkhdrrows\tbllklastrow\tbllkhdrcols\tbllklastcol\tblind0\tblindtype3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl
-\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth1827\clshdrawnil \cellx1719\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 
-\cltxlrtb\clftsWidth3\clwWidth925\clshdrawnil \cellx2644\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth875\clshdrawnil \cellx3519\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl
-\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth851\clshdrawnil \cellx4370\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 
-\cltxlrtb\clftsWidth3\clwWidth992\clshdrawnil \cellx5362\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2977\clshdrawnil \cellx8339\pard\plain \ltrpar
-\ql \li0\ri0\widctlpar\intbl\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin0\pararsid16410473\yts25 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 
-\fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 Code Points\cell 
-\hich\af1\dbch\af13\loch\f1 1}{\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\super\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 st}{\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 
-\f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1  Byte\cell \hich\af1\dbch\af13\loch\f1 2}{\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 
-\f1\fs16\cf1\lang2057\langfe1033\super\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 nd}{\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1  Byte
-\cell \hich\af1\dbch\af13\loch\f1 3}{\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\super\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 rd}{\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 
-\f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1  Byte\cell \hich\af1\dbch\af13\loch\f1 4}{\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 
-\f1\fs16\cf1\lang2057\langfe1033\super\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 th}{\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1  Byte
-\cell \hich\af1\dbch\af13\loch\f1 Description\cell }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 
-\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \trowd \irow0\irowband0\ltrrow\ts25\trgaph108\trrh242\trleft-108\trbrdrt\brdrs\brdrw10 
-\trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 
-\trftsWidth3\trwWidth8447\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid16410473\tbllkhdrrows\tbllklastrow\tbllkhdrcols\tbllklastcol\tblind0\tblindtype3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl
-\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth1827\clshdrawnil \cellx1719\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 
-\cltxlrtb\clftsWidth3\clwWidth925\clshdrawnil \cellx2644\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth875\clshdrawnil \cellx3519\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl
-\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth851\clshdrawnil \cellx4370\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 
-\cltxlrtb\clftsWidth3\clwWidth992\clshdrawnil \cellx5362\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2977\clshdrawnil \cellx8339\row \ltrrow}\pard\plain \ltrpar
-\ql \li0\ri0\widctlpar\intbl\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin0\pararsid16410473\yts25 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 
-\fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 U+0000..U+007F\cell 
-\hich\af1\dbch\af13\loch\f1 00..7D\cell \cell \cell \cell \hich\af1\dbch\af13\loch\f1 1 byte ascii\cell }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \rtlch\fcs1 
-\af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \trowd \irow1\irowband1\ltrrow
-\ts25\trgaph108\trrh242\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 
-\trftsWidth3\trwWidth8447\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid16410473\tbllkhdrrows\tbllklastrow\tbllkhdrcols\tbllklastcol\tblind0\tblindtype3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl
-\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth1827\clshdrawnil \cellx1719\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 
-\cltxlrtb\clftsWidth3\clwWidth925\clshdrawnil \cellx2644\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth875\clshdrawnil \cellx3519\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl
-\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth851\clshdrawnil \cellx4370\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 
-\cltxlrtb\clftsWidth3\clwWidth992\clshdrawnil \cellx5362\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2977\clshdrawnil \cellx8339\row \ltrrow}\pard\plain \ltrpar
-\ql \li0\ri0\widctlpar\intbl\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin0\pararsid16410473\yts25 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 
-\fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 U+0800..U+07FF\cell }{
-\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \b\f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 C2}{\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 
-\hich\af1\dbch\af13\loch\f1 ..DF\cell \hich\af1\dbch\af13\loch\f1 80..BF\cell \cell \cell \hich\af1\dbch\af13\loch\f1 2 bytes, error if 1}{\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\super\langnp2057\insrsid3870519\charrsid532711 
-\hich\af1\dbch\af13\loch\f1 st}{\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1  > 0xC2\cell }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1
-\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 
-\f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \trowd \irow2\irowband2\ltrrow\ts25\trgaph108\trrh242\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 
-\trbrdrv\brdrs\brdrw10 \trftsWidth3\trwWidth8447\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid16410473\tbllkhdrrows\tbllklastrow\tbllkhdrcols\tbllklastcol\tblind0\tblindtype3 \clvertalt\clbrdrt
-\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth1827\clshdrawnil \cellx1719\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 
-\cltxlrtb\clftsWidth3\clwWidth925\clshdrawnil \cellx2644\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth875\clshdrawnil \cellx3519\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl
-\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth851\clshdrawnil \cellx4370\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 
-\cltxlrtb\clftsWidth3\clwWidth992\clshdrawnil \cellx5362\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2977\clshdrawnil \cellx8339\row \ltrrow}\pard\plain \ltrpar
-\ql \li0\ri0\widctlpar\intbl\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin0\pararsid16410473\yts25 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 
-\fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 U+1000..U+CFFF\cell 
-}\pard \ltrpar\ql \fi-720\li720\ri0\widctlpar\intbl\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin720\pararsid16410473\yts25 {\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 
-\f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 E1..EC\cell }\pard \ltrpar\ql \li0\ri0\widctlpar\intbl
-\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin0\pararsid16410473\yts25 {\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 80..BF\cell 
-\hich\af1\dbch\af13\loch\f1 80..BF\cell \cell {\*\xmlopen\xmlns2{\factoidname City}}{\*\xmlopen\xmlns2{\factoidname place}}\hich\af1\dbch\af13\loch\f1 Normal{\*\xmlclose}{\*\xmlclose}\cell }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1
-\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 
-\f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \trowd \irow3\irowband3\ltrrow\ts25\trgaph108\trrh242\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 
-\trbrdrv\brdrs\brdrw10 \trftsWidth3\trwWidth8447\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid16410473\tbllkhdrrows\tbllklastrow\tbllkhdrcols\tbllklastcol\tblind0\tblindtype3 \clvertalt\clbrdrt
-\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth1827\clshdrawnil \cellx1719\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 
-\cltxlrtb\clftsWidth3\clwWidth925\clshdrawnil \cellx2644\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth875\clshdrawnil \cellx3519\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl
-\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth851\clshdrawnil \cellx4370\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 
-\cltxlrtb\clftsWidth3\clwWidth992\clshdrawnil \cellx5362\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2977\clshdrawnil \cellx8339\row \ltrrow}\pard\plain \ltrpar
-\ql \li0\ri0\widctlpar\intbl\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin0\pararsid16410473\yts25 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 
-\fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 U+D000..U+D7FF\cell 
-}\pard \ltrpar\ql \fi-720\li720\ri0\widctlpar\intbl\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin720\pararsid16410473\yts25 {\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 
-\f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 ED\cell }\pard \ltrpar\ql \li0\ri0\widctlpar\intbl
-\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin0\pararsid16410473\yts25 {\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 80..}{
-\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \b\f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 9F}{\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 
-\cell \hich\af1\dbch\af13\loch\f1 80..BF\cell \cell \hich\af1\dbch\af13\loch\f1 3 bytes, 1}{\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\super\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 st}{\rtlch\fcs1 
-\af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1  ==0xED, error if 2}{\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 
-\f1\fs16\cf1\lang2057\langfe1033\super\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 nd}{\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 
- > 0x9F\cell }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 
-\af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \trowd \irow4\irowband4\ltrrow\ts25\trgaph108\trrh242\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 
-\trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth3\trwWidth8447\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid16410473\tbllkhdrrows\tbllklastrow\tbllkhdrcols\tbllklastcol\tblind0\tblindtype3 
-\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth1827\clshdrawnil \cellx1719\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr
-\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth925\clshdrawnil \cellx2644\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth875\clshdrawnil \cellx3519\clvertalt\clbrdrt
-\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth851\clshdrawnil \cellx4370\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 
-\cltxlrtb\clftsWidth3\clwWidth992\clshdrawnil \cellx5362\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2977\clshdrawnil \cellx8339\row \ltrrow}\pard\plain \ltrpar
-\ql \li0\ri0\widctlpar\intbl\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin0\pararsid16410473\yts25 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 
-\fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 U+E000..U+FFFF\cell 
-}\pard \ltrpar\ql \fi-720\li720\ri0\widctlpar\intbl\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin720\pararsid16410473\yts25 {\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 
-\f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 EE..EF\cell }\pard \ltrpar\ql \li0\ri0\widctlpar\intbl
-\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin0\pararsid16410473\yts25 {\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 80..BF\cell 
-\hich\af1\dbch\af13\loch\f1 80..BF\cell \cell {\*\xmlopen\xmlns2{\factoidname City}}{\*\xmlopen\xmlns2{\factoidname place}}\hich\af1\dbch\af13\loch\f1 Normal{\*\xmlclose}{\*\xmlclose}\cell }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1
-\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 
-\f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \trowd \irow5\irowband5\ltrrow\ts25\trgaph108\trrh242\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 
-\trbrdrv\brdrs\brdrw10 \trftsWidth3\trwWidth8447\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid16410473\tbllkhdrrows\tbllklastrow\tbllkhdrcols\tbllklastcol\tblind0\tblindtype3 \clvertalt\clbrdrt
-\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth1827\clshdrawnil \cellx1719\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 
-\cltxlrtb\clftsWidth3\clwWidth925\clshdrawnil \cellx2644\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth875\clshdrawnil \cellx3519\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl
-\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth851\clshdrawnil \cellx4370\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 
-\cltxlrtb\clftsWidth3\clwWidth992\clshdrawnil \cellx5362\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2977\clshdrawnil \cellx8339\row \ltrrow}\pard\plain \ltrpar
-\ql \li0\ri0\widctlpar\intbl\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin0\pararsid16410473\yts25 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 
-\fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 U+10000..U+3FFFF}{\rtlch\fcs1 
-\af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \cell }\pard \ltrpar\ql \fi-720\li720\ri0\widctlpar\intbl
-\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin720\pararsid16410473\yts25 {\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 F0\cell 
-}\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin0\pararsid16410473\yts25 {\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 
-\b\f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 90}{\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 ..BF\cell 
-\hich\af1\dbch\af13\loch\f1 80..BF\cell \hich\af1\dbch\af13\loch\f1 80..BF\cell \hich\af1\dbch\af13\loch\f1 4 bytes, 1}{\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\super\langnp2057\insrsid3870519\charrsid532711 
-\hich\af1\dbch\af13\loch\f1 st}{\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1  == 0xF0, error if 2}{\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 
-\f1\fs16\cf1\lang2057\langfe1033\super\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 nd}{\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 
- < 0x90\cell }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 
-\af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \trowd \irow6\irowband6\ltrrow\ts25\trgaph108\trrh242\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 
-\trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth3\trwWidth8447\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid16410473\tbllkhdrrows\tbllklastrow\tbllkhdrcols\tbllklastcol\tblind0\tblindtype3 
-\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth1827\clshdrawnil \cellx1719\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr
-\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth925\clshdrawnil \cellx2644\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth875\clshdrawnil \cellx3519\clvertalt\clbrdrt
-\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth851\clshdrawnil \cellx4370\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 
-\cltxlrtb\clftsWidth3\clwWidth992\clshdrawnil \cellx5362\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2977\clshdrawnil \cellx8339\row \ltrrow}\pard\plain \ltrpar
-\ql \li0\ri0\widctlpar\intbl\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin0\pararsid16410473\yts25 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 
-\fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 U+10000..U+3FFFF\cell 
-}\pard \ltrpar\ql \fi-720\li720\ri0\widctlpar\intbl\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin720\pararsid16410473\yts25 {\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 
-\f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 F1..F3\cell }\pard \ltrpar\ql \li0\ri0\widctlpar\intbl
-\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin0\pararsid16410473\yts25 {\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 80..BF\cell 
-\hich\af1\dbch\af13\loch\f1 80..BF\cell \hich\af1\dbch\af13\loch\f1 80..BF\cell {\*\xmlopen\xmlns2{\factoidname City}}{\*\xmlopen\xmlns2{\factoidname place}}\hich\af1\dbch\af13\loch\f1 Normal{\*\xmlclose}{\*\xmlclose}\cell }\pard\plain \ltrpar
-\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 
-\f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \trowd \irow7\irowband7\ltrrow\ts25\trgaph108\trrh242\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 
-\trbrdrv\brdrs\brdrw10 \trftsWidth3\trwWidth8447\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid16410473\tbllkhdrrows\tbllklastrow\tbllkhdrcols\tbllklastcol\tblind0\tblindtype3 \clvertalt\clbrdrt
-\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth1827\clshdrawnil \cellx1719\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 
-\cltxlrtb\clftsWidth3\clwWidth925\clshdrawnil \cellx2644\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth875\clshdrawnil \cellx3519\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl
-\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth851\clshdrawnil \cellx4370\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 
-\cltxlrtb\clftsWidth3\clwWidth992\clshdrawnil \cellx5362\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2977\clshdrawnil \cellx8339\row \ltrrow}\pard\plain \ltrpar
-\ql \li0\ri0\widctlpar\intbl\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin0\pararsid16410473\yts25 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 
-\fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af13\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 U+100000..U+10FFFF\cell 
-}\pard \ltrpar\ql \fi-720\li720\ri0\widctlpar\intbl\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin720\pararsid16410473\yts25 {\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 
-\f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 F4\cell }\pard \ltrpar\ql \li0\ri0\widctlpar\intbl
-\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin0\pararsid16410473\yts25 {\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 80..}{
-\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \b\f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 8F}{\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 
-\cell \hich\af1\dbch\af13\loch\f1 80..BF\cell \hich\af1\dbch\af13\loch\f1 80..BF\cell \hich\af1\dbch\af13\loch\f1 4 bytes, 1}{\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\super\langnp2057\insrsid3870519\charrsid532711 
-\hich\af1\dbch\af13\loch\f1 st}{\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1  == 0xF4, error if 2}{\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 
-\f1\fs16\cf1\lang2057\langfe1033\super\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 nd}{\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \hich\af1\dbch\af13\loch\f1 
- > 0x8F\cell }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 
-\af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 \trowd \irow8\irowband8\lastrow \ltrrow\ts25\trgaph108\trrh242\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr
-\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 
-\trftsWidth3\trwWidth8447\trftsWidthB3\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblrsid16410473\tbllkhdrrows\tbllklastrow\tbllkhdrcols\tbllklastcol\tblind0\tblindtype3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl
-\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth1827\clshdrawnil \cellx1719\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 
-\cltxlrtb\clftsWidth3\clwWidth925\clshdrawnil \cellx2644\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth875\clshdrawnil \cellx3519\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl
-\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth851\clshdrawnil \cellx4370\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 
-\cltxlrtb\clftsWidth3\clwWidth992\clshdrawnil \cellx5362\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2977\clshdrawnil \cellx8339\row }\pard \ltrpar
-\ql \li0\ri0\widctlpar\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af1\afs16 \ltrch\fcs0 \f1\fs16\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid532711 
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 
-\par }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519\charrsid16195214 The conversion from UTF-8 to Unicode (}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 UTF-16}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\insrsid3870519\charrsid16195214 ).
-\par }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 
-\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang1033\langfe1033\langfenp1033\insrsid3870519 \hich\af2\dbch\af0\loch\f2 1.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
-\jclisttab\tx720\wrapdefault\faauto\ls4\rin0\lin720\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\insrsid3870519 If t}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid16195214 
-he conversion routine encounters an invalid UTF-8 sequence }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519 of 2-4}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid16195214  bytes in length (i.e. the flag at the fir}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519 st byte signals that this is a 2-4}{
-\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid16195214  byte sequence), the conversion routine will start at the next byte in the sequence.}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519 
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519 
-\par }\pard \ltrpar\ql \fi340\li20\ri0\widctlpar\wrapdefault\faauto\rin0\lin20\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519 For example:
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519 
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 \tab }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\insrsid3870519\charrsid16195214 The UTF-8 input of: }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid16195214 0xf4, 0x20, 0x01, 0x02, 0x10
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid16195214 
-\par }\pard \ltrpar\ql \li720\ri0\widctlpar\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin720\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 Will output in UTF-16: }{\rtlch\fcs1 \af2\afs14 
-\ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid16195214 0xFFFD, 0x0020, 0x0001, 0x0002, 0x0010, because 0xf4, 0x20, 0x01, 0x02 is not a valid 4 byte UTF-8 sequence}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519  and the next byte is read}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid16195214 .}{\rtlch\fcs1 \af7 \ltrch\fcs0 
-\f7\cf1\lang2057\langfe1033\langnp2057\insrsid3870519 
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid12140715 
-\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs14 \ltrch\fcs0 \f2\fs14\lang1033\langfe1033\langfenp1033\insrsid3870519 \hich\af2\dbch\af0\loch\f2 2.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
-\jclisttab\tx720\wrapdefault\faauto\ls4\rin0\lin720\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 This conversion routine is standards compliant as it will not accept a valid a bad input UTF-8 sequence e.g. 0xc1 0x82.
-
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 
-\par }\pard \ltrpar\ql \fi340\li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 For example:
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 
-\par }\pard \ltrpar\ql \fi340\li340\ri0\widctlpar\wrapdefault\faauto\rin0\lin340\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 The UTF-8 input of: 0xc1 0x82
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 
-\par }\pard \ltrpar\ql \fi340\li340\ri0\widctlpar\wrapdefault\faauto\rin0\lin340\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 Will output in UTF-16: 0xFFFD 0xFFFD, as 0xc1 isn\rquote 
-t a valid two byte sequence (must start at 0xC2, see table above) and neither is 0x82 (again must start at 0xc2).
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 
-\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang1033\langfe1033\langfenp1033\insrsid3870519 \hich\af2\dbch\af0\loch\f2 3.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
-\tx-720\tx0\jclisttab\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\ls4\rin0\lin720\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\insrsid3870519 T}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519 he UTF-8 converter }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid12140715 follow}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519 s}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid12140715  all rules for UTF-8 conversion.  Particular}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519  attention should be paid to D92}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid12140715  in section 3.9}{\rtlch\fcs1 \af2\afs14 
-\ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519  from \'93The Unicode Standard 5.0\'94}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid12140715  that explicitly states:}{
-\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519 
-\par }\pard \ltrpar\ql \li360\ri0\widctlpar\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin360\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid12140715 
-\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f3\fs14\lang2057\langfe1033\langnp2057\langfenp1033\insrsid3870519\charrsid12140715 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li1380\ri0\widctlpar
-\jclisttab\tx1380\wrapdefault\faauto\ls2\rin0\lin1380\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid12140715 Any UTF-8 byte sequence that does not match the patterns listed in }{
-\rtlch\fcs1 \ai\af2\afs14 \ltrch\fcs0 \i\f2\fs14\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid12140715 Table 3-7 }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid12140715 is}{\rtlch\fcs1 
-\af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519  }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid12140715 ill-formed.}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid12140715 
-\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f3\fs14\lang2057\langfe1033\langnp2057\langfenp1033\insrsid3870519\charrsid12140715 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid12140715 Before the Unicode Standard, Version 3.1, the problematic \'93non-shortest form\'94
-\par }\pard \ltrpar\ql \fi320\li700\ri0\widctlpar\wrapdefault\faauto\rin0\lin700\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid12140715 
-byte sequences in UTF-8 were those where BMP characters could be represented
-\par }\pard \ltrpar\ql \li1020\ri0\widctlpar\wrapdefault\faauto\rin0\lin1020\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid12140715 
-in more than one way. These sequences are ill-formed, because they are}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\lang2057\langfe1033\langnp2057\insrsid3870519  }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid12140715 not allowed by }{\rtlch\fcs1 \ai\af2\afs14 \ltrch\fcs0 \i\f2\fs14\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid12140715 Table 3-7}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\lang2057\langfe1033\langnp2057\insrsid3870519 .
-\par 
-\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs14 \ltrch\fcs0 \f2\fs14\lang1033\langfe1033\langfenp1033\insrsid3870519 \hich\af2\dbch\af0\loch\f2 4.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
-\tx-720\tx0\jclisttab\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\ls4\rin0\lin720\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 CnvUtfConve
-rter::ConvertToUnicodeFromUtf8(TDes16&, const TDesC8&) can create surrogate pairs (code points > U+FFFF) when converting a valid 4 byte UTF-8 sequence.}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid8201307 
-\par }\pard \ltrpar\ql \li360\ri0\widctlpar\tx-720\tx0\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin360\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid1256931 
-\par }\pard \ltrpar\ql \fi340\li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\lang2057\langfe1033\langnp2057\insrsid3870519 For example:
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\lang2057\langfe1033\langnp2057\insrsid3870519 
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 \tab }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\insrsid3870519\charrsid16195214 The UTF-8 input of: }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519 0}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid10027302 xf0}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519  0}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid10027302 x90}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519  0}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid10027302 x80}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519  0}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid10027302 x80}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519  (a valid 4 byte)
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 \tab Will output in UTF-16: }{\rtlch\fcs1 \af2\afs14 
-\ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid10027302 0xd800}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519  0xdc00 (a surrogate pair)
-\par }\pard \ltrpar\ql \li360\ri0\widctlpar\tx-720\tx0\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin360\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid8201307 
-
-\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs14 \ltrch\fcs0 \f2\fs14\lang2057\langfe1033\langnp2057\langfenp1033\insrsid3870519 \hich\af2\dbch\af0\loch\f2 5.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar
-\jclisttab\tx720\wrapdefault\faauto\ls4\rin0\lin720\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\lang2057\langfe1033\langnp2057\insrsid3870519 The converter when used via }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\insrsid3870519\charrsid1385641 CCnvCharacterSetConverter with a UID of KCharacterSetIdentifierJavaConformantUtf8}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519  will be java compliant.
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 
-\par }\pard \ltrpar\ql \fi340\li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 For example:
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\tx-720\tx0\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 
-\par \tab }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519\charrsid16195214 The UTF-8 input of: }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519 0}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid13650870 xc0}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519  0}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid13650870 x80}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519  0}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid13650870 xe8}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519  0}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid13650870 x87}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519  0}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 
-\f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519\charrsid13650870 xaa}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\cf1\lang2057\langfe1033\langnp2057\insrsid3870519 
-\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3870519 {\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 
-\par \tab Will output in UTF-16: 0x0000 0xd9e0 0xdda3 (as otherwise without }{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519\charrsid1385641 KCharacterSetIdentifierJavaConformantUtf8}{\rtlch\fcs1 \af2\afs14 \ltrch\fcs0 \f2\fs14\insrsid3870519 
- output is 0xFFFD 0xFFFD 0xd9e0 0xdda3)
-\par }{\*\themedata 504b030414000600080000002100828abc13fa0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb6ac3301045f785fe83d0b6d8
-72ba28a5d8cea249777d2cd20f18e4b12d6a8f843409c9df77ecb850ba082d74231062ce997b55ae8fe3a00e1893f354e9555e6885647de3a8abf4fbee29bbd7
-2a3150038327acf409935ed7d757e5ee14302999a654e99e393c18936c8f23a4dc072479697d1c81e51a3b13c07e4087e6b628ee8cf5c4489cf1c4d075f92a0b
-44d7a07a83c82f308ac7b0a0f0fbf90c2480980b58abc733615aa2d210c2e02cb04430076a7ee833dfb6ce62e3ed7e14693e8317d8cd0433bf5c60f53fea2fe7
-065bd80facb647e9e25c7fc421fd2ddb526b2e9373fed4bb902e182e97b7b461e6bfad3f010000ffff0300504b030414000600080000002100a5d6a7e7c00000
-00360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4fc7060abb08
-84a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b63095120f88d94fbc
-52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462a1a82fe353
-bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f7468656d652f7468
-656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b4b0d592c9c
-070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b4757e8d3f7
-29e245eb2b260a0238fd010000ffff0300504b03041400060008000000210096b5ade296060000501b0000160000007468656d652f7468656d652f7468656d65
-312e786d6cec594f6fdb3614bf0fd87720746f6327761a07758ad8b19b2d4d1bc46e871e698996d850a240d2497d1bdae38001c3ba618715d86d87615b8116d8
-a5fb34d93a6c1dd0afb0475292c5585e9236d88aad3e2412f9e3fbff1e1fa9abd7eec70c1d1221294fda5efd72cd4324f1794093b0eddd1ef62fad79482a9c04
-98f184b4bd2991deb58df7dfbb8ad755446282607d22d771db8b944ad79796a40fc3585ee62949606ecc458c15bc8a702910f808e8c66c69b9565b5d8a314d3c
-94e018c8de1a8fa94fd05093f43672e23d06af89927ac06762a049136785c10607758d9053d965021d62d6f6804fc08f86e4bef210c352c144dbab999fb7b471
-7509af678b985ab0b6b4ae6f7ed9ba6c4170b06c788a705430adf71bad2b5b057d03606a1ed7ebf5babd7a41cf00b0ef83a6569632cd467faddec9699640f671
-9e76b7d6ac355c7c89feca9cccad4ea7d36c65b258a206641f1b73f8b5da6a6373d9c11b90c537e7f08dce66b7bbeae00dc8e257e7f0fd2badd5868b37a088d1
-e4600ead1ddaef67d40bc898b3ed4af81ac0d76a197c86826828a24bb318f3442d8ab518dfe3a20f000d6458d104a9694ac6d88728eee2782428d60cf03ac1a5
-193be4cbb921cd0b495fd054b5bd0f530c1931a3f7eaf9f7af9e3f45c70f9e1d3ff8e9f8e1c3e3073f5a42ceaa6d9c84e5552fbffdeccfc71fa33f9e7ef3f2d1
-17d57859c6fffac327bffcfc793510d26726ce8b2f9ffcf6ecc98baf3efdfdbb4715f04d814765f890c644a29be408edf3181433567125272371be15c308d3f2
-8acd249438c19a4b05fd9e8a1cf4cd296699771c393ac4b5e01d01e5a30a787d72cf1178108989a2159c77a2d801ee72ce3a5c545a6147f32a99793849c26ae6
-6252c6ed637c58c5bb8b13c7bfbd490a75330f4b47f16e441c31f7184e140e494214d273fc80900aedee52ead87597fa824b3e56e82e451d4c2b4d32a423279a
-668bb6690c7e9956e90cfe766cb37b077538abd27a8b1cba48c80acc2a841f12e698f13a9e281c57911ce298950d7e03aba84ac8c154f8655c4f2af074481847
-bd804859b5e696007d4b4edfc150b12addbecba6b18b148a1e54d1bc81392f23b7f84137c2715a851dd0242a633f900710a218ed715505dfe56e86e877f0034e
-16bafb0e258ebb4faf06b769e888340b103d3311da9750aa9d0a1cd3e4efca31a3508f6d0c5c5c398602f8e2ebc71591f5b616e24dd893aa3261fb44f95d843b
-5974bb5c04f4edafb95b7892ec1108f3f98de75dc97d5772bdff7cc95d94cf672db4b3da0a6557f70db629362d72bcb0431e53c6066acac80d699a6409fb44d0
-8741bdce9c0e4971624a2378cceaba830b05366b90e0ea23aaa241845368b0eb9e2612ca8c742851ca251ceccc70256d8d87265dd96361531f186c3d9058edf2
-c00eafe8e1fc5c509031bb4d680e9f39a3154de0accc56ae644441edd76156d7429d995bdd88664a9dc3ad50197c38af1a0c16d684060441db02565e85f3b966
-0d0713cc48a0ed6ef7dedc2dc60b17e92219e180643ed27acffba86e9c94c78ab90980d8a9f0913ee49d62b512b79626fb06dccee2a432bbc60276b9f7dec44b
-7904cfbca4f3f6443ab2a49c9c2c41476dafd55c6e7ac8c769db1bc399161ee314bc2e75cf8759081743be1236ec4f4d6693e5336fb672c5dc24a8c33585b5fb
-9cc24e1d4885545b58463634cc5416022cd19cacfccb4d30eb45296023fd35a458598360f8d7a4003bbaae25e331f155d9d9a5116d3bfb9a95523e51440ca2e0
-088dd844ec6370bf0e55d027a012ae264c45d02f708fa6ad6da6dce29c255df9f6cae0ec38666984b372ab5334cf640b37795cc860de4ae2816e95b21be5ceaf
-8a49f90b52a51cc6ff3355f47e0237052b81f6800fd7b802239daf6d8f0b1571a8426944fdbe80c6c1d40e8816b88b8569082ab84c36ff0539d4ff6dce591a26
-ade1c0a7f669880485fd484582903d284b26fa4e2156cff62e4b9265844c4495c495a9157b440e091bea1ab8aaf7760f4510eaa69a6465c0e04ec69ffb9e65d0
-28d44d4e39df9c1a52ecbd3607fee9cec7263328e5d661d3d0e4f62f44acd855ed7ab33cdf7bcb8ae889599bd5c8b3029895b6825696f6af29c239b75a5bb1e6
-345e6ee6c28117e73586c1a2214ae1be07e93fb0ff51e133fb65426fa843be0fb515c187064d0cc206a2fa926d3c902e907670048d931db4c1a44959d366ad93
-b65abe595f70a75bf03d616c2dd959fc7d4e6317cd99cbcec9c58b34766661c7d6766ca1a9c1b327531486c6f941c638c67cd22a7f75e2a37be0e82db8df9f30
-254d30c1372581a1f51c983c80e4b71ccdd28dbf000000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d652f74
-68656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d363f24
-51eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e3198
-720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d9850528
-a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100828abc13fa0000001c0200001300000000000000000000000000
-000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b000000000000000000000000
-002b0100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c00000000000000000000000000140200007468
-656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d001400060008000000210096b5ade296060000501b000016000000000000000000
-00000000d10200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b010000270000000000
-00000000000000009b0900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000960a00000000}
-{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d
-617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169
-6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363
-656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}
-{\*\latentstyles\lsdstimax267\lsdlockeddef0\lsdsemihiddendef1\lsdunhideuseddef1\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;
-\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;\lsdpriority39 \lsdlocked0 toc 1;\lsdpriority39 \lsdlocked0 toc 2;\lsdpriority39 \lsdlocked0 toc 3;
-\lsdpriority39 \lsdlocked0 toc 4;\lsdpriority39 \lsdlocked0 toc 5;\lsdpriority39 \lsdlocked0 toc 6;\lsdpriority39 \lsdlocked0 toc 7;\lsdpriority39 \lsdlocked0 toc 8;\lsdpriority39 \lsdlocked0 toc 9;\lsdqformat1 \lsdpriority35 \lsdlocked0 caption;
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdpriority1 \lsdlocked0 Default Paragraph Font;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdpriority59 \lsdlocked0 Table Grid;
-\lsdunhideused0 \lsdlocked0 Placeholder Text;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 1;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdunhideused0 \lsdlocked0 Revision;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 1;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 2;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 2;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 3;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 4;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 4;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 5;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 5;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 6;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;
-\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;
-\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdpriority37 \lsdlocked0 Bibliography;
-\lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;}}{\*\datastore 0105000002000000180000004d73786d6c322e534158584d4c5265616465722e352e3000000000000000000000060000
-d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
-ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffffec69d9888b8b3d4c859eaf6cd158be0f00000000000000000000000080b6
-df2aece8c901feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000105000000000000}}
\ No newline at end of file