Commit Graph

200 Commits

Author SHA1 Message Date
Nikolay Sivov b4592cbc7c dwrite: Count last cluster length too when building a line. 2015-06-19 17:01:17 +09:00
Nikolay Sivov e8c4951a2a dwrite: Actually set isWhitespace for space clusters. 2015-06-19 17:01:15 +09:00
Nikolay Sivov f68f63152f dwrite: Set cluster length together with other metrics. 2015-06-19 17:01:12 +09:00
Nikolay Sivov 0ec13316a7 dwrite: Validate format property values. 2015-06-16 16:50:22 +09:00
Nikolay Sivov b7fb00e9aa dwrite: Fix the way drawing effects are reported for inline objects. 2015-06-15 15:29:04 +09:00
Nikolay Sivov 6fd4f963f6 dwrite: Initial implementation of Draw() for trimming sign. 2015-06-15 15:29:03 +09:00
Nikolay Sivov 6304a0f50a dwrite: Check format directions in CreateEllipsisTrimmingSign(). 2015-06-15 15:29:03 +09:00
Nikolay Sivov de2ae5e1b8 dwrite: Fix splitted range length, initial test for GetMetrics(). 2015-06-15 15:29:03 +09:00
Nikolay Sivov 1a2d520ee1 dwrite: Exit earlier when setting property for zero length range. 2015-06-09 22:09:57 +09:00
Nikolay Sivov ffeba2348a dwrite: Use [0,~0u) as initial range for strikethrough settings. 2015-06-09 22:09:57 +09:00
Nikolay Sivov 7be1159479 dwrite: Validate per-range attribute values. 2015-06-08 15:47:41 +09:00
Nikolay Sivov 496aec11e5 dwrite: Use [0,~0u) as initial text range. 2015-06-08 15:47:39 +09:00
Nikolay Sivov fc3ec14404 dwrite/tests: Some tests for setting per-range layout properties. 2015-06-05 18:38:43 +09:00
Nikolay Sivov b8e3fbe0c1 dwrite: Report strikethrough ranges to renderer. 2015-06-05 18:38:38 +09:00
Nikolay Sivov e31881a6c9 dwrite: Store strikethrough settings in a separate list. 2015-06-05 18:38:32 +09:00
Nikolay Sivov 6d87a451a2 dwrite: Added a range data header to distinguish range kinds. 2015-06-05 18:38:29 +09:00
Nikolay Sivov 6f99f196fc dwrite: Fix potential null pointer access in GetFontCollection() (Coverity). 2015-06-04 15:55:29 +09:00
Nikolay Sivov 9351596538 dwrite: Fix potential null pointer dereference in GetInlineObject() (Coverity). 2015-06-02 20:53:43 +09:00
Nikolay Sivov c230b32777 dwrite: Handle GetBreakConditions() failure. 2015-06-01 14:48:33 +09:00
Nikolay Sivov 10ff42097f dwrite: Handle inline object GetMetrics() failure. 2015-06-01 14:48:29 +09:00
Nikolay Sivov fe2f6b77a8 dwrite: Properly report drawing effect in DrawGlyphRun()/DrawInlineObject(). 2015-06-01 14:48:25 +09:00
Nikolay Sivov 89e1a5fb75 dwrite: Fix wrong run data reported to a renderer. 2015-06-01 14:48:21 +09:00
Nikolay Sivov 2099b109ea dwrite: Report inline objects in Draw(). 2015-06-01 14:48:15 +09:00
Nikolay Sivov 76577c8e4b dwrite: Fix breakpoint update logic. 2015-05-25 21:43:17 +09:00
Nikolay Sivov 90ed96a766 dwrite: Fix splitting by bidi levels. 2015-05-22 18:04:45 +09:00
Nikolay Sivov 38775875c7 dwrite: Initial implementation of Draw(). 2015-05-05 23:15:30 +09:00
Nikolay Sivov 4fa8d3a444 dwrite: Improve run tracing format. 2015-05-01 17:39:22 +09:00
Nikolay Sivov 1d815a2801 dwrite: Fix typo in SetStrikethrough(). 2015-05-01 17:39:20 +09:00
Nikolay Sivov d7a40fd298 dwrite: Track a run this cluster came from. 2015-04-23 20:43:20 +09:00
Nikolay Sivov 68edc995c5 dwrite: Set some more cluster properties. 2015-04-23 20:43:20 +09:00
Nikolay Sivov b16432f2c2 dwrite: Add cluster metrics entry for inline objects too. 2015-04-06 12:09:03 +09:00
Nikolay Sivov 0c116d7736 dwrite: Fix cluster width and length calculation. 2015-04-03 20:51:46 +09:00
Nikolay Sivov 8303199cbe dwrite: Initial implementation of DetermineMinWidth(). 2015-03-30 19:10:27 +09:00
Nikolay Sivov 93a21a8b57 dwrite: Pass sideways run flag to shaping methods. 2015-03-27 00:12:07 +09:00
Nikolay Sivov 437fb07438 dwrite: Forward IDWriteTextLayout::GetMetrics() to IDWriteTextLayout2::GetMetrics(). 2015-03-24 18:16:42 +09:00
Nikolay Sivov da1d6097ed dwrite: Remove unused helper. 2015-03-18 19:36:39 +09:00
Nikolay Sivov fa1fe44c34 dwrite: Implement SetFontFallback(). 2015-03-17 14:19:42 +09:00
Nikolay Sivov c2c3001387 dwrite: Allow to query for IDWriteTextFormat1 from layout. 2015-03-17 14:19:36 +09:00
Nikolay Sivov 947f8e64d5 dwrite: Initially format and layout don't have a fallback set. 2015-03-17 14:19:22 +09:00
Nikolay Sivov e6ce0e9f26 dwrite: Fix GetClusterMetrics() return value. 2015-03-13 21:57:29 +09:00
Nikolay Sivov 8a46a01008 dwrite: Store vertical orientation property. 2015-03-13 21:57:28 +09:00
Nikolay Sivov 672aae654e dwrite: Store pair kerning range attribute. 2015-03-13 21:57:28 +09:00
Nikolay Sivov 985bff76be dwrite: Fix excessive refcount increment when setting interface pointers as range attributes. 2015-03-12 13:56:35 +09:00
Nikolay Sivov c1ecf862a4 dwrite: Make a deep copy of family name string (Valgrind). 2015-03-12 13:56:28 +09:00
Nikolay Sivov e292385fcd dwrite: Implement GetClusterMetrics(). 2015-01-20 17:52:18 +01:00
Nikolay Sivov 0ee49eb4c8 dwrite: Initial support of cluster metrics computation. 2015-01-20 17:52:16 +01:00
Nikolay Sivov 13083dcd52 dwrite: Use gdi-compatible placements in case of gdi-compatible layouts. 2015-01-09 11:50:22 +01:00
Nikolay Sivov 05fd95e5e4 dwrite: Store additional properties for gdi-compatible layouts. 2015-01-09 11:50:20 +01:00
Nikolay Sivov b03d4c7a8f dwrite: Set glyph advances and offsets for each run. 2015-01-08 13:12:18 +01:00
Nikolay Sivov b49a71416d dwrite: Store cluster map and glyph indices for each run. 2015-01-08 13:12:16 +01:00
Nikolay Sivov fdd8e011ed dwrite: Create fontface instance for each run. 2015-01-07 17:39:03 +01:00
Nikolay Sivov 35a91741d3 dwrite: Move range bounds check to an attribute setting helper. 2015-01-06 12:34:46 +01:00
Nikolay Sivov 48d84eedb5 dwrite: Unify temp value variable name. 2015-01-06 12:34:41 +01:00
Nikolay Sivov 9661f129e0 dwrite: Support family name attribute for ranges. 2015-01-06 12:34:37 +01:00
Nikolay Sivov ed398419bc dwrite: Fix range comparison by locale name. 2015-01-06 12:34:30 +01:00
Nikolay Sivov aecec3847a dwrite: Store locale name for each text range. 2015-01-05 16:29:11 +01:00
Nikolay Sivov 8fc7e175dc dwrite: Set string pointer in run description when splitting by bidi levels. 2014-12-30 15:54:18 +01:00
Nikolay Sivov e7947359fe dwrite: Cleanup layout instance creation, handle memory allocation failures. 2014-12-30 15:54:16 +01:00
Nikolay Sivov cb4e881963 dwrite: Update breakpoints in case of inline objects. 2014-12-28 19:07:41 +01:00
Nikolay Sivov 83aafaaae8 dwrite: Store nominal breakpoint data in layout. 2014-12-28 19:07:38 +01:00
Nikolay Sivov ac4c85ea87 dwrite: Split runs according to BiDi levels. 2014-12-28 19:07:31 +01:00
Nikolay Sivov 894737ac55 dwrite: Split each text range into runs by script. 2014-12-23 15:31:10 +01:00
Nikolay Sivov f4e3005645 dwrite: Font collection pointer is never null when creating text format. 2014-12-16 16:31:34 +01:00
Nikolay Sivov 49c8e98f74 dwrite: Respond to IID_IDWriteTextLayout1 too. 2014-11-07 20:57:03 +09:00
Nikolay Sivov d02d35a7b1 dwrite: Create IDWriteFontFace2 instance for IDWriteFont. 2014-10-17 14:40:48 +09:00
Nikolay Sivov 617f668f49 dwrite: Block negative max height/width for layout. 2014-10-15 21:31:58 +09:00
Nikolay Sivov 120422e93b dwrite: Update to IDWriteTextFormat1. 2014-10-13 18:09:41 +09:00
Nikolay Sivov 45f9540d2b dwrite: Update to IDWriteTextLayout2. 2014-10-13 18:09:33 +09:00
Marcus Meissner d684d776c2 dwrite: Avoid NULL ptr dereference (Coverity). 2014-09-22 19:07:34 +02:00
Nikolay Sivov c67f930a9f dwrite: Added IDWriteTypography implementation. 2014-09-19 10:49:45 +02:00
Aric Stewart f49c740907 dwrite: Add the system font collection to the dwrite factory object. 2014-09-02 15:07:44 +02:00
Nikolay Sivov 8448bcc833 dwrite: Support getting/setting per range font size value. 2014-08-25 10:55:16 +02:00
Nikolay Sivov 5547e8e081 dwrite: Support a few more range attributes. 2014-08-25 10:55:10 +02:00
Nikolay Sivov 63d18fd05c dwrite: Add a tiny helper to return DWRITE_TEXT_RANGE values. 2014-08-25 10:54:57 +02:00
Nikolay Sivov 7596dc6331 dwrite: Use layout pointer as an argument instead of neutral list. 2014-08-19 14:48:41 +02:00
Nikolay Sivov c8ec6918c7 dwrite: Implement layout getters derived from text format. 2014-08-18 12:46:55 +02:00
Nikolay Sivov baedef728c dwrite: Implement ranges merging. 2014-08-18 12:46:49 +02:00
Nikolay Sivov 336ba30d24 dwrite: Support for attributes for a range. 2014-08-15 17:05:25 +02:00
Nikolay Sivov 3c1a27f6b1 dwrite: Implement support for inline object and font weight attributes of a range. 2014-08-15 17:05:20 +02:00
Nikolay Sivov 289043f4de dwrite: Store maximum width/height for text layout. 2014-08-04 16:18:20 +02:00
Nikolay Sivov 1c23bf04c7 dwrite: Added some layout tests, simplify debug output for text ranges. 2014-07-30 11:27:14 -05:00
Nikolay Sivov 27e86cfc36 dwrite: Added partial implementation for CreateEllipsisTrimmingSign(). 2014-04-08 09:25:50 +02:00
Nikolay Sivov 6b560c92fc dwrite: Added GetTrimming()/SetTrimming() for text format. 2014-04-08 09:25:46 +02:00
Nikolay Sivov ebdad92d11 dwrite: Store text format properties. 2014-04-07 15:34:33 +02:00
Nikolay Sivov 113dd5d217 dwrite: Return default text format properties. 2014-04-07 15:34:32 +02:00
Fabian Müntefering 6bab3afc34 dwrite: Added missing initialization of stretch value. 2013-05-28 17:35:50 +02:00
Nikolay Sivov cfaf8be906 dwrite: Add a separate function to copy text format data. 2012-11-26 11:56:03 +01:00
Nikolay Sivov 22f1970834 dwrite: Implement family name access methods for IDWriteTextFormat. 2012-11-26 11:55:51 +01:00
Nikolay Sivov 51d0f61272 dwrite: Added GetLocaleNameLength/GetLocaleName for text format and layout. 2012-10-26 11:52:55 +02:00
Nikolay Sivov fcae48a08c dwrite: Layout can't be created without text format. 2012-10-26 11:52:47 +02:00
Nikolay Sivov 1b449f459f dwrite: Keep string length in text layout. 2012-10-26 11:52:40 +02:00
Nikolay Sivov 2250f0e533 dwrite: Derive some format data for text layout from specified text format. 2012-10-24 14:20:20 +02:00
Nikolay Sivov 8089f73e87 dwrite: Implement some font properties accessors for IDWriteTextFormat. 2012-10-24 14:20:13 +02:00
Nikolay Sivov 2e977e112f dwrite: Separate format data and keep it in both layout and text format. 2012-10-23 13:21:02 +02:00
Nikolay Sivov a30faec10e dwrite: Implement IDWriteTextFormat::GetFontCollection(). 2012-10-23 13:20:49 +02:00
Nikolay Sivov eb7d51b649 dwrite: Fix a stupid copy/paste typo in Release return value. 2012-10-22 12:21:23 +02:00
Nikolay Sivov 11d94a11b6 dwrite: Store text string in layout object. 2012-10-22 12:21:15 +02:00
Nikolay Sivov 2c0c413224 dwrite: Store text format properties. 2012-10-12 13:21:08 +02:00
Nikolay Sivov 9a32882c4d dwrite: Added IDWriteTextFormat stub implementation. 2012-10-10 20:34:06 +02:00
Nikolay Sivov f49d360ffd dwrite: Added IDWriteTextLayout stub. 2012-09-28 11:29:02 +02:00