File: group__m17nCharacter.html

package info (click to toggle)
m17n-docs 1.6.2-2.1
  • links: PTS
  • area: main
  • in suites: bullseye
  • size: 22,492 kB
  • sloc: sh: 1,032; javascript: 635; makefile: 406; ansic: 206; perl: 108
file content (467 lines) | stat: -rw-r--r-- 35,749 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>The m17n Library: Character</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.png"
             onmouseover="return searchBox.OnSearchSelectShow()"
             onmouseout="return searchBox.OnSearchSelectHide()"
             alt=""/>
        <input type="text" id="MSearchField" value="Search" accesskey="S"
             onfocus="searchBox.OnSearchFieldFocus(true)" 
             onblur="searchBox.OnSearchFieldFocus(false)" 
             onkeyup="searchBox.OnSearchFieldChange(event)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Character<br/>
<small>
[<a class="el" href="group__m17nCore.html">CORE API</a>]</small>
</h1>
<p>Character objects and API for them.  
<a href="#_details">More...</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__m17nCharacter.html#gadb36cc417b000c5f9f028992f69b5ebc">MCHAR_MAX</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum character code.  <a href="#gadb36cc417b000c5f9f028992f69b5ebc"></a><br/></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__m17nCharacter.html#ga8c6dde5d282ae96c899f662e1dc17879">mchar_define_property</a> (const char *name, <a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a> type)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Define a character property.  <a href="#ga8c6dde5d282ae96c899f662e1dc17879"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__m17nCharacter.html#ga66ef808ae3cf10d8080d579a993c6459">mchar_get_prop</a> (int c, <a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a> key)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the value of a character property.  <a href="#ga66ef808ae3cf10d8080d579a993c6459"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__m17nCharacter.html#ga2dc345ba89a546f861b141a71d1609f7">mchar_put_prop</a> (int c, <a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a> key, void *val)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the value of a character property.  <a href="#ga2dc345ba89a546f861b141a71d1609f7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__m17nChartable.html#ga241f7150476db7182aecb944b711c546">MCharTable</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__m17nCharacter.html#gaa44bd8292de2055556e05cf02cf1292f">mchar_get_prop_table</a> (<a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a> key, <a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a> *type)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the char-table for a character property.  <a href="#gaa44bd8292de2055556e05cf02cf1292f"></a><br/></td></tr>
<tr><td colspan="2"><h2>Variables: Keys of character properties</h2></td></tr>
<tr><td colspan="2"><p><a class="anchor" id="amgrpebc617fae177b245b7ba6e0ea5ee9c0d"></a> These symbols are used as keys of character properties. </p>
<br/><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__m17nCharacter.html#ga1efea11830fa151fad724fbdc4212750">Mscript</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Key for script.  <a href="#ga1efea11830fa151fad724fbdc4212750"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__m17nCharacter.html#ga4848713c0a3c225f3600e10d9ae56631">Mname</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Key for character name.  <a href="#ga4848713c0a3c225f3600e10d9ae56631"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__m17nCharacter.html#gad6d719ce33cdd01171e8a3773d08af09">Mcategory</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Key for general category.  <a href="#gad6d719ce33cdd01171e8a3773d08af09"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__m17nCharacter.html#ga6e59888c09af64ee3b20208bf1b2de6e">Mcombining_class</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Key for canonical combining class.  <a href="#ga6e59888c09af64ee3b20208bf1b2de6e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__m17nCharacter.html#ga35ac97a9caf868b146b1843d4c6db02f">Mbidi_category</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Key for bidi category.  <a href="#ga35ac97a9caf868b146b1843d4c6db02f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__m17nCharacter.html#ga5c971245e8af385056e6730aa6446c64">Msimple_case_folding</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Key for corresponding single lowercase character.  <a href="#ga5c971245e8af385056e6730aa6446c64"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__m17nCharacter.html#gae5e8271f68619d95a70930c18bc48220">Mcomplicated_case_folding</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Key for corresponding multiple lowercase characters.  <a href="#gae5e8271f68619d95a70930c18bc48220"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__m17nCharacter.html#ga4df1027f7239776ec28478de769f0e97">Mcased</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Key for values used in case operation.  <a href="#ga4df1027f7239776ec28478de769f0e97"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__m17nCharacter.html#ga54dd86441b0b2829c6c482d509ee02c3">Msoft_dotted</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Key for values used in case operation.  <a href="#ga54dd86441b0b2829c6c482d509ee02c3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__m17nCharacter.html#gabf5314e978cea3ca60461022c03d843a">Mcase_mapping</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Key for values used in case operation.  <a href="#gabf5314e978cea3ca60461022c03d843a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__m17nCharacter.html#ga262e95cb77fc8470863bf2ee1fc6332b">Mblock</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Key for script block name.  <a href="#ga262e95cb77fc8470863bf2ee1fc6332b"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Character objects and API for them. </p>
<p>The m17n library represents a <em>character</em> by a character code (an integer). The minimum character code is <code>0</code>. The maximum character code is defined by the macro <a class="el" href="group__m17nCharacter.html#gadb36cc417b000c5f9f028992f69b5ebc" title="Maximum character code.">MCHAR_MAX</a>. It is assured that <a class="el" href="group__m17nCharacter.html#gadb36cc417b000c5f9f028992f69b5ebc" title="Maximum character code.">MCHAR_MAX</a> is not smaller than <code>0x3FFFFF</code> (22 bits).</p>
<p>Characters <code>0</code> to <code>0x10FFFF</code> are equivalent to the Unicode characters of the same code values.</p>
<p>A character can have zero or more properties called <em>character</em> <em>properties</em>. A character property consists of a <em>key</em> and a <em>value</em>, where key is a symbol and value is anything that can be cast to <code>(void *)</code>. "The character property that belongs
    to character C and whose key is K" may be shortened to "the K
    property of C". </p>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="gadb36cc417b000c5f9f028992f69b5ebc"></a><!-- doxytag: member="character.c::MCHAR_MAX" ref="gadb36cc417b000c5f9f028992f69b5ebc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MCHAR_MAX</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Maximum character code. </p>
