import type { GlyphInfo } from "../../types.ts"; /** * Tibetan shaper * Handles Tibetan script complex text layout * * Tibetan is an Indic-derived script with: * - Base consonants (Ka, Kha, Ga, etc.) * - Subjoined consonants (below base) * - Vowel signs (above/below) * - Head letters (pre-composed stacks) * - Various combining marks */ /** * Tibetan character categories */ export declare enum TibetanCategory { Other = 0, Base = 1,// Base consonants (Ka-A) Subjoined = 2,// Subjoined consonants (0F90-0FBC) VowelAbove = 3,// Vowel signs above (0F71-0F7D, 0F80-0F83) VowelBelow = 4,// Vowel signs below (0F71, 0F7A-0F7D) ASubjoin = 5,// Subjoined A (0FB0) HeadMark = 6,// Head marks (0F39) Anusvara = 7,// Anusvara/Candrabindu (0F7E, 0F7F, 0F82, 0F83) Halanta = 8,// Halanta (0F84) Digit = 9,// Digits (0F20-0F33) Symbol = 10,// Symbols and punctuation ZWNJ = 11,// Zero Width Non-Joiner ZWJ = 12 } /** * Classify Tibetan codepoint */ export declare function getTibetanCategory(cp: number): TibetanCategory; /** * Tibetan feature masks */ export declare const TibetanFeatureMask: { readonly ccmp: 1; readonly locl: 2; readonly abvs: 4; readonly blws: 8; readonly calt: 16; readonly liga: 32; }; /** * Set up masks for Tibetan shaping */ export declare function setupTibetanMasks(infos: GlyphInfo[]): void; /** * Get default Tibetan features in order */ export declare function getTibetanFeatures(): string[]; /** * Check if script uses Tibetan shaper */ export declare function usesTibetan(script: string): boolean;