src/hb-coretext.cc


Log

Author Commit Date CI Message
Behdad Esfahbod b8811429 2015-09-03T15:53:22 Fix Since tags Fixes https://github.com/behdad/harfbuzz/issues/103
Behdad Esfahbod ed6962c7 2015-08-20T15:39:53 [coretext] Use i32 instead of u32 as well Shouldn't cause *any* functional changes, but is more correct.
Behdad Esfahbod 958c268f 2015-08-19T13:22:12 [coretext] Add TODO item
Behdad Esfahbod 50ad7788 2015-08-18T10:22:16 [coretext] Remove assert that kicks in on Mac OS 10.6 http://crbug.com/419769
Behdad Esfahbod 39851ce8 2015-04-21T19:23:27 [coretext] Oops; fix issue number for previous commit
Behdad Esfahbod 24f17afe 2015-04-21T19:21:32 [coretext] Fix positioning with trailing whitespace Fixes https://code.google.com/p/chromium/issues/detail?id=476913
Behdad Esfahbod 982d94ea 2015-01-28T10:51:33 [coretext] Don't generate notdef glyph for default-ignorables As discovered on Chrome Mac: https://code.google.com/p/chromium/issues/detail?id=452326
Behdad Esfahbod 6917a045 2015-01-28T10:43:32 [coretext] Unbreak glyph positioning in presence of notdef runs As discovered on Chrome Mac: https://code.google.com/p/chromium/issues/detail?id=452326 This was originally broken in: commit 5a0eed3b50629be4826e4e9428f2c3255195395d Author: Behdad Esfahbod <behdad@behdad.org> Date: Mon Aug 11 23:47:16 2014 -0400 [coretext] Implement vertical shaping
Behdad Esfahbod b0b38bb8 2015-01-21T19:19:33 [coretext] Fix positioning of notdef
Behdad Esfahbod 70622e50 2015-01-21T18:50:57 [coretext] Fix scaling Before we were not accounting for possible differences in x_scale and y_scale, as well as the signs of those. All should be in good shape now.
Behdad Esfahbod 221ba02b 2015-01-21T16:42:09 [coretext] Use vertical advance for notdef in vertical direction
Behdad Esfahbod 522b1cc5 2014-08-14T13:29:30 [coretext] Hide feature_mappings
Behdad Esfahbod 20076cc4 2014-08-12T19:26:35 [coretext] Add version guards for kCTLanguageAttributeName
Behdad Esfahbod 1b3011c2 2014-08-12T19:17:19 [coretext] Pass buffer language to CoreText
Behdad Esfahbod 3eb6a4db 2014-08-12T19:10:33 [coretext] Minor
Behdad Esfahbod 08acfe0d 2014-08-12T18:57:08 [hb-coretext] Fix cluster order of notdef runs in RTL text
Behdad Esfahbod 81b8d977 2014-08-12T15:49:47 [coretext] Fix buffer resizing Was very broken. Now fixed and tested.
Behdad Esfahbod c3e924fb 2014-08-12T14:25:11 [coretext] Rewind scratch-allocated arrays when not needed anymore
Behdad Esfahbod fd0001d7 2014-08-12T10:32:41 [coretext] Compare CGFont and PS name, if CTFont didn't match See comments. Fixes vertical text. CoreText backend is in very good shape now! Also see: 5a0eed3b50629be4826e4e9428f2c3255195395d 25f4fb9b56bb3f8bec821571c78f8829e40daa54 Fixes http://github.com/behdad/harfbuzz/pull/36
Behdad Esfahbod 5a0eed3b 2014-08-11T23:47:16 [coretext] Implement vertical shaping Currently doesn't work though, we detect font fallback. Apparently matching on ct_font is not safe for this. Looks like commit 25f4fb9b56bb3f8bec821571c78f8829e40daa54 wasn't enough after all.
Behdad Esfahbod 1b55077f 2014-08-11T20:45:12 [coretext] Remove unnecessary alt_size Wasn't needed after a6b8dc87421de33746b0b14d86d2d1532aec02af.
Behdad Esfahbod 10b1104d 2014-08-11T20:02:45 [coretext] Use CFRunStatus Assert that all runs had expected direction, and take hint for non-monotone clusters.
Behdad Esfahbod fd1a6aa8 2014-08-11T20:01:37 [coretext] Minor
Behdad Esfahbod 130856c7 2014-08-11T19:16:26 [coretext] Remove debug printf!
Behdad Esfahbod 4acce77d 2014-08-11T17:46:50 [coretext] Pass buffer direction to CoreText Have to use a CTTypesetter for this.
Behdad Esfahbod 5ec45dd3 2014-08-11T17:46:12 [coretext] Minor It's hard to handle all possible NULL returns from CoreText. Add one more...
Behdad Esfahbod 624a299b 2014-08-11T15:29:18 [coretext] Attach marks to base clusters Fixes https://githu.com/behdad/harfbuzz/issues/49 to the extent that it can be fixed.
Behdad Esfahbod 3c41ccb5 2014-08-11T15:11:59 [coretext] Use input clusters Before, this shaper was returning UTF-16 cluster indices instead of returning whatever cluster values the user had had set up in the buffer. Ouch!
Behdad Esfahbod a6b8dc87 2014-08-11T15:08:19 [coretext] Fix buffer resize handling We can't really resize buffer and continue in this shaper as we are using the scratch buffer for string_ref and log_cluster. Restructure shaper to retry from (almost) scratch.
Behdad Esfahbod 9b3c60c8 2014-08-11T13:25:43 [coretext] Always compute log_clusters To be used soon.
Behdad Esfahbod 9ce067c7 2014-08-11T02:04:38 [coretext] Simplify cluster mapping
Behdad Esfahbod 49f7fb63 2014-08-10T19:19:38 [coretext] Minor
Behdad Esfahbod 25f4fb9b 2014-08-10T19:05:25 [coretext] Fix fallback detection Fixes http://github.com/behdad/harfbuzz/pull/36
Behdad Esfahbod 77a7a53a 2014-08-10T18:59:47 [coretext] Fix last range Test with: hb-view /Library/Fonts/Zapfino.ttf ZapfinoZapfino --features=-dlig[7:] --shaper=coretext
Behdad Esfahbod 92aeee3f 2014-08-10T17:42:19 Minor
Behdad Esfahbod b9993d8d 2014-08-10T17:40:24 [coretext] Fix assert on Yosemite Apparently those functions documented as sometimes returning NULL actually exercise that right in OS X 10.10 Yosemite. The scratch was too small for that. I *think* I fixed it, but haven't tested as I don't have Yosemite.
Behdad Esfahbod 087733dd 2014-04-18T11:21:08 [coretext] Use CGFont as face_data
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.
Behdad Esfahbod 7526373e 2014-06-17T11:45:26 [coretext] Remove unused var
Behdad Esfahbod a9e25e90 2014-03-14T19:55:46 [coretext] Add hb_coretext_face_create() Not tested.
Behdad Esfahbod c79865f9 2014-03-14T19:37:55 [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.
Behdad Esfahbod c29993a1 2014-01-28T17:29:42 [coretext] Handle surrogate pairs when generating notdef glyphs Fixes github.com/behdad/harfbuzz/pull/19
Behdad Esfahbod 748b2782 2014-01-28T17:10:05 [coretext] Minor optimization
Behdad Esfahbod aec468f0 2013-11-29T19:21:58 [coretext] Add TODO
Behdad Esfahbod 58cc233e 2013-11-29T19:17:42 [coretext] Cleanup
Khaled Hosny c8213c61 2013-11-29T19:01:56 [coretext] Avoid font fallback with CoreText shaper CoreText does automatic font fallback (AKA "cascading") for characters not supported by the requested font, and provides no way to turn it off, so detect if the returned run uses a font other than the requested one and fill in the buffer with .notdef glyphs instead of random indices glyph from a different font.
Behdad Esfahbod 68c372ed 2013-11-13T14:44:01 More scratch-buffer cleanup
Behdad Esfahbod 8fcadb9c 2013-11-13T14:33:57 [coretext] More scratch buffer fixes
Behdad Esfahbod 16f175cb 2013-11-12T17:22:49 Fix scratch-buffer alignment warnings
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 a782a5e9 2013-08-07T21:08:54 [coretext] Start adding support for features Unlike AAT, looks like with CoreText very few OT features can be mapped. :(
Behdad Esfahbod c4613714 2013-07-30T14:48:23 [CoreText] Don't leak the CTLine object (and everything that hangs off it) Patch from Jonathan Kew.
Behdad Esfahbod 7235f33f 2013-06-10T14:39:51 Fix misc warnings reported by cppcheck https://bugs.freedesktop.org/show_bug.cgi?id=65544
Behdad Esfahbod e923e648 2012-12-09T19:39:40 [coretext] Fixed typo Oops. Thanks Khaled for catching this.
Behdad Esfahbod 9a839582 2012-12-09T18:47:36 [coretext] Add hb_coretext_face_get_cg_font() Not sure if it's useful, but it was missing.
Behdad Esfahbod 86112356 2012-12-09T18:47:09 [coretext] Remove hack around GlyphID We not namespace our types, so the hack is not needed anymore.
Behdad Esfahbod 7d52e660 2012-11-16T18:49:54 Whitespace
Behdad Esfahbod 45c1383c 2012-08-14T09:33:18 Minor
Behdad Esfahbod 301168da 2012-07-30T17:48:04 [CoreText] Port to shape_plan infrastructure
Behdad Esfahbod 027857d0 2012-07-26T17:34:25 Start adding a unified shaper access infrastructure Add global shape_plan. Unused so far.
Jonathan Kew ac2085d4 2012-07-26T15:58:45 [CoreText] Ensure cluster indices in output buffer are non-decreasing. Does not provide Uniscribe-compatible results, but should at least avoid breaking hb-view due to out-of-order cluster values. For RTL runs, ensure cluster values are non-increasing (instead of non-decreasing).
Behdad Esfahbod 441d3bb7 2012-07-26T12:01:12 Minor
Jonathan Kew aa6d8498 2012-07-24T15:52:32 [CoreText] Add basic Core Text backend for comparison with our native shaping Does not attempt to handle clusters in a Uniscribe- or HarfBuzz-compatible way; just returns the original string indexes that CT maintains. These may even be out-of-order in the case of reordrant glyphs.