www.pudn.com > wcore.rar > WebCoreUnicode.h


/* 
 * Copyright (C) 2003 Apple Computer, Inc.  All rights reserved. 
 * Portions Copyright (c) 2005 Nokia Corporation, Inc. All rights reserved. 
 * 
 * Redistribution and use in source and binary forms, with or without 
 * modification, are permitted provided that the following conditions 
 * are met: 
 * 1. Redistributions of source code must retain the above copyright 
 *    notice, this list of conditions and the following disclaimer. 
 * 2. Redistributions in binary form must reproduce the above copyright 
 *    notice, this list of conditions and the following disclaimer in the 
 *    documentation and/or other materials provided with the distribution. 
 * 
 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR 
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 
 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
 */ 
 
#ifndef __WEBCOREUNICODE_H_ 
#define __WEBCOREUNICODE_H_ 
 
#include  
 
 
extern "C" { 
 
 
    typedef enum 
    { 
        EDirectionL = 0, 	// Left Letter 
        EDirectionR,	// Right Letter 
        EDirectionEN,	// European Number 
        EDirectionES,	// European Separator 
        EDirectionET,	// European Terminator (post/prefix e.g. $ and %) 
        EDirectionAN,	// Arabic Number 
        EDirectionCS,	// Common Separator 
        EDirectionB, 	// Paragraph Separator (aka as PS) 
        EDirectionS, 	// Segment Separator (TAB) 
        EDirectionWS, 	// White space 
        EDirectionON,	// Other Neutral 
 
	// types for explicit controls 
        EDirectionLRE, 
        EDirectionLRO, 
 
        EDirectionAL, 	// Arabic Letter (Right-to-left) 
 
        EDirectionRLE, 
        EDirectionRLO, 
        EDirectionPDF, 
 
        EDirectionNSM, 	// Non-spacing Mark 
        EDirectionBN	// Boundary neutral (type of RLE etc after explicit levels) 
    } TWebCoreUnicodeDirection; 
 
 
    extern int (*WebCoreUnicodeDigitValueFunction)(TChar c); 
    extern TWebCoreUnicodeDirection (*WebCoreUnicodeDirectionFunction)(TChar c); 
    extern bool (*WebCoreUnicodeMirroredFunction)(TChar c); 
    extern TChar (*WebCoreUnicodeMirroredCharFunction)(TChar c); 
    extern TChar (*WebCoreUnicodeLowerFunction)(TChar c); 
    extern TChar (*WebCoreUnicodeUpperFunction)(TChar c); 
 
} 
 
#endif