blob: 2035ff707c7d9402e45d2a844d601191ecd15a36 [file] [log] [blame]
DRC2ff39b82011-07-28 08:38:59 +00001/* "$Id: $"
2 *
3 * Author: Jean-Marc Lienher ( http://oksid.ch )
4 * Copyright 2000-2010 by O'ksi'D.
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Library General Public License for more details.
15 *
16 * You should have received a copy of the GNU Library General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19 * USA.
20 *
21 * Please report all bugs and problems on the following page:
22 *
23 * http://www.fltk.org/str.php
24 */
25
26/*
27 * This file is required on all platforms for utf8 support
28 */
29
30#include "headers/spacing.h"
31
32unsigned short
33XUtf8IsNonSpacing(unsigned int ucs) {
34
35 if (ucs <= 0x0361) {
36 if (ucs >= 0x0300) return ucs_table_0300[ucs - 0x0300];
37 return 0;
38 }
39
40 if (ucs <= 0x0486) {
41 if (ucs >= 0x0483) return ucs_table_0483[ucs - 0x0483];
42 return 0;
43 }
44
45 if (ucs <= 0x05C4) {
46 if (ucs >= 0x0591) return ucs_table_0591[ucs - 0x0591];
47 return 0;
48 }
49
50 if (ucs <= 0x06ED) {
51 if (ucs >= 0x064B) return ucs_table_064B[ucs - 0x064B];
52 return 0;
53 }
54
55 if (ucs <= 0x0D4D) {
56 if (ucs >= 0x0901) return ucs_table_0901[ucs - 0x0901];
57 return 0;
58 }
59
60 if (ucs <= 0x0FB9) {
61 if (ucs >= 0x0E31) return ucs_table_0E31[ucs - 0x0E31];
62 return 0;
63 }
64
65 if (ucs <= 0x20E1) {
66 if (ucs >= 0x20D0) return ucs_table_20D0[ucs - 0x20D0];
67 return 0;
68 }
69
70 if (ucs <= 0x309A) {
71 if (ucs >= 0x302A) return ucs_table_302A[ucs - 0x302A];
72 return 0;
73 }
74
75 if (ucs <= 0xFB1E) {
76 if (ucs >= 0xFB1E) return ucs_table_FB1E[ucs - 0xFB1E];
77 return 0;
78 }
79
80 if (ucs <= 0xFE23) {
81 if (ucs >= 0xFE20) return ucs_table_FE20[ucs - 0xFE20];
82 return 0;
83 }
84
85 return 0;
86}
87
88/*
89 * End of "$Id$".
90 */