Commit Graph

921 Commits

Author SHA1 Message Date
Nikolay Sivov 42882f7f75 dwrite: Cache fontface instances at factory level. 2014-10-24 19:58:05 +09:00
Nikolay Sivov fefb947516 dwrite/tests: Fix some test failures. 2014-10-24 19:58:05 +09:00
Nikolay Sivov 561ac1d829 dwrite/tests: Some tests for local font file loader. 2014-10-23 19:30:53 +09:00
Nikolay Sivov 272964666a dwrite/tests: Create separate isolated factory for each test. 2014-10-23 19:30:50 +09:00
Nikolay Sivov 42e5a32cc3 dwrite: Some tests for reused fontface instances. 2014-10-22 21:02:11 +09:00
Nikolay Sivov b4dc4e257c dwrite: Remove unused parameter. 2014-10-22 21:02:05 +09:00
Nikolay Sivov 04a237fe18 dwrite: Implement GetInformationalStrings(). 2014-10-21 18:49:14 +09:00
Nikolay Sivov 177f601889 dwrite: Store registered file loaders in a list. 2014-10-21 18:48:49 +09:00
Nikolay Sivov 00e352992e dwrite: Store registered collection loaders in a list. 2014-10-21 18:48:42 +09:00
Nikolay Sivov cd7c31fe08 dwrite: Implement CreateFontFaceFromHdc(). 2014-10-20 21:33:27 +09:00
Nikolay Sivov a088f7d381 dwrite: Implement CreateFontFromLOGFONT() on top of system font collection. 2014-10-20 21:32:47 +09:00
Nikolay Sivov ea11f85a94 dwrite: Store factory pointer gdiinterop was created from. 2014-10-20 21:32:44 +09:00
Nikolay Sivov bb23664ee9 dwrite: Some tests for IDWriteFontColletion methods. 2014-10-17 14:40:56 +09:00
Nikolay Sivov e3c514f6d5 dwrite: Return on first found glyph. 2014-10-17 14:40:51 +09:00
Nikolay Sivov d02d35a7b1 dwrite: Create IDWriteFontFace2 instance for IDWriteFont. 2014-10-17 14:40:48 +09:00
Nikolay Sivov 460363535e dwrite: Added a helper to get IDWriteFontFace from IDWriteFont. 2014-10-17 14:40:37 +09:00
Nikolay Sivov 571307edc2 dwrite: Hide BiDi helpers. 2014-10-17 14:40:31 +09:00
Nikolay Sivov 4c0ec6700c dwrite: Implement GetUnicodeRanges(). 2014-10-16 13:00:16 +09:00
Nikolay Sivov d3cdec0e66 dwrite: Use better integer types for cmap helpers. 2014-10-16 13:00:12 +09:00
Nikolay Sivov 9b46e19aa4 dwrite: Implement HasCharacter(). 2014-10-16 13:00:07 +09:00
Nikolay Sivov 8f34bee25a dwrite: Added one more test for system font collection. 2014-10-16 13:00:03 +09:00
Nikolay Sivov 617f668f49 dwrite: Block negative max height/width for layout. 2014-10-15 21:31:58 +09:00
Nikolay Sivov d8a66e634c dwrite: Refuse to create IDWriteFontFace with invalid collection index. 2014-10-15 21:31:51 +09:00
Nikolay Sivov a1ff4f904e dwrite: Update to IDWriteFontFace2. 2014-10-14 17:42:47 +09:00
Nikolay Sivov 1f9ca4775a dwrite: Update to IDWriteFont2. 2014-10-14 17:42:43 +09:00
Nikolay Sivov 1006987712 dwrite: Create single shared factory. 2014-10-14 17:42:15 +09:00
Nikolay Sivov 28e9b3f421 dwrite: Added parameter check for registering/unregistering collection loaders. 2014-10-14 17:42:10 +09:00
Nikolay Sivov c27af4774e widl: Generate method macros/wrappers for overridden methods. 2014-10-14 14:15:30 +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
Aric Stewart 8a5707111a dwrite: Build non-system font collections as a list of font families. 2014-10-09 17:36:22 +02:00
Nikolay Sivov 1e65a32e26 dwrite: Pass stream pointer to OpenType parsing code. 2014-10-08 13:13:38 +02:00
Nikolay Sivov 37a02acc6a dwrite: Use E_NOT_SUFFICIENT_BUFFER definition. 2014-10-08 10:19:00 +02:00
Nikolay Sivov 3b1e8bf824 dwrite: Use public macro to define OpenType tags. 2014-10-07 20:22:02 +02:00
Nikolay Sivov 07dc8b66e4 dwrite: Move font table related data to a separate structure.
Eventually we should get rid of separate allocations on every
TryGetFontTable(), that's not how local loader works. Instead it maps
font file and returns pointers to a mapping, context is always NULL in
this case.
2014-10-07 20:22:02 +02:00
Nikolay Sivov c9bb307c35 dwrite: Store OpenType language tag in shaping cache. 2014-10-07 20:22:01 +02:00
Nikolay Sivov cb8556c171 dwrite: Introduce cache to be used by shaping engines. 2014-10-07 20:22:00 +02:00
Nikolay Sivov 3704072911 dwrite: Mirror characters in case of RTL direction. 2014-10-06 17:36:26 +02:00
Nikolay Sivov 1843972e0e dwrite: Initial implementation of GetGlyphs(). 2014-10-06 17:36:01 +02:00
Nikolay Sivov 7c035744f6 dwrite: Implement CreateNumberSubstitution(). 2014-10-02 22:55:02 +02:00
Nikolay Sivov fdd8454ef8 dwrite: Implement AnalyzeBidi(). 2014-10-01 12:01:05 +02:00
Francois Gouget 0dd5cb1cef Assorted spelling fixes. 2014-09-29 10:36:36 +02:00
Nikolay Sivov 7eac1f7156 dwrite: Implement GetTextComplexity(). 2014-09-26 14:00:06 +02:00
Nikolay Sivov 59bdda006b dwrite: Implement GetScriptProperties(). 2014-09-26 13:59:52 +02:00
Nikolay Sivov dae9096c2e dwrite: Allow underscores in script names. 2014-09-25 13:44:53 +02:00
Nikolay Sivov d58f519c08 dwrite: Update to IDWriteTextAnalyzer2. 2014-09-25 13:44:47 +02:00
Nikolay Sivov e36025a2a8 dwrite: Implement itemization by script id using Unicode.org data. 2014-09-24 11:10:39 +02:00
Marcus Meissner 50c8766cce dwrite: Check correct variable for NULL (Coverity). 2014-09-23 13:01:42 +02:00
André Hentschel b12381a04a dwrite: Check correct variable (Coverity). 2014-09-22 21:22:20 +02:00
Nikolay Sivov 2c6cc0be46 dwrite: Use proper type for return value. 2014-09-22 19:08:43 +02:00
Marcus Meissner d684d776c2 dwrite: Avoid NULL ptr dereference (Coverity). 2014-09-22 19:07:34 +02:00
Marcus Meissner 90774871c8 dwrite: Fixed NULL ptr deref before check (Coverity). 2014-09-22 19:07:30 +02:00
Marcus Meissner 23aaef96a2 dwrite: Use correct variable (Coverity). 2014-09-22 19:07:04 +02:00
Nikolay Sivov c67f930a9f dwrite: Added IDWriteTypography implementation. 2014-09-19 10:49:45 +02:00
Aric Stewart 15ef946f53 dwrite: Break fontfamily data into its own structure. 2014-09-10 21:36:52 +02:00
Nikolay Sivov f60350808d dwrite: Implement AnalyzeLineBreakpoints() using Unicode breaking algorithm. 2014-09-05 14:41:47 +02:00
Aric Stewart 5d3eaf57ca dwrite: Shift to using localized string for family name. 2014-09-05 13:39:53 +02:00
Aric Stewart 1d6147ec9a dwrite: Shift get_font_properties to opentype. 2014-09-05 13:39:20 +02:00
Aric Stewart ef173c4312 dwrite: Implement GetFontCollection. 2014-09-04 20:21:03 +02:00
Aric Stewart 383854defa dwrite: Implement a list of font data for IDWriteFontFamily. 2014-09-04 20:21:03 +02:00
Aric Stewart 86af1acff4 dwrite: Check if family is set before releasing. 2014-09-03 17:32:35 +02:00
Aric Stewart b9cfb927ec dwrite: Break out basic IDWriteFont creation from requiring a logfont. 2014-09-03 17:32:28 +02:00
Aric Stewart 2ec9fbb205 dwrite: Implement GetGlyphIndices from the CMAP table. 2014-09-03 17:32:13 +02:00
Aric Stewart 8b2e666d3f dwrite: Add face data to font data. 2014-09-02 20:54:39 +02:00
Aric Stewart e707bb6bcd dwrite: Store fontface data in its own structure. 2014-09-02 20:54:38 +02:00
Aric Stewart daef5061e8 dwrite: Store font data in its own structure. 2014-09-02 20:54:35 +02:00
Aric Stewart f49c740907 dwrite: Add the system font collection to the dwrite factory object. 2014-09-02 15:07:44 +02:00
Francois Gouget 466f9790de dwrite: Remove a space before a '\n'. 2014-09-01 13:12:06 +02:00
Aric Stewart bfaacf80da dwrite: Initialize realloc'ed memory to zero. 2014-08-29 20:36:43 +02:00
Nikolay Sivov 0dad47ea36 dwrite/tests: Initial tests for SetLineBreakpoints(). 2014-08-29 15:45:04 +02:00
Aric Stewart 95466a1c2f dwrite: Beginning implementation of IDWriteLocalFontFileLoader. 2014-08-26 22:18:41 +02:00
Aric Stewart 4c81231e29 dwrite: Make gdiinterop an allocated object. 2014-08-25 15:54:35 +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
Francois Gouget 4c7826066e dwrite: Remove WINAPI on static functions where not needed. 2014-08-25 10:50:46 +02:00
Aric Stewart 2dec8d6fb2 dwrite/tests: Add a font resource and use it for tests. 2014-08-21 18:02:27 +02:00
Aric Stewart bc77ee6818 dwrite: Implement TryGetFontTable and ReleaseFontTable. 2014-08-20 19:57:10 +02:00
Aric Stewart 26977d4a4b dwrite: Initial implementation of CreateFontFace. 2014-08-20 19:52:03 +02:00
Aric Stewart 366c40813c dwrite: Beginning implementation of IDWriteFontFile_Analyze. 2014-08-20 19:51:48 +02:00
Aric Stewart bb9721bd29 dwrite: Initial implementation of CreateCustomFontFileReference. 2014-08-20 19:51:04 +02:00
Aric Stewart a254741b36 dwrite: Implement Font File Loader registration. 2014-08-20 19:49:45 +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
Marcus Meissner d1749b548b dwrite: Fixed paste error (Coverity). 2014-08-11 23:55:34 +02:00
Aric Stewart a6fa8599b0 dwrite: Basic implementation for FontCollectionLoader registration. 2014-08-07 21:36:30 +02:00
Aric Stewart bb54479df0 dwrite: Make dwritefactory an allocated object. 2014-08-07 17:53:57 +02:00
Nikolay Sivov e6cb2dbaca dwrite/tests: Some tests for drawing sequence for a layout. 2014-08-05 16:37:45 +02:00
Nikolay Sivov 1eb2913ad6 dwrite: Added GetCurrentTransform() for a render target. 2014-08-05 16:37:40 +02:00
Nikolay Sivov c9b8a31c24 dwrite: Implement Resize() for bitmap render target. 2014-08-04 16:19:22 +02:00
Nikolay Sivov edf74c0b0d dwrite/tests: Added some tests for inline object and ranges handling. 2014-08-04 16:18:24 +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 b5184df5df dwrite: Recognize more Unicode ranges in script analyzer. 2014-06-16 09:31:45 +02:00
Huw Davies d3d4e3a9a9 dwrite/tests: U+1cc8 is not an assigned codepoint, use U+1cc7 instead. Fixes test on win 8. 2014-05-24 11:01:48 +09:00
Nikolay Sivov db49dec825 dwrite/tests: Fix a font instance leak (Valgrind). 2014-04-25 11:05:21 +02: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
Nikolay Sivov 5e4d5ebde7 dwrite: Implement ConvertFontFaceToLOGFONT(). 2014-01-06 17:05:31 +01:00
Alexandre Julliard 99ef0d6ff0 makefiles: Get rid of the MAKE_TEST_RULES variable. 2014-01-02 12:13:16 +01:00
Alexandre Julliard 5e7416e5c8 makefiles: Get rid of the MAKE_DLL_RULES variable. 2014-01-02 12:08:18 +01:00
Frédéric Delanoy 02f5ebd062 dwrite/tests: Use BOOL type where appropriate. 2013-10-25 13:36:00 +02:00
Fabian Müntefering 6bab3afc34 dwrite: Added missing initialization of stretch value. 2013-05-28 17:35:50 +02:00
Alexandre Julliard 14f7900b8d dwrite: Don't bother to free memory at process exit. 2013-05-15 10:17:03 +02:00
Detlef Riekenberg 03101b06c9 dwrite/tests: Avoid refcount test failures. 2013-04-30 11:49:31 +02:00
Andrew Talbot fd00c806bf dwrite: Avoid signed-unsigned integer comparisons. 2013-03-11 10:43:01 +01:00
Nikolay Sivov 1cb663f5ce dwrite: Remove testing for exact script code value. 2013-02-18 15:06:23 +01:00
Dmitry Timoshkov 1ea524a861 dwrite: Avoid triggering an exception on DLL_PROCESS_DETACH. 2013-01-28 14:04:54 +01:00
Michael Stefaniuc 034b8d5c3c dwrite: Don't overallocate memory for a BITMAPINFO. 2012-12-10 11:26:46 +01:00
Nikolay Sivov 0e179e08b6 dwrite: Handle allocation error (Coverity). 2012-11-29 11:15:42 +01: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
André Hentschel 7e2cac2602 dwrite: Fix possible NULL pointer access in heap_strdup*. 2012-11-19 16:36:29 +01:00
Nikolay Sivov aeb5950e6f dwrite: Support eight more script ranges. 2012-11-05 17:44:17 +01:00
Nikolay Sivov 8222d4cd3c dwrite: Support more script ranges, up to Mongolian. 2012-11-02 19:47:16 +01:00
Nikolay Sivov 4d2164c936 dwrite: Support nine more script ranges up to code point 0x0bff. 2012-11-01 10:51:04 +01:00
Nikolay Sivov 368bc8aa50 dwrite: Support for Armenian, Hebrew and complete Arabic ranges. 2012-10-31 18:08:10 +01:00
Nikolay Sivov bbc0137f8a dwrite: Support for Greek and Cyrillic ranges. 2012-10-30 10:48:09 +01:00
Nikolay Sivov df2c73a195 dwrite: Support itemization up to codepoint 0x2ff (Latin range). 2012-10-29 14:43:34 +01:00
Nikolay Sivov 89fcb11539 dwrite: Implement initial script itemization for AnalyzeScript(). 2012-10-29 14:43:29 +01:00
Nikolay Sivov 45c7798c36 dwrite: Added a stub for IDWriteTextAnalyzer. 2012-10-29 14:43:22 +01:00
Nikolay Sivov 419a1f45f9 dwrite: Added initial test code for text analyzer tests. 2012-10-29 14:42:55 +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 4dbacf05fb dwrite: Partially implement IDWriteFontFace::GetGlyphIndices(). 2012-10-24 14:20:27 +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 22508806fc dwrite: Added basic GetFirstMatchingFont() for font family. 2012-10-23 13:20:58 +02:00
Nikolay Sivov 10431905e5 dwrite: Implement GetFontFamily() for system font collection. 2012-10-23 13:20:54 +02:00
Nikolay Sivov a30faec10e dwrite: Implement IDWriteTextFormat::GetFontCollection(). 2012-10-23 13:20:49 +02:00
Nikolay Sivov a291a7adf8 dwrite: Keep a single instance of system font collection. 2012-10-23 13:20:44 +02:00
Nikolay Sivov 2793d8196b dwrite: Implement FindFamilyName() for system font collection. 2012-10-22 12:21:32 +02:00
Nikolay Sivov f0f1735495 dwrite: Add all installed font families to system font collection. 2012-10-22 12:21:28 +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 be699372c2 dwrite: Added a stub for IDWriteFontCollection. 2012-10-22 12:21:19 +02:00
Nikolay Sivov 11d94a11b6 dwrite: Store text string in layout object. 2012-10-22 12:21:15 +02:00
Nikolay Sivov 6067df7291 dwrite: Implement GetMetrics() for IDWriteFont. 2012-10-16 11:37:45 +02:00
Nikolay Sivov 438d115ec6 dwrite: Correct reference count behavior for font face interface. 2012-10-15 15:25:27 +02:00
Nikolay Sivov 2c0c413224 dwrite: Store text format properties. 2012-10-12 13:21:08 +02:00
Nikolay Sivov 0358413e35 dwrite: Implement GetWeight() for IDWriteFont. 2012-10-12 13:21:00 +02:00
Nikolay Sivov ab91abd755 dwrite: Use proper table field as stretch value. 2012-10-12 13:20:49 +02:00
Nikolay Sivov 9a32882c4d dwrite: Added IDWriteTextFormat stub implementation. 2012-10-10 20:34:06 +02:00
Nikolay Sivov 0a6663908d dwrite: Implement GetFontStretch(). 2012-10-10 20:34:06 +02:00
Nikolay Sivov 9b0f49264e dwrite: Implement GetString(). 2012-10-08 12:55:01 +02:00
Nikolay Sivov 114ef0688b dwrite: Implement GetStringLength method. 2012-10-08 12:55:00 +02:00
Nikolay Sivov 98ce55c148 dwrite: Add family name to string array. 2012-10-08 12:54:59 +02:00
Nikolay Sivov 41df37f17d dwrite: Added IDWriteFontFace stub. 2012-10-08 12:54:59 +02:00
Nikolay Sivov 45a9560e83 dwrite: Added IDWriteLocalizedStrings stub. 2012-10-08 12:54:58 +02:00
Nikolay Sivov 89561b9247 dwrite: Store font family name in IDWriteFontFamily implementation. 2012-10-08 12:54:58 +02:00
Nikolay Sivov 0990d37d98 dwrite: Forward CreateRenderingParams() to CreateMonitorRenderingParams() with primary monitor. 2012-10-01 12:10:38 +02:00
Nikolay Sivov 7707ca7d09 dwrite: Stub for CreateMonitorRenderingParams(). 2012-10-01 12:09:50 +02:00
Nikolay Sivov f4f54e1fb7 dwrite: Store render params properties and implement accessing methods. 2012-10-01 12:09:43 +02:00
Nikolay Sivov 7a1746b710 dwrite: Stub for IDWriteRenderingParams. 2012-10-01 12:09:35 +02:00
Nikolay Sivov f49d360ffd dwrite: Added IDWriteTextLayout stub. 2012-09-28 11:29:02 +02:00
Nikolay Sivov debc356afd dwrite: Added IDWriteFontFamily stub. 2012-08-27 19:42:15 +02:00
Nikolay Sivov c843e71ba5 dwrite: Implement IDWriteBitmapRenderTarget_GetSize. 2012-08-13 16:28:46 +02:00
Nikolay Sivov 292fd912c9 dwrite: Implement IDWriteBitmapRenderTarget creation. 2012-08-13 16:28:46 +02:00
Nikolay Sivov 09ba9bdb0a dwrite: Store font style provided in LOGFONT data. 2012-08-13 16:28:44 +02:00
Nikolay Sivov 56d71b04b7 dwrite: Added IDWriteFont stub. 2012-08-13 16:15:21 +02:00
Nikolay Sivov bd7db0a9a4 dwrite: Added basic test for IDWriteFont created from LOGFONTW. 2012-07-31 17:59:10 +02:00
Nikolay Sivov 0ccdda1262 dwrite: Added IDWriteGdiInterop stub. 2012-07-31 17:59:09 +02:00
Nikolay Sivov 370099e46c dwrite: Stub for IDWriteFactory. 2012-07-31 17:59:05 +02:00
Nikolay Sivov 7ef5661d54 include: Added dwrite.idl file. 2012-07-30 17:57:50 +02:00
Nikolay Sivov 3a724d58eb dwrite: Added initial stub. 2012-07-24 13:36:33 +02:00