Nikolay Sivov : dwrite: Mark features that were not found.

Alexandre Julliard julliard at winehq.org
Fri Jan 22 15:59:15 CST 2021


Module: wine
Branch: master
Commit: 3c0836bfa3360b8696d08c0c08ed37ab3368bf5c
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=3c0836bfa3360b8696d08c0c08ed37ab3368bf5c

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Fri Jan 22 15:25:18 2021 +0300

dwrite: Mark features that were not found.

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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)




More information about the wine-cvs mailing list