From fe570bc043ca2c6be71b18f7401c8f06e73527e0 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Fri, 29 Mar 2019 10:51:38 -0700 Subject: [PATCH 1/4] [docs] Remove unexisting section --- docs/harfbuzz-docs.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/harfbuzz-docs.xml b/docs/harfbuzz-docs.xml index 0c462f38a..f4ad134ea 100644 --- a/docs/harfbuzz-docs.xml +++ b/docs/harfbuzz-docs.xml @@ -150,7 +150,6 @@ Index of new symbols in 1.5.0 Index of new symbols in 1.4.3 Index of new symbols in 1.4.2 - Index of new symbols in 1.4.0 Index of new symbols in 1.3.3 Index of new symbols in 1.2.3 Index of new symbols in 1.1.3 From 59f36f36820f6e6fb1d3b6da26d6b5ee7588c42f Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Fri, 29 Mar 2019 10:55:12 -0700 Subject: [PATCH 2/4] Replace REPLACEME's left out of 2.4.0 https://github.com/harfbuzz/harfbuzz/issues/1641 --- src/hb-common.h | 2 +- src/hb-directwrite.cc | 2 +- src/hb-subset-input.cc | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/hb-common.h b/src/hb-common.h index fbabd71c8..371b2bfc9 100644 --- a/src/hb-common.h +++ b/src/hb-common.h @@ -358,7 +358,7 @@ typedef enum /*11.0*/HB_SCRIPT_SOGDIAN = HB_TAG ('S','o','g','d'), /* - * Since REPLACEME + * Since 2.4.0 */ /*12.0*/HB_SCRIPT_ELYMAIC = HB_TAG ('E','l','y','m'), /*12.0*/HB_SCRIPT_NANDINAGARI = HB_TAG ('N','a','n','d'), diff --git a/src/hb-directwrite.cc b/src/hb-directwrite.cc index 137cd56c8..cbf04a821 100644 --- a/src/hb-directwrite.cc +++ b/src/hb-directwrite.cc @@ -918,7 +918,7 @@ _hb_directwrite_font_release (void *data) /** * hb_directwrite_face_create: * @font_face: - * Since: REPLACEME + * Since: 2.4.0 **/ hb_face_t * hb_directwrite_face_create (IDWriteFontFace *font_face) diff --git a/src/hb-subset-input.cc b/src/hb-subset-input.cc index 693c9c21e..4d203b545 100644 --- a/src/hb-subset-input.cc +++ b/src/hb-subset-input.cc @@ -152,7 +152,7 @@ hb_subset_input_get_desubroutinize (hb_subset_input_t *subset_input) * hb_subset_input_set_retain_gids: * @subset_input: a subset_input. * @retain_gids: If true the subsetter will not renumber glyph ids. - * Since: REPLACEME + * Since: 2.4.0 **/ HB_EXTERN void hb_subset_input_set_retain_gids (hb_subset_input_t *subset_input, @@ -164,7 +164,7 @@ hb_subset_input_set_retain_gids (hb_subset_input_t *subset_input, /** * hb_subset_input_get_retain_gids: * Returns: value of retain_gids. - * Since: REPLACEME + * Since: 2.4.0 **/ HB_EXTERN hb_bool_t hb_subset_input_get_retain_gids (hb_subset_input_t *subset_input) From b292772e6ef15728dd66329e637265748df0efe1 Mon Sep 17 00:00:00 2001 From: Ebrahim Byagowi Date: Fri, 29 Mar 2019 13:00:56 -0700 Subject: [PATCH 3/4] [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. --- docs/harfbuzz-sections.txt | 10 ++++++++-- src/hb-directwrite.cc | 34 ++++++++++++++++++++++++++++++---- src/hb-directwrite.h | 3 +++ 3 files changed, 41 insertions(+), 6 deletions(-) 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 */ From 90aebc6cf1aaca281ce51cb8e23831d7167cdcd3 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Fri, 29 Mar 2019 14:30:02 -0700 Subject: [PATCH 4/4] Update RELEASING --- RELEASING.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/RELEASING.md b/RELEASING.md index 1fd836545..5dcce5884 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -33,13 +33,14 @@ HarfBuzz release walk-through checklist: That's what happened to 2.0.0 going out with 1.8.0 hb-version.h... So, that's a clue. -7. "make release-files". Enter your GPG password. This creates a sha256 hash - and signs it. - -8. Now that you have release files, commit NEWS, configure.ac, and src/hb-version.h, +7. Now that you have release files, commit NEWS, configure.ac, and src/hb-version.h, as well as any REPLACEME changes you made. The commit message is simply the release number. Eg. "1.4.7" +8. "make dist" again to get a tarball with your new commit in the ChangeLog. Then + "make release-files". Enter your GPG password. This creates a sha256 hash + and signs it. Check the size of the three resulting files. + 9. Tag the release and sign it: Eg. "git tag -s 1.4.7 -m 1.4.7". Enter your GPG password again.