Croatian typography rules · hr
Hrvatski
Croatian 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 a space on each side. Numbers bind to units such as % ‰ € with U+00A0.
Run polytypo with Croatian rules
Edit the text and polytypo typesets it with the hr locale, in your browser. The code under the form is the call that produces the result.
The call the form above is making, right now
Other locales, and all the options, are in the full playground.
Croatian typography at a glance #
| Tag | hr |
|---|---|
| Name | Croatian |
| Primary quotes | „ U+201E double low-9 quotation mark … ” U+201D right double quotation mark |
| Secondary quotes | ‘ U+2018 left single quotation mark … ’ U+2019 right single quotation mark |
| Parenthetical dash | spaced en dash |
| Range dash | spaced en dash |
| Rules with citations | quotes, dashes, ranges, ellipsis, hyphen, nbsp |
| Conformance cases | 29 |
Which locale tags resolve to Croatian? #
The locale option is resolved exactly, then by declared alias, then by dropping the region once; anything else throws POLYTYPO_UNKNOWN_LOCALE.
| Tag | How it resolves |
|---|
Which quotation marks does Croatian use? #
| Primary | „ U+201E double low-9 quotation mark … ” U+201D right double quotation mark — no space inside the marks |
|---|---|
| Secondary | ‘ U+2018 left single quotation mark … ’ U+2019 right single quotation mark — no space inside the marks |
quotes
How are apostrophes set in Croatian? #
apostrophe
Which dashes does Croatian 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 a space on each side |
The dashes rule reads the parenthetical convention. The ranges rule reads the range convention and is off by default.
dashes
ranges
The ranges rule is off by default; these cases enable it with rules: { ranges: true }.
options: rules: {"ranges": true}
options: rules: {"ranges": true}
options: rules: {"ranges": true}
How is the ellipsis set in Croatian? #
An ellipsis keeps its full form after ! and ?; this locale does not abbreviate it there.
ellipsis
How are hyphens handled in Croatian? #
The hyphen lists are empty for this locale, so the hyphen rule changes nothing.
Where does Croatian 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) | dipl. ing. d. o. o. |
Units and signs bound to the preceding number with U+00A0 (nbsp.beforeUnits) | % ‰ € °C kg |
Abbreviations bound to the following number with U+00A0 (nbsp.beforeNumber) | str. |
Abbreviations bound to the following word with U+00A0 (nbsp.beforeWord) | none |
Symbols bound to the following number with U+00A0 (nbsp.afterSymbols) | § |
Initials (nbsp.initialBinding) | none — disabled: initials are never bound to the name that follows |
spaces
nbsp
How are symbols set in Croatian? #
symbols
How does Croatian 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.
Which sources define Croatian typography? #
6 citations in spec/locales/hr.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
- Institut za hrvatski jezik i jezikoslovlje, Hrvatski pravopis (online edition), 8.10 Trotočka (uses a–d, e.g. «Popio bih… kavu.»); 8.3 Upitnik pravopis.hr
abbreviatedAfterTerminal = false is a DECISION, not a citation: neither 8.10 nor 8.3 states a two-dot form after '?' or '!'. Verified 2026-10-21.
ranges
- Institut za hrvatski jezik i jezikoslovlje, Hrvatski pravopis (online edition), 8.14 Crtica: «pri izražavanju raspona ili u značenju ‘od – do’: 2010. – 2012., autocesta Split – Zagreb»; «Pri bilježenju stranica u bibliografskim podatcima crtica se piše bez bjelina: str. 145–162.»; 8.1 Bjelina: «ispred i iza crtice: Posjeti: 15 – 17» pravopis.hr
Supports dash.range = en-spaced. ACCEPTED COST: bibliographic page ranges are tight per the same paragraph, and locale data cannot select by context, so the rule will space them. The ranges rule is off by default. Year ranges carry an ordinal period (2010.), so the flank is U+002E rather than a digit; see the fixtures hr-ranges-* for the measured behaviour. Verified 2026-10-21.
dashes
- Institut za hrvatski jezik i jezikoslovlje, Hrvatski pravopis (online edition), 8.14 Crtica: «Crtica ( – ) pravopisni je znak koji se piše s bjelinama slijeva i zdesna.» pravopis.hr
Supports dash.parenthetical = en-spaced (U+0020 U+2013 U+0020). The width U+2013 was read from rendered text; 8.14 does not mention U+2014. MEDIUM-HIGH. Verified 2026-10-21.
hyphen
- Institut za hrvatski jezik i jezikoslovlje, Hrvatski pravopis (online edition), 8.13 Spojnica, rule 6: «Ako se riječi koje se pišu sa spojnicom ipak prenose u novi redak, spojnica se zapisuje i na početku novoga retka: hrvatsko- / -engleski rječnik.» pravopis.hr
All three lists are empty. Breaking at a hyphen is explicitly provided for, and no closed list of unbreakable hyphenated forms exists. Verified 2026-10-21.
quotes
- Institut za hrvatski jezik i jezikoslovlje, Hrvatski pravopis (online edition), 8.16 Navodnici: «Navodnici su pravopisni znakovi koji se pojavljuju u paru.» «Imaju dva oblika: „...” i »...«.» «Iza prvoga i ispred drugoga navodnika ne piše se bjelina.»; 8.17 Polunavodnici: «Polunavodnici su pravopisni znakovi koji se pojavljuju u paru (‘...’).» — „Himna je Republike Hrvatske ‘Lijepa naša domovino’.”; 8.18 Izostavnik: «Drž’te ga!», «Je l’ došao?» pravopis.hr
Primary: U+201E open, U+201D close (as in ro/hu, NOT U+201C as in cs/sk/de/bg). 8.16 gives two forms unranked: „…” and »…« (U+00BB open, U+00AB close). U+201E/U+201D is a DECISION, supported by every example on the site (8.16, 8.16.1, 8.17, 8.1). Secondary: U+2018 open, U+2019 close, stated in 8.17 for a quotation inside a quotation; it differs from the primary and is not the low U+201A. innerSpace none for both, per 8.16 and 8.17. Q-W: primary WIDE, secondary NARROW. Code points were read from rendered pravopis.hr text, consistently across four pages, so MEDIUM-HIGH. elisionIdioms and elisionClitics are empty: 8.18 lists both U+2019 and U+0027 and gives no closed set of forward-attaching fragments (l’, al’ stand before a space). Verified 2026-10-21. Not cross-checked against Matica hrvatska (Babić–Moguš) or the EU DGT Croatian guide.
nbsp
- Institut za hrvatski jezik i jezikoslovlje, Hrvatski pravopis (online edition), 8.1 Bjelina: no space before . ? ! , … ; : ?! !? («U koliko je sati ručak?»); «između broja i znaka za mjernu jedinicu: 3 kg, 2 m, 220 V, 60 W, 5 °C»; «između broja i znaka za postotak i promil: 50 %, 62,5 %, 0,5 ‰»; «između broja i oznake novčane jedinice: 99,90 €, 34 kn»; «između oznake za članak i broja: § 25.»; no space «između broja i oznake za kutni stupanj, minutu i sekundu»; 8.19.11: «Znak za postotak bjelinom se odvaja od broja: 63 %.»; 8.19.8: «Znak za članak bjelinom se odvaja od broja.»; 8.13 Spojnica, rule 6: «Treba izbjegavati rastavljanje stranih riječi i imena, složenih kratica (dipl. ing., d. o. o.), složenih pokrata (CD-RW), mrežnih adresa i riječi koje se pišu sa spojnicom.» pravopis.hr
(1) beforePunctuation and narrowBeforePunctuation are empty: a stated negative, not silence. (2) beforeUnits = %, ‰, €, °C, kg: each is attested with a space after the number; form evidence, sufficient per nbsp.md §2. DECISIONS: single-letter m, V and W are excluded (as in sk and bg); kn is excluded as defunct; bare ° is never listed, since angular degrees are closed up; km, cm and mm are not attested on pravopis.hr and are not added. (3) afterSymbols = §. (4) abbreviations = dipl. ing., d. o. o.: 8.13 states a line-break intent for exactly these two complex abbreviations (MEDIUM-HIGH). The other spaced forms of 7.1 (d. d., dr. sc., i dr. and so on) are not listed: extending the intent to them would be a derivation, not a citation. (5) beforeNumber = str., form only, from «str. 145–162» in 8.14; a decision, MEDIUM. (6) afterShortWords is empty: no online section states a rule for one-letter prepositions or conjunctions at line end (8.13 rule 2 concerns syllable division only); the print chapter on end-of-line division was not read. (7) beforeWord is empty and initialBinding = none: 7.3 and 8.1 give only the spaced form of initials and say nothing about line breaks. Decisions, not citations. Verified 2026-10-21.