platform/upstream/libHarfBuzzSharp.git
13 years agoCosmetic
Behdad Esfahbod [Fri, 16 Sep 2011 20:56:34 +0000 (16:56 -0400)]
Cosmetic

13 years ago[util] Fix hb-view crash with bogus font
Behdad Esfahbod [Fri, 16 Sep 2011 20:52:26 +0000 (16:52 -0400)]
[util] Fix hb-view crash with bogus font

13 years agoMinor
Behdad Esfahbod [Fri, 16 Sep 2011 20:40:44 +0000 (16:40 -0400)]
Minor

13 years agoTODO items
Behdad Esfahbod [Fri, 16 Sep 2011 20:34:39 +0000 (16:34 -0400)]
TODO items

13 years agoMinor
Behdad Esfahbod [Fri, 16 Sep 2011 20:33:18 +0000 (16:33 -0400)]
Minor

13 years agoMinor
Behdad Esfahbod [Fri, 16 Sep 2011 16:30:50 +0000 (12:30 -0400)]
Minor

13 years agoFix reading text from stdin
Behdad Esfahbod [Fri, 16 Sep 2011 06:08:36 +0000 (02:08 -0400)]
Fix reading text from stdin

13 years agoMove code around
Behdad Esfahbod [Fri, 16 Sep 2011 05:16:41 +0000 (01:16 -0400)]
Move code around

13 years agoAlways shape at size=upem
Behdad Esfahbod [Fri, 16 Sep 2011 05:11:30 +0000 (01:11 -0400)]
Always shape at size=upem

Fixes bug with uniscribe not handling GIGANTIC sizes.

13 years agoMinor
Behdad Esfahbod [Fri, 16 Sep 2011 04:54:05 +0000 (00:54 -0400)]
Minor

13 years agoFix binary stdin/stdout io in Windows
Behdad Esfahbod [Fri, 16 Sep 2011 04:38:19 +0000 (00:38 -0400)]
Fix binary stdin/stdout io in Windows

Make --font-file accept "-" to mean stdin, and have it work
in Windows too!

13 years agoMinor
Behdad Esfahbod [Thu, 15 Sep 2011 22:09:49 +0000 (18:09 -0400)]
Minor

13 years ago[hb-view] Make print to stdout work in Windows
Behdad Esfahbod [Thu, 15 Sep 2011 21:52:00 +0000 (17:52 -0400)]
[hb-view] Make print to stdout work in Windows

Apparently there's no equivalent to "/dev/stdout", so write using
stdio to be able to output to stdout.

13 years agoMinor
Behdad Esfahbod [Thu, 15 Sep 2011 20:29:51 +0000 (16:29 -0400)]
Minor

13 years agoFix test
Behdad Esfahbod [Tue, 13 Sep 2011 17:33:11 +0000 (13:33 -0400)]
Fix test

13 years ago[util] Refactor hb-view completely
Behdad Esfahbod [Tue, 13 Sep 2011 17:30:39 +0000 (13:30 -0400)]
[util] Refactor hb-view completely

Now we can use the same code to do other utils...

13 years agoMore reshuffling
Behdad Esfahbod [Thu, 8 Sep 2011 21:08:32 +0000 (17:08 -0400)]
More reshuffling

13 years ago[util] Simplify more
Behdad Esfahbod [Thu, 8 Sep 2011 20:50:24 +0000 (16:50 -0400)]
[util] Simplify more

13 years ago[util] Move code around
Behdad Esfahbod [Thu, 8 Sep 2011 20:49:02 +0000 (16:49 -0400)]
[util] Move code around

13 years agoMinor
Behdad Esfahbod [Thu, 8 Sep 2011 20:43:15 +0000 (16:43 -0400)]
Minor

We now support using -1 for NUL-terminated strings.

13 years ago[util] Move code around
Behdad Esfahbod [Thu, 8 Sep 2011 20:42:37 +0000 (16:42 -0400)]
[util] Move code around

13 years ago[util] Further refactor option parsing
Behdad Esfahbod [Thu, 8 Sep 2011 20:00:04 +0000 (16:00 -0400)]
[util] Further refactor option parsing

13 years agoRefine Indic scripts, following Martin Hosken's recommendation
Behdad Esfahbod [Thu, 8 Sep 2011 17:35:17 +0000 (13:35 -0400)]
Refine Indic scripts, following Martin Hosken's recommendation

13 years agoPass through unknown ISO 639-3 language tags to OpenType engine
Behdad Esfahbod [Fri, 2 Sep 2011 17:31:19 +0000 (13:31 -0400)]
Pass through unknown ISO 639-3 language tags to OpenType engine

