platform/upstream/libHarfBuzzSharp.git
12 years agoMinor
Behdad Esfahbod [Tue, 17 Apr 2012 17:42:30 +0000 (13:42 -0400)]
Minor

12 years agoMake font immutable in hb_shape()
Behdad Esfahbod [Tue, 17 Apr 2012 16:37:19 +0000 (12:37 -0400)]
Make font immutable in hb_shape()

12 years agoMinor note re Graphite
Behdad Esfahbod [Tue, 17 Apr 2012 15:44:49 +0000 (11:44 -0400)]
Minor note re Graphite

12 years agoFix leak in graphite
Behdad Esfahbod [Tue, 17 Apr 2012 15:39:48 +0000 (11:39 -0400)]
Fix leak in graphite

12 years agoAdd another Thai test
Behdad Esfahbod [Tue, 17 Apr 2012 14:28:21 +0000 (10:28 -0400)]
Add another Thai test

12 years agoFix ragel regexp in vowel-based syllable
Behdad Esfahbod [Tue, 17 Apr 2012 01:05:51 +0000 (21:05 -0400)]
Fix ragel regexp in vowel-based syllable

As reported by datao zhang on the mailing list.

12 years agoRewrite ragel expression to better match the one on MS spec
Behdad Esfahbod [Tue, 17 Apr 2012 01:05:11 +0000 (21:05 -0400)]
Rewrite ragel expression to better match the one on MS spec

https://www.microsoft.com/typography/otfntdev/devanot/shaping.aspx

12 years agoAdd --utf8-clusters
Behdad Esfahbod [Mon, 16 Apr 2012 22:08:20 +0000 (18:08 -0400)]
Add --utf8-clusters

Also fix cairo cluster generation.

12 years agoAlways use cairo_show_text_glyphs()
Behdad Esfahbod [Mon, 16 Apr 2012 20:04:07 +0000 (16:04 -0400)]
Always use cairo_show_text_glyphs()

Better catches cluster errors.

12 years agoMake page progression be right to left for vertical text
Behdad Esfahbod [Mon, 16 Apr 2012 20:00:36 +0000 (16:00 -0400)]
Make page progression be right to left for vertical text

12 years agoApply 'liga' for vertical writing mode too
Behdad Esfahbod [Mon, 16 Apr 2012 19:55:13 +0000 (15:55 -0400)]
Apply 'liga' for vertical writing mode too

Apparently that's what Kazuraki uses to form vertical ligatures,
which suggests that it's what Adobe does.

12 years agoAdd Japanese test data from Adobe's Kazuraki font ligatures
Behdad Esfahbod [Mon, 16 Apr 2012 19:54:26 +0000 (15:54 -0400)]
Add Japanese test data from Adobe's Kazuraki font ligatures

12 years agoAdd comment
Behdad Esfahbod [Sun, 15 Apr 2012 18:12:13 +0000 (14:12 -0400)]
Add comment

12 years agoMinor
Behdad Esfahbod [Sun, 15 Apr 2012 00:47:14 +0000 (20:47 -0400)]
Minor

12 years agoMove code around
Behdad Esfahbod [Sun, 15 Apr 2012 00:23:58 +0000 (20:23 -0400)]
Move code around

12 years agoMinor
Behdad Esfahbod [Sat, 14 Apr 2012 23:40:18 +0000 (19:40 -0400)]
Minor

12 years agoAdd assert
Behdad Esfahbod [Sat, 14 Apr 2012 23:23:17 +0000 (19:23 -0400)]
Add assert

12 years agoAdd HB_DIRECTION_IS_VALID
Behdad Esfahbod [Sat, 14 Apr 2012 23:19:26 +0000 (19:19 -0400)]
Add HB_DIRECTION_IS_VALID

12 years agoRemove public enum names again
Behdad Esfahbod [Sat, 14 Apr 2012 22:51:50 +0000 (18:51 -0400)]
Remove public enum names again

As was reported to me, glib-mkenum does not understand named enums,
so remove for now.

