Log

Author Commit Date CI Message
Behdad Esfahbod 3ca6c4ec 2011-08-05T17:22:19 Change hb_shape() API back to what it was, add hb_shape_full() I disliked changing hb_shape() API, and disliked the fact that it was returning a bool now. So, reverted. Added new API for the extra functionality.
Behdad Esfahbod 02aeca98 2011-08-04T22:31:05 [API] Changes to main shape API hb_shape() now accepts a shaper_options and a shaper_list argument. Both can be set to NULL to emulate previous API. And in most situations they are expected to be set to NULL. hb_shape() also returns a boolean for now. If shaper_list is NULL, the return value can be ignored. shaper_options is ignored for now, but otherwise it should be a NULL-terminated list of strings. shaper_list is a NULL-terminated list of strings. Currently recognized strings are "ot" for native OpenType Layout implementation, "uniscribe" for the Uniscribe backend, and "fallback" for the non-complex backend (that will be implemented shortly). The fallback backend never fails. The env var HB_SHAPER_LIST is also parsed and honored. It's a colon-separated list of shaper names. The fallback shaper is invoked if none of the env-listed shapers succeed. New API hb_buffer_guess_properties() added.
Behdad Esfahbod 57692adf 2011-08-04T20:49:16 Make test.cc do something more useful Hardcoded to the uniscribe backend for now. Will fix soon.
Behdad Esfahbod c605bbbb 2011-08-04T20:00:53 Remove C++ guards from source files Where causing issues for people with MSVC.
Behdad Esfahbod 8336186a 2011-08-04T19:49:05 Zero map objects
Behdad Esfahbod ecd3b6e4 2011-08-04T01:57:40 More build fixes
Behdad Esfahbod c747f509 2011-08-04T01:51:30 More out-of-tree build fixes
Behdad Esfahbod 0530ca9a 2011-08-04T01:42:59 Fix out-of-tree build
Behdad Esfahbod ddbf4edc 2011-08-04T01:38:37 Minor
Behdad Esfahbod 20dde610 2011-08-04T01:07:33 Minor
Behdad Esfahbod 44b4f50d 2011-08-04T00:52:20 Fix typo
Behdad Esfahbod 0fbb2dc8 2011-08-03T19:55:04 Add draft experimental Uniscribe backend Not complete yet, font selection doesn't work. But hey it shapes! This is not supposed to be a production backend, more like a testing backend.
Behdad Esfahbod 0d7d4824 2011-08-03T17:39:24 Minor
Behdad Esfahbod e62df436 2011-08-03T17:38:54 Add internal hb_buffer_t::get_scratch_buffer()
Behdad Esfahbod 71e7936f 2011-08-03T17:38:34 Minor
Behdad Esfahbod bf8c57ba 2011-08-03T17:38:04 [API] Add hb_face_get_blob() Need to think more about it.
Behdad Esfahbod 2118fdb9 2011-08-02T14:06:51 Fix fallback shaping Broke it a few commits ago.
Behdad Esfahbod 199abbd0 2011-08-02T13:59:47 Minor
Behdad Esfahbod 4f052b93 2011-08-02T13:44:24 Fix build with glib but not freetype
Behdad Esfahbod c21be799 2011-08-02T12:05:49 Minor
Behdad Esfahbod e9c2341b 2011-08-02T11:40:44 Don't use icu-config when cross-compiling
Behdad Esfahbod 390dab49 2011-08-02T11:29:55 Unbreak icu-config results a bit
Behdad Esfahbod b301478a 2011-08-02T11:25:13 Bug 39763 - autogen.sh should check pkg-config availability (and revert change have_icu change I mistakenly pushed out)
Behdad Esfahbod f60271c0 2011-08-02T09:56:30 Add mingw32 support With these changes, on Ubuntu I can do: ./configure --host=i586-mingw32msvc && make
Behdad Esfahbod 1264b23e 2011-08-01T16:39:32 Bug 39702 - configure check for ragel
Behdad Esfahbod f5414cf0 2011-08-01T16:34:16 Use missing script for calling ragel
Behdad Esfahbod a91c58bf 2011-08-01T16:30:11 [Indic] Disable CJCT-disabling logic Read comment.
Behdad Esfahbod 5e720710 2011-07-31T17:51:50 [Indic] Stop looking for base upon seeing joiners Not sure where this is documented, but I remember this being the desired behavior. test-shape-complex failures are down from 48 to 46. Meh.
Behdad Esfahbod 28168399 2011-07-31T16:00:35 Cosmetic
Behdad Esfahbod 6b37bc80 2011-07-31T15:57:00 [Indic] Fix ZWJ/ZWNJ application Not quite working just yet. False alarm re 10 failures. It was crashing. Ouch! Back to 48 failures.
Behdad Esfahbod e7be0570 2011-07-31T15:18:57 [Indic] Add Final Reordering rules into comments Not applied yet.
Behdad Esfahbod cfd4382e 2011-07-31T15:07:11 [Indic] Handle Reph when determining base consonant
Behdad Esfahbod 97158392 2011-07-31T15:01:28 [Indic] Ra is a consonant too
Behdad Esfahbod 0d8f8a17 2011-07-31T14:57:59 [Indic] Fix reph inhibition logic
Behdad Esfahbod 9da0487c 2011-07-31T13:46:44 [Indic] Support ZWJ/ZWNJ Brings test-shape-complex failures down from 52 to 10! I hereby declare harfbuzz-ng supporting Indic!
Behdad Esfahbod 9ee27a92 2011-07-31T11:10:14 [Indic] Suppress reph formation upon joiners
Behdad Esfahbod 8354e004 2011-07-31T02:24:51 Un-Ra U+09F1. According to the test suite this is correct. But I'm not sure... Down from 54 failures to 52.
Behdad Esfahbod 07cedd81 2011-07-30T21:16:51 Minor
Behdad Esfahbod ba7e85c1 2011-07-30T21:11:53 Cosmetic
Behdad Esfahbod f5bc2725 2011-07-30T21:08:10 [Indic] For old-style Indic tables, move Halant around In old-style Indic OT standards, the post-base Halants are moved after their base. Emulate that by moving first post-base Halant to post-last-consonant. Brings test-shape-complex failures down from 88 to 54. Getting there!
Behdad Esfahbod c47a31fb 2011-07-30T20:57:01 [OT] Save chosen script tag
Behdad Esfahbod 3a9b14df 2011-07-30T20:23:55 Minor
Behdad Esfahbod 8613193b 2011-07-30T20:21:40 [test] Fix problem with N'ko test direction Old HarfBuzz test suite always shaped as left-to-right and hence had wrong 0x14db, direction expected glyphstring for N'ko. Doh! Failures down from 92 to 88.
Behdad Esfahbod fd06bf56 2011-07-30T20:14:44 [Indic] Handle initial Ra+Halant in scripts that support Reph Brings test-shape-complex failures down from 104 to 92. Way to go!
Behdad Esfahbod ee58f3bc 2011-07-30T19:15:53 Minor
Behdad Esfahbod 352372ae 2011-07-30T19:04:02 [Indic] Categorize Ra in scripts that have Reph Is the categorization correct? I don't know.
Behdad Esfahbod 45d6f29f 2011-07-30T14:44:30 [Indic] Reorder matras Number of failing shape-complex tests goes from 125 down to 94. Next: Add Ra handling and it's fair to say we kinda support Indic :).
Behdad Esfahbod 911bf32a 2011-07-30T11:16:00 Bug 39686 - Add '-no-undefined' to libharfbuzz LDFLAGS
Behdad Esfahbod 8f0b64fb 2011-07-29T17:02:48 Minor
Behdad Esfahbod 743807a3 2011-07-29T16:37:02 [Indic] Apply Indic features Find the base consonant and apply basic Indic features accordingly. Nothing complete, but does something for now. Specifically: no Ra handling right now, and no ZWJ/ZWNJ. Number of failing shape-complex tests goes from 174 down to 125. Next: reorder matras.
Behdad Esfahbod 1a1b5013 2011-07-29T16:36:46 Minor
Behdad Esfahbod dd5546de 2011-07-29T16:27:31 Minor
Behdad Esfahbod 9f9bccec 2011-07-28T17:06:46 Register buffer vars in Indic shaper
Behdad Esfahbod be09bf6b 2011-07-28T17:03:43 Oops. This should have gone into the previous commit
Behdad Esfahbod b65c0602 2011-07-28T16:48:43 Formalize buffer var allocations
Behdad Esfahbod a9ad3d34 2011-07-28T15:42:18 Move more code around Buffer var allocation coming into shape
Behdad Esfahbod cc06c243 2011-07-25T20:25:44 Streamline debugging infrastructure even more
Behdad Esfahbod 43ff203d 2011-07-25T17:35:24 Use variadic macros for debugging Looks *so* much nicer!
Behdad Esfahbod decd4e3e 2011-07-25T16:47:02 Add sugar syntax for debug messages Buffer debugging coming soon.
Behdad Esfahbod 3a81b1db 2011-07-25T16:30:32 Minor, fix leak from my previous refactorings
Behdad Esfahbod f4a579bc 2011-07-25T16:20:16 Add internal API for buffer var allocation
Behdad Esfahbod 651e8dd7 2011-07-25T14:54:08 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.
Behdad Esfahbod c86f9320 2011-07-25T00:44:50 Move code around
Behdad Esfahbod 18c42850 2011-07-25T00:36:58 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.
Behdad Esfahbod d8787493 2011-07-25T00:36:01 Minor
Behdad Esfahbod c311d852 2011-07-23T23:43:54 Keep Unicode props updated as we go so we avoid a scan later
Behdad Esfahbod 5389ff4d 2011-07-22T20:22:49 Implement the Unicode Canonical Composition algorithm Fallback normalization is complete and working now!
Behdad Esfahbod dcdc51cd 2011-07-22T17:14:46 Handle singleton decompositions
Behdad Esfahbod 34c22f81 2011-07-22T17:04:20 Implement Unicode Canonical Reordering Algorithm
Behdad Esfahbod 4ff0d2d9 2011-07-22T16:15:32 Decomposition works now!
Behdad Esfahbod 468e9cb2 2011-07-22T11:28:07 Move buffer methods into the object
Behdad Esfahbod 45412523 2011-07-22T11:07:05 More normalization kick
Behdad Esfahbod 63c0ef4a 2011-07-21T20:58:42 Fix decompose() implementations to work with non-starter non-composables Add tests.
Behdad Esfahbod 5d90a342 2011-07-21T15:25:01 Document normalization design
Behdad Esfahbod 02cdf743 2011-07-21T12:23:12 Add prefer_decomposed() complex-shaper callback This allows the Indic shaper to request decomposed characters. This will handle split matra for free. Other shapers prefer precomposed characters.
Behdad Esfahbod d6b9c6d2 2011-07-21T12:16:45 More kicking
Behdad Esfahbod 192445ae 2011-07-21T12:13:04 Remove intermittent_glyph() Lets not worry about performance for now...
Behdad Esfahbod d63adfc7 2011-07-21T11:48:57 No need to handle variation-selectors seperately, they are GC=Mn
Behdad Esfahbod aa726412 2011-07-21T11:34:59 Only form clusters if we are reversing This produces more accurate cluster mappings. Cluster mappings are minimal now. Combining marks get their own cluster value most of the time.
Behdad Esfahbod 5c6f5982 2011-07-21T11:31:08 Towards normalization
Behdad Esfahbod ad903e66 2011-07-21T10:17:22 s/COMBINING_MARK/SPACING_MARK/ here too. Oops!
Behdad Esfahbod cf7f43ec 2011-07-21T01:12:26 Remove stale comment
Behdad Esfahbod 54d1a0d2 2011-07-21T01:11:09 Form clusters before ensuring native direciton This is essential as ensure_native_direction uses cluster info that is set by form_clusters().
Behdad Esfahbod 9111b21e 2011-07-21T00:58:29 Add _hb_buffer_output_glyph() and _hb_buffer_skip_glyph()
Behdad Esfahbod 655586fe 2011-07-21T00:51:18 Towards normalization
Behdad Esfahbod 49741c86 2011-07-21T00:35:37 Include variation-selectors in cluster calculation
Behdad Esfahbod dd89d958 2011-07-21T00:28:57 Fix cluster calculation for non-LTR text
Behdad Esfahbod 4a686846 2011-07-21T00:14:01 When forming clusters, participate all mark types
Behdad Esfahbod 5157e12a 2011-07-21T00:12:33 Rename HB_UNICODE_GENERAL_CATEGORY_COMBINING_MARK to HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK Spacing_Mark is the current Unicode long-name for this property value. The previous name was wrongly carried from glib.
Behdad Esfahbod 7b08b0a7 2011-07-20T23:59:07 Minor
Behdad Esfahbod 498e1a9b 2011-07-20T23:19:49 [icu] Implement compose()/decompose()
Behdad Esfahbod ffd4a436 2011-07-20T22:30:29 Add tests for compose()/decompose() Adjust glib fallback implementation. The tests are not hooked up for ICU yet.
Behdad Esfahbod fca0923b 2011-07-20T22:16:13 Minor
Behdad Esfahbod 26b60249 2011-07-20T21:58:14 [glib] Use g_unicode_script_to/from_iso15924() if available
Behdad Esfahbod 22fdc667 2011-07-20T21:51:37 [glib] Add compose() and decompose() implementations with fallback
Behdad Esfahbod a54a5505 2011-07-20T16:42:10 Minor
Behdad Esfahbod 23db8d5c 2011-07-12T12:02:26 [test] Work around glib <= 2.30 API
Behdad Esfahbod 22989c5f 2011-07-12T11:54:58 Distribute hb-ot-shape-complex-indic-machine.rl
Behdad Esfahbod f6fd3780 2011-07-08T00:22:40 Let shapers decide when to apply ccmp and locl Instead of always applying those two features before the complex shaper, let the complex shaper decide whether they should be applied first. Also add stub for Indic's final_reordering().
Behdad Esfahbod c4641723 2011-07-07T23:47:19 [API] Add compose() and decompose() unicode funcs, rename other ones Add compose() and decompose() unicode funcs. These implement pair-wise canonical composition/decomposition. The glib/icu implementations are lacking for now. We are adding API for this to glib, but I cannot find any useful API in ICU. May end of implementing these in-house. Changed all unicode_funcs callback names to remove the "_get" part. Eg, hb_unicode_get_script_func_t is now hb_unicode_script_func_t, and hb_unicode_get_script() is hb_unicode_script() now.