add a binding to part or all of uniscribe
parent
3bfce6e95c
commit
39ce205f75
basis/windows
|
@ -12,4 +12,5 @@ USING: alien sequences ;
|
|||
{ "gl" "opengl32.dll" "stdcall" }
|
||||
{ "glu" "glu32.dll" "stdcall" }
|
||||
{ "ole32" "ole32.dll" "stdcall" }
|
||||
{ "usp10" "usp10.dll" "stdcall" }
|
||||
} [ first3 add-library ] each
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Doug Coleman
|
|
@ -0,0 +1,337 @@
|
|||
! Copyright (C) 2009 Doug Coleman.
|
||||
! See http:
|
||||
USING: alien.syntax ;
|
||||
IN: windows.usp10
|
||||
|
||||
LIBRARY: usp10
|
||||
|
||||
C-STRUCT: SCRIPT_CONTROL
|
||||
{ "DWORD" "flags" } ;
|
||||
|
||||
C-STRUCT: SCRIPT_STATE
|
||||
{ "WORD" "flags" } ;
|
||||
|
||||
C-STRUCT: SCRIPT_ANALYSIS
|
||||
{ "WORD" "flags" }
|
||||
{ "SCRIPT_STATE" "s" } ;
|
||||
|
||||
C-STRUCT: SCRIPT_ITEM
|
||||
{ "int" "iCharPos" }
|
||||
{ "SCRIPT_ANALYSIS" "a" } ;
|
||||
|
||||
FUNCTION: HRESULT ScriptItemize (
|
||||
WCHAR* pwcInChars,
|
||||
int cInChars,
|
||||
int cMaxItems,
|
||||
SCRIPT_CONTROL* psControl,
|
||||
SCRIPT_STATE* psState,
|
||||
SCRIPT_ITEM* pItems,
|
||||
int* pcItems
|
||||
) ;
|
||||
|
||||
FUNCTION: HRESULT ScriptLayout (
|
||||
int cRuns,
|
||||
BYTE* pbLevel,
|
||||
int* piVisualToLogical,
|
||||
int* piLogicalToVisual
|
||||
) ;
|
||||
|
||||
C-ENUM: SCRIPT_JUSTIFY_NONE
|
||||
SCRIPT_JUSTIFY_ARABIC_BLANK
|
||||
SCRIPT_JUSTIFY_CHARACTER
|
||||
SCRIPT_JUSTIFY_RESERVED1
|
||||
SCRIPT_JUSTIFY_BLANK
|
||||
SCRIPT_JUSTIFY_RESERVED2
|
||||
SCRIPT_JUSTIFY_RESERVED3
|
||||
SCRIPT_JUSTIFY_ARABIC_NORMAL
|
||||
SCRIPT_JUSTIFY_ARABIC_KASHIDA
|
||||
SCRIPT_JUSTIFY_ALEF
|
||||
SCRIPT_JUSTIFY_HA
|
||||
SCRIPT_JUSTIFY_RA
|
||||
SCRIPT_JUSTIFY_BA
|
||||
SCRIPT_JUSTIFY_BARA
|
||||
SCRIPT_JUSTIFY_SEEN
|
||||
SCRIPT_JUSTIFFY_RESERVED4 ;
|
||||
|
||||
C-STRUCT: SCRIPT_VISATTR
|
||||
{ "WORD" "flags" } ;
|
||||
|
||||
FUNCTION: HRESULT ScriptShape (
|
||||
HDC hdc,
|
||||
SCRIPT_CACHE* psc,
|
||||
WCHAR* pwcChars,
|
||||
int cChars,
|
||||
int cMaxGlyphs,
|
||||
SCRIPT_ANALYSIS* psa,
|
||||
WORD* pwOutGlyphs,
|
||||
WORD* pwLogClust,
|
||||
SCRIPT_VISATTR* psva,
|
||||
int* pcGlyphs
|
||||
) ;
|
||||
|
||||
C-STRUCT: GOFFSET
|
||||
{ "LONG" "du" }
|
||||
{ "LONG" "dv" } ;
|
||||
|
||||
FUNCTION: HRESULT ScriptPlace (
|
||||
HDC hdc,
|
||||
SCRIPT_CACHE* psc,
|
||||
WORD* pwGlyphs,
|
||||
int cGlyphs,
|
||||
SCRIPT_VISATTR* psva,
|
||||
SCRIPT_ANALYSIS* psa,
|
||||
int* piAdvance,
|
||||
GOFFSET* pGoffset,
|
||||
ABC* pABC
|
||||
) ;
|
||||
|
||||
FUNCTION: HRESULT ScriptTextOut (
|
||||
HDC hdc,
|
||||
SCRIPT_CACHE* psc,
|
||||
int x,
|
||||
int y,
|
||||
UINT fuOptions,
|
||||
RECT* lprc,
|
||||
SCRIPT_ANALYSIS* psa,
|
||||
WCHAR* pwcReserved,
|
||||
int iReserved,
|
||||
WORD* pwGlyphs,
|
||||
int cGlyphs,
|
||||
int* piAdvance,
|
||||
int* piJustify,
|
||||
GOFFSET* pGoffset
|
||||
) ;
|
||||
|
||||
FUNCTION: HRESULT ScriptJustify (
|
||||
SCRIPT_VISATTR* psva,
|
||||
int* piAdvance,
|
||||
int cGlyphs,
|
||||
int iDx,
|
||||
int iMinKashida,
|
||||
int* piJustify
|
||||
) ;
|
||||
|
||||
C-STRUCT: SCRIPT_LOGATTR
|
||||
{ "BYTE" "flags" } ;
|
||||
|
||||
FUNCTION: HRESULT ScriptBreak (
|
||||
WCHAR* pwcChars,
|
||||
int cChars,
|
||||
SCRIPT_ANALYSIS* psa,
|
||||
SCRIPT_LOGATTR* psla
|
||||
) ;
|
||||
|
||||
FUNCTION: HRESULT ScriptCPtoX (
|
||||
int iCP,
|
||||
BOOL fTrailing,
|
||||
int cChars,
|
||||
int cGlyphs,
|
||||
WORD* pwLogClust,
|
||||
SCRIPT_VISATTR* psva,
|
||||
int* piAdvance,
|
||||
SCRIPT_ANALYSIS* psa,
|
||||
int* piX
|
||||
) ;
|
||||
|
||||
FUNCTION: HRESULT ScriptXtoCP (
|
||||
int iCP,
|
||||
BOOL fTrailing,
|
||||
int cChars,
|
||||
int cGlyphs,
|
||||
WORD* pwLogClust,
|
||||
SCRIPT_VISATTR* psva,
|
||||
int* piAdvance,
|
||||
SCRIPT_ANALYSIS* psa,
|
||||
int* piCP,
|
||||
int* piTrailing
|
||||
) ;
|
||||
|
||||
FUNCTION: HRESULT ScriptGetLogicalWidths (
|
||||
SCRIPT_ANALYSIS* psa,
|
||||
int cChars,
|
||||
int cGlyphs,
|
||||
int* piGlyphWidth,
|
||||
WORD* pwLogClust,
|
||||
SCRIPT_VISATTR* psva,
|
||||
int* piDx
|
||||
) ;
|
||||
|
||||
FUNCTION: HRESULT ScriptApplyLogicalWidth (
|
||||
int* piDx,
|
||||
int cChars,
|
||||
int cGlyphs,
|
||||
WORD* pwLogClust,
|
||||
SCRIPT_VISATTR* psva,
|
||||
int* piAdvance,
|
||||
SCRIPT_ANALYSIS* psa,
|
||||
ABC* pABC,
|
||||
int* piJustify
|
||||
) ;
|
||||
|
||||
FUNCTION: HRESULT ScriptGetCMap (
|
||||
HDC hdc,
|
||||
SCRIPT_CACHE* psc,
|
||||
WCHAR* pwcInChars,
|
||||
int cChars,
|
||||
DWORD dwFlags,
|
||||
WORD* pwOutGlyphs
|
||||
) ;
|
||||
|
||||
FUNCTION: HRESULT ScriptGetGlyphABCWidth (
|
||||
HDC hdc,
|
||||
SCRIPT_CACHE* psc,
|
||||
WORD wGlyph,
|
||||
ABC* pABC
|
||||
) ;
|
||||
|
||||
C-STRUCT: SCRIPT_PROPERTIES
|
||||
{ "DWORD" "flags" } ;
|
||||
|
||||
FUNCTION: HRESULT ScriptGetProperties (
|
||||
SCRIPT_PROPERTIES*** ppSp,
|
||||
int* piNumScripts
|
||||
) ;
|
||||
|
||||
C-STRUCT: SCRIPT_FONTPROPERTIES
|
||||
{ "int" "cBytes" }
|
||||
{ "WORD" "wgBlank" }
|
||||
{ "WORD" "wgDefault" }
|
||||
{ "WORD" "wgInvalid" }
|
||||
{ "WORD" "wgKashida" }
|
||||
{ "int" "iKashidaWidth" } ;
|
||||
|
||||
FUNCTION: HRESULT ScriptGetFontProperties (
|
||||
HDC hdc,
|
||||
SCRIPT_CACHE* psc,
|
||||
SCRIPT_FONTPROPERTIES* sfp
|
||||
) ;
|
||||
|
||||
FUNCTION: HRESULT ScriptCacheGetHeight (
|
||||
HDC hdc,
|
||||
SCRIPT_CACHE* psc,
|
||||
long* tmHeight
|
||||
) ;
|
||||
|
||||
CONSTANT: SSA_PASSWORD HEX: 00000001
|
||||
CONSTANT: SSA_TAB HEX: 00000002
|
||||
CONSTANT: SSA_CLIP HEX: 00000004
|
||||
CONSTANT: SSA_FIT HEX: 00000008
|
||||
CONSTANT: SSA_DZWG HEX: 00000010
|
||||
CONSTANT: SSA_FALLBACK HEX: 00000020
|
||||
CONSTANT: SSA_BREAK HEX: 00000040
|
||||
CONSTANT: SSA_GLYPHS HEX: 00000080
|
||||
CONSTANT: SSA_RTL HEX: 00000100
|
||||
CONSTANT: SSA_GCP HEX: 00000200
|
||||
CONSTANT: SSA_HOTKEY HEX: 00000400
|
||||
CONSTANT: SSA_METAFILE HEX: 00000800
|
||||
CONSTANT: SSA_LINK HEX: 00001000
|
||||
CONSTANT: SSA_HIDEHOTKEY HEX: 00002000
|
||||
CONSTANT: SSA_HOTKEYONLY HEX: 00002400
|
||||
CONSTANT: SSA_FULLMEASURE HEX: 04000000
|
||||
CONSTANT: SSA_LPKANSIFALLBACK HEX: 08000000
|
||||
CONSTANT: SSA_PIDX HEX: 10000000
|
||||
CONSTANT: SSA_LAYOUTRTL HEX: 20000000
|
||||
CONSTANT: SSA_DONTGLYPH HEX: 40000000
|
||||
CONSTANT: SSA_NOKASHIDA HEX: 80000000
|
||||
|
||||
C-STRUCT: SCRIPT_TABDEF
|
||||
{ "int" "cTabStops" }
|
||||
{ "int" "iScale" }
|
||||
{ "int*" "pTabStops" }
|
||||
{ "int" "iTabOrigin" } ;
|
||||
|
||||
TYPEDEF: void* SCRIPT_STRING_ANALYSIS
|
||||
|
||||
FUNCTION: HRESULT ScriptStringAnalyse (
|
||||
HDC hdc,
|
||||
void* pString,
|
||||
int cString,
|
||||
int cGlyphs,
|
||||
int iCharset,
|
||||
DWORD dwFlags,
|
||||
int iReqWidth,
|
||||
SCRIPT_CONTROL* psControl,
|
||||
SCRIPT_STATE* psState,
|
||||
int* piDx,
|
||||
SCRIPT_TABDEF* pTabDef,
|
||||
BYTE* pbInClass,
|
||||
SCRIPT_STRING_ANALYSIS* pssa
|
||||
) ;
|
||||
|
||||
FUNCTION: HRESULT ScriptStringFree (
|
||||
SCRIPT_STRING_ANALYSIS* pssa
|
||||
) ;
|
||||
|
||||
FUNCTION: SIZE* ScriptString_pSize ( SCRIPT_STRING_ANALYSIS ssa ) ;
|
||||
|
||||
FUNCTION: int* ScriptString_pcOutChars ( SCRIPT_STRING_ANALYSIS ssa ) ;
|
||||
|
||||
FUNCTION: SCRIPT_LOGATTR* ScriptString_pLogAttr ( SCRIPT_STRING_ANALYSIS ssa ) ;
|
||||
|
||||
FUNCTION: HRESULT ScriptStringGetOrder (
|
||||
SCRIPT_STRING_ANALYSIS ssa,
|
||||
UINT* puOrder
|
||||
) ;
|
||||
|
||||
FUNCTION: HRESULT ScriptStringCPtoX (
|
||||
SCRIPT_STRING_ANALYSIS ssa,
|
||||
int icp,
|
||||
BOOL fTrailing,
|
||||
int* pX
|
||||
) ;
|
||||
|
||||
FUNCTION: HRESULT ScriptStringXtoCP (
|
||||
SCRIPT_STRING_ANALYSIS ssa,
|
||||
int iX,
|
||||
int* piCh,
|
||||
int* piTrailing
|
||||
) ;
|
||||
|
||||
FUNCTION: HRESULT ScriptStringGetLogicalWidths (
|
||||
SCRIPT_STRING_ANALYSIS ssa,
|
||||
int* piDx
|
||||
) ;
|
||||
|
||||
FUNCTION: HRESULT ScriptStringValidate (
|
||||
SCRIPT_STRING_ANALYSIS ssa
|
||||
) ;
|
||||
|
||||
FUNCTION: HRESULT ScriptStringOut (
|
||||
SCRIPT_STRING_ANALYSIS ssa,
|
||||
int iX,
|
||||
int iY,
|
||||
UINT uOptions,
|
||||
RECT* prc,
|
||||
int iMinSel,
|
||||
int iMaxSel,
|
||||
BOOL fDisabled
|
||||
) ;
|
||||
|
||||
CONSTANT: SIC_COMPLEX 1
|
||||
CONSTANT: SIC_ASCIIDIGIT 2
|
||||
CONSTANT: SIC_NEUTRAL 4
|
||||
|
||||
FUNCTION: HRESULT ScriptIsComplex (
|
||||
WCHAR* pwcInChars,
|
||||
int cInChars,
|
||||
DWORD dwFlags
|
||||
) ;
|
||||
|
||||
C-STRUCT: SCRIPT_DIGITSUBSTITUTE
|
||||
{ "DWORD" "flags" } ;
|
||||
|
||||
FUNCTION: HRESULT ScriptRecordDigitSubstitution (
|
||||
LCID Locale,
|
||||
SCRIPT_DIGITSUBSTITUTE* psds
|
||||
) ;
|
||||
|
||||
CONSTANT: SCRIPT_DIGITSUBSTITUTE_CONTEXT 0
|
||||
CONSTANT: SCRIPT_DIGITSUBSTITUTE_NONE 1
|
||||
CONSTANT: SCRIPT_DIGITSUBSTITUTE_NATIONAL 2
|
||||
CONSTANT: SCRIPT_DIGITSUBSTITUTE_TRADITIONAL 3
|
||||
|
||||
FUNCTION: HRESULT ScriptApplyDigitSubstitution (
|
||||
SCRIPT_DIGITSUBSTITUTE* psds,
|
||||
SCRIPT_CONTROL* psc,
|
||||
SCRIPT_STATE* pss
|
||||
) ;
|
Loading…
Reference in New Issue