12 years agoMinor
Behdad Esfahbod [Sat, 14 Apr 2012 22:47:07 +0000 (18:47 -0400)]
Minor

12 years agoMake HB_DIRECTION_INVALID be zero
Behdad Esfahbod [Thu, 12 Apr 2012 21:38:23 +0000 (17:38 -0400)]
Make HB_DIRECTION_INVALID be zero

This changes all the HB_DIRECTION_* enum member values, but is
nicer, in preparation for making hb_segment_properties_t public.

12 years agoMinor
Behdad Esfahbod [Thu, 12 Apr 2012 21:38:02 +0000 (17:38 -0400)]
Minor

12 years agoFix hb-view surface size calc for vertical text
Behdad Esfahbod [Thu, 12 Apr 2012 19:50:40 +0000 (15:50 -0400)]
Fix hb-view surface size calc for vertical text

For some reason it doesn't quite work with IranianNastaliq, but
that looks like a font issue.

12 years agoHide backend-specific shape functions
Behdad Esfahbod [Thu, 12 Apr 2012 18:53:53 +0000 (14:53 -0400)]
Hide backend-specific shape functions

Also remove shaper_options argument to hb_shape_full().  That was
unused and for "future".  Let it go.

More shaper API coming in preparation for plan/planned API.

12 years agoAdd names to enums
Behdad Esfahbod [Thu, 12 Apr 2012 17:23:59 +0000 (13:23 -0400)]
Add names to enums

gdb was showing <anonymous enum> instead of useful stuff, so name
all our enums.

12 years agoMake it an error to include non-top-level headers
Behdad Esfahbod [Thu, 12 Apr 2012 17:17:44 +0000 (13:17 -0400)]
Make it an error to include non-top-level headers

Users should #include <hb.h> (or hb-ft.h, hb-glib.h, etc), but
never things like hb-shape.h directly.  This makes it easier to
refactor headers later on without breaking compatibility.

12 years agoMinor
Behdad Esfahbod [Thu, 12 Apr 2012 16:29:10 +0000 (12:29 -0400)]
Minor

12 years agoFix bug with not setting Unicode props of the first character
Behdad Esfahbod [Thu, 12 Apr 2012 14:06:52 +0000 (10:06 -0400)]
Fix bug with not setting Unicode props of the first character

Fixes Mongolian shaping issue:
https://bugs.freedesktop.org/show_bug.cgi?id=45695

12 years agoMinor
Behdad Esfahbod [Thu, 12 Apr 2012 13:59:26 +0000 (09:59 -0400)]
Minor

12 years agoAdd Mongolian test case
Behdad Esfahbod [Thu, 12 Apr 2012 13:44:27 +0000 (09:44 -0400)]
Add Mongolian test case

12 years agoFix left-matra positioning in Indic
Behdad Esfahbod [Thu, 12 Apr 2012 13:31:55 +0000 (09:31 -0400)]
Fix left-matra positioning in Indic

Fixes 200 failures out of previous 4290 cases in the OO.o Indic
dictionary (of ~16000 entries).

12 years agoAdjust TODO
Behdad Esfahbod [Thu, 12 Apr 2012 02:04:42 +0000 (22:04 -0400)]
Adjust TODO

12 years ago[hangul] Apply *jmo features to all Hangul chars
Behdad Esfahbod [Thu, 12 Apr 2012 02:00:46 +0000 (22:00 -0400)]
[hangul] Apply *jmo features to all Hangul chars

This is what old HB does.  Morever, fixes rendering with Win8 malgun
font.  The Win7 version doesn't compose with either Uniscribe nor HB,
but Win8 version works as expected, like Uniscribe, with this change.

Lets call Hangul done for now.

12 years agoUpdate TODO
Behdad Esfahbod [Thu, 12 Apr 2012 01:54:37 +0000 (21:54 -0400)]
Update TODO

12 years agoAdd Hangul test
Behdad Esfahbod [Wed, 11 Apr 2012 21:48:40 +0000 (17:48 -0400)]
Add Hangul test

