ReactOS 0.4.16-dev-257-g6aa11ac
|
#include <stdarg.h>
#include <stdlib.h>
#include <math.h>
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
#include "winuser.h"
#include "winnls.h"
#include "winreg.h"
#include "usp10.h"
#include "usp10_internal.h"
#include "wine/debug.h"
#include "wine/heap.h"
Go to the source code of this file.
Classes | |
struct | usp10_script_range |
struct | StringGlyphs |
struct | StringAnalysis |
struct | FindGlyph_struct |
Macros | |
#define | Numeric_space 0x0020 |
#define | ZWSP 0x200B |
#define | ZWNJ 0x200C |
#define | ZWJ 0x200D |
Enumerations | |
enum | stringanalysis_flags { SCRIPT_STRING_ANALYSIS_FLAGS_SIZE = 0x1 , SCRIPT_STRING_ANALYSIS_FLAGS_INVALID = 0x2 } |
Variables | |
static const struct usp10_script_range | script_ranges [] |
const scriptData | scriptInformation [] |
static const SCRIPT_PROPERTIES * | script_props [] |
static CRITICAL_SECTION | cs_script_cache = { &cs_script_cache_dbg, -1, 0, 0, 0, 0 } |
static CRITICAL_SECTION_DEBUG | cs_script_cache_dbg |
static struct list | script_cache_list = LIST_INIT(script_cache_list) |
#define Numeric_space 0x0020 |
#define ZWJ 0x200D |
#define ZWNJ 0x200C |
#define ZWSP 0x200B |
Enumerator | |
---|---|
SCRIPT_STRING_ANALYSIS_FLAGS_SIZE | |
SCRIPT_STRING_ANALYSIS_FLAGS_INVALID |
Definition at line 704 of file usp10.c.
|
static |
Definition at line 1344 of file usp10.c.
Referenced by ScriptItemize(), and ScriptItemizeOpenType().
|
inlinestatic |
Definition at line 1310 of file usp10.c.
Referenced by _ItemizeInternal().
Definition at line 1028 of file usp10.c.
Referenced by USP10_FindGlyphInLogClust().
|
static |
Definition at line 946 of file usp10.c.
Referenced by get_char_script(), and ScriptShapeOpenType().
|
inlinestatic |
Definition at line 2189 of file usp10.c.
Referenced by get_glyph_cluster_advance(), and SS_ItemOut().
|
static |
Definition at line 1961 of file usp10.c.
Referenced by ScriptStringAnalyse().
|
inlinestatic |
Definition at line 810 of file usp10.c.
Referenced by ScriptGetFontProperties().
|
inlinestatic |
Definition at line 825 of file usp10.c.
Referenced by ScriptGetCMap(), and ScriptShapeOpenType().
|
inlinestatic |
Definition at line 847 of file usp10.c.
Referenced by ScriptGetGlyphABCWidth(), and ScriptPlaceOpenType().
|
inlinestatic |
Definition at line 815 of file usp10.c.
Referenced by ScriptCacheGetHeight().
|
inlinestatic |
Definition at line 820 of file usp10.c.
Referenced by ScriptGetGlyphABCWidth(), and ScriptPlaceOpenType().
|
static |
Definition at line 969 of file usp10.c.
Referenced by _ItemizeInternal(), and ScriptIsComplex().
|
inlinestatic |
Definition at line 2793 of file usp10.c.
Referenced by ScriptXtoCP().
|
inlinestatic |
Definition at line 2760 of file usp10.c.
Referenced by ScriptXtoCP().
|
inlinestatic |
Definition at line 2594 of file usp10.c.
Referenced by ScriptCPtoX(), ScriptGetLogicalWidths(), and ScriptStringGetLogicalWidths().
|
inlinestatic |
Definition at line 2618 of file usp10.c.
Referenced by ScriptCPtoX(), ScriptGetLogicalWidths(), and ScriptStringGetLogicalWidths().
|
inlinestatic |
Definition at line 1860 of file usp10.c.
Referenced by ScriptStringAnalyse().
|
static |
Definition at line 866 of file usp10.c.
Referenced by requires_fallback(), ScriptCacheGetHeight(), ScriptGetCMap(), ScriptGetFontFeatureTags(), ScriptGetFontLanguageTags(), ScriptGetFontProperties(), ScriptGetFontScriptTags(), ScriptGetGlyphABCWidth(), ScriptPlaceOpenType(), and ScriptShapeOpenType().
|
inlinestatic |
Definition at line 1305 of file usp10.c.
Referenced by _ItemizeInternal().
Definition at line 940 of file usp10.c.
Referenced by ScriptGetCMap(), and ScriptShapeOpenType().
|
static |
Definition at line 1934 of file usp10.c.
Referenced by ScriptStringAnalyse().
|
static |
HRESULT WINAPI ScriptApplyDigitSubstitution | ( | const SCRIPT_DIGITSUBSTITUTE * | sds, |
SCRIPT_CONTROL * | sc, | ||
SCRIPT_STATE * | ss | ||
) |
Definition at line 1275 of file usp10.c.
Referenced by enum_proc().
HRESULT WINAPI ScriptApplyLogicalWidth | ( | const int * | dx, |
int | num_chars, | ||
int | num_glyphs, | ||
const WORD * | log_clust, | ||
const SCRIPT_VISATTR * | sva, | ||
const int * | advance, | ||
const SCRIPT_ANALYSIS * | sa, | ||
ABC * | abc, | ||
int * | justify | ||
) |
HRESULT WINAPI ScriptBreak | ( | const WCHAR * | chars, |
int | count, | ||
const SCRIPT_ANALYSIS * | sa, | ||
SCRIPT_LOGATTR * | la | ||
) |
Definition at line 3047 of file usp10.c.
Referenced by EDIT_WordBreakProc(), ScriptStringAnalyse(), test_ScriptBreak(), test_ScriptTextOut(), and word_break().
HRESULT WINAPI ScriptCacheGetHeight | ( | HDC | hdc, |
SCRIPT_CACHE * | psc, | ||
LONG * | height | ||
) |
Definition at line 3680 of file usp10.c.
Referenced by test_script_cache_reuse(), and test_ScriptCacheGetHeight().
HRESULT WINAPI ScriptCPtoX | ( | int | iCP, |
BOOL | fTrailing, | ||
int | cChars, | ||
int | cGlyphs, | ||
const WORD * | pwLogClust, | ||
const SCRIPT_VISATTR * | psva, | ||
const int * | piAdvance, | ||
const SCRIPT_ANALYSIS * | psa, | ||
int * | piX | ||
) |
Definition at line 2650 of file usp10.c.
Referenced by _test_item_ScriptXtoX(), ME_PointFromCharContext(), ScriptStringCPtoX(), ScriptStringXtoCP(), and test_ScriptTextOut().
HRESULT WINAPI ScriptFreeCache | ( | SCRIPT_CACHE * | psc | ) |
Definition at line 1080 of file usp10.c.
Referenced by _test_shape_ok(), BIDI_Reorder(), ME_DestroyStyle(), ME_SetDefaultCharFormat(), ScriptStringAnalyse(), ScriptStringFree(), test_script_cache_reuse(), test_ScriptCacheGetHeight(), test_ScriptGetCMap(), test_ScriptGetFontFunctions(), test_ScriptGetFontProperties(), test_ScriptGetGlyphABCWidth(), test_ScriptItemIzeShapePlace(), test_ScriptPlace(), test_ScriptShape(), test_ScriptShapeOpenType(), test_ScriptTextOut(), test_ScriptTextOut2(), and test_ScriptTextOut3().
HRESULT WINAPI ScriptGetCMap | ( | HDC | hdc, |
SCRIPT_CACHE * | psc, | ||
const WCHAR * | pwcInChars, | ||
int | cChars, | ||
DWORD | dwFlags, | ||
WORD * | pwOutGlyphs | ||
) |
Definition at line 3554 of file usp10.c.
Referenced by requires_fallback(), ScriptPlaceOpenType(), and test_ScriptGetCMap().
HRESULT WINAPI ScriptGetFontFeatureTags | ( | HDC | hdc, |
SCRIPT_CACHE * | psc, | ||
SCRIPT_ANALYSIS * | psa, | ||
OPENTYPE_TAG | tagScript, | ||
OPENTYPE_TAG | tagLangSys, | ||
int | cMaxTags, | ||
OPENTYPE_TAG * | pFeatureTags, | ||
int * | pcTags | ||
) |
Definition at line 4092 of file usp10.c.
HRESULT WINAPI ScriptGetFontLanguageTags | ( | HDC | hdc, |
SCRIPT_CACHE * | psc, | ||
SCRIPT_ANALYSIS * | psa, | ||
OPENTYPE_TAG | tagScript, | ||
int | cMaxTags, | ||
OPENTYPE_TAG * | pLangSysTags, | ||
int * | pcTags | ||
) |
Definition at line 4083 of file usp10.c.
HRESULT WINAPI ScriptGetFontProperties | ( | HDC | hdc, |
SCRIPT_CACHE * | psc, | ||
SCRIPT_FONTPROPERTIES * | sfp | ||
) |
Definition at line 1176 of file usp10.c.
Referenced by test_ScriptGetFontProperties().
HRESULT WINAPI ScriptGetFontScriptTags | ( | HDC | hdc, |
SCRIPT_CACHE * | psc, | ||
SCRIPT_ANALYSIS * | psa, | ||
int | cMaxTags, | ||
OPENTYPE_TAG * | pScriptTags, | ||
int * | pcTags | ||
) |
Definition at line 4074 of file usp10.c.
Definition at line 3708 of file usp10.c.
Referenced by test_ScriptGetGlyphABCWidth().
HRESULT WINAPI ScriptGetLogicalWidths | ( | const SCRIPT_ANALYSIS * | sa, |
int | nbchars, | ||
int | nbglyphs, | ||
const int * | advances, | ||
const WORD * | log_clust, | ||
const SCRIPT_VISATTR * | sva, | ||
int * | widths | ||
) |
Definition at line 3998 of file usp10.c.
Referenced by test_ScriptGetLogicalWidths().
HRESULT WINAPI ScriptGetProperties | ( | const SCRIPT_PROPERTIES *** | props, |
int * | num | ||
) |
Definition at line 1154 of file usp10.c.
Referenced by _test_shape_ok(), test_ScriptGetProperties(), test_ScriptItemIzeShapePlace(), and test_ScriptXtoX().
Definition at line 3074 of file usp10.c.
Referenced by LPK_DrawUnderscore(), LpkExtTextOut(), LpkGetTextExtentExPoint(), and test_ScriptIsComplex().
HRESULT WINAPI ScriptItemize | ( | const WCHAR * | pwcInChars, |
int | cInChars, | ||
int | cMaxItems, | ||
const SCRIPT_CONTROL * | psControl, | ||
const SCRIPT_STATE * | psState, | ||
SCRIPT_ITEM * | pItems, | ||
int * | pcItems | ||
) |
Definition at line 1853 of file usp10.c.
Referenced by _test_items_ok(), BIDI_Reorder(), itemize_para(), ScriptStringAnalyse(), test_newlines(), test_ScriptBreak(), test_ScriptGetFontFunctions(), test_ScriptItemize(), test_ScriptItemize_surrogates(), test_ScriptItemIzeShapePlace(), test_ScriptPlace(), test_ScriptShape(), test_ScriptTextOut(), test_ScriptTextOut2(), test_ScriptTextOut3(), and test_ScriptXtoX().
HRESULT WINAPI ScriptItemizeOpenType | ( | const WCHAR * | pwcInChars, |
int | cInChars, | ||
int | cMaxItems, | ||
const SCRIPT_CONTROL * | psControl, | ||
const SCRIPT_STATE * | psState, | ||
SCRIPT_ITEM * | pItems, | ||
OPENTYPE_TAG * | pScriptTags, | ||
int * | pcItems | ||
) |
Definition at line 1828 of file usp10.c.
Definition at line 3752 of file usp10.c.
Referenced by BIDI_Reorder(), BidiLines(), layout_row(), ScriptStringAnalyse(), and test_ScriptLayout().
HRESULT WINAPI ScriptPlace | ( | HDC | hdc, |
SCRIPT_CACHE * | psc, | ||
const WORD * | pwGlyphs, | ||
int | cGlyphs, | ||
const SCRIPT_VISATTR * | psva, | ||
SCRIPT_ANALYSIS * | psa, | ||
int * | piAdvance, | ||
GOFFSET * | pGoffset, | ||
ABC * | pABC | ||
) |
Definition at line 3510 of file usp10.c.
Referenced by ScriptStringAnalyse(), shape_run(), test_ScriptItemIzeShapePlace(), test_ScriptPlace(), test_ScriptTextOut(), test_ScriptTextOut2(), and test_ScriptTextOut3().
HRESULT WINAPI ScriptPlaceOpenType | ( | HDC | hdc, |
SCRIPT_CACHE * | psc, | ||
SCRIPT_ANALYSIS * | psa, | ||
OPENTYPE_TAG | tagScript, | ||
OPENTYPE_TAG | tagLangSys, | ||
int * | rcRangeChars, | ||
TEXTRANGE_PROPERTIES ** | rpRangeProperties, | ||
int | cRanges, | ||
const WCHAR * | pwcChars, | ||
WORD * | pwLogClust, | ||
SCRIPT_CHARPROP * | pCharProps, | ||
int | cChars, | ||
const WORD * | pwGlyphs, | ||
const SCRIPT_GLYPHPROP * | pGlyphProps, | ||
int | cGlyphs, | ||
int * | piAdvance, | ||
GOFFSET * | pGoffset, | ||
ABC * | pABC | ||
) |
Definition at line 3387 of file usp10.c.
Referenced by ScriptPlace().
HRESULT WINAPI ScriptRecordDigitSubstitution | ( | LCID | locale, |
SCRIPT_DIGITSUBSTITUTE * | sds | ||
) |
Definition at line 1209 of file usp10.c.
Referenced by enum_proc(), and ScriptApplyDigitSubstitution().
HRESULT WINAPI ScriptShape | ( | HDC | hdc, |
SCRIPT_CACHE * | psc, | ||
const WCHAR * | pwcChars, | ||
int | cChars, | ||
int | cMaxGlyphs, | ||
SCRIPT_ANALYSIS * | psa, | ||
WORD * | pwOutGlyphs, | ||
WORD * | pwLogClust, | ||
SCRIPT_VISATTR * | psva, | ||
int * | pcGlyphs | ||
) |
Definition at line 3321 of file usp10.c.
Referenced by BIDI_Reorder(), ScriptStringAnalyse(), shape_run(), test_ScriptItemIzeShapePlace(), test_ScriptPlace(), test_ScriptShape(), test_ScriptTextOut(), test_ScriptTextOut2(), and test_ScriptTextOut3().
HRESULT WINAPI ScriptShapeOpenType | ( | HDC | hdc, |
SCRIPT_CACHE * | psc, | ||
SCRIPT_ANALYSIS * | psa, | ||
OPENTYPE_TAG | tagScript, | ||
OPENTYPE_TAG | tagLangSys, | ||
int * | rcRangeChars, | ||
TEXTRANGE_PROPERTIES ** | rpRangeProperties, | ||
int | cRanges, | ||
const WCHAR * | pwcChars, | ||
int | cChars, | ||
int | cMaxGlyphs, | ||
WORD * | pwLogClust, | ||
SCRIPT_CHARPROP * | pCharProps, | ||
WORD * | pwOutGlyphs, | ||
SCRIPT_GLYPHPROP * | pOutGlyphProps, | ||
int * | pcGlyphs | ||
) |
Definition at line 3124 of file usp10.c.
Referenced by ScriptShape().
const int *WINAPI ScriptString_pcOutChars | ( | SCRIPT_STRING_ANALYSIS | ssa | ) |
Definition at line 3938 of file usp10.c.
Referenced by EDIT_BuildLineDefs_ML(), and test_ScriptString().
const SCRIPT_LOGATTR *WINAPI ScriptString_pLogAttr | ( | SCRIPT_STRING_ANALYSIS | ssa | ) |
const SIZE *WINAPI ScriptString_pSize | ( | SCRIPT_STRING_ANALYSIS | ssa | ) |
Definition at line 3876 of file usp10.c.
Referenced by EDIT_BuildLineDefs_ML(), EDIT_CalcLineWidth_SL(), EDIT_CharFromPos(), EDIT_EM_PosFromChar(), and test_ScriptString_pSize().
HRESULT WINAPI ScriptStringAnalyse | ( | HDC | hdc, |
const void * | pString, | ||
int | cString, | ||
int | cGlyphs, | ||
int | iCharset, | ||
DWORD | dwFlags, | ||
int | iReqWidth, | ||
SCRIPT_CONTROL * | psControl, | ||
SCRIPT_STATE * | psState, | ||
const int * | piDx, | ||
SCRIPT_TABDEF * | pTabdef, | ||
const BYTE * | pbInClass, | ||
SCRIPT_STRING_ANALYSIS * | pssa | ||
) |
Definition at line 1985 of file usp10.c.
Referenced by EDIT_UpdateUniscribeData(), EDIT_UpdateUniscribeData_linedef(), LPK_DrawUnderscore(), LpkGetCharacterPlacement(), LpkGetTextExtentExPoint(), test_ScriptString(), test_ScriptString_pSize(), and test_ScriptStringXtoCP_CPtoX().
Definition at line 2411 of file usp10.c.
Referenced by EDIT_CharFromPos(), EDIT_EM_PosFromChar(), EDIT_GetLineRect(), LPK_DrawUnderscore(), LpkGetCharacterPlacement(), SS_ItemOut(), and test_ScriptStringXtoCP_CPtoX().
HRESULT WINAPI ScriptStringFree | ( | SCRIPT_STRING_ANALYSIS * | pssa | ) |
Definition at line 2556 of file usp10.c.
Referenced by EDIT_InvalidateUniscribeData(), EDIT_InvalidateUniscribeData_linedef(), LPK_DrawUnderscore(), LpkGetCharacterPlacement(), LpkGetTextExtentExPoint(), test_ScriptString(), test_ScriptString_pSize(), and test_ScriptStringXtoCP_CPtoX().
HRESULT WINAPI ScriptStringGetLogicalWidths | ( | SCRIPT_STRING_ANALYSIS | ssa, |
int * | piDx | ||
) |
Definition at line 3804 of file usp10.c.
Referenced by EDIT_BuildLineDefs_ML(), and LpkGetTextExtentExPoint().
HRESULT WINAPI ScriptStringGetOrder | ( | SCRIPT_STRING_ANALYSIS | ssa, |
UINT * | order | ||
) |
Definition at line 3961 of file usp10.c.
Referenced by test_ScriptString().
HRESULT WINAPI ScriptStringOut | ( | SCRIPT_STRING_ANALYSIS | ssa, |
int | iX, | ||
int | iY, | ||
UINT | uOptions, | ||
const RECT * | prc, | ||
int | iMinSel, | ||
int | iMaxSel, | ||
BOOL | fDisabled | ||
) |
Definition at line 2366 of file usp10.c.
Referenced by EDIT_PaintLine(), and test_ScriptString().
HRESULT WINAPI ScriptStringValidate | ( | SCRIPT_STRING_ANALYSIS | ssa | ) |
HRESULT WINAPI ScriptStringXtoCP | ( | SCRIPT_STRING_ANALYSIS | ssa, |
int | iX, | ||
int * | piCh, | ||
int * | piTrailing | ||
) |
Definition at line 2474 of file usp10.c.
Referenced by EDIT_CharFromPos(), and test_ScriptStringXtoCP_CPtoX().
HRESULT WINAPI ScriptTextOut | ( | const HDC | hdc, |
SCRIPT_CACHE * | psc, | ||
int | x, | ||
int | y, | ||
UINT | fuOptions, | ||
const RECT * | lprc, | ||
const SCRIPT_ANALYSIS * | psa, | ||
const WCHAR * | pwcReserved, | ||
int | iReserved, | ||
const WORD * | pwGlyphs, | ||
int | cGlyphs, | ||
const int * | piAdvance, | ||
const int * | piJustify, | ||
const GOFFSET * | pGoffset | ||
) |
Definition at line 3595 of file usp10.c.