/* Урду-типографика для подпапки /ur/ сайта megapari-pakistan.net.

   Начертания взяты у megapari-morocco.bet без изменений — там та же задача:
   арабское письмо в подпапке, английский корень остаётся на фирменных
   Druk и Gilroy. Поэтому токены переопределяются под [dir="rtl"], а не
   глобально: иначе английские страницы тоже уехали бы на Cairo.

   В наших фирменных начертаниях арабского письма нет НИ ОДНОГО знака —
   это измерено fontTools на drukwide-700, druktext-700 и всех начертаниях
   Gilroy: 0 арабских кодовых позиций из ~215. Урду, набранный ими,
   подменяется молча тем, что случилось на устройстве, — а это хуже
   некрасивого шрифта: на каждом телефоне выходит свой.

   Покрытие проверено отдельно, потому что урду это не арабский: у него
   свои буквы — ٹ ڈ ڑ ں ہ ھ ے ی ک گ ژ پ چ ۓ ؤ ئ. Все шестнадцать есть в
   cairo-400-arabic.woff2 (302 глифа в cmap). Без этой проверки они
   подменились бы поодиночке, и заметить это на странице почти нельзя.

   Cairo — насх, а традиционный стиль урду это насталик (Noto Nastaliq
   Urdu). Выбран насх, и это осознанный размен: Cairo уже лежит у нас
   самохостом на двух сайтах, проверен и держит одно семейство на всех
   наших страницах арабского письма; насталик же требует своего файла на
   несколько мегабайт и другой межстрочной метрики, иначе строки налезают
   друг на друга. Сменить — это правка трёх токенов в конце файла и
   ничего больше.

   Cairo, SIL Open Font License 1.1, Copyright the Cairo Project Authors
   (https://github.com/Gue3bara/Cairo). Самохостом, а не ссылкой: таблица
   стилей Google Fonts это сторонний запрос на каждой загрузке страницы.
*/
/* Два файла вместо восьми, и вес задан диапазоном.

   У марокканского и египетского сайтов лежит по восемь файлов: cairo-400,
   600, 700 и 900, отдельно арабские и латинские. Проверено хэшами — все
   четыре арабских побайтово одинаковы, и все четыре латинских тоже. Это
   один вариативный шрифт (в нём есть таблица fvar, usWeightClass=400),
   разложенный под четырьмя именами: 246 КБ вместо 62 КБ и четыре записи
   там, где нужна одна.

   Здесь он объявлен так, как вариативный шрифт и объявляется: одно
   правило на файл и `font-weight: 400 900` диапазоном. Браузер сам
   ставит ось wght в нужное значение.

   Живые сайты не тронуты: там это работает, и менять типографику двух
   работающих сайтов ради экономии килобайтов — размен не в нашу пользу.
   Когда до них дойдут руки, чинится тем же способом.
*/
@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url('/assets/fonts/cairo/cairo-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url('/assets/fonts/cairo/cairo-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

[dir="rtl"] {
  --font-display: 'Cairo', 'Noto Sans Arabic', system-ui, sans-serif;
  --font-accent: 'Cairo', 'Noto Sans Arabic', system-ui, sans-serif;
  --font-ui: 'Cairo', 'Noto Sans Arabic', system-ui, sans-serif;
}

/* Урду, как и арабский, не знает регистра, и `text-transform: uppercase` на нём — пустая
   операция, которая при этом ломает межбуквенный ритм вязи, если к ней
   приложен `letter-spacing` от латинского заголовка. Снимаем оба там, где
   донорский скин их ставит. */
[dir="rtl"] h1,
[dir="rtl"] h2,
[dir="rtl"] h3,
[dir="rtl"] .btn,
[dir="rtl"] .button {
  text-transform: none;
  letter-spacing: normal;
}

/* Цифры западные, решено один раз. Урду знает и восточноарабские
   (۱۲۳), но коэффициенты, лимиты и даты обязаны совпадать между собой,
   а касса оператора показывает западные. */
:root:lang(ur) {
  font-variant-numeric: lining-nums;
}