12 years agoFix diff tool
Behdad Esfahbod [Wed, 11 Apr 2012 21:33:02 +0000 (17:33 -0400)]
Fix diff tool

12 years agoDon't create hb_apply_context_t per glyph!
Behdad Esfahbod [Wed, 11 Apr 2012 21:11:05 +0000 (17:11 -0400)]
Don't create hb_apply_context_t per glyph!

I couldn't measure significant performance gains out of this; maybe
about 5% (with one million Malayalam strings).  Still, not bad.
But reminds me that optimizing this codebase without profiling first
is simply not going to work.  Oh well...

12 years agoFix shape to presentation forms font check
Behdad Esfahbod [Wed, 11 Apr 2012 18:37:53 +0000 (14:37 -0400)]
Fix shape to presentation forms font check

As reported by Jonathan Kew on the list.

12 years agoFix build with some compilers
Behdad Esfahbod [Wed, 11 Apr 2012 18:19:55 +0000 (14:19 -0400)]
Fix build with some compilers

As reported by Jonathan Kew on the list.

12 years agoIn Arabic fallback shaping, check that the font has glyph for new char
Behdad Esfahbod [Tue, 10 Apr 2012 22:02:20 +0000 (18:02 -0400)]
In Arabic fallback shaping, check that the font has glyph for new char

12 years agoMinor
Behdad Esfahbod [Tue, 10 Apr 2012 21:22:14 +0000 (17:22 -0400)]
Minor

12 years agoImplement Arabic fallback shaping mandatory ligatures
Behdad Esfahbod [Tue, 10 Apr 2012 21:20:05 +0000 (17:20 -0400)]
Implement Arabic fallback shaping mandatory ligatures

12 years agoDo Arabic fallback shaping
Behdad Esfahbod [Tue, 10 Apr 2012 20:44:38 +0000 (16:44 -0400)]
Do Arabic fallback shaping

12 years agoGenerate fallback Arabic shaping table
Behdad Esfahbod [Tue, 10 Apr 2012 20:25:08 +0000 (16:25 -0400)]
Generate fallback Arabic shaping table

Not hooked up yet.

12 years agoAdd Thai shaper that does SARA AM decomposition / reordering
Behdad Esfahbod [Tue, 10 Apr 2012 14:52:07 +0000 (10:52 -0400)]
Add Thai shaper that does SARA AM decomposition / reordering

That's not in the OpenType spec, but it's what MS and Adobe do.

12 years agoMinor
Behdad Esfahbod [Tue, 10 Apr 2012 14:52:03 +0000 (10:52 -0400)]
Minor

12 years agoAdd Thai test case for SARA AM decomposition
Behdad Esfahbod [Tue, 10 Apr 2012 14:47:33 +0000 (10:47 -0400)]
Add Thai test case for SARA AM decomposition

12 years agoMove around
Behdad Esfahbod [Sun, 8 Apr 2012 02:07:23 +0000 (22:07 -0400)]
Move around

12 years agoMove code around, in prep for Thai/Lao shaper
Behdad Esfahbod [Sun, 8 Apr 2012 01:52:28 +0000 (21:52 -0400)]
Move code around, in prep for Thai/Lao shaper

12 years agoAdd simple Hangul shaper that recomposes Jamo when feasible
Behdad Esfahbod [Sat, 7 Apr 2012 19:06:55 +0000 (15:06 -0400)]
Add simple Hangul shaper that recomposes Jamo when feasible

Previously, we were NOT actually recomposing Hangul Jamo.  We do now.
The two lines in:

test/shaping/texts/in-tree/shaper-default/script-hangul/misc/misc.txt

Now render the same with the UnDotum.ttf font.  Previously the second
linle was rendering boxes.

We can also start applying OpenType Jamo features later.  At this time,
I have no idea how the 'ljmo', 'vjmo', 'tjmo' features are supposed to
work.  Maybe someone can explain them to me?

12 years agoImplement normalization mode HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_FULL
Behdad Esfahbod [Sat, 7 Apr 2012 18:57:21 +0000 (14:57 -0400)]
Implement normalization mode HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_FULL

