framework/uifw/harfbuzz.git
12 years agoRefactor some code common to GSUB and GPOS
Behdad Esfahbod [Fri, 8 Jul 2011 01:22:08 +0000 (21:22 -0400)]
Refactor some code common to GSUB and GPOS

12 years agoEnable applying GSUB/GPOS features in multiple segments
Behdad Esfahbod [Fri, 8 Jul 2011 01:07:41 +0000 (21:07 -0400)]
Enable applying GSUB/GPOS features in multiple segments

Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=644184
among others.

Shapers now can request segmented feature application by calling
add_gsub_pause() or add_gpos_pause().  They can also provide a
callback to be called at the pause.  Currently the Arabic shaper
uses pauses to enforce certain feature application.  The Indic
shaper can use the same facility to pause and do reordering in the
callback.

12 years agoShuffle code around
Behdad Esfahbod [Thu, 7 Jul 2011 20:20:35 +0000 (16:20 -0400)]
Shuffle code around

12 years agoAdd todo
Behdad Esfahbod [Thu, 7 Jul 2011 20:09:38 +0000 (16:09 -0400)]
Add todo

I'm too lazy to fix the tests now.

12 years agoFix reverse_range() position loop
Behdad Esfahbod [Wed, 6 Jul 2011 20:05:45 +0000 (16:05 -0400)]
Fix reverse_range() position loop

Mozilla Bug 669175 - Slow rendering of text sometimes in this case,
using direction: rtl

12 years agoMinor
Behdad Esfahbod [Mon, 4 Jul 2011 21:18:57 +0000 (17:18 -0400)]
Minor

12 years ago[Indic] Well, at least finding syllables works now :)
Behdad Esfahbod [Mon, 4 Jul 2011 16:56:38 +0000 (12:56 -0400)]
[Indic] Well, at least finding syllables works now :)

Still not much there.

12 years ago[test-shape-complex] Remove the greek tests
Behdad Esfahbod [Tue, 28 Jun 2011 21:26:03 +0000 (17:26 -0400)]
[test-shape-complex] Remove the greek tests

They are outdated with respect to the DejaVu Sans I'm using.
We need to add font version checking to the tests.

12 years ago[test-shape-complex] Print out expected and actual glyphstrings upon failure
Behdad Esfahbod [Tue, 28 Jun 2011 21:25:17 +0000 (17:25 -0400)]
[test-shape-complex] Print out expected and actual glyphstrings upon failure

One has to run the test with --verbose to see that right now.

12 years ago[test] Name tests after their input string
Behdad Esfahbod [Tue, 28 Jun 2011 20:59:16 +0000 (16:59 -0400)]
[test] Name tests after their input string

12 years agoMinor
Behdad Esfahbod [Tue, 28 Jun 2011 20:21:31 +0000 (16:21 -0400)]
Minor

Towards a better test runner.

12 years agoMinor
Behdad Esfahbod [Tue, 28 Jun 2011 20:17:16 +0000 (16:17 -0400)]
Minor

12 years ago[test] Remove disabled code
Behdad Esfahbod [Tue, 28 Jun 2011 20:16:21 +0000 (16:16 -0400)]
[test] Remove disabled code

We'd add normalization and decomposition tests later.

12 years ago[test] Restructure shape test data a bit
Behdad Esfahbod [Tue, 28 Jun 2011 20:15:46 +0000 (16:15 -0400)]
[test] Restructure shape test data a bit

12 years ago[Indic] Optimize Indic table storage
Behdad Esfahbod [Tue, 28 Jun 2011 18:13:38 +0000 (14:13 -0400)]
[Indic] Optimize Indic table storage

12 years ago[Indic] Generate a single data table instead of multiple ones
Behdad Esfahbod [Tue, 28 Jun 2011 18:03:29 +0000 (14:03 -0400)]
[Indic] Generate a single data table instead of multiple ones

12 years ago[test] Add Indic tests from harfbuzz.old
Behdad Esfahbod [Tue, 28 Jun 2011 16:49:18 +0000 (12:49 -0400)]
[test] Add Indic tests from harfbuzz.old

Needs fonts to be put in test/fonts.  Tests are skipped otherwise.
Run with --verbose for details.  Working on improving the test runner
to make it easier to make sense of what's going on.

12 years ago[Indic] Define indic_position_t
Behdad Esfahbod [Sat, 25 Jun 2011 00:45:55 +0000 (20:45 -0400)]
[Indic] Define indic_position_t

12 years ago[Indic] Add a table of consonant positions
Behdad Esfahbod [Fri, 24 Jun 2011 23:05:52 +0000 (19:05 -0400)]
[Indic] Add a table of consonant positions

