Commit Graph

2431 Commits

Author SHA1 Message Date
Behdad Esfahbod b00321ea78 [OT] Avoid calling get_glyph() twice
Essentially move the glyph mapping to normalization process.
The effect on Devanagari is small (but observable).  Should be more
observable in simple text, like ASCII.
2012-08-09 22:33:32 -04:00
Behdad Esfahbod 12c0875eaf [OT] Remove redundant check 2012-08-09 22:02:54 -04:00
Behdad Esfahbod 5c60b70c89 [OT] More code shuffling around
Preparing for merging map_glyphs() and normalize().
2012-08-09 21:58:07 -04:00
Behdad Esfahbod cd0c6e148f Shuffle buffer variable allocations around
To room for more allocations, coming.
2012-08-09 21:48:55 -04:00
Behdad Esfahbod 8d1eef3f32 Minor 2012-08-09 21:35:47 -04:00
Behdad Esfahbod 56c9e7c004 Fill out combining class resetting for fallback shaping Thai/Lao/Tibetan 2012-08-09 21:14:23 -04:00
Behdad Esfahbod a321e1d51e Revert "Reject lookups with no subTable"
This reverts commit 30ec9002d8.

See previous commit.
2012-08-09 18:30:34 -04:00
Behdad Esfahbod 2eaf482b37 Revert "[GSUB/GPOS] Reject Context/ChainContext lookups with zero input"
This reverts commit 0981068b75.

