Behdad Esfahbod [Wed, 22 Jul 2015 10:54:02 +0000 (11:54 +0100)]
Add foreach_syllable
Use it in USE.
Behdad Esfahbod [Wed, 22 Jul 2015 10:16:01 +0000 (11:16 +0100)]
[USE] Do Arabic-like shaping
Behdad Esfahbod [Wed, 22 Jul 2015 09:32:30 +0000 (10:32 +0100)]
Add hb-ot-shape-complex-arabic-private.hh
Behdad Esfahbod [Tue, 21 Jul 2015 17:24:21 +0000 (18:24 +0100)]
[USE] Only reorder the first component of a split left mark
Behdad Esfahbod [Tue, 21 Jul 2015 17:09:40 +0000 (18:09 +0100)]
[USE] Don't compose split matras
Same logic as in Indic shaper.
Behdad Esfahbod [Tue, 21 Jul 2015 16:47:06 +0000 (17:47 +0100)]
Remove unused SEA shaper
Behdad Esfahbod [Tue, 21 Jul 2015 16:46:06 +0000 (17:46 +0100)]
Retire SEA shaper in favor of USE
Behdad Esfahbod [Tue, 21 Jul 2015 16:31:43 +0000 (17:31 +0100)]
[USE] Only use USE shaper if script system is not DFLT
Same logic as Indic and SEA.
Behdad Esfahbod [Tue, 21 Jul 2015 16:24:18 +0000 (17:24 +0100)]
Route misc untested scripts through USE shaper instead of Indic
These were never tested with Indic shaper, and indeed wouldn't work there
because they didn't have their viramas and other config defined. They are
all also supported by MS through USE, so route them there.
Behdad Esfahbod [Tue, 21 Jul 2015 16:14:54 +0000 (17:14 +0100)]
[USE] Implement dotted-circle
This makes USE feature-complete as far as the Indic-like features
are concerned.
Behdad Esfahbod [Tue, 21 Jul 2015 15:55:26 +0000 (16:55 +0100)]
[USE] Move pref
Behdad Esfahbod [Tue, 21 Jul 2015 15:46:37 +0000 (16:46 +0100)]
[USE] Fix-up variation selectors and word joiner in table
Behdad Esfahbod [Tue, 21 Jul 2015 15:43:27 +0000 (16:43 +0100)]
[USE] Use a couple warnings
Behdad Esfahbod [Tue, 21 Jul 2015 15:07:10 +0000 (16:07 +0100)]
[USE] Move rphf
Behdad Esfahbod [Tue, 21 Jul 2015 14:52:15 +0000 (15:52 +0100)]
Add FLAG_UNSAFE()
Unused right now.
Behdad Esfahbod [Tue, 21 Jul 2015 14:50:02 +0000 (15:50 +0100)]
Add FLAG_SAFE() for values known to be small-enough
And add check to FLAG()
Behdad Esfahbod [Tue, 21 Jul 2015 14:45:48 +0000 (15:45 +0100)]
Add note re ASSERT_STATIC_EXPR_ZERO()
Behdad Esfahbod [Tue, 21 Jul 2015 14:17:27 +0000 (15:17 +0100)]
Remove unused macro ASSERT_STATIC_EXPR()
Behdad Esfahbod [Tue, 21 Jul 2015 14:05:35 +0000 (15:05 +0100)]
Use unsigned in FLAG()
Behdad Esfahbod [Tue, 21 Jul 2015 13:51:45 +0000 (14:51 +0100)]
[USE] Use use_category() for rphf/pref memory
Behdad Esfahbod [Tue, 21 Jul 2015 13:15:35 +0000 (14:15 +0100)]
[USE] Hook of rphf and pref custom processing
Still no reordering.
Behdad Esfahbod [Tue, 21 Jul 2015 10:57:23 +0000 (11:57 +0100)]
[USE] Add CGJ to table
Behdad Esfahbod [Tue, 21 Jul 2015 09:24:32 +0000 (10:24 +0100)]
[USE] Set up features
Behdad Esfahbod [Tue, 21 Jul 2015 09:02:04 +0000 (10:02 +0100)]
[USE] Hook up new scripts to USE shaper
Don't reroute scripts that we were routing to other shapers
before (just yet).
Behdad Esfahbod [Tue, 21 Jul 2015 08:31:19 +0000 (09:31 +0100)]
[USE] Remove unused Unicode data enums from USE C++ side
Behdad Esfahbod [Mon, 20 Jul 2015 17:01:10 +0000 (18:01 +0100)]
[USE] Finish converting Unicode positional categories to USE
Even compiles.
Behdad Esfahbod [Mon, 20 Jul 2015 16:00:06 +0000 (17:00 +0100)]
[USE] Map from Unicode data to USE syllabic categories
Positional sub-categories not applied yet.
Behdad Esfahbod [Mon, 20 Jul 2015 14:56:19 +0000 (15:56 +0100)]
[USE] Start moving Unicode-to-USE mapping into Python code
Behdad Esfahbod [Mon, 20 Jul 2015 14:33:25 +0000 (15:33 +0100)]
[USE] Fix Number clusters
The spec wrongly has "H" where "HN" is meant.
Behdad Esfahbod [Mon, 20 Jul 2015 13:24:55 +0000 (14:24 +0100)]
[USE] Start putting together the shaper body
Behdad Esfahbod [Mon, 20 Jul 2015 12:30:51 +0000 (13:30 +0100)]
[USE] Put a Ragel machine together
Grammar from the spec!
Behdad Esfahbod [Mon, 20 Jul 2015 12:30:45 +0000 (13:30 +0100)]
Minor
Behdad Esfahbod [Mon, 20 Jul 2015 11:01:20 +0000 (12:01 +0100)]
[USE] Minor optimization of USE table
Behdad Esfahbod [Mon, 20 Jul 2015 10:57:44 +0000 (11:57 +0100)]
[USE] Add Kharoshti test data from Unicode proposal
Behdad Esfahbod [Mon, 20 Jul 2015 10:46:17 +0000 (11:46 +0100)]
[USE] Build Universal Shaping Engine data table from Unicode 8 files
Behdad Esfahbod [Mon, 20 Jul 2015 10:32:48 +0000 (11:32 +0100)]
[USE] Add Universal Shaping Engine to Makefile
Behdad Esfahbod [Wed, 15 Jul 2015 00:39:57 +0000 (01:39 +0100)]
Update Arabic shaping table for Unicode 8.0
Behdad Esfahbod [Wed, 15 Jul 2015 00:36:39 +0000 (01:36 +0100)]
Add Unicode 8.0 scripts
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1183209
Behdad Esfahbod [Sun, 5 Jul 2015 21:43:17 +0000 (22:43 +0100)]
Fix pragma usage
https://bugs.freedesktop.org/show_bug.cgi?id=91228
Commit
cdcdfe61b97a0a48ccf834b6d924d187da9609be changed two `#pragma
message` to `#pragma error` in hb-unicode.cc, however MSVC uses #error,
just like the #else branch. `#pragma error` is an unknown pragma so
MSVC does not fail the build because of it, which I believe was the
intention of that commit.
If it's meant to be an #error, then the #ifdef for _MSC_VER can be
removed entirely.
Behdad Esfahbod [Fri, 19 Jun 2015 20:31:49 +0000 (13:31 -0700)]
When removing default-ignorables, merge clusters
Fixes test-shape, and:
https://code.google.com/p/chromium/issues/detail?id=497578
Behdad Esfahbod [Fri, 19 Jun 2015 18:57:57 +0000 (11:57 -0700)]
Rewrite hide_default_ignorables
Separate the loops for the two cases of replacing with space
and deleting. For deleting, use the out-buffer machinery.
Needed for upcoming cluster merge fix.
Behdad Esfahbod [Fri, 19 Jun 2015 00:15:33 +0000 (17:15 -0700)]
[test] Add test for cluster merging
Based on test from https://code.google.com/p/chromium/issues/detail?id=497578
Currently fails. Basically, if there's a default_ignorable at the
start of text, and font has no space glyph, we remove the default_ignorable,
and that makes the first char in text to correspond to no cluster.
Fix coming.
Behdad Esfahbod [Thu, 18 Jun 2015 18:14:56 +0000 (11:14 -0700)]
0.9.41
Behdad Esfahbod [Thu, 18 Jun 2015 17:55:13 +0000 (10:55 -0700)]
[util] Disable hb-fc-list for now
Until I figure out what to do about the API, and finalize
the tool.
Behdad Esfahbod [Sat, 13 Jun 2015 00:46:06 +0000 (17:46 -0700)]
[bindings] Fix hb_language_get_default() and hb_ot_tag_to_language()
Part of https://github.com/behdad/harfbuzz/issues/91
Behdad Esfahbod [Sat, 13 Jun 2015 00:37:41 +0000 (17:37 -0700)]
[TravisCI] Hook up Coverity
First try...
Behdad Esfahbod [Sat, 13 Jun 2015 00:29:05 +0000 (17:29 -0700)]
Add Coverity Scan badge
Behdad Esfahbod [Wed, 10 Jun 2015 17:57:46 +0000 (10:57 -0700)]
Fix warnings: "member call on null pointer of type"
https://bugzilla.mozilla.org/show_bug.cgi?id=1167119
Behdad Esfahbod [Wed, 3 Jun 2015 19:07:46 +0000 (12:07 -0700)]
Fix build
Behdad Esfahbod [Wed, 3 Jun 2015 18:53:42 +0000 (11:53 -0700)]
Add include check to hb-ot-font.h
Behdad Esfahbod [Mon, 1 Jun 2015 20:27:37 +0000 (13:27 -0700)]
Merge pull request #111 from brawer/since
Fix "Since:" tags
Sascha Brawer [Mon, 1 Jun 2015 11:22:01 +0000 (13:22 +0200)]
Fix "Since:" tags
Based on data from http://upstream-tracker.org/versions/harfbuzz.html
Resolves #103
Behdad Esfahbod [Thu, 21 May 2015 21:00:15 +0000 (14:00 -0700)]
Fix unary minus operator applied to unsigned int
Applying unary minus operator to unsigned int causes the following
warning on MSVS:
warning C4146: unary minus operator applied to unsigned type, result still unsigned
Based on patch from Koji Ishi.
Fixes https://github.com/behdad/harfbuzz/pull/110
Behdad Esfahbod [Wed, 20 May 2015 00:42:30 +0000 (17:42 -0700)]
[gobject] Remove hb_language_t workarounds for g-i shortcomings
Using latest gobject-introspection, I don't seem to be having this
problem anymore:
https://bugzilla.gnome.org/show_bug.cgi?id=707656
Removing that kludge makes language_t behave more like the way I expect it
in Python.
Also fixes:
https://github.com/behdad/harfbuzz/issues/91
Behdad Esfahbod [Wed, 20 May 2015 00:20:58 +0000 (17:20 -0700)]
[gobject] Macroize value types
Fixes user_data_t
Behdad Esfahbod [Tue, 19 May 2015 01:37:06 +0000 (18:37 -0700)]
[ft] Don't set *glyph in get_glyph() if glyph not found
Behdad Esfahbod [Mon, 18 May 2015 21:16:28 +0000 (14:16 -0700)]
[util] Minor
Behdad Esfahbod [Thu, 7 May 2015 17:46:42 +0000 (10:46 -0700)]
Merge pull request #105 from ebraminio/master
Fix Travis CI config to pass again
Ebrahim Byagowi [Thu, 7 May 2015 13:09:32 +0000 (13:09 +0000)]
Fix Travis CI config to pass again
Behdad Esfahbod [Wed, 6 May 2015 07:40:31 +0000 (00:40 -0700)]
Add note re OpenType 1.7 language tags
Roozbeh Pournader [Wed, 6 May 2015 05:31:19 +0000 (22:31 -0700)]
[minor] Remove comment about Navajo OpenType code.
Apparently the code is already standardized:
https://www.microsoft.com/typography/otspec/languagetags.htm
Behdad Esfahbod [Tue, 5 May 2015 21:49:47 +0000 (14:49 -0700)]
Merge pull request #102 from roozbehp/master
Add OpenType language tag 'NAV ' for Navajo.
Behdad Esfahbod [Tue, 5 May 2015 06:10:32 +0000 (23:10 -0700)]
[README.python] Add package name for gobject-introspection on Ubuntu
Behdad Esfahbod [Tue, 5 May 2015 06:09:51 +0000 (23:09 -0700)]
[travis] Comment out gobject-introspection again
Apparently the version on Travis is 1.32.0, while we require 1.34.0.
Behdad Esfahbod [Tue, 5 May 2015 02:22:11 +0000 (19:22 -0700)]
[travis] Build with introspection enabled
Behdad Esfahbod [Thu, 30 Apr 2015 22:27:13 +0000 (18:27 -0400)]
Use TRUE/FALSE instead of true/false in docs
Khaled Hosny [Wed, 8 Jan 2014 00:28:55 +0000 (02:28 +0200)]
Some attempt into initial hb-shape documentation
Very anaemic, needs to descripe the format understood by
hb_feature_from_string() etc., but it is just start.
Behdad Esfahbod [Thu, 30 Apr 2015 17:04:16 +0000 (13:04 -0400)]
New API: hb_buffer_reverse_range()
Roozbeh Pournader [Wed, 29 Apr 2015 16:32:42 +0000 (09:32 -0700)]
Add OpenType language tag 'NAV ' for Navajo.
The code is not standardized yet, but is used in some Google fonts.
Jonathan Kew [Thu, 23 Apr 2015 11:45:02 +0000 (12:45 +0100)]
Don't apply Arabic shaping to vertical text.
Behdad Esfahbod [Fri, 24 Apr 2015 01:56:24 +0000 (18:56 -0700)]
Update check-libstdc++ for clang
Behdad Esfahbod [Thu, 23 Apr 2015 21:32:33 +0000 (14:32 -0700)]
[test] Ignor 'n' and 'i' in hb-unicode-encode
Allows accepting uniXXXX format.
Behdad Esfahbod [Wed, 22 Apr 2015 02:23:27 +0000 (19:23 -0700)]
[coretext] Oops; fix issue number for previous commit
Behdad Esfahbod [Wed, 22 Apr 2015 02:21:32 +0000 (19:21 -0700)]
[coretext] Fix positioning with trailing whitespace
Fixes https://code.google.com/p/chromium/issues/detail?id=476913
Behdad Esfahbod [Fri, 17 Apr 2015 20:08:08 +0000 (13:08 -0700)]
[ot-font] Accept MS Symbol cmap if nothing else found
Behdad Esfahbod [Tue, 14 Apr 2015 20:32:22 +0000 (13:32 -0700)]
Revert "Add MSVC pragma for UTF-8 source code"
This reverts commit
89cbd4d9533011fb5487caa99a0cd58923e7cf59.
See discussion:
https://bugzilla.gnome.org/show_bug.cgi?id=747772
Behdad Esfahbod [Tue, 14 Apr 2015 06:51:45 +0000 (23:51 -0700)]
Whitespace
Behdad Esfahbod [Tue, 14 Apr 2015 06:40:35 +0000 (23:40 -0700)]
Merge pull request #86 from cpfair/hb-shape-output-help-improvement
Improve hb-shape/hb-view's help text w.r.t. output options
Behdad Esfahbod [Mon, 13 Apr 2015 19:27:08 +0000 (12:27 -0700)]
Add MSVC pragma for UTF-8 source code
Not sure we have any right now; motivated by this:
https://bugzilla.gnome.org/show_bug.cgi?id=747772
Behdad Esfahbod [Fri, 10 Apr 2015 21:34:05 +0000 (14:34 -0700)]
Merge pull request #99 from khaledhosny/introspection-fixes2
More ntrospection fixes
Khaled Hosny [Fri, 10 Apr 2015 16:14:45 +0000 (18:14 +0200)]
[bindings] Fix hb_buffer_get_segment_properties
Annotate the output parameter.
Behdad Esfahbod [Fri, 10 Apr 2015 19:21:04 +0000 (12:21 -0700)]
Merge branch 'hb-fc'
Behdad Esfahbod [Fri, 10 Apr 2015 19:19:57 +0000 (12:19 -0700)]
Merge pull request #98 from KonstantinRitt/WEC2013
Fix build on WEC2013
Khaled Hosny [Fri, 10 Apr 2015 15:49:01 +0000 (17:49 +0200)]
[bindings] Fix ownership of returned hb_language_t
It should not be freed by the caller.
Konstantin Ritt [Fri, 10 Apr 2015 13:18:01 +0000 (17:18 +0400)]
Fix build on WEC2013
Based on patch from Björn Breitmeyer
Behdad Esfahbod [Wed, 6 Aug 2014 20:49:51 +0000 (16:49 -0400)]
[utils] Add hb-fc-list
This is a tool that lists all fonts that can render a given string.
It uses hb_shape() to do so, and as such is aware of HarfBuzz's
normalizer.
Behdad Esfahbod [Wed, 6 Aug 2014 19:36:41 +0000 (15:36 -0400)]
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.
Behdad Esfahbod [Thu, 9 Apr 2015 22:52:26 +0000 (15:52 -0700)]
[util/hb-view] Fix rendering with all combinations of negative scales
Behdad Esfahbod [Thu, 9 Apr 2015 22:17:16 +0000 (15:17 -0700)]
[util] Minor
Behdad Esfahbod [Thu, 9 Apr 2015 22:04:42 +0000 (15:04 -0700)]
[util] Accept comma as well as space when separating components of args
Applies to --font-size and --margin.
Hopefully the scanf usage here doesn't have compatibility issues
(star being counted in the return value, etc).
Behdad Esfahbod [Thu, 9 Apr 2015 19:04:14 +0000 (12:04 -0700)]
Minor rename
Behdad Esfahbod [Wed, 8 Apr 2015 23:26:24 +0000 (16:26 -0700)]
Minor
Behdad Esfahbod [Wed, 8 Apr 2015 23:26:16 +0000 (16:26 -0700)]
Fixup
Behdad Esfahbod [Wed, 8 Apr 2015 21:39:00 +0000 (14:39 -0700)]
Fix warnings
Part of https://github.com/behdad/harfbuzz/pull/68
Behdad Esfahbod [Wed, 8 Apr 2015 20:25:04 +0000 (13:25 -0700)]
Err, instead of warn, if mutex / atomic / unicode funcs are missing
Hopefully this results in fewer badly built HarfBuzz integrations.
Behdad Esfahbod [Wed, 8 Apr 2015 20:03:27 +0000 (13:03 -0700)]
Fix unused var warnings
Konstantin Ritt [Fri, 27 Mar 2015 20:49:33 +0000 (00:49 +0400)]
Minor refactoring to the atomics implementation
s/atomic_int/atomic_int_impl/ and s/atomic_ptr/atomic_ptr_impl/
to bring it in par with hb_mutex_impl_t, then re-introduce
hb_atomic_int_t as a wrapper around hb_atomic_int_impl_t.
In hb_reference_count_t, make it clear the non-atomic get and set
are intentional due to nature of the cases they are used in
(comparison to -1 and the debug output/tracing).
Behdad Esfahbod [Wed, 8 Apr 2015 19:52:06 +0000 (12:52 -0700)]
Minor
Behdad Esfahbod [Wed, 8 Apr 2015 19:49:38 +0000 (12:49 -0700)]
Allow implementing atomic and mutex ops in config
Motivated by
https://github.com/behdad/harfbuzz/pull/92
Behdad Esfahbod [Wed, 8 Apr 2015 19:49:23 +0000 (12:49 -0700)]
Minor