Reviewed by John.
[WebKit-https.git] / WebKit / Misc.subproj / WebUnicode.m
1 /*      
2         WebUnicode.m
3         Copyright 2001, 2002, Apple Computer, Inc.
4 */
5 #import <WebKit/WebUnicode.h>
6 #import <WebCore/WebCoreUnicode.h>
7
8 #import <unicode/uchar.h>
9
10 static int _unicodeDigitValue(UChar32 c)
11 {
12     return u_charDigitValue(c);
13 }
14
15 static WebCoreUnicodeDirection _unicodeDirection(UChar32 c)
16 {
17 #if BUILDING_ON_PANTHER
18     // Panther gets the direction of the hyphen wrong.  It returns "ET" (European Terminator) when
19     // it should return "ES" (European Separator).
20     if (c == '-')
21         return DirectionES;
22 #endif
23     return u_charDirection(c);
24 }
25
26 static bool _unicodeMirrored(UChar32 c)
27 {
28     return u_isMirrored(c);
29 }
30
31 static UChar32 _unicodeMirroredChar(UChar32 c)
32 {
33     return u_charMirror(c);
34 }
35
36 static UChar32 _unicodeLower(UChar32 c)
37 {
38     return u_tolower(c);
39 }
40
41 static UChar32 _unicodeUpper(UChar32 c)
42 {
43     return u_toupper(c);
44 }
45
46 void WebKitInitializeUnicode(void)
47 {
48     WebCoreUnicodeDigitValueFunction = _unicodeDigitValue;
49     WebCoreUnicodeDirectionFunction = _unicodeDirection;
50     WebCoreUnicodeMirroredFunction = _unicodeMirrored;
51     WebCoreUnicodeMirroredCharFunction = _unicodeMirroredChar;
52     WebCoreUnicodeLowerFunction = _unicodeLower;
53     WebCoreUnicodeUpperFunction = _unicodeUpper;
54 }