Commit Graph

406 Commits

Author SHA1 Message Date
Ebrahim Byagowi ab2d3ec542 [var] Implement hb_font_get_var_coords_design
Hold design coords and simulate when normalized coords are set directly.
2020-02-08 11:04:34 +03:30
Ebrahim Byagowi b4d3bf1d8a [draw] Add hb_draw_funcs_is_immutable and hb_draw_funcs_make_immutable 2020-02-06 11:52:32 +03:30
Ebrahim Byagowi 74fdcdcac8 [draw] Rename conic_to to quadratic_to 2020-01-28 13:45:22 +03:30
Ebrahim Byagowi ac81e94016 Rename hb_outline_decompose to hb_font_draw_glyph and hb_outline_decompose_funcs_t to hb_draw_funcs_t 2020-01-28 13:24:49 +03:30
Ebrahim Byagowi 981125aa2a Rename hb_ot_glyph_* to hb_outline_* 2020-01-27 23:43:54 +03:30
Ebrahim Byagowi 7633b7695e
Merge pull request #2016 from ebraminio/glyf
Implement glyph outline path API
2020-01-23 18:51:40 +03:30
Ebrahim Byagowi 02f324c949 [ot-glyph] remove open callback
Apparently it wasn't requested actually and can be detected easily
as paths are opened usually when move command is issued anyway.
2020-01-23 15:12:15 +03:30
Ebrahim Byagowi 79fed9a1e4 [ot-glyph] Add open/close callbacks 2020-01-14 17:34:59 +03:30
Ebrahim Byagowi ec1fba1388 [ot-glyph] make hb_ot_glyph_decompose_funcs_t struct opaque 2020-01-14 15:55:23 +03:30
Qunxin Liu 8ffc9add22 [subset] layout closure_features and store them in subset-plan 2020-01-14 07:24:48 +03:30
Qunxin Liu 0b39c48064 [subset] closure lookups for GSUB/GPOS 2020-01-10 13:11:06 -08:00
Ebrahim Byagowi 084a8182fb [ot-glyphs] Move CFF glyph decompose logic to their tables
Thus making path decompose zero alloc on CFF/CFF2
2020-01-10 22:56:43 +03:30
Ebrahim Byagowi 0b559d750f [ot-glyph] Improve API names 2020-01-10 14:25:07 +03:30
Ebrahim Byagowi e75d785b51
[doc] fix hb_blob_create call example
otherwise free(0) will be called that silently makes a leak
2019-12-12 15:42:37 +03:30
Behdad Esfahbod d5338ba189 [ft] Add locking FT_Face API
Now that we mutex our internal FT_Face, share it with clients.

New API:
- hb_ft_font_lock_face()
- hb_ft_font_unlock_face()
2019-11-22 16:22:27 -05:00
Behdad Esfahbod d6ad613159 [docs] Misc fixes 2019-09-30 10:40:25 -07:00
Khaled Hosny f233e6c801 [doc] Update list of default features in the manual
Fixes https://github.com/harfbuzz/harfbuzz/issues/1921
2019-08-23 13:15:37 +02:00
Behdad Esfahbod 6461143b44 2.6.0 2019-08-13 22:20:54 -07:00
Behdad Esfahbod e56d4ff43b Rename hb_ot_meta_get_entries() to +hb_ot_meta_get_entry_tags() 2019-08-13 21:02:47 -07:00
Ebrahim Byagowi 9f2b4956b4
[base] Add hb_ot_layout_get_baseline API 2019-07-30 04:42:51 +04:30
Ebrahim Byagowi 40a4b6ddbd [var] Add a new API, hb_font_set_var_named_instance 2019-07-29 16:23:47 -07:00
Ebrahim Byagowi 62932c14bd [meta] Rename ot-metadata to ot-meta per review 2019-07-25 17:49:51 -07:00
Ebrahim Byagowi 3ac03bd67c [meta] New API, hb_ot_metadata_reference_entry for fetching meta entries 2019-07-25 17:49:51 -07:00
Ebrahim Byagowi eb8bd2f7ec Add hb_gdi_face_create API
Based on Konstantin Ritt work posted on mailing list
2019-07-21 14:22:19 -07:00
Behdad Esfahbod e540d402f6 [docs] Minor 2019-07-20 12:09:34 -07:00
Ebrahim Byagowi 87e628436e Implement a simple API for fetching opentype metrics
Fixes https://github.com/harfbuzz/harfbuzz/pull/1432
2019-07-18 14:15:58 -07:00
Simon Sapin 144326e215 Clusters are reversed based on the direction, not script
Fixes https://github.com/harfbuzz/harfbuzz/issues/1818
2019-07-05 10:07:07 -07:00
Simon Sapin cf1a782a5c Docs: fix a typo in function name 2019-07-05 08:10:11 -07:00
Behdad Esfahbod 0819f3ca86 Deprecate v_kerning callback again
Part of https://github.com/harfbuzz/harfbuzz/issues/1682
2019-06-17 14:02:47 -07:00
Behdad Esfahbod 2682efb02d Revert "Deprecate font kern API"
This reverts commit d219f899f4.

