Commit Graph

3482 Commits

Author SHA1 Message Date
Behdad Esfahbod c79865f90f [coretext] Add coretext_aat shaper
This is a higher-priority shaper than default shaper ("ot"), but
only picks up fonts that have AAT "morx"/"mort" table.

Note that for this to work the font face's get_table() implementation
should know how to return the full font blob.

Based on patch from Konstantin Ritt.
2014-03-14 19:38:58 -04:00
Behdad Esfahbod af1aa362ca If HAVE_ICU_BUILTIN is defined, use hb-icu Unicode callbacks
Useful for Android / Chrome / etc when ICU is built in the same
library as harfbuzz itself.
2014-03-14 15:54:13 -07:00
Behdad Esfahbod 853daf857f Remove old cruft 2014-03-14 15:49:18 -07:00
Behdad Esfahbod 2a473338da Add Myanmar test case from OpenType Myanmar spec 2014-03-10 15:04:46 -07:00
Behdad Esfahbod 1589859089 Minor 2014-03-10 14:57:55 -07:00
Behdad Esfahbod bb8ffb581b Use AM_MISSING_PROG for ragel and git 2014-03-04 13:03:51 -08:00
Behdad Esfahbod a82165248c Only do fallback Hebrew composition if no GPOS 'mark' available
Apparently some modern fonts have proper GPOS mark positioning
tables, but undesirable precomposed forms!  See thread
"Hebrew composition to presentation forms" and:

  http://tex.stackexchange.com/questions/156775/having-trouble-with-vowel-positioning-in-ezra-sil-xelatex

Test case: U+fb1d,05d9,05b4
2014-02-18 15:53:56 -05:00
Behdad Esfahbod b456d42bf6 Allow bootstrapping without gtk-doc
Seems like configure.ac is already able to handle it.
2014-02-11 17:29:40 -05:00
Luis de Bethencourt 1eacde00cc check hb_set_is_emtpy in test-set.c 2014-02-10 13:48:43 -05:00
Werner Lemberg db068d81cd typo in ucdn's Makefile.am 2014-02-10 13:05:48 -05:00
Behdad Esfahbod fbb2847f54 Improve MemoryBarrier() implementation
See thread "[HarfBuzz] compilation error of 0.9.26 with MinGW"
started by Werner.
2014-02-05 08:22:06 -05:00
Behdad Esfahbod 189bf23bfc 0.9.26 2014-01-30 15:14:58 -05:00
Jonathan Kew 7691a154e5 Ensure hb_script_t can safely hold any hb_tag_t value it's given.
Fixes https://github.com/behdad/harfbuzz/pull/21
2014-01-29 16:09:16 -05:00
Behdad Esfahbod c29993a181 [coretext] Handle surrogate pairs when generating notdef glyphs
Fixes github.com/behdad/harfbuzz/pull/19
2014-01-28 17:29:42 -05:00
Behdad Esfahbod 748b2782e4 [coretext] Minor optimization 2014-01-28 17:10:05 -05:00
Konstantin Ritt 24e6b11f12 Fix double destruction in case of OOM 2014-01-28 11:21:18 -05:00
Konstantin Ritt 083225916a Micro optimizations 2014-01-28 11:14:12 -05:00
Konstantin Ritt c9522de233 Make it possible to disable the fallback shaper at configure time
The OT shaper supersedes the fallback shaper in every case
and the latter become an extra weight for 99.9% of users.
2014-01-28 11:13:53 -05:00
Behdad Esfahbod 6775da3a7c Fix clang warning 'private field 'xxx' is not used
Fixes https://github.com/behdad/harfbuzz/pull/16
2014-01-23 14:18:49 -05:00
Behdad Esfahbod 62299826f4 Fix typo in _hb_buffer_serialize_glyphs_text()
Fixes https://github.com/behdad/harfbuzz/pull/17
2014-01-23 14:11:03 -05:00
Behdad Esfahbod ae23c24c32 [arabic] Disable 'cswh' by default
I believe Windows 8 disables it, and spec update dated
Jan 2014 also clearly says it's disabled by default:

  http://www.microsoft.com/typography/OpenTypeDev/arabic/intro.htm#features