Copied form HarfBuzz.old Indic data.  These are below and post
consonants.  This is temporary.  Read the comment in the patch.

12 years ago[Indic] Some of the basic features are global; Mark them so
Behdad Esfahbod [Fri, 24 Jun 2011 23:05:34 +0000 (19:05 -0400)]
[Indic] Some of the basic features are global;  Mark them so

12 years ago[indic] Add syllable recognition state machine
Behdad Esfahbod [Fri, 17 Jun 2011 22:35:46 +0000 (18:35 -0400)]
[indic] Add syllable recognition state machine

Using an incredible tool called Ragel.

12 years agoBetter categorize Indic character classes
Behdad Esfahbod [Wed, 15 Jun 2011 21:22:48 +0000 (17:22 -0400)]
Better categorize Indic character classes

Matches OT types now.

12 years agoMinor compiler warning fixes
Behdad Esfahbod [Wed, 15 Jun 2011 13:49:58 +0000 (09:49 -0400)]
Minor compiler warning fixes

12 years agoChange a couple strstr() to strchr()
Behdad Esfahbod [Wed, 15 Jun 2011 13:33:52 +0000 (09:33 -0400)]
Change a couple strstr() to strchr()

12 years agoFix compiler warnings with -pedantic
Behdad Esfahbod [Tue, 14 Jun 2011 18:47:07 +0000 (14:47 -0400)]
Fix compiler warnings with -pedantic

12 years agoRemove extra semicolon
Behdad Esfahbod [Tue, 14 Jun 2011 18:35:44 +0000 (14:35 -0400)]
Remove extra semicolon

12 years agoCosmetic
Behdad Esfahbod [Mon, 13 Jun 2011 20:02:18 +0000 (16:02 -0400)]
Cosmetic

12 years agoGNOME Bug 652227 - Unconditional use of stdint.h
Behdad Esfahbod [Sat, 11 Jun 2011 03:08:54 +0000 (23:08 -0400)]
GNOME Bug 652227 - Unconditional use of stdint.h

12 years agoMore Indic data shuffling
Behdad Esfahbod [Tue, 7 Jun 2011 21:02:48 +0000 (17:02 -0400)]
More Indic data shuffling

12 years agoMinor
Behdad Esfahbod [Tue, 7 Jun 2011 19:51:40 +0000 (15:51 -0400)]
Minor

12 years ago[Indic] Start an Indic shaper
Behdad Esfahbod [Thu, 2 Jun 2011 21:43:12 +0000 (17:43 -0400)]
[Indic] Start an Indic shaper

Nothing functional in there yet.

So far, we're parsing IndicSyllabicCategory.txt and IndicMatraCategory.txt
fils from Unicode Character Database and store them in an array to be used
by the shaper.  Also hooked up the shaper, but it does not do anything
right now.

12 years agoMinor
Behdad Esfahbod [Thu, 2 Jun 2011 00:52:00 +0000 (20:52 -0400)]
Minor

12 years agoUpdate to ArabicShaping-6.1.0d2.txt
Behdad Esfahbod [Thu, 2 Jun 2011 00:45:14 +0000 (20:45 -0400)]
Update to ArabicShaping-6.1.0d2.txt

12 years agoMinor rename
Behdad Esfahbod [Wed, 1 Jun 2011 22:10:10 +0000 (18:10 -0400)]
Minor rename

12 years ago[TODO] New items
Behdad Esfahbod [Wed, 1 Jun 2011 16:44:30 +0000 (12:44 -0400)]
[TODO] New items

12 years ago[Vertical] Apply vertical features
Behdad Esfahbod [Tue, 31 May 2011 19:18:13 +0000 (15:18 -0400)]
[Vertical] Apply vertical features

We apply all of vert, vrt2, vkrn, valt, and vpal.

12 years ago[hb-view] Add --face-index to choose a face in a TrueType Collection
Behdad Esfahbod [Tue, 31 May 2011 16:59:17 +0000 (12:59 -0400)]
[hb-view] Add --face-index to choose a face in a TrueType Collection

12 years agoFix TTC header handling
Behdad Esfahbod [Tue, 31 May 2011 16:33:11 +0000 (12:33 -0400)]
Fix TTC header handling

Also change the Version type to avoid similar bugs in the future.

Reported by Grigori Goronzy.

12 years agoFixed inifinite loop introduced in 7403e055cd1463f
Behdad Esfahbod [Mon, 30 May 2011 15:08:40 +0000 (11:08 -0400)]
Fixed inifinite loop introduced in 7403e055cd1463f

