Commit Graph

200 Commits

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