Commit Graph

1617 Commits

Author SHA1 Message Date
Behdad Esfahbod
4c9fe88d30 [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()
2011-08-26 09:22:12 +02:00
Behdad Esfahbod
a499bdea5c [graphite2] Bail if grface is NULL 2011-08-25 22:46:21 +02:00
Behdad Esfahbod
3007ffa9e5 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
2011-08-25 09:08:53 +02:00
Behdad Esfahbod
74ef81a0b0 Fix make distcheck 2011-08-24 19:36:50 +02:00
Behdad Esfahbod
24bcdbcc06 Add hb-ot-hmtx-table.hh
Oops!
2011-08-24 19:13:15 +02:00
Behdad Esfahbod
a3bd8a0e18 [graphite] Rewrite properly 2011-08-24 03:25:57 +02:00
Behdad Esfahbod
5072934c35 Minor 2011-08-24 02:24:27 +02:00
Behdad Esfahbod
46377396ac [configure] Fix graphite bits 2011-08-24 02:12:05 +02:00
Behdad Esfahbod
71388b3ee7 [uniscribe] Minor 2011-08-24 02:09:04 +02:00
Behdad Esfahbod
cd2b901027 [graphite] Minor 2011-08-24 01:48:03 +02:00
Behdad Esfahbod
834af3b48a [graphite] Remove hb_graphite2_feature_check()
I don't see how this function can be useful.
2011-08-24 01:45:47 +02:00
Behdad Esfahbod
1f49cf32c9 Add graphite2 integration from Martin Hosken
To be modified, a lot.
2011-08-24 01:32:41 +02:00
Behdad Esfahbod
0e6d36d8a3 Minor 2011-08-24 01:31:29 +02:00
Behdad Esfahbod
efde811325 Add a constructor for hb_prealloced_array_t
Fixes build with MSVC.
2011-08-23 00:04:57 +02:00
Behdad Esfahbod
d75333f166 Add gobject enum support, but disabled for now
need to figure out the naming.  The generated code doesn't have the
right name.
2011-08-19 19:59:24 +02:00
Behdad Esfahbod
7d235d272f Flesh out tt funcs a bit 2011-08-19 19:23:28 +02:00
Behdad Esfahbod
b9415e76d7 [API] Add hb_font_set_funcs_data() 2011-08-19 19:20:30 +02:00
Behdad Esfahbod
e6c09cdf43 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.
2011-08-19 19:20:26 +02:00
Behdad Esfahbod
187bdeaa6c Do (nothing for) hmtx sanitize 2011-08-17 19:03:06 +02:00
Behdad Esfahbod
d6016e4910 Fix name-table sanitize 2011-08-17 15:00:18 +02:00
Behdad Esfahbod
ae9877dea6 Add hhea-table support 2011-08-17 15:00:10 +02:00
Behdad Esfahbod
7a750ac33e Rename table files from eg maxp-private.hh to maxp-table.hh 2011-08-17 14:19:59 +02:00
Behdad Esfahbod
0b7e4d9f20 [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.
2011-08-15 20:41:59 +02:00
Behdad Esfahbod
97796453aa Fix falloffs of the GOption conversion 2011-08-15 19:03:43 +02:00
Behdad Esfahbod
4e9ff1dd6e 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.
2011-08-15 16:21:22 +02:00
Behdad Esfahbod
553bc3de82 Minor 2011-08-15 16:21:06 +02:00
Behdad Esfahbod
254142bb67 [ft] FT_Select_Charmap() when we create face 2011-08-15 16:15:44 +02:00
Behdad Esfahbod
a4cbd03dd1 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
2011-08-15 09:52:05 +02:00
Behdad Esfahbod
c214cff55c Start adding gobject-introspection support 2011-08-14 15:17:51 +02:00
Behdad Esfahbod
9527fb200f Fix missing return 2011-08-13 19:03:48 +02:00
Behdad Esfahbod
77a3287695 Minor 2011-08-13 17:16:45 +02:00
Behdad Esfahbod
3bb300ee78 Refactor hb-view code 2011-08-11 12:04:03 +02:00
Behdad Esfahbod
d6660356dd Add uniscribe font getters 2011-08-10 22:08:36 +02:00
Behdad Esfahbod
01ec13a1d9 Implement hb_ft_font_get_face 2011-08-10 22:00:35 +02:00
Behdad Esfahbod
36a4fe037d Fix charset conversion 2011-08-10 21:54:22 +02:00
Behdad Esfahbod
25c4830593 [util] Add hb-shape --shapers
If the specified shapers fail, hb-shape will fail immediately
2011-08-10 16:28:38 +02:00
Behdad Esfahbod
0501573ded Fix const correctness in the API 2011-08-10 16:25:56 +02:00
Behdad Esfahbod
a21add6c0d Reformat 2011-08-10 16:07:49 +02:00
Behdad Esfahbod
8df90c8118 [util] Port hb-view to GOption 2011-08-10 16:03:29 +02:00
Behdad Esfahbod
511a136f0c Move hb-view into util/ 2011-08-09 15:03:00 +02:00
Behdad Esfahbod
d753ac78da [uniscribe] Remove zerowidth glyphs from output 2011-08-09 14:03:12 +02:00
Behdad Esfahbod
217cc81cd9 [test/shape-complex] Print cluster and position info in --verbose 2011-08-09 14:00:44 +02:00
Behdad Esfahbod
708403e7f3 Fix warnings with old glib 2011-08-09 13:52:36 +02:00
Behdad Esfahbod
ddd247b0c5 Minor 2011-08-09 11:44:42 +02:00
Behdad Esfahbod
1b8196c986 Add fallback shaper 2011-08-09 11:37:46 +02:00
Behdad Esfahbod
13a601fe99 [FT] Don't make font immutable 2011-08-09 11:36:54 +02:00
Behdad Esfahbod
38b2118724 [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.
2011-08-09 11:10:32 +02:00
Behdad Esfahbod
255f176fdc Minor 2011-08-09 08:35:07 +02:00
Behdad Esfahbod
a9057eb3f3 [uniscribe] Unbreak 2011-08-09 00:47:55 +02:00
Behdad Esfahbod
c0975e1231 Fix build again 2011-08-09 00:46:18 +02:00