Locales

Russian typography rules · ru

Русский

Russian sets primary quotation marks as «…» and secondary quotation marks as „…“. A break in a sentence is written with an em dash (U+2014) with a space on each side; number and date ranges take an em dash (U+2014) with no surrounding spaces. Numbers bind to units such as % ‰ ₽ with U+00A0.

Updated · spec 1.12.0

Run polytypo with Russian rules

Edit the text and polytypo typesets it with the ru locale, in your browser. The code under the form is the call that produces the result.

Runs in your browser. Nothing you paste is sent anywhere.

The call the form above is making, right now

Other locales, and all the options, are in the full playground.

Russian typography at a glance #

Tagru
NameRussian
Primary quotes« U+00AB left-pointing double angle quotation mark … » U+00BB right-pointing double angle quotation mark
Secondary quotes„ U+201E double low-9 quotation mark … “ U+201C left double quotation mark
Parenthetical dashspaced em dash
Range dashunspaced em dash
Rules with citationsquotes, ellipsis, dashes, nbsp, hyphen
Conformance cases89

Which locale tags resolve to Russian? #

The locale option is resolved exactly, then by declared alias, then by dropping the region once; anything else throws POLYTYPO_UNKNOWN_LOCALE.

TagHow it resolves
ruregistered locale
ru-BYregion removed, then the registered locale

Which quotation marks does Russian use? #

Primary« U+00AB left-pointing double angle quotation mark … » U+00BB right-pointing double angle quotation mark — no space inside the marks
Secondary„ U+201E double low-9 quotation mark … “ U+201C left double quotation mark — no space inside the marks

quotes

ru-quotes-nested
Он сказал: "это 'моё' дело".
Он сказал: «это „моё“ дело».
ru-quotes-no-inner-space
Роман «Война и мир»
Роман «Война и мир»
ru-quotes-rock-n-roll
rock 'n' roll
rock ’n’ roll

How are apostrophes set in Russian? #

apostrophe

ru-apostrophe-medial
Джон О'Брайен
Джон О’Брайен
ru-apostrophe-elision-before-guillemet
газета l'"Humanité"
газета l’«Humanité»

Which dashes does Russian use for breaks and ranges? #

Parenthetical break (dash.parenthetical)an em dash (U+2014) with a space on each side
Between numbers and dates (dash.range)an em dash (U+2014) with no surrounding spaces

The dashes rule reads the parenthetical convention. The ranges rule reads the range convention and is off by default.

dashes

ru-dashes-parenthetical-spaced
Москва - столица
Москва — столица
ru-dashes-parenthetical-tight-input
Москва--столица
Москва — столица
ru-dashes-range-roundtrip
в XV—XVII веках
в XV—XVII веках

ranges

The ranges rule is off by default; these cases enable it with rules: { ranges: true }.

ru-ranges-em-tight
Годы 1941-1945 были тяжёлыми
Годы 1941⁠—⁠1945 были тяжёлыми

options: rules: {"ranges": true}

ru-ranges-closed-up-percent
35%-50%
35%⁠—⁠50%

options: rules: {"ranges": true}

How is the ellipsis set in Russian? #

An ellipsis directly after ! or ? is written with two dots rather than three.

ellipsis

ru-ellipsis-abbreviated-after-question
Что?...
Что?..
ru-ellipsis-abbreviated-from-existing
Что?…
Что?..
ru-ellipsis-abbreviated-after-exclamation
Как играли!...
Как играли!..

How are hyphens handled in Russian? #

Morphological forms whose hyphen is bound with U+2011 so it cannot break across lines.

Prefixesкое- кой-
Suffixes-то -либо -нибудь -таки -ка
Compoundsиз-за из-под

hyphen

ru-hyphen-compound-izpod
Достал из-под стола
Достал из‑под стола
ru-hyphen-compound-capitalised
Из-под стола донёсся звук
Из‑под стола донёсся звук
ru-hyphen-compound-izza
Москва — из-за дождя
Москва — из‑за дождя

Where does Russian use no-break spaces? #

