Bulgarian Cyrillic: Letters, Letterforms and Fonts
Same letters, two styles: в д т л ш ю (Russian forms) and в д т л ш ю (Bulgarian forms). Same Unicode characters; the font and the lang="bg" tag decide the shape.
Bulgarian Cyrillic is the 30-letter form of the Cyrillic alphabet used for Bulgarian, without the Russian letters ы, э and ё. It is also known for local lowercase letterforms: т looks like m and и like u. Fonts display these through the OpenType locl feature when text is tagged lang="bg".
Bulgarian Cyrillic is the version of the Cyrillic alphabet used to write Bulgarian: 30 letters, from А to Я, with no ы, э or ё. The term also has a second, typographic meaning. In Bulgaria, many lowercase letters are commonly printed in rounder, handwriting-based shapes that differ from the Russian forms most fonts show by default. This page covers both.
If you want the letters themselves, start with the Bulgarian letters guide. Here we look at how they are drawn, how fonts handle them, and how to get the right shapes on a web page.
The Bulgarian Cyrillic alphabet
Modern Bulgarian uses 30 letters. The 1945 spelling reform removed two older letters, the yat (ѣ) and the big yus (ѫ); the letter count page explains what changed. Compared with Russian, Bulgarian has no ы, э or ё, and it uses two letters differently: ъ is a full vowel and щ is pronounced [ʃt], “sht”. There is also the accented form ѝ, which is not a separate letter but a way to write the pronoun “her” so it is not confused with и (“and”).
Every one of these letters uses the same Unicode code points as in Russian or Ukrainian. Bulgarian т and Russian т are the same character, U+0442. The difference in appearance is entirely up to the font.
Bulgarian Cyrillic letterforms
Russian typefaces usually draw lowercase Cyrillic as smaller copies of the capitals: т looks like a small T, л like a small Л. Bulgarian typographic tradition draws many lowercase letters from handwriting instead. The result has more ascenders and descenders, which brings the lowercase closer in rhythm to Latin text. Type designer Krista Radoeva makes the same point in her article on Cyrillic variations.
The middle column below uses the site’s Bulgarian-form font. The left column is tagged as Russian, the middle as Bulgarian. If both look the same, your device is falling back to a font without Bulgarian forms.
| Russian-style form | Bulgarian form | What to look for |
|---|---|---|
| в | в | Rises above the other lowercase letters, with a rounded top, a bit like Latin b |
| д | д | Rounded bowl with a tail below the line, close to Latin g |
| ж | ж | Middle stroke rises above the x-height like an ascender |
| и | и | Shaped like Latin u |
| й | й | Like u with a breve: ŭ |
| к | к | Tall stem, like Latin k |
| л | л | A pointed arch, like an upside-down v |
| п | п | Shaped like Latin n |
| т | т | Shaped like Latin m |
| ц | ц | Like u with a small tail |
| ш | ш | Like an upside-down m |
| щ | щ | Like ш with a small tail |
| ъ ь | ъ ь | Tall stem with a bowl, like Latin b |
| ю | ю | Tall stem joined to a round o |
Not every Bulgarian publication uses these shapes. Road signs, official forms and many websites still use Russian-style fonts, simply because those are the defaults. Both styles are correct Bulgarian; the Bulgarian forms are a typographic preference with a strong local following, not a spelling rule. Handwritten forms differ again, see Bulgarian cursive.
How fonts switch to Bulgarian forms: OpenType locl
A font can store both Russian and Bulgarian shapes for the same character. The OpenType feature that swaps between them is called locl (localized forms). Microsoft’s OpenType specification uses Bulgarian as its example: “several letters in the Bulgarian and Serbian alphabets have forms distinct from their Russian counterparts.” The feature description says it should always be applied, driven by the text’s language rather than a user switch.
In practice that means three things must line up:
- The font includes Bulgarian forms and registers them under the OpenType language tag
BGR. - The text is marked as Bulgarian. On the web, that is
lang="bg"on the page or on the element. - The software applies locl. Modern browsers do this automatically for tagged text. Desktop apps vary; in some you set the document or paragraph language to Bulgarian.
Some foundries do the opposite: Bulgarian forms are the default, and locl switches to Russian forms for text tagged as Russian. The mechanism is the same.
Getting Bulgarian Cyrillic on a website
For an all-Bulgarian site, set <html lang="bg">. For an English site with Bulgarian words, wrap each one: <span lang="bg">где</span>. This site does exactly that, which is why Bulgarian words here can render in local shapes. The tag also helps screen readers choose a Bulgarian voice.
Then pick a font that has the forms. The free font directory localfonts.eu keeps a list of fonts with Bulgarian Cyrillic, including families also served by Google Fonts such as Sofia Sans. Users of Google Fonts have also reported Bulgarian forms in families such as Unbounded. Support changes between font versions, so test before you commit:
- Type вдтлшю twice, once with
lang="ru"and once withlang="bg". - If the two lines look different, the font has Bulgarian forms and the browser is applying them.
- If they look the same, either the font lacks them or the subset you loaded was stripped of OpenType features.
CSS also has font-language-override: "BGR", which forces Bulgarian forms regardless of the lang attribute. Use it only when you cannot change the markup.
Reading Bulgarian Cyrillic in both styles
For learners, the main surprise is т looking like m, и like u and п like n. These are Latin false friends that also turn up in Russian italic. Once you know them, a Bulgarian-form menu is no harder than a Russian-form sign. Practice with the Bulgarian alphabet chart, which shows Bulgarian letterforms, and the alphabet quiz.
Common mistakes
- Thinking Bulgarian forms are different letters. They are the same characters in a different style. Search, copy and spell-check work the same.
- Reading т as Latin m. In Bulgarian forms, т is “t”. The m-shape is only its look.
- Forgetting the lang tag. Without
lang="bg", even a font with Bulgarian forms shows Russian shapes. - Loading a stripped font subset. Some font tools remove OpenType features to save bytes, which removes locl.
- Typing Russian letters. ы, э and ё are not part of Bulgarian Cyrillic. Use a Bulgarian keyboard layout, not a Russian one.
Frequently asked questions
Is Bulgarian Cyrillic different from Russian Cyrillic?
Yes, in two ways. Bulgarian has 30 letters (no ы, э, ё) and uses ъ and щ differently, and Bulgarian typography often uses distinct lowercase shapes for letters such as т, д and л.
Why does Bulgarian т look like m?
Bulgarian-style fonts draw т from its handwritten form, which resembles Latin m. It is still the letter t, the same character as in Russian.
How do I show Bulgarian letterforms on a website?
Use a font that contains Bulgarian forms and tag the text with lang=”bg”. Browsers then apply the OpenType locl feature automatically.
Are Bulgarian letterforms official?
They are a typographic tradition, not a spelling rule. Text in Russian-style fonts is equally correct Bulgarian.
Do Bulgarian forms use different Unicode characters?
No. Bulgarian and Russian т are both U+0442. Only the glyph chosen by the font changes.
Sources
- OpenType feature 'locl' (Microsoft Typography)
- OpenType language system tags (Microsoft Typography)
- Krista Radoeva: Cyrillic script variations and the importance of localisation (MyFonts)
- Sofia Sans in Bulgarian Cyrillic free fonts (localfonts.eu)
- Unicode Cyrillic code chart