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
edeb3dabf4
[ft] Add version for new API
2015-10-08 12:47:15 -04:00
Behdad Esfahbod
2a9627c564
[ft] API: Add hb_font_[sg]et_load_flags() API
...
This changes the default load_flags of fonts created using
hb_ft_font_create() from NO_HINTING to DEFAULT. Hope that doesn't
break too much client code.
Code calling hb_ft_font_set_funcs() is unaffected.
2015-10-07 17:39:37 -04:00
Behdad Esfahbod
3224a594dc
Minor
2015-10-07 17:33:02 -04:00
Behdad Esfahbod
52b418555b
Allow compiling with custom allocators
...
User can define hb_malloc_impl, etc, to name of custom allocator functions
that have the same signature as malloc.
2015-10-03 13:20:55 +01: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
980e25cad2
Fix hb-ot-shape-normalize with empty buffer
...
Part of https://github.com/behdad/harfbuzz/issues/136
2015-10-02 08:21:12 +01:00
Behdad Esfahbod
a5efaac4ff
Replace a couple of malloc()s with calloc()
2015-10-02 08:02:29 +01:00
Behdad Esfahbod
26ba4d1e1f
Fix segfault with empty buffer in hb_shape_plan_execute()
...
Move the empty-buffer check from hb_shape_full() to hb_shape_plan_execute().
Reported by Simon Cozens.
2015-10-02 07:25:52 +01:00
Behdad Esfahbod
432ffc47a4
1.0.4
2015-09-30 22:51:16 +01:00
Behdad Esfahbod
b47159011c
Define return_trace()
...
Not functional change (expected!).
2015-09-29 14:57:02 +01:00
Behdad Esfahbod
c917965b9e
Add missing returns
...
Fixes possible invalid read of two bytes.
Reported by Behzad Najjarpour Jabbari, Secunia Research.
2015-09-29 14:45:35 +01:00
Behdad Esfahbod
f3159ba514
Micro-optimize hb_language_from_string()
...
As measured / improved by Benson Limketkai.
2015-09-29 14:34:56 +01:00
Sascha Brawer
f2ad935e19
Handle language tags that indicate phonetic IPA transcription
...
The BCP-47 registry defines a variant subtag "fonipa" that can be used
in combination with arbitrary other language tags. For example,
"rm-CH-fonipa-sursilv" indicates the Sursilvan dialect of Romansh
as used in Switzerland, transcribed used the International Phonetic
Alphabet.
http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
2015-09-29 14:32:06 +01:00
Behdad Esfahbod
b8811429b6
Fix Since tags
...
Fixes https://github.com/behdad/harfbuzz/issues/103
2015-09-03 15:53:22 +04:30
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
Behdad Esfahbod
7f54053974
1.0.3
2015-09-01 17:03:50 +01:00
Behdad Esfahbod
5828c45d7a
[indic] Add comments to merge_clusters calls
2015-09-01 16:34:12 +01:00
Behdad Esfahbod
bdc8215949
[thai] Respect cluster-level > 0
2015-09-01 16:24:54 +01:00
Behdad Esfahbod
5b31fe383e
[use] Merge /before/ reordering
2015-09-01 16:24:34 +01:00
Behdad Esfahbod
0d438f89bd
[hangul] Merge /before/ reordering
2015-09-01 16:24:13 +01:00
Behdad Esfahbod
f883de664f
[OT] Merge /before/ reordering
2015-09-01 16:23:40 +01:00
Behdad Esfahbod
c403d63200
[myanmar] Use buffer->sort() to sort cluster
...
This can possibly produce more granular clusters.
2015-09-01 16:15:25 +01:00
Behdad Esfahbod
e995d33c10
[OT] Merge clusters when reordering marks for normalization
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=541608
and cluster test.
2015-09-01 16:13:32 +01:00
Behdad Esfahbod
b6d7d161a8
[tests] Add Hebrew test for normalization under cluster-level=1
...
Currently fails.
https://bugzilla.gnome.org/show_bug.cgi?id=541608
2015-09-01 16:12:44 +01:00
Behdad Esfahbod
93099748e3
Minor
2015-09-01 16:11:27 +01:00
Behdad Esfahbod
85846b3de7
Use insertion-sort instead of bubble-sort
...
Needed for upcoming merge-clusters fix.
2015-09-01 15:07:52 +01:00
Behdad Esfahbod
fad2674874
Minor
2015-09-01 14:45:46 +01:00
Behdad Esfahbod
23e4fac6de
Update git.mk from upstream
2015-08-31 19:41:01 +01: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
Behdad Esfahbod
c424b41705
Merge pull request #129 from simoncozens/docs
...
First two chapters. More to follow.
2015-08-31 09:53:16 +01:00
Behdad Esfahbod
31594b98af
[test] Fix test-object
...
See previous commit.
2015-08-30 17:33:04 +01:00
Behdad Esfahbod
326b5ebf57
Poison freed objects such that double-free is detected
...
Previously we were setting refcount of freed objects to the inert value, which
was harmful because it caused further destroy()s of the freed object to NOT
call free() and hence hide the bug. Indeed, after eb0bf3ae66
test-object
was double-free'ing objects and this was never caught on Linux. It only was
caught as crashing on Mac.
Now we poison refcount upon freeing and check that it's valid whenever reading
it. Makes test-object fail now.
2015-08-30 17:29:21 +01:00
Simon Cozens
5470e744dd
Current state and skeleton outline
2015-08-29 08:21:18 +01:00
Behdad Esfahbod
6578575cc8
[GPOS] Fix cursive connection with mix of RTL and non-RTL lookups
...
See thread "Issue with cursive attachment" started by Khaled.
Turned out fixing this wasn't as bad as I had assumed. I like the
new code better; we now have a theoretical model of cursive
connections that is easier to reason about.
2015-08-25 20:29:36 +01:00
Behdad Esfahbod
7368da6724
[test] Add test for cursive-positioning with mixed directions
...
Fails now. Fix coming. See thread "Issue with cursive attachment"
started by Khaled. Test fonts were made by modifying test font
from Khaled to add more anchors.
2015-08-25 20:29:36 +01:00
Simon Cozens
f0807654da
First two chapters. More to follow.
2015-08-25 19:57:15 +01:00
Behdad Esfahbod
58f2a73fb9
[GPOS] Rewrite cursive attachment slightly differently
...
In anticipation for upcoming fix for bug reported by
Khaled in thread "Issue with cursive attachment".
2015-08-25 18:58:24 +01:00
Behdad Esfahbod
fdd1770e00
Add API/cmdline to show glyph extents when serializing buffer
...
New API: HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS
hb-shape now accepts --show-extents.
Patch from Simon Cozens.
2015-08-24 13:49:55 +01:00
Behdad Esfahbod
2cee5b68a0
[ot-font] Fix short-offset calculation
2015-08-24 13:45:12 +01:00
Behdad Esfahbod
b50fcfa829
[ot-font] Implement glyph_extents() for TrueType fonts
...
This brings ot-fonts into almost-complete shape and mostly in par with
ft font.
2015-08-23 14:42:20 +01:00
Behdad Esfahbod
0299b45000
Make BYTE a real type
2015-08-21 12:44:36 +01:00
Behdad Esfahbod
ed6962c795
[coretext] Use i32 instead of u32 as well
...
Shouldn't cause *any* functional changes, but is more correct.
2015-08-20 15:39:53 +01:00