Reviewed by Darin.
[WebKit-https.git] / JavaScriptCore / kxmlcore / unicode / UnicodeCategory.h
1 // -*- c-basic-offset: 2 -*-
2 /*
3  *  This file is part of the KDE libraries
4  *  Copyright (C) 2006 George Staikos <staikos@kde.org>
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 License
17  *  along with this library; see the file COPYING.LIB.  If not, write to
18  *  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19  *  Boston, MA 02110-1301, USA.
20  *
21  */
22
23 #ifndef KJS_UNICODE_CATEGORY_H
24 #define KJS_UNICODE_CATEGORY_H
25
26 namespace KXMLCore {
27   namespace Unicode {
28     enum CharCategory {
29       NoCategory = 0,
30       Mark_NonSpacing = 0x00000001,          // Unicode class name Mn
31       Mark_SpacingCombining = 0x00000002,    // Unicode class name Mc
32       Mark_Enclosing = 0x00000004,           // Unicode class name Me
33       Number_DecimalDigit = 0x00000008,      // Unicode class name Nd
34       Number_Letter = 0x00000010,            // Unicode class name Nl
35       Number_Other = 0x00000020,             // Unicode class name No
36       Separator_Space = 0x00000040,          // Unicode class name Zs
37       Separator_Line = 0x00000080,           // Unicode class name Zl
38       Separator_Paragraph = 0x00000100,      // Unicode class name Zp
39       Other_Control = 0x00000200,            // Unicode class name Cc
40       Other_Format = 0x00000400,             // Unicode class name Cf
41       Other_Surrogate = 0x00000800,          // Unicode class name Cs
42       Other_PrivateUse = 0x00001000,         // Unicode class name Co
43       Other_NotAssigned = 0x00002000,        // Unicode class name Cn
44       Letter_Uppercase = 0x00004000,         // Unicode class name Lu
45       Letter_Lowercase = 0x00008000,         // Unicode class name Ll
46       Letter_Titlecase = 0x00010000,         // Unicode class name Lt
47       Letter_Modifier = 0x00020000,          // Unicode class name Lm
48       Letter_Other = 0x00040000,             // Unicode class name Lo
49       Punctuation_Connector = 0x00080000,    // Unicode class name Pc
50       Punctuation_Dash = 0x00100000,         // Unicode class name Pd
51       Punctuation_Open = 0x00200000,         // Unicode class name Ps
52       Punctuation_Close = 0x00400000,        // Unicode class name Pe
53       Punctuation_InitialQuote = 0x00800000, // Unicode class name Pi
54       Punctuation_FinalQuote = 0x01000000,   // Unicode class name Pf
55       Punctuation_Other = 0x02000000,        // Unicode class name Po
56       Symbol_Math = 0x04000000,              // Unicode class name Sm
57       Symbol_Currency = 0x08000000,          // Unicode class name Sc
58       Symbol_Modifier = 0x10000000,          // Unicode class name Sk
59       Symbol_Other = 0x20000000              // Unicode class name So
60     };
61   }
62 }
63
64 #endif
65 // vim: ts=2 sw=2 et