Characters that take U+00A0 before them (nbsp.beforePunctuation)none
Characters that take U+202F before them (nbsp.narrowBeforePunctuation)none
Short words after which the space becomes U+00A0, so the word is not left at the end of a line (nbsp.afterShortWords)а в и к о с у во до за из ко на об от по со
Multi-token abbreviations whose internal spaces become U+00A0 (nbsp.abbreviations)и т. д. и т. п. т. е. и др.
Units and signs bound to the preceding number with U+00A0 (nbsp.beforeUnits)% ‰ ₽ °C км см мм кг г. гг. в. вв. тыс. млн млрд
Abbreviations bound to the following number with U+00A0 (nbsp.beforeNumber)none
Abbreviations bound to the following word with U+00A0 (nbsp.beforeWord)ул. пл.
Symbols bound to the following number with U+00A0 (nbsp.afterSymbols)№ §
Initials (nbsp.initialBinding)chain — a sequence of two or more adjacent initials is bound; a lone initial next to an ordinary capitalised word is left alone

spaces

ru-spaces-collapse-run
Привет мир.
Привет мир.
ru-spaces-before-punctuation
Привет , мир !
Привет, мир!
ru-spaces-brackets
текст ( сноска ) далее
текст (сноска) далее

nbsp

ru-nbsp-shortword-after-em-dash
— в Москве
— в Москве
ru-nbsp-short-word
Он живёт в Москве
Он живёт в Москве
ru-nbsp-short-word-capitalised
В Москве идёт дождь
В Москве идёт дождь

How are symbols set in Russian? #

symbols

ru-symbols-copyright
Все права защищены (c) 2026
Все права защищены © 2026
ru-symbols-multiplication-with-unit
Размер 10 x 20 см
Размер 10 × 20 см
ru-symbols-cyrillic-x-converted
Размер 5х4
Размер 5×4

How does Russian text behave in text, HTML and Markdown modes? #

Each input is the locale's sample sentence followed by a code run, say("a -- b ..."). text mode sets the whole string as prose, code run included. In html and markdown mode the code run comes back byte for byte; only the prose is set.

text
Она спросила: "Это не тот магазинчик, который называют 'за углом'?" ... Мы прошли - почти 3 км - и нашли его закрытым, а что-то достали из-под прилавка. Copyright (c) 2026, формат 40x60 см. say("a -- b ...")
Она спросила: «Это не тот магазинчик, который называют „за углом“?» … Мы прошли — почти 3 км — и нашли его закрытым, а что‑то достали из‑под прилавка. Copyright © 2026, формат 40×60 см. say(«a — b …»)
html
<p>Она спросила: "Это не тот магазинчик, который называют 'за углом'?" ... Мы прошли - почти 3 км - и нашли его закрытым, а что-то достали из-под прилавка. Copyright (c) 2026, формат 40x60 см.</p> <pre><code>say("a -- b ...")</code></pre>
<p>Она спросила: «Это не тот магазинчик, который называют „за углом“?» … Мы прошли — почти 3 км — и нашли его закрытым, а что‑то достали из‑под прилавка. Copyright © 2026, формат 40×60 см.</p> <pre><code>say("a -- b ...")</code></pre>
markdown
Она спросила: "Это не тот магазинчик, который называют 'за углом'?" ... Мы прошли - почти 3 км - и нашли его закрытым, а что-то достали из-под прилавка. Copyright (c) 2026, формат 40x60 см. `say("a -- b ...")`
Она спросила: «Это не тот магазинчик, который называют „за углом“?» … Мы прошли — почти 3 км — и нашли его закрытым, а что‑то достали из‑под прилавка. Copyright © 2026, формат 40×60 см. `say("a -- b ...")`

Which sources define Russian typography? #

6 citations in spec/locales/ru.json, grouped by the rule each one supports. A citation names the authority; the note records what the source does and does not settle.

ellipsis

  • Правила русской орфографии и пунктуации (1956), раздел «Многоточие»: после вопросительного или восклицательного знака ставятся не три точки, а две (третья точка стоит под одним из названных знаков) — «Сколько жить ещё на свете?..», «А как вы вчера играли!..» gramota.ru

    То же правило приводит Д. Э. Розенталь, «Справочник по русскому языку. Пунктуация», раздел «Сочетание знаков препинания».