In hb_ot_tag_from_language(), if first component of an unknown
language is three letters long, use it directly as OpenType language
tag (after case conversion and padding).

13 years ago[graphite] Don't preload glyphs
Behdad Esfahbod [Fri, 2 Sep 2011 16:39:20 +0000 (12:39 -0400)]
[graphite] Don't preload glyphs

Doesn't seem to be slower.

13 years agoMinor
Behdad Esfahbod [Fri, 26 Aug 2011 11:39:49 +0000 (13:39 +0200)]
Minor

13 years ago[graphite2] Chop a few more lines
Behdad Esfahbod [Fri, 26 Aug 2011 07:40:54 +0000 (09:40 +0200)]
[graphite2] Chop a few more lines

13 years agoMinor
Behdad Esfahbod [Fri, 26 Aug 2011 07:33:06 +0000 (09:33 +0200)]
Minor

13 years ago[graphite] Use buffer->replace_glyphs()
Behdad Esfahbod [Fri, 26 Aug 2011 07:30:49 +0000 (09:30 +0200)]
[graphite] Use buffer->replace_glyphs()

13 years agoAdd buffer->replace_glyphs()
Behdad Esfahbod [Fri, 26 Aug 2011 07:29:42 +0000 (09:29 +0200)]
Add buffer->replace_glyphs()

13 years agoMinor
Behdad Esfahbod [Fri, 26 Aug 2011 07:27:13 +0000 (09:27 +0200)]
Minor

13 years ago[graphite] Only pass the first part language tag to graphite
Behdad Esfahbod [Fri, 26 Aug 2011 07:25:04 +0000 (09:25 +0200)]
[graphite] Only pass the first part language tag to graphite

Still not sure about:

1) Case.  We pass lowercase for now.  Would be nice if graphite was
uppercase 3letter like OpenType,

2) Padding.  IMO, tag padding is always with spaces, but Martin was
talking about NUL bytes.

13 years ago[API] Make all _from_string() functions take a len parameter
Behdad Esfahbod [Fri, 26 Aug 2011 07:18:53 +0000 (09:18 +0200)]
[API] Make all _from_string() functions take a len parameter

Can be -1 for NUL-terminated string.  This is useful for passing parts
of a larger string to a function without having to copy or modify the
string first.

Affected functions:

hb_tag_t hb_tag_from_string()
hb_direction_from_string()
hb_language_from_string()
hb_script_from_string()

13 years ago[graphite2] Bail if grface is NULL
Behdad Esfahbod [Thu, 25 Aug 2011 20:46:21 +0000 (22:46 +0200)]
[graphite2] Bail if grface is NULL

13 years agoReorder combining-class to better suit Arabic shadda mark-mark positioning
Behdad Esfahbod [Thu, 25 Aug 2011 07:08:53 +0000 (09:08 +0200)]
Reorder combining-class to better suit Arabic shadda mark-mark positioning

As reported by Khaled on the list:

"After the introduction of canonical reordering of combining marks
(commit 34c22f8), I'm no longer able to do mark/mark substitution or
positioning for mark sequences that involve shadda as a first mark (or
most interesting sequences at least).

"After some digging, it turned out that shadda have a ccc=33 while most
Arabic marks that combine with it have a lower ccc value, which results
in the shadda being reordered after the other mark which,
unsurprisingly, breaks my contextual substitution and mkmk anchors."

See:

http://unicode.org/faq/normalization.html#8
http://unicode.org/faq/normalization.html#9

13 years agoFix make distcheck
Behdad Esfahbod [Wed, 24 Aug 2011 17:16:13 +0000 (19:16 +0200)]
Fix make distcheck

13 years agoAdd hb-ot-hmtx-table.hh
Behdad Esfahbod [Wed, 24 Aug 2011 17:13:15 +0000 (19:13 +0200)]
Add hb-ot-hmtx-table.hh

Oops!

13 years ago[graphite] Rewrite properly
Behdad Esfahbod [Wed, 24 Aug 2011 01:22:49 +0000 (03:22 +0200)]
[graphite] Rewrite properly

13 years agoMinor
Behdad Esfahbod [Wed, 24 Aug 2011 00:24:27 +0000 (02:24 +0200)]
Minor

13 years ago[configure] Fix graphite bits
Behdad Esfahbod [Wed, 24 Aug 2011 00:12:05 +0000 (02:12 +0200)]
[configure] Fix graphite bits

