Locales

Serbian typography rules · sr

Српски

Serbian sets primary quotation marks as „…” and secondary quotation marks as ’…’. A break in a sentence is written with an en dash (U+2013) with a space on each side; number and date ranges take an en dash (U+2013) with no surrounding spaces.

Updated · spec 1.16.0

Run polytypo with Serbian rules

Edit the text and polytypo typesets it with the sr 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.

Serbian typography at a glance #

Tagsr
NameSerbian
Primary quotes„ U+201E double low-9 quotation mark … ” U+201D right double quotation mark
Secondary quotes’ U+2019 right single quotation mark … ’ U+2019 right single quotation mark
Parenthetical dashspaced en dash
Range dashunspaced en dash
Rules with citationsquotes, dashes, ranges, ellipsis, hyphen, nbsp
Conformance cases21

Which locale tags resolve to Serbian? #

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

Which quotation marks does Serbian use? #

Primary„ U+201E double low-9 quotation mark … ” U+201D right double quotation mark — no space inside the marks
Secondary’ U+2019 right single quotation mark … ’ U+2019 right single quotation mark — no space inside the marks

quotes

sr-quotes-primary
Рекао је: "да" и отишао.
Рекао је: „да” и отишао.
sr-quotes-primary-latin
Rekao je: "da" i otišao.
Rekao je: „da” i otišao.
sr-quotes-nested-secondary
Рекао је: "песма 'Лепа' је" и отишао.
Рекао је: „песма ’Лепа’ је” и отишао.

How are apostrophes set in Serbian? #

apostrophe

sr-apostrophe-foreign-name
То је McDonald's
То је McDonald’s

Which dashes does Serbian use for breaks and ranges? #

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

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

dashes

sr-dashes-parenthetical
Идемо - ако пада - касније.
Идемо – ако пада – касније.
sr-dashes-existing-em-dash
Идемо — ако пада — касније.
Идемо – ако пада – касније.

ranges

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

sr-ranges-digits-tight
рат 1941-1945 и стр. 145-162
рат 1941⁠–⁠1945 и стр. 145⁠–⁠162

options: rules: {"ranges": true}

How is the ellipsis set in Serbian? #

An ellipsis keeps its full form after ! and ?; this locale does not abbreviate it there.

ellipsis

sr-ellipsis-three-dots
Чекај... шта?
Чекај… шта?
sr-ellipsis-not-abbreviated
Шта?.. да
Шта?… да

How are hyphens handled in Serbian? #

The hyphen lists are empty for this locale, so the hyphen rule changes nothing.

Where does Serbian 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)none
Multi-token abbreviations whose internal spaces become U+00A0 (nbsp.abbreviations)none
Units and signs bound to the preceding number with U+00A0 (nbsp.beforeUnits)none
Abbreviations bound to the following number with U+00A0 (nbsp.beforeNumber)none
Abbreviations bound to the following word with U+00A0 (nbsp.beforeWord)none
Symbols bound to the following number with U+00A0 (nbsp.afterSymbols)none
Initials (nbsp.initialBinding)none — disabled: initials are never bound to the name that follows

spaces

sr-spaces-brackets
Текст ( нормалан ) остаје .
Текст (нормалан) остаје.

How are symbols set in Serbian? #

symbols

sr-symbols-copyright
Copyright (c) 2026
Copyright © 2026

How does Serbian 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 Serbian typography? #

6 citations in spec/locales/sr.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

  • Д. Кликовац, Српска интерпункција, Филолошки факултет Универзитета у Београду, 2024 (серија «Монографије – језик»), ISBN 978-86-6153-752-3, analysing Пешикан/Јерковић/Пижурица, Правопис српскога језика, Матица српска, Нови Сад, 2010, p. 136 (table 1, fn. 5) and p. 164 (§12.1) www.fil.bg.ac.rs

    abbreviatedAfterTerminal = false is a DECISION, not a citation. 2010 gives three dots closed up (p. 136) and allows them after ? and ! (p. 164); the two-dot form after a terminal appears only as older practice (Мирко Николић 1973, p. 136 fn. 5) and is never prescribed. MEDIUM. The Pravopis 2010 itself was not read (paid); every statement is the edition of 2010 as Klikovac reports it. The PDF has no text layer and was read as page images. Retrieved 2026-10-24.

ranges

  • Д. Кликовац, Српска интерпункција, Филолошки факултет Универзитета у Београду, 2024 (серија «Монографије – језик»), ISBN 978-86-6153-752-3, analysing Пешикан/Јерковић/Пижурица, Правопис српскога језика, Матица српска, Нови Сад, 2010, pp. 330–331 www.fil.bg.ac.rs

    dash.range = en-tight. A dash between numbers is written closed up (Пешикан 1993:278, Пижурица 2010:126, Дешић 2015): «рат 1941–1945», «у XV–XVIII веку». ACCEPTED COSTS: a multi-word range member takes spaces in 2010:126–127 («рат 6. IV 1941 – 9. V 1945»), and the rule «од … до» (no dash after «од») is an algorithm, not data; locale data can express neither. The ranges rule is off by default. The Pravopis 2010 itself was not read (paid); every statement is the edition of 2010 as Klikovac reports it. The PDF has no text layer and was read as page images. Retrieved 2026-10-24.

