Commit Graph

1010 Commits (056c9df854817670dc4fb9c095cba29c99089ac8)

Author SHA1 Message Date
Nikolay Sivov da55f010df dwrite: Use mirrored character only if font supports it.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-22 14:32:02 +02:00
Nikolay Sivov bb91e877b3 dwrite: Silence warning for name entries with platform 3/encoding 10.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-22 14:32:02 +02:00
Nikolay Sivov 8962f82210 dwrite: Set per-glyph feature mask.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-22 14:32:02 +02:00
Nikolay Sivov b8625c7f03 dwrite: Keep track of shaping stage feature applies to.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-22 14:32:02 +02:00
Nikolay Sivov 7780d7856b dwrite: Propagate feature mask to lookups collected from it.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-22 14:32:02 +02:00
Nikolay Sivov c8f409ed93 dwrite: Keep user features values.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-21 20:25:50 +02:00
Nikolay Sivov bd0abb5968 dwrite: Append enabled user features that apply to whole text.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-21 20:25:50 +02:00
Nikolay Sivov b9f580c990 dwrite: Enable 'vert' feature.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-21 20:25:50 +02:00
Nikolay Sivov 093d6966be dwrite: Set feature indices before collecting lookups.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-21 20:25:50 +02:00
Nikolay Sivov 2aaa6d1af9 dwrite: Remove feature duplicates before applying them.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-21 20:25:50 +02:00
Gijs Vermeulen 23543f2005 dwrite: Set ret on unimplemented lookup in opentype_layout_apply_gsub_lookup.
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-11 21:24:58 +02:00
Nikolay Sivov 1f90b33daf dwrite: Enable global directional substitution features.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-06 19:02:03 +02:00
Nikolay Sivov 7e02e2e993 dwrite: Update DWRITE_SHAPING_TEXT_PROPERTIES definition.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-06 19:02:01 +02:00
Nikolay Sivov eadd97cbce dwrite: Use feature tags directly instead of SDK symbols.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-05 20:53:02 +02:00
Nikolay Sivov 33ec962e27 dwrite: Enable common positional features for all scripts.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-05 20:53:02 +02:00
Nikolay Sivov 075f5b73fe dwrite: Partially implement chaining contextual substitution (GSUB lookup 6).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-04 12:39:09 +02:00
Nikolay Sivov a6be957919 dwrite: Implement single substitution lookup (GSUB lookup 1).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-04 12:39:09 +02:00
Nikolay Sivov 5eb742687d dwrite: Add a helper to collect gsub/gpos lookups.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-04 12:39:09 +02:00
Nikolay Sivov bd6a500ab0 dwrite: Add helper functions to collect default GSUB features.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-04 12:39:09 +02:00
Nikolay Sivov 7208bc40dc dwrite: Initialize GSUB offsets in shaping cache.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-04 12:39:09 +02:00
Nikolay Sivov b8f1aed6d9 dwrite: Add separate structure for top level gsub/gpos offsets.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-04 12:39:09 +02:00
Nikolay Sivov 73a6470d86 dwrite: Use unsigned types for single-bit fields.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-24 11:31:42 +02:00
Francois Gouget e24bd0b9d3 dwrite: Include config.h for HAVE___BUILTIN_POPCOUNT.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 21:30:48 +02:00
Alexandre Julliard 51903ba30e dwrite: Use standard dlopen() instead of the libwine wrappers.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:41 +02:00
Alexandre Julliard b83af7c763 unicode: Update data tables to Unicode 13.0.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-13 13:23:11 +01:00
Nikolay Sivov 52a55f3e04 dwrite: Simplify LB22 rule according to Unicode 13.0 algorithm.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-13 09:41:26 +01:00
Nikolay Sivov c18d2d1c0d dwrite/tests: Use wide string literals for some tests.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-16 20:46:01 +01:00
Nikolay Sivov 6ee109c5aa dwrite: Add partial implementation for IDWriteFontFaceReference1::CreateFontFace().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-11 22:39:59 +01:00
Alexandre Julliard 44ce5d9283 unicode: Support fetching a zip containining the data files.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-09 09:48:42 +01:00
Nikolay Sivov 282678cc70 dwrite: Return static axis values for weight/width/italic properties.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-04 21:30:26 +01:00
Nikolay Sivov fecd13e1bf dwrite: Implement GetFontFaceReference() for fontfaces.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-03 20:48:04 +01:00
Nikolay Sivov 82df524e7e dwrite: Do not create intermediate object to return face reference from family.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-03 20:48:04 +01:00
Nikolay Sivov 9f1dd9fc3e dwrite: Fix potential strings object leak (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-03 12:42:08 +01:00
Alexandre Julliard f17a228d45 unicode: Try harder to reuse subsequences when compressing data arrays.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-28 19:26:13 +01:00
Alexandre Julliard fb87398b99 unicode: Use a standard two-level mapping table for the mirror map.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-28 18:58:50 +01:00
Nikolay Sivov 12a1ca5ca3 dwrite: Do not create fontface instance for GetUnicodeRanges().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-27 14:42:44 +01:00
Nikolay Sivov 6c1aff9fc7 dwrite/tests: Add a test for creating system collection with explicit family model.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-27 14:42:42 +01:00
Nikolay Sivov 4d3e0ba0a5 dwrite: Implement IDWriteFont::Equals().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-27 14:42:39 +01:00
Nikolay Sivov 0a5747bfa1 dwrite: Add support for dlng/slng metadata.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-27 14:42:36 +01:00
Nikolay Sivov 57a34227c2 dwrite: Enable DWRITE_INFORMATIONAL_STRING_WEIGHT_STRETCH_STYLE_FAMILY_NAME for GetInformationalStrings().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-24 17:21:07 +01:00
Nikolay Sivov 6b0e68f2fa dwrite: Implement GetInformationalStrings() for fontfaces.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-24 17:21:07 +01:00
Nikolay Sivov 8d48f9d014 dwrite: Access font data directly at font level for GetInformationalStrings().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-24 17:21:07 +01:00
Nikolay Sivov 2d289681eb dwrite: Implement GetFamilyNames() for fontfaces.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-24 17:21:07 +01:00
Nikolay Sivov 57665edc7b dwrite: Implement GetFaceNames() for fontfaces.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-24 17:21:06 +01:00
Nikolay Sivov 2296bd73f2 dwrite: Update for newer font string names.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 16:39:23 +01:00
Nikolay Sivov 15e62caa7a dwrite: Evaluate IsColorFont() flag at font level.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 16:39:19 +01:00
Nikolay Sivov fec78e62ee dwrite: Evaluate IsMonospacedFont() flag at font level.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 16:39:15 +01:00
Nikolay Sivov 0b0a2ce8fd dwrite: Evaluate IsSymbolFont() flag at font level.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 16:39:09 +01:00
Nikolay Sivov 107599531a dwrite: Add a helper specifically for TryGetFontTable().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 16:39:03 +01:00
Nikolay Sivov bccac4d2a1 dwrite/tests: Improve DrawUnderline() test reliability by using text tested font actually supports.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-16 20:14:09 +01:00