Commit Graph

388 Commits

Author SHA1 Message Date
Khaled Hosny f9f473a4c4 [docs] Improve documentation for default features
Fixes https://github.com/harfbuzz/harfbuzz/issues/2213
2020-09-17 01:55:30 +02:00
Ebrahim Byagowi 6e32145dc9 [meson] Make compatbile with 0.47.0 2020-08-13 18:28:42 +04:30
Ebrahim Byagowi 5193357832 Revert "Remove autotools build support"
This reverts commit 01ac32aab2.
2020-08-11 23:51:59 +04:30
Ebrahim Byagowi 01ac32aab2 Remove autotools build support 2020-08-07 23:28:12 +04:30
Ebrahim Byagowi 5a2d216f30
[docs] meson related updates on install 2020-08-04 15:25:48 +04:30
Ebrahim Byagowi 8b63de1109 [docs] Use untouched result of rsvg-convert for HarfBuzz.svg render
See also 1ec77522d8?short_path=1bb7b85
2020-07-29 17:25:07 +04:30
Ebrahim Byagowi f9ac6ddbef
[meson] Rename 'gtk_doc' option to 'docs' 2020-07-22 17:53:04 +04:30
Dirk Lemstra 6a50aa4e54 Corrected the link to the releases. 2020-07-05 21:38:23 +04:30
Ebrahim Byagowi 175d93bbda
[mesos/docs] fix gobject headers ignoring logic
fixes #2463
2020-06-20 14:03:10 +04:30
Ebrahim Byagowi 1bac85828c [layout] Rename _get_alternates to _get_glyph_alternates 2020-06-18 22:56:07 +04:30
Ebrahim Byagowi 1348a2c865 [layout] hb_ot_layout_lookup_get_alternates, a new API
An API to retrieve one-to-one alternates from a given GSUB lookup index.
2020-06-18 09:11:07 +04:30
Qunxin Liu 973c47f6c9 [subset] Move 2 experimental public api methods to be private methods in GSUB/GPOS.
2 methods are: hb_ot_layout_closure_lookups and hb_ot_layout_closure_features
2020-06-12 01:20:30 +04:30
Ebrahim Byagowi 759df46575 [style] Hide behind HB_EXPERIMENTAL_API compile flag 2020-06-04 20:33:39 +04:30
Ebrahim Byagowi 22037499b4 [style] New experimental API, hb_style_get_value
Searches variation axes of a hb_font_t object for a specific axis first,
if not set, then tries to get default style values from different
tables of the font.
2020-06-04 20:33:39 +04:30
Ebrahim Byagowi a9e8328ae2 [meson] Add build configuration summary just like autotools 2020-05-21 19:29:32 +04:30
Ebrahim Byagowi f7562672f9 [meson] Use / instead join_paths
We need some of the very recent features of meson, let's use the new features also
2020-05-21 18:52:31 +04:30
Tim-Philipp Müller 3dd7b2105b meson: build documentation with gtk-doc
Fixes https://github.com/harfbuzz/harfbuzz/issues/2409
2020-05-18 13:56:46 +04:30
Khaled Hosny 68855e4a6d [docs] Don’t recommend outdated FDO releases pages 2020-05-08 13:05:32 +04:30
Ebrahim Byagowi 1ec77522d8 [docs] Simplify logo's SVG source, down scale png version
* SVG version is simplified using SVGO and some hand tweak
* PNG result of SVG logo is optimized using pngwolf-zopfli
* Down scaled to fit visually a little better on docs page
2020-05-07 14:10:36 +04:30
Behdad Esfahbod a11db0b9d4
Merge branch 'master' into usermanual-integration 2020-04-23 15:32:43 -07:00
n8willis 1ed30515cb
[Docs, usernmanual] Fix with-icu=builtin explanation 2020-04-19 15:38:52 +01:00
n8willis d6edd9a408
[Docs, usermanual] Reword hb_ft_font_create_referenced explanation 2020-04-19 15:26:28 +01:00
n8willis e7d5fa4a58 [Usermanual, utilities] - correct DocBook tags
Changes stray <program> DocBook tags on this page to <command>. No instances found in the other docs.
2020-04-17 19:33:20 +04:30
Ebrahim Byagowi 32f431406e
[docs] minor
Fixes https://github.com/harfbuzz/harfbuzz/issues/2321
2020-04-16 22:07:07 +04:30
n8willis 9457b60edc
Update usermanual-integration.xml 2020-04-13 17:01:15 +01:00
n8willis 05b7bdb4dd
Update usermanual-integration.xml 2020-04-13 16:59:41 +01:00
n8willis f782d736ce
Update usermanual-integration.xml 2020-04-13 16:57:36 +01:00
n8willis 17b60efc38
Update docs/usermanual-integration.xml
Co-Authored-By: Khaled Hosny <dr.khaled.hosny@gmail.com>
2020-04-13 16:51:58 +01:00
n8willis 3a47921e88
Update usermanual-integration.xml 2020-04-13 15:42:00 +01:00
n8willis a29578c17a
Update usermanual-integration.xml 2020-04-13 15:30:18 +01:00
n8willis c241e82f00
Update docs/usermanual-integration.xml
Co-Authored-By: Khaled Hosny <dr.khaled.hosny@gmail.com>
2020-04-13 15:28:42 +01:00
Ebrahim Byagowi 755a77d660 Move outline draw API behind HB_EXPERIMENTAL_API directive 2020-03-13 08:25:53 +03:30
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