<p>The macro <a class="el" href="group__m17nCharacter.html#gadb36cc417b000c5f9f028992f69b5ebc" title="Maximum character code.">MCHAR_MAX</a> gives the maximum character code. </p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga8c6dde5d282ae96c899f662e1dc17879"></a><!-- doxytag: member="character.c::mchar_define_property" ref="ga8c6dde5d282ae96c899f662e1dc17879" args="(const char *name, MSymbol type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a> mchar_define_property </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a>&nbsp;</td>
          <td class="paramname"> <em>type</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Define a character property. </p>
<p>The <a class="el" href="group__m17nCharacter.html#ga8c6dde5d282ae96c899f662e1dc17879" title="Define a character property.">mchar_define_property()</a> function searches the m17n database for a data whose tags are &lt;<a class="el" href="group__m17nChartable.html#ga91e88555aace667aa53a16e5fbb4226c" title="Symbol whose name is &quot;char-table&quot;.">Mchar_table</a>, <b>type</b>, <b>sym</b> &gt;. Here, <b>sym</b> is a symbol whose name is <b>name</b>. <b>type</b> must be <a class="el" href="group__m17nSymbol.html#ga60daf7d600a1f487862366a37c171ce5" title="Symbol whose name is &quot;string&quot;.">Mstring</a>, <a class="el" href="group__m17nPlist.html#ga1a22859374071a0ca66f12452afee8bd" title="Symbol whose name is &quot;mtext&quot;.">Mtext</a>, <a class="el" href="group__m17nSymbol.html#ga6592d4eb3c46fe7fb8993c252b8fedeb" title="Symbol whose name is &quot;symbol&quot;.">Msymbol</a>, <a class="el" href="group__m17nPlist.html#ga0ce08eb57aa339db4d4745e75e80fdd8" title="Symbol whose name is &quot;integer&quot;.">Minteger</a>, or <a class="el" href="group__m17nPlist.html#ga933000e154873f9bfcaa56d976bd259b" title="Symbol whose name is &quot;plist&quot;.">Mplist</a>.</p>
<dl class="user"><dt><b>Return value:</b></dt><dd>If the operation was successful, <a class="el" href="group__m17nCharacter.html#ga8c6dde5d282ae96c899f662e1dc17879" title="Define a character property.">mchar_define_property()</a> returns <b>sym</b>. Otherwise it returns <a class="el" href="group__m17nSymbol.html#ga0346fc05efcccc8f11271b51c0fe3eeb" title="Symbol whose name is &quot;nil&quot;.">Mnil</a>.</dd></dl>
<dl class="user"><dt><b>Errors:</b></dt><dd><code>MERROR_DB</code> </dd></dl>
<dl class="user"><dt><b>See Also:</b></dt><dd><a class="el" href="group__m17nCharacter.html#ga66ef808ae3cf10d8080d579a993c6459" title="Get the value of a character property.">mchar_get_prop()</a>, <a class="el" href="group__m17nCharacter.html#ga2dc345ba89a546f861b141a71d1609f7" title="Set the value of a character property.">mchar_put_prop()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga66ef808ae3cf10d8080d579a993c6459"></a><!-- doxytag: member="character.c::mchar_get_prop" ref="ga66ef808ae3cf10d8080d579a993c6459" args="(int c, MSymbol key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* mchar_get_prop </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a>&nbsp;</td>
          <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the value of a character property. </p>
<p>The <a class="el" href="group__m17nCharacter.html#ga66ef808ae3cf10d8080d579a993c6459" title="Get the value of a character property.">mchar_get_prop()</a> function searches character <b>c</b> for the character property whose key is <b>key</b>.</p>
<dl class="user"><dt><b>Return value:</b></dt><dd>If the operation was successful, <a class="el" href="group__m17nCharacter.html#ga66ef808ae3cf10d8080d579a993c6459" title="Get the value of a character property.">mchar_get_prop()</a> returns the value of the character property. Otherwise it returns <code>NULL</code>.</dd></dl>
<dl class="user"><dt><b>Errors:</b></dt><dd><code>MERROR_SYMBOL</code>, <code>MERROR_DB</code> </dd></dl>
<dl class="user"><dt><b>See Also:</b></dt><dd><a class="el" href="group__m17nCharacter.html#ga8c6dde5d282ae96c899f662e1dc17879" title="Define a character property.">mchar_define_property()</a>, <a class="el" href="group__m17nCharacter.html#ga2dc345ba89a546f861b141a71d1609f7" title="Set the value of a character property.">mchar_put_prop()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga2dc345ba89a546f861b141a71d1609f7"></a><!-- doxytag: member="character.c::mchar_put_prop" ref="ga2dc345ba89a546f861b141a71d1609f7" args="(int c, MSymbol key, void *val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mchar_put_prop </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a>&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the value of a character property. </p>
<p>The <a class="el" href="group__m17nCharacter.html#ga2dc345ba89a546f861b141a71d1609f7" title="Set the value of a character property.">mchar_put_prop()</a> function searches character <b>c</b> for the character property whose key is <b>key</b> and assigns <b>val</b> to the value of the found property.</p>
<dl class="user"><dt><b>Return value:</b></dt><dd>If the operation was successful, <a class="el" href="group__m17nCharacter.html#ga2dc345ba89a546f861b141a71d1609f7" title="Set the value of a character property.">mchar_put_prop()</a> returns 0. Otherwise, it returns -1.</dd></dl>
<dl class="user"><dt><b>Errors:</b></dt><dd><code>MERROR_SYMBOL</code>, <code>MERROR_DB</code> </dd></dl>
<dl class="user"><dt><b>See Also:</b></dt><dd><a class="el" href="group__m17nCharacter.html#ga8c6dde5d282ae96c899f662e1dc17879" title="Define a character property.">mchar_define_property()</a>, <a class="el" href="group__m17nCharacter.html#ga66ef808ae3cf10d8080d579a993c6459" title="Get the value of a character property.">mchar_get_prop()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gaa44bd8292de2055556e05cf02cf1292f"></a><!-- doxytag: member="character.c::mchar_get_prop_table" ref="gaa44bd8292de2055556e05cf02cf1292f" args="(MSymbol key, MSymbol *type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__m17nChartable.html#ga241f7150476db7182aecb944b711c546">MCharTable</a>* mchar_get_prop_table </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a>&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a> *&nbsp;</td>
          <td class="paramname"> <em>type</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the char-table for a character property. </p>
<p>The <a class="el" href="group__m17nCharacter.html#gaa44bd8292de2055556e05cf02cf1292f" title="Get the char-table for a character property.">mchar_get_prop_table()</a> function returns a char-table that contains the character property whose key is <b>key</b>. If <b>type</b> is not NULL, this function stores the type of the property in the place pointed by <b>type</b>. See <a class="el" href="group__m17nCharacter.html#ga8c6dde5d282ae96c899f662e1dc17879" title="Define a character property.">mchar_define_property()</a> for types of character property.</p>
<dl class="user"><dt><b>Return value:</b></dt><dd>If <b>key</b> is a valid character property key, this function returns a char-table. Otherwise NULL is retuned. </dd></dl>

</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="ga1efea11830fa151fad724fbdc4212750"></a><!-- doxytag: member="character.c::Mscript" ref="ga1efea11830fa151fad724fbdc4212750" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a> <a class="el" href="group__m17nCharacter.html#ga1efea11830fa151fad724fbdc4212750">Mscript</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Key for script. </p>
<p>The symbol <a class="el" href="group__m17nCharacter.html#ga1efea11830fa151fad724fbdc4212750" title="Key for script.">Mscript</a> has the name <code>"script"</code> and is used as the key of a character property. The value of such a property is a symbol representing the script to which the character belongs.</p>
<p>Each symbol that represents a script has one of the names listed in the <em>Unicode Technical Report #24</em>. </p>

</div>
</div>
<a class="anchor" id="ga4848713c0a3c225f3600e10d9ae56631"></a><!-- doxytag: member="character.c::Mname" ref="ga4848713c0a3c225f3600e10d9ae56631" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a> <a class="el" href="group__m17nCharacter.html#ga4848713c0a3c225f3600e10d9ae56631">Mname</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Key for character name. </p>
<p>The symbol <a class="el" href="group__m17nCharacter.html#ga4848713c0a3c225f3600e10d9ae56631" title="Key for character name.">Mname</a> has the name <code>"name"</code> and is used as the key of a character property. The value of such a property is a C-string representing the name of the character. </p>

</div>
</div>
<a class="anchor" id="gad6d719ce33cdd01171e8a3773d08af09"></a><!-- doxytag: member="character.c::Mcategory" ref="gad6d719ce33cdd01171e8a3773d08af09" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a> <a class="el" href="group__m17nCharacter.html#gad6d719ce33cdd01171e8a3773d08af09">Mcategory</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Key for general category. </p>
<p>The symbol <a class="el" href="group__m17nCharacter.html#gad6d719ce33cdd01171e8a3773d08af09" title="Key for general category.">Mcategory</a> has the name <code>"category"</code> and is used as the key of a character property. The value of such a property is a symbol representing the <em>general category</em> of the character.</p>
<p>Each symbol that represents a general category has one of the names listed as abbreviations for <em>General Category</em> in Unicode. </p>

</div>
</div>
<a class="anchor" id="ga6e59888c09af64ee3b20208bf1b2de6e"></a><!-- doxytag: member="character.c::Mcombining_class" ref="ga6e59888c09af64ee3b20208bf1b2de6e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a> <a class="el" href="group__m17nCharacter.html#ga6e59888c09af64ee3b20208bf1b2de6e">Mcombining_class</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Key for canonical combining class. </p>
<p>The symbol <a class="el" href="group__m17nCharacter.html#ga6e59888c09af64ee3b20208bf1b2de6e" title="Key for canonical combining class.">Mcombining_class</a> has the name <code>"combining-class"</code> and is used as the key of a character property. The value of such a property is an integer that represents the <em>canonical combining class</em> of the character.</p>
<p>The meaning of each integer that represents a canonical combining class is identical to the one defined in Unicode. </p>

</div>
</div>
<a class="anchor" id="ga35ac97a9caf868b146b1843d4c6db02f"></a><!-- doxytag: member="character.c::Mbidi_category" ref="ga35ac97a9caf868b146b1843d4c6db02f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a> <a class="el" href="group__m17nCharacter.html#ga35ac97a9caf868b146b1843d4c6db02f">Mbidi_category</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Key for bidi category. </p>
<p>The symbol <a class="el" href="group__m17nCharacter.html#ga35ac97a9caf868b146b1843d4c6db02f" title="Key for bidi category.">Mbidi_category</a> has the name <code>"bidi-category"</code> and is used as the key of a character property. The value of such a property is a symbol that represents the <em>bidirectional category</em> of the character.</p>
<p>Each symbol that represents a bidirectional category has one of the names listed as types of <em>Bidirectional Category</em> in Unicode. </p>

</div>
</div>
<a class="anchor" id="ga5c971245e8af385056e6730aa6446c64"></a><!-- doxytag: member="character.c::Msimple_case_folding" ref="ga5c971245e8af385056e6730aa6446c64" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a> <a class="el" href="group__m17nCharacter.html#ga5c971245e8af385056e6730aa6446c64">Msimple_case_folding</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Key for corresponding single lowercase character. </p>
<p>The symbol <a class="el" href="group__m17nCharacter.html#ga5c971245e8af385056e6730aa6446c64" title="Key for corresponding single lowercase character.">Msimple_case_folding</a> has the name <code>"simple-case-folding"</code> and is used as the key of a character property. The value of such a property is the corresponding single lowercase character that is used when comparing M-texts ignoring cases.</p>
<p>If a character requires a complicated comparison (i.e. cannot be compared by simply mapping to another single character), the value of such a property is <code>0xFFFF</code>. In this case, the character has another property whose key is <a class="el" href="group__m17nCharacter.html#gae5e8271f68619d95a70930c18bc48220" title="Key for corresponding multiple lowercase characters.">Mcomplicated_case_folding</a>. </p>

</div>
</div>
<a class="anchor" id="gae5e8271f68619d95a70930c18bc48220"></a><!-- doxytag: member="character.c::Mcomplicated_case_folding" ref="gae5e8271f68619d95a70930c18bc48220" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a> <a class="el" href="group__m17nCharacter.html#gae5e8271f68619d95a70930c18bc48220">Mcomplicated_case_folding</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Key for corresponding multiple lowercase characters. </p>
<p>The symbol <a class="el" href="group__m17nCharacter.html#gae5e8271f68619d95a70930c18bc48220" title="Key for corresponding multiple lowercase characters.">Mcomplicated_case_folding</a> has the name <code>"complicated-case-folding"</code> and is used as the key of a character property. The value of such a property is the corresponding M-text that contains a sequence of lowercase characters to be used for comparing M-texts ignoring case. </p>

</div>
</div>
<a class="anchor" id="ga4df1027f7239776ec28478de769f0e97"></a><!-- doxytag: member="character.c::Mcased" ref="ga4df1027f7239776ec28478de769f0e97" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a> <a class="el" href="group__m17nCharacter.html#ga4df1027f7239776ec28478de769f0e97">Mcased</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Key for values used in case operation. </p>
<p>The symbol <a class="el" href="group__m17nCharacter.html#ga4df1027f7239776ec28478de769f0e97" title="Key for values used in case operation.">Mcased</a> has the name <code>"cased"</code> and is used as the key of charater property. The value of such a property is an integer value 1, 2, or 3 representing "cased", "case-ignorable", and both of them respective. See the Unicode Standard 5.0 (Section 3.13 Default Case Algorithm) for the detail. </p>

</div>
</div>
<a class="anchor" id="ga54dd86441b0b2829c6c482d509ee02c3"></a><!-- doxytag: member="character.c::Msoft_dotted" ref="ga54dd86441b0b2829c6c482d509ee02c3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a> <a class="el" href="group__m17nCharacter.html#ga54dd86441b0b2829c6c482d509ee02c3">Msoft_dotted</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Key for values used in case operation. </p>
<p>The symbol <a class="el" href="group__m17nCharacter.html#ga54dd86441b0b2829c6c482d509ee02c3" title="Key for values used in case operation.">Msoft_dotted</a> has the name <code>"soft-dotted"</code> and is used as the key of charater property. The value of such a property is <a class="el" href="group__m17nSymbol.html#ga8769a573efbb023b4d77f9d03babc09f" title="Symbol whose name is &quot;t&quot;.">Mt</a> if a character has "Soft_Dotted" property, and <a class="el" href="group__m17nSymbol.html#ga0346fc05efcccc8f11271b51c0fe3eeb" title="Symbol whose name is &quot;nil&quot;.">Mnil</a> otherwise. See the Unicode Standard 5.0 (Section 3.13 Default Case Algorithm) for the detail. </p>

</div>
</div>
<a class="anchor" id="gabf5314e978cea3ca60461022c03d843a"></a><!-- doxytag: member="character.c::Mcase_mapping" ref="gabf5314e978cea3ca60461022c03d843a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a> <a class="el" href="group__m17nCharacter.html#gabf5314e978cea3ca60461022c03d843a">Mcase_mapping</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Key for values used in case operation. </p>
<p>The symbol <a class="el" href="group__m17nCharacter.html#gabf5314e978cea3ca60461022c03d843a" title="Key for values used in case operation.">Mcase_mapping</a> has the name <code>"case-mapping"</code> and is used as the key of charater property. The value of such a property is a plist of three M-Texts; lower, title, and upper of the corresponding character. See the Unicode Standard 5.0 (Section 5.18 Case Mappings) for the detail. </p>

</div>
</div>
<a class="anchor" id="ga262e95cb77fc8470863bf2ee1fc6332b"></a><!-- doxytag: member="character.c::Mblock" ref="ga262e95cb77fc8470863bf2ee1fc6332b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__m17nSymbol.html#ga0f53a95817f0b5c26442f8e12f89c16d">MSymbol</a> <a class="el" href="group__m17nCharacter.html#ga262e95cb77fc8470863bf2ee1fc6332b">Mblock</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Key for script block name. </p>
<p>The symbol <a class="el" href="group__m17nCharacter.html#ga262e95cb77fc8470863bf2ee1fc6332b" title="Key for script block name.">Mblock</a> the name <code>"block"</code> and is used as the key of charater property. The value of such a property is a symbol representing a script block of the corresponding character. </p>

</div>
</div>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr>

<ADDRESS>
<a href="http://www.m17n.org/m17n-lib-en/index.html" target="mulewindow"><img src="parrot.png" align=bottom alt="m17n-lib Home" border=0></a>
</ADDRESS>
</body>
</HTML>

<!-- Copyright information

Copyright (C) 2001 Information-technology Promotion Agency (IPA)
Copyright (C) 2001-2011
  National Institute of Advanced Industrial Science and Technology (AIST)

This file is part of the m17n library documentation.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no
Invariant Section, no Front-Cover Texts,
and no Back-Cover Texts.  A copy of the license is included in the
appendix entitled "GNU Free Documentation License".
-->