Commit Graph

84 Commits

Author SHA1 Message Date
Pietro Gagliardi 2ffcd192c0 Wrote the common code (for DirectWrite and Pango) to deal with OpenType features. Now to merge with Core Text's internal AAT-to-OpenType mapping. 2017-02-14 19:00:35 -05:00
Pietro Gagliardi e4b761d611 Defined more of the OpenType attributes. 2017-02-14 17:15:19 -05:00
Pietro Gagliardi 4195bc3b4b Finalized and implemented underlines on OS X. 2017-02-14 14:57:56 -05:00
Pietro Gagliardi eb7dfa5cc4 More attribute work, including trimming unsupported or nonsensical attributes. 2017-02-14 14:21:58 -05:00
Pietro Gagliardi 250cba7c67 Added more potential attributes. 2017-02-14 13:21:47 -05:00
Pietro Gagliardi aa7d1e28ea More TODOs. 2017-02-14 02:55:42 -05:00
Pietro Gagliardi 9c1293736b Prepared the non-feature attributes based on the OS X list. 2017-02-14 02:53:21 -05:00
Pietro Gagliardi fbae38ce2e Started mapping out attributes for typographic features. I FORGOT THE OTHER ATTRIBUTES I NEED TO DO THOSE FIRST. 2017-02-14 02:26:26 -05:00
Pietro Gagliardi e3b1e033b2 More TODOs. 2017-02-13 23:20:38 -05:00
Pietro Gagliardi 35a06e8540 Changed uiAttributeVerticalForms into a boolean. This is how the other features might need to be implemented :/ 2017-02-13 22:42:18 -05:00
Pietro Gagliardi ff986858f1 Added vertical glyph forms. Next up is the rest of the various font features. 2017-02-13 10:24:12 -05:00
Pietro Gagliardi 9eba197fd1 Adjusted the example for backgrounds. Nope brushes isn't gonna work; absolute positioning of gradients is a problem. 2017-02-13 01:44:18 -05:00
Pietro Gagliardi 44f24fc900 Added the foreground color attribute. Considering making the background color a background BRUSH attribute instead... 2017-02-12 20:27:47 -05:00
Pietro Gagliardi 261dd4851a Changed the representation of an attribute type/value pair to allow more type safety and expressability. 2017-02-12 14:11:25 -05:00
Pietro Gagliardi 32a0284edc Started work on actual attributed text. This includes the beginnings of an attributed text example. Now to implement. 2017-02-11 23:19:30 -05:00
Pietro Gagliardi 8a64a1dfb0 Made the OS X code and the example program use the new layout stuff. 2017-02-11 19:47:20 -05:00
Pietro Gagliardi 491ec3ae49 Actually let's do paragraph alignment first. Haven't tested hit-test with that just yet. 2017-02-11 17:10:59 -05:00
Pietro Gagliardi 49094bb340 Merged uiFontButton back in, with an updated API that works directly with uiDrawFontDescriptors. 2017-02-11 00:25:07 -05:00
Pietro Gagliardi b5b0fae052 And implemented uiDrawCaret() on GTK+. 2017-02-10 16:53:08 -05:00
Pietro Gagliardi 642363ccae Added the uiDrawCaret() function for drawing text carets. Now to write the backend-specific code and test it out. 2017-02-10 16:29:36 -05:00
Pietro Gagliardi 49d36b340c Started adjusting all the implementations to the new API's formal definition. There's bugs in uiAttributedString... 2017-02-10 10:54:37 -05:00
Pietro Gagliardi 92d996f148 Okay so I can't fix Pango as the behavior is hardcoded in (https://git.gnome.org/browse/pango/tree/pango/pango-layout.c?id=f4cbd27f4e5bf8490ea411190d41813e14f12165#n4204); just write some documentation and get rid of the old APIs entirely. 2017-02-09 19:20:35 -05:00
Pietro Gagliardi 749a0cddaf Wrote the new hit-testing API on OS X, the easiest target. Also updated the example. Had to slightly modify one function for this all to work. 2017-02-08 19:00:45 -05:00
Pietro Gagliardi 93537ebb83 Simpler hit-testing APIs based on Core Text's. Microsoft's PadWrite sample shows us how to implement these on both DirectWrite and the similarly-interfaced Pango. 2017-02-08 11:38:52 -05:00
Pietro Gagliardi a5dac81855 Refined the hit-test API some more. 2017-02-07 16:21:18 -05:00
Pietro Gagliardi ac9aefc43a Set up a new API specifically for caret positioning when hit-testing a point. Not yet implemented, just planned out. 2017-02-07 15:29:12 -05:00
Pietro Gagliardi 87b7d5b4b7 Decided to remove uiDrawTextLayoutByteIndexToGraphemeRect(); the Range one later on handles it. Now we can do the hit testing functions! 2017-01-20 19:34:16 -05:00
Pietro Gagliardi 794d30154c And rewrote drawtext.m based around the new Core Text research. 2017-01-17 12:02:42 -05:00
Pietro Gagliardi e63a42a290 Okay, now that I know what I'm doing, let's make the line metrics struct useful again. 2017-01-17 02:17:12 -05:00
Pietro Gagliardi e32341b24b More work. 2017-01-07 20:09:44 -05:00
Pietro Gagliardi 3910ff1a13 Resolved Core Text pain by not even thinking about lines in terms of boxes. 2017-01-05 17:55:05 -05:00
Pietro Gagliardi dfaf640101 More work. Core Text chaos has resurged... 2017-01-04 23:50:08 -05:00
Pietro Gagliardi 4318785eb2 More drawtext.m work. I was wrong; I'll need to do the trait matching anyway. Ugh. 2017-01-03 12:18:17 -05:00
Pietro Gagliardi 31274bcbd2 Started implementing the new attributed string system on OS X. 2017-01-02 23:53:31 -05:00