[PATCH 2/7] dwrite: Mark features that were not found.

Nikolay Sivov nsivov at codeweavers.com
Fri Jan 22 06:25:18 CST 2021


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 dlls/dwrite/dwrite_private.h | 1 +
 dlls/dwrite/opentype.c       | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/dlls/dwrite/dwrite_private.h b/dlls/dwrite/dwrite_private.h
index 4a4229e1dc0..57641680db5 100644
--- a/dlls/dwrite/dwrite_private.h
+++ b/dlls/dwrite/dwrite_private.h
@@ -544,6 +544,7 @@ enum shaping_feature_flags
     FEATURE_MANUAL_ZWJ = 0x8,
     FEATURE_MANUAL_JOINERS = FEATURE_MANUAL_ZWNJ | FEATURE_MANUAL_ZWJ,
     FEATURE_HAS_FALLBACK = 0x10,
+    FEATURE_NEEDS_FALLBACK = 0x20,
 };
 
 struct shaping_feature
diff --git a/dlls/dwrite/opentype.c b/dlls/dwrite/opentype.c
index 256218663fb..03b74eae591 100644
--- a/dlls/dwrite/opentype.c
+++ b/dlls/dwrite/opentype.c
@@ -4568,6 +4568,8 @@ static void opentype_layout_collect_lookups(struct scriptshaping_context *contex
             next_bit += bits_needed;
             context->global_mask |= (feature->default_value << feature->shift) & feature->mask;
         }
+        if (!found)
+            feature->flags |= FEATURE_NEEDS_FALLBACK;
     }
 
     for (stage = 0; stage <= features->stage; ++stage)
-- 
2.29.2




More information about the wine-devel mailing list