Revert of Respect declared font style on Android. (patchset #6 id:100001 of https://codereview.chromium.org/1092093002/)
Reason for revert: Failed on the compile bots. Original issue's description: > Respect declared font style on Android. > > Previously the normal/italic style bit was obtained from scanning the > font file. With the new format the style may be stated explicitly, and > this explicit value in the configuration file should override any > information obtained from the font data itself. > > This change allows the font element's style attribute to override the > font's style, but retains the default 'auto' setting for backwards > compatibility. Repecting the style bit may become more important with > variation fonts, because it will be up to the configuration writer to > determine what values of the 'slnt' variation should be considered > 'normal' or 'italic'. > > DOCS_PREVIEW= https://skia.org/?cl=1092093002 > > Committed: https://skia.googlesource.com/skia/+/673e902c9b9982a167f54f1cc175d8d9cab8bcaf TBR=mtklein@google.com,tomhudson@google.com,scroggo@google.com,bungeman@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1082173004
This commit is contained in:
parent
a8448bc3df
commit
21d3ed52e5
@ -78,19 +78,10 @@ int herdCats(const Array& cats) {
|
|||||||
}
|
}
|
||||||
~~~~
|
~~~~
|
||||||
|
|
||||||
Enum values are prefixed with k. Unscoped enum values are post fixed with
|
Enum values are prefixed with k and have post fix that consists of an underscore
|
||||||
an underscore and singular name of the enum name. The enum itself should be
|
and singular name of the enum name. The enum itself should be singular for
|
||||||
singular for exclusive values or plural for a bitfield. If a count is needed it
|
exclusive values or plural for a bitfield. If a count is needed it is
|
||||||
is k<singular enum name>Count and not be a member of the enum (see example):
|
k<singular enum name>Count and not be a member of the enum (see example):
|
||||||
|
|
||||||
<!--?prettify?-->
|
|
||||||
~~~~
|
|
||||||
enum class SkPancakeType {
|
|
||||||
kBlueberry,
|
|
||||||
kPlain,
|
|
||||||
kChocolateChip,
|
|
||||||
};
|
|
||||||
~~~~
|
|
||||||
|
|
||||||
<!--?prettify?-->
|
<!--?prettify?-->
|
||||||
~~~~
|
~~~~
|
||||||
|
@ -159,13 +159,6 @@ static void font_element_handler(FamilyData* self, FontFileInfo* file, const cha
|
|||||||
if (!parse_non_negative_integer(value, &file->fWeight)) {
|
if (!parse_non_negative_integer(value, &file->fWeight)) {
|
||||||
SkDebugf("---- Font weight %s (INVALID)", value);
|
SkDebugf("---- Font weight %s (INVALID)", value);
|
||||||
}
|
}
|
||||||
} else if (MEMEQ("style", name, nameLen)) {
|
|
||||||
size_t valueLen = strlen(value);
|
|
||||||
if (MEMEQ("normal", value, valueLen)) {
|
|
||||||
file->fStyle = FontFileInfo::Style::kNormal;
|
|
||||||
} else if (MEMEQ("italic", value, valueLen)) {
|
|
||||||
file->fStyle = FontFileInfo::Style::kItalic;
|
|
||||||
}
|
|
||||||
} else if (MEMEQ("index", name, nameLen)) {
|
} else if (MEMEQ("index", name, nameLen)) {
|
||||||
if (!parse_non_negative_integer(value, &file->fIndex)) {
|
if (!parse_non_negative_integer(value, &file->fIndex)) {
|
||||||
SkDebugf("---- Font index %s (INVALID)", value);
|
SkDebugf("---- Font index %s (INVALID)", value);
|
||||||
|
@ -62,12 +62,11 @@ typedef uint32_t FontVariant;
|
|||||||
|
|
||||||
// Must remain trivially movable (can be memmoved).
|
// Must remain trivially movable (can be memmoved).
|
||||||
struct FontFileInfo {
|
struct FontFileInfo {
|
||||||
FontFileInfo() : fIndex(0), fWeight(0), fStyle(Style::kAuto) { }
|
FontFileInfo() : fIndex(0), fWeight(0) { }
|
||||||
|
|
||||||
SkString fFileName;
|
SkString fFileName;
|
||||||
int fIndex;
|
int fIndex;
|
||||||
int fWeight;
|
int fWeight;
|
||||||
enum class Style { kAuto, kNormal, kItalic } fStyle;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -143,15 +143,9 @@ public:
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
int weight = fontFile.fWeight != 0 ? fontFile.fWeight : style.weight();
|
if (fontFile.fWeight != 0) {
|
||||||
SkFontStyle::Slant slant;
|
style = SkFontStyle(fontFile.fWeight, style.width(), style.slant());
|
||||||
switch (fontFile.fStyle) {
|
|
||||||
case FontFileInfo::Style::kAuto: slant = style.slant(); break;
|
|
||||||
case FontFileInfo::Style::kNormal: slant = SkFontStyle::kUpright_Slant; break;
|
|
||||||
case FontFileInfo::Style::kItalic: slant = SkFontStyle::kItalic_Slant; break;
|
|
||||||
default: SkASSERT(false); break;
|
|
||||||
}
|
}
|
||||||
style = SkFontStyle(weight, style.width(), slant);
|
|
||||||
|
|
||||||
const SkLanguage& lang = family.fLanguage;
|
const SkLanguage& lang = family.fLanguage;
|
||||||
uint32_t variant = family.fVariant;
|
uint32_t variant = family.fVariant;
|
||||||
|
Loading…
Reference in New Issue
Block a user