2 * Copyright (C) 2005 Steven Edwards
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 typedef struct tag_SCRIPT_CONTROL
{
23 DWORD uDefaultLanguage
:16;
24 DWORD fContextDigits
:1;
25 DWORD fInvertPreBoundDir
:1;
26 DWORD fInvertPostBoundDir
:1;
27 DWORD fLinkStringBefore
:1;
28 DWORD fLinkStringAfter
:1;
29 DWORD fNeutralOverride
:1;
30 DWORD fNumericOverride
:1;
31 DWORD fLegacyBidiClass
:1;
39 DWORD fNeedsWordBreaking
:1;
40 DWORD fNeedsCaretInfo
:1;
43 DWORD fPrivateUseArea
:1;
44 DWORD fNeedsCharacterJustify
:1;
45 DWORD fInvalidGlyph
:1;
46 DWORD fInvalidLogAttr
:1;
48 DWORD fAmbiguousCharSet
:1;
49 DWORD fClusterSizeVaries
:1;
50 DWORD fRejectInvalid
:1;
53 typedef struct tag_SCRIPT_STATE
{
55 WORD fOverrideDirection
:1;
56 WORD fInhibitSymSwap
:1;
58 WORD fDigitSubstitute
:1;
59 WORD fInhibitLigate
:1;
61 WORD fArabicNumContext
:1;
64 WORD fEngineReserved
:2;
67 typedef struct tag_SCRIPT_ANALYSIS
{
73 WORD fLogicalOrder
:1;
74 WORD fNoGlyphIndex
:1;
78 typedef struct tag_SCRIPT_ITEM
{
83 typedef struct tag_SCRIPT_DIGITSUBSTITUTE
{
84 DWORD NationalDigitLanguage
:16;
85 DWORD TraditionalDigitLanguage
:16;
86 DWORD DigitSubstitute
:8;
88 } SCRIPT_DIGITSUBSTITUTE
;
90 typedef struct tag_SCRIPT_FONTPROPERTIES
{
97 } SCRIPT_FONTPROPERTIES
;
99 typedef void *SCRIPT_CACHE
;
101 /* Function Declairations */
103 HRESULT WINAPI
ScriptGetProperties(const SCRIPT_PROPERTIES
***ppSp
, int *piNumScripts
);
104 HRESULT WINAPI
ScriptRecordDigitSubstitution(LCID Locale
, SCRIPT_DIGITSUBSTITUTE
*psds
);
105 HRESULT WINAPI
ScriptApplyDigitSubstitution(const SCRIPT_DIGITSUBSTITUTE
* psds
,
106 SCRIPT_CONTROL
* psc
, SCRIPT_STATE
* pss
);
107 HRESULT WINAPI
ScriptItemize(const WCHAR
*pwcInChars
, int cInChars
, int cMaxItems
,
108 const SCRIPT_CONTROL
*psControl
, const SCRIPT_STATE
*psState
,
109 SCRIPT_ITEM
*pItems
, int *pcItems
);
110 HRESULT WINAPI
ScriptGetFontProperties(HDC hdc
, SCRIPT_CACHE
*psc
, SCRIPT_FONTPROPERTIES
*sfp
);
112 #endif /* __USP10_H */