Commit Graph

45 Commits

Author SHA1 Message Date
Pietro Gagliardi fdff9b2dbb Renamed future and undocumented names. Now for draw.h (and whatever other headers are left behind), and then we figure out what to do about other names (including specifically pinning a naming convention). 2018-05-05 22:02:25 -04:00
Pietro Gagliardi f25b8dce37 Finished migrating attrstr.cpp. 2018-03-13 22:01:15 -04:00
Pietro Gagliardi 12e97a1b29 Started migrating attrstr.cpp, using the same techniques as attrstr.m. 2018-03-13 18:43:32 -04:00
Pietro Gagliardi 7dc5c6d940 Migrated attrstr.c back. 2018-03-11 17:36:22 -04:00
Pietro Gagliardi acbe7c3149 Implemented uiAttributeTypeBackground for OS X 10.12 and newer using the attribute included with Core Text. Also laid out a non-block-based API for drawing backgrounds on older versions of OS X (not implemented here yet, however; that will require bringing back the old metrics code). 2018-03-11 03:30:02 -04:00
Pietro Gagliardi b15f88412b Fixed the infinite loop: end is exclusive, and my code was correct in handling that, so <= (which i though was needed there because I thought the code wouldn't handle it) is wrong. Now for a segfault. 2018-03-10 22:04:07 -05:00
Pietro Gagliardi 4bb6a56c99 More warning fixes. Made private uiAttributeString functions const-correct to expose more potential issues later. Const-correctness and uiAttributeRetain() are going to be an issue... 2018-03-10 19:21:39 -05:00
Pietro Gagliardi 9194ba29fe And fixed build errors. Now I'm sure there are warnings that are real bugs, so let's handle those next. 2018-03-10 19:02:10 -05:00
Pietro Gagliardi 82d3de7c31 More compiler error fixes. Oops, I forgot to finish attrstr.m! 2018-03-08 23:27:04 -05:00
Pietro Gagliardi e9a62461c2 Started fixing compile errors. I forgot I renamed uiDrawFontDescriptor to uiFontDescriptor! 2018-03-08 23:04:45 -05:00
Pietro Gagliardi 7451d455e5 Started a new drawtext.m with a different way to handle the empty-string crash problem. 2018-03-07 23:53:36 -05:00
Pietro Gagliardi bf58601ff8 More TODOs. 2018-03-05 23:16:43 -05:00
Pietro Gagliardi 00749b07ac And cleaned up all the font handling stuff in attrstr.m. A lot cleaner now! Not fully clean, but clean*er*, and probably more efficient, too... 2018-03-05 23:15:31 -05:00
Pietro Gagliardi 93c375fd94 Implemented -[uiprivCombinedFontAttr hash]. 2018-03-05 08:59:45 -05:00
Pietro Gagliardi 9e57c78fb3 Started really refactoring attrstr.m by turning uiprivCombinedFontAttr into an actual attribute that CFAttributedString will manage itself; it will store uiAttributes (so we can use uiprivAttributeEqual() instead of duplicating its logic). Later, we will make it convert to CTFontRefs in place. 2018-03-04 23:57:18 -05:00
Pietro Gagliardi 49c3f77d46 Started cleaning up attrstr.m. This is gonna be fun... 2018-03-04 20:45:05 -05:00
Pietro Gagliardi 232b14ccde Migrated attrstr.m. This file needs to be cleaned up... 2018-03-04 20:01:52 -05:00
Pietro Gagliardi 036c7c12e6 Updated CONTRIBUTING.md and moved the old OS X draw text stuff out of the way. 2018-03-04 13:52:33 -05:00
Pietro Gagliardi 6869f28718 Fixed fixed-point math issues. fvar tables now work fine, which means Skia finally works! 2017-11-04 02:44:38 -04:00
Pietro Gagliardi 55a97093f5 Removed a stale TODO. 2017-09-29 09:58:43 -04:00
Pietro Gagliardi 5d7128781b And const-corrected uiAttributedStringForEachAttribute(). 2017-06-19 21:45:18 -04:00
Pietro Gagliardi f0813ac6e4 More stuff. I should probably write that OpenType features test now. 2017-06-10 03:37:17 -04:00
Pietro Gagliardi d63a5b23b1 Handled uiOpenTypeFeatures NULL equality. This only added more TODOs elsewhere :| 2017-06-09 19:59:48 -04:00
Pietro Gagliardi b3e3b27f71 Some more TODO cleanup and name adjustment. 2017-06-06 14:14:33 -04:00
Pietro Gagliardi 8e8cc12105 Added uiForEach for canonicalizing foreach function returns and used it everywhere. 2017-06-06 12:47:07 -04:00
Pietro Gagliardi 01df4631f6 And finished integrating the new attributed string stuff on OS X. 2017-05-30 15:24:31 -04:00
Pietro Gagliardi 06becce34c And finished the font attribute rewrite on OS X. Now to test. 2017-05-30 14:38:25 -04:00
Pietro Gagliardi c4dd85bece More reworking the OS X attributed string code. Now we need to rework the AAT code somewhat too. 2017-05-30 13:18:13 -04:00
Pietro Gagliardi e356f1c48a Started reworking darwin/attrstr.m to be a lot more sane. 2017-05-30 13:06:58 -04:00
Pietro Gagliardi b7d34bf4f5 And tied everyhting together, sort of. 2017-05-19 15:48:15 -04:00
Pietro Gagliardi 0df8346bff Also removed uiAttributeLangauge for compatibility reasons too. Let's settle all the TODOs now. 2017-02-24 12:12:03 -05:00
Pietro Gagliardi be56ec3626 Removed the vertical forms attribute. This is a compatiblity nightmare. 2017-02-24 01:23:47 -05:00
Pietro Gagliardi e5f3646fcf Attempts to align the vertical glyphs with the orizontal baseline on OS X with Core Text. This is gonna be harder... 2017-02-23 21:37:41 -05:00
Pietro Gagliardi 4a1642cea2 Fixed improper breaks in Unix attribute handling. 2017-02-20 19:51:00 -05:00
Pietro Gagliardi 3e941d008e Integrated aat.m into the build. 2017-02-15 23:10:23 -05:00
Pietro Gagliardi 669538e9ce Implemented uiAttributeLanguage on OS X. Untested. 2017-02-15 16:22:42 -05:00
Pietro Gagliardi 4195bc3b4b Finalized and implemented underlines on OS X. 2017-02-14 14:57:56 -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 9a19c65323 Prepared the OS X backend for adding feature attributes. Each feature will be a separate attribute for better composability. 2017-02-13 10:34:25 -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 1c238bf85b And implemented uiAttributeBackground on OS X. Not sure what else to add besides the feature variants... 2017-02-13 02:10:39 -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 1c1b16a206 More attributes. Beyond this point I'd need to either redefine the way attributes are specified or make more header macros. 2017-02-12 13:41:52 -05:00
Pietro Gagliardi 5aaac84d55 Implemented uiAttributeFamily on OS X. ATTRIBUTES WORK!!! 2017-02-12 01:05:27 -05:00