/** * Words of a joining script (Arabic, Syriac, N'Ko, Mongolian, Adlam…) stay * whole: their letters connect, and the shape of each letter depends on * its neighbours. A piece of such a word measured alone has the wrong * width (in Amiri `مكت` alone is wider than the whole `مكتبة`), and painted * alone it shows the wrong letter forms. So the measurer never hyphenates * one, never cuts one between letters, never measures a prefix of one, and * never spreads letter-spacing on one (tracking breaks the joins on every * renderer, as CSS `letter-spacing` does). See engine-ltr-audit §1.3–1.4 * and §2.2. * * The predicates here are the measurer's gate: they cost one comparison * per UTF-16 unit for text with nothing past U+05FF (every Latin, Greek, * Cyrillic, Hebrew or CJK word), which never holds a joining letter. */ /** Whether `text` holds a letter of a joining script (dual-, right- or * left-joining, see `hasJoiningScript`): a word to keep whole and set * without tracking. */ export declare function joiningScriptIn(text: string): boolean; /** * Whether a cut before `text[idx]` falls inside a word of a joining script: * between two of its letters (whether or not those two connect: an Arabic * word is not divided at a line end either way), or before a mark, which * stays with its letter. A cut between an Arabic word and a Latin one or a * digit run glued to it (`ABCكتاب`, `و2020`) is not inside one. */ export declare function insideJoiningWord(text: string, idx: number): boolean; /** * Whether most of a paragraph's letters belong to a joining script: an * Arabic paragraph, which no tracking lever may reach (column balancing's * paragraph tracking, the runt fix's negative tracking). Those levers then * fall through to the others. A Latin paragraph quoting an Arabic word * keeps them: the quoted word alone is set without tracking. */ export declare function mostlyJoiningScript(text: string): boolean; /** The tracking (letter-spacing) a word of `text` takes, `letterSpacingPx` * after each grapheme: none on a word of a joining script. */ export declare function wordLetterSpacing(text: string, letterSpacingPx: number): number; //# sourceMappingURL=joining.d.ts.map