API change: Un-deprecate font kern API.

Part of https://github.com/harfbuzz/harfbuzz/issues/1682

We should document that this API is only necessary to hook up
non-OpenType kerning.  hb-ot-font will continue to NOT implement them.
2019-06-17 13:38:49 -07:00
Behdad Esfahbod 10e3cb9246 [docs] Fix dist 2019-05-31 22:56:56 -07:00
Bruce Mitchener da9d43171b Fix some typos. 2019-05-28 17:13:57 +02:00
n8willis e7ed85de95
Merge pull request #1691 from n8willis/usermanual-shaping
Usermanual: Add new chapters.
2019-05-25 16:05:07 +01:00
Nathan Willis 97ba206bed Usermanual; minor. 2019-05-25 12:26:50 +01:00
Nathan Willis dd5ad6b6b5 Usermanual-buffers-chapter: trim out fallback-of-ufuncs talk and just mention that stuff exists if you care to go find it. 2019-05-24 20:30:22 +01:00
Nathan Willis 240540ff9a Usermanual-buffers-chapter: explain ICU fallback for Ufuncs. 2019-05-24 20:13:35 +01:00
Nathan Willis 322df806ee [Docs] Usermanual: integration chapter; add GI-Python section. 2019-05-24 19:49:19 +01:00
Nathan Willis 773c85f343 [Docs] Usermanual: integration chapter; add ICU section. 2019-05-24 19:23:19 +01:00
Nathan Willis c0bb66ecbf [Docs] Usermanual: integration chapter; add CoreText/Mac section. 2019-05-24 18:49:40 +01:00
Nathan Willis dd1c7656a5 [Docs] Usermanual: integration chapter; add Uniscribe/Windows section. 2019-05-24 14:30:15 +01:00
Nathan Willis 2da567e7b6 [Docs] Usermanual: platform integration chapter; add intro, GLib, FreeType sections. Update XML TOCs to match. 2019-05-24 11:13:53 +01:00
Behdad Esfahbod b567d4ea14 Fix build after UCDN -> UCD 2019-05-23 21:36:42 -04:00
Nathan Willis a29b1de55a Usermanual, fix up userfeatures example code in OpenType features section of shaping chapter. 2019-05-11 20:56:55 +01:00
Nathan Willis 78fcb14db9 Usermanual, minor: flesh out invisible-glyph discussion in buffers chapter. 2019-05-11 20:56:02 +01:00
n8willis 6bc8257910
Merge pull request #1680 from n8willis/usermanual-obj
Usermanual: object-model chapter
2019-05-09 14:39:05 +01:00
Behdad Esfahbod 159fe962e9 [doc] Make header search more resilient
How stupid to scan all files... Sigh.
2019-05-07 11:46:11 -07:00
Nathan Willis 68749e996a [Docs] Usermanual; update XML manifest for new chapters. 2019-04-30 17:23:55 +01:00
Nathan Willis 30d7d1064e [Docs] Usermanual; add Utilities chapter. 2019-04-30 17:23:19 +01:00
Nathan Willis d0f5a05aef [Docs] Usermanual; add Shaping, Features, and Plans. 2019-04-30 17:22:54 +01:00
Nathan Willis 8354c99fbe [Docs] Usermanual; add Fonts And Faces chapter. 2019-04-30 17:22:08 +01:00
Nathan Willis 3b301c5ac6 [Docs] Usermanual; fill out Buffers chapter. 2019-04-30 17:21:33 +01:00
Nathan Willis 6d9a86ae75 [Docs] Usermanual; fixes to Object Model chapter 2019-04-30 16:09:01 +01:00
Nathan Willis aa6692cb00 Usermanual: update Makefile SGML list. Again. 2019-04-23 17:56:44 +01:00
Nathan Willis 98c54cdef8 Usermanual: add chapter on object model. 2019-04-23 17:48:42 +01:00
Behdad Esfahbod ecac94ca76 [docs] Remove fdo repo
Has not been updated.
2019-04-21 12:27:32 -04:00
Nathan Willis 60be1450ad [Usermanual]: fix Tamil error in Why-do-I-need-a-shaping-engine section. 2019-04-15 10:17:29 -07:00
Ebrahim Byagowi b292772e6e
[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.
2019-03-29 13:00:56 -07:00
Behdad Esfahbod fe570bc043 [docs] Remove unexisting section 2019-03-29 10:51:38 -07:00
Behdad Esfahbod e5dfffb1ef [docs] Update 2019-03-26 13:44:39 -07:00
Khaled Hosny a17ed8459e [doc] Move hb_variation_t to hb-common section 2019-02-19 15:18:48 -05:00
Khaled Hosny 9caabc9cf8 [doc] Move feature_t and its function to hb-common
It is rather confusing to have script, language etc, in hb-common section
while feature is in hb-shape section. I keep looking for it in hb-common
section then using the API index because I can’t find it there.
2019-02-19 14:09:52 -05:00
Alfie John ff98109455 Fix grammar 2019-01-22 12:00:12 +02:00
Alfie John e9c0f5e714 Grammar fix 2019-01-22 12:00:12 +02:00
Khaled Hosny 30ae62779f Regular spaces will do 2019-01-21 16:44:48 +02:00
Alfie John ed62551d67 Adding leading space for code example 2019-01-21 10:39:48 +02:00
Alfie John 3e332544db Fix description of example 2019-01-21 10:39:48 +02:00
Alfie John 2144ca9f01 Added option to build docs to docs 2019-01-21 10:39:48 +02:00
Nathan Willis ad95487038 Usermanual: small formatting and wording fixes. 2019-01-04 15:43:07 +02:00
Nathan Willis ed13caddf2 Usermanual: small updates. 2019-01-04 15:43:07 +02:00
Ebrahim Byagowi 01f628cf55 [aat] Expose hb_aat_layout_has_tracking API 2018-12-03 22:27:26 +03:30
Behdad Esfahbod d19b1680b5 [aat] Expose a couple APIs
New API:
+hb_aat_layout_has_substitution()
+hb_aat_layout_has_positioning()
2018-12-03 10:41:37 -05:00
Matthew Butterick d3d0f15f7d
update simple shaping example (closes #298)
add call to `FT_Set_Char_Size`, otherwise default size remains at `0`, and glyph positions come back as `0` too
2018-11-28 13:46:12 -08:00
Behdad Esfahbod 926f512f35 [aat.feat] Rework API and implementation
Fixes https://github.com/harfbuzz/harfbuzz/pull/1346
2018-11-25 01:16:02 -05:00
Behdad Esfahbod e20f81f4fa [aat] Rename feat API a bit more 2018-11-25 01:16:02 -05:00
Ebrahim Byagowi 54f4c17f0a [feat] Rename API uses of setting to selector 2018-11-25 01:16:02 -05:00
Ebrahim Byagowi 9c64b216ec [feat] Apply renamings and add documentation 2018-11-25 01:16:02 -05:00
Nathan Willis 5fdf7b724e Usermanual: clusters chapter; add brief grapheme definition and clarify monotonous cluster handling. 2018-11-24 16:46:02 +02:00
Nathan Willis 939220e57d Usermanual: clusters chapter, minor updates. 2018-11-24 16:46:02 +02:00
Nathan Willis 53ac46e974 Usermanual: expand clusters chapter. 2018-11-24 16:46:02 +02:00
Behdad Esfahbod f48bb9a393 [var] Deprecated axis enumeration API and add new version
New version has axis flags.

New API:
+hb_ot_var_axis_info_t
+hb_ot_var_find_axis_info()
+hb_ot_var_get_axis_infos()

Deprecated API:
-HB_OT_VAR_NO_AXIS_INDEX
-hb_ot_var_axis_t
-hb_ot_var_find_axis()
-hb_ot_var_get_axes()
2018-11-20 20:46:14 -05:00
Behdad Esfahbod 587d49fc65 [fvar] Add named-instance API
Fixes https://github.com/harfbuzz/harfbuzz/issues/1241
2018-11-19 14:51:34 -05:00
Behdad Esfahbod 1a2eb108b8 [ot-var] Add hb_ot_var_axis_get_flags()
Part of https://github.com/harfbuzz/harfbuzz/issues/1241

New API:
+hb_ot_var_axis_flags_t
+hb_ot_var_axis_get_flags
2018-11-19 12:36:56 -05:00
Behdad Esfahbod 1019391046 2.1.0 2018-10-30 15:52:26 -07:00
Behdad Esfahbod a7aba99baa [name] Rename hb_name_id_t to hb_ot_name_id_t
https://github.com/harfbuzz/harfbuzz/pull/1254
2018-10-30 14:04:09 -07:00
Nathan Willis f236f79088 Docs Makefile: sync SGML list to harfbuzz-docs.xml include list. Hopefully fixes distcheck failure. 2018-10-30 19:14:57 +02:00
Nathan Willis 9f4b375e39 Usermanual: minor wording updates, build fixes. 2018-10-30 19:14:57 +02:00
Nathan Willis e110032b91 Usermanual: update DTD in chapter XML to avoid HTML entity parsing errors. 2018-10-30 19:14:57 +02:00
Nathan Willis 01400f7425 Usermanual; minor wording changes. 2018-10-30 19:14:57 +02:00
Khaled Hosny e89f43dc08 Minor; rewording unsafe-to-break note.
Co-Authored-By: n8willis <nwillis@glyphography.com>
2018-10-30 19:14:57 +02:00
Khaled Hosny ccdfb63438 Trivial; typo.
Co-Authored-By: n8willis <nwillis@glyphography.com>
2018-10-30 19:14:57 +02:00
Khaled Hosny 722099487b Minor; simplify example code
Co-Authored-By: n8willis <nwillis@glyphography.com>
2018-10-30 19:14:57 +02:00
Khaled Hosny 6e4dd58a4a Minor: simplify example code
Co-Authored-By: n8willis <nwillis@glyphography.com>
2018-10-30 19:14:57 +02:00
Khaled Hosny f9ee0decee Minor; drop 'OpenType' from sentence
Co-Authored-By: n8willis <nwillis@glyphography.com>
2018-10-30 19:14:57 +02:00
Nathan Willis f028da59d9 Minor. 2018-10-30 19:14:57 +02:00
Khaled Hosny ed5547f828 Use 'glyphs' instead of 'text'
Co-Authored-By: n8willis <nwillis@glyphography.com>
2018-10-30 19:14:57 +02:00
Nathan Willis 236285545b Docs: minor, update Makefile w new file name. 2018-10-30 19:14:57 +02:00
Nathan Willis 163ab81ab0 Docs: rename Hello HarfBuzz to Getting Started. 2018-10-30 19:14:57 +02:00
Nathan Willis 9e7efa3f47 Docs: usermanual, add API Overview to Hello HarfBuzz chapter. Start Terminology section. 2018-10-30 19:14:57 +02:00
Nathan Willis 3a27e8fb97 Docs: usermanual, add Shaping Concepts chapter. 2018-10-30 19:14:57 +02:00
Nathan Willis 9aa865dcc6 Docs: usermanual, minor cleanup to What Is HarfBuzz chapter. 2018-10-30 19:14:57 +02:00
Nathan Willis 443f872132 Docs: move harfbuzz-ng-vs-old discussion down below the TOC; put in note. 2018-10-30 19:14:57 +02:00
Nathan Willis 792af5d254 Docs: flesh out config options in Usermanual:Install chapter. 2018-10-30 19:14:57 +02:00
Nathan Willis 325e2745cf Docs: add basic config-options section to Usermanual Installation chapter. 2018-10-30 19:14:57 +02:00
Nathan Willis 97c1c46cd2 Docs: update and linearize build instructions; add installation overview material. 2018-10-30 19:14:57 +02:00
Nathan Willis 088755f9e6 Docs: update usermanual What Is HarfBuzz material. 2018-10-30 19:14:57 +02:00
Nathan Willis 0956ab4185 Docs: Move What-HarfBuzz-doesnt-do to Usermanual-what-is-HarfBuzz. 2018-10-30 19:14:57 +02:00
Nathan Willis fd270beedb Docs: Usermanual- What is HarfBuzz; add intro to shaping concepts. 2018-10-30 19:14:57 +02:00
Nathan Willis d9fd927210 Docs: update Usermanual-What Is HarfBuzz. 2018-10-30 19:14:57 +02:00
Ebrahim Byagowi 3d4c1f6a41 [ot-color] Apply Behdad reviews 2018-10-28 18:33:10 -07:00
Ebrahim Byagowi dbd419bede [ot-color] Add public API for CBDT/sbix/SVG color Emojis 2018-10-28 18:33:10 -07:00
Behdad Esfahbod 6ce49a921a [name] Change hb_name_id_t back to unsigned int
d941f66c75 (commitcomment-31076011)
2018-10-28 08:26:30 -07:00
Behdad Esfahbod 4740a3593d [docs] Divide reference API into three chapters 2018-10-27 05:08:52 -07:00
Behdad Esfahbod 1d40d72f29 [docs] Hook up hb-var 2018-10-27 05:01:01 -07:00
Behdad Esfahbod 46072b7cb5 [ot] Fold hb-ot-tag.h into hb-ot-layout.h 2018-10-27 04:47:41 -07:00
Behdad Esfahbod 00cf4e5eb6 [docs] Fill in some sections 2018-10-27 04:47:41 -07:00
Behdad Esfahbod 9457cfd7bc [docs] Hook up hb-map 2018-10-27 03:15:34 -07:00
Behdad Esfahbod d941f66c75 [name] Make hb_name_id_t be the enum
This is like hb_script_t.

We had this exposed as unsigned int since 2.0.0 release in two APIs,
as well as hb_ot_layout_get_size_params() from earlier.
But since no one uses those (right?!), let's just fix this now.
2018-10-27 03:06:14 -07:00
Behdad Esfahbod 3b7e5f1313 [name] Rename hb_ot_name_get_names() to hb_ot_name_list_names()
And swap return value positions, so can be annotated for gobject-introspectin.
2018-10-27 03:06:14 -07:00
Behdad Esfahbod e7400c0275 [docs] Hook up new symbols 2018-10-26 22:24:40 -07:00
Ebrahim Byagowi eceeb85666
[docs] Add hb-ot-color section 2018-10-26 00:23:45 +03:30
Behdad Esfahbod 2d9198f205 [docs] Fix for hb-version.h being in src tree 2018-10-20 16:50:39 -07:00
Ebrahim Byagowi dc49bd8d81 Add two APIs for getting stylistic set labels
* hb_ot_layout_feature_get_characters
* hb_ot_layout_feature_get_name_ids

However HarfBuzz currently doesn't expose an API for retrieving the actual
information associated with NameId from the `name` table and that should be
done separately.
2018-10-12 16:06:39 -04:00
David Corbett 7f1fbfe2e3 Add hb_ot_tags_to_script_and_language 2018-10-11 13:54:28 -04:00
David Corbett 2c7d4db7af Deprecate obsolete functions
`hb_ot_tags` replaces `hb_ot_tags_from_script` and
`hb_ot_tag_from_language`.

`hb_ot_layout_table_select_script` replaces
`hb_ot_layout_table_choose_script`.

`hb_ot_layout_script_select_language` replaces
`hb_ot_layout_script_find_language`.
2018-10-11 13:54:28 -04:00
David Corbett 91067716f5 Refactor the selection of script and language tags
The old hb-ot-tag.cc functions, `hb_ot_tags_from_script` and
`hb_ot_tag_from_language`, are now wrappers around a new function:
`hb_ot_tags`. It converts a script and a language to arrays of script
tags and language tags. This will make it easier to add new script tags
to scripts, like 'dev3'. It also allows for language fallback chains;
nothing produces more than one language yet though.

Where the old functions return the default tags 'DFLT' and 'dflt',
`hb_ot_tags` returns an empty array. The caller is responsible for
using the default tag in that case.

The new function also adds a new private use subtag syntax for script
overrides: "x-hbscabcd" requests a script tag of 'abcd'.

The old hb-ot-layout.cc functions,`hb_ot_layout_table_choose_script` and
`hb_ot_layout_script_find_language` are now wrappers around the new
functions `hb_ot_layout_table_select_script` and
`hb_ot_layout_script_select_language`. They are essentially the same as
the old ones plus a tag count parameter.

Closes #495.
2018-10-11 13:54:28 -04:00
Behdad Esfahbod b314c4e9ab [font] Add get_nominal_glyphs() callback (note the plural)
Unused as of now.  To be wired up to normalizer, which would remove
overhead and allow hb-ot-font initialization to become a no-op, so
we can enable it by default.
2018-10-09 09:43:44 -04:00
Behdad Esfahbod d219f899f4 Deprecate font kern API 2018-10-09 00:01:09 -04:00
Behdad Esfahbod 26d7305da7 Deprecate decompose_compatibility stuff 2018-10-08 22:31:35 -04:00
Behdad Esfahbod 42b51eee54 Deprecate eastasian_width stuff 2018-10-08 22:26:39 -04:00
Behdad Esfahbod e42cd58c99 Rename invisible_codepoint to invisible_glyph in API
Deleted recently added API:
    hb_buffer_set_invisible_codepoint()
    hb_buffer_get_invisible_codepoint()

    hb-shape / hb-view --invisible-codepoint

New API:
    hb_buffer_set_invisible_glyph()
    hb_buffer_get_invisible_glyph()

    hb-shape / hb-view --invisible-glyph

Fixes https://github.com/harfbuzz/harfbuzz/issues/1216
2018-10-07 20:47:30 -04:00
Behdad Esfahbod 71b65eb27d Add API for setting invisible-codepoint
Fixes https://github.com/harfbuzz/harfbuzz/issues/1216

New API:
hb_buffer_set_invisible_codepoint()
hb_buffer_get_invisible_codepoint()

hb-shape / hb-view --invisible-codepoint
2018-10-07 18:43:26 +02:00
Behdad Esfahbod becd84aa2f Add HB_FEATURE_GLOBAL_START/END
Fixes https://github.com/harfbuzz/harfbuzz/issues/1141

New API:
HB_FEATURE_GLOBAL_START
HB_FEATURE_GLOBAL_END
2018-09-11 01:27:25 +02:00
Behdad Esfahbod dae39c58fb [face] Introduce character-map API
New API:
+hb_face_collect_unicodes
+hb_face_collect_variation_selectors
+hb_face_collect_variation_unicodes
2018-08-25 22:44:39 -07:00
Behdad Esfahbod 82b12bcadd [unicode] Add HB_UNICODE_MAX
New API:
HB_UNICODE_MAX
2018-08-25 22:07:17 -07:00
Behdad Esfahbod aadb2a9188 Add face-builder
New API:
+hb_face_builder_create
+hb_face_builder_add_table
2018-08-25 08:18:53 -07:00
Behdad Esfahbod b0ff79acd8 Add +hb_font_get_glyph_advances_for_direction
New API:
+hb_font_get_glyph_advances_for_direction
2018-08-07 09:52:06 -07:00
Behdad Esfahbod 79e21984b1 Add batch advance width callback function
New API:
+hb_font_funcs_set_glyph_h_advances_func
+hb_font_funcs_set_glyph_v_advances_func
+hb_font_get_glyph_h_advances
+hb_font_get_glyph_h_advances_func_t
+hb_font_get_glyph_v_advances
+hb_font_get_glyph_v_advances_func_t
2018-08-06 09:45:17 -07:00
Ebrahim Byagowi 1a7fed6318
Revert "Add a new API, hb_ot_layout_get_feature_name_ids (#976)" (#1121)
This reverts commit 0c1b287b72.
2018-08-01 12:15:44 +04:30
Behdad Esfahbod d7a15799d4 [gobject] Hook up hb_map_t 2018-07-31 22:28:28 -07:00
Garret Rieger 7278d9df30 [subset] Add hb_ot_layout_collect_features to harfbuzz-sections.txt.
Add the fuzzer test case for feature collection timeout.
2018-07-31 18:26:09 -07:00
Ebrahim Byagowi 0c1b287b72
Add a new API, hb_ot_layout_get_feature_name_ids (#976)
This new API returns cvXX and ssXX related NameId, things like
featUiLabelNameId, featUiTooltipTextNameId, sampleTextNameId, ... of cvXX
and UINameId of ssXX, in a unified way.

However HarfBuzz currently doesn't expose an API for retrieving the actual
information associated with NameId from the `name` table and that should be
done separately.
2018-07-21 21:14:48 +04:30
Behdad Esfahbod f3e58ab8a9 [docs] Enlist misc new symbols 2018-06-12 19:33:08 -04:00
Ebrahim Byagowi 32da0c6bc4
Add hb_face_count, a new API (#1002)
Simply, it returns the number of faces on a font blob.

To be used on hb-sanitizer tool but other clients also
can benefit from it.
2018-06-05 18:56:26 +04:30
Ebrahim Byagowi ce17340b23 Add hb_blob_create_from_file, a new API (#926) 2018-04-20 07:59:06 +02:00
Behdad Esfahbod 694eaf6367 [set] Add backwards iterator
New API:
- hb_set_previous()
- hb_set_previous_range()
2018-02-14 01:00:10 -08:00
Behdad Esfahbod a989f3edec Add hb_blob_copy_writable_or_fail()
New API:
- hb_blob_copy_writable_or_fail()
2018-02-13 22:12:36 -08:00
Behdad Esfahbod b5f25844fb [docs] Minor update 2018-02-11 19:49:18 -06:00
Behdad Esfahbod 369dfab0f8 Minor 2018-01-12 11:37:01 +01:00
Behdad Esfahbod 44f0ee346f Fix docs 2018-01-12 11:27:51 +01:00
Bruce Mitchener 85ec6d3443 Fix typos. 2018-01-02 13:26:44 -05:00
Behdad Esfahbod d672bcf9d7 Minor 2017-11-28 22:20:57 -08:00
Behdad Esfahbod 23ade70783 [doc] Optimize HarfBuzz.png; add HarfBuzz.svg
SVG is unused. Just keeping it here.
2017-11-21 16:37:04 -08:00
Ebrahim Byagowi a13c0748c5 Move gh-pages docs to harfbuzz.github.io 2017-11-21 13:53:35 -08:00
Behdad Esfahbod a0ad0d5bb8 [docs] s/Harfbuzz/HarfBuzz/g 2017-11-20 15:07:48 -08:00
ebraminio 7c6937e7c7
Move all references of old url to the new address (#622) 2017-11-20 14:49:22 -05:00
ebraminio 1955cbecc9
Add a dummy CircleCI config to gh-pages branch (#602) 2017-11-02 04:55:46 -07:00
Behdad Esfahbod bfe0faf1a2 [docs] Deprecate hb_set_invert() 2017-10-22 15:54:50 -04:00
Behdad Esfahbod b98adefbb9 Update docs symbols 2017-10-17 12:00:34 -07:00
Behdad Esfahbod 25846cc39f 1.6.0 2017-10-13 16:30:33 +02:00
Behdad Esfahbod 4e4781319b [ft] Add hb_ft_font_changed()
When the font size or variations settings on underlying FT_Face change,
one can call hb_ft_font_changed() and continue using hb_font created using
hb_ft_font_create().

Fixes https://github.com/behdad/harfbuzz/issues/559

New API:
hb_ft_font_changed()
2017-10-12 10:33:16 +02:00
Behdad Esfahbod b57f18da70 Add hb_font_[sg]et_ptem() to set/get point size on font
New API:
hb_font_set_ptem()
hb_font_get_ptem()

Needed for hb-coretext optical sizing:
https://github.com/behdad/harfbuzz/issues/360
2017-10-11 11:47:47 +02:00
Behdad Esfahbod 224d20e4e1 [docs] Minor 2017-08-23 14:49:10 -07:00
Behdad Esfahbod d6bdbbca30 [var] Remove HB_OT_TAG_fvar/avar
We're not going to define public macros for tags for tables.
There's little use to those and they are implementation detail.
2017-01-22 20:16:51 -08:00
Behdad Esfahbod 7a860f656e [var] Add macros for standard axes 2017-01-22 19:52:09 -08:00
Behdad Esfahbod 5ec96d30ca [var] Adjust API in prep for 'avar' implementation
The 'avar' table does not allow random access to axis maps,
so change API to avoid quadratic-time implementation.

Removed -hb_ot_var_normalize_axis_value(), added
+hb_ot_var_normalize_variations() and
+hb_ot_var_normalize_coords() instead.
2017-01-22 18:52:00 -08:00
Behdad Esfahbod d2f249e745 Stub out doc comments for new symbols 2017-01-22 17:42:33 -08:00
Behdad Esfahbod d1c62370a0 Aim math API for 1.3.3 instead of 1.4.0 2016-10-04 14:47:12 -07:00
Behdad Esfahbod 46cc4a3a2a [MATH] Rename hb_math_*_t types to hb_ot_math_*_t
With this, I believe MATH table API is not ready to be merged.
2016-09-27 16:44:22 +02:00
Behdad Esfahbod db5ebcf10f Update docs 2016-09-27 16:42:25 +02:00
n8willis 498574e6c1 Update Makefile.am 2016-01-28 12:21:32 -06:00
n8willis e12fc66699 Added initial usermanual chapter on cluster levels. 2016-01-28 12:14:12 -06:00
Khaled Hosny 9ab9f974d4 [docs] More buffers documentation 2016-01-01 20:38:21 +04:00
Khaled Hosny 85c2443b73 [docs] Reduce gtkdoc-check errors
Now it is just reporting one error about “503 undocumented or incomplete
symbols”, that will be the easy part I guess.
2015-12-30 22:57:04 +04:00
Khaled Hosny fb192c263e [docs] A bit more buffers documentation 2015-12-30 17:59:01 +04:00
Khaled Hosny 8ab797c5b8 [docs] A bit more buffers documentation 2015-12-30 17:59:01 +04:00
Khaled Hosny f18d2226b6 [docs] Some documentation on buffers
Some of it (create, reference, destroy) are adapted from Cairo docs.
2015-12-30 17:59:01 +04:00
Khaled Hosny 1f5559293f [docs] Ignore the new HB_EXTERN decoration
Otherwise, almost all API functions are not extracted.
2015-12-29 02:31:39 +04:00
Khaled Hosny d25317f67f Move more docs from FreeDesktop page 2015-12-24 01:52:17 +04:00
Khaled Hosny 493a922208 Rename user manual files
Use chapter ids instead of numbers, so that we can reorder them,
introduce new ones etc. without the numbers becoming out of date.
2015-12-24 01:52:17 +04:00
Khaled Hosny 4dc2265918 Intro from freedesktop.org/wiki/Software/HarfBuzz/ 2015-12-24 01:52:17 +04:00
Behdad Esfahbod 5783e05f81 [docs] Move docs/reference/ contents into docs/ 2015-08-31 19:18:10 +01:00
Behdad Esfahbod cd5e3a13a6 [docs] Fix out-of-tree build 2015-08-31 19:16:41 +01:00
Behdad Esfahbod 3899795fa3 Merge pull request #131 from simoncozens/docs
Use gtk-doc to build user's manual as well as reference
2015-08-31 10:46:01 +01:00
Simon Cozens 01e16e88f5 Combine user / reference information into gtk-doc generated manual. 2015-08-31 10:40:17 +01:00
Simon Cozens 11a07c4729 Correct tag hierarchy, to allow for table-of-contents entries. 2015-08-31 10:39:10 +01:00
Simon Cozens 387d6af428 Missing tag (oops). 2015-08-31 10:31:09 +01:00
Behdad Esfahbod d205965286 [docs] Fix typo 2015-08-31 10:12:05 +01:00
Simon Cozens 5470e744dd Current state and skeleton outline 2015-08-29 08:21:18 +01:00
Simon Cozens f0807654da First two chapters. More to follow. 2015-08-25 19:57:15 +01:00
Behdad Esfahbod 5ec5875acb Install git.mk in docs/ 2015-02-26 13:59:13 -08:00
Behdad Esfahbod 2b051c6057 Rename HB_VERSION_CHECK and hb_version_check to "atleast"
HB_VERSION_CHECK's comparison was originally written wrongly
by mistake.  When API tests were written, they were also written
wrongly to pass given the wrong implementation... Sigh.

Given the purpose of this API, there's no point in fixing it
without renaming it.  As such, rename.

API changes:

  HB_VERSION_CHECK -> HB_VERSION_ATLEAST
  hb_version_check -> hb_version_atleast
2014-06-20 14:09:57 -04:00
Behdad Esfahbod cabfa538ed Adjust unused doc symbols 2014-06-20 14:02:30 -04:00
Behdad Esfahbod b934b0f9d1 Yet another try to make build without gtk-doc succeed 2014-03-19 11:52:40 -07:00
Behdad Esfahbod a7a5be090d Another try to make gtk-doc optional 2014-03-19 11:39:23 -07:00
Luis de Bethencourt d507f6b5b7 Have Gtk-Doc ignore UCDN files 2013-12-16 17:04:44 -05:00
Behdad Esfahbod ae9dc717d3 [gtk-doc] Pass source files to gtk-doc 2013-09-05 16:40:37 -04:00
Behdad Esfahbod 63dd4b0ac2 [gtk-doc] Remove hack for deleting tmpl/
This was introduced in 029f46bde7
and was in fact a bug in gtk-doc master:

  https://bugzilla.gnome.org/show_bug.cgi?id=707426
2013-09-03 20:01:40 -04:00
Behdad Esfahbod a2a28235e8 [gtk-doc] Generate version.xml from configure
Even though this is not what autoconf recommends, it reduces doc
rebuilds when version doesn't change but configure changes.
2013-08-30 19:38:47 -04:00
Behdad Esfahbod e4ce6745e1 [gtk-doc] Fix build without gobject 2013-08-29 15:56:56 -04:00
Behdad Esfahbod 71439a8c7a [gobject] Flesh out hb-gobject
Move it to new harfbuzz-gobject library.  Implement enums and
boxed types for object-types.  Still have to do boxed types for
value types.
2013-08-28 12:38:37 -04:00
Behdad Esfahbod 2e3a07abdf Separate face source code from font
Makes documentation / introspection easier.
2013-08-27 11:46:08 -04:00
Behdad Esfahbod 381f2fb5e6 Minor 2013-08-27 11:46:07 -04:00
Behdad Esfahbod ac1f09b53e [gtk-doc] Fix maintainer-clean rule 2013-08-27 11:46:07 -04:00
Behdad Esfahbod 029f46bde7 [gtk-doc] Remove tmpl in make maintainer-clean 2013-08-26 18:11:07 -04:00
Behdad Esfahbod 700a15fe4b Add HB_DISABLE_DEPRECATED
That moment that you have to accept that you made API mistakes...
2013-08-26 17:49:36 -04:00
Anthony Carrico f7c72b42ef [gtk-doc] Initial setup
Initial setup of gtk-doc. Straight forward setup following the gtk-doc
instructions. Ignore some troublesome types in src/hb-gobject.h. To
build use "./autogen.sh --enable-gtk-doc" then "make". Docs are in
harfbuzz/docs/reference/html/index.html.
2013-08-26 17:32:30 -04:00