dwrite: Use ARRAY_SIZE() macro.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
c3beca6c8f
commit
d31651b705
|
@ -217,8 +217,8 @@ struct fallback_mapping {
|
||||||
|
|
||||||
static const struct fallback_mapping fontfallback_neutral_data[] = {
|
static const struct fallback_mapping fontfallback_neutral_data[] = {
|
||||||
#define MAPPING_RANGE(ranges, families) \
|
#define MAPPING_RANGE(ranges, families) \
|
||||||
{ (DWRITE_UNICODE_RANGE *)ranges, sizeof(ranges)/sizeof(ranges[0]), \
|
{ (DWRITE_UNICODE_RANGE *)ranges, ARRAY_SIZE(ranges), \
|
||||||
(WCHAR **)families, sizeof(families)/sizeof(families[0]) }
|
(WCHAR **)families, ARRAY_SIZE(families) }
|
||||||
|
|
||||||
MAPPING_RANGE(cjk_ranges, cjk_families),
|
MAPPING_RANGE(cjk_ranges, cjk_families),
|
||||||
|
|
||||||
|
@ -1056,7 +1056,7 @@ static UINT32 get_opentype_language(const WCHAR *locale)
|
||||||
|
|
||||||
if (locale) {
|
if (locale) {
|
||||||
WCHAR tag[5];
|
WCHAR tag[5];
|
||||||
if (GetLocaleInfoEx(locale, LOCALE_SOPENTYPELANGUAGETAG, tag, sizeof(tag)/sizeof(WCHAR)))
|
if (GetLocaleInfoEx(locale, LOCALE_SOPENTYPELANGUAGETAG, tag, ARRAY_SIZE(tag)))
|
||||||
language = DWRITE_MAKE_OPENTYPE_TAG(tag[0],tag[1],tag[2],tag[3]);
|
language = DWRITE_MAKE_OPENTYPE_TAG(tag[0],tag[1],tag[2],tag[3]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1108,7 +1108,7 @@ static DWRITE_NUMBER_SUBSTITUTION_METHOD get_number_substitutes(IDWriteNumberSub
|
||||||
break;
|
break;
|
||||||
case DWRITE_NUMBER_SUBSTITUTION_METHOD_CONTEXTUAL:
|
case DWRITE_NUMBER_SUBSTITUTION_METHOD_CONTEXTUAL:
|
||||||
case DWRITE_NUMBER_SUBSTITUTION_METHOD_TRADITIONAL:
|
case DWRITE_NUMBER_SUBSTITUTION_METHOD_TRADITIONAL:
|
||||||
if (GetLocaleInfoEx(numbersubst->locale, LOCALE_SISO639LANGNAME, isolang, sizeof(isolang)/sizeof(isolang[0]))) {
|
if (GetLocaleInfoEx(numbersubst->locale, LOCALE_SISO639LANGNAME, isolang, ARRAY_SIZE(isolang))) {
|
||||||
static const WCHAR arW[] = {'a','r',0};
|
static const WCHAR arW[] = {'a','r',0};
|
||||||
static const WCHAR arabicW[] = {0x640,0x641,0x642,0x643,0x644,0x645,0x646,0x647,0x648,0x649,0};
|
static const WCHAR arabicW[] = {0x640,0x641,0x642,0x643,0x644,0x645,0x646,0x647,0x648,0x649,0};
|
||||||
|
|
||||||
|
@ -2199,7 +2199,7 @@ HRESULT create_system_fontfallback(IDWriteFactory5 *factory, IDWriteFontFallback
|
||||||
fallback->IDWriteFontFallback_iface.lpVtbl = &fontfallbackvtbl;
|
fallback->IDWriteFontFallback_iface.lpVtbl = &fontfallbackvtbl;
|
||||||
fallback->factory = factory;
|
fallback->factory = factory;
|
||||||
fallback->mappings = (struct fallback_mapping *)fontfallback_neutral_data;
|
fallback->mappings = (struct fallback_mapping *)fontfallback_neutral_data;
|
||||||
fallback->mappings_count = sizeof(fontfallback_neutral_data) / sizeof(*fontfallback_neutral_data);
|
fallback->mappings_count = ARRAY_SIZE(fontfallback_neutral_data);
|
||||||
IDWriteFactory5_GetSystemFontCollection(fallback->factory, FALSE, &fallback->systemcollection, FALSE);
|
IDWriteFactory5_GetSystemFontCollection(fallback->factory, FALSE, &fallback->systemcollection, FALSE);
|
||||||
|
|
||||||
*ret = &fallback->IDWriteFontFallback_iface;
|
*ret = &fallback->IDWriteFontFallback_iface;
|
||||||
|
|
|
@ -24,6 +24,8 @@
|
||||||
#include "wine/list.h"
|
#include "wine/list.h"
|
||||||
#include "wine/unicode.h"
|
#include "wine/unicode.h"
|
||||||
|
|
||||||
|
#define ARRAY_SIZE(array) (sizeof(array) / sizeof((array)[0]))
|
||||||
|
|
||||||
static const DWRITE_MATRIX identity =
|
static const DWRITE_MATRIX identity =
|
||||||
{
|
{
|
||||||
1.0f, 0.0f,
|
1.0f, 0.0f,
|
||||||
|
|
|
@ -419,7 +419,7 @@ static void release_font_data(struct dwrite_font_data *data)
|
||||||
if (InterlockedDecrement(&data->ref) > 0)
|
if (InterlockedDecrement(&data->ref) > 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
for (i = DWRITE_INFORMATIONAL_STRING_NONE; i < sizeof(data->info_strings)/sizeof(data->info_strings[0]); i++) {
|
for (i = DWRITE_INFORMATIONAL_STRING_NONE; i < ARRAY_SIZE(data->info_strings); i++) {
|
||||||
if (data->info_strings[i])
|
if (data->info_strings[i])
|
||||||
IDWriteLocalizedStrings_Release(data->info_strings[i]);
|
IDWriteLocalizedStrings_Release(data->info_strings[i]);
|
||||||
}
|
}
|
||||||
|
@ -522,7 +522,7 @@ static ULONG WINAPI dwritefontface_Release(IDWriteFontFace4 *iface)
|
||||||
IDWriteFontFileStream_Release(This->stream);
|
IDWriteFontFileStream_Release(This->stream);
|
||||||
heap_free(This->files);
|
heap_free(This->files);
|
||||||
|
|
||||||
for (i = 0; i < sizeof(This->glyphs)/sizeof(This->glyphs[0]); i++)
|
for (i = 0; i < ARRAY_SIZE(This->glyphs); i++)
|
||||||
heap_free(This->glyphs[i]);
|
heap_free(This->glyphs[i]);
|
||||||
|
|
||||||
freetype_notify_cacheremove(iface);
|
freetype_notify_cacheremove(iface);
|
||||||
|
@ -3060,7 +3060,7 @@ static BOOL is_known_weight_value(DWRITE_FONT_WEIGHT weight, WCHAR *nameW)
|
||||||
{ extrablackW, DWRITE_FONT_WEIGHT_EXTRA_BLACK }
|
{ extrablackW, DWRITE_FONT_WEIGHT_EXTRA_BLACK }
|
||||||
};
|
};
|
||||||
|
|
||||||
ptr = bsearch(&weight, knownweights, sizeof(knownweights)/sizeof(knownweights[0]), sizeof(knownweights[0]),
|
ptr = bsearch(&weight, knownweights, ARRAY_SIZE(knownweights), sizeof(knownweights[0]),
|
||||||
compare_knownweights);
|
compare_knownweights);
|
||||||
if (!ptr) {
|
if (!ptr) {
|
||||||
nameW[0] = 0;
|
nameW[0] = 0;
|
||||||
|
@ -3373,8 +3373,8 @@ static HRESULT init_font_data(const struct fontface_desc *desc, IDWriteLocalized
|
||||||
data->fontsig = props.fontsig;
|
data->fontsig = props.fontsig;
|
||||||
data->lf = props.lf;
|
data->lf = props.lf;
|
||||||
|
|
||||||
fontstrings_get_en_string(*family_name, familyW, sizeof(familyW)/sizeof(WCHAR));
|
fontstrings_get_en_string(*family_name, familyW, ARRAY_SIZE(familyW));
|
||||||
fontstrings_get_en_string(data->names, faceW, sizeof(faceW)/sizeof(WCHAR));
|
fontstrings_get_en_string(data->names, faceW, ARRAY_SIZE(faceW));
|
||||||
if (font_apply_differentiation_rules(data, familyW, faceW)) {
|
if (font_apply_differentiation_rules(data, familyW, faceW)) {
|
||||||
set_en_localizedstring(*family_name, familyW);
|
set_en_localizedstring(*family_name, familyW);
|
||||||
set_en_localizedstring(data->names, faceW);
|
set_en_localizedstring(data->names, faceW);
|
||||||
|
@ -3495,7 +3495,7 @@ static void fontfamily_add_bold_simulated_face(struct dwrite_fontfamily_data *fa
|
||||||
|
|
||||||
/* Simulated face name should only contain Bold as weight term,
|
/* Simulated face name should only contain Bold as weight term,
|
||||||
so remove existing regular and weight terms. */
|
so remove existing regular and weight terms. */
|
||||||
fontstrings_get_en_string(family->fonts[heaviest]->names, initialW, sizeof(initialW)/sizeof(WCHAR));
|
fontstrings_get_en_string(family->fonts[heaviest]->names, initialW, ARRAY_SIZE(initialW));
|
||||||
facename_remove_regular_term(initialW, -1);
|
facename_remove_regular_term(initialW, -1);
|
||||||
|
|
||||||
/* remove current weight pattern */
|
/* remove current weight pattern */
|
||||||
|
@ -3566,7 +3566,7 @@ static void fontfamily_add_oblique_simulated_face(struct dwrite_fontfamily_data
|
||||||
/* add oblique simulation based on this regular face */
|
/* add oblique simulation based on this regular face */
|
||||||
|
|
||||||
/* remove regular term if any, append 'Oblique' */
|
/* remove regular term if any, append 'Oblique' */
|
||||||
fontstrings_get_en_string(family->fonts[regular]->names, facenameW, sizeof(facenameW)/sizeof(WCHAR));
|
fontstrings_get_en_string(family->fonts[regular]->names, facenameW, ARRAY_SIZE(facenameW));
|
||||||
facename_remove_regular_term(facenameW, -1);
|
facename_remove_regular_term(facenameW, -1);
|
||||||
|
|
||||||
if (*facenameW)
|
if (*facenameW)
|
||||||
|
@ -3610,7 +3610,7 @@ static BOOL fontcollection_add_replacement(struct dwrite_fontcollection *collect
|
||||||
}
|
}
|
||||||
|
|
||||||
fontcollection_add_family(collection, target);
|
fontcollection_add_family(collection, target);
|
||||||
fontstrings_get_en_string(replacement->familyname, nameW, sizeof(nameW)/sizeof(WCHAR));
|
fontstrings_get_en_string(replacement->familyname, nameW, ARRAY_SIZE(nameW));
|
||||||
TRACE("replacement %s -> %s\n", debugstr_w(target_name), debugstr_w(nameW));
|
TRACE("replacement %s -> %s\n", debugstr_w(target_name), debugstr_w(nameW));
|
||||||
}
|
}
|
||||||
IDWriteLocalizedStrings_Release(strings);
|
IDWriteLocalizedStrings_Release(strings);
|
||||||
|
@ -3767,7 +3767,7 @@ HRESULT create_font_collection(IDWriteFactory5 *factory, IDWriteFontFileEnumerat
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
fontstrings_get_en_string(family_name, familyW, sizeof(familyW)/sizeof(WCHAR));
|
fontstrings_get_en_string(family_name, familyW, ARRAY_SIZE(familyW));
|
||||||
|
|
||||||
/* ignore dot named faces */
|
/* ignore dot named faces */
|
||||||
if (familyW[0] == '.') {
|
if (familyW[0] == '.') {
|
||||||
|
@ -3886,7 +3886,7 @@ static HRESULT create_local_file_reference(IDWriteFactory5 *factory, const WCHAR
|
||||||
static const WCHAR fontsW[] = {'\\','f','o','n','t','s','\\',0};
|
static const WCHAR fontsW[] = {'\\','f','o','n','t','s','\\',0};
|
||||||
WCHAR fullpathW[MAX_PATH];
|
WCHAR fullpathW[MAX_PATH];
|
||||||
|
|
||||||
GetWindowsDirectoryW(fullpathW, sizeof(fullpathW)/sizeof(WCHAR));
|
GetWindowsDirectoryW(fullpathW, ARRAY_SIZE(fullpathW));
|
||||||
strcatW(fullpathW, fontsW);
|
strcatW(fullpathW, fontsW);
|
||||||
strcatW(fullpathW, filename);
|
strcatW(fullpathW, filename);
|
||||||
|
|
||||||
|
@ -3914,7 +3914,7 @@ static HRESULT WINAPI systemfontfileenumerator_MoveNext(IDWriteFontFileEnumerato
|
||||||
{
|
{
|
||||||
struct system_fontfile_enumerator *enumerator = impl_from_IDWriteFontFileEnumerator(iface);
|
struct system_fontfile_enumerator *enumerator = impl_from_IDWriteFontFileEnumerator(iface);
|
||||||
WCHAR name_buf[256], *name = name_buf;
|
WCHAR name_buf[256], *name = name_buf;
|
||||||
DWORD name_count, max_name_count = sizeof(name_buf) / sizeof(*name_buf), type, data_size;
|
DWORD name_count, max_name_count = ARRAY_SIZE(name_buf), type, data_size;
|
||||||
HRESULT hr = S_OK;
|
HRESULT hr = S_OK;
|
||||||
LONG r;
|
LONG r;
|
||||||
|
|
||||||
|
@ -4162,8 +4162,8 @@ HRESULT get_eudc_fontcollection(IDWriteFactory5 *factory, IDWriteFontCollection1
|
||||||
WCHAR keynameW[64], pathW[MAX_PATH];
|
WCHAR keynameW[64], pathW[MAX_PATH];
|
||||||
DWORD type, path_len, name_len;
|
DWORD type, path_len, name_len;
|
||||||
|
|
||||||
path_len = sizeof(pathW)/sizeof(*pathW);
|
path_len = ARRAY_SIZE(pathW);
|
||||||
name_len = sizeof(keynameW)/sizeof(*keynameW);
|
name_len = ARRAY_SIZE(keynameW);
|
||||||
retval = RegEnumValueW(eudckey, index++, keynameW, &name_len, NULL, &type, (BYTE*)pathW, &path_len);
|
retval = RegEnumValueW(eudckey, index++, keynameW, &name_len, NULL, &type, (BYTE*)pathW, &path_len);
|
||||||
if (retval || type != REG_SZ)
|
if (retval || type != REG_SZ)
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -1553,7 +1553,7 @@ static BOOL opentype_decode_namerecord(const TT_NAME_V0 *header, BYTE *storage_a
|
||||||
UINT codepage;
|
UINT codepage;
|
||||||
|
|
||||||
codepage = get_name_record_codepage(platform, encoding);
|
codepage = get_name_record_codepage(platform, encoding);
|
||||||
get_name_record_locale(platform, lang_id, locale, sizeof(locale)/sizeof(WCHAR));
|
get_name_record_locale(platform, lang_id, locale, ARRAY_SIZE(locale));
|
||||||
|
|
||||||
if (codepage) {
|
if (codepage) {
|
||||||
DWORD len = MultiByteToWideChar(codepage, 0, (LPSTR)(storage_area + offset), length, NULL, 0);
|
DWORD len = MultiByteToWideChar(codepage, 0, (LPSTR)(storage_area + offset), length, NULL, 0);
|
||||||
|
@ -1730,7 +1730,7 @@ HRESULT opentype_get_font_facename(struct file_stream_desc *stream_desc, WCHAR *
|
||||||
BOOL exists;
|
BOOL exists;
|
||||||
|
|
||||||
exists = FALSE;
|
exists = FALSE;
|
||||||
if (GetSystemDefaultLocaleName(localeW, sizeof(localeW)/sizeof(WCHAR)))
|
if (GetSystemDefaultLocaleName(localeW, ARRAY_SIZE(localeW)))
|
||||||
IDWriteLocalizedStrings_FindLocaleName(lfnames, localeW, &index, &exists);
|
IDWriteLocalizedStrings_FindLocaleName(lfnames, localeW, &index, &exists);
|
||||||
|
|
||||||
if (!exists)
|
if (!exists)
|
||||||
|
@ -1801,7 +1801,7 @@ HRESULT opentype_get_typographic_features(IDWriteFontFace *fontface, UINT32 scri
|
||||||
UINT8 i;
|
UINT8 i;
|
||||||
|
|
||||||
*count = 0;
|
*count = 0;
|
||||||
for (i = 0; i < sizeof(tables)/sizeof(tables[0]); i++) {
|
for (i = 0; i < ARRAY_SIZE(tables); i++) {
|
||||||
const OT_ScriptList *scriptlist;
|
const OT_ScriptList *scriptlist;
|
||||||
const GPOS_GSUB_Header *header;
|
const GPOS_GSUB_Header *header;
|
||||||
const OT_Script *script;
|
const OT_Script *script;
|
||||||
|
|
Loading…
Reference in New Issue