import type { ShapeFeature } from "./shape-plan.ts"; /** * Feature helper utilities * Provides convenient APIs for enabling OpenType features */ /** * Create a ShapeFeature for a stylistic set (ss01-ss20) */ export declare function stylisticSet(setNumber: number, enabled?: boolean): ShapeFeature; /** * Create ShapeFeatures for multiple stylistic sets */ export declare function stylisticSets(setNumbers: number[], enabled?: boolean): ShapeFeature[]; /** * Create a ShapeFeature for a character variant (cv01-cv99) */ export declare function characterVariant(variantNumber: number, enabled?: boolean): ShapeFeature; /** * Create ShapeFeatures for multiple character variants */ export declare function characterVariants(variantNumbers: number[], enabled?: boolean): ShapeFeature[]; /** * Standard ligatures (liga) */ export declare function standardLigatures(enabled?: boolean): ShapeFeature; /** * Discretionary ligatures (dlig) */ export declare function discretionaryLigatures(enabled?: boolean): ShapeFeature; /** * Historical ligatures (hlig) */ export declare function historicalLigatures(enabled?: boolean): ShapeFeature; /** * Contextual alternates (calt) */ export declare function contextualAlternates(enabled?: boolean): ShapeFeature; /** * Stylistic alternates (salt) */ export declare function stylisticAlternates(enabled?: boolean): ShapeFeature; /** * Swash (swsh) */ export declare function swash(enabled?: boolean): ShapeFeature; /** * Small capitals (smcp) */ export declare function smallCaps(enabled?: boolean): ShapeFeature; /** * Capitals to small capitals (c2sc) */ export declare function capsToSmallCaps(enabled?: boolean): ShapeFeature; /** * Petite capitals (pcap) */ export declare function petiteCaps(enabled?: boolean): ShapeFeature; /** * All small capitals (both smcp and c2sc) */ export declare function allSmallCaps(enabled?: boolean): ShapeFeature[]; /** * Oldstyle figures (onum) */ export declare function oldstyleFigures(enabled?: boolean): ShapeFeature; /** * Lining figures (lnum) */ export declare function liningFigures(enabled?: boolean): ShapeFeature; /** * Proportional figures (pnum) */ export declare function proportionalFigures(enabled?: boolean): ShapeFeature; /** * Tabular figures (tnum) */ export declare function tabularFigures(enabled?: boolean): ShapeFeature; /** * Fractions (frac) */ export declare function fractions(enabled?: boolean): ShapeFeature; /** * Ordinals (ordn) */ export declare function ordinals(enabled?: boolean): ShapeFeature; /** * Slashed zero (zero) */ export declare function slashedZero(enabled?: boolean): ShapeFeature; /** * Superscript (sups) */ export declare function superscript(enabled?: boolean): ShapeFeature; /** * Subscript (subs) */ export declare function subscript(enabled?: boolean): ShapeFeature; /** * Scientific inferiors (sinf) */ export declare function scientificInferiors(enabled?: boolean): ShapeFeature; /** * Case-sensitive forms (case) */ export declare function caseSensitiveForms(enabled?: boolean): ShapeFeature; /** * Capital spacing (cpsp) */ export declare function capitalSpacing(enabled?: boolean): ShapeFeature; /** * Kerning (kern) */ export declare function kerning(enabled?: boolean): ShapeFeature; /** * Vertical forms (vert) - for vertical text layout */ export declare function verticalForms(enabled?: boolean): ShapeFeature; /** * Vertical alternates and rotation (vrt2) - for vertical text layout */ export declare function verticalAlternatesRotation(enabled?: boolean): ShapeFeature; /** * Vertical Kana alternates (vkna) - for Japanese vertical text */ export declare function verticalKanaAlternates(enabled?: boolean): ShapeFeature; /** * All vertical layout features */ export declare function verticalLayoutFeatures(enabled?: boolean): ShapeFeature[]; /** * Ruby notation forms (ruby) */ export declare function ruby(enabled?: boolean): ShapeFeature; /** * Half-width forms (hwid) */ export declare function halfWidthForms(enabled?: boolean): ShapeFeature; /** * Full-width forms (fwid) */ export declare function fullWidthForms(enabled?: boolean): ShapeFeature; /** * Proportional-width forms (pwid) */ export declare function proportionalWidthForms(enabled?: boolean): ShapeFeature; /** * Quarter-width forms (qwid) */ export declare function quarterWidthForms(enabled?: boolean): ShapeFeature; /** * Third-width forms (twid) */ export declare function thirdWidthForms(enabled?: boolean): ShapeFeature; /** * JIS78 forms (jp78) - Japanese */ export declare function jis78Forms(enabled?: boolean): ShapeFeature; /** * JIS83 forms (jp83) - Japanese */ export declare function jis83Forms(enabled?: boolean): ShapeFeature; /** * JIS90 forms (jp90) - Japanese */ export declare function jis90Forms(enabled?: boolean): ShapeFeature; /** * JIS2004 forms (jp04) - Japanese */ export declare function jis2004Forms(enabled?: boolean): ShapeFeature; /** * Simplified forms (smpl) - Chinese */ export declare function simplifiedForms(enabled?: boolean): ShapeFeature; /** * Traditional forms (trad) - Chinese */ export declare function traditionalForms(enabled?: boolean): ShapeFeature; /** * Create a feature from a 4-character tag string */ export declare function feature(tagStr: string, enabled?: boolean): ShapeFeature; /** * Create multiple features from tag strings */ export declare function features(tagStrs: string[], enabled?: boolean): ShapeFeature[]; /** * Combine multiple feature sets */ export declare function combineFeatures(...featureSets: (ShapeFeature | ShapeFeature[])[]): ShapeFeature[];