Komms Haus sekoPrototype

RTL and bidi rule sheet

The list in brief §8 as a checklist the build runs. Sorani is the origin; the LTR edition is the RTL edition with dir changed and the Latin stack applied.

RuleHow the prototype does itStatus
All layout in logical propertiesinline-start / margin-inline / text-align: start; no left/right in layout CSS (grep src/css: 0 hits)pass
Mirroredreading order · progress bar edge (:dir(rtl) transform-origin) · pull-quote margin (float: inline-end) · chevrons and arrows (.i--flip) · dossier prev/next · portrait position in the byline (logical order) · table column order · paginationpass
Not mirroredmedia controls · the mark (Sorani wordmark first in both directions) · numerals · phone numbers · ISBNs · URLs (span.ltr) · codepass
Latin runs isolated<bdi class="latin" dir="ltr"> at build for names, titles, URLs inside Arabic-script text; the bidi test paragraph (9373 §3) exercises a Latin title, a year, a URL and a Sorani parenthesis in one sentencepass · see /ckb/وتار/قەیرانی-ڕاستگۆیی-لە-میدیای-کوردیدا/
Numerals per editionArabic-Indic for ckb, kmr-Arab, ar; Persian for fa; Western for Latin editions; dates through Intl (Levantine month names for ckb); the same date renders in the four forms on the docs microcopy pagepass
PunctuationArabic comma and question mark in Arabic-script editions; « » quotes; Persian ، and ؛; locale quotes for Latin editions („ “ de, « » fr, ” ” sv)pass · citation block uses q()
No justification · no hyphenation in Arabic scripttext-wrap: balance on headlines, pretty on standfirsts and paragraphspass
Kurmancî lettersÇ Ê Î Ş Û checked in Literata and Plex at every size (latin-ext subsets shipped)specimen on the tokens page
Bahdinisame Amiri joins as Sorani; the kmr-Arab edition uses the Sorani stack and date formatstack shared
Cyrillic (ru)Literata and Plex carry Cyrillic (subsets shipped); Russian quotation marks « » and the em dashspecimen on the tokens page
Visual diff RTL/LTRthe LTR prototype is generated from the same templates with dir and the type stack changed; the diff shows mirroring and script onlyby construction
Fontssubset per script, self-hosted WOFF2 with font-display: swap and a system fallback stack; no runtime request to Google Fontspass · src/assets/fonts