Nikolay Sivov
c949ff5d24
dwrite: Implement GetGlyphCount().
2015-02-05 22:19:06 +09:00
Nikolay Sivov
34a5cd2086
dwrite/tests: Fix couple of leaks when creating test font instance.
2015-02-04 21:42:39 +09:00
Nikolay Sivov
afd1911cd7
dwrite: Improve error handling during font collection creation.
2015-02-04 21:42:35 +09:00
Nikolay Sivov
77189de8b7
dwrite: Simplify collection_find_family().
2015-02-04 21:42:11 +09:00
Nikolay Sivov
8f9bca9103
dwrite: Implement GetCaretMetrics().
2015-02-03 20:53:07 +09:00
Nikolay Sivov
fbeb829584
dwrite: Forward GetGdiCompatibleMetrics() to newer call.
2015-02-03 20:52:58 +09:00
Nikolay Sivov
40d9a2b6d2
dwrite: Make sure we don't have duplicates in locale/value pairs for font names.
2015-01-26 12:06:20 +01:00
Nikolay Sivov
6b0623fb2f
dwrite: Initial implementation of GetTypographicFeatures().
2015-01-26 12:06:18 +01:00
Nikolay Sivov
711b9f0414
dwrite: Initial implementation of GetGlyphPlacements().
2015-01-22 13:42:34 +01:00
Nikolay Sivov
0258e5319b
dwrite/tests: Basic test for GetTypographicFeatures().
2015-01-21 15:29:17 +01:00
Nikolay Sivov
aef50786fb
dwrite/tests: Additional test for Draw().
2015-01-20 17:52:20 +01: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
de09e9b94e
dwrite/tests: Fix buffer overflow when filling test string.
2015-01-06 18:19:31 +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
102d8936cc
dwrite: Release FreeType resources on dll unload.
2015-01-05 21:37:37 +01:00
Francois Gouget
3b87dbe062
dwrite: Make free_glyph_outline() static.
2015-01-05 20:17:22 +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
00ea0b72b6
dwrite: Added stub EUDC font collection.
2014-12-17 13:05:18 +01:00
Nikolay Sivov
8dfe0ff251
dwrite: Release system collection pointer after using it, not before.
2014-12-16 16:31:41 +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
bbe6655280
dwrite: Support outlines with oblique simulation.
2014-12-16 16:31:30 +01:00
Nikolay Sivov
17a24679b4
dwrite: Initial GetGlyphRunOutline() implementation.
2014-12-15 13:41:16 +01:00
Nikolay Sivov
44bb2ba295
dwrite: Block creation of unsupported face types.
2014-12-11 16:41:14 +01:00
Nikolay Sivov
de741ffe52
dwrite: Update to IDWriteFactory2.
2014-12-09 18:57:06 +01:00
Nikolay Sivov
415e0b3f54
dwrite: Implement GetDesignGlyphAdvances().
2014-12-09 18:57:04 +01:00
Nikolay Sivov
730b2f4c66
dwrite: Implement IsMonospacedFont().
2014-12-09 18:57:01 +01:00
Nikolay Sivov
9978bfb6d7
dwrite: Partially implement GetDesignGlyphMetrics().
2014-12-08 16:48:45 +01:00
Nikolay Sivov
517185fcf3
dwrite: Set font style to oblique when oblique simulation, was requested.
2014-12-08 16:41:17 +01:00
Francois Gouget
d1040304b2
dwrite: Fix compilation on systems that don't support nameless unions.
2014-12-05 20:47:53 +01:00
Francois Gouget
eaf4f695d1
dwrite: Add a trailing '\n' to a FIXME().
2014-12-05 20:47:50 +01:00
Francois Gouget
ea932fbcc1
Assorted spelling fixes.
2014-12-05 20:47:45 +01:00
Nikolay Sivov
fe81deae10
dwrite: Make fonts installed in Fonts dir accessible through system collection.
2014-12-02 15:02:43 +01:00
Marcus Meissner
2bfb3ef624
dwrite: Initialize a variable (Coverity).
2014-12-01 11:00:17 +01:00
Marcus Meissner
c7e9ffa70a
dwrite: Remove unused hresult assignment (Coverity).
2014-12-01 11:00:16 +01:00
Marcus Meissner
6ea025fc7f
dwrite: Avoid leaking filemapping (Coverity).
2014-12-01 11:00:15 +01:00
Nikolay Sivov
82e66b4b47
dwrite: Fix lineGap metric using 'hhea' table values.
2014-11-28 17:04:45 +01:00
Nikolay Sivov
188bfd6fd4
dwrite: Respect typographic metrics when font instructs us to.
2014-11-28 17:04:43 +01:00
Nikolay Sivov
9afd55072f
dwrite: Estimate x-height and cap height metrics if they're missing.
2014-11-27 11:11:24 +01:00
Nikolay Sivov
298f08d602
dwrite/tests: Fix some test failures on older dwrite versions.
2014-11-27 11:11:21 +01:00
Nikolay Sivov
4b38ced13c
dwrite: Hide factory vtable selection in init helper.
2014-11-27 11:11:19 +01:00
Nikolay Sivov
c5af130e92
dwrite: Remove DLL_WINE_PREATTACH case, native module can't be used.
2014-11-27 11:11:18 +01:00
Nikolay Sivov
31496c600d
dwrite: Use stream fragment context when reading font tables.
2014-11-27 11:11:16 +01:00
Nikolay Sivov
416527a6ad
dwrite: Use file mapping for local file stream.
2014-11-26 17:35:13 +01:00
Nikolay Sivov
87a9b51ccc
dwrite: Use usWin* values from OS/2 table as font ascent/descent.
2014-11-25 16:35:03 +01:00
Nikolay Sivov
b8db7f6a04
dwrite: Update to IDWriteBitmapRenderTarget1.
2014-11-25 16:35:02 +01:00
Nikolay Sivov
7ae3426ea4
dwrite: Forward more font methods to fontface.
2014-11-25 16:35:01 +01:00
André Hentschel
2b3c5d6194
dwrite: Remove unused code (Clang).
2014-11-25 13:47:39 +01:00
Nikolay Sivov
a77b9ed0c7
dwrite: Load freetype on module attach, create one FT_Face per fontface.
2014-11-21 18:10:51 +09:00
Nikolay Sivov
9db50228dd
dwrite: Implement SetCurrentTransform() for bitmap render target.
2014-11-19 23:36:35 +09:00
Nikolay Sivov
c457d0f107
dwrite: Handle Unicode platform when looking for name record codepage.
2014-11-19 23:36:35 +09:00
Nikolay Sivov
e6cd0f7d8c
dwrite/tests: Some tests for ReadFileFragment().
2014-11-19 00:38:58 +09:00
Nikolay Sivov
f16960aeb8
dwrite: Implement GetLastWriteTime() for local stream.
2014-11-19 00:38:56 +09:00
Nikolay Sivov
6564417082
dwrite: Remove null pointer checks that can't fail.
2014-11-18 22:11:29 +09:00
Nikolay Sivov
8b769332e2
dwrite: Reuse local file stream instances.
2014-11-17 19:30:19 +09:00
Nikolay Sivov
53fb0cc711
dwrite: Implement compatible reference key for local files and remaining loader methods.
2014-11-17 19:30:17 +09:00
Nikolay Sivov
53209e7017
dwrite: Remove OpenType language id from cache.
2014-11-10 19:25:41 +09:00
Nikolay Sivov
a8ad62aa51
dwrite: Implement ConvertFontToLOGFONT().
2014-11-07 20:57:04 +09:00
Nikolay Sivov
49c8e98f74
dwrite: Respond to IID_IDWriteTextLayout1 too.
2014-11-07 20:57:03 +09:00
Nikolay Sivov
a714f0fe75
dwrite: Added a basic test for TryGetFontTable().
2014-11-07 20:57:02 +09:00
Nikolay Sivov
6ce8cc149e
dwrite: Implement GetMetrics() for DWRITE_FONT_METRICS1.
2014-11-07 20:57:02 +09:00
Nikolay Sivov
c8bc7ea849
dwrite: Implement GetMetrics() for fontface.
2014-11-06 15:01:29 +09:00
Nikolay Sivov
90753adaaf
dwrite: Use public APIs to get file streams from fontface.
2014-11-06 15:01:27 +09:00
Nikolay Sivov
19869997d4
dwrite: Added a separate helper to fill font metrics structure.
2014-11-06 15:01:25 +09:00
Nikolay Sivov
3fd93c0d1d
dwrite: File and factory are always set now for all collections.
2014-11-06 15:01:23 +09:00
Nikolay Sivov
1e0b934139
dwrite: Don't cache fontface instance in font data.
2014-11-06 15:01:20 +09:00
Nikolay Sivov
e2eb760ffc
dwrite: Implement remaining methods of IDWriteLocalizedStrings.
2014-11-05 15:53:50 +09:00
Nikolay Sivov
ad69c7bf6d
dwrite: Implement GetFaceNames().
2014-11-05 15:53:47 +09:00
Nikolay Sivov
16aa4f1faa
dwrite: Fix compiler warning regarding unsigned type of enum member.
2014-11-05 15:53:44 +09:00
Nikolay Sivov
c0796ecb49
dwrite: Fix setting oblique simulation on font creation.
2014-11-05 15:53:40 +09:00
Nikolay Sivov
1ef30feba8
dwrite/tests: Some tests for custom font collections.
2014-11-04 22:49:27 +09:00
Nikolay Sivov
9045ab7f33
dwrite: Remove null checks for family and collection pointers, those are always set now.
2014-11-04 22:49:20 +09:00
Nikolay Sivov
3a2de7aef8
dwrite: Map Mac language id to locale name.
2014-11-04 22:49:10 +09:00
Marcus Meissner
a423cbdd5e
dwrite: Fixed memory leak on error (Coverity).
2014-11-03 16:33:54 +09:00
Nikolay Sivov
afea35f56a
dwrite: Store pixels per dip value for a render target.
2014-10-30 12:00:19 +09:00
Nikolay Sivov
7126921615
dwrite: Turn fixme to trace in Analyze().
2014-10-30 12:00:13 +09:00
Nikolay Sivov
cae5d19338
dwrite: Implement system font collection as any other font collection.
2014-10-30 12:00:12 +09:00
Nikolay Sivov
2bc984a5b1
dwrite: Properly null-terminate name string when converting to WCHAR.
2014-10-30 12:00:03 +09:00
Nikolay Sivov
6855740a5e
dwrite: Reimplement ConvertFontFaceToLOGFONT().
2014-10-29 20:47:28 +09:00
Nikolay Sivov
1d2993940a
dwrite: Set oblique simulation in GetFirstMatchingFont() when appropriate.
2014-10-29 20:47:23 +09:00
Nikolay Sivov
901a65ae42
dwrite: Store simulations flags at font instance level.
2014-10-29 20:47:05 +09:00
Nikolay Sivov
5a5a6bdd92
dwrite: Allow for a weight difference in GetFirstMatchingFont().
2014-10-29 20:47:02 +09:00
Nikolay Sivov
6706ada9f8
dwrite: Use API-defined type for family count.
2014-10-29 20:46:58 +09:00
Nikolay Sivov
6128e73f77
dwrite: Support Mac platform id and some of its encodings when reading 'name' table.
2014-10-29 20:46:55 +09:00
Nikolay Sivov
34823028e1
dwrite: Allow null arguments in opentype_get_font_table().
2014-10-27 19:02:48 +09:00
Nikolay Sivov
1ab456fde3
dwrite: Implement GetFontFromFontFace().
2014-10-27 19:02:47 +09:00
Nikolay Sivov
340aa07f60
dwrite: Initialize allocation size for a family before using it.
2014-10-27 19:02:47 +09:00
Nikolay Sivov
5b10a69c3a
dwrite: Block attempts of registering local file loader.
2014-10-27 19:02:46 +09:00
Nikolay Sivov
be69977cd5
dwrite/tests: Fix recently inroduced test failure.
2014-10-27 19:02:45 +09:00
Nikolay Sivov
fbf2557cd7
dwrite: Implement custom font collections.
2014-10-24 19:58:06 +09:00
Nikolay Sivov
35e9b6d85d
dwrite: Pass raw NAME table pointer to table reading code.
2014-10-24 19:58:05 +09:00
Nikolay Sivov
2300602586
dwrite: Use helpers to search through loaders lists.
2014-10-24 19:58:05 +09:00
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