13 years ago[uniscribe] Minor
Behdad Esfahbod [Wed, 24 Aug 2011 00:09:04 +0000 (02:09 +0200)]
[uniscribe] Minor

13 years ago[graphite] Minor
Behdad Esfahbod [Tue, 23 Aug 2011 23:47:25 +0000 (01:47 +0200)]
[graphite] Minor

13 years ago[graphite] Remove hb_graphite2_feature_check()
Behdad Esfahbod [Tue, 23 Aug 2011 23:45:47 +0000 (01:45 +0200)]
[graphite] Remove hb_graphite2_feature_check()

I don't see how this function can be useful.

13 years agoAdd graphite2 integration from Martin Hosken
Behdad Esfahbod [Tue, 23 Aug 2011 23:29:25 +0000 (01:29 +0200)]
Add graphite2 integration from Martin Hosken

To be modified, a lot.

13 years agoMinor
Behdad Esfahbod [Tue, 23 Aug 2011 23:31:29 +0000 (01:31 +0200)]
Minor

13 years agoAdd a constructor for hb_prealloced_array_t
Behdad Esfahbod [Mon, 22 Aug 2011 22:04:57 +0000 (00:04 +0200)]
Add a constructor for hb_prealloced_array_t

Fixes build with MSVC.

13 years agoAdd gobject enum support, but disabled for now
Behdad Esfahbod [Fri, 19 Aug 2011 17:59:24 +0000 (19:59 +0200)]
Add gobject enum support, but disabled for now

need to figure out the naming.  The generated code doesn't have the
right name.

13 years agoFlesh out tt funcs a bit
Behdad Esfahbod [Wed, 17 Aug 2011 21:55:29 +0000 (23:55 +0200)]
Flesh out tt funcs a bit

13 years ago[API] Add hb_font_set_funcs_data()
Behdad Esfahbod [Wed, 17 Aug 2011 17:21:44 +0000 (19:21 +0200)]
[API] Add hb_font_set_funcs_data()

13 years agoRemove the pre_allocate argument from hb_buffer_create()
Behdad Esfahbod [Wed, 17 Aug 2011 17:07:59 +0000 (19:07 +0200)]
Remove the pre_allocate argument from hb_buffer_create()

For two reasons:

1. User can always call hb_buffer_pre_allocate() themselves, and

2. Now we do a pre_alloc in add_utfX anyway, so the total number of
reallocs is limited to a small number (~3) anyway.  This just makes the
API cleaner.

13 years agoDo (nothing for) hmtx sanitize
Behdad Esfahbod [Wed, 17 Aug 2011 17:03:06 +0000 (19:03 +0200)]
Do (nothing for) hmtx sanitize

13 years agoFix name-table sanitize
Behdad Esfahbod [Wed, 17 Aug 2011 12:47:41 +0000 (14:47 +0200)]
Fix name-table sanitize

13 years agoAdd hhea-table support
Behdad Esfahbod [Wed, 17 Aug 2011 12:43:45 +0000 (14:43 +0200)]
Add hhea-table support

13 years agoRename table files from eg maxp-private.hh to maxp-table.hh
Behdad Esfahbod [Wed, 17 Aug 2011 12:19:59 +0000 (14:19 +0200)]
Rename table files from eg maxp-private.hh to maxp-table.hh

13 years ago[ft] FT_Get_Advance() for advance-width callbacks
Behdad Esfahbod [Mon, 15 Aug 2011 18:41:59 +0000 (20:41 +0200)]
[ft] FT_Get_Advance() for advance-width callbacks

Using graphite2's comparerenderer suggests that this makes hb-ft 15
times faster.  No caching layer needed anymore.

13 years agoFix falloffs of the GOption conversion
Behdad Esfahbod [Mon, 15 Aug 2011 17:03:43 +0000 (19:03 +0200)]
Fix falloffs of the GOption conversion

13 years agoPre-allocate buffers when adding string
Behdad Esfahbod [Mon, 15 Aug 2011 14:21:22 +0000 (16:21 +0200)]
Pre-allocate buffers when adding string

We do a conservative estimate of the number of characters, but still,
this limits the number of buffer reallocs to a small constant.

13 years agoMinor
Behdad Esfahbod [Mon, 15 Aug 2011 14:21:06 +0000 (16:21 +0200)]
Minor

13 years ago[ft] FT_Select_Charmap() when we create face
Behdad Esfahbod [Mon, 15 Aug 2011 14:15:44 +0000 (16:15 +0200)]
[ft] FT_Select_Charmap() when we create face

