35 \ab\af1\afs28\alang1025 \ltrch\fcs0 \b\fs28\lang2057\langfe2052\kerning28\loch\f1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 \sbasedon0 \snext0 \slink15 \sqformat \styrsid15022011 heading 1;}{ |
36 \ab\af1\afs28\alang1025 \ltrch\fcs0 \b\fs28\lang2057\langfe2052\kerning28\loch\f1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 \sbasedon0 \snext0 \slink15 \sqformat \styrsid15022011 heading 1;}{ |
36 \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\fs24\lang2057\langfe2052\loch\f1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 |
37 \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\fs24\lang2057\langfe2052\loch\f1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 |
37 \sbasedon0 \snext0 \slink16 \sqformat \styrsid15022011 heading 2;}{\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\faauto\outlinelevel2\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 |
38 \sbasedon0 \snext0 \slink16 \sqformat \styrsid15022011 heading 2;}{\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\faauto\outlinelevel2\rin0\lin0\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 |
38 \fs24\lang2057\langfe2052\loch\f1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 \sbasedon0 \snext0 \slink17 \sqformat \styrsid15022011 heading 3;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\* |
39 \fs24\lang2057\langfe2052\loch\f1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 \sbasedon0 \snext0 \slink17 \sqformat \styrsid15022011 heading 3;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\* |
39 \ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv |
40 \ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv |
40 \ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe2052\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp2052 |
41 \ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe2052\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp2052 |
41 \snext11 \ssemihidden \sunhideused \sqformat Normal Table;}{\*\cs15 \additive \rtlch\fcs1 \ab\af31503\afs32 \ltrch\fcs0 \b\fs32\lang2057\langfe0\kerning32\loch\f31502\hich\af31502\dbch\af31501\langnp2057 |
42 \snext11 \ssemihidden \sunhideused \sqformat Normal Table;}{\*\cs15 \additive \rtlch\fcs1 \ab\af31503\afs32 \ltrch\fcs0 \b\fs32\lang2057\langfe0\kerning32\loch\f31502\hich\af31502\dbch\af31501\langnp2057\langfenp0 |
42 \sbasedon10 \slink1 \slocked \spriority9 \styrsid15022011 Heading 1 Char;}{\*\cs16 \additive \rtlch\fcs1 \ab\ai\af31503\afs28 \ltrch\fcs0 \b\i\fs28\lang2057\langfe0\loch\f31502\hich\af31502\dbch\af31501\langnp2057 |
43 \sbasedon10 \slink1 \slocked \spriority9 \styrsid15022011 Heading 1 Char;}{\*\cs16 \additive \rtlch\fcs1 \ab\ai\af31503\afs28 \ltrch\fcs0 \b\i\fs28\lang2057\langfe0\loch\f31502\hich\af31502\dbch\af31501\langnp2057\langfenp0 |
43 \sbasedon10 \slink2 \slocked \ssemihidden \spriority9 \styrsid15022011 Heading 2 Char;}{\*\cs17 \additive \rtlch\fcs1 \ab\af31503\afs26 \ltrch\fcs0 \b\fs26\lang2057\langfe0\loch\f31502\hich\af31502\dbch\af31501\langnp2057 |
44 \sbasedon10 \slink2 \slocked \ssemihidden \spriority9 \styrsid15022011 Heading 2 Char;}{\*\cs17 \additive \rtlch\fcs1 \ab\af31503\afs26 \ltrch\fcs0 \b\fs26\lang2057\langfe0\loch\f31502\hich\af31502\dbch\af31501\langnp2057\langfenp0 |
44 \sbasedon10 \slink3 \slocked \ssemihidden \spriority9 \styrsid15022011 Heading 3 Char;}{\s18\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs16\alang1025 \ltrch\fcs0 |
45 \sbasedon10 \slink3 \slocked \ssemihidden \spriority9 \styrsid15022011 Heading 3 Char;}{\s18\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af38\afs16\alang1025 \ltrch\fcs0 |
45 \fs16\lang2057\langfe2052\loch\f38\hich\af38\dbch\af31505\cgrid\langnp2057\langfenp2052 \sbasedon0 \snext18 \slink19 \ssemihidden \sunhideused \styrsid7604161 Document Map;}{\*\cs19 \additive \rtlch\fcs1 \af38\afs16 \ltrch\fcs0 |
46 \fs16\lang2057\langfe2052\loch\f38\hich\af38\dbch\af31505\cgrid\langnp2057\langfenp2052 \sbasedon0 \snext18 \slink19 \ssemihidden \sunhideused \styrsid7604161 Document Map;}{\*\cs19 \additive \rtlch\fcs1 \af38\afs16 \ltrch\fcs0 |
46 \f38\fs16\lang2057\langfe0\langnp2057 \sbasedon10 \slink18 \slocked \ssemihidden \styrsid7604161 Document Map Char;}{\s20\ql \li0\ri0\widctlpar\tqc\tx4320\tqr\tx8640\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 |
47 \f38\fs16\lang2057\langfe0\langnp2057\langfenp0 \sbasedon10 \slink18 \slocked \ssemihidden \styrsid7604161 Document Map Char;}{\s20\ql \li0\ri0\widctlpar\tqc\tx4320\tqr\tx8640\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 |
47 \fs20\lang2057\langfe2052\loch\f0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 \sbasedon0 \snext20 \slink21 \ssemihidden \sunhideused \styrsid7604161 header;}{\*\cs21 \additive \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 |
48 \ltrch\fcs0 \fs20\lang2057\langfe2052\loch\f0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 \sbasedon0 \snext20 \slink21 \ssemihidden \sunhideused \styrsid7604161 header;}{\*\cs21 \additive \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 |
48 \f0\fs20\lang2057\langfe0\langnp2057 \sbasedon10 \slink20 \slocked \ssemihidden \styrsid7604161 Header Char;}{\s22\ql \li0\ri0\widctlpar\tqc\tx4320\tqr\tx8640\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 |
49 \f0\fs20\lang2057\langfe0\langnp2057\langfenp0 \sbasedon10 \slink20 \slocked \ssemihidden \styrsid7604161 Header Char;}{\s22\ql \li0\ri0\widctlpar\tqc\tx4320\tqr\tx8640\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 |
49 \fs20\lang2057\langfe2052\loch\f0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 \sbasedon0 \snext22 \slink23 \ssemihidden \sunhideused \styrsid7604161 footer;}{\*\cs23 \additive \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 |
50 \fs20\lang2057\langfe2052\loch\f0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 \sbasedon0 \snext22 \slink23 \ssemihidden \sunhideused \styrsid7604161 footer;}{\*\cs23 \additive \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 |
50 \f0\fs20\lang2057\langfe0\langnp2057 \sbasedon10 \slink22 \slocked \ssemihidden \styrsid7604161 Footer Char;}}{\*\listtable{\list\listtemplateid-328197846\listsimple{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelold |
51 \f0\fs20\lang2057\langfe0\langnp2057\langfenp0 \sbasedon10 \slink22 \slocked \ssemihidden \styrsid7604161 Footer Char;}}{\*\listtable{\list\listtemplateid-328197846\listsimple{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1 |
51 \levelspace0\levelindent283{\leveltext\'03\'00. ;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \b0\i0\f0\fs20\fbias0\hres0\chhres0 \fi-283\li283\lin283 }{\listname ;}\listid811824388}}{\*\listoverridetable{\listoverride\listid811824388 |
52 \levelold\levelspace0\levelindent283{\leveltext\'03\'00. ;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \b0\i0\f0\fs20\fbias0\hres0\chhres0 \fi-283\li283\lin283 }{\listname ;}\listid811824388}}{\*\listoverridetable{\listoverride\listid811824388 |
52 \listoverridecount0\ls1}}{\*\revtbl {Unknown;}{x120li;}}{\*\rsidtbl \rsid1249922\rsid1327960\rsid2316060\rsid3302996\rsid5127372\rsid6169386\rsid7604161\rsid8209133\rsid9447428\rsid11078925\rsid14561726\rsid15022011}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1 |
53 \listoverridecount0\ls1}}{\*\rsidtbl \rsid737317\rsid1249922\rsid1327960\rsid2316060\rsid3302996\rsid4132030\rsid5127372\rsid5192092\rsid6169386\rsid7604161\rsid8209133\rsid9447428\rsid11078925\rsid14561726\rsid15022011}{\mmathPr\mmathFont34\mbrkBin0 |
53 \mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\author Graham Asher}{\operator x120li}{\creatim\yr2009\mo5\dy20\hr13\min44}{\revtim\yr2009\mo5\dy20\hr13\min44}{\version2}{\edmins1}{\nofpages6}{\nofwords2317}{\nofchars13053} |
54 \mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\author Graham Asher}{\operator yanchli}{\creatim\yr2009\mo5\dy20\hr13\min44}{\revtim\yr2010\mo3\dy15\hr16\min54}{\version4}{\edmins20}{\nofpages7} |
54 {\*\company Symbian}{\nofcharsws15340}{\vern32895}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw11906\paperh16838\margl1800\margr1800\margt1440\margb1440\gutter0\ltrsect |
55 {\nofwords2326}{\nofchars12989}{\*\company Symbian}{\nofcharsws15285}{\vern32895}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw11906\paperh16838\margl1800\margr1800\margt1440\margb1440\gutter0\ltrsect |
55 \widowctrl\ftnbj\aenddoc\revisions\trackmoves1\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\hyphcaps0\formshade\horzdoc\dghspace120 |
56 \widowctrl\ftnbj\aenddoc\trackmoves1\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\hyphcaps0\formshade\horzdoc\dghspace120\dgvspace120 |
56 \dgvspace120\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3 |
57 \dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale100\splytwnine\ftnlytwnine\htmautsp\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct\asianbrkrule\rsidroot7604161 |
57 \jcompress\viewkind1\viewscale100\splytwnine\ftnlytwnine\htmautsp\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct\asianbrkrule\rsidroot7604161 |
|
58 \newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0{\*\wgrffmtfilter 2450} |
58 \newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0{\*\wgrffmtfilter 2450} |
59 \nofeaturethrottle1\ilfomacatclnup0{\*\ftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid7604161 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 |
59 \nofeaturethrottle1\ilfomacatclnup0{\*\ftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid7604161 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 |
60 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3302996 \chftnsep |
60 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3302996 \chftnsep |
61 \par }}{\*\ftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid7604161 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
61 \par }}{\*\ftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid7604161 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
62 \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3302996 \chftnsepc |
62 \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3302996 \chftnsepc |
63 \par }}{\*\aftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid7604161 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
63 \par }}{\*\aftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid7604161 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
64 \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3302996 \chftnsep |
64 \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3302996 \chftnsep |
65 \par }}{\*\aftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid7604161 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
65 \par }}{\*\aftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid7604161 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
66 \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3302996 \chftnsepc |
66 \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3302996 \chftnsepc |
67 \par }}\ltrpar \sectd \ltrsect\linex0\headery709\footery709\colsx709\endnhere\sectdefaultcl\sectrsid15022011\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta \hich .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta \hich .}} |
67 \par }}\ltrpar \sectd \ltrsect\linex0\headery709\footery709\colsx709\endnhere\sectdefaultcl\sectrsid15022011\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3 |
68 {\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta \hich .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta \hich )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb \hich (}{\pntxta \hich )}}{\*\pnseclvl6 |
68 \pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}} |
69 \pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb \hich (}{\pntxta \hich )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb \hich (}{\pntxta \hich )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb \hich (}{\pntxta \hich )}}{\*\pnseclvl9 |
69 {\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar |
70 \pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb \hich (}{\pntxta \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 |
70 \s1\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\faauto\outlinelevel0\rin0\lin0\itap0 \rtlch\fcs1 \ab\af1\afs28\alang1025 \ltrch\fcs0 \b\fs28\lang2057\langfe2052\kerning28\loch\af1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 {\rtlch\fcs1 |
71 \b\fs28\lang2057\langfe2052\kerning28\loch\af1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11078925 \hich\af1\dbch\af31505\loch\f1 Using COLTAB to make collation key tables |
71 \af1 \ltrch\fcs0 \insrsid11078925 \hich\af1\dbch\af31505\loch\f1 Using COLTAB to make collation key tables |
72 \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 {\rtlch\fcs1 \af0 \ltrch\fcs0 |
72 \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 {\rtlch\fcs1 \af0 \ltrch\fcs0 |
73 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 Graham Asher, 10}{\rtlch\fcs1 \af0 \ltrch\fcs0 \super\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 th}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 November 1999 |
73 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 Graham Asher, 10}{\rtlch\fcs1 \af0 \ltrch\fcs0 \super\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 th}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 November 1999 |
74 \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\fs24\lang2057\langfe2052\loch\af1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
74 \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\fs24\lang2057\langfe2052\loch\af1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
75 \rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11078925 \hich\af1\dbch\af31505\loch\f1 Introduction |
75 \rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11078925 \hich\af1\dbch\af31505\loch\f1 Introduction |
76 \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 {\rtlch\fcs1 \af0 \ltrch\fcs0 |
76 \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 {\rtlch\fcs1 \af0 \ltrch\fcs0 |
77 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 EPOC32 reads collation keys from tables. These tables not only map single Unicode characters to \hich\af0\dbch\af31505\loch\f0 |
77 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 |
78 single keys, but map sequences of characters to sequences of keys. This system allows almost any kind of collation behaviour to be expressed. Each key is actually a triplet, giving three weights that can be used successively to make finer discriminations. |
78 EPOC32 reads collation keys from tables. These tables not only map single Unicode characters to single keys, but map sequences of characters to sequences of keys. This system allows almost any kind of collation behaviour to be expressed. Each key is actua |
79 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 There is an implicit fourth weight that is the Unicode value of the character itself, but that is not stored in the tables. |
79 \hich\af0\dbch\af31505\loch\f0 lly a triplet, giving three weights that can be used successively to make finer discriminations. There is an implicit fourth weight that is the Unicode value of the character itself, but that is not stored in the tables. |
80 \par |
80 |
81 \par \hich\af0\dbch\af31505\loch\f0 There can be two sets of tables. The first set provides the standard keys; the optional second set tailors them for a particular lo\hich\af0\dbch\af31505\loch\f0 cale. See the definition of TCollationMethod in \\e32\\include |
81 \par |
|
82 \par \hich\af0\dbch\af31505\loch\f0 There can be two sets of tables. T\hich\af0\dbch\af31505\loch\f0 he first set provides the standard keys; the optional second set tailors them for a particular locale. See the definition of TCollationMethod in \\e32\\include |
82 \\collate.h; iMainTable contains the standard keys and iOverrideTable the tailoring. |
83 \\collate.h; iMainTable contains the standard keys and iOverrideTable the tailoring. |
83 \par |
84 \par |
84 \par \hich\af0\dbch\af31505\loch\f0 The tables used by EPOC are arrays of numbers written in the C++ source code in hexadecimal notation, and packe\hich\af0\dbch\af31505\loch\f0 |
85 \par \hich\af0\dbch\af31505\loch\f0 The tables use\hich\af0\dbch\af31505\loch\f0 |
85 d and encoded in various ways to make them more compact. This article explains how to use COLTAB to write this C++ code, translating from source data supplied by the Unicode Consortium, or other source data in the same format. It is followed by a case stu |
86 d by EPOC are arrays of numbers written in the C++ source code in hexadecimal notation, and packed and encoded in various ways to make them more compact. This article explains how to use COLTAB to write this C++ code, translating from source data supplied |
86 \hich\af0\dbch\af31505\loch\f0 d\hich\af0\dbch\af31505\loch\f0 y; that of creating collation tables for Swedish. |
87 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 by the Unicode Consortium, or other source data in the same format. It is followed by a case study; that of creating collation tables for Swedish. |
87 \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\fs24\lang2057\langfe2052\loch\af1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
88 \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\fs24\lang2057\langfe2052\loch\af1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
88 \rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11078925 \hich\af1\dbch\af31505\loch\f1 COLTAB reference |
89 \rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11078925 \hich\af1\dbch\af31505\loch\f1 COLTAB reference |
89 \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 \fs24\lang2057\langfe2052\loch\af1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
90 \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 \fs24\lang2057\langfe2052\loch\af1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
90 \rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11078925 \hich\af1\dbch\af31505\loch\f1 COLTAB syntax |
91 \rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11078925 \hich\af1\dbch\af31505\loch\f1 COLTAB syntax |
91 \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 {\rtlch\fcs1 \af0 \ltrch\fcs0 |
92 \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 {\rtlch\fcs1 \af0 \ltrch\fcs0 |
92 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 COLTAB is a Windows NT console application that requires }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 a single command-line argument}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 |
93 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 COLTAB is a Windows NT console application that requires }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 a single command-line\hich\af0\dbch\af31505\loch\f0 argument}{ |
93 \b\cf0\revised\revauth1\revdttm1188404120\insrsid7604161 \hich\af0\dbch\af31505\loch\f0 and a single option}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 .}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404122\insrsid7604161 |
94 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid7604161 \hich\af0\dbch\af31505\loch\f0 and a single option}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 .}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7604161 |
94 \par |
95 \par |
95 \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\revauthdel1\revdttmdel1188404122\insrsid11078925\delrsid7604161 \hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\revauthdel1\revdttmdel1188404120\insrsid11078925\delrsid7604161 |
96 \par \hich\af0\dbch\af31505\loch\f0 The argument }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 is the }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 locale name}{\rtlch\fcs1 \af0 |
96 \hich\af0\dbch\af31505\loch\f0 This }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404120\insrsid7604161 \hich\af0\dbch\af31505\loch\f0 The argument }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 is the }{ |
97 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 \hich\f0 , which is used as a base for the names of the files that COLTAB reads and writes. The locale name can be one of the two special names \'93\loch\f0 \hich\f0 standard\'94\loch\f0 |
97 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 locale name}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 , which is used as a base fo\hich\af0\dbch\af31505\loch\f0 \hich\f0 |
98 \hich\f0 and \'93\loch\f0 \hich\f0 wgl4\'94\loch\f0 , in which case the standard da\hich\af0\dbch\af31505\loch\f0 |
98 r the names of the files that COLTAB reads and writes. The locale name can be one of the two special names \'93\loch\f0 \hich\f0 standard\'94\loch\f0 \hich\f0 and \'93\loch\f0 \hich\f0 wgl4\'94\loch\f0 |
99 ta files are read, or anything else (usually the name of a language) in which case files providing specific collation rules for that language are read. |
99 , in which case the standard data files are read, or anything else (usually the name of a language) in which case files providi\hich\af0\dbch\af31505\loch\f0 n\hich\af0\dbch\af31505\loch\f0 g specific collation rules for that language are read. |
100 \par |
100 \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404122\insrsid11078925 |
101 \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7604161 \hich\af0\dbch\af31505\loch\f0 The option is \hich\f0 \lquote \loch\f0 /a\hich\f0 \rquote \loch\f0 . \hich\af0\dbch\af31505\loch\f0 The\hich\af0\dbch\af31505\loch\f0 organization of |
101 \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404122\insrsid7604161 \hich\af0\dbch\af31505\loch\f0 The option is \hich\f0 \lquote \loch\f0 /a\hich\f0 \rquote \loch\f0 . }{\rtlch\fcs1 \af0 \ltrch\fcs0 |
102 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 the \hich\af0\dbch\af31505\loch\f0 default collation keys files provided by the Unicode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9447428 \hich\af0\dbch\af31505\loch\f0 Consor |
102 \cf0\revised\revauth1\revdttm1188404123\insrsid7604161 \hich\af0\dbch\af31505\loch\f0 The}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404126\insrsid7604161 \hich\af0\dbch\af31505\loch\f0 organization of}{\rtlch\fcs1 \af0 \ltrch\fcs0 |
103 \hich\af0\dbch\af31505\loch\f0 tium}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7604161 \hich\af0\dbch\af31505\loch\f0 ha\hich\af0\dbch\af31505\loch\f0 ve\hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 been \hich\af0\dbch\af31505\loch\f0 |
103 \cf0\revised\revauth1\revdttm1188404127\insrsid7604161 \hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404126\insrsid7604161 \hich\af0\dbch\af31505\loch\f0 the }{\rtlch\fcs1 \af0 \ltrch\fcs0 |
104 slightly changed since \hich\af0\dbch\af31505\loch\f0 Unicode \hich\af0\dbch\af31505\loch\f0 version \hich\af0\dbch\af31505\loch\f0 3.0\hich\af0\dbch\af31505\loch\f0 . \hich\af0\dbch\af31505\loch\f0 Before\hich\af0\dbch\af31505\loch\f0 and in |
104 \cf0\revised\revauth1\revdttm1188404123\insrsid7604161 \hich\af0\dbch\af31505\loch\f0 default collation keys files provided by the Unicode}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404134\insrsid9447428 \hich\af0\dbch\af31505\loch\f0 |
105 \hich\af0\dbch\af31505\loch\f0 Unicode 3.0, \hich\af0\dbch\af31505\loch\f0 three \hich\af0\dbch\af31505\loch\f0 keys files\hich\af0\dbch\af31505\loch\f0 |
105 Consortium}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404123\insrsid7604161 \hich\af0\dbch\af31505\loch\f0 ha}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404124\insrsid7604161 \hich\af0\dbch\af31505\loch\f0 ve}{ |
106 are provided. They are the base keys file, the composite keys file, and the string keys file. After Unicode 3.0, these three files are combined into one\hich\af0\dbch\af31505\loch\f0 single file, which is the all keys file. |
106 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404123\insrsid7604161 \hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404127\insrsid7604161 \hich\af0\dbch\af31505\loch\f0 been }{\rtlch\fcs1 |
107 \hich\af0\dbch\af31505\loch\f0 When option \hich\f0 \lquote \loch\f0 /a\hich\f0 \rquote \loch\f0 is not specified, COLTAB will try to find the three separated files, using the locale name as}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2316060 |
107 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404123\insrsid7604161 \hich\af0\dbch\af31505\loch\f0 slightly changed since }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404122\insrsid7604161 \hich\af0\dbch\af31505\loch\f0 Unicode }{ |
108 \hich\af0\dbch\af31505\loch\f0 file name base. When option \hich\f0 \lquote \loch\f0 a\hich\f0 \rquote \loch\f0 is specified, }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9447428 \hich\af0\dbch\af31505\loch\f0 |
108 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404124\insrsid7604161 \hich\af0\dbch\af31505\loch\f0 version }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404122\insrsid7604161 \hich\af0\dbch\af31505\loch\f0 3.0}{ |
109 COLTAB will try to find the single keys file, using the l\hich\af0\dbch\af31505\loch\f0 ocale name as file name base.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7604161 |
109 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404124\insrsid7604161 \hich\af0\dbch\af31505\loch\f0 . }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404125\insrsid7604161 \hich\af0\dbch\af31505\loch\f0 Before}{\rtlch\fcs1 |
110 \par |
110 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404127\insrsid7604161 \hich\af0\dbch\af31505\loch\f0 and in}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404125\insrsid7604161 \hich\af0\dbch\af31505\loch\f0 Unicode 3.0, }{\rtlch\fcs1 |
|
111 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404122\insrsid7604161 \hich\af0\dbch\af31505\loch\f0 three }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404123\insrsid7604161 \hich\af0\dbch\af31505\loch\f0 keys |
|
112 \hich\af0\dbch\af31505\loch\f0 files}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404125\insrsid7604161 \hich\af0\dbch\af31505\loch\f0 |
|
113 are provided. They are the base keys file, the composite keys file, and the string keys file. After Unicode 3.0, these three files are combined into one}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404128\insrsid7604161 |
|
114 \hich\af0\dbch\af31505\loch\f0 single file, which is the all keys file}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404125\insrsid7604161 .}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404128\insrsid7604161 |
|
115 \hich\af0\dbch\af31505\loch\f0 When option \hich\f0 \lquote \loch\f0 /a\hich\f0 \rquote \loch\f0 is not specified, COLTAB will try to fi\hich\af0\dbch\af31505\loch\f0 nd the three separated files, using the locale name as}{\rtlch\fcs1 \af0 \ltrch\fcs0 |
|
116 \cf0\revised\revauth1\revdttm1188404131\insrsid2316060 \hich\af0\dbch\af31505\loch\f0 file name base. When option \hich\f0 \lquote \loch\f0 a\hich\f0 \rquote \loch\f0 is specified, }{\rtlch\fcs1 \af0 \ltrch\fcs0 |
|
117 \cf0\revised\revauth1\revdttm1188404132\insrsid9447428 \hich\af0\dbch\af31505\loch\f0 COLTAB will try to find the single keys file, using the locale name as file name base.}{\rtlch\fcs1 \af0 \ltrch\fcs0 |
|
118 \cf0\revised\revauth1\revdttm1188404122\insrsid7604161 |
|
119 \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7604161 |
|
120 \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 The input and output files are: |
111 \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 The input and output files are: |
121 \par |
112 \par |
122 \par \hich\af0\dbch\af31505\loch\f0 1. The base keys file. If the loca\hich\af0\dbch\af31505\loch\f0 \hich\f0 le name is \'93\loch\f0 \hich\f0 standard\'94\loch\f0 \hich\f0 or \'93\loch\f0 \hich\f0 wgl4\'94\loch\f0 this is }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 |
113 \par \hich\af0\dbch\af31505\loch\f0 \hich\f0 1. The base keys file. If the locale name is \'93\loch\f0 \hich\f0 standard\'94\loch\f0 \hich\f0 or \'93\loch\f0 \hich\f0 wgl4\'94\loch\f0 this is }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid11078925 |
123 \i\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 basekeys.txt}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 (the standard base keys file supplied by the Unicode Consortium), otherwise it is }{\rtlch\fcs1 \ai\af0 |
114 \hich\af0\dbch\af31505\loch\f0 basekeys.txt}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 (the standard base keys file supplied by the Unicode Consortium), otherwise it is }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 |
124 \ltrch\fcs0 \i\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 <locale-name>_basekeys.txt.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 |
115 \i\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 <locale-name>_basekeys\hich\af0\dbch\af31505\loch\f0 .txt.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 |
125 \par |
116 \par |
126 \par \hich\af0\dbch\af31505\loch\f0 \hich\f0 2. The composite keys file. If the locale name is \'93\loch\f0 \hich\f0 standard\'94\loch\f0 \hich\f0 or \'93\loch\f0 \hich\f0 wgl4\'94\loch\f0 this is }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid11078925 |
117 \par \hich\af0\dbch\af31505\loch\f0 \hich\f0 2. The composite keys file. If the locale name is \'93\loch\f0 \hich\f0 standard\'94\loch\f0 \hich\f0 or \'93\loch\f0 \hich\f0 wgl4\'94\loch\f0 this is }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid11078925 |
127 \hich\af0\dbch\af31505\loch\f0 compkeys.tx\hich\af0\dbch\af31505\loch\f0 t}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 (the standard base keys file supplied by the Unicode Consortium), otherwise it is }{\rtlch\fcs1 |
118 \hich\af0\dbch\af31505\loch\f0 compkeys.txt}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 (the standard base keys file supplied by the Unicode Consortium), otherwise it is }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 |
128 \ai\af0 \ltrch\fcs0 \i\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 <locale-name>_compkeys.txt.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 |
119 \i\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 <locale-name>_compkeys.txt.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 |
129 \par |
120 \par |
130 \par \hich\af0\dbch\af31505\loch\f0 \hich\f0 3. The file of strings; sequences of Unicode characters that map to single collation keys. If the locale name is \'93\loch\f0 \hich\f0 standard\'94\loch\f0 \hich\f0 or \'93\loch\f0 \hich\f0 wgl4\'94\loch\f0 |
121 \par \hich\af0\dbch\af31505\loch\f0 \hich\f0 3. The file of strings; sequences of Unicode characters that map to single collation keys. If the locale name is \'93\loch\f0 \hich\f0 standard\'94\loch\f0 \hich\f0 or \'93\loch\f0 \hich\f0 wgl4\'94\loch\f0 |
131 no strin\hich\af0\dbch\af31505\loch\f0 gs file is read, otherwise it is }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 <locale-name>_strings.txt.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 |
122 no strings file is read, otherwise it is }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 <locale-name>_strings.txt.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 |
132 \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404133\insrsid11078925 |
123 \par |
133 \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404133\insrsid9447428 \hich\af0\dbch\af31505\loch\f0 \hich\f0 3. The all keys file. If the locale name is \'93\loch\f0 \hich\f0 standard\'94\loch\f0 \hich\f0 or \'93\loch\f0 \hich\f0 wgl4 |
124 \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9447428 \hich\af0\dbch\af31505\loch\f0 \hich\f0 3. The all keys file. If the locale name is \'93\loch\f0 standar\hich\af0\dbch\af31505\loch\f0 \hich\f0 d\'94\loch\f0 \hich\f0 or \'93\loch\f0 \hich\f0 wgl4\'94 |
134 \'94\loch\f0 this is }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\cf0\revised\revauth1\revdttm1188404135\insrsid8209133 \hich\af0\dbch\af31505\loch\f0 baseallkeys.txt}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404133\insrsid9447428 |
125 \loch\f0 this is }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid8209133 \hich\af0\dbch\af31505\loch\f0 baseallkeys.txt}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9447428 \hich\af0\dbch\af31505\loch\f0 (the standard }{\rtlch\fcs1 \af0 \ltrch\fcs0 |
135 \hich\af0\dbch\af31505\loch\f0 (the standard }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404134\insrsid8209133 \hich\af0\dbch\af31505\loch\f0 all}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404133\insrsid9447428 |
126 \insrsid8209133 \hich\af0\dbch\af31505\loch\f0 all}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid9447428 \hich\af0\dbch\af31505\loch\f0 ke}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8209133 \hich\af0\dbch\af31505\loch\f0 |
136 \hich\af0\dbch\af31505\loch\f0 ke}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404134\insrsid8209133 \hich\af0\dbch\af31505\loch\f0 ys file supplied by the Unicode Consortium), otherwise it is }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 |
127 ys file supplied by the Unicode Consortium), otherwise it is }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid8209133 \hich\af0\dbch\af31505\loch\f0 <locale-name>_allkeys.txt}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8209133 .}{\rtlch\fcs1 \af0 \ltrch\fcs0 |
137 \i\cf0\revised\revauth1\revdttm1188404135\insrsid8209133 \hich\af0\dbch\af31505\loch\f0 <locale-name>_allkeys.txt}{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm1188404135\insrsid8209133 .}{\rtlch\fcs1 \af0 \ltrch\fcs0 |
128 \insrsid9447428 |
138 \cf0\revised\revauth1\revdttm1188404135\insrsid9447428 |
|
139 \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6169386 |
129 \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid6169386 |
140 \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 4. The output C++ source file. This is }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 ls_<locale-name>.cpp}{\rtlch\fcs1 \af0 \ltrch\fcs0 |
130 \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 4. The output C++ source file. This is }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 ls_<locale-name>.cpp}{\rtlch\fcs1 \af0 \ltrch\fcs0 |
141 \insrsid11078925 . |
131 \insrsid11078925 . |
142 \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 \fs24\lang2057\langfe2052\loch\af1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
132 \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 \fs24\lang2057\langfe2052\loch\af1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
143 \rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11078925 \hich\af1\dbch\af31505\loch\f1 The format of the base keys file |
133 \rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11078925 \hich\af1\dbch\af31505\loch\f1 The format of the base keys file |
144 \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 {\rtlch\fcs1 \af0 \ltrch\fcs0 |
134 \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 {\rtlch\fcs1 \af0 \ltrch\fcs0 |
145 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 Here are a few lines from }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 basekeys.txt}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 : |
135 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 Here are a few lines from }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 basekeys.txt}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 : |
146 |
136 |
147 \par |
137 \par |
148 \par \hich\af0\dbch\af31505\loch\f0 0044 ; [.0707.0020.0008.0044] % LATIN CAPITAL LETTER D |
138 \par \hich\af0\dbch\af31505\loch\f0 0044 ; [.0707.0020.0008.0044] % LATIN CAPITAL LETTER D |
149 \par \hich\af0\dbch\af31505\loch\f0 FF24 ; [.0707.0020.0009.FF24] % FULLWIDTH LATIN CAPITAL LETTER \hich\af0\dbch\af31505\loch\f0 D; COMPAT |
139 \par \hich\af0\dbch\af31505\loch\f0 FF24 ; [.0707.0020.0009.FF24] % FULLWIDTH LATIN CAPITAL LETTER D; COMPAT |
150 \par \hich\af0\dbch\af31505\loch\f0 216E ; [.0707.0020.000A.216E] % ROMAN NUMERAL FIVE HUNDRED; COMPAT |
140 \par \hich\af0\dbch\af31505\loch\f0 216E ; [.0707.0020.000A.216E] % ROMAN NUMERAL FIVE HUNDRED; COMPAT |
151 \par \hich\af0\dbch\af31505\loch\f0 24B9 ; [.0707.0020.000C.24B9] % CIRCLED LATIN CAPITAL LETTER D; COMPAT |
141 \par \hich\af0\dbch\af31505\loch\f0 24B9 ; [.0707.0020.0\hich\af0\dbch\af31505\loch\f0 00C.24B9] % CIRCLED LATIN CAPITAL LETTER D; COMPAT |
152 \par \hich\af0\dbch\af31505\loch\f0 010F ; [.0707.0031.0002.010F] % LATIN SMALL LETTER D WITH CARON; CANONSEQ |
142 \par \hich\af0\dbch\af31505\loch\f0 010F ; [.0707.0031.0002.010F] % LATIN SMALL LETTER D WITH CARON; CANONSEQ |
153 \par |
143 \par |
154 \par \hich\af0\dbch\af31505\loch\f0 The format is |
144 \par \hich\af0\dbch\af31505\loch\f0 The format is |
155 \par |
145 \par |
156 \par \hich\af0\dbch\af31505\loch\f0 a four-digit hex n\hich\af0\dbch\af31505\loch\f0 umber; the Unicode value of the character |
146 \par \hich\af0\dbch\af31505\loch\f0 a four-digit hex number; the Unicode value of the character |
157 \par \hich\af0\dbch\af31505\loch\f0 a space, a semicolon, and a space (optionally, a single space can occur here rather then the three characters just mentioned; this is how the data files used to be before Unicode 3.0 was released in March 2000) |
147 \par \hich\af0\dbch\af31505\loch\f0 a space, a semicolon, and a space (optionally, a single\hich\af0\dbch\af31505\loch\f0 |
158 \par \hich\af0\dbch\af31505\loch\f0 squ\hich\af0\dbch\af31505\loch\f0 |
148 space can occur here rather then the three characters just mentioned; this is how the data files used to be before Unicode 3.0 was released in March 2000) |
159 are brackets enclosing the four collation keys, each of which is a four-digit hex number preceded either by a full stop (meaning that this value is treated in the ordinary way) or an asterisk (meaning that this value is usually ignored) |
149 \par \hich\af0\dbch\af31505\loch\f0 square brackets enclosing the four collation keys, each of which is a four-digit hex number preceded\hich\af0\dbch\af31505\loch\f0 |
|
150 either by a full stop (meaning that this value is treated in the ordinary way) or an asterisk (meaning that this value is usually ignored) |
160 \par \hich\af0\dbch\af31505\loch\f0 a space |
151 \par \hich\af0\dbch\af31505\loch\f0 a space |
161 \par \hich\af0\dbch\af31505\loch\f0 a percent s\hich\af0\dbch\af31505\loch\f0 ign |
152 \par \hich\af0\dbch\af31505\loch\f0 a percent sign |
162 \par \hich\af0\dbch\af31505\loch\f0 an optional comment that is usually the Unicode name of the character |
153 \par \hich\af0\dbch\af31505\loch\f0 an optional comment that is usually the Unicode name of the character |
163 \par |
154 \par |
164 \par \hich\af0\dbch\af31505\loch\f0 In addition, the file can start with some comments (lines starting with a percent sign) followed by the revision number (e.g., \hich\f0 \lquote \loch\f0 2.1.9 % version\hich\f0 \rquote \loch\f0 |
155 \par \hich\af0\dbch\af31505\loch\f0 In addition, the file \hich\af0\dbch\af31505\loch\f0 can start with some comments (lines starting with a percent sign) followed by the revision number (e.g., \hich\f0 \lquote \loch\f0 2.1.9 % version\hich\f0 \rquote |
165 ) on a line of its own; this part is \hich\af0\dbch\af31505\loch\f0 optional. Blank lines are ignored. |
156 \loch\f0 ) on a line of its own; this part is optional. Blank lines are ignored. |
166 \par |
157 \par |
167 \par \hich\af0\dbch\af31505\loch\f0 The four key values have the following conventional meanings: |
158 \par \hich\af0\dbch\af31505\loch\f0 The four key values have the following conventional meanings: |
168 \par |
159 \par |
169 \par \hich\af0\dbch\af31505\loch\f0 Level-0 key (0707 in the first example line above): basic character identity. All Ds have 0707 as their level-0 key. |
160 \par \hich\af0\dbch\af31505\loch\f0 Level-0 key (0707 in the first example line above): basic character identity. All Ds have 0707 as their level-0 key. |
170 \par |
161 \par |
171 \par \hich\af0\dbch\af31505\loch\f0 Level-1 key (0020): diacritic or modifi\hich\af0\dbch\af31505\loch\f0 er if any; 0020 means \hich\f0 \lquote \loch\f0 no diacritic\hich\f0 \rquote \loch\f0 , 0031 means \hich\f0 \lquote \loch\f0 caron\hich\f0 \rquote |
162 \par \hich\af0\dbch\af31505\loch\f0 Level-1 key (0020): diacritic or modifier if any; 0020 means \hich\f0 \lquote \loch\f0 no diacritic\hich\f0 \rquote \loch\f0 , 0031 means \hich\f0 \lquote \loch\f0 caron\hich\f0 \rquote \hich\af0\dbch\af31505\loch\f0 |
172 \loch\f0 , etc. There are too many of these to list here but values can easily be ascertained by looking at }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 basekeys.txt}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 . |
163 , etc. There are too many of these to list here but values can easily be ascertained by looking at }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 basekeys.txt}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 . |
173 |
|
174 \par |
164 \par |
175 \par \hich\af0\dbch\af31505\loch\f0 Level-2 key (0008): case or other variation. Here are the conventional values used in }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 basekeys.txt}{\rtlch\fcs1 \af0 \ltrch\fcs0 |
165 \par \hich\af0\dbch\af31505\loch\f0 Level-2 key (0008): case or other variation. Here are the conventional values used in }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 basekeys.txt}{\rtlch\fcs1 \af0 \ltrch\fcs0 |
176 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 and }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 compkeys.txt}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 : |
166 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 and }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 compkeys.txt}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 : |
177 \par |
167 \par |
178 \par \hich\af0\dbch\af31505\loch\f0 0002: default value; small letter; musical sign\line 0003: fullwidth small letter\line 0004: small letter used as Roman numeral or mathematical symbol\line 0005: script small letter\line 0006: circled small letter\line |
168 \par \hich\af0\dbch\af31505\loch\f0 0002: default value; sma\hich\af0\dbch\af31505\loch\f0 ll letter; musical sign\line 0003: fullwidth small letter\line 0004: small letter used as Roman numeral or mathematical symbol\line 0005: script small letter\line |
179 0007: not used\line 0008: capital \hich\af0\dbch\af31505\loch\f0 letter\line 0009: fullwidth capital letter\line 000A: capital letter used as Roman numeral or mathematical symbol |
169 0006: circled small letter\line 0007: not used\line 0008: capital letter\line 0009: fullwidth capital letter\line 000A: capital lett\hich\af0\dbch\af31505\loch\f0 e\hich\af0\dbch\af31505\loch\f0 r used as Roman numeral or mathematical symbol |
180 \par \hich\af0\dbch\af31505\loch\f0 000B: script capital\line 000C: circled capital\line 000D: Hiragana small letter\line 000E: Hiragana letter\line 000F: Katakana small letter\line 0010: Halfwidth Katakana small \hich\af0\dbch\af31505\loch\f0 letter |
170 \par \hich\af0\dbch\af31505\loch\f0 000B: script capital\line 000C: circled capital\line 000D: Hiragana small letter\line 000E: Hiragana letter\line 000F: Katakana small letter\line 0010: Halfwidth Katakana small letter |
181 \par \hich\af0\dbch\af31505\loch\f0 0011: Katakana letter |
171 \par \hich\af0\dbch\af31505\loch\f0 0011: Katakana letter |
182 \par \hich\af0\dbch\af31505\loch\f0 0012: Halfwidth Katakana letter |
172 \par \hich\af0\dbch\af31505\loch\f0 0012: Halfwidth Katakana let\hich\af0\dbch\af31505\loch\f0 ter |
183 \par \hich\af0\dbch\af31505\loch\f0 0013: Circled Katakana letter |
173 \par \hich\af0\dbch\af31505\loch\f0 0013: Circled Katakana letter |
184 \par \hich\af0\dbch\af31505\loch\f0 0014: modifier, ideographic annotation, superscript |
174 \par \hich\af0\dbch\af31505\loch\f0 0014: modifier, ideographic annotation, superscript |
185 \par \hich\af0\dbch\af31505\loch\f0 0015: subscript |
175 \par \hich\af0\dbch\af31505\loch\f0 0015: subscript |
186 \par \hich\af0\dbch\af31505\loch\f0 0016: vertical presentation form |
176 \par \hich\af0\dbch\af31505\loch\f0 0016: vertical presentation form |
187 \par \hich\af0\dbch\af31505\loch\f0 0017: initial (Arabic or other) presentation form |
177 \par \hich\af0\dbch\af31505\loch\f0 0017: initial (Arabic or other) presentation form |
188 \par \hich\af0\dbch\af31505\loch\f0 0018: medial p\hich\af0\dbch\af31505\loch\f0 resentation form |
178 \par \hich\af0\dbch\af31505\loch\f0 0018: medial presentation form |
189 \par \hich\af0\dbch\af31505\loch\f0 0019: final presentation form |
179 \par \hich\af0\dbch\af31505\loch\f0 0019: final presentation form |
190 \par \hich\af0\dbch\af31505\loch\f0 001A: isolated presentation form |
180 \par \hich\af0\dbch\af31505\loch\f0 001A: isol\hich\af0\dbch\af31505\loch\f0 ated presentation form |
191 \par \hich\af0\dbch\af31505\loch\f0 001B: non-breaking variant (non-break space, etc.) |
181 \par \hich\af0\dbch\af31505\loch\f0 001B: non-breaking variant (non-break space, etc.) |
192 \par \hich\af0\dbch\af31505\loch\f0 001C: surrounded by square |
182 \par \hich\af0\dbch\af31505\loch\f0 001C: surrounded by square |
193 \par \hich\af0\dbch\af31505\loch\f0 001D: surrounded by square (not sure how this differs from 001C) |
183 \par \hich\af0\dbch\af31505\loch\f0 001D: surrounded by square (not sure how this differs from 001C) |
194 \par \hich\af0\dbch\af31505\loch\f0 001E: vulgar fraction |
184 \par \hich\af0\dbch\af31505\loch\f0 001E: vulgar fraction |
195 \par |
185 \par |
196 \par \hich\af0\dbch\af31505\loch\f0 Level-3 ke\hich\af0\dbch\af31505\loch\f0 y: fallback key, used if all other keys yield equality; in }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 basekeys.txt}{\rtlch\fcs1 \af0 |
186 \par \hich\af0\dbch\af31505\loch\f0 Level-3 key: fallback key, used if all other keys yield equality; i\hich\af0\dbch\af31505\loch\f0 n }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 basekeys.txt}{\rtlch\fcs1 \af0 |
197 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 always the Unicode value of the character. This value is not stored in the tables generated by COLTAB. |
187 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 always the Unicode value of the character. This value is not stored in the tables generated by COLTAB. |
198 \par |
188 \par |
199 \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 \fs24\lang2057\langfe2052\loch\af1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
189 \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 \fs24\lang2057\langfe2052\loch\af1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
200 \rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11078925 \hich\af1\dbch\af31505\loch\f1 The format of the composite keys file |
190 \rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11078925 \hich\af1\dbch\af31505\loch\f1 The format of the composite keys file |
201 \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 {\rtlch\fcs1 \af0 \ltrch\fcs0 |
191 \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 {\rtlch\fcs1 \af0 \ltrch\fcs0 |
202 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 This is exactly the same as the base keys \hich\af0\dbch\af31505\loch\f0 |
192 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 This is exactly the same as the base keys file, except that there may be more than one group of col\hich\af0\dbch\af31505\loch\f0 |
203 file, except that there may be more than one group of collation keys. Here are a few sample lines (broken here because of the narrow page): |
193 lation keys. Here are a few sample lines (broken here because of the narrow page): |
204 \par |
194 \par |
205 \par \hich\af0\dbch\af31505\loch\f0 217A ; [.08D9.0020.0004.0078] [.079D.0020.0004.0069] % SMALL ROMAN NUMERAL ELEVEN; |
195 \par \hich\af0\dbch\af31505\loch\f0 217A ; [.08D9.0020.0004.0078] [.079D.0020.0004.0069] % SMALL ROMAN NUMERAL ELEVEN; |
206 \par }\pard \ltrpar\ql \fi720\li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 COMPATSEQ |
196 \par }\pard \ltrpar\ql \fi720\li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 COMPATSEQ |
207 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 217B ; [.08D9.0020.000\hich\af0\dbch\af31505\loch\f0 |
197 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 217B ; [.08D9.0020.0004.0078] [.079D.0020.0004.0069] [.079D.0020.0004.0069] % |
208 4.0078] [.079D.0020.0004.0069] [.079D.0020.0004.0069] % |
|
209 \par }\pard \ltrpar\ql \fi720\li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 SMALL ROMAN NUMERAL TWELVE; COMPATSEQ |
198 \par }\pard \ltrpar\ql \fi720\li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 SMALL ROMAN NUMERAL TWELVE; COMPATSEQ |
210 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 216A ; [.08D9.0020.000A.0058] [.079D.0020.000A.0049] % ROMAN NUMERAL ELEVEN; |
199 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 216A ; [.08D9.0020.000A.0058] [.079D.0020.000A.0049] % ROMAN NUMERAL ELEVEN; |
211 \par }\pard \ltrpar\ql \fi720\li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 COMPATSEQ |
200 \par }\pard \ltrpar\ql \fi720\li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 COMPATSEQ |
212 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 216B ; [.08D9.0020.000A.0058] [.079D.0020.000A.0049] [.079D.0020.000A.0049] |
201 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 216B ; [.08D9.0020.000A.0058] [.079D.0020.000A.0049] [.079D.0020.000A.0049] % ROMAN |
213 \hich\af0\dbch\af31505\loch\f0 % ROMAN |
|
214 \par }\pard \ltrpar\ql \fi720\li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 NUMERAL TWELVE; COMPATSEQ |
202 \par }\pard \ltrpar\ql \fi720\li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 NUMERAL TWELVE; COMPATSEQ |
215 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 0149 ; [.091E.0020.0004.02BC] [.07FD.0020.0004.006E] % LATIN SMALL LETTER N |
203 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 0149 ; [.091E.0020.00\hich\af0\dbch\af31505\loch\f0 |
|
204 04.02BC] [.07FD.0020.0004.006E] % LATIN SMALL LETTER N |
216 \par }\pard \ltrpar\ql \fi720\li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 PRECEDED BY APOSTROPHE; COMPATSEQ |
205 \par }\pard \ltrpar\ql \fi720\li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 PRECEDED BY APOSTROPHE; COMPATSEQ |
217 \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 \fs24\lang2057\langfe2052\loch\af1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
206 \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 \fs24\lang2057\langfe2052\loch\af1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
218 \rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11078925 \hich\af1\dbch\af31505\loch\f1 The format of the strings file |
207 \rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11078925 \hich\af1\dbch\af31505\loch\f1 The format of the strings file |
219 \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 {\rtlch\fcs1 \af0 \ltrch\fcs0 |
208 \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 {\rtlch\fcs1 \af0 \ltrch\fcs0 |
220 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 The strings file has the same format as compkeys.txt, except that there can be a\hich\af0\dbch\af31505\loch\f0 |
209 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 The strings file has the same format as compkeys.txt, except that there can be any number of Unicode characters at the start of the line\hich\af0\dbch\af31505\loch\f0 |
221 ny number of Unicode characters at the start of the line, space-separated and each exactly 4 hex digits. |
210 , space-separated and each exactly 4 hex digits. |
222 \par |
211 \par |
223 \par \hich\af0\dbch\af31505\loch\f0 Each line associates a string of Unicode characters (sometimes known as a \hich\f0 \lquote \loch\f0 collation grapheme\hich\f0 \rquote \loch\f0 ) with a collation key or sequence of collation keys. Th |
212 \par \hich\af0\dbch\af31505\loch\f0 Each line associates a string of Unicode characters (sometimes known as a \hich\f0 \lquote \loch\f0 collation grapheme\hich\f0 \rquote \loch\f0 |
224 \hich\af0\dbch\af31505\loch\f0 e collation system currently handles strings of up to 8 characters. For example, the following entry treats \hich\f0 \lquote \loch\f0 ch\hich\f0 \rquote \loch\f0 |
213 ) with a collation key or sequence of collation keys. The collation system currently handles strings of up to 8 \hich\af0\dbch\af31505\loch\f0 characters. For example, the following entry treats \hich\f0 \lquote \loch\f0 ch\hich\f0 \rquote \loch\f0 |
225 as a single letter, as is done in traditional Spanish collation: |
214 as a single letter, as is done in traditional Spanish collation: |
226 \par |
215 \par |
227 \par \hich\af0\dbch\af31505\loch\f0 0063 0068 ; [.06FC.0020.0002.0063] % LATIN SMALL LETTER C followed by LATIN S\hich\af0\dbch\af31505\loch\f0 MALL |
216 \par \hich\af0\dbch\af31505\loch\f0 0063 0068 ; [.06FC.0020.0002.0063] % LATIN SMALL LETTER C followed by LATIN SMALL |
228 \par }\pard \ltrpar\ql \fi720\li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 LETTER H |
217 \par }\pard \ltrpar\ql \fi720\li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 LETTER H |
229 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 |
218 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 |
230 \par \hich\af0\dbch\af31505\loch\f0 You will have to supply all the case versions as separate entries. For \hich\f0 \lquote \loch\f0 ch\hich\f0 \rquote \loch\f0 the variants \hich\f0 \lquote \loch\f0 ch\hich\f0 \rquote \loch\f0 , \hich\f0 \lquote \loch\f0 Ch |
219 \par \hich\af0\dbch\af31505\loch\f0 You will have to supply all the case vers\hich\af0\dbch\af31505\loch\f0 ions as separate entries. For \hich\f0 \lquote \loch\f0 ch\hich\f0 \rquote \loch\f0 the variants \hich\f0 \lquote \loch\f0 ch\hich\f0 \rquote \loch\f0 |
231 \hich\f0 \rquote \loch\f0 and \hich\f0 \lquote \loch\f0 CH\hich\f0 \rquote \loch\f0 are needed; \hich\f0 \lquote \loch\f0 cH\hich\f0 \rquote \loch\f0 should probably be omitted as not actually a case-variant of \hich\f0 \lquote \loch\f0 ch\hich\f0 |
220 , \hich\f0 \lquote \loch\f0 Ch\hich\f0 \rquote \loch\f0 and \hich\f0 \lquote \loch\f0 CH\hich\f0 \rquote \loch\f0 are needed; \hich\f0 \lquote \loch\f0 cH\hich\f0 \rquote \loch\f0 should probably be omitted as not actually a case-variant of \hich\f0 |
232 \rquote \loch\f0 but two separate letters. |
221 \lquote \loch\f0 ch\hich\f0 \rquote \loch\f0 but two separate letters. |
233 \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 \fs24\lang2057\langfe2052\loch\af1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
222 \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 \fs24\lang2057\langfe2052\loch\af1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
234 \rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11078925 \hich\af1\dbch\af31505\loch\f1 The output file |
223 \rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11078925 \hich\af1\dbch\af31505\loch\f1 The output file |
235 \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 {\rtlch\fcs1 \af0 \ltrch\fcs0 |
224 \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 {\rtlch\fcs1 \af0 \ltrch\fcs0 |
236 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 COLTAB \hich\af0\dbch\af31505\loch\f0 writes a C++ source file that looks like this (omitting irrelevant material): |
225 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 COLTAB writes a C++ source file that looks like this (omitting \hich\af0\dbch\af31505\loch\f0 irrelevant material): |
237 \par |
226 \par |
238 \par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid11078925 \hich\af2\dbch\af31505\loch\f2 static const TUint32 TheKey[] = |
227 \par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid11078925 \hich\af2\dbch\af31505\loch\f2 static const TUint32 TheKey[] = |
239 \par \tab \{ |
228 \par \tab \{ |
240 \par \tab \hich\af2\dbch\af31505\loch\f2 0x21e0112,0x21e0113,0x2260112,0x2260112,0x2260113,0x2740112,\line 0x2740113,0x6c60178,\tab |
229 \par \tab \hich\af2\dbch\af31505\loch\f2 0x21e0112,0x21e0113,0x2260112,0x2260112,0x2260113,0x2740112,\line 0x2740113,0x6c60178,\tab |
241 \par |
230 \par |
259 \par |
248 \par |
260 \par \hich\af2\dbch\af31505\loch\f2 static const TUint32 TheStringIndex[] = |
249 \par \hich\af2\dbch\af31505\loch\f2 static const TUint32 TheStringIndex[] = |
261 \par \tab \{ |
250 \par \tab \{ |
262 \par \tab \}\hich\af2\dbch\af31505\loch\f2 ; |
251 \par \tab \}\hich\af2\dbch\af31505\loch\f2 ; |
263 \par |
252 \par |
264 \par \hich\af2\dbch\af31505\loch\f2 static const TCollationKeyTable TheStandardTable = |
253 \par \hich\af2\dbch\af31505\loch\f2 static c\hich\af2\dbch\af31505\loch\f2 onst TCollationKeyTable TheStandardTable = |
265 \par \tab \{\hich\af2\dbch\af31505\loch\f2 TheKey, TheIndex, 517, TheStringElement, TheStringIndex, 0 \}; |
254 \par \tab \{\hich\af2\dbch\af31505\loch\f2 TheKey, TheIndex, 517, TheStringElement, TheStringIndex, 0 \}; |
266 \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 |
255 \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 |
267 \par \hich\af0\dbch\af31505\loch\f0 The last declaration is the important one; all the preceding ones are components of it. T\hich\af0\dbch\af31505\loch\f0 |
256 \par \hich\af0\dbch\af31505\loch\f0 The last declaration is the important one; all the preceding ones are components of it. The TCollationKeyTable structure that is declared can be u\hich\af0\dbch\af31505\loch\f0 |
268 he TCollationKeyTable structure that is declared can be used as one of the two elements of a TCollationMethod structure, which can be passed to one of the Mem::CompareC or TDesC16::CompareC functions. |
257 sed as one of the two elements of a TCollationMethod structure, which can be passed to one of the Mem::CompareC or TDesC16::CompareC functions. |
269 \par |
258 \par |
270 \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 \fs24\lang2057\langfe2052\loch\af1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
259 \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 \fs24\lang2057\langfe2052\loch\af1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
271 \rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11078925 \hich\af1\dbch\af31505\loch\f1 Putting the output into EPOC |
260 \rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11078925 \hich\af1\dbch\af31505\loch\f1 Putting the output into EPOC |
272 \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 {\rtlch\fcs1 \af0 \ltrch\fcs0 |
261 \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 {\rtlch\fcs1 \af0 \ltrch\fcs0 |
273 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 In an EPOC implementation\hich\af0\dbch\af31505\loch\f0 collation rules are kept in two places. The }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 standard }{ |
262 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 In an EPOC implementation collation rules are kept in two places. The }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 standard }{\rtlch\fcs1 \af0 \ltrch\fcs0 |
274 \rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 rules, which form the base from which the tailoring or tailorings for a given locale differ, are encoded as constant static data in \\e32\\euser\\unicode\\collate.cpp. The }{ |
263 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 rul\hich\af0\dbch\af31505\loch\f0 es, which form the base from which the tailoring or tailorings for a given locale differ, are encoded as constant static data in \\e32\\euser\\unicode\\collate.cpp. The }{ |
275 \rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 locale-specific}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 rules for the defa\hich\af0\dbch\af31505\loch\f0 ult locale are kept in \\e32 |
264 \rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 locale-specific}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 rules for the default locale are kept in \\e32\\elocl\\ls_unic.cpp. Locale-spe |
276 \\elocl\\ls_unic.cpp. Locale-specific rules for other locales are kept in other files of the form \\e32\\elocl\\ls_<x>.cpp, where <x> will probably be the language name or locale code; this is yet to be decided. |
265 \hich\af0\dbch\af31505\loch\f0 cific rules for other locales are kept in other files of the form \\e32\\elocl\\ls_<x>.cpp, where <x> will probably be the language name or locale code; this is yet to be decided. |
277 \par |
266 \par |
278 \par \hich\af0\dbch\af31505\loch\f0 The standard rules sh\hich\af0\dbch\af31505\loch\f0 ould be changed only when the Unicode organisation releases new collation key tables, or when EPOC changes. |
267 \par \hich\af0\dbch\af31505\loch\f0 The standard rules should be changed only when the Unicode organisation releas\hich\af0\dbch\af31505\loch\f0 es new collation key tables, or when EPOC changes. |
279 \par |
268 \par |
280 \par \hich\af0\dbch\af31505\loch\f0 \hich\f0 Tailoring files containing locale-specific collation keys can be created whenever necessary by running COLTAB; for locales other than \'93\loch\f0 \hich\f0 wgl4\'94\loch\f0 \hich\f0 and \'93\loch\f0 s |
269 \par \hich\af0\dbch\af31505\loch\f0 \hich\f0 Tailoring files containing locale-specific collation keys can be created whenever necessary by running COLTAB; for locales other than \'93\loch\f0 \hich\f0 wgl4\'94\loch\f0 \hich\f0 and \'93\loch\f0 \hich\f0 |
281 \hich\af0\dbch\af31505\loch\f0 \hich\f0 tandard\'94\loch\f0 COLTAB writes a complete source file that with small modifications (e.g., declaring a constant for the UID for the locale-specific collation rules) can be used directly as part of ELOCL.}{ |
270 standard\'94\loch\f0 COLTAB writes a complete source file that with s\hich\af0\dbch\af31505\loch\f0 mall modifications (e.g., declaring a constant for the UID for the locale-specific collation rules) can be used directly as part of ELOCL.}{\rtlch\fcs1 |
282 \rtlch\fcs1 \af2\afs18 \ltrch\fcs0 \f2\fs18\insrsid11078925 |
271 \af2\afs18 \ltrch\fcs0 \f2\fs18\insrsid11078925 |
283 \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\fs24\lang2057\langfe2052\loch\af1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
272 \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\fs24\lang2057\langfe2052\loch\af1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
284 \rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11078925 \hich\af1\dbch\af31505\loch\f1 Case Study: tailoring for the Swedish locale |
273 \rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11078925 \hich\af1\dbch\af31505\loch\f1 Case Study: tailoring for the Swedish locale |
285 \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 \fs24\lang2057\langfe2052\loch\af1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
274 \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 \fs24\lang2057\langfe2052\loch\af1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
286 \rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11078925 \hich\af1\dbch\af31505\loch\f1 Determine the c\hich\af1\dbch\af31505\loch\f1 ollation rules |
275 \rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11078925 \hich\af1\dbch\af31505\loch\f1 Determine the collation rules |
287 \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 {\rtlch\fcs1 \af0 \ltrch\fcs0 |
276 \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 {\rtlch\fcs1 \af0 \ltrch\fcs0 |
288 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 |
277 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 |
289 The first stage is to determine the collation rules for the locale in question. I will use Swedish as an example. Swedish uses the Latin script with some letters that require special treatment. It is a good rule, and one that I will follow |
278 The first stage is to determine the collation rules for the locale in question. I will use Swedish as an example. Swedish uses the Latin script with some letters that require special treatment. It is a good rule, and one that I will follow here, that in a |
290 \hich\af0\dbch\af31505\loch\f0 |
279 \hich\af0\dbch\af31505\loch\f0 l\hich\af0\dbch\af31505\loch\f0 |
291 here, that in all cases apart from the peculiarities that actually matter to the particular locale, the standard collation system should be used. For example, it is unnecessary and undesirable for the Swedish locale to sort Greek letters in a non-standard |
280 l cases apart from the peculiarities that actually matter to the particular locale, the standard collation system should be used. For example, it is unnecessary and undesirable for the Swedish locale to sort Greek letters in a non-standard way. This means |
292 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 |
281 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 that the Swedish locale will be a relatively simple tailoring of the standard locale, which provides collation keys for the WGL4 character repertoire plus some useful control characters. |
293 way. This means that the Swedish locale will be a relatively simple tailoring of the standard locale, which provides collation keys for the WGL4 character repertoire plus some useful control characters. |
282 |
294 \par |
283 \par |
295 \par \hich\af0\dbch\af31505\loch\f0 The rules that we need to express are as follows. (N\hich\af0\dbch\af31505\loch\f0 |
284 \par \hich\af0\dbch\af31505\loch\f0 The rules that we need to express are as follows. (Note to experts i\hich\af0\dbch\af31505\loch\f0 |
296 ote to experts in Swedish: these rules are meant as an example and may not follow actual Swedish practice, although I believe they are correct as far as they go.) |
285 n Swedish: these rules are meant as an example and may not follow actual Swedish practice, although I believe they are correct as far as they go.) |
297 \par |
286 \par |
298 \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang2057\langfe2052\langnp2057\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 1. \tab}}\pard \ltrpar\ql \fi-283\li283\ri0\widctlpar\wrapdefault{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0 |
287 \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang2057\langfe2052\langnp2057\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 1. \tab}}\pard \ltrpar\ql \fi-283\li283\ri0\widctlpar\wrapdefault{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0 |
299 \pndec\pnb0\pni0\pnfs20\pnstart1\pnindent283\pnhang {\pntxta \hich . }}\faauto\ls1\rin0\lin283\itap0\pararsid7604161 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 \hich\f0 The letters \'e5\loch\f0 \hich\f0 , \'e4\loch\f0 |
288 \pndec\pnb0\pni0\pnfs20\pnstart1\pnindent283\pnhang {\pntxta . }}\faauto\ls1\rin0\lin283\itap0\pararsid7604161 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 \hich\f0 The letters \'e5\loch\f0 \hich\f0 , \'e4\loch\f0 |
300 \hich\f0 , and \'f6\loch\f0 (a-ring, a-umlaut and o-umlaut) are separate letters, placed in that\hich\af0\dbch\af31505\loch\f0 order after z. They are not to be treated as accented letters. |
289 \hich\f0 , and \'f6\loch\f0 (a-ring, a-umlaut and o-umlaut) are separate letters, placed in that order aft\hich\af0\dbch\af31505\loch\f0 er z. They are not to be treated as accented letters. |
301 \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang2057\langfe2052\langnp2057\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 2. \tab}}\pard \ltrpar\ql \fi-283\li283\ri0\widctlpar\wrapdefault{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0 |
290 \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang2057\langfe2052\langnp2057\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 2. \tab}}\pard \ltrpar\ql \fi-283\li283\ri0\widctlpar\wrapdefault{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0 |
302 \pndec\pnb0\pni0\pnfs20\pnstart1\pnindent283\pnhang {\pntxta \hich . }}\faauto\ls1\rin0\lin283\itap0\pararsid7604161 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 |
291 \pndec\pnb0\pni0\pnfs20\pnstart1\pnindent283\pnhang {\pntxta . }}\faauto\ls1\rin0\lin283\itap0\pararsid7604161 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 The letters v and w are identical for the purposes of collation. |
303 The letters v and w are identical for the purposes of collation. |
292 |
304 \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang2057\langfe2052\langnp2057\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 3. \tab}}\pard \ltrpar\ql \fi-283\li283\ri0\widctlpar\wrapdefault{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0 |
293 \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang2057\langfe2052\langnp2057\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 3. \tab}}\pard \ltrpar\ql \fi-283\li283\ri0\widctlpar\wrapdefault{\*\pn \pnlvlbody\ilvl0\ls1\pnrnot0 |
305 \pndec\pnb0\pni0\pnfs20\pnstart1\pnindent283\pnhang {\pntxta \hich . }}\faauto\ls1\rin0\lin283\itap0\pararsid7604161 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 \hich\f0 The letters \'fc\loch\f0 |
294 \pndec\pnb0\pni0\pnfs20\pnstart1\pnindent283\pnhang {\pntxta . }}\faauto\ls1\rin0\lin283\itap0\pararsid7604161 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 \hich\f0 The letters \'fc\loch\f0 |
306 and y are identical for the purposes of collation. |
295 and y are identical for the purposes of collation. |
307 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 |
296 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 |
308 \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 \fs24\lang2057\langfe2052\loch\af1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
297 \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 \fs24\lang2057\langfe2052\loch\af1\hich\af1\dbch\af31505\cgrid\langnp2057\langfenp2052 { |
309 \rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11078925 \hich\af1\dbch\af31505\loch\f1 Create tailoring data |
298 \rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11078925 \hich\af1\dbch\af31505\loch\f1 Create tailoring data |
310 \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 {\rtlch\fcs1 \af0 \ltrch\fcs0 |
299 \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang2057\langfe2052\loch\af0\hich\af0\dbch\af31505\cgrid\langnp2057\langfenp2052 {\rtlch\fcs1 \af0 \ltrch\fcs0 |
311 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 Here is the tailoring data. |
300 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 Here is the tailoring data. |
312 \par |
301 \par |
313 \par \hich\af0\dbch\af31505\loch\f0 The equiv\hich\af0\dbch\af31505\loch\f0 alence of v and w is indicated by a tailored base keys file that should be called (following COLTAB\hich\f0 \rquote \loch\f0 |
302 \par \hich\af0\dbch\af31505\loch\f0 The equ\hich\af0\dbch\af31505\loch\f0 ivalence of v and w is indicated by a tailored base keys file that should be called (following COLTAB\hich\f0 \rquote \loch\f0 |
314 s conventions) swedish_basekeys.txt. Creating this is simple; just copy the }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 basekeys}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 .}{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 |
303 s conventions) swedish_basekeys.txt. Creating this is simple; just copy the }{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 basekeys}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 .}{\rtlch\fcs1 \ai\af0 \ltrch\fcs0 |
315 \i\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 txt}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 entries for V (U+0056) and v (U+0076) but change the Unicode values\hich\af0\dbch\af31505\loch\f0 to 0057 and 0077. |
304 \i\insrsid11078925 \hich\af0\dbch\af31505\loch\f0 txt}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11078925 \hich\af0\dbch\af31505\loch\f0 entries for V (U+0056) and v (U+0076) but change the Unicode valu\hich\af0\dbch\af31505\loch\f0 es to 0057 and 0077. |
316 |
305 |
317 \par |
306 \par |
318 \par \hich\af0\dbch\af31505\loch\f0 0057 [.08C5.0020.0008.0057] % W equivalent to V |
307 \par \hich\af0\dbch\af31505\loch\f0 0057 [.08C5.0020.0008.0057] % W equivalent to V |
319 \par \hich\af0\dbch\af31505\loch\f0 0077 [.08C5.0020.0002.0077] % w equivalent to v |
308 \par \hich\af0\dbch\af31505\loch\f0 0077 [.08C5.0020.0002.0077] % w equivalent to v |
320 \par |
309 \par |
321 \par \hich\af0\dbch\af31505\loch\f0 \hich\f0 The letters \'e5\loch\f0 \hich\f0 , \'e4\loch\f0 \hich\f0 , \'f6\loch\f0 \hich\f0 and \'fc\loch\f0 must be treated in the data as strings of Unicode values, that is of bases plus accents, associated with single k |
310 \par \hich\af0\dbch\af31505\loch\f0 \hich\f0 The letters \'e5\loch\f0 \hich\f0 , \'e4\loch\f0 \hich\f0 , \'f6\loch\f0 \hich\f0 and \'fc\loch\f0 must be treated in the data as strings of Unicode values, that is of bases plus accents, associated with single |
322 \hich\af0\dbch\af31505\loch\f0 eys. (There is no need to create entries for the composed versions, because the EPOC collation system dissects them as it goes along). Use the combining diacritics; most are in the Unicode range U+0300\hich\f0 \emdash |
311 \hich\af0\dbch\af31505\loch\f0 keys. (There is no need to create entries for the composed versions, because the EPOC collation system dissects them as it goes along). Use the combining diacritics; most are in the Unicode range U+0300\hich\f0 \emdash |
323 \loch\f0 U+0361. For example, U+030A is combining ring above. \hich\af0\dbch\af31505\loch\f0 I\hich\af0\dbch\af31505\loch\f0 n general you have to use the combined character\hich\f0 \rquote \loch\f0 s canonical decomposition. |
312 \loch\f0 U+0361. For example, U+030A is combining ring above.\hich\af0\dbch\af31505\loch\f0 In general you have to use the combined character\hich\f0 \rquote \loch\f0 s canonical decomposition. |
324 \par |
313 \par |
325 \par \hich\af0\dbch\af31505\loch\f0 \hich\f0 The primary collation keys for \'e5\loch\f0 \hich\f0 , \'e4\loch\f0 \hich\f0 , and \'f6\loch\f0 are assigned by making use of the convenient gaps between existing key values. The last \hich\f0 \lquote \loch\f0 z |
314 \par \hich\af0\dbch\af31505\loch\f0 \hich\f0 The primary collation keys for \'e5\loch\f0 \hich\f0 , \'e4\loch\f0 \hich\f0 , and \'f6\loch\f0 are assigned by making use of the convenient gaps between existing key values. The last \hich\f0 \lquote \loch\f0 z |
326 \hich\f0 \rquote \loch\f0 is U+0291, Latin small letter z with curl, w\hich\af0\dbch\af31505\loch\f0 |
315 \hich\f0 \rquote \loch\f0 is U+0291, Latin small letter z with curl,\hich\af0\dbch\af31505\loch\f0 |
327 hich has the primary key 08F5. The next entry is for U+0292, Latin small letter ezh, which has the primary key 08F9. This leaves a gap of 3 unused primary keys, 08F6\hich\f0 \emdash \loch\f0 \hich\f0 08F8, which can be used for \'e5\loch\f0 \hich\f0 , |
316 which has the primary key 08F5. The next entry is for U+0292, Latin small letter ezh, which has the primary key 08F9. This leaves a gap of 3 unused primary keys, 08F6\hich\f0 \emdash \loch\f0 \hich\f0 08F8, which can be used for \'e5\loch\f0 \hich\f0 , |
328 \'e4\loch\f0 \hich\f0 , and \'f6\loch\f0 . Of course, if there were more interpolated value\hich\af0\dbch\af31505\loch\f0 s\hich\af0\dbch\af31505\loch\f0 , other primary keys would need to be reassigned. |
317 \'e4\loch\f0 \hich\f0 , and \'f6\loch\f0 . Of course, if there were more interpolated val\hich\af0\dbch\af31505\loch\f0 u\hich\af0\dbch\af31505\loch\f0 es, other primary keys would need to be reassigned. |
329 \par |
318 \par |
330 \par \hich\af0\dbch\af31505\loch\f0 This gives us the following strings file, which is called swedish_strings.txt: |
319 \par \hich\af0\dbch\af31505\loch\f0 This gives us the following strings file, which is called swedish_strings.txt: |
331 \par |
320 \par |
332 \par \hich\af0\dbch\af31505\loch\f0 0061 030A [.08F6.0020.0002.00E5] % a-ring after z |
321 \par \hich\af0\dbch\af31505\loch\f0 0061 030A [.08F6.0020.0002.00E5] % a-ring after z |
333 \par \hich\af0\dbch\af31505\loch\f0 0061 0308 [.08F7.0020.0002.00E4] % a-umlaut after a-ring |
322 \par \hich\af0\dbch\af31505\loch\f0 0061 0308 [.08F7.0020.0002.00E4] % a-umlaut after a-ring |
334 \par \hich\af0\dbch\af31505\loch\f0 006F 0308 [.08F8.0\hich\af0\dbch\af31505\loch\f0 020.0002.00F6] % o-umlaut after a-umlaut |
323 \par \hich\af0\dbch\af31505\loch\f0 006F 0308 [.08F8\hich\af0\dbch\af31505\loch\f0 .0020.0002.00F6] % o-umlaut after a-umlaut |
335 \par \hich\af0\dbch\af31505\loch\f0 0041 030A [.08F6.0020.0008.00C5] % A-ring after Z |
324 \par \hich\af0\dbch\af31505\loch\f0 0041 030A [.08F6.0020.0008.00C5] % A-ring after Z |
336 \par \hich\af0\dbch\af31505\loch\f0 0041 0308 [.08F7.0020.0008.00C4] % A-umlaut after A-ring |
325 \par \hich\af0\dbch\af31505\loch\f0 0041 0308 [.08F7.0020.0008.00C4] % A-umlaut after A-ring |
337 \par \hich\af0\dbch\af31505\loch\f0 004F 0308 [.08F8.0020.0008.00D6] % O-umlaut after A-umlaut |
326 \par \hich\af0\dbch\af31505\loch\f0 004F 0308 [.08F8.0020.0008.00D6] % O-umlaut after A-umlaut |
338 \par \hich\af0\dbch\af31505\loch\f0 0075 0308 [.08DD.0020.0002.00FC] % u-umlaut \hich\af0\dbch\af31505\loch\f0 equivalent to y |
327 \par \hich\af0\dbch\af31505\loch\f0 0075 0308 [.08DD.0020.0002.00FC] % u-umlaut \hich\af0\dbch\af31505\loch\f0 equivalent to y |
339 \par \hich\af0\dbch\af31505\loch\f0 0055 0308 [.08DD.0020.0008.00FC] % U-umlaut equivalent to Y |
328 \par \hich\af0\dbch\af31505\loch\f0 0055 0308 [.08DD.0020.0008.00FC] % U-umlaut equivalent to Y |