diff --git a/dlls/usp10/shape.c b/dlls/usp10/shape.c index 0596f998095..ed9b477728b 100644 --- a/dlls/usp10/shape.c +++ b/dlls/usp10/shape.c @@ -1188,7 +1188,7 @@ static LPCVOID load_GSUB_feature(HDC hdc, SCRIPT_ANALYSIS *psa, ScriptCache *psc for (i = 0; i < psc->feature_count; i++) { - if (strncmp(psc->features[i].tag,feat,4)==0 && psc->features[i].script == script) + if (psc->features[i].tag == MS_MAKE_TAG(feat[0],feat[1],feat[2],feat[3])&& psc->features[i].script == script) return psc->features[i].feature; } @@ -1231,7 +1231,7 @@ static LPCVOID load_GSUB_feature(HDC hdc, SCRIPT_ANALYSIS *psa, ScriptCache *psc else psc->features = HeapAlloc(GetProcessHeap(), 0, psc->feature_count * sizeof(LoadedFeature)); - lstrcpynA(psc->features[psc->feature_count - 1].tag, feat, 5); + psc->features[psc->feature_count - 1].tag = MS_MAKE_TAG(feat[0],feat[1],feat[2],feat[3]); psc->features[psc->feature_count - 1].script = script; psc->features[psc->feature_count - 1].feature = feature; return feature; diff --git a/dlls/usp10/usp10_internal.h b/dlls/usp10/usp10_internal.h index 9eb68015c4c..62307a5239e 100644 --- a/dlls/usp10/usp10_internal.h +++ b/dlls/usp10/usp10_internal.h @@ -126,7 +126,7 @@ #define GLYPH_MAX 65536 typedef struct { - char tag[5]; + OPENTYPE_TAG tag; OPENTYPE_TAG script; LPCVOID feature; } LoadedFeature;