13 years agoApply 'locl' with 'ccmp' in Arabic shaper
Behdad Esfahbod [Mon, 15 Aug 2011 07:52:05 +0000 (09:52 +0200)]
Apply 'locl' with 'ccmp' in Arabic shaper

According to Peter Constable this is indeed what Uniscribe has been
doing for years.

Mozilla Bug 667166 - wrong shape of letter when it comes at the end of
word in the arabic version of Firefox 5.0

13 years agoStart adding gobject-introspection support
Behdad Esfahbod [Sun, 14 Aug 2011 13:17:16 +0000 (15:17 +0200)]
Start adding gobject-introspection support

13 years agoFix missing return
Behdad Esfahbod [Sat, 13 Aug 2011 17:03:48 +0000 (19:03 +0200)]
Fix missing return

13 years agoMinor
Behdad Esfahbod [Sat, 13 Aug 2011 15:16:45 +0000 (17:16 +0200)]
Minor

13 years agoRefactor hb-view code
Behdad Esfahbod [Thu, 11 Aug 2011 09:54:31 +0000 (11:54 +0200)]
Refactor hb-view code

13 years agoAdd uniscribe font getters
Behdad Esfahbod [Wed, 10 Aug 2011 20:08:36 +0000 (22:08 +0200)]
Add uniscribe font getters

13 years agoImplement hb_ft_font_get_face
Behdad Esfahbod [Wed, 10 Aug 2011 20:00:35 +0000 (22:00 +0200)]
Implement hb_ft_font_get_face

13 years agoFix charset conversion
Behdad Esfahbod [Wed, 10 Aug 2011 19:54:22 +0000 (21:54 +0200)]
Fix charset conversion

13 years ago[util] Add hb-shape --shapers
Behdad Esfahbod [Wed, 10 Aug 2011 14:28:38 +0000 (16:28 +0200)]
[util] Add hb-shape --shapers

If the specified shapers fail, hb-shape will fail immediately

13 years agoFix const correctness in the API
Behdad Esfahbod [Wed, 10 Aug 2011 14:25:56 +0000 (16:25 +0200)]
Fix const correctness in the API

13 years agoReformat
Behdad Esfahbod [Wed, 10 Aug 2011 14:07:49 +0000 (16:07 +0200)]
Reformat

13 years ago[util] Port hb-view to GOption
Behdad Esfahbod [Wed, 10 Aug 2011 13:26:41 +0000 (15:26 +0200)]
[util] Port hb-view to GOption

13 years agoMove hb-view into util/
Behdad Esfahbod [Tue, 9 Aug 2011 13:03:00 +0000 (15:03 +0200)]
Move hb-view into util/

13 years ago[uniscribe] Remove zerowidth glyphs from output
Behdad Esfahbod [Tue, 9 Aug 2011 12:03:12 +0000 (14:03 +0200)]
[uniscribe] Remove zerowidth glyphs from output

13 years ago[test/shape-complex] Print cluster and position info in --verbose
Behdad Esfahbod [Tue, 9 Aug 2011 12:00:44 +0000 (14:00 +0200)]
[test/shape-complex] Print cluster and position info in --verbose

13 years agoFix warnings with old glib
Behdad Esfahbod [Tue, 9 Aug 2011 11:52:36 +0000 (13:52 +0200)]
Fix warnings with old glib

13 years agoMinor
Behdad Esfahbod [Tue, 9 Aug 2011 09:44:42 +0000 (11:44 +0200)]
Minor

13 years agoAdd fallback shaper
Behdad Esfahbod [Tue, 9 Aug 2011 09:37:46 +0000 (11:37 +0200)]
Add fallback shaper

13 years ago[FT] Don't make font immutable
Behdad Esfahbod [Tue, 9 Aug 2011 09:36:54 +0000 (11:36 +0200)]
[FT] Don't make font immutable

13 years ago[API] Add hb_ft_font_set_funcs(), remove hb_ft_get_font_funcs()
Behdad Esfahbod [Tue, 9 Aug 2011 08:51:24 +0000 (10:51 +0200)]
[API] Add hb_ft_font_set_funcs(), remove hb_ft_get_font_funcs()

Remove hb_ft_get_font_funcs() as it cannot be used by the user anyway.

Add hb_ft_font_set_funcs().  Which will make the font internally use
FreeType.  That is, no need for the font to have created using the
hb-ft API.  Just create using hb_face_create()/hb_font_create() and
then call this on the font (after having set font scale).  This
internally creates an FT_Face and attached to the font.

