platform/upstream/libHarfBuzzSharp.git
12 years agoTODO items
Behdad Esfahbod [Fri, 16 Sep 2011 20:34:39 +0000 (16:34 -0400)]
TODO items

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

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

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

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

12 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.

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

12 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!

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

12 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.

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

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

12 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...

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

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

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

12 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.

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

12 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

12 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

12 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).

12 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.

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

12 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

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

12 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()

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

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

12 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.

12 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()

12 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

12 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

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

12 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!

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

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

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

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

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

12 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.

12 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.

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

12 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.

12 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.

12 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

12 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()

12 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.

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

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

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

12 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

12 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.

12 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

12 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.

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

12 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

12 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

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

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

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

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

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

12 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

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

12 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

12 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

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

12 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

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

12 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

12 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

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

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

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

12 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

12 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.

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

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

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

12 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.

12 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'.

12 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

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

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

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

12 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.

12 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

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

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

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

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

12 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

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

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

12 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!

12 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

12 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.

12 years agoFix name-table lookup
Behdad Esfahbod [Sun, 7 Aug 2011 04:00:27 +0000 (00:00 -0400)]
Fix name-table lookup

Oops!

12 years ago[uniscribe] Use font size directly
Behdad Esfahbod [Sun, 7 Aug 2011 02:59:54 +0000 (22:59 -0400)]
[uniscribe] Use font size directly

12 years ago[uniscribe] Make font selection work
Behdad Esfahbod [Sun, 7 Aug 2011 02:06:52 +0000 (22:06 -0400)]
[uniscribe] Make font selection work

Not tested yet.