Behdad Esfahbod
22af28a3f1
[var] Implement MVAR table
...
Unhooked. Untested.
2017-01-23 23:42:53 -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
7647a05a0b
Minor
2017-01-22 17:47:49 -08:00
Behdad Esfahbod
d2f249e745
Stub out doc comments for new symbols
2017-01-22 17:42:33 -08:00
Behdad Esfahbod
bb1e19268f
[var] Rename var_coord to variation
...
Looks much better.
2017-01-21 17:42:50 -08:00
Behdad Esfahbod
64fe92bf2d
[var] Remove use of variable-length arrays
2017-01-21 15:36:35 -08:00
Behdad Esfahbod
2491134b38
[var] Add hb_font_set_var_coords()
2017-01-21 15:21:50 -08:00
Behdad Esfahbod
113393efec
Remove a few unused includes
2017-01-21 15:12:03 -08:00
Behdad Esfahbod
8b2a580470
[var] Add hb_font_set_var_coords_design()
2017-01-21 15:05:00 -08:00
Behdad Esfahbod
0dcc7b49a8
[var] Minor lifecycle adjustment
2017-01-21 14:50:22 -08:00
Behdad Esfahbod
bf0d3a665b
[var] Add hb_font_get_var_coords_normalized()
2017-01-21 14:48:46 -08:00
Behdad Esfahbod
f2e73d37e7
[var] Remove over-optimization
2017-01-20 17:42:18 -08:00
Behdad Esfahbod
72ada4f0c6
[GX] Hook up feature variations
...
Shape-plan caching is not implemented.
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
26648cebcd
[GX] Remove (partial) support for anisotropic variations
...
It doesn't always work, not part of FreeType, and we were not going
to expose it in the API anyway. Can always be added later.
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
c22176d4ba
[GX] Handle setting var coords to NULL
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
250bcd6fb6
[GX] Skip tail zero entries when setting variation coordinates
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
ad69e8f07c
[GX] Add new API hb_font_set_var_coords_normalized()
...
Will probably change.
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
bb4d2e6ed5
[GX] Free GX coordinates
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
ca28670316
[GX] Towards anisotropic interpolation
...
Also hookup to ValueRecord and Anchors.
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
6d9d3c55bb
[GX] Add data types for encoding numerical variations
2016-12-16 19:06:26 -06:00
Behdad Esfahbod
333173103b
Fix sign of shift operators
...
This one:
map->mask = (1 << (next_bit + bits_needed)) - (1 << next_bit);
before the fix, the shift was done as an int, causing overflow
if it ever got to 1 << 31. Sprinkle 'u's around.
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=634805
2016-08-08 17:28:14 -07:00
Behdad Esfahbod
aba4b0ca52
Add TODO
2016-06-01 16:57:29 -07:00
Konstantin Ritt
71248a843f
Fix build with HB_DISABLE_DEPRECATED
...
When HB_DISABLE_DEPRECATED is defined, no code from hb-deprecated.h
should be used, even from within HB itself.
2016-02-25 18:55:28 +04:00
Behdad Esfahbod
c335fd7986
In trampoline implementation of get_glyph(), don't destroy user data twice!
2016-02-25 09:16:05 +09:00
Behdad Esfahbod
8b5bc141cd
Add get_nominal_glyph() and get_variation_glyph() instead of get_glyph()
...
New API:
- hb_font_get_nominal_glyph_func_t
- hb_font_get_variation_glyph_func_t
- hb_font_funcs_set_nominal_glyph_func()
- hb_font_funcs_set_variation_glyph_func()
- hb_font_get_nominal_glyph()
- hb_font_get_variation_glyph()
Deprecated API:
- hb_font_get_glyph_func_t
- hb_font_funcs_set_glyph_func()
Clients that implement their own font-funcs are encouraged to replace
their get_glyph() implementation with a get_nominal_glyph() and
get_variation_glyph() pair. The variation version can assume that
variation_selector argument is not zero.
2016-02-24 19:05:23 +09:00
Behdad Esfahbod
f11c11a1f1
Fix Since: tags for new API
...
e1d4d0f1db (commitcomment-15006653)
2015-12-16 17:08:36 +01:00
Simon Cozens
6f2e6de1fa
Get font ascender and descender metrics from OS/2 table.
2015-11-27 16:03:54 -05:00
Behdad Esfahbod
c41c145c73
Make nil glyph_h_origin() function return true
...
Fixes https://github.com/behdad/harfbuzz/issues/187
Funcs implementations that have a non-zero horizontal origin must
implement the glyph_h_origin() callback, nothing new here.
Other implementations (all I know of!) can simply not set
glyph_h_origin() now. I did that for hb-ot and hb-ft in
44f8275080
, though that broke the
fallback shaper because the default was returning false...
2015-11-26 18:43:15 -05:00
jfkthame
f19c6db18e
Add braces for subobject initializer in _hb_font_funcs_nil
...
To avoid triggering -Wmissing-braces; see https://bugzilla.mozilla.org/show_bug.cgi?id=1226175#c8
2015-11-20 08:43:49 +00:00
Behdad Esfahbod
28de104f15
Move variable-sized struct member to end
...
Hopefully makes clang build happy
2015-11-04 22:03:09 -08:00
Behdad Esfahbod
762770c964
Add font->has_...() to check for individual nil font funcs
...
Hopefully this wouldn't break any compiler. There was some magic
moments to getting this to compile...
2015-11-04 21:49:19 -08:00
Behdad Esfahbod
88e9a9bcae
Minor reshaping of hb_font_funcs_t implementation
...
In anticipation of further changes. No functional changes.
2015-11-04 21:16:26 -08:00
Behdad Esfahbod
da29b43794
Separate nil font-funcs from parent-peeking font-funcs
...
API change: all fonts created with hb_font_create() now inherit from
(ie have parent) hb_font_get_empty().
2015-11-04 20:22:44 -08:00
Behdad Esfahbod
3e905e396b
Add hb_font_set_parent()
...
No reason to not have it. Makes life easier later.
We (hb-ft, hb-ot-font, etc) can use this API to inject new
parent into a font...
2015-10-08 12:51:02 -04:00
Behdad Esfahbod
88da7bba9f
Default font scale to face upem
...
Makes for a better default and avoids nasty inheritance issues.
See mailing list thread "Default hb_font_t scale".
2015-10-02 14:38:20 +01:00
Behdad Esfahbod
1866e17114
Make hb_font_create_sub_font() NOT make parent immutable
...
We don't rely on that. However, whenever hb_font_make_immutable()
is called, it makes its parenting chain immutable.
2015-10-02 14:21:29 +01:00
Behdad Esfahbod
5d74ff02ab
Fix Since: version tags on font and face APIs
...
A while back we marked every API as version:1.0. We should fix them all
to reflect real version they were introduced. This is a start.
Patch from Nikolay Sivov.
2015-09-03 14:55:59 +04:30
Sascha Brawer
01c3a88543
Fix "Since:" tags
...
Based on data from http://upstream-tracker.org/versions/harfbuzz.html
Resolves #103
2015-06-01 13:25:27 +02:00
Behdad Esfahbod
eb0bf3ae66
Relax inert checks
...
Previously, when creating an object from inert inputs (eg:
"hb_font_create(hb_face_get_empty())") we returned the inert
empty object. This is not helpful as there are legitimate
usecases to do that.
We now never return the inert object unless allocation failed.
Tests are revised to reflect.
2015-04-09 19:16:57 -07:00
Khaled Hosny
a394bb6670
[bindings] Fix *_from_string functions
...
Without the element-type they will be getting garbage, at least with
Python.
2015-03-22 20:29:10 +02:00
Behdad Esfahbod
3f310dc0ca
Disallow changing settings on immutable face
...
Ouch!
2014-07-22 16:26:27 -04:00
Behdad Esfahbod
2a8c49ade0
Remove unnecessary includes
2013-12-11 20:24:20 -05:00
Behdad Esfahbod
a8949df487
[introspection] Annotate Unicode / font callbacks
...
Should move these out of the public header...
We're "clean" of introspection warnings now. Remaining ones are about
graphite2 / freetype types not being introspectable.
2013-09-13 20:31:07 -04:00
Behdad Esfahbod
085d4291a9
[introspection] Disable constructors for now
...
Since our types are not associated with their methods, marking
constructors makes them inaccessible from bindings. Undo for now.
2013-09-12 17:14:33 -04:00
Behdad Esfahbod
70303cf23b
[docs/introspection] Some more annotations
2013-09-06 17:38:25 -04:00
Behdad Esfahbod
288f289997
[docs/introspection] More annotations
2013-09-06 17:30:54 -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
e05a999495
Add hb_face_[sg]et_glyph_count()
2012-11-15 16:23:21 -08:00
Behdad Esfahbod
7c8e844d92
Use namespace for OpenType tables
...
Avoids USHORT, SHORT, ULONG, LONG clashes with Windows API.
2012-08-28 17:57:49 -04:00
Behdad Esfahbod
4c8ac4f47e
Misc minor fixes
2012-08-08 17:44:19 -04:00