Commit Graph

393 Commits

Author SHA1 Message Date
Sven Baars 7ed4810a0e dwrite: Fix some memory leaks (Coverity).
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-26 21:34:02 +02:00
Nikolay Sivov fcd8508993 dwrite: Use wide-char literals.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-31 22:16:25 +02:00
Nikolay Sivov db516804cc dwrite: Build with msvcrt.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-30 17:10:03 +02:00
Nikolay Sivov 69cfb81b29 dwrite: Explicitly cast to signed type for abs().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-30 17:10:03 +02:00
Nikolay Sivov 8bcdac04a8 dwrite: Move outline dumping helpers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-30 17:10:03 +02:00
Nikolay Sivov 3bb778a637 dwrite: Pass simulation mask when getting a glyph outline.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-29 10:07:12 +02:00
Nikolay Sivov ca08a5e722 dwrite: Introduce interface to font backend.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-29 10:07:12 +02:00
Nikolay Sivov f3d777ba7d dwrite: Introduce callback interface to initialize freetype face objects.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-29 10:07:12 +02:00
Nikolay Sivov ae3422c615 dwrite: Return complete outline data from freetype integration code.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-22 18:52:57 +01:00
Nikolay Sivov 0ed0fd05c3 dwrite: Request one glyph outline at a time in GetGlyphRunOutline().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-15 10:51:54 +01:00
Nikolay Sivov 6f9e1e078e dwrite/gdiinterop: Pass target transform when getting recommended rendering mode.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-15 10:51:52 +01:00
Nikolay Sivov a56112c330 dwrite: Implement IDWriteFontSet1::CreateFontResource().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-15 10:51:50 +01:00
Nikolay Sivov d871f04bbd dwrite: Test simulations mask bitwise for consistency.
This has no functional impact. Internal function is only called with
one bit set at a time, but there is no reason to make it more confusing.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-15 10:51:44 +01:00
Nikolay Sivov 2bc442aa1b dwrite: Add a helper to return font list item.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-12 17:28:27 +01:00
Nikolay Sivov 8010ede257 dwrite: Enable 'meta' table properties for the font set.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-12 17:28:27 +01:00
Nikolay Sivov 1f8d7489b7 dwrite: Use properly capitalized weight names for constructed face names.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-11 13:13:35 +01:00
Nikolay Sivov 118b080a08 dwrite: Use same name for refcount field across different object structures.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-11 13:13:35 +01:00
Nikolay Sivov 24f085badd dwrite: Make font data reference assignment more compact.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-11 13:13:35 +01:00
Nikolay Sivov b6ffd6cb78 dwrite: Initial implementation of fontset filtering.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-10 11:09:29 +01:00
Nikolay Sivov 0ce34328bd dwrite: Partially implement GetPropertyValues().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-10 11:09:27 +01:00
Nikolay Sivov dc37782f66 dwrite: Make font set entries refcounted.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-10 11:09:24 +01:00
Nikolay Sivov 968a9e6b0c dwrite: Read legacy kerning table directly.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-09 12:01:52 +01:00
Nikolay Sivov f8e3cba746 dwrite: Check for vertical variants only when asked.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-09 12:01:50 +01:00
Nikolay Sivov 7b540f8bc8 dwrite: Limit to exactly one font file per fontface.
Multiple files only existed in initial API version, formats using multiple
files were never supported, and newer API often operates on a single file
instance.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-09 12:01:43 +01:00
Nikolay Sivov df9e20fadc dwrite: Remove duplicated trace call.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-09 12:01:41 +01:00
Nikolay Sivov 3049c94753 dwrite: Implement GetFontSet() for families.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-04 21:43:26 +01:00
Nikolay Sivov f40c2a19e2 dwrite: Return font set for matched font list.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-04 21:43:26 +01:00
Nikolay Sivov c8ac1909bc dwrite: Silence GetPropertyValues() fixme.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-04 21:43:26 +01:00
Nikolay Sivov a6bdbc7146 dwrite: Implement IDWriteFontSet::GetFontFaceReference().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-04 21:43:26 +01:00
Nikolay Sivov 91ab9018d2 dwrite: Implement font set object stub.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-04 21:43:26 +01:00
Nikolay Sivov eac1ca616d dwrite: Implement set builder methods that don't specify font properties.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-03 21:54:44 +01:00
Nikolay Sivov 76f421b090 dwrite: Use correct glyph origins during rendering.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 19:59:16 +01:00
Nikolay Sivov 4914f51c09 dwrite: Change remaining traces to have consistent format.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-04 15:41:02 +01:00
Nikolay Sivov d905919cfa dwrite: Fix vtable variables types.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-01 17:10:37 +01:00
Nikolay Sivov dc9f12170c dwrite: Add font set builder stub.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-21 20:46:13 +01:00
Nikolay Sivov 612652bb9c dwrite: Zero initialize font data structure.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-21 20:46:13 +01:00
Nikolay Sivov 5197fd7c91 dwrite: Zero-initialize run analysis object structure.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-20 22:11:07 +01:00
Nikolay Sivov 24508594ba dwrite: Use consistent trace format for rendering object.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 19:08:04 +01:00
Nikolay Sivov 62b6b9a952 dwrite: Use consistent trace format for font data access objects.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 19:08:04 +01:00
Nikolay Sivov feefc6a908 dwrite/font: Reimplement HasVerticalGlyphVariants() flag using general shaping logic.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 13:30:06 +01:00
Nikolay Sivov 5f219eccd5 dwrite/font: Use consistent traces for the font object.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 13:29:57 +01:00
Nikolay Sivov ab94abb14f dwrite: Add partial implementation for IDWriteFontFace5::Equals().
Issue with missing method spotted by Brendan Shanks.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-21 19:07:55 +02:00
Nikolay Sivov c440d87464 dwrite: Implement another GetFontFamily() variant.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 15:51:19 +02:00
Nikolay Sivov 8cddbdd785 dwrite: Fix CreateInMemoryFontFileLoader() prototype.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-10 22:38:49 +02:00
Nikolay Sivov f51d0487a7 dwrite: Silence HasVariations() fixme.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-10 22:38:49 +02:00
Nikolay Sivov 03fe6c64bc dwrite: Implement GetVerticalGlyphVariants().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-10 22:38:49 +02:00
Nikolay Sivov f48ecfc83e dwrite: Return ranges for selected cmap.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-10 22:38:49 +02:00
Nikolay Sivov a767467d2e dwrite: Get rid of cmap cache.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00
Nikolay Sivov 1cfa1c6930 dwrite: Remove unused field from fontface data structure.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00
Nikolay Sivov 745452ee94 dwrite: Do not require fontface object for HasCharacter().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00