13 years agoMinor
Behdad Esfahbod [Tue, 9 Aug 2011 06:35:07 +0000 (08:35 +0200)]
Minor

13 years ago[uniscribe] Unbreak
Behdad Esfahbod [Mon, 8 Aug 2011 22:47:55 +0000 (00:47 +0200)]
[uniscribe] Unbreak

13 years agoFix build again
Behdad Esfahbod [Mon, 8 Aug 2011 22:46:18 +0000 (00:46 +0200)]
Fix build again

13 years ago[API] Make set_user_data() functions take a replace parameter
Behdad Esfahbod [Mon, 8 Aug 2011 22:43:24 +0000 (00:43 +0200)]
[API] Make set_user_data() functions take a replace parameter

We need this to set data on objects safely without worrying that some
other thread unsets it by setting it at the same time.

13 years ago[buffer] Make API take signed int length
Behdad Esfahbod [Mon, 8 Aug 2011 22:23:58 +0000 (00:23 +0200)]
[buffer] Make API take signed int length

Since we already switched to accepting -1 as 'zero-terminated'.

13 years ago[FT] Adapt to new face API
Behdad Esfahbod [Mon, 8 Aug 2011 22:19:38 +0000 (00:19 +0200)]
[FT] Adapt to new face API

13 years agoMinor
Behdad Esfahbod [Mon, 8 Aug 2011 22:19:19 +0000 (00:19 +0200)]
Minor

13 years ago[uniscribe] Cleanup backend
Behdad Esfahbod [Mon, 8 Aug 2011 22:13:24 +0000 (00:13 +0200)]
[uniscribe] Cleanup backend

13 years agoFix build
Behdad Esfahbod [Mon, 8 Aug 2011 21:41:06 +0000 (23:41 +0200)]
Fix build

13 years ago[API] Sort out get_blob API
Behdad Esfahbod [Mon, 8 Aug 2011 21:37:41 +0000 (23:37 +0200)]
[API] Sort out get_blob API

hb_face_get_blob() renamed to hb_face_reference_blob(), returns a
reference now.

hb_face_[sg]et_index() added.

hb_face_set_upem() added.

13 years agoRename get_table to reference_table in all API
Behdad Esfahbod [Mon, 8 Aug 2011 19:42:02 +0000 (21:42 +0200)]
Rename get_table to reference_table in all API

13 years agoFix shaper ordering logic
Behdad Esfahbod [Mon, 8 Aug 2011 19:36:24 +0000 (21:36 +0200)]
Fix shaper ordering logic

13 years agoMinor
Behdad Esfahbod [Mon, 8 Aug 2011 01:49:30 +0000 (03:49 +0200)]
Minor

13 years ago[uniscribe] Fix blob lifecycles
Behdad Esfahbod [Sun, 7 Aug 2011 07:53:42 +0000 (03:53 -0400)]
[uniscribe] Fix blob lifecycles

13 years agoFix shaper_list manipulation, aaaaaaaaaaaaargh
Behdad Esfahbod [Sun, 7 Aug 2011 07:43:46 +0000 (03:43 -0400)]
Fix shaper_list manipulation, aaaaaaaaaaaaargh

13 years ago[test] test-object is not FreeType-specific, move it to the right place
Behdad Esfahbod [Sun, 7 Aug 2011 05:10:55 +0000 (01:10 -0400)]
[test] test-object is not FreeType-specific, move it to the right place

13 years ago[uniscribe] Fix cluster calculation
Behdad Esfahbod [Sun, 7 Aug 2011 05:04:40 +0000 (01:04 -0400)]
[uniscribe] Fix cluster calculation

13 years agoMinor
Behdad Esfahbod [Sun, 7 Aug 2011 04:59:58 +0000 (00:59 -0400)]
Minor

13 years ago[uniscribe] Fix shaper
Behdad Esfahbod [Sun, 7 Aug 2011 04:59:38 +0000 (00:59 -0400)]
[uniscribe] Fix shaper

It's kinda working finally!

13 years ago[glib] Protect against invalid characters
Behdad Esfahbod [Sun, 7 Aug 2011 04:59:12 +0000 (00:59 -0400)]
[glib] Protect against invalid characters

13 years ago[buffer] Accept -1 for text_length and item_length
Behdad Esfahbod [Sun, 7 Aug 2011 04:51:50 +0000 (00:51 -0400)]
[buffer] Accept -1 for text_length and item_length

A -1 text_length means: zero-terminated string.
A -1 item_length means: to the end of string.