diff --git a/docs/harfbuzz-sections.txt b/docs/harfbuzz-sections.txt index 27dc1e2d3..f97902f7f 100644 --- a/docs/harfbuzz-sections.txt +++ b/docs/harfbuzz-sections.txt @@ -216,6 +216,14 @@ hb_coretext_face_get_cg_font hb_coretext_font_get_ct_font +
+hb-directwrite +hb_directwrite_face_create +hb_directwrite_face_get_font_face + +hb_directwrite_shape_experimental_width +
+
hb-face hb_face_count @@ -715,8 +723,6 @@ hb_unicode_script_func_t hb-uniscribe hb_uniscribe_font_get_hfont hb_uniscribe_font_get_logfontw - -hb_directwrite_shape_experimental_width
diff --git a/src/hb-directwrite.cc b/src/hb-directwrite.cc index cbf04a821..d8076c922 100644 --- a/src/hb-directwrite.cc +++ b/src/hb-directwrite.cc @@ -846,10 +846,23 @@ _hb_directwrite_shape (hb_shape_plan_t *shape_plan, 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_directwrite_shape_experimental_width (hb_font_t *font, hb_buffer_t *buffer, @@ -918,6 +931,7 @@ _hb_directwrite_font_release (void *data) /** * hb_directwrite_face_create: * @font_face: + * * Since: 2.4.0 **/ hb_face_t * @@ -928,3 +942,15 @@ hb_directwrite_face_create (IDWriteFontFace *font_face) return hb_face_create_for_tables (reference_table, font_face, _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; +} diff --git a/src/hb-directwrite.h b/src/hb-directwrite.h index 09776fd09..de813d069 100644 --- a/src/hb-directwrite.h +++ b/src/hb-directwrite.h @@ -37,6 +37,9 @@ hb_directwrite_shape_experimental_width (hb_font_t *font, hb_buffer_t *buffer, HB_EXTERN hb_face_t * hb_directwrite_face_create (IDWriteFontFace *font_face); +HB_EXTERN IDWriteFontFace * +hb_directwrite_face_get_font_face (hb_face_t *face); + HB_END_DECLS #endif /* HB_DIRECTWRITE_H */