k is the index, not j.

Reported by Tom Hacohen.

12 years agoShrink code size
Behdad Esfahbod [Fri, 27 May 2011 22:15:56 +0000 (18:15 -0400)]
Shrink code size

12 years ago[OT] Separate map_builder from the actual map
Behdad Esfahbod [Fri, 27 May 2011 22:13:31 +0000 (18:13 -0400)]
[OT] Separate map_builder from the actual map

Respectively, separate planner from the actual plan.

12 years agoMinor
Behdad Esfahbod [Fri, 27 May 2011 21:49:16 +0000 (17:49 -0400)]
Minor

12 years ago[TODO] Add item
Behdad Esfahbod [Fri, 27 May 2011 20:05:01 +0000 (16:05 -0400)]
[TODO] Add item

12 years agoMinor
Behdad Esfahbod [Fri, 27 May 2011 19:59:33 +0000 (15:59 -0400)]
Minor

12 years agoAdd check-includes.sh
Behdad Esfahbod [Fri, 27 May 2011 19:58:54 +0000 (15:58 -0400)]
Add check-includes.sh

12 years ago[configure] Generate sha256sum and GPG-sign it
Behdad Esfahbod [Fri, 27 May 2011 08:58:11 +0000 (04:58 -0400)]
[configure] Generate sha256sum and GPG-sign it

12 years ago[test] Rename valgrind-log to log-vaglring.txt
Behdad Esfahbod [Fri, 27 May 2011 07:58:17 +0000 (03:58 -0400)]
[test] Rename valgrind-log to log-vaglring.txt

12 years agoMinor
Behdad Esfahbod [Fri, 27 May 2011 07:56:37 +0000 (03:56 -0400)]
Minor

12 years agoBump version to 0.7.0 to open up for development
Behdad Esfahbod [Fri, 27 May 2011 08:14:12 +0000 (04:14 -0400)]
Bump version to 0.7.0 to open up for development

12 years agoRelease 0.6.0. First official tarball release!
Behdad Esfahbod [Wed, 25 May 2011 20:08:06 +0000 (16:08 -0400)]
Release 0.6.0.  First official tarball release!

There are no API guarantees just yet, but I *expect* that no
incompatible API changes to happen before 1.0.0.

Update NEWS.

12 years ago[test-common] Test hb_direction_to_string()
Behdad Esfahbod [Fri, 27 May 2011 07:38:46 +0000 (03:38 -0400)]
[test-common] Test hb_direction_to_string()

Caught by "make check-symbols".

12 years ago[test] Rename test-symbols to check-symbols
Behdad Esfahbod [Fri, 27 May 2011 07:38:30 +0000 (03:38 -0400)]
[test] Rename test-symbols to check-symbols

Shows undocumented symbols.

12 years agoHide internal symbols
Behdad Esfahbod [Fri, 27 May 2011 07:35:58 +0000 (03:35 -0400)]
Hide internal symbols

12 years ago[test/unicode] Fix double-free
Behdad Esfahbod [Fri, 27 May 2011 06:46:28 +0000 (02:46 -0400)]
[test/unicode] Fix double-free

Caught by "make check-valgrind".

12 years ago[test] Switch to automake-based test-runner
Behdad Esfahbod [Fri, 27 May 2011 06:44:29 +0000 (02:44 -0400)]
[test] Switch to automake-based test-runner

Adds check-valgrind among other modes.  We do not run under gtester by
default anymore.

12 years ago[test] Add test-symbols that checks API symbol text coverage
Behdad Esfahbod [Fri, 27 May 2011 05:33:18 +0000 (01:33 -0400)]
[test] Add test-symbols that checks API symbol text coverage

We're not at 100% coverage yet, so do not enable the test by default.

12 years ago[test/version] Test hb-version.h
Behdad Esfahbod [Fri, 27 May 2011 05:00:55 +0000 (01:00 -0400)]
[test/version] Test hb-version.h

12 years agoAdd libtool versioning
Behdad Esfahbod [Wed, 25 May 2011 20:07:07 +0000 (16:07 -0400)]
Add libtool versioning

The versioning is automatic.  For now, soname-major is 0.  With
the 1.0.0 release it will jump to 1 and stay there forever.

12 years agoUpdate README, etc
Behdad Esfahbod [Wed, 25 May 2011 18:49:35 +0000 (14:49 -0400)]
Update README, etc

12 years ago[TODO] Add item
Behdad Esfahbod [Wed, 25 May 2011 18:43:10 +0000 (14:43 -0400)]
[TODO] Add item