In this mode we try composing CCC=0 with CCC=0 characters.  Useful for
Hangul.

12 years agoBring normalization algorithm closer to the spec
Behdad Esfahbod [Sat, 7 Apr 2012 18:51:17 +0000 (14:51 -0400)]
Bring normalization algorithm closer to the spec

No logical difference so far.

12 years agoFlip logic around
Behdad Esfahbod [Sat, 7 Apr 2012 18:49:13 +0000 (14:49 -0400)]
Flip logic around

12 years agoAdd Hangul test case
Behdad Esfahbod [Thu, 5 Apr 2012 21:27:23 +0000 (17:27 -0400)]
Add Hangul test case

Composed, and decomposed, of the same text.

12 years agoAdd normalize mode
Behdad Esfahbod [Thu, 5 Apr 2012 21:25:19 +0000 (17:25 -0400)]
Add normalize mode

In preparation for Hangul shaper.

12 years agoMore moving code around
Behdad Esfahbod [Thu, 5 Apr 2012 20:46:46 +0000 (16:46 -0400)]
More moving code around

12 years agoMove code around
Behdad Esfahbod [Thu, 5 Apr 2012 20:40:37 +0000 (16:40 -0400)]
Move code around

12 years agoMore sorting by Unicode version
Behdad Esfahbod [Wed, 7 Mar 2012 22:13:25 +0000 (17:13 -0500)]
More sorting by Unicode version

This is the most convenient way to browse scripts.

12 years agoMinor
Behdad Esfahbod [Wed, 7 Mar 2012 21:51:29 +0000 (16:51 -0500)]
Minor

12 years agoMore Unicode script age annotation, and a couple more RTL scripts
Behdad Esfahbod [Wed, 7 Mar 2012 20:52:02 +0000 (15:52 -0500)]
More Unicode script age annotation, and a couple more RTL scripts

Cross-checked with Mark Davis's spreadsheet at http://goo.gl/x9ilM

12 years agoMake src tests pass again
Behdad Esfahbod [Wed, 7 Mar 2012 20:33:14 +0000 (15:33 -0500)]
Make src tests pass again

12 years agoSeparate Unicode 3.1 and Unicode 3.2 additions
Behdad Esfahbod [Wed, 7 Mar 2012 20:20:20 +0000 (15:20 -0500)]
Separate Unicode 3.1 and Unicode 3.2 additions

12 years agoRoute three Unicode 6.1 scripts through Indic shaper
Behdad Esfahbod [Wed, 7 Mar 2012 17:56:22 +0000 (12:56 -0500)]
Route three Unicode 6.1 scripts through Indic shaper

12 years agoAdd Unicode 6.1.0 scripts
Behdad Esfahbod [Wed, 7 Mar 2012 17:53:34 +0000 (12:53 -0500)]
Add Unicode 6.1.0 scripts

12 years agoLydian and Kharoshthi are right-to-left
Behdad Esfahbod [Wed, 7 Mar 2012 17:49:08 +0000 (12:49 -0500)]
Lydian and Kharoshthi are right-to-left

12 years agoWhitespace
Behdad Esfahbod [Wed, 7 Mar 2012 17:38:39 +0000 (12:38 -0500)]
Whitespace

12 years agoUse generic shaper for Buhid
Behdad Esfahbod [Wed, 7 Mar 2012 17:21:28 +0000 (12:21 -0500)]
Use generic shaper for Buhid

As requested by Jonathan Kew.

We need to devise a better mechanism to choose which scripts to
pass through the Indic shaper.  Moreover, currently we are storing
data for some scripts in the Indic shaper that are not even going
through that shaper.  Need to find a better way...

12 years agoUpdate Indic table to Unicode 6.1 data
Behdad Esfahbod [Wed, 7 Mar 2012 17:08:33 +0000 (12:08 -0500)]
Update Indic table to Unicode 6.1 data

12 years agoTypo
Behdad Esfahbod [Wed, 7 Mar 2012 15:21:24 +0000 (10:21 -0500)]
Typo

