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