dashes

  • Мильчин А. Э., Чельцова Л. К. «Справочник издателя и автора» и Д. Э. Розенталь, «Справочник по русскому языку»: если интервал передаётся цифрами, между числами ставится тире без отбивки — «5—6 лет», «в XV—XVII веках», «1941—1945 гг.»; тире в предложении отбивается пробелами с обеих сторон gramota.ru

    В русской типографике интервал набирается длинным тире (U+2014) без отбивки; короткое тире (U+2013) в этой роли не используется. Перечисление schema.dash.range изначально допускало только en-*, что не позволяло выразить норму; перечисление расширено значением em-tight, и оно здесь и стоит.

hyphen

  • Правила русской орфографии и пунктуации. Полный академический справочник / под ред. В. В. Лопатина. М., 2006: § 135 — пишутся через дефис местоименные слова с начальной частью (приставкой) кое- (кой-) и с конечными частями (постфиксами) -либо, -нибудь, -то; § 141 п. 2 — сложные предлоги из-за, из-под (а также диалектные по-за, по-над); § 141 п. 3 и § 143 — частицы -де, -ка, -те, -то, -с и -таки (всё-таки, опять-таки, прямо-таки, так-таки) orthographia.ru

    Тексты §§ 135, 141, 143 и 219 прочитаны по онлайн-изданию справочника. Эти параграфы нормативны для СОСТАВА форм, но не для запрета переноса, и это важно не смешивать: § 219 («не подлежат переносу») называет только аббревиатуры из прописных букв, графические сокращения (б-ка, ж.-д.) и наращения (20-й); слов с дефисом там нет, а правило повторять дефис в начале перенесённой части (военно-/-морской) справочник даёт как факультативное. Значит, связывание дефиса неразрывным U+2011 — решение проекта (docs/PLAN.md §3.3), а не орфографическая норма; его практическое обоснование то же, что у факультативного правила: при переносе по дефису теряется различие слитного и дефисного написания. Диалектные и просторечные по-за, по-над, для-ради, за-ради не внесены как непродуктивные. Класс графических сокращений из § 219 (б-ка, ж.-д., р/сч) нормативно неразрывен, но перечислить его литеральным списком нельзя, поэтому он здесь не отражён. Из § 143 взята также частица -ка; -де, -с, -те опущены как архаичные и редкие.

quotes

  • Правила русской орфографии и пунктуации. Полный академический справочник / под ред. В. В. Лопатина. М., 2006, раздел «Знаки препинания при прямой речи и цитатах»: в печатном тексте внешние кавычки — «ёлочки», внутренние — „лапки“ gramota.ru

    Страница «Грамоты» отдаёт 403 автоматическому клиенту; правило подтверждено по её индексируемому изложению и совпадает с рекомендацией Мильчина и Чельцовой («Справочник издателя и автора»). Номер параграфа не указан, поскольку сверить его по бумажному изданию не удалось — приводить непроверенный номер было бы хуже, чем его отсутствие.