12 years agoMinor doc fixes
Behdad Esfahbod [Wed, 7 Mar 2012 01:47:50 +0000 (20:47 -0500)]
Minor doc fixes

12 years agoAdd Hebrew diacritics test cases
Behdad Esfahbod [Wed, 7 Mar 2012 01:24:31 +0000 (20:24 -0500)]
Add Hebrew diacritics test cases

From:
https://bugzilla.mozilla.org/show_bug.cgi?id=662055

12 years agoFix cluster formation in Indic
Behdad Esfahbod [Fri, 2 Mar 2012 02:11:19 +0000 (18:11 -0800)]
Fix cluster formation in Indic

Makes number of failures against Uniscribe with hi_IN dictionary from
OO.o to go down from 6334 to 4290.  Not bad for a one-line change!

Mozilla Bug 729626 - ASAN: heap-buffer-overflow HTML

12 years agoFix atomic-int op on Apple
Behdad Esfahbod [Fri, 2 Mar 2012 01:30:29 +0000 (17:30 -0800)]
Fix atomic-int op on Apple

The OSAtomicAdd32Barrier operator returns the new value, we want the
old value.

12 years agoAdd support for atomic int and mutex on Apple systems
Behdad Esfahbod [Fri, 24 Feb 2012 18:51:09 +0000 (13:51 -0500)]
Add support for atomic int and mutex on Apple systems

So, apparently there's no atomic int 'get' method on Apple.  You have to
add(0) to get.  And that's not const-friendly.  So switch inert-object
checking to a non-atomic get.  This, however, is safe, and a negligible
performance boost too.

12 years agoRemove unused hb_atomic_int_set()
Behdad Esfahbod [Thu, 23 Feb 2012 23:47:17 +0000 (18:47 -0500)]
Remove unused hb_atomic_int_set()

Apparently it can't be implemented on OS X.  We weren't using it anyway.

12 years agoAdd hb-warning.cc. Oops!
Behdad Esfahbod [Fri, 24 Feb 2012 00:47:43 +0000 (19:47 -0500)]
Add hb-warning.cc.  Oops!

12 years agoAllow disabling multi-threaded support
Behdad Esfahbod [Thu, 23 Feb 2012 20:06:16 +0000 (15:06 -0500)]
Allow disabling multi-threaded support

By defining HB_NO_MT.

Also, only warn once per missing MT feature support.

Mozilla Bug 666661 - gfx/harfbuzz/src/hb-prive.h - compiler warnings on mac

12 years agoMinor
Behdad Esfahbod [Wed, 22 Feb 2012 21:43:21 +0000 (16:43 -0500)]
Minor

12 years agoFollowup: Reorder Hebrew combining classes for better rendering
Behdad Esfahbod [Wed, 22 Feb 2012 21:34:37 +0000 (16:34 -0500)]
Followup: Reorder Hebrew combining classes for better rendering

Patch from Jonathan Kew.

Bug 662055 - advanced Hebrew diacritics are shown correctly only in
particular order.

12 years agoReorder Hebrew combining classes for better rendering
Behdad Esfahbod [Wed, 22 Feb 2012 21:31:15 +0000 (16:31 -0500)]
Reorder Hebrew combining classes for better rendering

Patch from Jonathan Kew.

Bug 662055 - advanced Hebrew diacritics are shown correctly only in particular order

12 years agoAdd test case from https://bugzilla.mozilla.org/show_bug.cgi?id=714067
Behdad Esfahbod [Tue, 21 Feb 2012 16:31:47 +0000 (11:31 -0500)]
Add test case from https://bugzilla.mozilla.org/show_bug.cgi?id=714067

12 years agoMinor error handling
Behdad Esfahbod [Mon, 30 Jan 2012 14:48:33 +0000 (09:48 -0500)]
Minor error handling

12 years agoUpdate git.mk to new upstream
Behdad Esfahbod [Fri, 27 Jan 2012 07:14:08 +0000 (02:14 -0500)]
Update git.mk to new upstream

12 years agoMake checks more OS X friendly
Behdad Esfahbod [Fri, 27 Jan 2012 07:09:40 +0000 (02:09 -0500)]
Make checks more OS X friendly