dashes

  • Д. Кликовац, Српска интерпункција, Филолошки факултет Универзитета у Београду, 2024 (серија «Монографије – језик»), ISBN 978-86-6153-752-3, analysing Пешикан/Јерковић/Пижурица, Правопис српскога језика, Матица српска, Нови Сад, 2010, pp. 302, 320 (table 8), 328 www.fil.bg.ac.rs

    dash.parenthetical = en-spaced. The spaces are normative: the separating dash is set as a spaced mark (Пешикан и др. 1993, p. 328; 2010:122 confirms the function and every example is set spaced). The WIDTH is a DECISION: p. 302 says the dash should be about twice as long as the hyphen or more, which does not choose between U+2013 and U+2014; the monograph sets U+2013. MEDIUM, as hr and bg. Klikovac's p. 328 cites «Пижурица и др. (1993: 126)», probably a misprint for 2010; noted, not corrected. The Pravopis 2010 itself was not read (paid); every statement is the edition of 2010 as Klikovac reports it. The PDF has no text layer and was read as page images. Retrieved 2026-10-24.

hyphen

  • Д. Кликовац, Српска интерпункција, Филолошки факултет Универзитета у Београду, 2024 (серија «Монографије – језик»), ISBN 978-86-6153-752-3, analysing Пешикан/Јерковић/Пижурица, Правопис српскога језика, Матица српска, Нови Сад, 2010, (not consulted) www.fil.bg.ac.rs

    All three lists are empty: no source consulted gives a closed list of unbreakable hyphenated forms. The 2010 Pravopis chapters on word division were not consulted. Operator decision (no paid sources, pick and pin): ship empty. The Pravopis 2010 itself was not read (paid); every statement is the edition of 2010 as Klikovac reports it. The PDF has no text layer and was read as page images. Retrieved 2026-10-24.

quotes

  • Д. Кликовац, Српска интерпункција, Филолошки факултет Универзитета у Београду, 2024 (серија «Монографије – језик»), ISBN 978-86-6153-752-3, analysing Пешикан/Јерковић/Пижурица, Правопис српскога језика, Матица српска, Нови Сад, 2010, pp. 343–345 (table 5) and 360–363 (table 11) www.fil.bg.ac.rs

    Primary: U+201E open, U+201D close. p. 343, table 5: «Пижурица и др. 2010: „ ” (То је једини облик који је наведен у наслову.)»; p. 344: the 2010 Pravopis prescribes and uses only this form. Secondary: U+2019 on both sides (the same-glyph pair of fi and sv), p. 361, table 11: «Полунаводницима се издваја ужи навод у оквиру ширег навода» (2010:135); p. 363 fn. 30 notes the form ‘ ’ at 2010:135 as «вероватно грешком». innerSpace none for both. CONFLICT, recorded not resolved: Пешикан и др. 1993:286 also allowed „ “ and » «; the dictionaries РМС, РСАНУ and РСЈ use „ “ (p. 345); Klikovac and Milanović 2019 argue for „ “ or free choice. U+201D follows the current Pravopis, as hr does. Q-W: primary WIDE, secondary NARROW. The secondary U+2019/U+2019 is a DECISION (MEDIUM): table 11 attributes ’ ’ to 2010, but fn. 30 reports ‘ ’ (U+2018/U+2019) printed at 2010:135 and calls it probably a mistake without the note stating which form Klikovac holds correct; pinned as U+2019 both sides, the form table 11 gives. The issue text «„…“ / „…”» was an observation, not a norm. elisionIdioms and elisionClitics are empty: no rule found. Confidence MEDIUM-HIGH: the glyph form is named in words by Klikovac, not read from a text layer. The Pravopis 2010 itself was not read (paid); every statement is the edition of 2010 as Klikovac reports it. The PDF has no text layer and was read as page images. Retrieved 2026-10-24.

nbsp

  • Д. Кликовац, Српска интерпункција, Филолошки факултет Универзитета у Београду, 2024 (серија «Монографије – језик»), ISBN 978-86-6153-752-3, analysing Пешикан/Јерковић/Пижурица, Правопис српскога језика, Матица српска, Нови Сад, 2010, (not consulted) www.fil.bg.ac.rs

    Every list is empty and initialBinding is none: no source consulted gives a rule for a space between a number and a unit or percent sign, for one-letter words or initials at a line end. Nothing is derived from another language. The 2010 Pravopis chapters on numbers and word division were not consulted. Operator decision (no paid sources, pick and pin): ship empty. The Pravopis 2010 itself was not read (paid); every statement is the edition of 2010 as Klikovac reports it. The PDF has no text layer and was read as page images. Retrieved 2026-10-24.

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.