I was confused.  Even if we access coverage[0] unconditionally, we don't
need bound checks since the array machinary already handles that.
2012-08-09 18:30:05 -04:00
Behdad Esfahbod a02d86484b Add check-exported-symbols.sh
And misc linking fixes.
2012-08-08 18:04:29 -04:00
Behdad Esfahbod 4c8ac4f47e Misc minor fixes 2012-08-08 17:44:19 -04:00
Behdad Esfahbod 560d68af81 Use a export-file for Windows builds
Apparently even that doesn't make check-internal-symbols.sh happy with
mingw32.  Going to disable that for DLLs again, but hopefully the
export-file is doing *something*.
2012-08-08 17:16:01 -04:00
Behdad Esfahbod f8751cf8e0 [hb-old] speed-up build 2012-08-08 17:15:44 -04:00
Behdad Esfahbod 5f4c52867c Minor 2012-08-08 16:53:37 -04:00
Behdad Esfahbod fe2b8a7777 Minor 2012-08-08 15:27:14 -04:00
Behdad Esfahbod 7e7d245b33 Make default_language threadsafe 2012-08-08 15:23:48 -04:00
Behdad Esfahbod 06b192c458 Minor 2012-08-08 15:23:45 -04:00
Behdad Esfahbod 37191ede75 Minor 2012-08-08 14:59:09 -04:00
Behdad Esfahbod 6d9a329a8a Adjust a couple source checks 2012-08-08 14:48:41 -04:00
Behdad Esfahbod 9c929abdcf Minor renaming 2012-08-08 14:33:37 -04:00
Behdad Esfahbod 801298b590 Fix cast
https://bugs.freedesktop.org/show_bug.cgi?id=53233
2012-08-08 14:26:36 -04:00
Behdad Esfahbod 21756934a1 [OT] Implement fallback positioning
Implemented for Arabic, Hebrew, and generic marks.
Activated if no GPOS table present.
2012-08-08 01:20:45 -04:00
Behdad Esfahbod fb56e76283 [hb-old] Fix warnings 2012-08-07 23:44:47 -04:00
Behdad Esfahbod affaf8a0e5 [OT] Start adding fallback positioning
Used when there is no GPOS.
2012-08-07 22:43:07 -04:00
Behdad Esfahbod 7e4920fd15 Minor 2012-08-07 22:32:23 -04:00
Behdad Esfahbod 472f229a63 [GSUB] Generalize would_apply()
Fixes logic also, where before we were always matching if glyphs_len==1
and a ligature started with the glyph.
2012-08-07 22:25:24 -04:00
Behdad Esfahbod 6f3a300138 Add hb_font_glyph_from/to_string 2012-08-07 22:13:25 -04:00
Behdad Esfahbod eb56f6ae96 Minor 2012-08-07 21:44:25 -04:00
Behdad Esfahbod f4e48adcdd [OT] Apply 'rclt' feature in horizontal mode
'rclt' is "Required Contextual Forms" being proposed by Microsoft.
It's like 'calt', but supposedly always on.  We apply 'calt' anyway,
and now apply this too.
2012-08-07 21:12:49 -04:00
Behdad Esfahbod b1914b8bd0 Fix warnings 2012-08-07 16:57:48 -04:00
Behdad Esfahbod 0f8881d6bb More refactoring 2012-08-07 16:57:02 -04:00
Behdad Esfahbod 428dfcab66 Minor refactoring 2012-08-07 16:51:48 -04:00
Behdad Esfahbod 61f41849af Add Hebrew presentation forms shaping
Lifted from https://bugzilla.mozilla.org/show_bug.cgi?id=728866
2012-08-07 16:45:27 -04:00
Behdad Esfahbod 32d71dc133 [Graphite] Minor 2012-08-07 14:21:12 -04:00
Behdad Esfahbod 030ac5022e Remove enum trailing comma
...again.
2012-08-07 13:01:12 -04:00
Behdad Esfahbod 368b4e7649 Minor 2012-08-06 23:06:04 -04:00
Behdad Esfahbod ade7459ea7 [util] Fix leaks 2012-08-06 19:49:42 -07:00
Behdad Esfahbod 2fef993460 [Graphite] Fix graphite2 backend with RTL text
Patch from Martin Hosken.
2012-08-06 19:35:04 -07:00
Behdad Esfahbod e4992e13e1 [Graphite] Port graphite2 backend to new shaper infrastructure 2012-08-06 19:29:53 -07:00
Behdad Esfahbod 66591ececf Remove unnecessary lifecycle bits
We already set recount to INVALID when destroying.
This block was not necessary.
2012-08-06 17:07:19 -07:00
Behdad Esfahbod e3320ecc1b Fix compiler warnings 2012-08-06 11:44:42 -07:00
Behdad Esfahbod 167b625d98 [Indic] Minor, move 'blwf' after 'half'
We don't apply them together anyway.  Should not make any difference
right now.
2012-08-05 21:16:26 -07:00
Behdad Esfahbod 048e3b596f Speed up hb_set_digest_lowest_bits_t calcs 2012-08-04 20:46:45 -07:00
Behdad Esfahbod 3d1b66a35e Speed up hb_set_digest_common_bits_t calcs 2012-08-04 17:42:28 -07:00
Behdad Esfahbod bdc48a879a Enlarge glyph_name buffer
Lohit Devanagari has a glyph named:
u0924_u094D.half_u0930_u094D.blwf.vatu
2012-08-04 17:08:38 -07:00
Behdad Esfahbod 25326c2359 Rewrite ARRAY_LENGTH as a template function
Such it wouldn't apply to pointers accidentally.
2012-08-04 16:43:18 -07:00
Behdad Esfahbod 8ba8042821 [Indic] Fix consonant position font lookup logic
Oops.  I broken this badly and the test suite did not notice.  That
worries me.  Have to investigate.
2012-08-03 18:54:54 -07:00
Behdad Esfahbod abd0c05f1f Minor 2012-08-03 18:45:05 -07:00
Behdad Esfahbod 46ee108ef8 Fix leak 2012-08-03 18:21:13 -07:00
Behdad Esfahbod 71baea0062 [OT] Use general-category, not GDEF class, to decide to zero mark advances
At this point, the GDEF glyph synthesis looks pointless.  Not that I
have many fonts without GDEF lying around.

As for mark advance zeroing when GPOS not available, that also is being
replaced by proper fallback mark positioning soon.
2012-08-03 17:40:07 -07:00
Behdad Esfahbod 3a7e137a68 Dn't use gint 2012-08-03 17:23:40 -07:00