Adobe.com
Contents Suites Classes Class Index Member Index

AIUnicodeString.h

Go to the documentation of this file.
00001 
00002 #ifndef __AIUnicodeString__
00003 #define __AIUnicodeString__
00004 
00005 /*
00006  *        Name: AIUnicodeString.h
00007  *   $Revision: 6 $
00008  *      Author:
00009  *        Date:
00010  *     Purpose: Adobe Illustrator Unicode String Suite.
00011  *
00012  * ADOBE SYSTEMS INCORPORATED
00013  * Copyright 2004-2007 Adobe Systems Incorporated.
00014  * All rights reserved.
00015  *
00016  * NOTICE:  Adobe permits you to use, modify, and distribute this file 
00017  * in accordance with the terms of the Adobe license agreement 
00018  * accompanying it. If you have received this file from a source other 
00019  * than Adobe, then your use, modification, or distribution of it 
00020  * requires the prior written permission of Adobe.
00021  *
00022  */
00023 
00024 
00025 /*******************************************************************************
00026  **
00027  **     Imports
00028  **
00029  **/
00030 
00031 #include "IAIUnicodeString.h"
00032 #include "AICharacterEncoding.h"
00033 #include "AITypes.h"
00034 
00035 #include "AIHeaderBegin.h"
00036 
00039 /*******************************************************************************
00040  **
00041  ** Constants
00042  **
00043  **/
00044 
00045 #define kAIUnicodeStringSuite                           "AI Unicode String Suite"
00046 #define kAIUnicodeStringSuiteVersion            AIAPI_VERSION(8)
00047 #define kAIUnicodeStringVersion                         kAIUnicodeStringSuiteVersion
00048 
00049 /*******************************************************************************
00050  **
00051  ** Types
00052  **
00053  **/
00054 
00055 /*******************************************************************************
00056  **
00057  **     Suite
00058  **
00059  **/
00060 
00070 typedef struct {
00071 
00078         AIAPI AIErr (*Initialize) (ai::UnicodeString& str, const char* string,
00079                 ai::UnicodeString::offset_type srcByteLen, AICharacterEncoding encoding);
00080 
00087         AIAPI AIErr (*InitializeUTF16) (ai::UnicodeString& str, const ASUnicode* utfs, ai::UnicodeString::offset_type srcUTF16Count);
00088 
00095         AIAPI AIErr (*InitializeUTF32Char) (ai::UnicodeString& str, ai::UnicodeString::offset_type count,
00096                 ai::UnicodeString::UTF32TextChar ch);
00097 
00102         AIAPI AIErr (*Destroy) (ai::UnicodeString& str);
00103 
00104         /* Basic operations (a la std::basic_string) */
00105 
00110         AIAPI AIErr (*Append) (ai::UnicodeString& str, const ai::UnicodeString& str2);
00111 
00118         AIAPI AIErr (*AppendSubString) (ai::UnicodeString& str,
00119                 const ai::UnicodeString& str2, ai::UnicodeString::size_type startOffset,
00120                 ai::UnicodeString::size_type count);
00121 
00126         AIAPI AIErr (*Assign) (ai::UnicodeString& str,
00127                 const ai::UnicodeString& str2);
00128 
00134         AIAPI AIErr (*Copy) (ai::UnicodeString& str, const ai::UnicodeString& str2);
00135 
00143         AIAPI AIErr (*GetChar) (const ai::UnicodeString& str,
00144                 ai::UnicodeString::size_type position,
00145                 ai::UnicodeString::UTF32TextChar& ch);
00146 
00151         AIAPI void (*Clear) (ai::UnicodeString& str);
00152 
00167         AIAPI ai::int32 (*Compare) (const ai::UnicodeString& str,
00168                 ai::UnicodeString::size_type pos, ai::UnicodeString::size_type num,
00169                 const ai::UnicodeString& str2,
00170                 ai::UnicodeString::size_type startOffset, ai::UnicodeString::size_type count);
00171 
00178         AIAPI AIErr (*toLower) (ai::UnicodeString& src);
00179 
00186         AIAPI AIErr (*toUpper) (ai::UnicodeString& src);
00187 
00203         AIAPI ai::int32 (*CaseCompare) (const ai::UnicodeString& str,
00204                 ai::UnicodeString::size_type pos, ai::UnicodeString::size_type num,
00205                 const ai::UnicodeString& str2,
00206                 ai::UnicodeString::size_type startOffset, ai::UnicodeString::size_type count);
00207 
00222         AIAPI AIErr (*CanonicalCompare) (const ai::UnicodeString& str, const ai::UnicodeString& str2, ai::int32& compareResult);
00223 
00239         AIAPI AIErr (*CanonicalCaseCompare) (const ai::UnicodeString& str, const ai::UnicodeString& str2, ai::int32& compareResult);
00240 
00246         AIAPI ai::UnicodeString::size_type (*Length) (const ai::UnicodeString& str);
00247 
00253         AIAPI AIBool8 (*Empty) (const ai::UnicodeString& str);
00254 
00261         AIAPI AIErr (*Erase) (ai::UnicodeString& str,
00262                 ai::UnicodeString::size_type startOffset,
00263                 ai::UnicodeString::size_type count);
00264 
00273         AIAPI ai::UnicodeString::size_type (*FindChar) (const ai::UnicodeString& str,
00274                 ai::UnicodeString::UTF32TextChar ch,
00275                 ai::UnicodeString::size_type startOffset);
00276 
00285         AIAPI ai::UnicodeString::size_type (*FindString) (const ai::UnicodeString& str,
00286                 const ai::UnicodeString& str2, ai::UnicodeString::size_type startOffset);
00287 
00298         AIAPI ai::UnicodeString::size_type (*FindSubString) (const ai::UnicodeString& str,
00299                 const ai::UnicodeString& str2, ai::UnicodeString::size_type startOffset,
00300                 ai::UnicodeString::size_type count);
00301 
00312         AIAPI ai::UnicodeString::size_type (*CaseFindSubString) (const ai::UnicodeString& str,
00313                 const ai::UnicodeString& str2, ai::UnicodeString::size_type startOffset,
00314                 ai::UnicodeString::size_type count);
00315 
00324         AIAPI ai::UnicodeString::size_type (*RFindChar) (const ai::UnicodeString& str,
00325                 ai::UnicodeString::UTF32TextChar ch,
00326                 ai::UnicodeString::size_type startOffset);
00327 
00336         AIAPI ai::UnicodeString::size_type (*RFindString) (const ai::UnicodeString& str,
00337                 const ai::UnicodeString& str2, ai::UnicodeString::size_type startOffset);
00338 
00349         AIAPI ai::UnicodeString::size_type (*RFindSubString) (const ai::UnicodeString& str,
00350                 const ai::UnicodeString& str2, ai::UnicodeString::size_type startOffset,
00351                 ai::UnicodeString::size_type count);
00352 
00363         AIAPI ai::UnicodeString::size_type (*FindFirstOf) (const ai::UnicodeString& str,
00364                 const ai::UnicodeString& str2, ai::UnicodeString::size_type startOffset,
00365                 ai::UnicodeString::size_type count);
00366 
00377         AIAPI ai::UnicodeString::size_type (*FindFirstNotOf) (const ai::UnicodeString& str,
00378                 const ai::UnicodeString& str2, ai::UnicodeString::size_type startOffset,
00379                 ai::UnicodeString::size_type count);
00380 
00391         AIAPI ai::UnicodeString::size_type (*FindLastOf) (const ai::UnicodeString& str,
00392                 const ai::UnicodeString& str2, ai::UnicodeString::size_type startOffset,
00393                 ai::UnicodeString::size_type count);
00394 
00405         AIAPI ai::UnicodeString::size_type (*FindLastNotOf) (const ai::UnicodeString& str,
00406                 const ai::UnicodeString& str2, ai::UnicodeString::size_type startOffset,
00407                 ai::UnicodeString::size_type count);
00408 
00415         AIAPI AIErr (*Resize) (ai::UnicodeString& str, ai::UnicodeString::size_type count, ai::UnicodeString::UTF32TextChar ch);
00416 
00425         AIAPI AIErr (*SubStr) (ai::UnicodeString& subString,
00426                 const ai::UnicodeString& str,
00427                 ai::UnicodeString::size_type offset, ai::UnicodeString::size_type count);
00428 
00433         AIAPI AIErr (*SwapStr) (ai::UnicodeString& str, ai::UnicodeString& str2);
00434 
00435         /* non-std::string based functionality */
00436 
00437         //AIAPI int CaseCompare(const ai::UnicodeString& str,
00438         //      ai::UnicodeString::size_type pos, ai::UnicodeString::size_type num,
00439         //      const ai::UnicodeString& str2,
00440         //      ai::UnicodeString::size_type startOffset,
00441         //      ai::UnicodeString::size_type count);
00442         //AIAPI void FoldCase(ai::UnicodeString& str);
00443 
00449         AIAPI AIBool8 (*HasSurrogates) (const ai::UnicodeString& str);
00450 
00459         AIAPI ai::UnicodeString::size_type (*UTF_16) (const ai::UnicodeString& str,
00460                 const ai::UnicodeString::UTF16Char*& buffer);
00461 
00471         AIAPI AIErr (*GetAs) (const ai::UnicodeString& str, AICharacterEncoding encoding,
00472                 ai::AutoBuffer<char>& buffer, ai::UnicodeString::size_type& bufferByteCount);
00473 
00479         AIAPI AIErr (*InitializeZString) (ai::UnicodeString& str, ZRef zStringKey);
00480 
00481         /* New for AI13 */
00482 
00487         AIAPI AIErr (*Normalize) (ai::UnicodeString& str, ai::UnicodeString::NormalizedForm form);
00488 
00489 
00490 } AIUnicodeStringSuite;
00491 
00492 
00493 #include "AIHeaderEnd.h"
00494 
00495 
00496 
00497 #endif // __AIUnicodeString__


Contents Suites Classes Class Index Member Index
Adobe Solutions Network
 
Copyright © 2016 Adobe Systems Incorporated. All rights reserved.
Terms of Use Online Privacy Policy Adobe and accessibility Avoid software piracy Permissions and Trademarks