12 years ago[API] One last font-funcs API change
Behdad Esfahbod [Wed, 25 May 2011 15:27:33 +0000 (11:27 -0400)]
[API] One last font-funcs API change

Now that vertical text works correctly, I'm doing a last round
modification of the font-funcs API to simplify.  Expect no more
changes around here.

12 years ago[test] Update to API changes
Behdad Esfahbod [Wed, 25 May 2011 15:01:32 +0000 (11:01 -0400)]
[test] Update to API changes

12 years ago[Vertical] fix vertical gpos
Behdad Esfahbod [Wed, 25 May 2011 01:04:15 +0000 (21:04 -0400)]
[Vertical] fix vertical gpos

Wow, it took me a few days to find the right fix!

We now set the advance for attached marks to zero, but we
do this in the _finish() state of gpos, so it shouldn't
regress with fonts like DejaVuSansMono that explicitly
decrease the mark advance width to set it to zero.

12 years ago[TODO] Update
Behdad Esfahbod [Wed, 25 May 2011 13:56:06 +0000 (09:56 -0400)]
[TODO] Update

13 years ago[Vertical] GPOS x/y advance adjustments only apply in hori/vert respectively
Behdad Esfahbod [Fri, 20 May 2011 19:59:59 +0000 (15:59 -0400)]
[Vertical] GPOS x/y advance adjustments only apply in hori/vert respectively

13 years ago[Vertical] Fix GPOS y-advance direction
Behdad Esfahbod [Thu, 19 May 2011 23:19:50 +0000 (19:19 -0400)]
[Vertical] Fix GPOS y-advance direction

13 years ago[Vertical] Do fallback origin calculation
Behdad Esfahbod [Thu, 19 May 2011 23:08:57 +0000 (19:08 -0400)]
[Vertical] Do fallback origin calculation

13 years ago[Vertical] GPOS is always done with horizontal origin
Behdad Esfahbod [Thu, 19 May 2011 22:46:15 +0000 (18:46 -0400)]
[Vertical] GPOS is always done with horizontal origin

13 years agoMore vertical
Behdad Esfahbod [Thu, 19 May 2011 17:08:00 +0000 (13:08 -0400)]
More vertical

Starting to get there, but not without yet another round of changes.

I think I know wheere to go now.

13 years ago[hb-view] Add --annotate
Behdad Esfahbod [Wed, 18 May 2011 14:17:02 +0000 (10:17 -0400)]
[hb-view] Add --annotate

Currently it only marks glyph origins.

13 years agoVertical: Adjust origin in glyph_extents() and glyph_contour_point()
Behdad Esfahbod [Wed, 18 May 2011 03:31:00 +0000 (23:31 -0400)]
Vertical: Adjust origin in glyph_extents() and glyph_contour_point()

The base for vertical is almost ready now.

13 years agoCosmetic
Behdad Esfahbod [Wed, 18 May 2011 03:27:22 +0000 (23:27 -0400)]
Cosmetic

13 years agoMinor
Behdad Esfahbod [Wed, 18 May 2011 03:23:27 +0000 (23:23 -0400)]
Minor

13 years ago[API] Vertical support, take 2
Behdad Esfahbod [Tue, 17 May 2011 21:55:03 +0000 (17:55 -0400)]
[API] Vertical support, take 2

I like this API *much* better.  Implementation still incomplete, but
horizontal works.

13 years ago[API] Add support for vertical text
Behdad Esfahbod [Mon, 16 May 2011 22:15:37 +0000 (18:15 -0400)]
[API] Add support for vertical text

Design not final yet, and in fact I'm going to change it immediately,
but this is an standalone change for itself.

13 years agoMinor
Behdad Esfahbod [Tue, 17 May 2011 21:08:36 +0000 (17:08 -0400)]
Minor

13 years agoCheck for mmap()
Behdad Esfahbod [Tue, 17 May 2011 19:05:34 +0000 (15:05 -0400)]
Check for mmap()

Apparently there exist systems with mprotect(), but not mmap()?

13 years agoCosmetic
Behdad Esfahbod [Mon, 16 May 2011 20:20:48 +0000 (16:20 -0400)]
Cosmetic

13 years agoRemove unnecessary TODO item
Behdad Esfahbod [Mon, 16 May 2011 20:01:58 +0000 (16:01 -0400)]
Remove unnecessary TODO item

13 years ago[hb-view] Start work on vertical support
Behdad Esfahbod [Mon, 16 May 2011 19:18:16 +0000 (15:18 -0400)]
[hb-view] Start work on vertical support

