Nikolay Sivov
446fddb122
dwrite/tests: Remove unused assignment (Clang).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-12 11:29:22 +09:00
Nikolay Sivov
c4b894db63
dwrite: Remove a couple of dead assignments (Clang).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-12 11:29:09 +09:00
Nikolay Sivov
a5127f5fc5
dwrite/tests: Simple test to show that run analysis instances are not reused.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-04 14:41:40 +09:00
Nikolay Sivov
b6f1e74ced
dwrite: Apply run reading direction to advances and offsets on analysis creation.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-04 14:41:40 +09:00
Nikolay Sivov
d3b6b437ed
dwrite: When assembling run bitmap combine instead of overwriting.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-03 13:47:18 +09:00
Nikolay Sivov
170e31a8b2
dwrite: Added support for transform in glyph run analysis.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-03 00:33:27 +09:00
Nikolay Sivov
5da26de7c3
dwrite: Store origin, advances and offsets as vectors for run analysis.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-03 00:33:26 +09:00
Nikolay Sivov
6cc62d09bb
dwrite: Store transform analysis was created with.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-03 00:33:26 +09:00
Nikolay Sivov
4afb30c544
dwrite/tests: Fixed some leaks (Valgrind).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-29 21:20:08 +09:00
Nikolay Sivov
9441b26dc5
dwrite: Fail earlier in TranslateColorGlyphRun() for fonts without color info.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-29 21:20:07 +09:00
Nikolay Sivov
d829c50cbe
dwrite: Fix streams and files pointer arrays leak (Valgrind).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-29 21:20:07 +09:00
Nikolay Sivov
edea5fc342
dwrite: Fix analysis leak on error path.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-29 10:53:55 +09:00
Nikolay Sivov
ad88407c93
dwrite/tests: Add missing return value test (PVS-Studio).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 12:45:03 +09:00
Nikolay Sivov
ce6f6f7421
dwrite: Use dpiX/dpiY argument in GetRecommendedRenderingMode().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 12:45:03 +09:00
Nikolay Sivov
5e1c0315a1
dwrite/tests: Some tests for GetRecommendedRenderingMode() with different ppdip values.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-27 21:45:19 +09:00
Nikolay Sivov
08a3e4f29f
dwrite: Respect transform when calculating glyph advances for run analysis.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-20 00:30:37 +09:00
Nikolay Sivov
9389bcdb51
dwrite: Set bitmap target ppdip factor from context dpi.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-20 00:30:37 +09:00
Nikolay Sivov
d36a16ea10
dwrite: Scale run origin by given ppdip run analysis was created with.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-20 00:30:37 +09:00
Nikolay Sivov
2fdee67dd2
dwrite: Scale glyph run analysis advances and offsets with ppdip factor.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-20 00:30:37 +09:00
Nikolay Sivov
a23b395e87
dwrite: Use given ppdip factor in GetAlphaTextureBounds().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-16 19:56:26 +09:00
Nikolay Sivov
83d484834d
dwrite: Return strictly 0/1 for BOOL return type (PVS-Studio).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-13 22:20:47 +09:00
Nikolay Sivov
4b6a7e78e9
dwrite: Avoid HRESULT codes for BOOL retval methods (PVS-Studio).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-13 22:20:44 +09:00
Nikolay Sivov
925dc6da8f
dwrite: Ignore embedded bitmaps when asked for outline.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-11 13:46:50 +09:00
Nikolay Sivov
819d36786e
gdi32: Improve structure layout of data returned by GetFontRealizationInfo().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-09 13:00:32 +09:00
Nikolay Sivov
f2b830ec76
dwrite: Properly implement CreateFontFaceFromHdc().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2015-10-06 22:19:53 +09:00
Nikolay Sivov
e8c1cf4402
Update data tables to Unicode 8.0.0.
2015-10-02 15:37:05 +09:00
Nikolay Sivov
5cb954aa6a
dwrite: Handle fonts with broken usWinDescent values.
2015-10-01 16:29:44 +09:00
Nikolay Sivov
20e6181304
dwrite: Print font table tag in string form in traces.
2015-09-15 22:51:03 +09:00
Nikolay Sivov
37d10af966
dwrite/tests: Some tests for TranslateColorGlyphRun().
2015-09-10 18:10:36 +09:00
Nikolay Sivov
b55e599a4d
dwrite: Implement GetFontCollection() for matching list.
2015-09-08 21:59:15 +09:00
Nikolay Sivov
9c19898217
dwrite: Implement GetFont() for matching list.
2015-09-08 21:59:15 +09:00
Nikolay Sivov
42a99a8de5
dwrite: Track face styles added to a family.
2015-09-08 21:59:15 +09:00
Nikolay Sivov
6dd9cdca4b
dwrite: Return stub IDWriteFontList from GetMatchingFonts().
2015-09-08 21:59:15 +09:00
Nikolay Sivov
8747fa2b9f
dwrite/tests: Fix some test failures on Win10.
2015-09-04 18:18:31 +09:00
Nikolay Sivov
fe848b26c7
dwrite: Make CreateFontFace() fail with DWRITE_E_FILEFORMAT for supported types in case of type mismatch.
2015-09-04 18:18:29 +09:00
Nikolay Sivov
b4ce95c1ab
dwrite: Make sure same files are scanned once when building font collection.
2015-09-04 15:10:18 +09:00
Nikolay Sivov
30108c730e
dwrite: Increase a number of allocated family slots for system collection.
2015-09-03 14:49:56 +09:00
Nikolay Sivov
7581b11d2b
dwrite: Remove GetFaceNames() hack for simulated case.
2015-09-03 14:49:55 +09:00
Nikolay Sivov
a10d75e597
dwrite: Add simulated oblique faces.
2015-09-03 14:49:53 +09:00
Nikolay Sivov
e38d9bc68e
dwrite: Add simulated bold faces for each family when appropriate.
2015-09-03 14:49:51 +09:00
Nikolay Sivov
a22d5ed948
dwrite: Force reported English family/face names to resolved values.
2015-09-01 19:27:07 +09:00
Nikolay Sivov
9a6b0750c7
dwrite: Recognize semi light weight patterns.
2015-08-31 17:18:32 +09:00
Nikolay Sivov
c0ab20caf9
dwrite: Implement family and face name resolution.
2015-08-31 17:18:31 +09:00
Francois Gouget
f87491d5cd
dwrite: Make opentype_get_font_strings_from_id() static.
2015-08-29 14:27:43 +09:00
Nikolay Sivov
26fbbdc48b
dwrite: Implement grayscale rendering mode.
2015-08-27 21:43:46 +09:00
Nikolay Sivov
3f4a284f58
dwrite: Bitmap buffer is zeroed on allocation, no need to do it again.
2015-08-27 17:10:22 +09:00
Nikolay Sivov
2c4ba8a008
dwrite: Cleanup rendering interface with freetype.
2015-08-27 17:10:20 +09:00
Nikolay Sivov
f52ef006cd
dwrite: Use proper pixel format when accessing dib memory directly.
2015-08-24 18:41:35 +09:00
Nikolay Sivov
b9f05239d2
dwrite: Return advances using freetype cache system.
2015-08-24 18:41:34 +09:00
Nikolay Sivov
4a1e6227ed
dwrite: Handle QI failure (Coverity).
2015-08-24 08:23:09 +09:00
Nikolay Sivov
3ffe6ab0bb
dwrite: Handle failure when getting texture bounds (Coverity).
2015-08-24 08:23:06 +09:00
Nikolay Sivov
4c12157c34
dwrite/tests: Fix analyzer test failures on Win10.
2015-08-21 14:33:33 +09:00
Nikolay Sivov
8dd0738b1c
dwrite/tests: Fix layout test failure on Win10.
2015-08-21 14:33:31 +09:00
Nikolay Sivov
1f54400bbf
dwrite: Protect from space-only strings when trimming away spaces.
2015-08-19 20:19:56 +09:00
Nikolay Sivov
6b98b9ac70
dwrite: Extract and resolve font weight from name string.
2015-08-19 20:19:56 +09:00
Nikolay Sivov
4a399b7677
dwrite: Implement font stretch resolution.
2015-08-19 20:19:56 +09:00
Nikolay Sivov
5185906006
dwrite: Implement font style resolution from name strings.
2015-08-18 14:30:37 +09:00
Nikolay Sivov
433b7c04c7
dwrite: Use aliased outline threshold for GDI target.
2015-08-17 14:52:22 +09:00
Nikolay Sivov
204d46c674
dwrite: Implement outline mode for DrawGlyphRun().
2015-08-17 14:52:20 +09:00
Nikolay Sivov
22a65466b3
dwrite/tests: Some tests for target hdc mode/transform.
2015-08-13 15:04:16 +09:00
Nikolay Sivov
2ac68e91a4
dwrite: Improve face name extraction.
2015-08-13 15:04:14 +09:00
Nikolay Sivov
fb013d7acd
dwrite: Fix family name extraction order.
2015-08-13 15:04:12 +09:00
Nikolay Sivov
f5f025f1dd
dwrite: Use better font matching algorithm based on weight/stretch/style triples.
2015-08-12 22:53:04 +09:00
Nikolay Sivov
785c592ada
dwrite: Improve the way font weight is set with both OS/2 and 'head' values.
2015-08-12 22:53:02 +09:00
Nikolay Sivov
123c7cde07
dwrite: Set font stretch from 'head' table as a fallback.
2015-08-12 22:53:00 +09:00
Nikolay Sivov
4b4674bea8
dwrite: Use OS/2 table data to set font style, make it preferable.
2015-08-12 22:52:57 +09:00
Nikolay Sivov
c7d1b91154
dwrite: Fix font table tag tracing.
2015-08-12 22:52:55 +09:00
Nikolay Sivov
e1f353663a
dwrite: Fix IsColorFont() return type for IDWriteFont2.
2015-08-07 14:18:03 +09:00
Nikolay Sivov
93d24de308
dwrite: Added IDWriteColorGlyphRunEnumerator stub.
2015-08-07 14:18:01 +09:00
Nikolay Sivov
fd35a1af6a
dwrite: Implement GetPaletteEntries().
2015-08-07 14:17:58 +09:00
Nikolay Sivov
4df29eb02f
dwrite/tests: Basic test for GetPaletteEntries().
2015-08-07 14:17:56 +09:00
Nikolay Sivov
5734c2ed98
dwrite: Implement GetPaletteEntryCount().
2015-08-07 14:17:53 +09:00
Nikolay Sivov
20571725f3
dwrite: Implement GetColorPaletteCount().
2015-08-07 14:17:51 +09:00
Nikolay Sivov
14e4996f6c
dwrite: Implement CreateGlyphRunAnalysis() from IDWriteFactory2.
2015-08-07 14:17:48 +09:00
Nikolay Sivov
8133684816
dwrite: Use right charmap for symbol encoding.
2015-08-07 00:05:06 +09:00
Nikolay Sivov
ab7c65ae43
dwrite: Implement IsSymbolFont().
2015-08-07 00:05:04 +09:00
Nikolay Sivov
7540fa5a1a
dwrite: Properly initialize LOGFONT returned from ConvertFontToLOGFONT().
2015-08-07 00:05:01 +09:00
Nikolay Sivov
6597453403
dwrite: Release run info as soon as it's rendered to save some memory.
2015-08-04 12:21:59 +02:00
Nikolay Sivov
720c430594
dwrite: Advances and offsets are optional for IDWriteGlyphRunAnalysis.
2015-08-04 12:21:58 +02:00
Nikolay Sivov
dc75b34ddf
dwrite: Fix outline translation before rendering.
2015-08-03 10:58:06 +02:00
Nikolay Sivov
44c301c584
dwrite: Implement DrawGlyphRun().
2015-07-31 12:07:28 +02:00
Nikolay Sivov
e08b77b0a9
dwrite: Implement CreateAlphaTexture().
2015-07-31 12:07:26 +02:00
Nikolay Sivov
6d1f47902b
dwrite: Translate rendered bitmap bounds to given origin.
2015-07-31 12:07:23 +02:00
Nikolay Sivov
5137aaa9c9
dwrite: Implement parameter validation for CreateAlphaTexture().
2015-07-29 21:44:01 +02:00
Nikolay Sivov
b50416aa5f
dwrite: Implement GetAlphaTextureBounds().
2015-07-29 21:44:01 +02:00
Nikolay Sivov
2c6eca8682
dwrite: Implement GetAlphaBlendParams().
2015-07-29 20:57:04 +02:00
Nikolay Sivov
fb35557db9
dwrite: Store run info for IDWriteGlyphRunAnalysis instance.
2015-07-29 20:57:02 +02:00
Nikolay Sivov
e877cfbcfa
dwrite: Implement GetRecommendedRenderingMode().
2015-07-28 13:41:45 +02:00
Nikolay Sivov
aac3a069e4
dwrite/tests: Some tests for GetRecommendedRenderingMode().
2015-07-28 13:41:45 +02:00
Nikolay Sivov
5178c8b111
dwrite: Update cached bitmap size on Resize() as well.
2015-07-22 15:16:05 +02:00
Nikolay Sivov
a66ba8957e
dwrite: Bitmap render target uses top-down DIB.
2015-07-22 15:15:58 +02:00
André Hentschel
b4b65d8284
dwrite: Remove unused initializer (Clang).
2015-07-22 07:24:35 +02:00
Nikolay Sivov
491e84a771
dwrite/tests: Some tests for isNewline clusters.
2015-07-20 20:56:04 +02:00
Nikolay Sivov
c8b0c80365
dwrite: Round centered alignment shift for compatible layouts.
2015-07-20 20:56:04 +02:00
Nikolay Sivov
a718a9a5ca
dwrite/tests: Some tests for bounds returned by GetAlphaTextureBounds().
2015-07-20 20:56:04 +02:00
Nikolay Sivov
5231715d31
dwrite: Improve parameter validation in GetGdiCompatibleGlyphAdvances(), add some tests.
2015-07-20 20:56:04 +02:00
Nikolay Sivov
2655ac5f93
dwrite: Aliased texture could only be requested for aliased rendering mode.
2015-07-17 19:28:04 +09:00
Nikolay Sivov
42ed6ddd30
dwrite: Fix vector transformation in GetGlyphOrientationTransform().
2015-07-16 19:22:39 +09:00
Nikolay Sivov
2132a060ea
dwrite: Round advances returned from GetGdiCompatibleGlyphPlacements().
2015-07-16 19:22:37 +09:00
Nikolay Sivov
a92390f707
dwrite/tests: Some tests for CreateGdiCompatibleTextLayout().
2015-07-16 19:22:35 +09:00
Nikolay Sivov
e68c6389b1
dwrite: Properly pass measuring mode to renderer.
2015-07-16 19:22:33 +09:00
Nikolay Sivov
a3f2b6b856
dwrite: Partial implementation of GetGdiCompatibleGlyphMetrics().
2015-07-16 16:29:46 +09:00
Nikolay Sivov
e94d977006
dwrite: Partially implement GetGdiCompatibleGlyphAdvances().
2015-07-15 23:19:13 +09:00
Nikolay Sivov
f46aa66ca7
dwrite: Fix transform matrix usage for pixel snapping.
2015-07-15 16:56:53 +09:00
Nikolay Sivov
a32168bc49
dwrite/tests: Fix trimming sign instance leak (Valgrind).
2015-07-14 17:07:46 +09:00
Nikolay Sivov
0b64f24030
dwrite: Make sure explicit levels are always initialized (Valgrind).
2015-07-14 17:07:43 +09:00
Nikolay Sivov
2b59cf84be
dwrite: Fix EndFigure notification in GetGlyphRunOutline().
2015-07-13 14:45:18 +09:00
Nikolay Sivov
fda08897e4
dwrite: Remove excessive tracing when forwarding to IDWriteTextFormat1.
2015-07-13 14:45:16 +09:00
Nikolay Sivov
04ae4bfb2c
dwrite: Implement GetMetrics() for trimming sign.
2015-07-13 14:45:15 +09:00
Nikolay Sivov
e6d5c03fde
dwrite: Handle negative emsize in GetGdiCompatibleMetrics().
2015-07-13 14:45:13 +09:00
Nikolay Sivov
2f79a876f9
dwrite: Implement SetWordWrapping() for layout.
2015-07-13 14:45:11 +09:00
Nikolay Sivov
cf5d9848d8
dwrite: Check GetGdiCompatibleMetrics() return value (Coverity).
2015-07-13 14:45:08 +09:00
Nikolay Sivov
66efbbbae2
dwrite: Implement pixel snapping in Draw().
2015-07-13 14:44:59 +09:00
Sebastian Lackner
402caa632b
dwrite: Avoid dereferencing NULL pointer for fonts without VDMX.
2015-07-13 14:44:49 +09:00
Nikolay Sivov
0dcc9ead9e
dwrite: Properly set run origin in DWRITE_READING_DIRECTION_RIGHT_TO_LEFT case.
2015-07-09 23:17:44 +09:00
Nikolay Sivov
8201fa14c9
dwrite: Fix alignment shifts in RTL case.
2015-07-09 23:17:44 +09:00
Nikolay Sivov
6d52bc59c0
dwrite: Implement SetReadingDirection() for layout.
2015-07-09 23:17:44 +09:00
Nikolay Sivov
849bb99b76
dwrite: Implement GetGdiCompatibleMetrics().
2015-07-08 19:12:12 +09:00
Bernhard Übelacker
119501fee8
dwrite: Call RegEnumValueW with value and val_count parameters.
2015-07-08 16:02:24 +09:00
Nikolay Sivov
9375b06c3a
dwrite/tests: Extend GetGdiCompatibleMetrics() test to test DWRITE_FONT_METRICS1 as well.
2015-07-07 16:52:21 +09:00
Nikolay Sivov
50bf5fca34
dwrite: Implement GetPanose().
2015-07-07 16:52:21 +09:00
Nikolay Sivov
bb0c6f74a5
dwrite: Implement centered text alignment.
2015-07-07 16:52:20 +09:00
Nikolay Sivov
f039e15182
dwrite: Remove a couple of useless checks.
2015-07-07 16:52:20 +09:00
Huw Davies
bbf5b249ca
dwrite/tests: Add tests for GetGdiCompatibleMetrics.
2015-07-06 17:09:48 +09:00
Nikolay Sivov
b49f9f609a
dwrite/tests: Test that pair kerning affects shaping.
2015-07-06 15:13:22 +09:00
Nikolay Sivov
862ac80a0d
dwrite: Implement paragraph alignment.
2015-07-06 15:13:20 +09:00
Nikolay Sivov
44c135dd17
dwrite: Implement leading and trailing text alignment modes.
2015-07-06 15:13:18 +09:00
Nikolay Sivov
de46f610fe
dwrite: Make it possible to set text alignment on created layout.
2015-07-06 15:13:16 +09:00
Nikolay Sivov
7a64715be3
dwrite: Remove separate line count layout field.
2015-07-06 15:13:14 +09:00
Nikolay Sivov
8b566b1da7
dwrite: Reset calculated text height before updating it.
2015-07-03 22:58:07 +09:00
Nikolay Sivov
ed54767030
dwrite: Store layout width/height directly in metrics structure.
2015-07-03 22:58:05 +09:00
Nikolay Sivov
d86f2af3b6
dwrite: Add last cluster width to line width.
2015-07-02 13:43:00 +09:00
Nikolay Sivov
a940c9b970
dwrite: Initial layout GetMetrics() implementation.
2015-07-02 13:42:58 +09:00
Nikolay Sivov
e27a13e3a2
dwrite: Always set canWrapLineAfter for last cluster.
2015-06-29 21:13:29 +09:00
Nikolay Sivov
1002119a60
dwrite: Clip range length to text length when updating breakpoints.
2015-06-29 21:13:25 +09:00
Nikolay Sivov
9c54176f5c
dwrite: Fix number of clusters effective run is built on.
2015-06-29 21:13:21 +09:00
Nikolay Sivov
3976cc459d
dwrite: Update current line count when adding metrics for new line.
2015-06-29 21:13:14 +09:00
Nikolay Sivov
9148e87291
dwrite: Fix clustermap shifting for effective run.
2015-06-26 20:35:07 +09:00
Nikolay Sivov
872e569744
dwrite: Properly reduce glyph count of effective run.
2015-06-26 20:35:07 +09:00
Nikolay Sivov
69d5e351f9
dwrite: Call SetFillMode() once per run.
2015-06-23 15:08:11 +09:00
Nikolay Sivov
643125e50f
dwrite: Set baseline origin Y for reported runs.
2015-06-23 15:08:09 +09:00
Nikolay Sivov
88663caf74
dwrite/tests: Show that line baseline is relative to this line.
2015-06-23 15:08:07 +09:00
Nikolay Sivov
8adc6679e9
dwrite: Set line baseline/height from font metrics.
2015-06-23 15:08:05 +09:00
Nikolay Sivov
b43850a363
dwrite: Store character spacing layout settings.
2015-06-22 19:17:35 +09:00
Nikolay Sivov
86a7f329be
dwrite: Forward GetRecommendedRenderingMode() to newer method.
2015-06-22 19:16:49 +09:00
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
5df702af9e
dwrite/tests: Initial test for GetBaseline().
2015-06-18 21:41:02 +09:00
Nikolay Sivov
0b84556f8d
dwrite/tests: Initial test for GetLineMetrics().
2015-06-18 21:41:02 +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
6655b0c93a
dwrite: Call GetCount() once when looking for family name.
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
4addd20aaa
dwrite/tests: Test to show that GetCurrentTransform/GetPixelsPerDip are not really used from Draw().
2015-06-15 15:29:03 +09:00
Nikolay Sivov
eca362bd76
dwrite: Fix problems with outline conversion and reporting.
2015-06-10 15:26:10 +09:00
Alexandre Julliard
3494fb7f72
kernel32: Avoid resolving imports against the advapi32 forwards.
2015-06-10 15:26:05 +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
9d74a11efb
dwrite/tests: A test for case-sensitivity of SetFontFamilyName.
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
72dcc4d437
dwrite/tests: Test actual strings being reported to a renderer.
2015-06-05 18:38:26 +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
112d20e89c
dwrite: Forward GetGdiCompatibleGlyphPlacements() to corresponding font methods.
2015-06-01 14:48:08 +09:00
Nikolay Sivov
a921941a17
dwrite: Implement GetGlyphOrientationTransform().
2015-05-29 15:00:03 +09:00
Nikolay Sivov
39d71c52ef
dwrite/tests: Some tests for control characters handling.
2015-05-27 19:35:00 +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
f4790714fe
dwrite: Added IDWriteGlyphRunAnalysis stub.
2015-05-19 22:57:43 +09:00
Nikolay Sivov
38775875c7
dwrite: Initial implementation of Draw().
2015-05-05 23:15:30 +09:00
Nikolay Sivov
47224510b4
dwrite/tests: Test character spacing applied to cluster metrics.
2015-05-04 20:10:48 +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
14158a71db
dwrite: Implement ApplyCharacterSpacing().
2015-04-27 15:10:29 +09:00
Nikolay Sivov
a457b5e069
dwrite: Trace text strings up to specified length.
2015-04-23 20:43: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
0c27e5cd66
dwrite: Fix script position reported with SetScriptAnalysis().
2015-04-21 23:45:00 +09:00
Nikolay Sivov
e0403efc21
dwrite: Added a helper to get source text pointer.
2015-04-21 23:44:59 +09:00
Julius Schwartzenberg
20aee0673d
dwrite: Font search is case insensitive.
2015-04-13 15:49:38 +09:00
Nikolay Sivov
551f0a157f
dwrite: Return S_OK from AnalyzeNumberSubstitution().
2015-04-07 15:10:38 +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
7b664095aa
dwrite: Update to IDWriteRenderingParams2.
2015-03-31 21:36:28 +09:00
Nikolay Sivov
9ec6fd85c4
dwrite: Return CreateStreamFromKey() failure code from Analyze().
2015-03-30 19:10:31 +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
b58528fa49
dwrite/tests: Another test for cluster metrics and inline objects.
2015-03-18 19:36:43 +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
bd3069c0c1
dwrite/tests: Use separate factory for each test in layout tests.
2015-03-17 14:19:30 +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
7e480d3c6d
dwrite: Implement GetKerningPairAdjustments().
2015-03-16 21:42:40 +09:00
Nikolay Sivov
23c2ef2fcd
dwrite: Implement HasKerningPairs().
2015-03-16 21:42:40 +09:00
Nikolay Sivov
2933e8666f
dwrite: Fix invalid parameter handling in GetGlyphIndices().
2015-03-16 21:42:39 +09:00
Nikolay Sivov
5eccb1322d
dwrite: Actually return NULL names pointer and error code when failed to read them.
2015-03-16 21:42:39 +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
3cfbfeca2b
dwrite/tests: Place test font file in temporary location, make sure it's deleted after the test.
2015-02-24 14:17:01 +09:00
Nikolay Sivov
eb2a4ec5f4
dwrite/tests: Test default colors of render target memory HDC.
2015-02-23 15:26:03 +09:00
Nikolay Sivov
0067be66bb
dwrite/tests: Fixed font instance leak.
2015-02-23 15:26:02 +09:00
Nikolay Sivov
6ff14a9213
dwrite: Use FreeType CMAP cache system instead of parsing tables manually.
2015-02-23 15:26:02 +09:00
Nikolay Sivov
5a318c3e8b
dwrite: Set facename field of a LOGFONT in ConvertFontFaceToLOGFONT().
2015-02-19 17:50:56 +09:00
Nikolay Sivov
5196be7706
dwrite: Fix error code returned by GetFontFromFontFace().
2015-02-19 17:50:51 +09:00
Nikolay Sivov
980c65f126
dwrite: Use vertical variants in GetGlyphs() when appropriate.
2015-02-18 23:22:19 +09:00
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
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