nbsp

  • Мильчин А. Э., Чельцова Л. К. «Справочник издателя и автора»: неразрывный пробел ставится между инициалами и между инициалами и фамилией («А. С. Пушкин»), после однобуквенных предлогов и союзов, между знаками № и § и относящимися к ним числами, между числом и относящейся к нему единицей измерения или счётным словом («1981 г.», «5 млн»), а также внутри сокращений «и т. д.», «и т. п.», «т. е.» orfogrammka.ru

    Список afterShortWords сознательно ограничен однобуквенными предлогами и союзами (а, в, и, к, о, с, у) и однозначными двухбуквенными предлогами (во, до, за, из, ко, на, об, от, по, со). Частицы и союзы «не», «ни», «но», «же», «ли», «бы» не включены: правило для них — рекомендация вёрстки, а не норма, и связывание их даёт заметный риск ложных срабатываний. Префиксные сокращения из строки «ru» в docs/PLAN.md §7 («г.», «ул.») с появлением beforeWord и N10 стали выразимы: «ул.» и «пл.» перечислены там, обоснование — в следующей записи. «г.» остаётся невыразимым, но не из-за формы поля: здесь оно помещено в beforeUnits в значении «год» после числа («2020 г.»), а в значении «город» связывается вправо, и литеральный список эти два смысла не различает.

  • «Технические правила набора», раздел «Общие требования к набору», п. 5: «Отбиваются слова от имен собственных, к которым они относятся (ул. Советская)»; раздел «Переносы», п. 4: «Не должны быть отделены при переносе из одной строки в другую: а) фамилии от инициалов или один инициал от другого; б) сокращенные слова имен собственных, к которым они относятся, например: тов. Сергеева, г. Гомель, пл. Ленина; … г) арабские или римские цифры от их сокращенных или полных наименований, например: 2010 г., 800 руб., 50 куб. см, XX век; д) знаки и обозначения (№, §, % и т. п.) от следующих за ними цифр» old.gsu.by

    Текст сверен по самому PDF; это издательский свод технических правил набора (Гомельский госуниверситет), то есть опубликованное изложение отраслевых правил (Мильчин, ОСТ 29.115-88), а не первоисточник: главу «Технические правила набора и вёрстки» у Мильчина проверить онлайн не удалось (доступное издание 1998 г. содержит только части 1—3 без этой главы). Пункт 4б — единственное найденное нормативное основание для beforeWord. «г.» в этот список сознательно НЕ включено: «г.» нормативно связывается и влево как «год» (п. 4г, «2010 г.», уже отражено в beforeUnits), и вправо как «город» (п. 4б, «г. Гомель»), а литеральный список без контекста эти два случая не различает — во фразе «в 1147 г. Москва была основана» правило beforeWord склеило бы «г.» с «Москва» через границу оборота. Различить их можно, только посмотрев влево на цифру и вправо на топоним, то есть по контексту, чего декларативный список не выражает. По той же причине не включены «гг.», «в.», «вв.». Оставлены «ул.» и «пл.» — однозначные топонимические сокращения, и обе формы процитированы дословно: «пл. Ленина» в «Переносах» п. 4б, «ул. Советская» в «Общих требованиях к набору» п. 5. «д.», «стр.», «корп.», «кв.» относятся к следующему ЧИСЛУ, а не к слову, поэтому в beforeWord им не место. Для «стр.» есть и более сильное основание, проверенное по изданию 1998 г. при разборе issue #30: § 4.4.4 («Сокращения при внутритекстовых ссылках и сопоставлениях») пишет дословно: «Ранее широко применявшееся сокращение стр. (страница) рекомендуется заменять сокращением с., поскольку оно закреплено ГОСТ 7.12—93, а две формы сокращения одного слова нарушают принцип единообразия». То есть источник не просто молчит о пробеле — он не рекомендует саму форму. Там же: «Все сокращения, кроме см. и ср., употребляются только в сочетании с цифрами или буквами», что подтверждает состав списка, но о самой отбивке по-прежнему не говорит. beforeNumber пуст, и это подтверждённое отсутствие правила, а не ненайденная цитата: перечень «Переносов» п. 4 закрытый и исчерпывающий, он содержит обратное направление (п. 4г, «2010 г.») и знаки (п. 4д, «№ 75»), но конструкции «сокращение + следующее число» в нём нет. Мильчин, «Справочник издателя и автора», § 9.1.1 («Употребление в ссылках сокращений слов и условных сокращений»: «Книговедческие термины при цифровых номерах или литерах рекомендуется для экономии места сокращать») нормирует, КАКОЕ сокращение писать перед числом, но о пробеле не говорит ничего. Страница «Орфограммки» с примером «гл. IV» отвергнута: она ссылается только на Википедию и Хабр.

Already using polytypo? Add our badge

Two lines: a script tag and a span. No per-embed network call. Pick a language and a theme, then copy the code into your footer or credits. Embedding notes cover Content Security Policy. Sites with the badge are listed on Sites using polytypo.

<script async src="https://polytypo.dev/badge.js"></script>
<span data-polytypo-lang="en" data-polytypo-theme="light"></span>

Search runs in your browser. Nothing is sent anywhere.