Commit Graph

153 Commits

Author SHA1 Message Date
Behdad Esfahbod
7b84c536c1 In MarkBase attachment, only attach to first of a MultipleSubst sequence
This is apparently what Uniscribe does.  Test case is:

  SEEN FATHA TEH ALEF

with Arabic Typesetting.  Originally reported by Khaled Hosny.
2012-06-08 22:04:23 -04:00
Behdad Esfahbod
e085fcf7ca Remove unused buffer->replace_glyphs_be16 2012-06-08 21:45:00 -04:00
Behdad Esfahbod
3ec77d6ae0 Don't use replace_glyphs_be for MultipleSubst 2012-06-08 21:44:06 -04:00
Behdad Esfahbod
4b7192125f Minor 2012-06-08 21:41:46 -04:00
Behdad Esfahbod
68b76121f8 Fix regressions introduced by sed. Ouch!
Introduced in 99c2695759.
Broken mark-mark and mark-ligature stuff.
2012-06-08 10:47:00 -04:00
Behdad Esfahbod
2a3d911fe0 Fix alignment-requirement missmatch
Detected by clang and lots of cmdline options.
2012-06-07 17:31:46 -04:00
Behdad Esfahbod
ed2f1363a3 Fix substitution glyph class propagation
The old code was doing nothing.

Still got to find an example font+string that makes this matter, but
need this for fixing synthetic GDEF anyway.
2012-05-22 22:12:22 -04:00
Behdad Esfahbod
99c2695759 Add accessort to buffer for current info, current pos, and prev info 2012-05-13 15:45:18 +02:00
Behdad Esfahbod
6736f3c5b0 Minor 2012-05-13 15:21:06 +02:00
Behdad Esfahbod
5df809b655 [GSUB/GPOS] Remove context_length
The spec doesn't say contextual matching should be done this way,
and AOTS doesn't do it either.  It was inherited from old HarfBuzz.
Remove it.
2012-05-13 15:17:51 +02:00
Behdad Esfahbod
28b9d502bb Minor 2012-05-13 15:04:00 +02:00
Behdad Esfahbod
5f131d3226 [GSUB/GPOS/Indic] Apply GSUB/GPOS within syllables only
This does not apply to the context matchings.