13 years ago[hb-view] No need to allocate an extra glyph item at the end
Behdad Esfahbod [Mon, 16 May 2011 19:08:31 +0000 (15:08 -0400)]
[hb-view] No need to allocate an extra glyph item at the end

13 years agoMinor
Behdad Esfahbod [Mon, 16 May 2011 19:07:48 +0000 (15:07 -0400)]
Minor

13 years ago[test/buffer] Add more tests for nil buffer
Behdad Esfahbod [Mon, 16 May 2011 16:24:56 +0000 (12:24 -0400)]
[test/buffer] Add more tests for nil buffer

13 years ago[test/ot-tag] More tests
Behdad Esfahbod [Sat, 14 May 2011 03:04:46 +0000 (23:04 -0400)]
[test/ot-tag] More tests

13 years ago[API] Add HB_LANGUAGE_INVALID
Behdad Esfahbod [Sat, 14 May 2011 02:55:32 +0000 (22:55 -0400)]
[API] Add HB_LANGUAGE_INVALID

13 years ago[test/test-ot-tag] Test hb-ot-tag.h, fix many bugs
Behdad Esfahbod [Sat, 14 May 2011 02:46:36 +0000 (22:46 -0400)]
[test/test-ot-tag] Test hb-ot-tag.h, fix many bugs

I'm in awe with how many bugs this test revealed.  All fixed.

13 years ago[TODO] Add items
Behdad Esfahbod [Sat, 14 May 2011 00:25:38 +0000 (20:25 -0400)]
[TODO] Add items

13 years ago[API] Add hb_face_make/is_immutable()
Behdad Esfahbod [Thu, 12 May 2011 21:48:20 +0000 (17:48 -0400)]
[API] Add hb_face_make/is_immutable()

13 years agoFinish off previous change
Behdad Esfahbod [Thu, 12 May 2011 19:19:33 +0000 (15:19 -0400)]
Finish off previous change

13 years ago[API] Make get_glyph() callback return a boolean
Behdad Esfahbod [Thu, 12 May 2011 19:14:13 +0000 (15:14 -0400)]
[API] Make get_glyph() callback return a boolean

We need to know whether the glyph exists, so we can fallback to
composing / decomposing.  Assuming that glyph==0 means "doesn't exist"
wouldn't work for applications like Pango that want to use different
"doesn't exist" glyph codes for different characters.  An explicit
return value fixes that.

13 years ago[test/shape] Check shape output
Behdad Esfahbod [Thu, 12 May 2011 18:27:44 +0000 (14:27 -0400)]
[test/shape] Check shape output

13 years agoRename get_kernings() arguments from first/second_glyph to left/right_glyph
Behdad Esfahbod [Thu, 12 May 2011 16:39:40 +0000 (12:39 -0400)]
Rename get_kernings() arguments from first/second_glyph to left/right_glyph

Makes it clear that kerning is in visual order.

13 years ago[test] Add test-shape.c. Oops
Behdad Esfahbod [Thu, 12 May 2011 14:53:57 +0000 (10:53 -0400)]
[test] Add test-shape.c.  Oops

13 years ago[test/blob] Use MAP_ANON instead of MAP_ANONYMOUS
Behdad Esfahbod [Thu, 12 May 2011 14:49:30 +0000 (10:49 -0400)]
[test/blob] Use MAP_ANON instead of MAP_ANONYMOUS

More portable.

13 years ago[test/shape] Add simplest test for hb_shape()
Behdad Esfahbod [Thu, 12 May 2011 05:39:17 +0000 (01:39 -0400)]
[test/shape] Add simplest test for hb_shape()

13 years ago[object] Make object inert during destruction
Behdad Esfahbod [Thu, 12 May 2011 05:19:39 +0000 (01:19 -0400)]
[object] Make object inert during destruction

Such that user_data and other finalizers cannot resurrect object

13 years ago[TODO] Update
Behdad Esfahbod [Thu, 12 May 2011 05:02:03 +0000 (01:02 -0400)]
[TODO] Update

13 years agoFix font subclass chainup
Behdad Esfahbod [Thu, 12 May 2011 04:46:57 +0000 (00:46 -0400)]
Fix font subclass chainup

Test passing now.

13 years ago[test/font] Test font_funcs subclassing
Behdad Esfahbod [Thu, 12 May 2011 04:35:12 +0000 (00:35 -0400)]
[test/font] Test font_funcs subclassing

13 years ago[test/font] Test empty funcs
Behdad Esfahbod [Thu, 12 May 2011 04:18:28 +0000 (00:18 -0400)]
[test/font] Test empty funcs