2014-01-22 11:03:02 -05:00
Behdad Esfahbod 08cf5d75ef [ot] Don't try to compose if normalization is off 2014-01-22 07:53:55 -05:00
Behdad Esfahbod 0596343bfe Merge pull request #13 from jfkthame/hangul-shaper
Tone-mark reordering and improved Old Hangul support
2014-01-22 04:43:51 -08:00
Jonathan Kew 62cb28dfc6 fixup for 64-bit windows build 2014-01-22 07:31:54 -05:00
Jonathan Kew 83d7e7915a [hangul] Fix ordering of dotted circle with Hangul tone mark (reported by Dohyun Kim). 2014-01-20 19:49:47 +00:00
Jonathan Kew deef186265 [hangul] Don't force zero-width for marks - this is not wanted for the Jamo Filler glyphs. 2014-01-20 10:38:27 +00:00
Jonathan Kew 391934db0a [unicode] Exclude the Jamo Filler characters from Default_Ignorable, as some fonts want these to be visible/spacing glyphs. 2014-01-20 10:37:32 +00:00
Jonathan Kew 7244b3fc3b [hangul] Reorder Hangul tone mark to beginning of syllable, unless font implements it using a zero-width glyph. 2014-01-20 10:35:51 +00:00
Jonathan Kew 103436838d [hangul] Apply the appropriate *jmo features to decomposed syllables, including Old Hangul sequences that don't have Unicode compositions. Merge clusters in decomposed syllables. 2014-01-20 10:35:07 +00:00
Behdad Esfahbod 8fc1f7fe74 [ot/hangul] Don't decompose Hangul even when combining marks present
As discussed on
https://github.com/behdad/harfbuzz/pull/10#issuecomment-31442030
2014-01-02 17:04:04 +08:00
Behdad Esfahbod 64426ec73a [ot] Simplify composing
Not tested.  Ouch.
2014-01-02 14:33:10 +08:00
Behdad Esfahbod 8de20b1e8a Add font->has_glyph() 2014-01-02 14:30:45 +08:00
Behdad Esfahbod f6298e55ae [fallback] Minor 2014-01-02 14:23:56 +08:00
Behdad Esfahbod 29ea403d67 [hangul] Fix decomposition logic
Seems to be working now.
2014-01-02 14:20:00 +08:00
Behdad Esfahbod bdb20dafc3 [hangul] Fix decomposition
Part of https://github.com/behdad/harfbuzz/pull/10
2014-01-02 14:04:30 +08:00
Behdad Esfahbod 32478656ce [hangul] Tighten up character categories
I had tried to expand to fill the blocks, but that sounds wrong in
retrospect.
2014-01-02 14:01:56 +08:00
Behdad Esfahbod f14bb7de63 [ot] Separate out hebrew and tibetan shapers from default
Now default shaper is truly no-op.
2013-12-31 16:49:15 +08:00
Behdad Esfahbod 6300cd7253 [ot] Define HB_OT_SHAPE_ZERO_WIDTH_MARKS_DEFAULT 2013-12-31 16:38:47 +08:00
Behdad Esfahbod 3d6ca0d32e [ot] Simplify normalization_preference again
No shaper has more than one behavior re this, so no need for a callback.
2013-12-31 16:35:37 +08:00
Behdad Esfahbod c98b7183f7 [ot] Add Hangul shaper
Not exhaustively tested, but I think I got the intended logic
right.

The logic can perhaps be simplified.  Maybe we should disabled
normalization with this shaper.  Then again, for now focusing on
correctness.
2013-12-31 16:23:48 +08:00
Behdad Esfahbod 15f67048e4 Reorder Tai Tham SAKOT to ensure it comes after any tone marks 2013-12-27 19:33:28 -05:00
Behdad Esfahbod 3216e44feb [uniscribe] Fix scratch-buffer accounting 2013-12-23 14:39:23 -05:00
Behdad Esfahbod beeb12c9af Add TODO item 2013-12-22 22:53:27 -05:00
Luis de Bethencourt fbd4acc58a Clean ht-ob headers 2013-12-22 22:52:57 -05:00
Behdad Esfahbod 5497a8a274 Cache various masks on the shape plan 2013-12-22 20:48:53 -05:00
Behdad Esfahbod 02f909664f Minor correction to kern mask checking 2013-12-22 19:35:27 -05:00
Behdad Esfahbod a7e8bbb080 Minor fraction mask setting improvement 2013-12-22 19:33:35 -05:00
Behdad Esfahbod 76fff252a9 Don't form fractions if only one of numr/dnom exist 2013-12-22 17:55:59 -05:00
Behdad Esfahbod 3aeee519f0 Bug 72698 - Automatically support frac / numr / dnom
When seeing U+2044 FRACTION SLASH in the text, find decimal
digits (Unicode General Category Decimal_Number) around it,
and mark the pre-slash digits with 'numr' feature, the post-slash
digits with 'dnom' feature, and the whole sequence with 'frac'
feature.

This beautifully renders fractions with major Windows fonts,
and any other font that implements those features (numr/dnom is
enough for most fonts.)

Not the fastest way to do this, but good enough for a start.
2013-12-22 16:17:54 -05:00
Behdad Esfahbod 014f369ec9 Add XXX note 2013-12-22 16:15:30 -05:00