src/hb-uniscribe.cc


Log

Author Commit Date CI Message
Behdad Esfahbod 0816a549 2018-10-06T02:40:57 [uniscribe/coretext] Fix for previous change
Behdad Esfahbod 606bf574 2018-09-16T19:33:48 Revert forcing use of single-parameter static_assert() Some clang versions define static_assert as a macro apparently, so we cannot redefine it... This reverts commit 94bfea0ce6a7b4d5641c198d50751748a353df11. This reverts commit 4e62627831e7457ed60ff87712570065b14b200a.
Behdad Esfahbod 4e626278 2018-09-16T18:09:36 Enforce single-param static_assert() only So we don't accidentally break it again.
Behdad Esfahbod 96471fe8 2018-09-11T01:39:23 [uniscribe] Fix build
Behdad Esfahbod c77ae408 2018-08-25T22:36:36 Rename hb-*private.hh to hb-*.hh Sorry for the noise, downstream custom builders. Please adjust.
Behdad Esfahbod 9bbd1cdf 2018-08-12T18:20:53 [uniscribe] Use lazy loader Fixes https://github.com/harfbuzz/harfbuzz/issues/1129
Behdad Esfahbod 747d2564 2018-08-12T17:32:10 [lazy] Port more
Behdad Esfahbod 1f738094 2018-08-09T00:22:37 [atomic] Add hb_atomic_ptr_t<> and port all uses Found and fixed a couple bugs. Found a couple multithreading issues. Marked them with "XXX-MT-bug".
Behdad Esfahbod d4d1bf81 2018-08-02T02:04:02 Fix for recent rename
Behdad Esfahbod 91126aa1 2018-08-02T02:03:13 [uniscribe] Update for recent changes
Behdad Esfahbod ed7b2e58 2018-08-01T23:59:09 Remove OT namespace from hb-machinery-private.hh
Behdad Esfahbod 3d22aefe 2018-08-01T18:03:32 Rename
Behdad Esfahbod e7737b41 2018-07-22T22:24:31 Add sanitizer reference_table, also fix clang build Clang is being really peculiar. Fix with: - inline hb_blob_t *sanitize (hb_blob_t *blob) { return c->sanitize<Type> (blob); } + inline hb_blob_t *sanitize (hb_blob_t *blob) { return c[0].template/*clang idiosyncrasy*/sanitize_blob<Type> (blob); }
Behdad Esfahbod be458eb0 2018-07-10T14:41:04 Include more basic internal headers from hb-private.hh
Behdad Esfahbod f7515769 2018-06-01T17:48:37 [vector] Use Crap pool in push() as well
Behdad Esfahbod 65aeabd6 2018-05-23T16:15:28 Add hb_vector_t::push(const Type &v) Makes for cleaner code.
Ebrahim Byagowi 93bdf9b2 2018-05-09T23:24:17 Use arrayZ on hb-coretext and hb-uniscribe and fix macOS/Win bots (#1024) Following to 63f57f4
Behdad Esfahbod 37b95612 2018-05-01T19:09:00 Remove hb_auto_array_t Part of https://github.com/harfbuzz/harfbuzz/issues/1017
Ebrahim Byagowi 70d36543 2018-03-30T05:00:28 Make atexit callbacks threadsafe (#930)
Behdad Esfahbod 48baf7e3 2018-03-28T13:38:51 [uniscribe] Fixup for previous commit Fixes https://github.com/harfbuzz/harfbuzz/issues/934
Behdad Esfahbod b17e1a40 2018-03-28T10:44:52 [uniscribe] Fix assertion fail in checksum calc Program: Z:\Users\ebrahim\Desktop\harfbuzz\winbuild\util\.libs\hb-shape.exe File: ../../src/hb-open-type-private.hh, Line 769 Expression: 0 == (Length & 3) abnormal program termination
David Corbett 21646cc4 2018-02-16T12:08:55 Do not mark the first glyph as unsafe to break Fixes #791.
Behdad Esfahbod 470fe5b6 2018-01-09T15:48:51 [aat] Implement Lookup table Untested, but compiles.
Behdad Esfahbod e4da3802 2017-11-10T17:14:27 [coretext/uniscribe/directwrite/graphite/fallback] Update for unsafe-to-break Fixes https://github.com/behdad/harfbuzz/issues/615 We'll see which bots I broke.
Behdad Esfahbod 40ec3bbb 2017-11-03T16:57:30 Consolidate debug stuff into hb-debug.hh Part of fixing https://github.com/behdad/harfbuzz/pull/605
Behdad Esfahbod 2c439210 2017-11-01T18:13:35 [uniscribe] Fix a couple of VS warnings
Behdad Esfahbod 98acdde3 2017-10-31T11:17:43 [coretext/uniscribe] Fix build https://travis-ci.org/behdad/harfbuzz/jobs/295039536#L3468 https://ci.appveyor.com/project/behdad/harfbuzz/build/1.0.697/job/dr1ujlntxafeqbej#L142
Behdad Esfahbod dbdbfe3d 2017-10-15T12:11:08 Use nullptr instead of NULL
Behdad Esfahbod c3448e8d 2017-10-15T12:02:00 Use static_assert instead of custom ASSERT_STATIC
Behdad Esfahbod 239119a6 2017-08-13T15:08:34 [unsafe-to-break] Mark all positions as unsafe in alternative shapers
Behdad Esfahbod 466b3e58 2017-02-03T16:43:25 Shuffle things around a bit
Behdad Esfahbod 72ada4f0 2016-09-10T03:57:24 [GX] Hook up feature variations Shape-plan caching is not implemented.
Behdad Esfahbod 33317310 2016-08-08T17:24:04 Fix sign of shift operators This one: map->mask = (1 << (next_bit + bits_needed)) - (1 << next_bit); before the fix, the shift was done as an int, causing overflow if it ever got to 1 << 31. Sprinkle 'u's around. Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=634805
Behdad Esfahbod e6d5e4c3 2016-01-06T12:29:50 [uniscribe] Fix negative advance This happens with at least one test font I have.
Behdad Esfahbod eaf1e93e 2015-12-17T16:57:47 [uniscribe] Handle E_NOT_SUFFICIENT_BUFFER as well as E_OUTOFMEMORY On Windows 10 we are seeing that other error message... Test sequence: U+0995,U+-9CD,U+09B0 With Nirmala shipped on Windows 10, this failed to form the below form. Works now. Reported by Sairus.
Behdad Esfahbod 163c435f 2015-08-20T15:39:06 [uniscribe] Fix negative offsets Ouch!
Behdad Esfahbod 7c5bee09 2015-08-19T13:20:31 [uniscribe] Fix font scale handling By default shape at upem (or ppem), and scale results. Similar to work done in CoreText backend, but using upem as default.
Behdad Esfahbod 666b42f7 2014-10-14T21:24:59 Move macros around Fixes https://bugs.freedesktop.org/show_bug.cgi?id=84491
Behdad Esfahbod 15c633dd 2014-08-11T13:42:42 Minor
Behdad Esfahbod 92aeee3f 2014-08-10T17:42:19 Minor
Behdad Esfahbod 38fb30d7 2014-08-06T13:34:49 Use atexit() only if it's safe to call from shared library Apparently they are not (advertised as?) safe on BSD systems. We ignore the case of static libraries. Whitelisted on glibc, Android, and MSVC / mingw. https://bugs.freedesktop.org/show_bug.cgi?id=82246
Behdad Esfahbod d7c850f8 2014-08-02T17:46:38 [uniscribe] Minor
Behdad Esfahbod db308280 2014-07-19T16:32:04 [win] Consolidate windows.h include tips and tricks
Behdad Esfahbod 7627100f 2014-07-11T14:54:42 Mark unsigned integer literals with the u suffix Simplifies hb_in_range() calls as the type can be inferred. The rest is obsessiveness, I admit.
Behdad Esfahbod fb8cc86f 2014-06-19T15:30:18 Rename sort() to qsort() In an effort to make the algorithm used clear.
Jonathan Kew 62cb28df 2014-01-20T14:23:08 fixup for 64-bit windows build
Behdad Esfahbod 3216e44f 2013-12-23T14:39:23 [uniscribe] Fix scratch-buffer accounting
Behdad Esfahbod 68c372ed 2013-11-13T14:44:01 More scratch-buffer cleanup
Behdad Esfahbod 16f175cb 2013-11-12T17:22:49 Fix scratch-buffer alignment warnings
Behdad Esfahbod 757a7a90 2013-08-28T12:35:13 [uniscribe] Fixed build with wide chars https://github.com/blinkseb/harfbuzz/commit/f65dafa4138e1fb4395bf646fa33bb01a86a7e9a
Behdad Esfahbod 3409fb1c 2013-08-21T17:22:21 [uniscribe] Ask Uniscribe to return shaping results in logical order See discussion on the list in the thread "Arabic presentation forms and the uniscribe backend". Based on patch from Jonathan Kew.
Behdad Esfahbod 1d05fdd0 2013-08-20T13:22:21 [uniscribe] Print run info
Behdad Esfahbod 3613696b 2013-08-12T00:33:28 [coretext] Fully support user features Based on patch from Jonathan Kew and data from Apple. It's not working correctly though, and I suspect I'm hitting a bug in CoreText. When I do this: hb-shape /Library/Fonts/Zapfino.ttf ZapfinoZapfino --shaper coretext \ --features=-liga I expect both ligatures to turn off, but only the second one does: [Z_a_p_f_i_n_o=0+2333|Z=7+395|a=8+285|p_f=9+433|i=11+181|n=12+261|o=13+250] whereas if I disable 'dlig' instead of 'liga', both are turned off. Smells... Doesn't resolve conflicting feature settings.
Behdad Esfahbod 9a175914 2013-08-07T17:26:13 [uniscribe] Support feature ranges As Khaled pointed out, right now setting any features, turns kern and possibly other features off.
Behdad Esfahbod 38d5c58d 2013-08-06T14:45:36 [uniscribe] Half-support user features Turning features on globally works now.
Behdad Esfahbod 8b427c78 2013-07-22T10:57:05 [uniscribe] Sanitize font file
Behdad Esfahbod 12ff69df 2013-07-22T10:52:12 [uniscribe] Handle TTC when renaming font
Behdad Esfahbod 05bad3b8 2013-07-21T17:05:02 [uniscribe] Use OT::* types
Behdad Esfahbod bdeea605 2013-07-21T16:22:10 [uniscribe] Move name generation into separate function
Behdad Esfahbod 73f947e2 2013-07-21T16:16:35 [uniscribe] Use blob to pass data around
Behdad Esfahbod 8ac2e88d 2013-07-21T16:06:49 [uniscribe] Use unique font name When installing per-process fonts using AddFontMemResourceEx(), if a font with the same family name is already installed, sometimes that one gets used. Which is problematic for us. As such, we now mangle the font to install a new 'name' table with a unique name, which we then use to choose the font. Patch from Jonathan Kew.
Behdad Esfahbod 29b596ac 2013-07-08T08:37:15 [uniscribe] Fix buffer allocation Email from Jonathan Kew: My cygwin build kept aborting on certain test words when run with the uniscribe backend. Turned out this was caused by a bug in the allocation of scratch buffers in hb-uniscribe.cc. Commit 2a17f9568d9724e045d2c1d660e007f3acd747d9 introduced a new line ALLOCATE_ARRAY (SCRIPT_VISATTR, vis_attr, glyphs_size); but it failed to account for this in the computation of glyphs_size (the number of glyphs for which scratch buffer space is available), with the result that the vis_clusters array ends up overrunning the end of the scratch buffer and clobbering the beginning of the buffer's info[]. AFAICS, the vis_attr array is not actually used, so the simple fix is to remove the line that allocates it. (If/when we -do- need to use vis_attr for something, we'll need to add another term to the earlier calculation of glyphs_size.) With this patch, the uniscribe backend runs reliably again. JK
Chun-wei Fan 93a04b8b 2013-06-03T17:49:37 hb-uniscribe.cc: Re-enable build under Visual Studio -Declare hinstLib at the top of block -Fix the definitions of the typedefs of ScriptItemizeOpenType, ScriptShapeOpenType and ScriptPlaceOpenType
Behdad Esfahbod 2a17f956 2013-05-28T13:10:51 Bug 55494 - ScriptItemizeOpenType doesn't exists under Windows XP Fallback to older API if OpenType variants are not available.
Behdad Esfahbod 0ae6dbf1 2012-12-09T18:37:38 Minor
Behdad Esfahbod 3fe5c159 2012-12-09T18:20:19 Remove excess return Oops!
Behdad Esfahbod 7c8e844d 2012-08-28T17:57:49 Use namespace for OpenType tables Avoids USHORT, SHORT, ULONG, LONG clashes with Windows API.
Behdad Esfahbod 45c1383c 2012-08-14T09:33:18 Minor
Behdad Esfahbod eb56f6ae 2012-08-07T21:44:25 Minor
Behdad Esfahbod 713914d3 2012-07-30T17:54:38 [Uniscribe] Clean up a bit
Behdad Esfahbod a00ad60b 2012-07-28T21:16:08 [Uniscribe] Remove hb_uniscribe_font_ensure() Wasn't a huge fan of putting the burden on the user. Just remove it and do what we've got to do transparently.
Behdad Esfahbod cfe98826 2012-07-27T03:06:30 Add hb_ot_layout_ensure() and hb_uniscribe_font_ensure()
Behdad Esfahbod e82061e8 2012-07-27T02:29:32 Move ot shaper completely to shape_plan
Behdad Esfahbod b6b7ba13 2012-07-27T01:26:11 Switch old and uniscribe backends to shape_plan
Behdad Esfahbod 5b95c148 2012-07-26T23:46:53 Start implementing shape_plan
Behdad Esfahbod bd26b4d2 2012-07-26T22:05:39 Minor
Behdad Esfahbod 027857d0 2012-07-26T17:34:25 Start adding a unified shaper access infrastructure Add global shape_plan. Unused so far.
Behdad Esfahbod 91e721ea 2012-07-25T19:20:34 [hb-old] Fix clusters Unlike its "documentation", hb-old's log_clusters are, well, indeed logical, not visual. Fixup. Adapted / copied from hb-uniscribe.
Behdad Esfahbod e9c0f152 2012-07-20T17:05:46 [Uniscribe] Fix script fallback Gurmukhi failures half now. Others changed slightly.
Behdad Esfahbod 552bf3a9 2012-07-11T16:44:51 Bump WINNT version requested from 500 to 600 Since we use the OpenType versions of Uniscribe functions, we are relying on that version of the WINNT API. Otherwise, usp10.h will hide those symbols.
Behdad Esfahbod 82e8bd86 2012-06-08T11:48:29 Remove unused code
Behdad Esfahbod 87296912 2012-06-08T14:18:30 Increase Uniscribe MAX_ITEMS
Behdad Esfahbod dbffa4c8 2012-06-08T14:08:32 Fix Uniscribe charset matching Previously was failing to match fonts that didn't support CHARSET_ANSI. There still remains a problem with the Uniscribe backend, in that if a font with the same family name is installed, and is newer, the native one is preferred over the font we provide. Fixing it requires rewriting the name table with a unique family name...
Behdad Esfahbod 0dd86f9f 2012-06-08T10:23:03 Whitespace
Behdad Esfahbod 8e7beba7 2012-06-08T10:22:06 Fix Uniscribe clusters with direction-overriden Arabic
Behdad Esfahbod b069c3c3 2012-06-08T10:10:29 Really fix override-direction in Uniscribe
Behdad Esfahbod fcd6f532 2012-06-08T09:59:43 Unbreak Uniscribe Oops. hb_tag_t and OPENTYPE_TAG have different endianness. Perhaps something to add API for in hb-uniscribe.h
Behdad Esfahbod 29eac8f5 2012-06-08T09:26:17 Override direction in Uniscribe backend Matches OT backend now.
Behdad Esfahbod 1c1233e5 2012-06-08T09:20:53 Make Uniscribe backend respect selected script
Behdad Esfahbod 0594a244 2012-06-05T20:35:40 Cleanup TRUE/FALSE vs true/false
Behdad Esfahbod dfa0cade 2012-05-09T19:10:07 Fix Uniscribe clusters with multiple items
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 5c299343 2011-09-19T14:53:26 [uniscribe] Various improvements
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 0e6d36d8 2011-08-24T01:31:29 Minor