This regresses tests right now.  And we are not sure whether this is
the right thing to do for GPOS.  But we'll figure out.
2012-05-11 17:29:40 +02:00
Behdad Esfahbod
8fd83aaf6e [GSUB/GPOS] Fix wrong buffer access in backward skippy mask matching 2012-05-11 17:18:37 +02:00
Behdad Esfahbod
203d71069c [GSUB/GPOS] Check all glyph masks when matching input 2012-05-11 16:01:44 +02:00
Behdad Esfahbod
cee7187447 [Indic] Move syllable tracking from Indic to generic layer
This is to incorporate it into GSUB/GPOS processing.
2012-05-11 11:41:39 +02:00
Behdad Esfahbod
55fe2cf79b Make APPLY debug output print current index and codepoint
Yay!
2012-05-11 03:56:33 +02:00
Behdad Esfahbod
98619ce4fa Minor 2012-05-11 02:34:06 +02:00
Behdad Esfahbod
acea183e98 Add return annotation for APPLY 2012-05-11 02:33:11 +02:00
Behdad Esfahbod
0ab8c86217 Annotate SANITIZE return values
More to come, for APPLY, CLOSURE, etc.
2012-05-11 02:11:52 +02:00
Behdad Esfahbod
6f45538017 More massaging trace messaging 2012-05-10 23:24:43 +02:00
Behdad Esfahbod
208109703c Better trace message support infrastructure
We have varargs in the trace interface now.  To be used soon...
2012-05-10 23:06:58 +02:00
Behdad Esfahbod
a9844d41c6 Combine lig_id and lig_comp into one byte, to free up one for Indic 2012-05-09 17:53:13 +02:00
Behdad Esfahbod
5caece67ab Make closure() return void 2012-04-23 23:03:12 -04:00
Behdad Esfahbod
5b93e8d94f Update copyright headers 2012-04-23 22:26:27 -04:00
Behdad Esfahbod
6a9be5bd35 Rename hb_glyph_map_t to hb_set_t 2012-04-23 22:23:17 -04:00
Behdad Esfahbod
31081f7390 Implement closure() for Context and ChainContext lookups 2012-04-23 16:54:58 -04:00
Behdad Esfahbod
3e32cd9570 Minor 2012-04-23 13:22:50 -04:00
Behdad Esfahbod
650ac00da3 Minor refactoring 2012-04-23 13:17:09 -04:00
Behdad Esfahbod
f94b0aa646 Add "closure" operation stubs to GSUB
Filling in.
2012-04-23 13:04:38 -04:00
Behdad Esfahbod
41ae674f68 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...
2012-04-11 17:13:50 -04:00
Behdad Esfahbod
03408ce73d Fix more possible buffer overruns
I have this function, but can't clean up it to my satisfaction.
2012-01-18 21:28:34 -05:00
Behdad Esfahbod
7d479900cd Refactor the two remaining uses of _hb_ot_layout_skip_mark() 2012-01-18 21:19:32 -05:00
Behdad Esfahbod
506ffeb8e7 Further mark skippy fixes from Jonathan Kew
We should be in good shape now.
2012-01-18 16:07:53 -05:00
Behdad Esfahbod
a4a48fe6d4 Fix mark skipping regression
Ouch!
2012-01-17 18:08:41 -05:00
Behdad Esfahbod
4ab9731154 Refactor mark skipping 2012-01-16 22:20:31 -05:00
Behdad Esfahbod
370f03e9c6 Minor 2012-01-16 17:06:59 -05:00
Behdad Esfahbod
4d3aeb8cb2 [GSUB/GPOS] Fix mark skip indexing issues
Mozilla bug 701637 and 714067 combined.

Patch from Jonathan Kew.
2012-01-16 16:43:26 -05: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
c605bbbb6d Remove C++ guards from source files
Where causing issues for people with MSVC.
2011-08-04 20:00:53 -04:00
Behdad Esfahbod
cc06c243d8 Streamline debugging infrastructure even more 2011-07-25 20:34:17 -04:00
Behdad Esfahbod
651e8dd79e Start cleaning up buffer var allocation
I've messed up a lot of stuff recently, different parts of the
shaping process are stumbling on eachother's toes because
manually tracking what's in which buffer var is hard.  I'm
going to add some internal API to track those such that mistakes
are discovered as soon as they are introduced.
2011-07-25 14:54:08 -04:00
Behdad Esfahbod
18c42850c9 Shrink space used for ligature ids
This frees 16bits in the glyph_info struct during the ot_layout process.
We can use the freed space in the shapers now.
2011-07-25 00:43:39 -04:00
Behdad Esfahbod
d8787493c9 Minor 2011-07-25 00:36:01 -04:00
Behdad Esfahbod
468e9cb25c Move buffer methods into the object 2011-07-22 14:49:14 -04:00
Behdad Esfahbod
744970af4d [API] Add support for vertical text
Design not final yet, and in fact I'm going to change it immediately,
but this is an standalone change for itself.
2011-05-17 17:12:34 -04:00
Behdad Esfahbod
abcfe9b59b Remove hb_ot_layout_context_t, simplify code 2011-05-11 00:02:02 -04:00
Behdad Esfahbod
2409d5f8d7 Update Copyright headers 2011-04-21 17:14:28 -04:00
Behdad Esfahbod
cc1a8a938b Fix ChanContext backtrack matching with GPOS
Reported on mailing list by Keith Stribley and Khaled Hosny.
2011-01-06 14:58:52 -05:00
Behdad Esfahbod
7eb875118d Mozilla Bug 618592 - freeze on typekit
Fix apply_lookup() for zero-input broken fonts.
2010-12-13 14:13:35 -05:00
Behdad Esfahbod
300cb41417 Add XXX marks 2010-11-17 12:57:23 -05:00