[dwrite] A new API, hb_directwrite_face_get_font_face (#1600)
Can be useful when using HarfBuzz for font loading and shaping but using DirectWrite for rendering.
This commit is contained in:
parent
59f36f3682
commit
b292772e6e
|
@ -216,6 +216,14 @@ hb_coretext_face_get_cg_font
|
||||||
hb_coretext_font_get_ct_font
|
hb_coretext_font_get_ct_font
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
|
||||||
|
<SECTION>
|
||||||
|
<FILE>hb-directwrite</FILE>
|
||||||
|
hb_directwrite_face_create
|
||||||
|
hb_directwrite_face_get_font_face
|
||||||
|
<SUBSECTION Private>
|
||||||
|
hb_directwrite_shape_experimental_width
|
||||||
|
</SECTION>
|
||||||
|
|
||||||
<SECTION>
|
<SECTION>
|
||||||
<FILE>hb-face</FILE>
|
<FILE>hb-face</FILE>
|
||||||
hb_face_count
|
hb_face_count
|
||||||
|
@ -715,8 +723,6 @@ hb_unicode_script_func_t
|
||||||
<FILE>hb-uniscribe</FILE>
|
<FILE>hb-uniscribe</FILE>
|
||||||
hb_uniscribe_font_get_hfont
|
hb_uniscribe_font_get_hfont
|
||||||
hb_uniscribe_font_get_logfontw
|
hb_uniscribe_font_get_logfontw
|
||||||
<SUBSECTION Private>
|
|
||||||
hb_directwrite_shape_experimental_width
|
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
|
||||||
<SECTION>
|
<SECTION>
|
||||||
|
|
|
@ -846,10 +846,23 @@ _hb_directwrite_shape (hb_shape_plan_t *shape_plan,
|
||||||
features, num_features, 0);
|
features, num_features, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Public [experimental] API
|
* hb_directwrite_shape_experimental_width:
|
||||||
*/
|
* Experimental API to test DirectWrite's justification algorithm.
|
||||||
|
*
|
||||||
|
* It inserts Kashida at wrong order so don't use the API ever.
|
||||||
|
*
|
||||||
|
* It doesn't work with cygwin/msys due to header bugs so one
|
||||||
|
* should use MSVC toolchain in order to use it for now.
|
||||||
|
*
|
||||||
|
* @font:
|
||||||
|
* @buffer:
|
||||||
|
* @features:
|
||||||
|
* @num_features:
|
||||||
|
* @width:
|
||||||
|
*
|
||||||
|
* Since: 1.4.2
|
||||||
|
**/
|
||||||
hb_bool_t
|
hb_bool_t
|
||||||
hb_directwrite_shape_experimental_width (hb_font_t *font,
|
hb_directwrite_shape_experimental_width (hb_font_t *font,
|
||||||
hb_buffer_t *buffer,
|
hb_buffer_t *buffer,
|
||||||
|
@ -918,6 +931,7 @@ _hb_directwrite_font_release (void *data)
|
||||||
/**
|
/**
|
||||||
* hb_directwrite_face_create:
|
* hb_directwrite_face_create:
|
||||||
* @font_face:
|
* @font_face:
|
||||||
|
*
|
||||||
* Since: 2.4.0
|
* Since: 2.4.0
|
||||||
**/
|
**/
|
||||||
hb_face_t *
|
hb_face_t *
|
||||||
|
@ -928,3 +942,15 @@ hb_directwrite_face_create (IDWriteFontFace *font_face)
|
||||||
return hb_face_create_for_tables (reference_table, font_face,
|
return hb_face_create_for_tables (reference_table, font_face,
|
||||||
_hb_directwrite_font_release);
|
_hb_directwrite_font_release);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* hb_directwrite_face_get_font_face:
|
||||||
|
* @face:
|
||||||
|
*
|
||||||
|
* Since: REPLACEME
|
||||||
|
**/
|
||||||
|
IDWriteFontFace *
|
||||||
|
hb_directwrite_face_get_font_face (hb_face_t *face)
|
||||||
|
{
|
||||||
|
return face->data.directwrite->fontFace;
|
||||||
|
}
|
||||||
|
|
|
@ -37,6 +37,9 @@ hb_directwrite_shape_experimental_width (hb_font_t *font, hb_buffer_t *buffer,
|
||||||
HB_EXTERN hb_face_t *
|
HB_EXTERN hb_face_t *
|
||||||
hb_directwrite_face_create (IDWriteFontFace *font_face);
|
hb_directwrite_face_create (IDWriteFontFace *font_face);
|
||||||
|
|
||||||
|
HB_EXTERN IDWriteFontFace *
|
||||||
|
hb_directwrite_face_get_font_face (hb_face_t *face);
|
||||||
|
|
||||||
HB_END_DECLS
|
HB_END_DECLS
|
||||||
|
|
||||||
#endif /* HB_DIRECTWRITE_H */
|
#endif /* HB_DIRECTWRITE_H */
|
||||||
|
|
Loading…
Reference in New Issue