mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-02 10:57:28 +08:00
chore: cleanup font-variation-settings
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
import { Font as FontDefinition, FontVariationSettings as FontVariationSettingsType } from './font';
|
||||
import { Font as FontDefinition, FontVariationSettingsType } from './font';
|
||||
import { ParsedFont } from './font-interfaces';
|
||||
import { makeValidator, makeParser } from '../core/properties';
|
||||
|
||||
@ -19,7 +19,7 @@ export abstract class Font implements FontDefinition {
|
||||
return this.fontWeight === FontWeight.SEMI_BOLD || this.fontWeight === FontWeight.BOLD || this.fontWeight === '700' || this.fontWeight === FontWeight.EXTRA_BOLD || this.fontWeight === FontWeight.BLACK;
|
||||
}
|
||||
|
||||
protected constructor(public readonly fontFamily: string, public readonly fontSize: number, fontStyle?: FontStyleType, fontWeight?: FontWeightType, fontScale?: number, public readonly fontVariationSettings?: FontVariationSettingsType[]) {
|
||||
protected constructor(public readonly fontFamily: string, public readonly fontSize: number, fontStyle?: FontStyleType, fontWeight?: FontWeightType, fontScale?: number, public readonly fontVariationSettings?: Array<FontVariationSettingsType>) {
|
||||
this.fontStyle = fontStyle ?? FontStyle.NORMAL;
|
||||
this.fontWeight = fontWeight ?? FontWeight.NORMAL;
|
||||
this.fontScale = fontScale ?? 1;
|
||||
@ -32,7 +32,7 @@ export abstract class Font implements FontDefinition {
|
||||
public abstract withFontWeight(weight: FontWeightType): Font;
|
||||
public abstract withFontSize(size: number): Font;
|
||||
public abstract withFontScale(scale: number): Font;
|
||||
public abstract withFontVariationSettings(variationSettings: FontVariationSettingsType[] | null): Font;
|
||||
public abstract withFontVariationSettings(variationSettings: Array<FontVariationSettingsType> | null): Font;
|
||||
|
||||
public static equals(value1: Font, value2: Font): boolean {
|
||||
// both values are falsy
|
||||
@ -74,7 +74,7 @@ export namespace FontWeight {
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-namespace
|
||||
export namespace FontVariationSettings {
|
||||
export function parse(fontVariationSettings: string): FontVariationSettingsType[] | null {
|
||||
export function parse(fontVariationSettings: string): Array<FontVariationSettingsType> | null {
|
||||
const allowedValues = ['normal', 'inherit', 'initial', 'revert', 'revert-layer', 'unset'];
|
||||
const lower = fontVariationSettings?.toLowerCase().trim();
|
||||
if (allowedValues.indexOf(lower) !== -1) {
|
||||
@ -83,7 +83,7 @@ export namespace FontVariationSettings {
|
||||
|
||||
const chunks = lower.split(',');
|
||||
if (chunks.length) {
|
||||
const parsed: FontVariationSettingsType[] = [];
|
||||
const parsed: Array<FontVariationSettingsType> = [];
|
||||
for (const chunk of chunks) {
|
||||
const axisChunks = chunk.trim();
|
||||
if (axisChunks.length === 2) {
|
||||
@ -94,17 +94,17 @@ export namespace FontVariationSettings {
|
||||
if (!isNaN(axisValue) && axisName.length === 6 && ((axisName.startsWith("'") && axisName.endsWith("'")) || (axisName.startsWith('"') && axisName.endsWith('"')))) {
|
||||
parsed.push({ axis: axisName, value: axisValue });
|
||||
} else {
|
||||
throw new Error('Invalid value (font-variation-settings): ' + fontVariationSettings);
|
||||
console.error('Invalid value (font-variation-settings): ' + fontVariationSettings);
|
||||
}
|
||||
} else {
|
||||
throw new Error('Invalid value (font-variation-settings): ' + fontVariationSettings);
|
||||
console.error('Invalid value (font-variation-settings): ' + fontVariationSettings);
|
||||
}
|
||||
}
|
||||
|
||||
return parsed;
|
||||
}
|
||||
|
||||
throw new Error('Invalid value (font-variation-settings): ' + fontVariationSettings);
|
||||
console.error('Invalid value (font-variation-settings): ' + fontVariationSettings);
|
||||
}
|
||||
|
||||
export function toString(fontVariationSettings: FontVariationSettingsType[] | null): string | null {
|
||||
|
||||
@ -1,9 +1,7 @@
|
||||
import { Font as FontBase, parseFontFamily, genericFontFamilies, FontStyleType, FontWeight, FontWeightType, FontVariationSettingsType, FontVariationSettings } from './font-common';
|
||||
import { Trace } from '../../trace';
|
||||
import { SDK_VERSION } from '../../utils';
|
||||
import * as application from '../../application';
|
||||
import * as fs from '../../file-system';
|
||||
import { Trace } from '../../trace';
|
||||
import { ad } from '../../utils';
|
||||
|
||||
export * from './font-common';
|
||||
@ -17,7 +15,7 @@ export class Font extends FontBase {
|
||||
|
||||
private _typeface: android.graphics.Typeface;
|
||||
|
||||
constructor(family: string, size: number, style?: FontStyleType, weight?: FontWeightType, fontVariationSettings?: FontVariationSettingsType[]) {
|
||||
constructor(family: string, size: number, style?: FontStyleType, weight?: FontWeightType, fontVariationSettings?: Array<FontVariationSettingsType>) {
|
||||
super(family, size, style, weight, 1, fontVariationSettings);
|
||||
}
|
||||
|
||||
@ -41,7 +39,7 @@ export class Font extends FontBase {
|
||||
return new Font(this.fontFamily, this.fontSize, this.fontStyle, this.fontWeight, this.fontVariationSettings);
|
||||
}
|
||||
|
||||
public withFontVariationSettings(variationSettings: FontVariationSettingsType[] | null): Font {
|
||||
public withFontVariationSettings(variationSettings: Array<FontVariationSettingsType> | null): Font {
|
||||
return new Font(this.fontFamily, this.fontSize, this.fontStyle, this.fontWeight, variationSettings);
|
||||
}
|
||||
|
||||
|
||||
10
packages/core/ui/styling/font.d.ts
vendored
10
packages/core/ui/styling/font.d.ts
vendored
@ -49,14 +49,14 @@ export namespace FontWeight {
|
||||
export function parse(value: string): FontWeightType;
|
||||
}
|
||||
|
||||
export interface FontVariationSettings {
|
||||
export type FontVariationSettingsType = {
|
||||
axis: string;
|
||||
value: number;
|
||||
}
|
||||
};
|
||||
|
||||
export namespace FontVariationSettings {
|
||||
export function parse(fontVariationSettings: string): FontVariationSettings[] | null;
|
||||
export function toString(fontVariationSettings: FontVariationSettings[] | null): string | null;
|
||||
export function parse(fontVariationSettings: string): Array<FontVariationSettingsType> | null;
|
||||
export function toString(fontVariationSettings: Array<FontVariationSettingsType> | null): string | null;
|
||||
}
|
||||
|
||||
export interface ParsedFont {
|
||||
@ -66,7 +66,7 @@ export interface ParsedFont {
|
||||
lineHeight?: string;
|
||||
fontSize?: string;
|
||||
fontFamily?: string;
|
||||
fontVariationSettings?: FontVariationSettings[];
|
||||
fontVariationSettings?: Array<FontVariationSettingsType>;
|
||||
}
|
||||
|
||||
export function parseFont(fontValue: string): ParsedFont;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Font as FontBase, parseFontFamily, FontWeight, FontStyleType, FontWeightType, FontVariationSettingsType, FontVariationSettings } from './font-common';
|
||||
import { Font as FontBase, parseFontFamily, FontWeight, FontStyleType, FontWeightType, FontVariationSettingsType, FontVariationSettings, fuzzySearch } from './font-common';
|
||||
import { Trace } from '../../trace';
|
||||
import * as fs from '../../file-system';
|
||||
export * from './font-common';
|
||||
@ -7,7 +7,7 @@ interface FontDescriptor {
|
||||
fontFamily: string[];
|
||||
fontSize: number;
|
||||
fontWeight: number;
|
||||
fontVariationSettings: FontVariationSettingsType[] | null;
|
||||
fontVariationSettings: Array<FontVariationSettingsType> | null;
|
||||
isBold: boolean;
|
||||
isItalic: boolean;
|
||||
}
|
||||
@ -59,7 +59,7 @@ function getUIFontCached(fontDescriptor: FontDescriptor) {
|
||||
export class Font extends FontBase {
|
||||
public static default = new Font(undefined, undefined);
|
||||
|
||||
constructor(family: string, size: number, style?: FontStyleType, weight?: FontWeightType, scale?: number, variationSettings?: FontVariationSettingsType[]) {
|
||||
constructor(family: string, size: number, style?: FontStyleType, weight?: FontWeightType, scale?: number, variationSettings?: Array<FontVariationSettingsType>) {
|
||||
super(family, size, style, weight, scale, variationSettings);
|
||||
}
|
||||
|
||||
@ -83,7 +83,7 @@ export class Font extends FontBase {
|
||||
return new Font(this.fontFamily, this.fontSize, this.fontStyle, this.fontWeight, scale, this.fontVariationSettings);
|
||||
}
|
||||
|
||||
public withFontVariationSettings(variationSettings: FontVariationSettingsType[] | null): Font {
|
||||
public withFontVariationSettings(variationSettings: Array<FontVariationSettingsType> | null): Font {
|
||||
return new Font(this.fontFamily, this.fontSize, this.fontStyle, this.fontWeight, this.fontScale, variationSettings);
|
||||
}
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@ import { Style } from '../styling/style';
|
||||
import { Transformation, TransformationValue, TransformFunctionsInfo } from '../animation';
|
||||
|
||||
import { Color } from '../../color';
|
||||
import { Font, parseFont, FontStyle, FontWeight, FontVariationSettings } from '../../ui/styling/font';
|
||||
import { Font, parseFont, FontStyle, FontWeight, FontVariationSettings, FontVariationSettingsType } from '../../ui/styling/font';
|
||||
import { layout, hasDuplicates } from '../../utils';
|
||||
import { Background } from '../../ui/styling/background';
|
||||
|
||||
@ -1424,7 +1424,7 @@ const fontProperty = new ShorthandProperty<Style, string>({
|
||||
});
|
||||
fontProperty.register(Style);
|
||||
|
||||
export const fontVariationSettingsProperty = new InheritedCssProperty<Style, FontVariationSettings[] | null>({
|
||||
export const fontVariationSettingsProperty = new InheritedCssProperty<Style, Array<FontVariationSettingsType> | null>({
|
||||
name: 'fontVariationSettings',
|
||||
cssName: 'font-variation-settings',
|
||||
affectsLayout: global.isIOS,
|
||||
|
||||
Reference in New Issue
Block a user