Commit Graph

1626 Commits

Author SHA1 Message Date
Behdad Esfahbod
738d096a06 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).
2011-09-02 13:31:19 -04:00
Behdad Esfahbod
ea02cbf03c [graphite] Don't preload glyphs
Doesn't seem to be slower.
2011-09-02 12:39:20 -04:00
Behdad Esfahbod
210a06f3d7 Minor 2011-08-26 13:39:49 +02:00
Behdad Esfahbod
4a8d2e379a [graphite2] Chop a few more lines 2011-08-26 09:40:54 +02:00
Behdad Esfahbod
81ec289da7 Minor 2011-08-26 09:33:06 +02:00
Behdad Esfahbod
3380de5abb [graphite] Use buffer->replace_glyphs() 2011-08-26 09:30:49 +02:00
Behdad Esfahbod
9ebe8c0286 Add buffer->replace_glyphs() 2011-08-26 09:29:42 +02:00
Behdad Esfahbod
a5edb1031c Minor 2011-08-26 09:27:13 +02:00
Behdad Esfahbod
290e3ee517 [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.
2011-08-26 09:25:04 +02:00
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