source: trunk/Packages/synapse/docs/help/synachar.html

Last change on this file was 2, checked in by chronos, 12 years ago
  • Přidáno: Základní kostra projektu.
  • Přidáno: Knihovna synapse.
File size: 18.5 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
2<html>
3<head>
4<meta name="GENERATOR" content="PasDoc 0.9.0">
5<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
6<title>synachar</title>
7<link rel="StyleSheet" type="text/css" href="pasdoc.css">
8</head>
9<body bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#800080" alink="#FF0000">
10<h1 class="unit">Unit synachar</h1>
11<table class="sections">
12<tr>
13<td><a class="section" href="#@Description">Description</a></td><td><a class="section" href="#@Uses">uses</a></td><td>Classes, Interfaces, Objects and Records</td><td><a class="section" href="#@FuncsProcs">Functions and Procedures</a></td><td><a class="section" href="#@Types">Types</a></td><td><a class="section" href="#@Constants">Constants</a></td><td><a class="section" href="#@Variables">Variables</a></td></tr></table>
14<a name="@Description"></a><h2 class="description">Description</h2>
15<p>
16Charset conversion support</p>
17<p>
18 This unit contains a routines for lot of charset conversions.
19
20<p>It using built-in conversion tables or external Iconv library. Iconv is used when needed conversion is known by Iconv library. When Iconv library is not found or Iconv not know requested conversion, then are internal routines used for conversion. (You can disable Iconv support from your program too!)
21
22<p>Internal routines knows all major charsets for Europe or America. For East-Asian charsets you must use Iconv library!</p>
23<a name="@Uses"></a><h2 class="uses">uses</h2>
24<ul class="useslist"><li>Windows</li><li>SysUtils</li><li><a href="synautil.html">synautil</a></li><li><a href="synacode.html">synacode</a></li><li><a href="synaicnv.html">synaicnv</a></li></ul><h2 class="overview">Overview</h2>
25<a name="@FuncsProcs"></a><h3 class="summary">Functions and Procedures</h3>
26<table class="summary">
27<tr class="list">
28<td class="itemcode"><code>function <b><a href="synachar.html#CharsetConversion">CharsetConversion</a></b>(const Value: AnsiString; CharFrom: <a href="synachar.html#TMimeChar">TMimeChar</a>; CharTo: <a href="synachar.html#TMimeChar">TMimeChar</a>): AnsiString;</code></td>
29</tr>
30<tr class="list2">
31<td class="itemcode"><code>function <b><a href="synachar.html#CharsetConversionEx">CharsetConversionEx</a></b>(const Value: AnsiString; CharFrom: <a href="synachar.html#TMimeChar">TMimeChar</a>; CharTo: <a href="synachar.html#TMimeChar">TMimeChar</a>; const TransformTable: array of Word): AnsiString;</code></td>
32</tr>
33<tr class="list">
34<td class="itemcode"><code>function <b><a href="synachar.html#CharsetConversionTrans">CharsetConversionTrans</a></b>(Value: AnsiString; CharFrom: <a href="synachar.html#TMimeChar">TMimeChar</a>; CharTo: <a href="synachar.html#TMimeChar">TMimeChar</a>; const TransformTable: array of Word; Translit: Boolean): AnsiString;</code></td>
35</tr>
36<tr class="list2">
37<td class="itemcode"><code>function <b><a href="synachar.html#GetCurCP">GetCurCP</a></b>: <a href="synachar.html#TMimeChar">TMimeChar</a>;</code></td>
38</tr>
39<tr class="list">
40<td class="itemcode"><code>function <b><a href="synachar.html#GetCurOEMCP">GetCurOEMCP</a></b>: <a href="synachar.html#TMimeChar">TMimeChar</a>;</code></td>
41</tr>
42<tr class="list2">
43<td class="itemcode"><code>function <b><a href="synachar.html#GetCPFromID">GetCPFromID</a></b>(Value: AnsiString): <a href="synachar.html#TMimeChar">TMimeChar</a>;</code></td>
44</tr>
45<tr class="list">
46<td class="itemcode"><code>function <b><a href="synachar.html#GetIDFromCP">GetIDFromCP</a></b>(Value: <a href="synachar.html#TMimeChar">TMimeChar</a>): AnsiString;</code></td>
47</tr>
48<tr class="list2">
49<td class="itemcode"><code>function <b><a href="synachar.html#NeedCharsetConversion">NeedCharsetConversion</a></b>(const Value: AnsiString): Boolean;</code></td>
50</tr>
51<tr class="list">
52<td class="itemcode"><code>function <b><a href="synachar.html#IdealCharsetCoding">IdealCharsetCoding</a></b>(const Value: AnsiString; CharFrom: <a href="synachar.html#TMimeChar">TMimeChar</a>; CharTo: <a href="synachar.html#TMimeSetChar">TMimeSetChar</a>): <a href="synachar.html#TMimeChar">TMimeChar</a>;</code></td>
53</tr>
54<tr class="list2">
55<td class="itemcode"><code>function <b><a href="synachar.html#GetBOM">GetBOM</a></b>(Value: <a href="synachar.html#TMimeChar">TMimeChar</a>): AnsiString;</code></td>
56</tr>
57<tr class="list">
58<td class="itemcode"><code>function <b><a href="synachar.html#StringToWide">StringToWide</a></b>(const Value: AnsiString): WideString;</code></td>
59</tr>
60<tr class="list2">
61<td class="itemcode"><code>function <b><a href="synachar.html#WideToString">WideToString</a></b>(const Value: WideString): AnsiString;</code></td>
62</tr>
63</table>
64<a name="@Types"></a><h3 class="summary">Types</h3>
65<table class="summary">
66<tr class="list">
67<td class="itemcode"><code><b><a href="synachar.html#TMimeChar">TMimeChar</a></b> = (...);</code></td>
68</tr>
69<tr class="list2">
70<td class="itemcode"><code><b><a href="synachar.html#TMimeSetChar">TMimeSetChar</a></b> = set of <a href="synachar.html#TMimeChar">TMimeChar</a>;</code></td>
71</tr>
72</table>
73<a name="@Constants"></a><h3 class="summary">Constants</h3>
74<table class="summary">
75<tr class="list">
76<td class="itemcode"><code><b><a href="synachar.html#IconvOnlyChars">IconvOnlyChars</a></b>: set of <a href="synachar.html#TMimeChar">TMimeChar</a> = [UTF_16, UTF_16LE, UTF_32, UTF_32LE,
77 C99, JAVA, ISO_8859_16, KOI8_U, KOI8_RU, CP862, CP866, MAC, MACCE, MACICE,
78 MACCRO, MACRO, MACCYR, MACUK, MACGR, MACTU, MACHEB, MACAR, MACTH, ROMAN8,
79 NEXTSTEP, ARMASCII, GEORGIAN_AC, GEORGIAN_PS, KOI8_T, MULELAO, CP1133,
80 TIS620, CP874, VISCII, TCVN, ISO_IR_14, JIS_X0201, JIS_X0208, JIS_X0212,
81 GB1988_80, GB2312_80, ISO_IR_165, ISO_IR_149, EUC_JP, SHIFT_JIS, CP932,
82 ISO_2022_JP, ISO_2022_JP1, ISO_2022_JP2, GB2312, CP936, GB18030,
83 ISO_2022_CN, ISO_2022_CNE, HZ, EUC_TW, BIG5, CP950, BIG5_HKSCS, EUC_KR,
84 CP949, CP1361, ISO_2022_KR, CP737, CP775, CP853, CP855, CP857, CP858,
85 CP860, CP861, CP863, CP864, CP865, CP869, CP1125];</code></td>
86</tr>
87<tr class="list2">
88<td class="itemcode"><code><b><a href="synachar.html#NoIconvChars">NoIconvChars</a></b>: set of <a href="synachar.html#TMimeChar">TMimeChar</a> = [CP895, UTF_7mod];</code></td>
89</tr>
90<tr class="list">
91<td class="itemcode"><code><b><a href="synachar.html#Replace_None">Replace_None</a></b>: array[0..0] of Word =
92 (0);</code></td>
93</tr>
94<tr class="list2">
95<td class="itemcode"><code><b><a href="synachar.html#Replace_Czech">Replace_Czech</a></b>: array[0..59] of Word =
96 (
97 $00E1, $0061,
98 $010D, $0063,
99 $010F, $0064,
100 $010E, $0044,
101 $00E9, $0065,
102 $011B, $0065,
103 $00ED, $0069,
104 $0148, $006E,
105 $00F3, $006F,
106 $0159, $0072,
107 $0161, $0073,
108 $0165, $0074,
109 $00FA, $0075,
110 $016F, $0075,
111 $00FD, $0079,
112 $017E, $007A,
113 $00C1, $0041,
114 $010C, $0043,
115 $00C9, $0045,
116 $011A, $0045,
117 $00CD, $0049,
118 $0147, $004E,
119 $00D3, $004F,
120 $0158, $0052,
121 $0160, $0053,
122 $0164, $0054,
123 $00DA, $0055,
124 $016E, $0055,
125 $00DD, $0059,
126 $017D, $005A
127 );</code></td>
128</tr>
129</table>
130<a name="@Variables"></a><h3 class="summary">Variables</h3>
131<table class="summary">
132<tr class="list">
133<td class="itemcode"><code><b><a href="synachar.html#DisableIconv">DisableIconv</a></b>: Boolean = False;</code></td>
134</tr>
135<tr class="list2">
136<td class="itemcode"><code><b><a href="synachar.html#IdealCharsets">IdealCharsets</a></b>: <a href="synachar.html#TMimeSetChar">TMimeSetChar</a> =
137 [ISO_8859_1, ISO_8859_2, ISO_8859_3, ISO_8859_4, ISO_8859_5,
138 ISO_8859_6, ISO_8859_7, ISO_8859_8, ISO_8859_9, ISO_8859_10,
139 KOI8_R, KOI8_U
140
141 , GB2312, EUC_KR, ISO_2022_JP, EUC_TW
142
143 ];</code></td>
144</tr>
145</table>
146<h2 class="description">Description</h2>
147<h3 class="detail">Functions and Procedures</h3>
148<table class="detail">
149<tr class="list">
150<td class="itemcode"><a name="CharsetConversion"></a><code>function <b>CharsetConversion</b>(const Value: AnsiString; CharFrom: <a href="synachar.html#TMimeChar">TMimeChar</a>; CharTo: <a href="synachar.html#TMimeChar">TMimeChar</a>): AnsiString;</code></td>
151</tr>
152</table>
153<p>
154Convert Value from one charset to another. See: <a class="normal" href="synachar.html#CharsetConversionEx">CharsetConversionEx</a></p>
155<table class="detail">
156<tr class="list">
157<td class="itemcode"><a name="CharsetConversionEx"></a><code>function <b>CharsetConversionEx</b>(const Value: AnsiString; CharFrom: <a href="synachar.html#TMimeChar">TMimeChar</a>; CharTo: <a href="synachar.html#TMimeChar">TMimeChar</a>; const TransformTable: array of Word): AnsiString;</code></td>
158</tr>
159</table>
160<p>
161Convert Value from one charset to another with additional character conversion. see: <a class="normal" href="synachar.html#Replace_None">Replace_None</a> and <a class="normal" href="synachar.html#Replace_Czech">Replace_Czech</a></p>
162<table class="detail">
163<tr class="list">
164<td class="itemcode"><a name="CharsetConversionTrans"></a><code>function <b>CharsetConversionTrans</b>(Value: AnsiString; CharFrom: <a href="synachar.html#TMimeChar">TMimeChar</a>; CharTo: <a href="synachar.html#TMimeChar">TMimeChar</a>; const TransformTable: array of Word; Translit: Boolean): AnsiString;</code></td>
165</tr>
166</table>
167<p>
168Convert Value from one charset to another with additional character conversion. This funtion is similar to <a class="normal" href="synachar.html#CharsetConversionEx">CharsetConversionEx</a>, but you can disable transliteration of unconvertible characters.</p>
169<table class="detail">
170<tr class="list">
171<td class="itemcode"><a name="GetCurCP"></a><code>function <b>GetCurCP</b>: <a href="synachar.html#TMimeChar">TMimeChar</a>;</code></td>
172</tr>
173</table>
174<p>
175Returns charset used by operating system.</p>
176<table class="detail">
177<tr class="list">
178<td class="itemcode"><a name="GetCurOEMCP"></a><code>function <b>GetCurOEMCP</b>: <a href="synachar.html#TMimeChar">TMimeChar</a>;</code></td>
179</tr>
180</table>
181<p>
182Returns charset used by operating system as OEM charset. (in Windows DOS box, for example)</p>
183<table class="detail">
184<tr class="list">
185<td class="itemcode"><a name="GetCPFromID"></a><code>function <b>GetCPFromID</b>(Value: AnsiString): <a href="synachar.html#TMimeChar">TMimeChar</a>;</code></td>
186</tr>
187</table>
188<p>
189Converting string with charset name to TMimeChar.</p>
190<table class="detail">
191<tr class="list">
192<td class="itemcode"><a name="GetIDFromCP"></a><code>function <b>GetIDFromCP</b>(Value: <a href="synachar.html#TMimeChar">TMimeChar</a>): AnsiString;</code></td>
193</tr>
194</table>
195<p>
196Converting TMimeChar to string with name of charset.</p>
197<table class="detail">
198<tr class="list">
199<td class="itemcode"><a name="NeedCharsetConversion"></a><code>function <b>NeedCharsetConversion</b>(const Value: AnsiString): Boolean;</code></td>
200</tr>
201</table>
202<p>
203return <code>True</code> when value need to be converted. (It is not 7-bit ASCII)</p>
204<table class="detail">
205<tr class="list">
206<td class="itemcode"><a name="IdealCharsetCoding"></a><code>function <b>IdealCharsetCoding</b>(const Value: AnsiString; CharFrom: <a href="synachar.html#TMimeChar">TMimeChar</a>; CharTo: <a href="synachar.html#TMimeSetChar">TMimeSetChar</a>): <a href="synachar.html#TMimeChar">TMimeChar</a>;</code></td>
207</tr>
208</table>
209<p>
210Finding best target charset from set of TMimeChars with minimal count of unconvertible characters.</p>
211<table class="detail">
212<tr class="list">
213<td class="itemcode"><a name="GetBOM"></a><code>function <b>GetBOM</b>(Value: <a href="synachar.html#TMimeChar">TMimeChar</a>): AnsiString;</code></td>
214</tr>
215</table>
216<p>
217Return BOM (Byte Order Mark) for given unicode charset.</p>
218<table class="detail">
219<tr class="list">
220<td class="itemcode"><a name="StringToWide"></a><code>function <b>StringToWide</b>(const Value: AnsiString): WideString;</code></td>
221</tr>
222</table>
223<p>
224Convert binary string with unicode content to WideString.</p>
225<table class="detail">
226<tr class="list">
227<td class="itemcode"><a name="WideToString"></a><code>function <b>WideToString</b>(const Value: WideString): AnsiString;</code></td>
228</tr>
229</table>
230<p>
231Convert WideString to binary string with unicode content.</p>
232<h3 class="detail">Types</h3>
233<table class="detail">
234<tr class="list">
235<td class="itemcode"><a name="TMimeChar"></a><code><b>TMimeChar</b> = (...);</code></td>
236</tr>
237</table>
238<p>
239Type with all supported charsets.</p>
240<ul>
241<li>
242ISO_8859_1: </li>
243<li>
244ISO_8859_2: </li>
245<li>
246ISO_8859_3: </li>
247<li>
248ISO_8859_4: </li>
249<li>
250ISO_8859_5: </li>
251<li>
252ISO_8859_6: </li>
253<li>
254ISO_8859_7: </li>
255<li>
256ISO_8859_8: </li>
257<li>
258ISO_8859_9: </li>
259<li>
260ISO_8859_10: </li>
261<li>
262ISO_8859_13: </li>
263<li>
264ISO_8859_14: </li>
265<li>
266ISO_8859_15: </li>
267<li>
268CP1250: </li>
269<li>
270CP1251: </li>
271<li>
272CP1252: </li>
273<li>
274CP1253: </li>
275<li>
276CP1254: </li>
277<li>
278CP1255: </li>
279<li>
280CP1256: </li>
281<li>
282CP1257: </li>
283<li>
284CP1258: </li>
285<li>
286KOI8_R: </li>
287<li>
288CP895: </li>
289<li>
290CP852: </li>
291<li>
292UCS_2: </li>
293<li>
294UCS_4: </li>
295<li>
296UTF_8: </li>
297<li>
298UTF_7: </li>
299<li>
300UTF_7mod: </li>
301<li>
302UCS_2LE: </li>
303<li>
304UCS_4LE: </li>
305<li>
306UTF_16: </li>
307<li>
308UTF_16LE: </li>
309<li>
310UTF_32: </li>
311<li>
312UTF_32LE: </li>
313<li>
314C99: </li>
315<li>
316JAVA: </li>
317<li>
318ISO_8859_16: </li>
319<li>
320KOI8_U: </li>
321<li>
322KOI8_RU: </li>
323<li>
324CP862: </li>
325<li>
326CP866: </li>
327<li>
328MAC: </li>
329<li>
330MACCE: </li>
331<li>
332MACICE: </li>
333<li>
334MACCRO: </li>
335<li>
336MACRO: </li>
337<li>
338MACCYR: </li>
339<li>
340MACUK: </li>
341<li>
342MACGR: </li>
343<li>
344MACTU: </li>
345<li>
346MACHEB: </li>
347<li>
348MACAR: </li>
349<li>
350MACTH: </li>
351<li>
352ROMAN8: </li>
353<li>
354NEXTSTEP: </li>
355<li>
356ARMASCII: </li>
357<li>
358GEORGIAN_AC: </li>
359<li>
360GEORGIAN_PS: </li>
361<li>
362KOI8_T: </li>
363<li>
364MULELAO: </li>
365<li>
366CP1133: </li>
367<li>
368TIS620: </li>
369<li>
370CP874: </li>
371<li>
372VISCII: </li>
373<li>
374TCVN: </li>
375<li>
376ISO_IR_14: </li>
377<li>
378JIS_X0201: </li>
379<li>
380JIS_X0208: </li>
381<li>
382JIS_X0212: </li>
383<li>
384GB1988_80: </li>
385<li>
386GB2312_80: </li>
387<li>
388ISO_IR_165: </li>
389<li>
390ISO_IR_149: </li>
391<li>
392EUC_JP: </li>
393<li>
394SHIFT_JIS: </li>
395<li>
396CP932: </li>
397<li>
398ISO_2022_JP: </li>
399<li>
400ISO_2022_JP1: </li>
401<li>
402ISO_2022_JP2: </li>
403<li>
404GB2312: </li>
405<li>
406CP936: </li>
407<li>
408GB18030: </li>
409<li>
410ISO_2022_CN: </li>
411<li>
412ISO_2022_CNE: </li>
413<li>
414HZ: </li>
415<li>
416EUC_TW: </li>
417<li>
418BIG5: </li>
419<li>
420CP950: </li>
421<li>
422BIG5_HKSCS: </li>
423<li>
424EUC_KR: </li>
425<li>
426CP949: </li>
427<li>
428CP1361: </li>
429<li>
430ISO_2022_KR: </li>
431<li>
432CP737: </li>
433<li>
434CP775: </li>
435<li>
436CP853: </li>
437<li>
438CP855: </li>
439<li>
440CP857: </li>
441<li>
442CP858: </li>
443<li>
444CP860: </li>
445<li>
446CP861: </li>
447<li>
448CP863: </li>
449<li>
450CP864: </li>
451<li>
452CP865: </li>
453<li>
454CP869: </li>
455<li>
456CP1125: </li>
457</ul>
458<table class="detail">
459<tr class="list">
460<td class="itemcode"><a name="TMimeSetChar"></a><code><b>TMimeSetChar</b> = set of <a href="synachar.html#TMimeChar">TMimeChar</a>;</code></td>
461</tr>
462</table>
463<p>
464Set of any charsets.</p>
465<h3 class="detail">Constants</h3>
466<table class="detail">
467<tr class="list">
468<td class="itemcode"><a name="IconvOnlyChars"></a><code><b>IconvOnlyChars</b>: set of <a href="synachar.html#TMimeChar">TMimeChar</a> = [UTF_16, UTF_16LE, UTF_32, UTF_32LE,
469 C99, JAVA, ISO_8859_16, KOI8_U, KOI8_RU, CP862, CP866, MAC, MACCE, MACICE,
470 MACCRO, MACRO, MACCYR, MACUK, MACGR, MACTU, MACHEB, MACAR, MACTH, ROMAN8,
471 NEXTSTEP, ARMASCII, GEORGIAN_AC, GEORGIAN_PS, KOI8_T, MULELAO, CP1133,
472 TIS620, CP874, VISCII, TCVN, ISO_IR_14, JIS_X0201, JIS_X0208, JIS_X0212,
473 GB1988_80, GB2312_80, ISO_IR_165, ISO_IR_149, EUC_JP, SHIFT_JIS, CP932,
474 ISO_2022_JP, ISO_2022_JP1, ISO_2022_JP2, GB2312, CP936, GB18030,
475 ISO_2022_CN, ISO_2022_CNE, HZ, EUC_TW, BIG5, CP950, BIG5_HKSCS, EUC_KR,
476 CP949, CP1361, ISO_2022_KR, CP737, CP775, CP853, CP855, CP857, CP858,
477 CP860, CP861, CP863, CP864, CP865, CP869, CP1125];</code></td>
478</tr>
479</table>
480<p>
481Set of charsets supported by Iconv library only.</p>
482<table class="detail">
483<tr class="list">
484<td class="itemcode"><a name="NoIconvChars"></a><code><b>NoIconvChars</b>: set of <a href="synachar.html#TMimeChar">TMimeChar</a> = [CP895, UTF_7mod];</code></td>
485</tr>
486</table>
487<p>
488Set of charsets supported by internal routines only.</p>
489<table class="detail">
490<tr class="list">
491<td class="itemcode"><a name="Replace_None"></a><code><b>Replace_None</b>: array[0..0] of Word =
492 (0);</code></td>
493</tr>
494</table>
495<p>
496null character replace table. (Usable for disable charater replacing.)</p>
497<table class="detail">
498<tr class="list">
499<td class="itemcode"><a name="Replace_Czech"></a><code><b>Replace_Czech</b>: array[0..59] of Word =
500 (
501 $00E1, $0061,
502 $010D, $0063,
503 $010F, $0064,
504 $010E, $0044,
505 $00E9, $0065,
506 $011B, $0065,
507 $00ED, $0069,
508 $0148, $006E,
509 $00F3, $006F,
510 $0159, $0072,
511 $0161, $0073,
512 $0165, $0074,
513 $00FA, $0075,
514 $016F, $0075,
515 $00FD, $0079,
516 $017E, $007A,
517 $00C1, $0041,
518 $010C, $0043,
519 $00C9, $0045,
520 $011A, $0045,
521 $00CD, $0049,
522 $0147, $004E,
523 $00D3, $004F,
524 $0158, $0052,
525 $0160, $0053,
526 $0164, $0054,
527 $00DA, $0055,
528 $016E, $0055,
529 $00DD, $0059,
530 $017D, $005A
531 );</code></td>
532</tr>
533</table>
534<p>
535Character replace table for remove Czech diakritics.</p>
536<h3 class="detail">Variables</h3>
537<table class="detail">
538<tr class="list">
539<td class="itemcode"><a name="DisableIconv"></a><code><b>DisableIconv</b>: Boolean = False;</code></td>
540</tr>
541</table>
542<p>
543By this you can generally disable/enable Iconv support.</p>
544<table class="detail">
545<tr class="list">
546<td class="itemcode"><a name="IdealCharsets"></a><code><b>IdealCharsets</b>: <a href="synachar.html#TMimeSetChar">TMimeSetChar</a> =
547 [ISO_8859_1, ISO_8859_2, ISO_8859_3, ISO_8859_4, ISO_8859_5,
548 ISO_8859_6, ISO_8859_7, ISO_8859_8, ISO_8859_9, ISO_8859_10,
549 KOI8_R, KOI8_U
550
551 , GB2312, EUC_KR, ISO_2022_JP, EUC_TW
552
553 ];</code></td>
554</tr>
555</table>
556<p>
557Default set of charsets for <a class="normal" href="synachar.html#IdealCharsetCoding">IdealCharsetCoding</a> function.</p>
558<hr noshade size="1"><span class="appinfo"><em>Generated by <a target="_parent" href="http://pasdoc.sourceforge.net/">PasDoc 0.9.0</a> on 2012-04-23 21:38:52</em>
559</span>
560</body></html>
Note: See TracBrowser for help on using the repository browser.