src


Log

Author Commit Date CI Message
Behdad Esfahbod 5e88aa66 2012-04-14T18:51:50 Remove public enum names again As was reported to me, glib-mkenum does not understand named enums, so remove for now.
Behdad Esfahbod 4bf90f64 2012-04-12T17:38:23 Make HB_DIRECTION_INVALID be zero This changes all the HB_DIRECTION_* enum member values, but is nicer, in preparation for making hb_segment_properties_t public.
Behdad Esfahbod 6bd9b479 2012-04-12T14:53:53 Hide backend-specific shape functions Also remove shaper_options argument to hb_shape_full(). That was unused and for "future". Let it go. More shaper API coming in preparation for plan/planned API.
Behdad Esfahbod c6035cf8 2012-04-12T13:23:59 Add names to enums gdb was showing <anonymous enum> instead of useful stuff, so name all our enums.
Behdad Esfahbod d1c9eb45 2012-04-12T13:17:44 Make it an error to include non-top-level headers Users should #include <hb.h> (or hb-ft.h, hb-glib.h, etc), but never things like hb-shape.h directly. This makes it easier to refactor headers later on without breaking compatibility.
Behdad Esfahbod 323190c2 2012-04-12T12:29:10 Minor
Behdad Esfahbod 0e336146 2012-04-12T10:06:52 Fix bug with not setting Unicode props of the first character Fixes Mongolian shaping issue: https://bugs.freedesktop.org/show_bug.cgi?id=45695
Behdad Esfahbod c65662b7 2012-04-12T09:31:55 Fix left-matra positioning in Indic Fixes 200 failures out of previous 4290 cases in the OO.o Indic dictionary (of ~16000 entries).
Behdad Esfahbod 029a82d8 2012-04-11T22:00:46 [hangul] Apply *jmo features to all Hangul chars This is what old HB does. Morever, fixes rendering with Win8 malgun font. The Win7 version doesn't compose with either Uniscribe nor HB, but Win8 version works as expected, like Uniscribe, with this change. Lets call Hangul done for now.
Behdad Esfahbod 41ae674f 2012-04-11T17:11:05 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...
Behdad Esfahbod 4a1e02ef 2012-04-11T14:37:53 Fix shape to presentation forms font check As reported by Jonathan Kew on the list.
Behdad Esfahbod 6062f5f0 2012-04-11T14:19:55 Fix build with some compilers As reported by Jonathan Kew on the list.
Behdad Esfahbod acd88e65 2012-04-10T18:02:20 In Arabic fallback shaping, check that the font has glyph for new char
Behdad Esfahbod 7752aa73 2012-04-10T17:22:14 Minor
Behdad Esfahbod 939c0102 2012-04-10T17:20:05 Implement Arabic fallback shaping mandatory ligatures
Behdad Esfahbod b7d04eb6 2012-04-10T16:44:38 Do Arabic fallback shaping
Behdad Esfahbod ae4a2b93 2012-04-10T16:25:08 Generate fallback Arabic shaping table Not hooked up yet.
Behdad Esfahbod 3b26f96e 2012-04-10T10:52:07 Add Thai shaper that does SARA AM decomposition / reordering That's not in the OpenType spec, but it's what MS and Adobe do.
Behdad Esfahbod d4cc4471 2012-04-07T21:52:28 Move code around, in prep for Thai/Lao shaper
Behdad Esfahbod c9a841f4 2012-04-07T15:06:55 Add simple Hangul shaper that recomposes Jamo when feasible Previously, we were NOT actually recomposing Hangul Jamo. We do now. The two lines in: test/shaping/texts/in-tree/shaper-default/script-hangul/misc/misc.txt Now render the same with the UnDotum.ttf font. Previously the second linle was rendering boxes. We can also start applying OpenType Jamo features later. At this time, I have no idea how the 'ljmo', 'vjmo', 'tjmo' features are supposed to work. Maybe someone can explain them to me?
Behdad Esfahbod 96831845 2012-04-07T14:57:21 Implement normalization mode HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_FULL In this mode we try composing CCC=0 with CCC=0 characters. Useful for Hangul.
Behdad Esfahbod bec2ac4f 2012-04-07T14:51:17 Bring normalization algorithm closer to the spec No logical difference so far.
Behdad Esfahbod e02d9257 2012-04-07T14:49:13 Flip logic around
Behdad Esfahbod 11138ccf 2012-04-05T17:25:19 Add normalize mode In preparation for Hangul shaper.
Behdad Esfahbod 6769f21d 2012-04-05T16:46:46 More moving code around
Behdad Esfahbod 2db2a566 2012-04-05T16:40:37 Move code around
Behdad Esfahbod cad3821f 2012-03-07T17:13:25 More sorting by Unicode version This is the most convenient way to browse scripts.
Behdad Esfahbod 317b9504 2012-03-07T16:51:29 Minor
Behdad Esfahbod fa2673c1 2012-03-07T15:52:02 More Unicode script age annotation, and a couple more RTL scripts Cross-checked with Mark Davis's spreadsheet at http://goo.gl/x9ilM
Behdad Esfahbod 6d4016f1 2012-03-07T15:33:14 Make src tests pass again
Behdad Esfahbod 7da435f0 2012-03-07T15:20:20 Separate Unicode 3.1 and Unicode 3.2 additions
Behdad Esfahbod f91136cb 2012-03-07T12:56:22 Route three Unicode 6.1 scripts through Indic shaper
Behdad Esfahbod f32c0012 2012-03-07T12:53:34 Add Unicode 6.1.0 scripts
Behdad Esfahbod 50e810cd 2012-03-07T12:49:08 Lydian and Kharoshthi are right-to-left
Behdad Esfahbod a5283563 2012-03-07T12:38:39 Whitespace
Behdad Esfahbod 18322468 2012-03-07T12:21:28 Use generic shaper for Buhid As requested by Jonathan Kew. We need to devise a better mechanism to choose which scripts to pass through the Indic shaper. Moreover, currently we are storing data for some scripts in the Indic shaper that are not even going through that shaper. Need to find a better way...
Behdad Esfahbod cdc8b491 2012-03-07T12:08:33 Update Indic table to Unicode 6.1 data
Behdad Esfahbod e3b2e077 2012-03-07T10:21:24 Typo
Behdad Esfahbod c346671b 2012-03-06T20:47:50 Minor doc fixes
Behdad Esfahbod 461b9b63 2012-03-01T18:11:19 Fix cluster formation in Indic Makes number of failures against Uniscribe with hi_IN dictionary from OO.o to go down from 6334 to 4290. Not bad for a one-line change! Mozilla Bug 729626 - ASAN: heap-buffer-overflow HTML
Behdad Esfahbod bc71ad49 2012-03-01T17:30:29 Fix atomic-int op on Apple The OSAtomicAdd32Barrier operator returns the new value, we want the old value.
Behdad Esfahbod a1970d9a 2012-02-24T13:51:09 Add support for atomic int and mutex on Apple systems So, apparently there's no atomic int 'get' method on Apple. You have to add(0) to get. And that's not const-friendly. So switch inert-object checking to a non-atomic get. This, however, is safe, and a negligible performance boost too.
Behdad Esfahbod 80044291 2012-02-23T18:47:17 Remove unused hb_atomic_int_set() Apparently it can't be implemented on OS X. We weren't using it anyway.
Behdad Esfahbod 45227c10 2012-02-23T19:47:43 Add hb-warning.cc. Oops!
Behdad Esfahbod bd7ff1de 2012-02-23T15:06:16 Allow disabling multi-threaded support By defining HB_NO_MT. Also, only warn once per missing MT feature support. Mozilla Bug 666661 - gfx/harfbuzz/src/hb-prive.h - compiler warnings on mac
Behdad Esfahbod 634c9e34 2012-02-22T16:43:21 Minor
Behdad Esfahbod 514b6f88 2012-02-22T16:34:37 Followup: Reorder Hebrew combining classes for better rendering Patch from Jonathan Kew. Bug 662055 - advanced Hebrew diacritics are shown correctly only in particular order.
Behdad Esfahbod 6e78607e 2012-02-22T16:31:15 Reorder Hebrew combining classes for better rendering Patch from Jonathan Kew. Bug 662055 - advanced Hebrew diacritics are shown correctly only in particular order
Behdad Esfahbod 134aa7bc 2012-01-27T02:09:40 Make checks more OS X friendly
Behdad Esfahbod 61521993 2012-01-27T01:57:59 Fix check-header-guards on OS X
Behdad Esfahbod 71632c96 2012-01-22T15:31:44 Fallback to Latin script if the font has no other usable scripts Patch and description from Jonathan Kew: It turns out that some legacy Thai fonts provide OpenType substitution features to implement mark positioning, but (incorrectly) put those features/lookups under the 'latn' script tag instead of using 'thai' (or possibly 'DFLT'). See https://bugzilla.mozilla.org/show_bug.cgi?id=719366 for an example and more detailed description. Although this is really a font bug, I suggest that we could improve the rendering of such fonts by looking for the 'latn' as a fallback if neither the requested script nor "default" is found in hb_ot_layout_table_choose_script. Suggested patch against harfbuzz master is attached. This does _not_ affect the other kind of legacy Thai font, where custom code to support vendor-specific PUA codepoints would be needed. I'm not keen to go down that path; IMO, such fonts should be ruthlessly stamped out in favour of standards-based solutions. :) JK
Behdad Esfahbod 7a4a848d 2012-01-19T15:15:21 Minor
Behdad Esfahbod 3b5c22c3 2012-01-19T14:28:11 Remove src/test.cc Not really useful.
Behdad Esfahbod 889caa52 2012-01-18T22:32:52 [icu] Use U_FAILURE
Behdad Esfahbod 36a4f4a4 2012-01-18T22:16:49 Replace u_strlen() with u_countChar32() The latter is what I meant.
Behdad Esfahbod c521e793 2012-01-18T21:51:05 Fix OOB in replace_glyph() Patch from Kenichi Ishibashi.
Behdad Esfahbod 03408ce7 2012-01-18T21:28:34 Fix more possible buffer overruns I have this function, but can't clean up it to my satisfaction.
Behdad Esfahbod 7d479900 2012-01-18T21:19:32 Refactor the two remaining uses of _hb_ot_layout_skip_mark()
Behdad Esfahbod 506ffeb8 2012-01-18T16:07:53 Further mark skippy fixes from Jonathan Kew We should be in good shape now.
Behdad Esfahbod a4a48fe6 2012-01-17T18:08:41 Fix mark skipping regression Ouch!
Behdad Esfahbod 4ab97311 2012-01-16T22:05:08 Refactor mark skipping
Behdad Esfahbod 370f03e9 2012-01-16T17:03:55 Minor
Behdad Esfahbod 4d3aeb8c 2012-01-16T16:43:26 [GSUB/GPOS] Fix mark skip indexing issues Mozilla bug 701637 and 714067 combined. Patch from Jonathan Kew.
Behdad Esfahbod e8eedf26 2012-01-16T16:39:40 Avoid enum trailing commas Based on patch from Jonathan Kew.
Behdad Esfahbod 299ae0c3 2012-01-14T21:29:45 [icu] Remove glib-ism
Behdad Esfahbod af921354 2011-10-21T09:18:43 Minor
Behdad Esfahbod 89d89646 2011-10-17T11:50:54 Fix intrin.h b0rkage with older MSVC Reported by Jonathan Kew.
Behdad Esfahbod af913c57 2011-10-17T11:39:28 Fix infinite loop in normalization code with variation selectors Reported by Jonathan Kew.
Behdad Esfahbod 55deff75 2011-09-28T16:20:09 Add comments
Behdad Esfahbod 52ebdff4 2011-09-27T12:38:16 Fix GSUB lookuptype 1 subtype 1 delta wrapping
Behdad Esfahbod b95324cd 2011-09-21T16:50:39 Minor
Behdad Esfahbod 0cd33592 2011-09-21T16:49:33 Fix possible leaks
Behdad Esfahbod d606daa4 2011-09-20T14:34:06 Whitespace
Behdad Esfahbod f83f0f48 2011-09-19T18:51:48 [graphite] Add note about graphite shaker brokenness
Behdad Esfahbod 0a965eee 2011-09-19T16:53:47 Minor
Behdad Esfahbod 5c299343 2011-09-19T14:53:26 [uniscribe] Various improvements
Behdad Esfahbod 5ddd9cc4 2011-09-16T16:40:44 Minor
Behdad Esfahbod 947c9a77 2011-09-16T16:33:18 Minor
Behdad Esfahbod d5476a30 2011-09-16T12:30:50 Minor
Behdad Esfahbod 36b10f58 2011-09-15T16:29:51 Minor
Behdad Esfahbod c4611cb6 2011-09-13T13:33:11 Fix test
Behdad Esfahbod bc187e5a 2011-09-08T13:35:17 Refine Indic scripts, following Martin Hosken's recommendation
Behdad Esfahbod 738d096a 2011-09-02T13:31:19 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).
Behdad Esfahbod ea02cbf0 2011-09-02T12:39:20 [graphite] Don't preload glyphs Doesn't seem to be slower.
Behdad Esfahbod 210a06f3 2011-08-26T13:39:49 Minor
Behdad Esfahbod 4a8d2e37 2011-08-26T09:40:54 [graphite2] Chop a few more lines
Behdad Esfahbod 81ec289d 2011-08-26T09:33:06 Minor
Behdad Esfahbod 3380de5a 2011-08-26T09:30:49 [graphite] Use buffer->replace_glyphs()
Behdad Esfahbod 9ebe8c02 2011-08-26T09:29:42 Add buffer->replace_glyphs()
Behdad Esfahbod a5edb103 2011-08-26T09:27:13 Minor
Behdad Esfahbod 290e3ee5 2011-08-26T09:25:04 [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.
Behdad Esfahbod 4c9fe88d 2011-08-26T09:18:53 [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()
Behdad Esfahbod a499bdea 2011-08-25T22:46:21 [graphite2] Bail if grface is NULL
Behdad Esfahbod 3007ffa9 2011-08-25T09:08:53 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
Behdad Esfahbod 74ef81a0 2011-08-24T19:16:13 Fix make distcheck
Behdad Esfahbod 24bcdbcc 2011-08-24T19:13:15 Add hb-ot-hmtx-table.hh Oops!
Behdad Esfahbod a3bd8a0e 2011-08-24T03:22:49 [graphite] Rewrite properly
Behdad Esfahbod 5072934c 2011-08-24T02:24:27 Minor
Behdad Esfahbod 71388b3e 2011-08-24T02:09:04 [uniscribe] Minor
Behdad Esfahbod cd2b9010 2011-08-24T01:47:25 [graphite] Minor