19#ifndef __WINE_DWRITE_PRIVATE_H
20#define __WINE_DWRITE_PRIVATE_H
28#include "wine/rbtree.h"
30#define MS_GSUB_TAG DWRITE_MAKE_OPENTYPE_TAG('G','S','U','B')
31#define MS_GPOS_TAG DWRITE_MAKE_OPENTYPE_TAG('G','P','O','S')
78 if (!
m)
return "(null)";
79 return wine_dbg_sprintf(
"{%.2f,%.2f,%.2f,%.2f,%.2f,%.2f}",
m->m11,
m->m12,
m->m21,
m->m22,
85 size_t new_capacity, max_capacity;
88 if (
count <= *capacity)
92 if (
count > max_capacity)
95 new_capacity =
max(4, *capacity);
96 while (new_capacity <
count && new_capacity <= max_capacity / 2)
98 if (new_capacity <
count)
99 new_capacity = max_capacity;
101 new_elements =
realloc(*elements, new_capacity *
size);
105 *elements = new_elements;
106 *capacity = new_capacity;
133 a->m11 = tmp.
m11 *
b->m11 + tmp.
m12 *
b->m21;
134 a->m12 = tmp.
m11 *
b->m12 + tmp.
m12 *
b->m22;
135 a->m21 = tmp.
m21 *
b->m11 + tmp.
m22 *
b->m21;
136 a->m22 = tmp.
m21 *
b->m12 + tmp.
m22 *
b->m22;
137 a->dx = tmp.
dx *
b->m11 + tmp.
dy *
b->m21 +
b->dx;
138 a->dy = tmp.
dy *
b->m12 + tmp.
dy *
b->m22 +
b->dx;
192#define GLYPH_BLOCK_SHIFT 8
193#define GLYPH_BLOCK_SIZE (1UL << GLYPH_BLOCK_SHIFT)
194#define GLYPH_BLOCK_MASK (GLYPH_BLOCK_SIZE - 1)
195#define GLYPH_MAX 65536
515 unsigned int *descent);
528 unsigned int first_entry_index,
unsigned int entry_count,
DWRITE_COLOR_F *entries);
535 unsigned int *axis_count);
699#define MAX_SHAPING_STAGE 16
820 DWORD tag,
unsigned int *script_index);
822 DWORD tag,
unsigned int script_index,
unsigned int *language_index);
841 unsigned int tag,
unsigned int glyph_count,
const UINT16 *glyphs,
UINT8 *feature_applies);
843struct font_data_context;
COMPILER_DEPENDENT_UINT64 UINT64
_Check_return_ _Ret_maybenull_ _In_ size_t alignment
DWRITE_GLYPH_IMAGE_FORMATS
static const struct pixel_format_desc formats[]
const char * wine_dbg_sprintf(const char *format,...)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
DWRITE_PARAGRAPH_ALIGNMENT
DWRITE_NUMBER_SUBSTITUTION_METHOD
DWRITE_INFORMATIONAL_STRING_ID
@ DWRITE_INFORMATIONAL_STRING_SUPPORTED_SCRIPT_LANGUAGE_TAG
@ DWRITE_FONT_SIMULATIONS_OBLIQUE
@ DWRITE_FONT_SIMULATIONS_NONE
@ DWRITE_FONT_SIMULATIONS_BOLD
DWRITE_VERTICAL_GLYPH_ORIENTATION
DWRITE_AUTOMATIC_FONT_AXES
struct FONTSIGNATURE FONTSIGNATURE
struct fontfacecached * factory_cache_fontface(IDWriteFactory7 *factory, struct list *fontfaces, IDWriteFontFace5 *fontface)
HRESULT opentype_get_cpal_entries(const struct dwrite_fonttable *table, unsigned int palette, unsigned int first_entry_index, unsigned int entry_count, DWRITE_COLOR_F *entries)
HRESULT create_system_fontset(IDWriteFactory7 *factory, REFIID riid, void **obj)
HRESULT format_set_textalignment(struct dwrite_textformat_data *format, DWRITE_TEXT_ALIGNMENT alignment, BOOL *changed)
HRESULT format_set_trimming(struct dwrite_textformat_data *format, DWRITE_TRIMMING const *trimming, IDWriteInlineObject *trimming_sign, BOOL *changed)
unsigned int get_localizedstrings_count(IDWriteLocalizedStrings *strings)
void shape_start_next_stage(struct shaping_features *features, stage_func func)
HRESULT create_gdiinterop(IDWriteFactory7 *factory, IDWriteGdiInterop1 **interop)
const struct shaper arabic_shaper
HRESULT get_fontsig_from_fontface(IDWriteFontFace *, FONTSIGNATURE *)
HRESULT format_get_font_axisvalues(struct dwrite_textformat_data *format, DWRITE_FONT_AXIS_VALUE *axis_values, unsigned int num_values)
HRESULT format_set_wordwrapping(struct dwrite_textformat_data *format, DWRITE_WORD_WRAPPING wrapping, BOOL *changed)
HRESULT create_font_collection(IDWriteFactory7 *factory, IDWriteFontFileEnumerator *enumerator, BOOL is_system, IDWriteFontCollection3 **collection)
BOOL opentype_layout_check_feature(struct scriptshaping_context *context, unsigned int script_index, unsigned int language_index, struct shaping_feature *feature, unsigned int glyph_count, const UINT16 *glyphs, UINT8 *feature_applies)
HRESULT format_set_font_axisvalues(struct dwrite_textformat_data *format, DWRITE_FONT_AXIS_VALUE const *axis_values, unsigned int num_values)
static const char * debugstr_range(const DWRITE_TEXT_RANGE *range)
unsigned int opentype_layout_find_language(const struct scriptshaping_cache *cache, unsigned int kind, DWORD tag, unsigned int script_index, unsigned int *language_index)
BOOL is_system_collection(IDWriteFontCollection *)
HRESULT get_local_refkey(const WCHAR *, const FILETIME *, void **, UINT32 *)
HRESULT format_set_fontfallback(struct dwrite_textformat_data *format, IDWriteFontFallback *fallback)
void(* p_apply_context_lookup)(struct scriptshaping_context *context, unsigned int lookup_index)
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 **)
struct dwrite_textformat * unsafe_impl_from_IDWriteTextFormat(IDWriteTextFormat *iface)
HRESULT opentype_get_font_var_axis(const struct file_stream_desc *stream_desc, struct dwrite_var_axis **axis, unsigned int *axis_count)
HRESULT format_set_linespacing(struct dwrite_textformat_data *format, DWRITE_LINE_SPACING const *spacing, BOOL *changed)
HRESULT opentype_get_font_info_strings(const struct file_stream_desc *stream_desc, DWRITE_INFORMATIONAL_STRING_ID id, IDWriteLocalizedStrings **strings)
unsigned int opentype_get_cpal_paletteentrycount(const struct dwrite_fonttable *table)
HRESULT get_filestream_from_file(IDWriteFontFile *, IDWriteFontFileStream **)
HRESULT format_set_paralignment(struct dwrite_textformat_data *format, DWRITE_PARAGRAPH_ALIGNMENT alignment, BOOL *changed)
void opentype_get_typographic_features(struct ot_gsubgpos_table *table, unsigned int script_index, unsigned int language_index, struct tag_array *tags)
DWRITE_CONTAINER_TYPE opentype_analyze_container_type(void const *, UINT32)
HRESULT create_glyphrunanalysis(const struct glyphrunanalysis_desc *, IDWriteGlyphRunAnalysis **)
void opentype_layout_apply_gpos_features(struct scriptshaping_context *context, unsigned int script_index, unsigned int language_index, struct shaping_features *features)
void opentype_layout_unsafe_to_break(struct scriptshaping_context *context, unsigned int start, unsigned int end)
UINT16(* p_cmap_get_glyph_func)(const struct dwrite_cmap *cmap, unsigned int ch)
void factory_detach_fontcollection(IDWriteFactory7 *factory, IDWriteFontCollection3 *collection)
HRESULT add_localizedstring(IDWriteLocalizedStrings *, const WCHAR *, const WCHAR *)
HRESULT create_numbersubstitution(DWRITE_NUMBER_SUBSTITUTION_METHOD, const WCHAR *locale, BOOL, IDWriteNumberSubstitution **)
BOOL opentype_get_vdmx_size(const struct dwrite_fonttable *table, INT ppem, UINT16 *ascent, UINT16 *descent)
static LPWSTR heap_strdupnW(const WCHAR *str, UINT32 len)
void get_logfont_from_fontface(IDWriteFontFace *, LOGFONTW *)
HRESULT format_get_fontfallback(const struct dwrite_textformat_data *format, IDWriteFontFallback **fallback)
void release_system_fallback_data(void)
@ GASP_SYMMETRIC_SMOOTHING
HRESULT opentype_get_font_facename(struct file_stream_desc *, WCHAR *, IDWriteLocalizedStrings **)
void set_en_localizedstring(IDWriteLocalizedStrings *, const WCHAR *)
BOOL localizedstrings_contains(IDWriteLocalizedStrings *strings, const WCHAR *str)
HRESULT get_eudc_fontcollection(IDWriteFactory7 *factory, IDWriteFontCollection3 **collection)
void fontface_detach_from_cache(IDWriteFontFace5 *fontface)
void release_format_data(struct dwrite_textformat_data *data)
void sort_localizedstrings(IDWriteLocalizedStrings *)
HRESULT create_localizedstrings(IDWriteLocalizedStrings **)
static BOOL is_simulation_valid(DWRITE_FONT_SIMULATIONS simulations)
HRESULT get_system_fontcollection(IDWriteFactory7 *factory, DWRITE_FONT_FAMILY_MODEL family_model, IDWriteFontCollection **collection)
HRESULT opentype_try_get_font_table(const struct file_stream_desc *stream_desc, UINT32 tag, const void **data, void **context, UINT32 *size, BOOL *exists)
UINT64(* p_dwrite_fontface_get_font_object)(struct dwrite_fontface *fontface)
void opentype_colr_next_glyph(const struct dwrite_fonttable *table, struct dwrite_colorglyph *color_glyph)
HRESULT create_textlayout(const struct textlayout_desc *, IDWriteTextLayout **)
void opentype_layout_apply_gsub_features(struct scriptshaping_context *context, unsigned int script_index, unsigned int language_index, struct shaping_features *features)
void shape_enable_feature(struct shaping_features *features, unsigned int tag, unsigned int flags)
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)
struct scriptshaping_cache * create_scriptshaping_cache(void *context, const struct shaping_font_ops *font_ops)
BOOL opentype_has_vertical_variants(struct dwrite_fontface *fontface)
HRESULT format_set_vertical_orientation(struct dwrite_textformat_data *format, DWRITE_VERTICAL_GLYPH_ORIENTATION orientation, BOOL *changed)
void factory_lock(IDWriteFactory7 *factory)
HRESULT create_inmemory_fileloader(IDWriteInMemoryFontFileLoader **loader)
HRESULT get_fontsig_from_font(IDWriteFont *, FONTSIGNATURE *)
void release_system_fontfallback(IDWriteFontFallback1 *fallback)
void opentype_get_font_typo_metrics(struct file_stream_desc *stream_desc, unsigned int *ascent, unsigned int *descent)
HRESULT shape_get_glyphs(struct scriptshaping_context *context, const unsigned int *scripts)
HRESULT opentype_get_colr_glyph(const struct dwrite_fonttable *table, UINT16 glyph, struct dwrite_colorglyph *color_glyph)
void dwrite_cmap_init(struct dwrite_cmap *cmap, IDWriteFontFile *file, unsigned int face_index, DWRITE_FONT_FACE_TYPE face_type)
HRESULT format_set_flowdirection(struct dwrite_textformat_data *format, DWRITE_FLOW_DIRECTION direction, BOOL *changed)
unsigned int opentype_layout_find_script(const struct scriptshaping_cache *cache, unsigned int kind, DWORD tag, unsigned int *script_index)
void factory_detach_gdiinterop(IDWriteFactory7 *factory, IDWriteGdiInterop1 *interop)
HRESULT format_set_optical_alignment(struct dwrite_textformat_data *format, DWRITE_OPTICAL_ALIGNMENT alignment)
void dwrite_fontface_get_glyph_bbox(IDWriteFontFace *fontface, struct dwrite_glyphbitmap *bitmap)
HRESULT factory_get_cached_fontface(IDWriteFactory7 *factory, IDWriteFontFile *const *files, UINT32 num_files, DWRITE_FONT_SIMULATIONS simulations, struct list **cache, REFIID riid, void **obj)
unsigned int(* p_cmap_get_ranges_func)(const struct dwrite_cmap *cmap, unsigned int max_count, DWRITE_UNICODE_RANGE *ranges)
HRESULT create_matching_font(IDWriteFontCollection *collection, const WCHAR *family, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STYLE style, DWRITE_FONT_STRETCH stretch, REFIID riid, void **obj)
BOOL lb_is_newline_char(WCHAR)
@ FONTFACE_VERTICAL_VARIANTS
@ FONTFACE_NO_VERTICAL_VARIANTS
@ FONTFACE_NO_KERNING_PAIRS
void release_scriptshaping_cache(struct scriptshaping_cache *)
HRESULT create_system_fontfallback(IDWriteFactory7 *factory, IDWriteFontFallback1 **fallback)
UINT16 opentype_cmap_get_glyph(const struct dwrite_cmap *cmap, unsigned int ch)
HRESULT get_family_names_from_stream(IDWriteFontFileStream *, UINT32, DWRITE_FONT_FACE_TYPE, IDWriteLocalizedStrings **)
UINT32 opentype_get_glyph_image_formats(IDWriteFontFace5 *fontface)
HRESULT create_trimmingsign(IDWriteFactory7 *factory, IDWriteTextFormat *format, IDWriteInlineObject **sign)
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)
struct scriptshaping_cache * fontface_get_shaping_cache(struct dwrite_fontface *fontface)
static unsigned short get_table_entry_16(const unsigned short *table, WCHAR ch)
unsigned int shape_get_feature_1_mask(const struct shaping_features *features, unsigned int tag)
static const char * debugstr_matrix(const DWRITE_MATRIX *m)
HRESULT bidi_computelevels(struct bidi_char *chars, unsigned int count, UINT8 baselevel)
unsigned int opentype_get_gasp_flags(const struct dwrite_fonttable *gasp, float emsize)
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)
static unsigned short get_table_entry_32(const unsigned short *table, UINT ch)
HRESULT create_fontfallback_builder(IDWriteFactory7 *factory, IDWriteFontFallbackBuilder **builder)
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)
HRESULT clone_localizedstrings(IDWriteLocalizedStrings *iface, IDWriteLocalizedStrings **strings)
static BOOL dwrite_array_reserve(void **elements, size_t *capacity, size_t count, size_t size)
HRESULT opentype_get_font_familyname(const struct file_stream_desc *desc, DWRITE_FONT_FAMILY_MODEL family_model, IDWriteLocalizedStrings **names)
IDWriteTextAnalyzer2 * get_text_analyzer(void)
HRESULT create_fontset_builder(IDWriteFactory7 *factory, IDWriteFontSetBuilder2 **ret)
IDWriteFontFileLoader * get_local_fontfile_loader(void)
HRESULT opentype_cmap_get_unicode_ranges(const struct dwrite_cmap *cmap, unsigned int max_count, DWRITE_UNICODE_RANGE *ranges, unsigned int *count)
unsigned int opentype_get_cpal_palettecount(const struct dwrite_fonttable *table)
void shape_add_feature_full(struct shaping_features *features, unsigned int tag, unsigned int flags, unsigned int value)
static void dwrite_matrix_multiply(DWRITE_MATRIX *a, const DWRITE_MATRIX *b)
void opentype_layout_scriptshaping_cache_init(struct scriptshaping_cache *cache)
void(* stage_func)(struct scriptshaping_context *context, const struct shaping_features *features)
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)
void get_logfont_from_font(IDWriteFont *, LOGFONTW *)
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)
HRESULT opentype_get_kerning_pairs(struct dwrite_fontface *fontface, unsigned int count, const UINT16 *glyphs, INT32 *values)
BOOL opentype_has_kerning_pairs(struct dwrite_fontface *fontface)
static const MATRIX_2X2 identity_2x2
void factory_unlock(IDWriteFactory7 *factory)
BOOL is_face_type_supported(DWRITE_FONT_FACE_TYPE)
HRESULT shape_get_typographic_features(struct scriptshaping_context *context, const unsigned int *scripts, unsigned int max_tagcount, unsigned int *actual_tagcount, DWRITE_FONT_FEATURE_TAG *tags)
HRESULT create_font_resource(IDWriteFactory7 *factory, IDWriteFontFile *file, UINT32 face_index, IDWriteFontResource **resource)
void dwrite_cmap_release(struct dwrite_cmap *cmap)
#define MAX_SHAPING_STAGE
@ SCRIPT_JUSTIFY_ARABIC_RA
@ SCRIPT_JUSTIFY_ARABIC_HA
@ SCRIPT_JUSTIFY_RESERVED3
@ SCRIPT_JUSTIFY_ARABIC_SEEN
@ SCRIPT_JUSTIFY_ARABIC_BLANK
@ SCRIPT_JUSTIFY_ARABIC_NORMAL
@ SCRIPT_JUSTIFY_RESERVED1
@ SCRIPT_JUSTIFY_ARABIC_BA
@ SCRIPT_JUSTIFY_RESERVED2
@ SCRIPT_JUSTIFY_ARABIC_SEEN_M
@ SCRIPT_JUSTIFY_ARABIC_BARA
@ SCRIPT_JUSTIFY_CHARACTER
@ SCRIPT_JUSTIFY_ARABIC_ALEF
@ SCRIPT_JUSTIFY_ARABIC_KASHIDA
void opentype_get_font_properties(const struct file_stream_desc *stream_desc, struct dwrite_font_props *props)
HRESULT create_font_collection_from_set(IDWriteFactory7 *factory, IDWriteFontSet *set, DWRITE_FONT_FAMILY_MODEL family_model, REFGUID riid, void **ret)
HRESULT shape_check_typographic_feature(struct scriptshaping_context *context, const unsigned int *scripts, unsigned int tag, unsigned int glyph_count, const UINT16 *glyphs, UINT8 *feature_applies)
const void * get_fontface_table(IDWriteFontFace5 *fontface, UINT32 tag, struct dwrite_fonttable *table)
HRESULT opentype_get_vertical_glyph_variants(struct dwrite_fontface *fontface, unsigned int glyph_count, const UINT16 *nominal_glyphs, UINT16 *glyphs)
const char * debugstr_sa_script(UINT16)
HRESULT format_set_readingdirection(struct dwrite_textformat_data *format, DWRITE_READING_DIRECTION direction, BOOL *changed)
void opentype_get_font_metrics(struct file_stream_desc *, DWRITE_FONT_METRICS1 *, DWRITE_CARET_METRICS *)
HRESULT shape_get_positions(struct scriptshaping_context *context, const unsigned int *scripts)
Character const *const size_t const max_count
GLuint GLuint GLsizei count
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLuint GLenum GLenum transform
GLsizei const GLchar *const * strings
GLboolean GLboolean GLboolean b
GLboolean GLenum GLenum GLvoid * values
GLboolean GLboolean GLboolean GLboolean a
#define memcpy(s1, s2, n)
D3D11_SHADER_VARIABLE_DESC desc
INTERNETFEATURELIST feature
const UINT16 * glyph_id_array
struct dwrite_cmap::@304::@306 format6_10
union dwrite_cmap::@304 u
const UINT16 * id_range_offset
unsigned int glyph_id_array_len
struct dwrite_cmap::@304::@305 format4
IDWriteFontFileStream * stream
struct dwrite_cmap::@304::@307 format12_13
p_cmap_get_glyph_func get_glyph
p_cmap_get_ranges_func get_ranges
DWRITE_FONT_WEIGHT weight
DWRITE_FONT_STRETCH stretch
UINT32 glyph_image_formats
DWRITE_FONT_METRICS1 metrics
struct dwrite_fontface::@309 typo_metrics
DWRITE_GLYPH_METRICS * glyphs[GLYPH_MAX/GLYPH_BLOCK_SIZE]
DWRITE_FONT_WEIGHT weight
IDWriteFontFaceReference IDWriteFontFaceReference_iface
IDWriteLocalizedStrings * info_strings[DWRITE_INFORMATIONAL_STRING_SUPPORTED_SCRIPT_LANGUAGE_TAG+1]
struct scriptshaping_cache * shaping_cache
DWRITE_CARET_METRICS caret
struct dwrite_fonttable kern
struct dwrite_fonttable cpal
struct dwrite_fonttable gasp
IDWriteFactory7 * factory
DWRITE_FONT_STRETCH stretch
struct dwrite_fonttable colr
struct fontfacecached * cached
IDWriteFontFace5 IDWriteFontFace5_iface
p_dwrite_fontface_get_font_object get_font_object
IDWriteLocalizedStrings * family_names
IDWriteFontFileStream * stream
DWRITE_FONT_FACE_TYPE type
IDWriteLocalizedStrings * names
struct dwrite_fontface::@308 cache
struct dwrite_fonttable vdmx
struct dwrite_outline::@311 points
struct dwrite_outline::@310 tags
DWRITE_WORD_WRAPPING wrapping
DWRITE_PARAGRAPH_ALIGNMENT paralign
DWRITE_FONT_WEIGHT weight
IDWriteInlineObject * trimmingsign
IDWriteFontCollection * collection
DWRITE_AUTOMATIC_FONT_AXES automatic_axes
DWRITE_FONT_STRETCH stretch
DWRITE_VERTICAL_GLYPH_ORIENTATION vertical_orientation
unsigned int axis_values_count
DWRITE_OPTICAL_ALIGNMENT optical_alignment
DWRITE_FONT_AXIS_VALUE * axis_values
DWRITE_LINE_SPACING spacing
DWRITE_READING_DIRECTION readingdir
DWRITE_TEXT_ALIGNMENT textalignment
DWRITE_FLOW_DIRECTION flow
IDWriteFontFallback * fallback
IDWriteTextFormat3 IDWriteTextFormat3_iface
DWRITE_FONT_FACE_TYPE face_type
IDWriteFontFileStream * stream
IDWriteFactory7 * factory
DWRITE_FONT_FACE_TYPE face_type
IDWriteFontFileStream * stream
DWRITE_FONT_SIMULATIONS simulations
struct dwrite_font_data * font_data
IDWriteFontFace5 * fontface
const DWRITE_MATRIX * transform
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
unsigned int feature_list
unsigned int markattachclassdef
struct ot_gsubgpos_table gpos
const struct shaping_font_ops * font
struct scriptshaping_cache::@312 gdef
unsigned int markglyphsetdef
struct ot_gsubgpos_table gsub
DWRITE_MEASURING_MODE measuring_mode
struct shaping_glyph_properties * glyph_props
const DWRITE_TYPOGRAPHIC_FEATURES ** features
DWRITE_SHAPING_GLYPH_PROPERTIES * glyph_props
const DWRITE_SHAPING_GLYPH_PROPERTIES * glyph_props
DWRITE_GLYPH_OFFSET * offsets
struct scriptshaping_cache * cache
const struct ot_gsubgpos_table * table
struct scriptshaping_context::@313::@315 pos
unsigned int max_glyph_count
struct scriptshaping_context::@314 user_features
unsigned int nesting_level_left
struct scriptshaping_context::@313::@316 subst
const struct shaper * shaper
DWRITE_SHAPING_TEXT_PROPERTIES * text_props
const unsigned int * range_lengths
struct shaping_glyph_info * glyph_infos
const UINT16 * clustermap
unsigned int has_gpos_attachment
union scriptshaping_context::@313 u
p_apply_context_lookup apply_context_lookup
struct scriptshaping_context::@313::@317 buffer
void(* setup_masks)(struct scriptshaping_context *context, const struct shaping_features *features)
void(* collect_features)(struct scriptshaping_context *context, struct shaping_features *features)
unsigned int default_value
struct shaping_feature * features
void(* grab_font_table)(void *context, UINT32 table, const BYTE **data, UINT32 *size, void **data_context)
UINT16(* get_font_upem)(void *context)
void(* release_font_table)(void *context, void *data_context)
UINT16(* get_glyph)(void *context, unsigned int codepoint)
BOOL(* has_glyph)(void *context, unsigned int codepoint)
unsigned int start_text_idx
IDWriteFactory7 * factory
IDWriteTextFormat * format
const DWRITE_MATRIX * transform
T1_FIELD_DICT_FONTDICT family_name
static const WCHAR props[]
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out