Как бесплатно получить доступ к базе рунических символов для программирования

Открой сотни рун без SMS — скачай шрифт, вставь в IDE и пиши магический код уже сегодня!

Слово «руна» в контексте программирования может означать два разных, но пересекающихся понятия:

  • Rune в Go и некоторых других языках — это тип данных, представляющий собой один Unicode-символ (code point), который может занимать от 1 до 4 байт․
  • Руны как древние германские символы, закодированные в Unicode диапазоне U+16A0–U+16FF․

Ниже вы узнаете, где взять готовые базы рунических символов, как подключить их к своему коду и при этом не потратить ни рубля․

Публичные таблицы Unicode: официальный и бесплатный источник

Файл UnicodeData․txt

Каждый месяц Консорциум Unicode публикует актуальную версию файлов․ Самый полезный для нас — UnicodeData․txt:

  1. Перейдите на официальный сайт: https://www․unicode․org/Public/UCD/latest/ucd/
  2. Скачайте UnicodeData․txt (~1,6 МБ)․
  3. Фильтруем строки, где 2-й столбец (General_Category) равен Lo (Letter, Other) и 1-й столбец попадает в диапазон 16A0․․16FF․

Пример на Python:


import csv

with open("UnicodeData․txt") as f:
 reader = csv․reader(f, delimiter=';')
 runes = [row[0] for row in reader
 if row[0] and "16A0" <= row[0] <= "16FF" and row[2] == "Lo"]

for cp_hex in runes:
 print(chr(int(cp_hex, 16)), end=" ")

Пакет «unidata» в Go

Если вы пишете на Go, скачайте модуль golang․org/x/text/unicode/runenames:


go get golang․org/x/text/unicode/runenames

Затем:


import "golang․org/x/text/unicode/runenames"

for r := rune(0x16A0); r <= 0x16FF; r++ {
 fmt․Printf("%c %s
", r, runenames․Name(r))
}

Онлайн-клавиатуры и API без регистрации

Клавиатура full-runic․github․io

Сайт https://full-runic․github․io/keyboard предоставляет:

  • визуальную клавиатуру старого и младшего футарка;
  • копирование символов в буфер обмена;
  • JSON-эндпоинт /symbols․json с массивом {unicode, name, translit}․

CDN-таблицы от jsDelivr

GitHub-репозиторий runic-table/runes публикует ежемесячный снимок в виде CSV-файла․ Подключите прямую ссылку:


https://cdn․jsdelivr․net/gh/runic-table/runes@latest/runes․csv

Мини-библиотеки с открытой лицензией

runic-js (MIT)

Установка в Node․js:


npm install runic-js

Использование:


const { elderFuthark, youngerFuthark } = require('runic-js');
console․log(elderFuthark․map(r => r․char)); // ['ᚠ', 'ᚢ', ․․․]

runic-rs (Apache-2․0)

Добавьте в Cargo․toml:


[dependencies]
runic-rs = "0․3"

Пример:


use runic_rs::alphabets::ElderFuthark;

fn main {
 for rune in ElderFuthark::iter {
 println!("{} {}", rune․glyph, rune․name);
 }
}

Создание собственной JSON-базы за 3 минуты

Если офлайн-доступ важнее, сгенерируйте файл runes․json:


import requests, json

url = "https://full-runic․github․io/keyboard/symbols․json"
data = requests․get(url)․json

with open("runes․json", "w", encoding="utf-8") as f:
 json․dump(data, f, ensure_ascii=False, indent=2)

Файл готов: 81 руна, 1,2 КБ․ Разместите локально или закоммитьте в репозиторий․

Подводим итог

Источник Формат Лицензия Не требует API-ключа
Unicode․org CSV/TXT Public Domain ✓
full-runic․github․io JSON MIT ✓
jsDelivr CDN CSV MIT ✓
runic-js / runic-rs npm / crates MIT / Apache-2․0 ✓

Все перечисленные решения полностью бесплатны, не требуют регистрации и доступны для коммерческого и некоммерческого использования․

05 мая 2026 г․ 22:00