12 years agoFix check-header-guards on OS X
Behdad Esfahbod [Fri, 27 Jan 2012 06:57:59 +0000 (01:57 -0500)]
Fix check-header-guards on OS X

12 years agoMinor
Behdad Esfahbod [Fri, 27 Jan 2012 07:20:58 +0000 (02:20 -0500)]
Minor

12 years agoAdd a few more tests
Behdad Esfahbod [Mon, 23 Jan 2012 00:57:00 +0000 (19:57 -0500)]
Add a few more tests

12 years agoAdd a couple Thai test cases from Thep
Behdad Esfahbod [Mon, 23 Jan 2012 00:29:45 +0000 (19:29 -0500)]
Add a couple Thai test cases from Thep

12 years agoAdd Devanagari test from Tom Hacohen
Behdad Esfahbod [Mon, 23 Jan 2012 00:10:55 +0000 (19:10 -0500)]
Add Devanagari test from Tom Hacohen

12 years agoAlso ignore "ChangeLog" in manifests
Behdad Esfahbod [Sun, 22 Jan 2012 21:26:49 +0000 (16:26 -0500)]
Also ignore "ChangeLog" in manifests

12 years agoRemove newline
Behdad Esfahbod [Sun, 22 Jan 2012 21:21:19 +0000 (16:21 -0500)]
Remove newline

12 years agoAllow --color=html in hb-diff
Behdad Esfahbod [Sun, 22 Jan 2012 21:07:32 +0000 (16:07 -0500)]
Allow --color=html in hb-diff

Not that useful right now as we don't escape < and >.  Perhaps
another tool can be added to convert the ANSI output to HTML.

12 years agoFallback to Latin script if the font has no other usable scripts
Behdad Esfahbod [Sun, 22 Jan 2012 20:31:44 +0000 (15:31 -0500)]
Fallback to Latin script if the font has no other usable scripts

Patch and description from Jonathan Kew:

It turns out that some legacy Thai fonts provide OpenType substitution
features to implement mark positioning, but (incorrectly) put those
features/lookups under the 'latn' script tag instead of using 'thai' (or
possibly 'DFLT'). See
https://bugzilla.mozilla.org/show_bug.cgi?id=719366 for an example and
more detailed description.

Although this is really a font bug, I suggest that we could improve the
rendering of such fonts by looking for the 'latn' as a fallback if
neither the requested script nor "default" is found in
hb_ot_layout_table_choose_script. Suggested patch against harfbuzz
master is attached.

This does _not_ affect the other kind of legacy Thai font, where custom
code to support vendor-specific PUA codepoints would be needed. I'm not
keen to go down that path; IMO, such fonts should be ruthlessly stamped
out in favour of standards-based solutions. :)

JK

12 years agoMore shoveling around
Behdad Esfahbod [Sun, 22 Jan 2012 01:03:25 +0000 (20:03 -0500)]
More shoveling around

12 years agoCleanup
Behdad Esfahbod [Sun, 22 Jan 2012 00:55:16 +0000 (19:55 -0500)]
Cleanup

12 years agoDistribute testing tools
Behdad Esfahbod [Sun, 22 Jan 2012 00:43:58 +0000 (19:43 -0500)]
Distribute testing tools

12 years agoSpeed up colorless diff
Behdad Esfahbod [Sun, 22 Jan 2012 00:40:30 +0000 (19:40 -0500)]
Speed up colorless diff

12 years agoCleanup manifest code
Behdad Esfahbod [Sun, 22 Jan 2012 00:37:31 +0000 (19:37 -0500)]
Cleanup manifest code

12 years agoPort hb-manifest-update to Python
Behdad Esfahbod [Sun, 22 Jan 2012 00:31:51 +0000 (19:31 -0500)]
Port hb-manifest-update to Python

12 years agoIgnore Broken Pipe errors
Behdad Esfahbod [Sun, 22 Jan 2012 00:15:41 +0000 (19:15 -0500)]
Ignore Broken Pipe errors