92 IDWriteRenderingParams3_AddRef(iface);
128 TRACE(
"%p.\n", iface);
137 TRACE(
"%p.\n", iface);
146 TRACE(
"%p.\n", iface);
148 return params->cleartype_level;
155 TRACE(
"%p.\n", iface);
173 return rendering_modes[
mode];
180 TRACE(
"%p.\n", iface);
189 TRACE(
"%p.\n", iface);
191 return params->grayscalecontrast;
198 TRACE(
"%p.\n", iface);
207 TRACE(
"%p.\n", iface);
241 if (!(
object =
malloc(
sizeof(*
object))))
245 object->refcount = 1;
247 object->gamma =
gamma;
255 *
params = &
object->IDWriteRenderingParams3_iface;
287 IDWriteLocalizedStrings_AddRef(iface);
331 TRACE(
"%p.\n", iface);
455 if (!(
object =
calloc(1,
sizeof(*
object))))
459 object->refcount = 1;
461 *
strings = &
object->IDWriteLocalizedStrings_iface;
508 if (!(strings_clone =
calloc(1,
sizeof(*strings_clone))))
512 sizeof(*strings_clone->
data)))
522 for (
i = 0;
i < strings_clone->
count; ++
i)
650 IDWriteFontCollectionLoader_Release(
loader->loader);
660 IDWriteFontCollection_Release(
factory->system_collections[
i]);
663 IDWriteFontCollection1_Release(
factory->eudc_collection);
667 factory->cs.DebugInfo->Spare[0] = 0;
723 if (
factory->system_collections[family_model])
724 return IDWriteFontCollection_QueryInterface(
factory->system_collections[family_model],
riid,
out);
728 WARN(
"Failed to create system font collection, hr %#lx.\n",
hr);
735 hr = IDWriteFontCollection_QueryInterface(
factory->system_collections[family_model],
riid,
out);
736 IDWriteFontCollection_Release(
factory->system_collections[family_model]);
755 IDWriteFactory7_AddRef(iface);
794 if (check_for_updates)
795 FIXME(
"checking for system font updates not implemented\n");
798 &IID_IDWriteFontCollection, (
void **)
collection);
821 key, key_size, &enumerator);
826 IDWriteFontFileEnumerator_Release(enumerator);
848 IDWriteFontCollectionLoader_AddRef(
loader);
869 IDWriteFontCollectionLoader_Release(found->
loader);
904 TRACE(
"%p, %p, %u, %p, %p.\n", iface, reference_key, key_size,
loader, font_file);
932 struct list *fontfaces;
940 hr = IDWriteFontFile_GetReferenceKey(*font_files, &
key, &key_size);
944 hr = IDWriteFontFile_GetLoader(*font_files, &
loader);
949 fontfaces = &
factory->localfontfaces;
950 IDWriteFontFileLoader_Release(
loader);
954 IDWriteFontFileLoader_Release(
loader);
966 UINT32 cached_key_size,
count = 1, cached_face_index;
968 const void *cached_key;
971 cached_face_index = IDWriteFontFace5_GetIndex(cached->
fontface);
972 cached_simulations = IDWriteFontFace5_GetSimulations(cached->
fontface);
975 if (cached_face_index !=
index || cached_simulations != simulations)
982 hr = IDWriteFontFile_GetReferenceKey(
file, &cached_key, &cached_key_size);
983 IDWriteFontFile_Release(
file);
987 if (cached_key_size == key_size && !
memcmp(cached_key,
key, key_size))
1009 if (!(cached =
malloc(
sizeof(*cached))))
1028 struct list *fontfaces;
1033 TRACE(
"%p, %d, %u, %p, %u, %#x, %p.\n", iface, req_facetype, files_number, font_files,
index,
1034 simulations, fontface);
1051 is_supported =
FALSE;
1057 if (!is_supported) {
1062 if (face_type != req_facetype) {
1068 &IID_IDWriteFontFace, (
void **)fontface);
1072 desc.factory = iface;
1073 desc.face_type = req_facetype;
1074 desc.file = *font_files;
1077 desc.simulations = simulations;
1082 IDWriteFontFileStream_Release(
stream);
1095 return IDWriteFactory7_CreateMonitorRenderingParams(iface, monitor,
params);
1102 static int fixme_once = 0;
1108 FIXME(
"(%p): monitor setting ignored\n", monitor);
1124 TRACE(
"%p, %.8e, %.8e, %.8e, %d, %d, %p.\n", iface, gamma, enhancedContrast, cleartype_level, geometry,
mode,
params);
1131 hr = IDWriteFactory7_CreateCustomRenderingParams(iface, gamma, enhancedContrast, 1.0f, cleartype_level, geometry,
1155 IDWriteFontFileLoader_AddRef(
loader);
1186 TRACE(
"%p, %s, %p, %d, %d, %d, %.8e, %s, %p.\n", iface,
debugstr_w(
family_name),
collection,
weight,
style, stretch,
1196 &IID_IDWriteFontCollection, (
void **)&
collection)))
1202 &IID_IDWriteTextFormat, (
void **)
format);
1209 TRACE(
"%p, %p.\n", iface, typography);
1219 TRACE(
"%p, %p.\n", iface, gdi_interop);
1222 IDWriteGdiInterop1_AddRef(
factory->gdiinterop);
1236 TRACE(
"%p, %s:%u, %p, %.8e, %.8e, %p.\n", iface,
debugstr_wn(
string,
length),
length,
format,
max_width,
max_height, layout);
1238 desc.factory = iface;
1257 TRACE(
"%p, %s:%u, %p, %.8e, %.8e, %.8e, %p, %d, %p.\n", iface,
debugstr_wn(
string,
length),
length,
format,
1260 desc.factory = iface;
1267 desc.ppdip = pixels_per_dip;
1276 TRACE(
"%p, %p, %p.\n", iface,
format, trimming_sign);
1283 TRACE(
"%p, %p.\n", iface, analyzer);
1306 TRACE(
"%p, %p, %.8e, %p, %d, %d, %.8e, %.8e, %p.\n", iface,
run, ppdip,
transform,
rendering_mode,
1309 if (ppdip <= 0.0f) {
1319 desc.transform = &
m;
1323 desc.aa_mode = DWRITE_TEXT_ANTIALIAS_MODE_CLEARTYPE;
1324 desc.origin.x = originX;
1325 desc.origin.y = originY;
1330 BOOL check_for_updates)
1337 if (check_for_updates)
1338 FIXME(
"checking for eudc updates not implemented\n");
1341 IDWriteFontCollection1_AddRef(
factory->eudc_collection);
1348 WARN(
"Failed to get EUDC collection, hr %#lx.\n",
hr);
1368 TRACE(
"%p, %.8e, %.8e, %.8e, %.8e, %d, %d, %p.\n", iface, gamma, enhcontrast, enhcontrast_grayscale,
1376 hr = IDWriteFactory7_CreateCustomRenderingParams(iface, gamma, enhcontrast, enhcontrast_grayscale,
1398 IDWriteFontFallback_AddRef(*
fallback);
1405 TRACE(
"%p, %p.\n", iface, fallbackbuilder);
1416 TRACE(
"%p, %.8e, %.8e, %p, %p, %d, %p, %u, %p.\n", iface, originX, originY, run, run_desc, measuring_mode,
1431 TRACE(
"%p, %.8e, %.8e, %.8e, %.8e, %d, %d, %d, %p.\n", iface, gamma, contrast, grayscalecontrast, cleartype_level,
1439 hr = IDWriteFactory7_CreateCustomRenderingParams(iface, gamma, contrast, grayscalecontrast,
1457 desc.origin.x = originX;
1458 desc.origin.y = originY;
1467 TRACE(
"%p, %p, %p, %d, %d, %d, %d, %.8e, %.8e, %p.\n", iface,
run,
transform,
rendering_mode,
measuring_mode,
1479 TRACE(
"%p, %p, %p, %d, %d, %d, %d, %.8e, %.8e, %p.\n", iface,
run,
transform,
rendering_mode,
measuring_mode,
1483 aa_mode, originX, originY, analysis);
1490 TRACE(
"%p, %.8e, %.8e, %.8e, %.8e, %d, %d, %d, %p.\n", iface, gamma, contrast, grayscale_contrast, cleartype_level,
1512 TRACE(
"%p, %s, %p, %u, %#x, %p.\n", iface,
debugstr_w(
path), writetime,
index, simulations,
reference);
1514 hr = IDWriteFactory7_CreateFontFileReference(iface,
path, writetime, &
file);
1522 IDWriteFontFile_Release(
file);
1528 unsigned int index = 0, value_size, max_name_count;
1531 size_t capacity = 0,
count = 0;
1541 value_size =
MAX_PATH *
sizeof(*value);
1551 value_size =
MAX_PATH *
sizeof(*value);
1557 name_count = max_name_count;
1558 data_size = value_size -
sizeof(*value);
1563 if (name_count >= max_name_count)
1565 max_name_count *= 2;
1570 if (data_size > value_size -
sizeof(*
value))
1573 value_size =
max(data_size +
sizeof(*
value), value_size * 2);
1582 value[data_size /
sizeof(*value)] = 0;
1657 if (
SUCCEEDED(
hr = IDWriteFontSetBuilder2_CreateFontSet(builder, &fontset)))
1659 hr = IDWriteFontSet_QueryInterface(fontset,
riid,
obj);
1660 IDWriteFontSet_Release(fontset);
1663 IDWriteFontSetBuilder2_Release(builder);
1670 TRACE(
"%p, %p.\n", iface, fontset);
1677 TRACE(
"%p, %p.\n", iface, builder);
1688 &IID_IDWriteFontCollection1, (
void **)
collection);
1696 TRACE(
"%p, %d, %p, %d.\n", iface, include_downloadable,
collection, check_for_updates);
1698 if (include_downloadable)
1699 FIXME(
"remote fonts are not supported\n");
1701 if (check_for_updates)
1702 FIXME(
"checking for system font updates not implemented\n");
1705 &IID_IDWriteFontCollection1, (
void **)
collection);
1720 TRACE(
"%p, %.8e, %.8e, %p, %p, %u, %d, %p, %u, %p.\n", iface,
origin.x,
origin.y, run, run_desc, desired_formats,
1737 origins[
i] = baseline_origin;
1775 TRACE(
"%p, %p, {%.8e,%.8e}, %p.\n", iface, run, baseline_origin.
x, baseline_origin.
y, origins);
1784 TRACE(
"%p, %p, %d, {%.8e,%.8e}, %p, %p.\n", iface, run, measuring_mode, baseline_origin.
x, baseline_origin.
y,
1792 TRACE(
"%p, %p.\n", iface, builder);
1816 TRACE(
"%p, %p, %u.\n", iface,
data, data_size);
1833 TRACE(
"%p, %p, %u, %#x, %p, %u, %p.\n", iface,
file, face_index,
simulations, axis_values, axis_values_count,
1850 TRACE(
"%p, %d, %p.\n", iface, include_downloadable, fontset);
1852 if (include_downloadable)
1853 FIXME(
"Downloadable fonts are not supported.\n");
1863 TRACE(
"%p, %d, %d, %p.\n", iface, include_downloadable, family_model,
collection);
1865 if (include_downloadable)
1866 FIXME(
"remote fonts are not supported\n");
1881 TRACE(
"%p, %p.\n", iface, builder);
1893 TRACE(
"%p, %s, %p, %p, %u, %.8e, %s, %p.\n", iface,
debugstr_w(
family_name),
collection, axis_values, num_axis,
1899 FIXME(
"Axis values are ignored.\n");
1906 &IID_IDWriteFontCollection, (
void **)&
collection)))
1920 TRACE(
"%p, %d, %p.\n", iface, include_downloadable, fontset);
1922 if (include_downloadable)
1923 FIXME(
"Downloadable fonts are not supported.\n");
1933 TRACE(
"%p, %d, %d, %p.\n", iface, include_downloadable, family_model,
collection);
1935 if (include_downloadable)
1936 FIXME(
"remote fonts are not supported\n");
2004 TRACE(
"%p.\n", iface);
2011 TRACE(
"%p.\n", iface);
2089 factory->cs.DebugInfo->Spare[0] = (
DWORD_PTR)(__FILE__
": dwritefactory.lock");
2100 IDWriteFactory7_Release(iface);
2107 IDWriteFactory7_Release(iface);
2134 hr = IDWriteFactory7_QueryInterface(&
factory->IDWriteFactory7_iface,
riid, (
void**)
ret);
2135 IDWriteFactory7_Release(&
factory->IDWriteFactory7_iface);
_STLP_MOVE_TO_STD_NAMESPACE void _STLP_CALL advance(_InputIterator &__i, _Distance __n)
void release_system_fontfallback(IDWriteFontFallback1 *iface)
void release_system_fallback_data(void)
HRESULT create_numbersubstitution(DWRITE_NUMBER_SUBSTITUTION_METHOD method, const WCHAR *locale, BOOL ignore_user_override, IDWriteNumberSubstitution **ret)
HRESULT create_system_fontfallback(IDWriteFactory7 *factory, IDWriteFontFallback1 **ret)
IDWriteTextAnalyzer2 * get_text_analyzer(void)
HRESULT create_fontfallback_builder(IDWriteFactory7 *factory, IDWriteFontFallbackBuilder **ret)
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static void list_remove(struct list_entry *entry)
static void list_add_tail(struct list_entry *head, struct list_entry *entry)
static void list_init(struct list_entry *head)
BOOL NTAPI DllMain(_In_ HINSTANCE hDll, _In_ ULONG dwReason, _In_opt_ PVOID pReserved)
#define RegCloseKey(hKey)
DWRITE_GLYPH_IMAGE_FORMATS
@ DWRITE_GLYPH_IMAGE_FORMATS_COLR
@ DWRITE_GLYPH_IMAGE_FORMATS_CFF
@ DWRITE_GLYPH_IMAGE_FORMATS_TRUETYPE
@ DWRITE_MEASURING_MODE_NATURAL
#define UNIX_CALL(func, params)
static NTSTATUS process_attach(void *args)
static struct localizedstrings * impl_from_IDWriteLocalizedStrings(IDWriteLocalizedStrings *iface)
static HRESULT WINAPI dwritefactory_CreateFontFace(IDWriteFactory7 *iface, DWRITE_FONT_FACE_TYPE req_facetype, UINT32 files_number, IDWriteFontFile *const *font_files, UINT32 index, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFace **fontface)
static UINT32 WINAPI localizedstrings_GetCount(IDWriteLocalizedStrings *iface)
static HRESULT WINAPI dwritefactory_RegisterFontCollectionLoader(IDWriteFactory7 *iface, IDWriteFontCollectionLoader *loader)
HRESULT create_system_fontset(IDWriteFactory7 *factory, REFIID riid, void **obj)
static struct collectionloader * factory_get_collection_loader(struct dwritefactory *factory, IDWriteFontCollectionLoader *loader)
static DWRITE_GRID_FIT_MODE WINAPI renderingparams2_GetGridFitMode(IDWriteRenderingParams3 *iface)
void factory_detach_fontcollection(IDWriteFactory7 *iface, IDWriteFontCollection3 *collection)
static int __cdecl localizedstrings_sorting_compare(const void *left, const void *right)
static ULONG WINAPI renderingparams_AddRef(IDWriteRenderingParams3 *iface)
static HRESULT WINAPI localizedstrings_FindLocaleName(IDWriteLocalizedStrings *iface, WCHAR const *locale_name, UINT32 *index, BOOL *exists)
static HRESULT WINAPI dwritefactory3_CreateFontCollectionFromFontSet(IDWriteFactory7 *iface, IDWriteFontSet *fontset, IDWriteFontCollection1 **collection)
static HRESULT WINAPI dwritefactory3_CreateGlyphRunAnalysis(IDWriteFactory7 *iface, DWRITE_GLYPH_RUN const *run, DWRITE_MATRIX const *transform, DWRITE_RENDERING_MODE1 rendering_mode, DWRITE_MEASURING_MODE measuring_mode, DWRITE_GRID_FIT_MODE gridfit_mode, DWRITE_TEXT_ANTIALIAS_MODE aa_mode, FLOAT originX, FLOAT originY, IDWriteGlyphRunAnalysis **analysis)
static struct renderingparams * impl_from_IDWriteRenderingParams3(IDWriteRenderingParams3 *iface)
static HRESULT WINAPI dwritefactory6_GetSystemFontCollection(IDWriteFactory7 *iface, BOOL include_downloadable, DWRITE_FONT_FAMILY_MODEL family_model, IDWriteFontCollection2 **collection)
static HRESULT WINAPI dwritefactory_CreateTextFormat(IDWriteFactory7 *iface, WCHAR const *family_name, IDWriteFontCollection *collection, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STYLE style, DWRITE_FONT_STRETCH stretch, FLOAT size, WCHAR const *locale, IDWriteTextFormat **format)
static void release_shared_factory(IDWriteFactory7 *factory)
static HRESULT WINAPI dwritefactory3_GetFontDownloadQueue(IDWriteFactory7 *iface, IDWriteFontDownloadQueue **queue)
static HRESULT WINAPI dwritefactory3_CreateFontFaceReference_(IDWriteFactory7 *iface, IDWriteFontFile *file, UINT32 index, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFaceReference **reference)
HRESULT add_localizedstring(IDWriteLocalizedStrings *iface, const WCHAR *locale, const WCHAR *string)
static HRESULT WINAPI dwritefactory_GetSystemFontCollection(IDWriteFactory7 *iface, IDWriteFontCollection **collection, BOOL check_for_updates)
static IDWriteFactory7 * shared_factory
static HRESULT WINAPI dwritefactory6_CreateTextFormat(IDWriteFactory7 *iface, const WCHAR *family_name, IDWriteFontCollection *collection, DWRITE_FONT_AXIS_VALUE const *axis_values, UINT32 num_axis, float size, const WCHAR *locale, IDWriteTextFormat3 **format)
static DWRITE_RENDERING_MODE WINAPI renderingparams_GetRenderingMode(IDWriteRenderingParams3 *iface)
static const IDWriteLocalizedStringsVtbl localizedstringsvtbl
static HRESULT WINAPI dwritefactory6_CreateFontFaceReference(IDWriteFactory7 *iface, IDWriteFontFile *file, UINT32 face_index, DWRITE_FONT_SIMULATIONS simulations, DWRITE_FONT_AXIS_VALUE const *axis_values, UINT32 axis_values_count, IDWriteFontFaceReference1 **reference)
HRESULT factory_get_cached_fontface(IDWriteFactory7 *iface, IDWriteFontFile *const *font_files, UINT32 index, DWRITE_FONT_SIMULATIONS simulations, struct list **cached_list, REFIID riid, void **obj)
static HRESULT WINAPI localizedstrings_GetLocaleNameLength(IDWriteLocalizedStrings *iface, UINT32 index, UINT32 *length)
static ULONG WINAPI localizedstrings_Release(IDWriteLocalizedStrings *iface)
struct fontfacecached * factory_cache_fontface(IDWriteFactory7 *iface, struct list *fontfaces, IDWriteFontFace5 *fontface)
static HRESULT WINAPI localizedstrings_GetString(IDWriteLocalizedStrings *iface, UINT32 index, WCHAR *buffer, UINT32 size)
static HRESULT WINAPI dwritefactory3_CreateCustomRenderingParams(IDWriteFactory7 *iface, FLOAT gamma, FLOAT contrast, FLOAT grayscale_contrast, FLOAT cleartype_level, DWRITE_PIXEL_GEOMETRY pixel_geometry, DWRITE_RENDERING_MODE1 rendering_mode, DWRITE_GRID_FIT_MODE gridfit_mode, IDWriteRenderingParams3 **params)
static float WINAPI renderingparams_GetGamma(IDWriteRenderingParams3 *iface)
static HRESULT create_system_path_list(WCHAR ***ret, unsigned int *ret_count)
static HRESULT WINAPI dwritefactory_CreateGdiCompatibleTextLayout(IDWriteFactory7 *iface, WCHAR const *string, UINT32 length, IDWriteTextFormat *format, FLOAT max_width, FLOAT max_height, FLOAT pixels_per_dip, DWRITE_MATRIX const *transform, BOOL use_gdi_natural, IDWriteTextLayout **layout)
static ULONG WINAPI dwritefactory_AddRef(IDWriteFactory7 *iface)
static HRESULT WINAPI dwritefactory6_CreateFontSetBuilder(IDWriteFactory7 *iface, IDWriteFontSetBuilder2 **builder)
static HRESULT WINAPI dwritefactory_UnregisterFontCollectionLoader(IDWriteFactory7 *iface, IDWriteFontCollectionLoader *loader)
static HRESULT WINAPI dwritefactory2_CreateCustomRenderingParams(IDWriteFactory7 *iface, FLOAT gamma, FLOAT contrast, FLOAT grayscalecontrast, FLOAT cleartype_level, DWRITE_PIXEL_GEOMETRY geometry, DWRITE_RENDERING_MODE mode, DWRITE_GRID_FIT_MODE gridfit, IDWriteRenderingParams2 **params)
static ULONG WINAPI localizedstrings_AddRef(IDWriteLocalizedStrings *iface)
static HRESULT WINAPI dwritefactory2_CreateFontFallbackBuilder(IDWriteFactory7 *iface, IDWriteFontFallbackBuilder **fallbackbuilder)
static HRESULT WINAPI dwritefactory5_CreateFontSetBuilder(IDWriteFactory7 *iface, IDWriteFontSetBuilder1 **builder)
void sort_localizedstrings(IDWriteLocalizedStrings *iface)
static HRESULT WINAPI dwritefactory5_CreateHttpFontFileLoader(IDWriteFactory7 *iface, WCHAR const *referrer_url, WCHAR const *extra_headers, IDWriteRemoteFontFileLoader **loader)
static const IDWriteRenderingParams3Vtbl renderingparamsvtbl
static DWRITE_PIXEL_GEOMETRY WINAPI renderingparams_GetPixelGeometry(IDWriteRenderingParams3 *iface)
static void init_dwritefactory(struct dwritefactory *factory, DWRITE_FACTORY_TYPE type)
static HRESULT WINAPI dwritefactory7_GetSystemFontSet(IDWriteFactory7 *iface, BOOL include_downloadable, IDWriteFontSet2 **fontset)
static HRESULT WINAPI dwritefactory3_GetSystemFontCollection(IDWriteFactory7 *iface, BOOL include_downloadable, IDWriteFontCollection1 **collection, BOOL check_for_updates)
static HRESULT WINAPI renderingparams_QueryInterface(IDWriteRenderingParams3 *iface, REFIID riid, void **obj)
static float WINAPI renderingparams_GetEnhancedContrast(IDWriteRenderingParams3 *iface)
static HRESULT WINAPI dwritefactory_CreateFontFileReference(IDWriteFactory7 *iface, WCHAR const *path, FILETIME const *writetime, IDWriteFontFile **font_file)
static HRESULT WINAPI dwritefactory6_CreateFontCollectionFromFontSet(IDWriteFactory7 *iface, IDWriteFontSet *fontset, DWRITE_FONT_FAMILY_MODEL family_model, IDWriteFontCollection2 **collection)
static HRESULT WINAPI dwritefactory_UnregisterFontFileLoader(IDWriteFactory7 *iface, IDWriteFontFileLoader *loader)
static HRESULT WINAPI dwritefactory5_UnpackFontFile(IDWriteFactory7 *iface, DWRITE_CONTAINER_TYPE container_type, void const *data, UINT32 data_size, IDWriteFontFileStream **stream)
static HRESULT WINAPI dwritefactory1_CreateCustomRenderingParams(IDWriteFactory7 *iface, FLOAT gamma, FLOAT enhcontrast, FLOAT enhcontrast_grayscale, FLOAT cleartype_level, DWRITE_PIXEL_GEOMETRY geometry, DWRITE_RENDERING_MODE mode, IDWriteRenderingParams1 **params)
HRESULT WINAPI DWriteCreateFactory(DWRITE_FACTORY_TYPE type, REFIID riid, IUnknown **ret)
static HRESULT WINAPI dwritefactory3_CreateFontFaceReference(IDWriteFactory7 *iface, WCHAR const *path, FILETIME const *writetime, UINT32 index, DWRITE_FONT_SIMULATIONS simulations, IDWriteFontFaceReference **reference)
void factory_lock(IDWriteFactory7 *iface)
static HRESULT WINAPI dwritefactory4_TranslateColorGlyphRun(IDWriteFactory7 *iface, D2D1_POINT_2F origin, DWRITE_GLYPH_RUN const *run, DWRITE_GLYPH_RUN_DESCRIPTION const *run_desc, DWRITE_GLYPH_IMAGE_FORMATS desired_formats, DWRITE_MEASURING_MODE measuring_mode, DWRITE_MATRIX const *transform, UINT32 palette, IDWriteColorGlyphRunEnumerator1 **layers)
void factory_unlock(IDWriteFactory7 *iface)
HRESULT create_localizedstrings(IDWriteLocalizedStrings **strings)
static const IDWriteFactory7Vtbl dwritefactoryvtbl
static HRESULT WINAPI dwritefactory2_TranslateColorGlyphRun(IDWriteFactory7 *iface, FLOAT originX, FLOAT originY, const DWRITE_GLYPH_RUN *run, const DWRITE_GLYPH_RUN_DESCRIPTION *run_desc, DWRITE_MEASURING_MODE measuring_mode, const DWRITE_MATRIX *transform, UINT32 palette, IDWriteColorGlyphRunEnumerator **layers)
static HRESULT WINAPI dwritefactory1_GetEudcFontCollection(IDWriteFactory7 *iface, IDWriteFontCollection **collection, BOOL check_for_updates)
static HRESULT WINAPI dwritefactory4_ComputeGlyphOrigins_(IDWriteFactory7 *iface, DWRITE_GLYPH_RUN const *run, D2D1_POINT_2F baseline_origin, D2D1_POINT_2F *origins)
static HRESULT create_renderingparams(float gamma, float contrast, float grayscalecontrast, float cleartype_level, DWRITE_PIXEL_GEOMETRY geometry, DWRITE_RENDERING_MODE1 mode, DWRITE_GRID_FIT_MODE gridfit, IDWriteRenderingParams3 **params)
static HRESULT WINAPI localizedstrings_GetStringLength(IDWriteLocalizedStrings *iface, UINT32 index, UINT32 *length)
static HRESULT WINAPI dwritefactory_CreateCustomFontFileReference(IDWriteFactory7 *iface, void const *reference_key, UINT32 key_size, IDWriteFontFileLoader *loader, IDWriteFontFile **font_file)
static HRESULT WINAPI dwritefactory_CreateGlyphRunAnalysis(IDWriteFactory7 *iface, DWRITE_GLYPH_RUN const *run, FLOAT ppdip, DWRITE_MATRIX const *transform, DWRITE_RENDERING_MODE rendering_mode, DWRITE_MEASURING_MODE measuring_mode, FLOAT originX, FLOAT originY, IDWriteGlyphRunAnalysis **analysis)
static HRESULT WINAPI dwritefactory_CreateCustomFontCollection(IDWriteFactory7 *iface, IDWriteFontCollectionLoader *loader, void const *key, UINT32 key_size, IDWriteFontCollection **collection)
HRESULT compute_glyph_origins(DWRITE_GLYPH_RUN const *run, DWRITE_MEASURING_MODE measuring_mode, D2D1_POINT_2F baseline_origin, DWRITE_MATRIX const *transform, D2D1_POINT_2F *origins)
static HRESULT WINAPI dwritefactory7_GetSystemFontCollection(IDWriteFactory7 *iface, BOOL include_downloadable, DWRITE_FONT_FAMILY_MODEL family_model, IDWriteFontCollection3 **collection)
static void release_dwritefactory(struct dwritefactory *factory)
static HRESULT WINAPI dwritefactory_QueryInterface(IDWriteFactory7 *iface, REFIID riid, void **obj)
static HRESULT WINAPI dwritefactory_RegisterFontFileLoader(IDWriteFactory7 *iface, IDWriteFontFileLoader *loader)
static HRESULT WINAPI localizedstrings_QueryInterface(IDWriteLocalizedStrings *iface, REFIID riid, void **obj)
static HRESULT WINAPI dwritefactory_CreateTextAnalyzer(IDWriteFactory7 *iface, IDWriteTextAnalyzer **analyzer)
unsigned int get_localizedstrings_count(IDWriteLocalizedStrings *iface)
static HRESULT factory_get_system_collection(struct dwritefactory *factory, DWRITE_FONT_FAMILY_MODEL family_model, REFIID riid, void **out)
static HRESULT WINAPI dwritefactory_CreateTypography(IDWriteFactory7 *iface, IDWriteTypography **typography)
static ULONG WINAPI shareddwritefactory_AddRef(IDWriteFactory7 *iface)
static float WINAPI renderingparams1_GetGrayscaleEnhancedContrast(IDWriteRenderingParams3 *iface)
static HRESULT WINAPI dwritefactory6_GetSystemFontSet(IDWriteFactory7 *iface, BOOL include_downloadable, IDWriteFontSet1 **fontset)
HRESULT clone_localizedstrings(IDWriteLocalizedStrings *iface, IDWriteLocalizedStrings **ret)
static void release_fileloader(struct fileloader *fileloader)
static HRESULT WINAPI dwritefactory_CreateEllipsisTrimmingSign(IDWriteFactory7 *iface, IDWriteTextFormat *format, IDWriteInlineObject **trimming_sign)
static HRESULT WINAPI dwritefactory_CreateCustomRenderingParams(IDWriteFactory7 *iface, FLOAT gamma, FLOAT enhancedContrast, FLOAT cleartype_level, DWRITE_PIXEL_GEOMETRY geometry, DWRITE_RENDERING_MODE mode, IDWriteRenderingParams **params)
static HRESULT WINAPI dwritefactory_GetGdiInterop(IDWriteFactory7 *iface, IDWriteGdiInterop **gdi_interop)
static HRESULT factory_create_glyphrun_analysis(const DWRITE_GLYPH_RUN *run, const DWRITE_MATRIX *transform, DWRITE_RENDERING_MODE1 rendering_mode, DWRITE_MEASURING_MODE measuring_mode, DWRITE_GRID_FIT_MODE gridfit_mode, DWRITE_TEXT_ANTIALIAS_MODE aa_mode, FLOAT originX, FLOAT originY, IDWriteGlyphRunAnalysis **analysis)
static HRESULT WINAPI dwritefactory5_CreateInMemoryFontFileLoader(IDWriteFactory7 *iface, IDWriteInMemoryFontFileLoader **loader)
static HRESULT WINAPI dwritefactory_CreateNumberSubstitution(IDWriteFactory7 *iface, DWRITE_NUMBER_SUBSTITUTION_METHOD method, WCHAR const *locale, BOOL ignore_user_override, IDWriteNumberSubstitution **substitution)
static DWRITE_CONTAINER_TYPE WINAPI dwritefactory5_AnalyzeContainerType(IDWriteFactory7 *iface, void const *data, UINT32 data_size)
static const IDWriteFactory7Vtbl shareddwritefactoryvtbl
static ULONG WINAPI shareddwritefactory_Release(IDWriteFactory7 *iface)
static HRESULT WINAPI localizedstrings_GetLocaleName(IDWriteLocalizedStrings *iface, UINT32 index, WCHAR *buffer, UINT32 size)
static HRESULT WINAPI dwritefactory2_CreateGlyphRunAnalysis(IDWriteFactory7 *iface, const DWRITE_GLYPH_RUN *run, const DWRITE_MATRIX *transform, DWRITE_RENDERING_MODE rendering_mode, DWRITE_MEASURING_MODE measuring_mode, DWRITE_GRID_FIT_MODE gridfit_mode, DWRITE_TEXT_ANTIALIAS_MODE aa_mode, FLOAT originX, FLOAT originY, IDWriteGlyphRunAnalysis **analysis)
static struct fileloader * factory_get_file_loader(struct dwritefactory *factory, IDWriteFontFileLoader *loader)
static int __cdecl create_system_fontset_compare(const void *left, const void *right)
static float WINAPI renderingparams_GetClearTypeLevel(IDWriteRenderingParams3 *iface)
static HRESULT WINAPI dwritefactory6_CreateFontResource(IDWriteFactory7 *iface, IDWriteFontFile *file, UINT32 face_index, IDWriteFontResource **resource)
static void release_fontface_cache(struct list *fontfaces)
static HRESULT WINAPI dwritefactory_CreateTextLayout(IDWriteFactory7 *iface, WCHAR const *string, UINT32 length, IDWriteTextFormat *format, FLOAT max_width, FLOAT max_height, IDWriteTextLayout **layout)
static struct dwritefactory * impl_from_IDWriteFactory7(IDWriteFactory7 *iface)
void set_en_localizedstring(IDWriteLocalizedStrings *iface, const WCHAR *string)
static HRESULT WINAPI dwritefactory4_ComputeGlyphOrigins(IDWriteFactory7 *iface, DWRITE_GLYPH_RUN const *run, DWRITE_MEASURING_MODE measuring_mode, D2D1_POINT_2F baseline_origin, DWRITE_MATRIX const *transform, D2D1_POINT_2F *origins)
static DWRITE_RENDERING_MODE rendering_mode_from_mode1(DWRITE_RENDERING_MODE1 mode)
static HRESULT WINAPI dwritefactory3_GetSystemFontSet(IDWriteFactory7 *iface, IDWriteFontSet **fontset)
static DWRITE_RENDERING_MODE1 WINAPI renderingparams3_GetRenderingMode1(IDWriteRenderingParams3 *iface)
static ULONG WINAPI renderingparams_Release(IDWriteRenderingParams3 *iface)
static HRESULT WINAPI dwritefactory_CreateRenderingParams(IDWriteFactory7 *iface, IDWriteRenderingParams **params)
static ULONG WINAPI dwritefactory_Release(IDWriteFactory7 *iface)
void factory_detach_gdiinterop(IDWriteFactory7 *iface, IDWriteGdiInterop1 *interop)
static HRESULT WINAPI dwritefactory3_CreateFontSetBuilder(IDWriteFactory7 *iface, IDWriteFontSetBuilder **builder)
static HRESULT WINAPI dwritefactory2_GetSystemFontFallback(IDWriteFactory7 *iface, IDWriteFontFallback **fallback)
BOOL localizedstrings_contains(IDWriteLocalizedStrings *iface, const WCHAR *str)
static HRESULT WINAPI dwritefactory_CreateMonitorRenderingParams(IDWriteFactory7 *iface, HMONITOR monitor, IDWriteRenderingParams **params)
LONG WINAPI RegOpenKeyExA(_In_ HKEY hKey, _In_ LPCSTR lpSubKey, _In_ DWORD ulOptions, _In_ REGSAM samDesired, _Out_ PHKEY phkResult)
LONG WINAPI RegEnumValueW(_In_ HKEY hKey, _In_ DWORD index, _Out_ LPWSTR value, _Inout_ PDWORD val_count, _Reserved_ PDWORD reserved, _Out_opt_ PDWORD type, _Out_opt_ LPBYTE data, _Inout_opt_ PDWORD count)
static WCHAR reason[MAX_STRING_RESOURCE_LEN]
#define DLL_PROCESS_ATTACH
#define DLL_PROCESS_DETACH
BOOL WINAPI DisableThreadLibraryCalls(IN HMODULE hLibModule)
UINT WINAPI GetWindowsDirectoryW(OUT LPWSTR lpBuffer, IN UINT uSize)
BOOL WINAPI InitializeCriticalSectionEx(OUT LPCRITICAL_SECTION lpCriticalSection, IN DWORD dwSpinCount, IN DWORD flags)
static void process_detach(void)
_ACRTIMP size_t __cdecl wcslen(const wchar_t *)
_ACRTIMP int __cdecl wcscmp(const wchar_t *, const wchar_t *)
_ACRTIMP int __cdecl memcmp(const void *, const void *, size_t)
_ACRTIMP void __cdecl qsort(void *, size_t, size_t, int(__cdecl *)(const void *, const void *))
static wchar_t * wcslwr(wchar_t *str)
static wchar_t * wcsdup(const wchar_t *str)
@ DWRITE_PIXEL_GEOMETRY_FLAT
@ DWRITE_PIXEL_GEOMETRY_BGR
@ DWRITE_RENDERING_MODE_GDI_NATURAL
@ DWRITE_RENDERING_MODE_OUTLINE
@ DWRITE_RENDERING_MODE_GDI_CLASSIC
@ DWRITE_RENDERING_MODE_NATURAL
@ DWRITE_RENDERING_MODE_DEFAULT
@ DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC
@ DWRITE_RENDERING_MODE_ALIASED
DWRITE_NUMBER_SUBSTITUTION_METHOD
@ DWRITE_FONT_FACE_TYPE_OPENTYPE_COLLECTION
@ DWRITE_FONT_FACE_TYPE_UNKNOWN
@ DWRITE_FONT_WEIGHT_NORMAL
@ DWRITE_FONT_STYLE_NORMAL
@ DWRITE_FACTORY_TYPE_SHARED
@ DWRITE_FONT_STRETCH_NORMAL
@ DWRITE_GRID_FIT_MODE_DEFAULT
@ DWRITE_GRID_FIT_MODE_ENABLED
@ DWRITE_FONT_FAMILY_MODEL_TYPOGRAPHIC
@ DWRITE_FONT_FAMILY_MODEL_WEIGHT_STRETCH_STYLE
@ DWRITE_RENDERING_MODE1_DEFAULT
HRESULT create_gdiinterop(IDWriteFactory7 *factory, IDWriteGdiInterop1 **interop)
HRESULT create_font_collection(IDWriteFactory7 *factory, IDWriteFontFileEnumerator *enumerator, BOOL is_system, IDWriteFontCollection3 **collection)
HRESULT get_local_refkey(const WCHAR *, const FILETIME *, void **, UINT32 *)
float fontface_get_scaled_design_advance(struct dwrite_fontface *fontface, DWRITE_MEASURING_MODE measuring_mode, float emsize, float ppdip, const DWRITE_MATRIX *transform, UINT16 glyph, BOOL is_sideways)
HRESULT create_typography(IDWriteTypography **)
HRESULT get_filestream_from_file(IDWriteFontFile *, IDWriteFontFileStream **)
DWRITE_CONTAINER_TYPE opentype_analyze_container_type(void const *, UINT32)
HRESULT create_glyphrunanalysis(const struct glyphrunanalysis_desc *, IDWriteGlyphRunAnalysis **)
HRESULT get_eudc_fontcollection(IDWriteFactory7 *factory, IDWriteFontCollection3 **collection)
void fontface_detach_from_cache(IDWriteFontFace5 *fontface)
static BOOL is_simulation_valid(DWRITE_FONT_SIMULATIONS simulations)
HRESULT get_system_fontcollection(IDWriteFactory7 *factory, DWRITE_FONT_FAMILY_MODEL family_model, IDWriteFontCollection **collection)
HRESULT create_textlayout(const struct textlayout_desc *, IDWriteTextLayout **)
HRESULT opentype_analyze_font(IDWriteFontFileStream *, BOOL *, DWRITE_FONT_FILE_TYPE *, DWRITE_FONT_FACE_TYPE *, UINT32 *)
HRESULT create_fontface(const struct fontface_desc *desc, struct list *cached_list, IDWriteFontFace5 **fontface)
void init_local_fontfile_loader(void)
HRESULT create_inmemory_fileloader(IDWriteInMemoryFontFileLoader **loader)
HRESULT create_trimmingsign(IDWriteFactory7 *factory, IDWriteTextFormat *format, IDWriteInlineObject **sign)
HRESULT create_font_file(IDWriteFontFileLoader *loader, const void *reference_key, UINT32 key_size, IDWriteFontFile **font_file)
struct dwrite_fontface * unsafe_impl_from_IDWriteFontFace(IDWriteFontFace *iface)
HRESULT create_text_format(const WCHAR *family_name, IDWriteFontCollection *collection, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STYLE style, DWRITE_FONT_STRETCH stretch, float size, const WCHAR *locale, REFIID riid, void **out)
static BOOL dwrite_array_reserve(void **elements, size_t *capacity, size_t count, size_t size)
HRESULT create_fontset_builder(IDWriteFactory7 *factory, IDWriteFontSetBuilder2 **ret)
IDWriteFontFileLoader * get_local_fontfile_loader(void)
static void dwrite_matrix_multiply(DWRITE_MATRIX *a, const DWRITE_MATRIX *b)
HRESULT create_colorglyphenum(D2D1_POINT_2F origin, const DWRITE_GLYPH_RUN *run, const DWRITE_GLYPH_RUN_DESCRIPTION *desc, DWRITE_GLYPH_IMAGE_FORMATS formats, DWRITE_MEASURING_MODE mode, const DWRITE_MATRIX *transform, UINT32 palette, IDWriteColorGlyphRunEnumerator1 **enumerator)
HRESULT create_fontfacereference(IDWriteFactory7 *factory, IDWriteFontFile *file, UINT32 face_index, DWRITE_FONT_SIMULATIONS simulations, DWRITE_FONT_AXIS_VALUE const *axis_values, UINT32 axis_values_count, IDWriteFontFaceReference1 **reference)
BOOL is_face_type_supported(DWRITE_FONT_FACE_TYPE)
HRESULT create_font_resource(IDWriteFactory7 *factory, IDWriteFontFile *file, UINT32 face_index, IDWriteFontResource **resource)
HRESULT create_font_collection_from_set(IDWriteFactory7 *factory, IDWriteFontSet *set, DWRITE_FONT_FAMILY_MODEL family_model, REFGUID riid, void **ret)
static const DWRITE_MATRIX identity
GLuint GLuint GLsizei count
GLuint GLuint GLsizei GLenum type
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLdouble GLdouble GLdouble r
GLuint GLenum GLenum transform
GLenum GLenum GLenum GLenum GLenum scale
GLsizei const GLchar *const * strings
GLenum const GLfloat * params
GLuint GLsizei GLsizei * length
GLsizei const GLuint * paths
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
#define InterlockedCompareExchangePointer
D3D11_SHADER_VARIABLE_DESC desc
HMONITOR WINAPI MonitorFromPoint(POINT, DWORD)
#define IsEqualIID(riid1, riid2)
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
#define LIST_FOR_EACH_ENTRY_SAFE(cursor, cursor2, list, type, field)
FD_TYPE file_type(FDSC **curr, char *fixed)
IDWriteFontFace * fontFace
DWRITE_GLYPH_OFFSET const * glyphOffsets
UINT16 const * glyphIndices
FLOAT const * glyphAdvances
IDWriteFontCollectionLoader * loader
IDWriteFontCollection * system_collections[DWRITE_FONT_FAMILY_MODEL_WEIGHT_STRETCH_STYLE+1]
struct list collection_loaders
IDWriteFontFallback1 * fallback
struct list localfontfaces
IDWriteFontCollection1 * eudc_collection
IDWriteFactory7 IDWriteFactory7_iface
IDWriteGdiInterop1 * gdiinterop
IDWriteFontFileLoader * localfontfileloader
IDWriteFontFileLoader * loader
IDWriteFontFace5 * fontface
DWRITE_GRID_FIT_MODE gridfit_mode
DWRITE_TEXT_ANTIALIAS_MODE aa_mode
DWRITE_RENDERING_MODE1 rendering_mode
const DWRITE_GLYPH_RUN * run
DWRITE_MEASURING_MODE measuring_mode
IDWriteLocalizedStrings IDWriteLocalizedStrings_iface
struct localizedpair * data
DWRITE_GRID_FIT_MODE gridfit
IDWriteRenderingParams3 IDWriteRenderingParams3_iface
DWRITE_RENDERING_MODE1 mode
DWRITE_PIXEL_GEOMETRY geometry
IDWriteTextFormat * format
T1_FIELD_DICT_FONTDICT family_name
#define CONTAINING_RECORD(address, type, field)
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
#define __wine_init_unix_call()
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)
#define E_NOT_SUFFICIENT_BUFFER
#define DWRITE_E_ALREADYREGISTERED
#define DWRITE_E_FILEFORMAT
#define RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO
#define HKEY_LOCAL_MACHINE