src/hb-uniscribe.cc


Log

Author Commit Date CI Message
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 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 82e8bd86 2012-06-08T11:48:29 Remove unused code
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