import type { GlyphInfo } from "../../types.ts"; /** * Syriac shaper * Handles Syriac script (Estrangela, Serto, Eastern) * * Syriac is a right-to-left script with: * - Joining behavior (like Arabic) * - Vowel marks (diacritics above/below) * - Multiple script styles (Estrangela, Serto, East Syriac) * - Dalath/Rish distinction marks */ /** * Syriac joining types */ export declare enum SyriacJoining { NonJoining = 0, RightJoining = 1, DualJoining = 2, LeftJoining = 3, Transparent = 4, Causing = 5 } /** * Syriac character categories */ export declare enum SyriacCategory { Other = 0, Letter = 1, Diacritic = 2, Punctuation = 3, Digit = 4 } /** * Get Syriac joining type for codepoint */ export declare function getSyriacJoining(cp: number): SyriacJoining; /** * Get Syriac category */ export declare function getSyriacCategory(cp: number): SyriacCategory; /** * Syriac positional forms */ export declare enum SyriacForm { Isolated = 0, Initial = 1, Medial = 2, Final = 3 } /** * Determine Syriac positional form */ export declare function getSyriacForm(prev: SyriacJoining, current: SyriacJoining, next: SyriacJoining): SyriacForm; /** * Syriac feature masks */ export declare const SyriacFeatureMask: { readonly ccmp: 1; readonly locl: 2; readonly isol: 4; readonly init: 8; readonly medi: 16; readonly fina: 32; readonly rlig: 64; readonly calt: 128; readonly liga: 256; readonly stch: 512; }; /** * Set up masks for Syriac shaping */ export declare function setupSyriacMasks(infos: GlyphInfo[]): void; /** * Get default Syriac features in order */ export declare function getSyriacFeatures(): string[]; /** * Check if script uses Syriac shaper */ export declare function usesSyriac(script: string): boolean;