Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
d31651b7
Commit
d31651b7
authored
Feb 21, 2018
by
Nikolay Sivov
Committed by
Alexandre Julliard
Feb 21, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dwrite: Use ARRAY_SIZE() macro.
Signed-off-by:
Nikolay Sivov
<
nsivov@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
c3beca6c
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
23 additions
and
21 deletions
+23
-21
analyzer.c
dlls/dwrite/analyzer.c
+5
-5
dwrite_private.h
dlls/dwrite/dwrite_private.h
+2
-0
font.c
dlls/dwrite/font.c
+13
-13
opentype.c
dlls/dwrite/opentype.c
+3
-3
No files found.
dlls/dwrite/analyzer.c
View file @
d31651b7
...
...
@@ -217,8 +217,8 @@ struct fallback_mapping {
static
const
struct
fallback_mapping
fontfallback_neutral_data
[]
=
{
#define MAPPING_RANGE(ranges, families) \
{ (DWRITE_UNICODE_RANGE *)ranges,
sizeof(ranges)/sizeof(ranges[0]
), \
(WCHAR **)families,
sizeof(families)/sizeof(families[0]
) }
{ (DWRITE_UNICODE_RANGE *)ranges,
ARRAY_SIZE(ranges
), \
(WCHAR **)families,
ARRAY_SIZE(families
) }
MAPPING_RANGE
(
cjk_ranges
,
cjk_families
),
...
...
@@ -1056,7 +1056,7 @@ static UINT32 get_opentype_language(const WCHAR *locale)
if
(
locale
)
{
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
]);
}
...
...
@@ -1108,7 +1108,7 @@ static DWRITE_NUMBER_SUBSTITUTION_METHOD get_number_substitutes(IDWriteNumberSub
break
;
case
DWRITE_NUMBER_SUBSTITUTION_METHOD_CONTEXTUAL
:
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
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
->
factory
=
factory
;
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
);
*
ret
=
&
fallback
->
IDWriteFontFallback_iface
;
...
...
dlls/dwrite/dwrite_private.h
View file @
d31651b7
...
...
@@ -24,6 +24,8 @@
#include "wine/list.h"
#include "wine/unicode.h"
#define ARRAY_SIZE(array) (sizeof(array) / sizeof((array)[0]))
static
const
DWRITE_MATRIX
identity
=
{
1
.
0
f
,
0
.
0
f
,
...
...
dlls/dwrite/font.c
View file @
d31651b7
...
...
@@ -419,7 +419,7 @@ static void release_font_data(struct dwrite_font_data *data)
if
(
InterlockedDecrement
(
&
data
->
ref
)
>
0
)
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
])
IDWriteLocalizedStrings_Release
(
data
->
info_strings
[
i
]);
}
...
...
@@ -522,7 +522,7 @@ static ULONG WINAPI dwritefontface_Release(IDWriteFontFace4 *iface)
IDWriteFontFileStream_Release
(
This
->
stream
);
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
]);
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
}
};
ptr
=
bsearch
(
&
weight
,
knownweights
,
sizeof
(
knownweights
)
/
sizeof
(
knownweights
[
0
]
),
sizeof
(
knownweights
[
0
]),
ptr
=
bsearch
(
&
weight
,
knownweights
,
ARRAY_SIZE
(
knownweights
),
sizeof
(
knownweights
[
0
]),
compare_knownweights
);
if
(
!
ptr
)
{
nameW
[
0
]
=
0
;
...
...
@@ -3373,8 +3373,8 @@ static HRESULT init_font_data(const struct fontface_desc *desc, IDWriteLocalized
data
->
fontsig
=
props
.
fontsig
;
data
->
lf
=
props
.
lf
;
fontstrings_get_en_string
(
*
family_name
,
familyW
,
sizeof
(
familyW
)
/
sizeof
(
WCHAR
));
fontstrings_get_en_string
(
data
->
names
,
faceW
,
sizeof
(
faceW
)
/
sizeof
(
WCHAR
));
fontstrings_get_en_string
(
*
family_name
,
familyW
,
ARRAY_SIZE
(
familyW
));
fontstrings_get_en_string
(
data
->
names
,
faceW
,
ARRAY_SIZE
(
faceW
));
if
(
font_apply_differentiation_rules
(
data
,
familyW
,
faceW
))
{
set_en_localizedstring
(
*
family_name
,
familyW
);
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,
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
);
/* 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 */
/* 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
);
if
(
*
facenameW
)
...
...
@@ -3610,7 +3610,7 @@ static BOOL fontcollection_add_replacement(struct dwrite_fontcollection *collect
}
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
));
}
IDWriteLocalizedStrings_Release
(
strings
);
...
...
@@ -3767,7 +3767,7 @@ HRESULT create_font_collection(IDWriteFactory5 *factory, IDWriteFontFileEnumerat
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 */
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
};
WCHAR
fullpathW
[
MAX_PATH
];
GetWindowsDirectoryW
(
fullpathW
,
sizeof
(
fullpathW
)
/
sizeof
(
WCHAR
));
GetWindowsDirectoryW
(
fullpathW
,
ARRAY_SIZE
(
fullpathW
));
strcatW
(
fullpathW
,
fontsW
);
strcatW
(
fullpathW
,
filename
);
...
...
@@ -3914,7 +3914,7 @@ static HRESULT WINAPI systemfontfileenumerator_MoveNext(IDWriteFontFileEnumerato
{
struct
system_fontfile_enumerator
*
enumerator
=
impl_from_IDWriteFontFileEnumerator
(
iface
);
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
;
LONG
r
;
...
...
@@ -4162,8 +4162,8 @@ HRESULT get_eudc_fontcollection(IDWriteFactory5 *factory, IDWriteFontCollection1
WCHAR
keynameW
[
64
],
pathW
[
MAX_PATH
];
DWORD
type
,
path_len
,
name_len
;
path_len
=
sizeof
(
pathW
)
/
sizeof
(
*
pathW
);
name_len
=
sizeof
(
keynameW
)
/
sizeof
(
*
keynameW
);
path_len
=
ARRAY_SIZE
(
pathW
);
name_len
=
ARRAY_SIZE
(
keynameW
);
retval
=
RegEnumValueW
(
eudckey
,
index
++
,
keynameW
,
&
name_len
,
NULL
,
&
type
,
(
BYTE
*
)
pathW
,
&
path_len
);
if
(
retval
||
type
!=
REG_SZ
)
continue
;
...
...
dlls/dwrite/opentype.c
View file @
d31651b7
...
...
@@ -1553,7 +1553,7 @@ static BOOL opentype_decode_namerecord(const TT_NAME_V0 *header, BYTE *storage_a
UINT
codepage
;
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
)
{
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
;
exists
=
FALSE
;
if
(
GetSystemDefaultLocaleName
(
localeW
,
sizeof
(
localeW
)
/
sizeof
(
WCHAR
)))
if
(
GetSystemDefaultLocaleName
(
localeW
,
ARRAY_SIZE
(
localeW
)))
IDWriteLocalizedStrings_FindLocaleName
(
lfnames
,
localeW
,
&
index
,
&
exists
);
if
(
!
exists
)
...
...
@@ -1801,7 +1801,7 @@ HRESULT opentype_get_typographic_features(IDWriteFontFace *fontface, UINT32 scri
UINT8
i
;
*
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
GPOS_GSUB_Header
*
header
;
const
OT_Script
*
script
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment