dwrite: Recognize semi light weight patterns.
This commit is contained in:
parent
c0ab20caf9
commit
9a6b0750c7
|
@ -2236,6 +2236,11 @@ static DWRITE_FONT_WEIGHT font_extract_weight(struct list *tokens, DWRITE_FONT_W
|
||||||
{ NULL }
|
{ NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const struct name_pattern semilight_patterns[] = {
|
||||||
|
{ semiW, lightW },
|
||||||
|
{ NULL }
|
||||||
|
};
|
||||||
|
|
||||||
static const struct name_pattern demibold_patterns[] = {
|
static const struct name_pattern demibold_patterns[] = {
|
||||||
{ semiW, boldW },
|
{ semiW, boldW },
|
||||||
{ demiW, boldW },
|
{ demiW, boldW },
|
||||||
|
@ -2302,6 +2307,9 @@ static DWRITE_FONT_WEIGHT font_extract_weight(struct list *tokens, DWRITE_FONT_W
|
||||||
if (match_pattern_list(tokens, extralight_patterns, match))
|
if (match_pattern_list(tokens, extralight_patterns, match))
|
||||||
return DWRITE_FONT_WEIGHT_EXTRA_LIGHT;
|
return DWRITE_FONT_WEIGHT_EXTRA_LIGHT;
|
||||||
|
|
||||||
|
if (match_pattern_list(tokens, semilight_patterns, match))
|
||||||
|
return DWRITE_FONT_WEIGHT_SEMI_LIGHT;
|
||||||
|
|
||||||
if (match_pattern_list(tokens, demibold_patterns, match))
|
if (match_pattern_list(tokens, demibold_patterns, match))
|
||||||
return DWRITE_FONT_WEIGHT_DEMI_BOLD;
|
return DWRITE_FONT_WEIGHT_DEMI_BOLD;
|
||||||
|
|
||||||
|
@ -2362,6 +2370,7 @@ static int compare_knownweights(const void *a, const void* b)
|
||||||
static BOOL is_known_weight_value(DWRITE_FONT_WEIGHT weight, WCHAR *nameW)
|
static BOOL is_known_weight_value(DWRITE_FONT_WEIGHT weight, WCHAR *nameW)
|
||||||
{
|
{
|
||||||
static const WCHAR extralightW[] = {'E','x','t','r','a',' ','L','i','g','h','t',0};
|
static const WCHAR extralightW[] = {'E','x','t','r','a',' ','L','i','g','h','t',0};
|
||||||
|
static const WCHAR semilightW[] = {'S','e','m','i',' ','L','i','g','h','t',0};
|
||||||
static const WCHAR extrablackW[] = {'E','x','t','r','a',' ','B','l','a','c','k',0};
|
static const WCHAR extrablackW[] = {'E','x','t','r','a',' ','B','l','a','c','k',0};
|
||||||
static const WCHAR extraboldW[] = {'E','x','t','r','a',' ','B','o','l','d',0};
|
static const WCHAR extraboldW[] = {'E','x','t','r','a',' ','B','o','l','d',0};
|
||||||
static const WCHAR demiboldW[] = {'D','e','m','i',' ','B','o','l','d',0};
|
static const WCHAR demiboldW[] = {'D','e','m','i',' ','B','o','l','d',0};
|
||||||
|
@ -2371,6 +2380,7 @@ static BOOL is_known_weight_value(DWRITE_FONT_WEIGHT weight, WCHAR *nameW)
|
||||||
{ thinW, DWRITE_FONT_WEIGHT_THIN },
|
{ thinW, DWRITE_FONT_WEIGHT_THIN },
|
||||||
{ extralightW, DWRITE_FONT_WEIGHT_EXTRA_LIGHT },
|
{ extralightW, DWRITE_FONT_WEIGHT_EXTRA_LIGHT },
|
||||||
{ lightW, DWRITE_FONT_WEIGHT_LIGHT },
|
{ lightW, DWRITE_FONT_WEIGHT_LIGHT },
|
||||||
|
{ semilightW, DWRITE_FONT_WEIGHT_SEMI_LIGHT },
|
||||||
{ mediumW, DWRITE_FONT_WEIGHT_MEDIUM },
|
{ mediumW, DWRITE_FONT_WEIGHT_MEDIUM },
|
||||||
{ demiboldW, DWRITE_FONT_WEIGHT_DEMI_BOLD },
|
{ demiboldW, DWRITE_FONT_WEIGHT_DEMI_BOLD },
|
||||||
{ boldW, DWRITE_FONT_WEIGHT_BOLD },
|
{ boldW, DWRITE_FONT_WEIGHT_BOLD },
|
||||||
|
|
|
@ -73,6 +73,7 @@ typedef enum DWRITE_FONT_WEIGHT
|
||||||
DWRITE_FONT_WEIGHT_EXTRA_LIGHT = 200,
|
DWRITE_FONT_WEIGHT_EXTRA_LIGHT = 200,
|
||||||
DWRITE_FONT_WEIGHT_ULTRA_LIGHT = 200,
|
DWRITE_FONT_WEIGHT_ULTRA_LIGHT = 200,
|
||||||
DWRITE_FONT_WEIGHT_LIGHT = 300,
|
DWRITE_FONT_WEIGHT_LIGHT = 300,
|
||||||
|
DWRITE_FONT_WEIGHT_SEMI_LIGHT = 350,
|
||||||
DWRITE_FONT_WEIGHT_NORMAL = 400,
|
DWRITE_FONT_WEIGHT_NORMAL = 400,
|
||||||
DWRITE_FONT_WEIGHT_REGULAR = 400,
|
DWRITE_FONT_WEIGHT_REGULAR = 400,
|
||||||
DWRITE_FONT_WEIGHT_MEDIUM = 500,
|
DWRITE_FONT_WEIGHT_MEDIUM = 500,
|
||||||
|
|
Loading…
Reference in New Issue