Bulgarian typography rules · bg
Български
Bulgarian 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 Bulgarian rules
Edit the text and polytypo typesets it with the bg 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.
Bulgarian typography at a glance #
| Tag | bg |
|---|---|
| Name | Bulgarian |
| Primary quotes | „ U+201E double low-9 quotation mark … “ U+201C left double quotation mark |
| Secondary quotes | „ U+201E double low-9 quotation mark … “ U+201C left double 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 Bulgarian? #
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 Bulgarian use? #
| Primary | „ U+201E double low-9 quotation mark … “ U+201C left double 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
How are apostrophes set in Bulgarian? #
apostrophe
Which dashes does Bulgarian 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 Bulgarian? #
An ellipsis keeps its full form after ! and ?; this locale does not abbreviate it there.
ellipsis
How are hyphens handled in Bulgarian? #
The hyphen lists are empty for this locale, so the hyphen rule changes nothing.
Where does Bulgarian 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) | км кг лв. г. |
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
nbsp
How are symbols set in Bulgarian? #
symbols
How does Bulgarian 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 Bulgarian typography? #
6 citations in spec/locales/bg.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
- Институт за български език (БАН), Езикови справки №2158: after «2011 г.» «пишат се три, а не четири точки»; №2132: «Между многоточие и следваща го дума се оставя шпация.» ibl.bas.bg
abbreviatedAfterTerminal = false is a DECISION, not a citation: no source read states a two-dot form after '?' or '!'. ОПР т. 136.2 («Многоточие с други знаци») is the relevant paragraph but beron.mon.bg answered 403 and it was not read. Verified 2026-10-21.
ranges
- Институт за български език (БАН), Езикови справки, «За означаване на интервал», quoting ОПР (2012) т. 103.4, 117.1, 117.2: «Тирето може се използва за означаване на период от време, когато е налице пропускане на предлог: 2000 – 2010 г., I – II в.»; Езикови справки №1017, ОПР т. 109.4: «13.10. – 20.11.2018 г.»; ИБЕ, «Отново за тиретата» (Ц. Георгиева, Аз Буки бр. 11/2016): ОПР 2012 codifies the long dash with spaces between numbers, replacing the earlier unspaced norm ibl.bas.bg
Supports dash.range = en-spaced (U+0020 U+2013 U+0020), as in sk. The tight form is the pre-2012 norm. Width read from rendered text, so MEDIUM. The ranges rule is off by default. Verified 2026-10-21.
dashes
- Институт за български език (БАН), Езикови справки №572 («При препинателни знаци»): «Пред и след голямо тире има шпация.»; ИБЕ, «За интервалите и препинателните знаци» (2018): spaced тире in «Технически университет – София» ibl.bas.bg
Supports dash.parenthetical = en-spaced: a space on both sides is stated. The width U+2013 is read from IBL's own rendered text, so MEDIUM. The European Commission DGT Bulgarian «Езиков наръчник» (2010, rev. 2011; house style, ranks below IBL) sets U+2014 in its own typesetting. DECISION recorded: U+2013, following the Institute. Verified 2026-10-21.
hyphen
- Институт за български език (БАН), Езикови справки, «Пренасяне на думи на нов ред», citing ОПР (2012) т. 65.1–65.4, 66.1 (syllabic line-break rules) ibl.bas.bg
All three lists are empty: the cited rules govern syllable division and give no closed list of unbreakable hyphenated forms. Verified 2026-10-21.
quotes
- Институт за български език (БАН), Езикови справки, «Други случаи», quoting Официален правописен речник на българския език (2012), т. 135.1.5: «Не се удвояват кавичките, когато ограденият в кавички текст завършва с друг текст, ограден в кавички: стихотворението „Кафене „Славия“.»; ИБЕ, Речник на българския език (онлайн), s.v. «кавички»: «Препинателен знак от две двойки запетайки („ .. “)»; ИБЕ, «За интервалите и препинателните знаци» (Н. Костова, Аз Буки бр. 3/2018): a space before the opening and after the closing quotation mark, none inside ibl.bas.bg
Primary: U+201E open, U+201C close (NOT U+201D as in ro/hu). The code points were read from the rendered IBL text, not from a code-point table, so MEDIUM-HIGH. Secondary equals primary: the т. 135.1.5 example nests with the same „ “ pair, and no ‚ ‘ or « » level is attested for nesting (single quotes appear only for glosses in scientific text, not cited). The ОПР itself (beron.mon.bg) answered HTTP 403 and is cited through the Institute that compiled it; the paragraph numbers come from the IBL answers, the paragraphs were not read. innerSpace none per the IBL spacing article. The ОПР rule against doubling the closing marks is an algorithm and is not expressed in data. ACCEPTED COST of the identical pair: a nest whose inner mark touches the outer one is declined by the quotes rule (the fixtures bg-quotes-nest-* and bg-quotes-decline-spreads pin it, quotes.md §6). Q-W: both pairs are WIDE. elisionIdioms and elisionClitics empty: no apostrophe elision in the standard. Verified 2026-10-21.
nbsp
- Институт за български език (БАН), «За интервалите и препинателните знаци» (2018): «Пред точка, запетая, въпросителен знак, удивителен знак, точка и запетая, двоеточие не се оставя интервал.»; Езикови справки №1601: «Между последната цифра и съкращението се поставя шпация (интервал): 20 лв., също и 5 кг, 10 м, 100 км, 2020 г. и под.»; №626: «В записа 5% няма интервал (шпация) между цифрата и знака за процент.» ibl.bas.bg
(1) beforePunctuation and narrowBeforePunctuation empty: no space before . , ? ! ; :. (2) beforeUnits = км, кг, лв., г.: each attested with a space after a number. This is form evidence only (IBL does not say non-breaking), the same footing as hu and sk, MEDIUM. The single-letter м is excluded by decision. (3) % is excluded: IBL writes 5% unspaced; the DGT house handbook's «4 %» with a non-breaking space ranks below it. (4) abbreviations, beforeNumber, beforeWord, afterSymbols and afterShortWords are empty and initialBinding = none: no source states a rule (IBL says proper names follow ordinary line-break rules). Decision, not citation. Verified 2026-10-21.