ReactOS 0.4.17-dev-966-gf06eace
usp10.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2005 Steven Edwards
3 * Copyright (C) 2005 Vijay Kiran Kamuju
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18 */
19
20#ifndef __USP10_H
21#define __USP10_H
22
23#ifndef __WINESRC__
24# include <windows.h>
25#endif
26/* FIXME: #include <specstrings.h> */
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
33#define SSA_PASSWORD 0x00000001
34#define SSA_TAB 0x00000002
35#define SSA_CLIP 0x00000004
36#define SSA_FIT 0x00000008
37#define SSA_DZWG 0x00000010
38#define SSA_FALLBACK 0x00000020
39#define SSA_BREAK 0x00000040
40#define SSA_GLYPHS 0x00000080
41#define SSA_RTL 0x00000100
42#define SSA_GCP 0x00000200
43#define SSA_HOTKEY 0x00000400
44#define SSA_METAFILE 0x00000800
45#define SSA_LINK 0x00001000
46#define SSA_HIDEHOTKEY 0x00002000
47#define SSA_HOTKEYONLY 0x00002400
48#define SSA_FULLMEASURE 0x04000000
49#define SSA_LPKANSIFALLBACK 0x08000000
50#define SSA_PIDX 0x10000000
51#define SSA_LAYOUTRTL 0x20000000
52#define SSA_DONTGLYPH 0x40000000
53#define SSA_NOKASHIDA 0x80000000
54
56#define SIC_COMPLEX 1
57#define SIC_ASCIIDIGIT 2
58#define SIC_NEUTRAL 4
59
61#define SGCM_RTL 0x00000001
62
64#define SCRIPT_DIGITSUBSTITUTE_CONTEXT 0
65#define SCRIPT_DIGITSUBSTITUTE_NONE 1
66#define SCRIPT_DIGITSUBSTITUTE_NATIONAL 2
67#define SCRIPT_DIGITSUBSTITUTE_TRADITIONAL 3
68
69#define SCRIPT_UNDEFINED 0
70
71#define USP_E_SCRIPT_NOT_IN_FONT MAKE_HRESULT(SEVERITY_ERROR,FACILITY_ITF,0x200)
72
73typedef enum tag_SCRIPT_JUSTIFY {
91
92typedef struct tag_SCRIPT_CONTROL {
105
106typedef struct {
123
124typedef struct tag_SCRIPT_STATE {
137
138typedef struct tag_SCRIPT_ANALYSIS {
148
149typedef struct tag_SCRIPT_ITEM {
153
160
169
170typedef struct tag_SCRIPT_TABDEF {
176
177typedef struct tag_SCRIPT_VISATTR {
185
186typedef struct tag_SCRIPT_LOGATTR {
194
195typedef void *SCRIPT_CACHE;
197
198#ifndef LSDEFS_DEFINED
199typedef struct tagGOFFSET {
203#endif
204
206
208{
212
214{
218
219typedef struct tagSCRIPT_CHARPROP
220{
224
226{
230
231/* Function Declarations */
232
235WINAPI
237 _In_reads_(1) const SCRIPT_DIGITSUBSTITUTE* psds,
239 _Out_writes_(1) SCRIPT_STATE* pss);
240
243WINAPI
245 _In_reads_(cChars) const int *piDx,
246 _In_ int cChars,
247 _In_ int cGlyphs,
248 _In_reads_(cChars) const WORD *pwLogClust,
249 _In_reads_(cGlyphs) const SCRIPT_VISATTR *psva,
250 _In_reads_(cGlyphs) const int *piAdvance,
251 _In_reads_(1) const SCRIPT_ANALYSIS *psa,
252 _Inout_updates_opt_(1) ABC *pABC,
253 _Out_writes_all_(cGlyphs) int *piJustify);
254
257WINAPI
259 _In_ LCID Locale,
261
264WINAPI
266 _In_reads_(cInChars) const WCHAR *pwcInChars,
267 _In_ int cInChars,
268 _In_ int cMaxItems,
269 _In_reads_opt_(1) const SCRIPT_CONTROL *psControl,
270 _In_reads_opt_(1) const SCRIPT_STATE *psState,
271 _Out_writes_to_(cMaxItems, *pcItems) SCRIPT_ITEM *pItems,
272 _Out_writes_(1) int *pcItems);
273
276WINAPI
278 _In_reads_(cInChars) const WCHAR *pwcInChars,
279 _In_ int cInChars,
280 _In_ int cMaxItems,
281 _In_reads_opt_(1) const SCRIPT_CONTROL *psControl,
282 _In_reads_opt_(1) const SCRIPT_STATE *psState,
283 _Out_writes_to_(cMaxItems, *pcItems) SCRIPT_ITEM *pItems,
284 _Out_writes_(cMaxItems) OPENTYPE_TAG *pScriptTags,
285 _Out_writes_(1) int *pcItems);
286
289WINAPI
291 _In_ HDC hdc,
293 _In_reads_(cChars) const WCHAR *pwcInChars,
294 _In_ int cChars,
296 _Out_writes_(cChars) WORD *pwOutGlyphs);
297
300WINAPI
302 _In_ HDC hdc,
305 _In_ OPENTYPE_TAG tagScript,
306 _In_ OPENTYPE_TAG tagLangSys,
307 _In_ int cMaxTags,
308 _Out_writes_(cMaxTags) OPENTYPE_TAG *pFeatureTags,
309 _Out_writes_(1) int *pcTags);
310
313WINAPI
315 _In_ HDC hdc,
318
321WINAPI
323 _In_ HDC hdc,
326 _In_ int cMaxTags,
327 _Out_writes_(cMaxTags) OPENTYPE_TAG *pScriptTags,
328 _Out_writes_(1) int *pcTags);
329
332WINAPI
334 _In_ HDC hdc,
337 _In_ OPENTYPE_TAG tagScript,
338 _In_ int cMaxTags,
339 _Out_writes_(cMaxTags) OPENTYPE_TAG *pLangsysTags,
340 _Out_writes_(1) int *pcTags);
341
344WINAPI
346 _In_ HDC hdc,
348 _In_ WORD wGlyph,
349 _Out_writes_(1) ABC *pABC);
350
353WINAPI
355 _In_reads_(1) const SCRIPT_ANALYSIS *psa,
356 _In_ int cChars,
357 _In_ int cGlyphs,
358 _In_reads_(cGlyphs) const int *piGlyphWidth,
359 _In_reads_(cChars) const WORD *pwLogClust,
360 _In_reads_(cGlyphs) const SCRIPT_VISATTR *psva,
361 _In_reads_(cChars) int *piDx);
362
365WINAPI
367 _Outptr_result_buffer_(*piNumScripts) const SCRIPT_PROPERTIES ***ppSp,
368 _Out_ int *piNumScripts);
369
372WINAPI
374 _In_ HDC hdc,
375 _In_ const void *pString,
376 _In_ int cString,
377 _In_ int cGlyphs,
378 _In_ int iCharset,
380 _In_ int iReqWidth,
381 _In_reads_opt_(1) SCRIPT_CONTROL *psControl,
382 _In_reads_opt_(1) SCRIPT_STATE *psState,
383 _In_reads_opt_(cString) const int *piDx,
384 _In_reads_opt_(1) SCRIPT_TABDEF *pTabdef,
385 _In_ const BYTE *pbInClass,
387
390WINAPI
393
396WINAPI
399
402WINAPI
405
408WINAPI
410 _In_reads_(cInChars) const WCHAR *pwcInChars,
411 _In_ int cInChars,
413
416WINAPI
418 _In_reads_(cGlyphs) const SCRIPT_VISATTR *psva,
419 _In_reads_(cGlyphs) const int *piAdvance,
420 _In_ int cGlyphs,
421 _In_ int iDx,
422 _In_ int iMinKashida,
423 _Out_writes_all_(cGlyphs) int *piJustify);
424
427WINAPI
429 int cRuns,
430 _In_reads_(cRuns) const BYTE *pbLevel,
431 _Out_writes_all_opt_(cRuns) int *piVisualToLogical,
432 _Out_writes_all_opt_(cRuns) int *piLogicalToVisual);
433
436WINAPI
438 _In_ HDC hdc,
440 _In_reads_(cChars) const WCHAR *pwcChars,
441 _In_ int cChars,
442 _In_ int cMaxGlyphs,
444 _Out_writes_to_(cMaxGlyphs, *pcGlyphs) WORD *pwOutGlyphs,
445 _Out_writes_all_(cChars) WORD *pwLogClust,
446 _Out_writes_to_(cMaxGlyphs, *pcGlyphs) SCRIPT_VISATTR *psva,
447 _Out_writes_(1) int *pcGlyphs);
448
451WINAPI
453 _In_ HDC hdc,
456 _In_ OPENTYPE_TAG tagScript,
457 _In_ OPENTYPE_TAG tagLangSys,
458 _In_reads_(cRanges) int *rcRangeChars,
459 _In_reads_(cRanges) TEXTRANGE_PROPERTIES **rpRangeProperties,
460 _In_ int cRanges,
461 _In_reads_(cChars) const WCHAR *pwcChars,
462 _In_ int cChars,
463 _In_ int cMaxGlyphs,
464 _In_reads_(cChars) WORD *pwLogClust,
465 _In_reads_(cChars) SCRIPT_CHARPROP *pCharProps,
466 _Out_writes_to_(cMaxGlyphs, *pcGlyphs) WORD *pwOutGlyphs,
467 _Out_writes_to_(cMaxGlyphs, *pcGlyphs) SCRIPT_GLYPHPROP *pOutGlyphProps,
468 _Out_writes_(1) int *pcGlyphs);
469
472WINAPI
474 _In_ HDC hdc,
476 _In_reads_(cGlyphs) const WORD *pwGlyphs,
477 _In_ int cGlyphs,
478 _In_reads_(cGlyphs) const SCRIPT_VISATTR *psva,
480 _Out_writes_all_(cGlyphs) int *piAdvance,
482 _Out_writes_(1) ABC *pABC);
483
486WINAPI
488 _In_ HDC hdc,
491 _In_ OPENTYPE_TAG tagScript,
492 _In_ OPENTYPE_TAG tagLangSys,
493 _In_reads_(cRanges) int *rcRangeChars,
494 _In_reads_(cRanges) TEXTRANGE_PROPERTIES **rpRangeProperties,
495 _In_ int cRanges,
496 _In_reads_(cChars) const WCHAR *pwcChars,
497 _In_reads_(cChars) WORD *pwLogClust,
498 _In_reads_(cChars) SCRIPT_CHARPROP *pCharProps,
499 _In_ int cChars,
500 _In_reads_(cGlyphs) const WORD *pwGlyphs,
501 _In_reads_(cGlyphs) const SCRIPT_GLYPHPROP *pGlyphProps,
502 _In_ int cGlyphs,
503 _Out_writes_all_(cGlyphs) int *piAdvance,
505 _Out_writes_(1) ABC *pABC);
506
509WINAPI
511 _In_reads_(cChars) const WCHAR *pwcChars,
512 _In_ int cChars,
513 _In_reads_(1) const SCRIPT_ANALYSIS *psa,
515
518WINAPI
520 _In_ HDC hdc,
522 _Out_writes_(1) LONG *tmHeight);
523
526WINAPI
528 _In_ int iCP,
529 _In_ BOOL fTrailing,
530 _In_ int cChars,
531 _In_ int cGlyphs,
532 _In_reads_(cChars) const WORD *pwLogClust,
533 _In_reads_(cGlyphs) const SCRIPT_VISATTR *psva,
534 _In_reads_(cGlyphs) const int *piAdvance,
535 _In_reads_(1) const SCRIPT_ANALYSIS *psa,
536 _Out_ int *piX);
537
540WINAPI
542 _In_ int iX,
543 _In_ int cChars,
544 _In_ int cGlyphs,
545 _In_reads_(cChars) const WORD *pwLogClust,
546 _In_reads_(cGlyphs) const SCRIPT_VISATTR *psva,
547 _In_reads_(cGlyphs) const int *piAdvance,
548 _In_reads_(1) const SCRIPT_ANALYSIS *psa,
549 _Out_writes_(1) int *piCP,
550 _Out_writes_(1) int *piTrailing);
551
554WINAPI
557 _In_ int icp,
558 _In_ BOOL fTrailing,
559 _Out_writes_(1) int *pX);
560
563WINAPI
566 _In_ int iX,
567 _Out_writes_(1) int *piCh,
568 _Out_writes_(1) int *piTrailing);
569
572WINAPI
575 _Out_ int *piDx);
576
579WINAPI
582 _Out_ UINT *puOrder);
583
586WINAPI
589 _In_ int iX,
590 _In_ int iY,
591 _In_ UINT uOptions,
592 _In_reads_opt_(1) const RECT *prc,
593 _In_ int iMinSel,
594 _In_ int iMaxSel,
595 _In_ BOOL fDisabled);
596
599WINAPI
601 _In_ const HDC hdc,
603 _In_ int x,
604 _In_ int y,
605 _In_ UINT fuOptions,
606 _In_reads_opt_(1) const RECT *lprc,
607 _In_reads_(1) const SCRIPT_ANALYSIS *psa,
608 _Reserved_ const WCHAR *pwcReserved,
609 _Reserved_ int iReserved,
610 _In_reads_(cGlyphs) const WORD *pwGlyphs,
611 _In_ int cGlyphs,
612 _In_reads_(cGlyphs) const int *piAdvance,
613 _In_reads_opt_(cGlyphs) const int *piJustify,
614 _In_reads_(cGlyphs) const GOFFSET *pGoffset);
615
616const int*
617WINAPI
620
621const SCRIPT_LOGATTR*
622WINAPI
625
626const SIZE*
627WINAPI
630
631#ifdef __cplusplus
632} /* extern "C" */
633#endif
634
635#endif /* __USP10_H */
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
FxString * pString
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
unsigned int UINT
Definition: sysinfo.c:13
HDC hdc
Definition: main.c:9
static HDC
Definition: imagelist.c:88
#define _Post_null_
Definition: ms_sal.h:704
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
Definition: netsh.h:141
#define _In_reads_(s)
Definition: no_sal2.h:168
#define _Inout_updates_(s)
Definition: no_sal2.h:182
#define _At_(t, a)
Definition: no_sal2.h:40
#define _Check_return_
Definition: no_sal2.h:60
#define _Outptr_result_buffer_(s)
Definition: no_sal2.h:286
#define _Out_writes_(s)
Definition: no_sal2.h:176
#define _Out_
Definition: no_sal2.h:160
#define _In_reads_opt_(s)
Definition: no_sal2.h:222
#define _In_
Definition: no_sal2.h:158
#define _Reserved_
Definition: no_sal2.h:504
#define _Out_writes_to_(s, c)
Definition: no_sal2.h:188
#define _Out_writes_all_(s)
Definition: no_sal2.h:192
#define _Out_writes_all_opt_(s)
Definition: no_sal2.h:242
#define _Inout_updates_opt_(s)
Definition: no_sal2.h:232
short WCHAR
Definition: pedump.c:58
long LONG
Definition: pedump.c:60
_Out_ LPRECT prc
Definition: ntgdi.h:1658
_In_ int _Inout_ LPRECT lprc
Definition: winuser.h:4620
DWORD LCID
Definition: nls.h:13
Definition: dcommon.idl:28
DWORD fRejectInvalid
Definition: usp10.h:121
DWORD fComplex
Definition: usp10.h:109
DWORD fAmbiguousCharSet
Definition: usp10.h:119
DWORD fInvalidLogAttr
Definition: usp10.h:117
DWORD fInvalidGlyph
Definition: usp10.h:116
DWORD fNumeric
Definition: usp10.h:108
DWORD fControl
Definition: usp10.h:113
DWORD fNeedsCharacterJustify
Definition: usp10.h:115
DWORD fPrivateUseArea
Definition: usp10.h:114
DWORD fNeedsCaretInfo
Definition: usp10.h:111
DWORD langid
Definition: usp10.h:107
DWORD bCharSet
Definition: usp10.h:112
DWORD fClusterSizeVaries
Definition: usp10.h:120
DWORD fNeedsWordBreaking
Definition: usp10.h:110
Definition: wingdi.h:1856
LONG dv
Definition: usp10.h:201
LONG du
Definition: usp10.h:200
OPENTYPE_TAG tagFeature
Definition: usp10.h:209
WORD fCanGlyphAlone
Definition: usp10.h:221
SCRIPT_VISATTR sva
Definition: usp10.h:215
OPENTYPE_FEATURE_RECORD * potfRecords
Definition: usp10.h:227
SCRIPT_STATE s
Definition: usp10.h:146
WORD fLogicalOrder
Definition: usp10.h:144
WORD fNoGlyphIndex
Definition: usp10.h:145
DWORD fNeutralOverride
Definition: usp10.h:99
DWORD fNumericOverride
Definition: usp10.h:100
DWORD fReserved
Definition: usp10.h:103
DWORD fContextDigits
Definition: usp10.h:94
DWORD fInvertPostBoundDir
Definition: usp10.h:96
DWORD fLinkStringBefore
Definition: usp10.h:97
DWORD fLegacyBidiClass
Definition: usp10.h:101
DWORD fLinkStringAfter
Definition: usp10.h:98
DWORD fInvertPreBoundDir
Definition: usp10.h:95
DWORD fMergeNeutralItems
Definition: usp10.h:102
DWORD uDefaultLanguage
Definition: usp10.h:93
DWORD TraditionalDigitLanguage
Definition: usp10.h:156
SCRIPT_ANALYSIS a
Definition: usp10.h:151
int iCharPos
Definition: usp10.h:150
BYTE fWhiteSpace
Definition: usp10.h:188
WORD fCharShape
Definition: usp10.h:128
WORD fOverrideDirection
Definition: usp10.h:126
WORD uBidiLevel
Definition: usp10.h:125
WORD fDigitSubstitute
Definition: usp10.h:129
WORD fGcpClusters
Definition: usp10.h:133
WORD fArabicNumContext
Definition: usp10.h:132
WORD fDisplayZWG
Definition: usp10.h:131
WORD fInhibitLigate
Definition: usp10.h:130
WORD fReserved
Definition: usp10.h:134
WORD fInhibitSymSwap
Definition: usp10.h:127
WORD fEngineReserved
Definition: usp10.h:135
int * pTabStops
Definition: usp10.h:173
WORD uJustification
Definition: usp10.h:178
WORD fClusterStart
Definition: usp10.h:179
WORD fShapeReserved
Definition: usp10.h:183
int32_t INT
Definition: typedefs.h:58
uint32_t ULONG
Definition: typedefs.h:59
struct tag_SCRIPT_STATE SCRIPT_STATE
_Check_return_ HRESULT WINAPI ScriptGetLogicalWidths(_In_reads_(1) const SCRIPT_ANALYSIS *psa, _In_ int cChars, _In_ int cGlyphs, _In_reads_(cGlyphs) const int *piGlyphWidth, _In_reads_(cChars) const WORD *pwLogClust, _In_reads_(cGlyphs) const SCRIPT_VISATTR *psva, _In_reads_(cChars) int *piDx)
_Check_return_ HRESULT WINAPI ScriptGetFontFeatureTags(_In_ HDC hdc, _Inout_updates_(1) SCRIPT_CACHE *psc, _Inout_updates_(1) SCRIPT_ANALYSIS *psa, _In_ OPENTYPE_TAG tagScript, _In_ OPENTYPE_TAG tagLangSys, _In_ int cMaxTags, _Out_writes_(cMaxTags) OPENTYPE_TAG *pFeatureTags, _Out_writes_(1) int *pcTags)
_Check_return_ HRESULT WINAPI ScriptStringXtoCP(_In_reads_(1) SCRIPT_STRING_ANALYSIS ssa, _In_ int iX, _Out_writes_(1) int *piCh, _Out_writes_(1) int *piTrailing)
struct tagSCRIPT_GLYPHPROP SCRIPT_GLYPHPROP
struct tag_SCRIPT_DIGITSUBSTITUTE SCRIPT_DIGITSUBSTITUTE
struct tagSCRIPT_CHARPROP SCRIPT_CHARPROP
_Check_return_ HRESULT WINAPI ScriptLayout(int cRuns, _In_reads_(cRuns) const BYTE *pbLevel, _Out_writes_all_opt_(cRuns) int *piVisualToLogical, _Out_writes_all_opt_(cRuns) int *piLogicalToVisual)
_Check_return_ HRESULT WINAPI ScriptPlace(_In_ HDC hdc, _Inout_updates_(1) SCRIPT_CACHE *psc, _In_reads_(cGlyphs) const WORD *pwGlyphs, _In_ int cGlyphs, _In_reads_(cGlyphs) const SCRIPT_VISATTR *psva, _Inout_updates_(1) SCRIPT_ANALYSIS *psa, _Out_writes_all_(cGlyphs) int *piAdvance, _Out_writes_all_opt_(cGlyphs) GOFFSET *pGoffset, _Out_writes_(1) ABC *pABC)
_Check_return_ HRESULT WINAPI ScriptStringGetLogicalWidths(_In_reads_(1) SCRIPT_STRING_ANALYSIS ssa, _Out_ int *piDx)
_Check_return_ HRESULT WINAPI ScriptShapeOpenType(_In_ HDC hdc, _Inout_updates_(1) SCRIPT_CACHE *psc, _Inout_updates_(1) SCRIPT_ANALYSIS *psa, _In_ OPENTYPE_TAG tagScript, _In_ OPENTYPE_TAG tagLangSys, _In_reads_(cRanges) int *rcRangeChars, _In_reads_(cRanges) TEXTRANGE_PROPERTIES **rpRangeProperties, _In_ int cRanges, _In_reads_(cChars) const WCHAR *pwcChars, _In_ int cChars, _In_ int cMaxGlyphs, _In_reads_(cChars) WORD *pwLogClust, _In_reads_(cChars) SCRIPT_CHARPROP *pCharProps, _Out_writes_to_(cMaxGlyphs, *pcGlyphs) WORD *pwOutGlyphs, _Out_writes_to_(cMaxGlyphs, *pcGlyphs) SCRIPT_GLYPHPROP *pOutGlyphProps, _Out_writes_(1) int *pcGlyphs)
_Check_return_ HRESULT WINAPI ScriptStringValidate(_In_reads_(1) SCRIPT_STRING_ANALYSIS ssa)
_Check_return_ HRESULT WINAPI ScriptApplyDigitSubstitution(_In_reads_(1) const SCRIPT_DIGITSUBSTITUTE *psds, _Out_writes_(1) SCRIPT_CONTROL *psc, _Out_writes_(1) SCRIPT_STATE *pss)
_Check_return_ HRESULT WINAPI ScriptStringOut(_In_reads_(1) SCRIPT_STRING_ANALYSIS ssa, _In_ int iX, _In_ int iY, _In_ UINT uOptions, _In_reads_opt_(1) const RECT *prc, _In_ int iMinSel, _In_ int iMaxSel, _In_ BOOL fDisabled)
_Check_return_ HRESULT WINAPI ScriptStringGetOrder(_In_reads_(1) SCRIPT_STRING_ANALYSIS ssa, _Out_ UINT *puOrder)
_Check_return_ HRESULT WINAPI ScriptStringCPtoX(_In_reads_(1) SCRIPT_STRING_ANALYSIS ssa, _In_ int icp, _In_ BOOL fTrailing, _Out_writes_(1) int *pX)
struct tagTEXTRANGE_PROPERTIES TEXTRANGE_PROPERTIES
struct tag_SCRIPT_ANALYSIS SCRIPT_ANALYSIS
const int *WINAPI ScriptString_pcOutChars(_In_reads_(1) SCRIPT_STRING_ANALYSIS ssa)
_Check_return_ HRESULT WINAPI ScriptShape(_In_ HDC hdc, _Inout_updates_(1) SCRIPT_CACHE *psc, _In_reads_(cChars) const WCHAR *pwcChars, _In_ int cChars, _In_ int cMaxGlyphs, _Inout_updates_(1) SCRIPT_ANALYSIS *psa, _Out_writes_to_(cMaxGlyphs, *pcGlyphs) WORD *pwOutGlyphs, _Out_writes_all_(cChars) WORD *pwLogClust, _Out_writes_to_(cMaxGlyphs, *pcGlyphs) SCRIPT_VISATTR *psva, _Out_writes_(1) int *pcGlyphs)
struct tag_SCRIPT_LOGATTR SCRIPT_LOGATTR
_Check_return_ HRESULT WINAPI ScriptTextOut(_In_ const HDC hdc, _Inout_updates_(1) SCRIPT_CACHE *psc, _In_ int x, _In_ int y, _In_ UINT fuOptions, _In_reads_opt_(1) const RECT *lprc, _In_reads_(1) const SCRIPT_ANALYSIS *psa, _Reserved_ const WCHAR *pwcReserved, _Reserved_ int iReserved, _In_reads_(cGlyphs) const WORD *pwGlyphs, _In_ int cGlyphs, _In_reads_(cGlyphs) const int *piAdvance, _In_reads_opt_(cGlyphs) const int *piJustify, _In_reads_(cGlyphs) const GOFFSET *pGoffset)
struct tag_SCRIPT_FONTPROPERTIES SCRIPT_FONTPROPERTIES
_Check_return_ HRESULT WINAPI ScriptApplyLogicalWidth(_In_reads_(cChars) const int *piDx, _In_ int cChars, _In_ int cGlyphs, _In_reads_(cChars) const WORD *pwLogClust, _In_reads_(cGlyphs) const SCRIPT_VISATTR *psva, _In_reads_(cGlyphs) const int *piAdvance, _In_reads_(1) const SCRIPT_ANALYSIS *psa, _Inout_updates_opt_(1) ABC *pABC, _Out_writes_all_(cGlyphs) int *piJustify)
_Check_return_ HRESULT WINAPI ScriptIsComplex(_In_reads_(cInChars) const WCHAR *pwcInChars, _In_ int cInChars, _In_ DWORD dwFlags)
_Check_return_ HRESULT WINAPI ScriptRecordDigitSubstitution(_In_ LCID Locale, _Out_writes_(1) SCRIPT_DIGITSUBSTITUTE *psds)
_Check_return_ HRESULT WINAPI ScriptGetGlyphABCWidth(_In_ HDC hdc, _Inout_updates_(1) SCRIPT_CACHE *psc, _In_ WORD wGlyph, _Out_writes_(1) ABC *pABC)
_Check_return_ HRESULT WINAPI ScriptBreak(_In_reads_(cChars) const WCHAR *pwcChars, _In_ int cChars, _In_reads_(1) const SCRIPT_ANALYSIS *psa, _Out_writes_all_(cChars) SCRIPT_LOGATTR *psla)
_Check_return_ HRESULT WINAPI ScriptGetFontLanguageTags(_In_ HDC hdc, _Inout_updates_(1) SCRIPT_CACHE *psc, _Inout_updates_(1) SCRIPT_ANALYSIS *psa, _In_ OPENTYPE_TAG tagScript, _In_ int cMaxTags, _Out_writes_(cMaxTags) OPENTYPE_TAG *pLangsysTags, _Out_writes_(1) int *pcTags)
_Check_return_ HRESULT WINAPI ScriptStringFree(_Inout_updates_(1) SCRIPT_STRING_ANALYSIS *pssa)
_Check_return_ HRESULT WINAPI ScriptStringAnalyse(_In_ HDC hdc, _In_ const void *pString, _In_ int cString, _In_ int cGlyphs, _In_ int iCharset, _In_ DWORD dwFlags, _In_ int iReqWidth, _In_reads_opt_(1) SCRIPT_CONTROL *psControl, _In_reads_opt_(1) SCRIPT_STATE *psState, _In_reads_opt_(cString) const int *piDx, _In_reads_opt_(1) SCRIPT_TABDEF *pTabdef, _In_ const BYTE *pbInClass, _Outptr_result_buffer_(1) SCRIPT_STRING_ANALYSIS *pssa)
ULONG OPENTYPE_TAG
Definition: usp10.h:205
_Check_return_ HRESULT WINAPI ScriptPlaceOpenType(_In_ HDC hdc, _Inout_updates_(1) SCRIPT_CACHE *psc, _Inout_updates_(1) SCRIPT_ANALYSIS *psa, _In_ OPENTYPE_TAG tagScript, _In_ OPENTYPE_TAG tagLangSys, _In_reads_(cRanges) int *rcRangeChars, _In_reads_(cRanges) TEXTRANGE_PROPERTIES **rpRangeProperties, _In_ int cRanges, _In_reads_(cChars) const WCHAR *pwcChars, _In_reads_(cChars) WORD *pwLogClust, _In_reads_(cChars) SCRIPT_CHARPROP *pCharProps, _In_ int cChars, _In_reads_(cGlyphs) const WORD *pwGlyphs, _In_reads_(cGlyphs) const SCRIPT_GLYPHPROP *pGlyphProps, _In_ int cGlyphs, _Out_writes_all_(cGlyphs) int *piAdvance, _Out_writes_all_opt_(cGlyphs) GOFFSET *pGoffset, _Out_writes_(1) ABC *pABC)
const SCRIPT_LOGATTR *WINAPI ScriptString_pLogAttr(_In_reads_(1) SCRIPT_STRING_ANALYSIS ssa)
struct tag_SCRIPT_TABDEF SCRIPT_TABDEF
struct tag_SCRIPT_CONTROL SCRIPT_CONTROL
const SIZE *WINAPI ScriptString_pSize(_In_reads_(1) SCRIPT_STRING_ANALYSIS ssa)
_Check_return_ HRESULT WINAPI ScriptCacheGetHeight(_In_ HDC hdc, _Inout_updates_(1) SCRIPT_CACHE *psc, _Out_writes_(1) LONG *tmHeight)
_Check_return_ HRESULT WINAPI ScriptItemize(_In_reads_(cInChars) const WCHAR *pwcInChars, _In_ int cInChars, _In_ int cMaxItems, _In_reads_opt_(1) const SCRIPT_CONTROL *psControl, _In_reads_opt_(1) const SCRIPT_STATE *psState, _Out_writes_to_(cMaxItems, *pcItems) SCRIPT_ITEM *pItems, _Out_writes_(1) int *pcItems)
void * SCRIPT_STRING_ANALYSIS
Definition: usp10.h:196
_Check_return_ HRESULT WINAPI ScriptJustify(_In_reads_(cGlyphs) const SCRIPT_VISATTR *psva, _In_reads_(cGlyphs) const int *piAdvance, _In_ int cGlyphs, _In_ int iDx, _In_ int iMinKashida, _Out_writes_all_(cGlyphs) int *piJustify)
_Check_return_ HRESULT WINAPI ScriptItemizeOpenType(_In_reads_(cInChars) const WCHAR *pwcInChars, _In_ int cInChars, _In_ int cMaxItems, _In_reads_opt_(1) const SCRIPT_CONTROL *psControl, _In_reads_opt_(1) const SCRIPT_STATE *psState, _Out_writes_to_(cMaxItems, *pcItems) SCRIPT_ITEM *pItems, _Out_writes_(cMaxItems) OPENTYPE_TAG *pScriptTags, _Out_writes_(1) int *pcItems)
_Check_return_ HRESULT WINAPI ScriptGetFontScriptTags(_In_ HDC hdc, _Inout_updates_(1) SCRIPT_CACHE *psc, _Inout_updates_(1) SCRIPT_ANALYSIS *psa, _In_ int cMaxTags, _Out_writes_(cMaxTags) OPENTYPE_TAG *pScriptTags, _Out_writes_(1) int *pcTags)
_Check_return_ HRESULT WINAPI ScriptGetCMap(_In_ HDC hdc, _Inout_updates_(1) SCRIPT_CACHE *psc, _In_reads_(cChars) const WCHAR *pwcInChars, _In_ int cChars, _In_ DWORD dwFlags, _Out_writes_(cChars) WORD *pwOutGlyphs)
void * SCRIPT_CACHE
Definition: usp10.h:195
_Check_return_ HRESULT WINAPI ScriptFreeCache(_Inout_updates_(1) _At_(*psc, _Post_null_) SCRIPT_CACHE *psc)
enum tag_SCRIPT_JUSTIFY SCRIPT_JUSTIFY
_Check_return_ HRESULT WINAPI ScriptCPtoX(_In_ int iCP, _In_ BOOL fTrailing, _In_ int cChars, _In_ int cGlyphs, _In_reads_(cChars) const WORD *pwLogClust, _In_reads_(cGlyphs) const SCRIPT_VISATTR *psva, _In_reads_(cGlyphs) const int *piAdvance, _In_reads_(1) const SCRIPT_ANALYSIS *psa, _Out_ int *piX)
struct tagOPENTYPE_FEATURE_RECORD OPENTYPE_FEATURE_RECORD
_Check_return_ HRESULT WINAPI ScriptGetFontProperties(_In_ HDC hdc, _Inout_updates_(1) SCRIPT_CACHE *psc, _Out_writes_(1) SCRIPT_FONTPROPERTIES *sfp)
struct tag_SCRIPT_ITEM SCRIPT_ITEM
struct tag_SCRIPT_VISATTR SCRIPT_VISATTR
tag_SCRIPT_JUSTIFY
Definition: usp10.h:73
@ SCRIPT_JUSTIFY_ARABIC_RA
Definition: usp10.h:85
@ SCRIPT_JUSTIFY_ARABIC_HA
Definition: usp10.h:84
@ SCRIPT_JUSTIFY_RESERVED3
Definition: usp10.h:80
@ SCRIPT_JUSTIFY_ARABIC_SEEN
Definition: usp10.h:88
@ SCRIPT_JUSTIFY_ARABIC_BLANK
Definition: usp10.h:75
@ SCRIPT_JUSTIFY_ARABIC_NORMAL
Definition: usp10.h:81
@ SCRIPT_JUSTIFY_RESERVED1
Definition: usp10.h:77
@ SCRIPT_JUSTIFY_ARABIC_BA
Definition: usp10.h:86
@ SCRIPT_JUSTIFY_RESERVED2
Definition: usp10.h:79
@ SCRIPT_JUSTIFY_ARABIC_SEEN_M
Definition: usp10.h:89
@ SCRIPT_JUSTIFY_NONE
Definition: usp10.h:74
@ SCRIPT_JUSTIFY_ARABIC_BARA
Definition: usp10.h:87
@ SCRIPT_JUSTIFY_BLANK
Definition: usp10.h:78
@ SCRIPT_JUSTIFY_CHARACTER
Definition: usp10.h:76
@ SCRIPT_JUSTIFY_ARABIC_ALEF
Definition: usp10.h:83
@ SCRIPT_JUSTIFY_ARABIC_KASHIDA
Definition: usp10.h:82
struct tagGOFFSET GOFFSET
_Check_return_ HRESULT WINAPI ScriptXtoCP(_In_ int iX, _In_ int cChars, _In_ int cGlyphs, _In_reads_(cChars) const WORD *pwLogClust, _In_reads_(cGlyphs) const SCRIPT_VISATTR *psva, _In_reads_(cGlyphs) const int *piAdvance, _In_reads_(1) const SCRIPT_ANALYSIS *psa, _Out_writes_(1) int *piCP, _Out_writes_(1) int *piTrailing)
_Check_return_ HRESULT WINAPI ScriptGetProperties(_Outptr_result_buffer_(*piNumScripts) const SCRIPT_PROPERTIES ***ppSp, _Out_ int *piNumScripts)
_In_ INT _In_ INT cChars
Definition: winddi.h:1486
_In_ FONTOBJ _In_ ULONG _In_ ULONG cGlyphs
Definition: winddi.h:3799
#define WINAPI
Definition: msvc.h:6
unsigned char BYTE
Definition: xxhash.c:193