Commit Graph

173 Commits

Author SHA1 Message Date
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