惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

有赞技术团队
有赞技术团队
Apple Machine Learning Research
Apple Machine Learning Research
IT之家
IT之家
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog RSS Feed
酷 壳 – CoolShell
酷 壳 – CoolShell
人人都是产品经理
人人都是产品经理
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
V
V2EX
aimingoo的专栏
aimingoo的专栏
爱范儿
爱范儿
博客园 - 聂微东
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Stack Overflow Blog
Stack Overflow Blog
罗磊的独立博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
MongoDB | Blog
MongoDB | Blog
Jina AI
Jina AI
T
The Blog of Author Tim Ferriss
月光博客
月光博客
云风的 BLOG
云风的 BLOG

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания
Очередная латиница для русского языка
MainEditor0 · 2026-05-19 · via Все публикации подряд на Хабре

Очередная латиница для русского языка

Уровень сложностиПростой

Время на прочтение3 мин

Охват и читатели12

Аналитика

На Хабре уже были подобные игры с системами письма (например, вот и вот), поэтому не вижу проблемы, чтобы добавить очередной вариант, коих и так уже много.

Критерии

Мои хотелки для этой игры:

  • Максимум латинских букв

  • Минимум кириллических

  • Минимум диакритических знаков

  • Минимум диграфов и триграфов или ещё чего похуже

Соответствия - что получилось

Тут просто таблица с соответствиями кириллицы и моей поделки. Соответствие получилось один к одному, что должно упрощать использование. Часть букв заменить вообще не получилось без жертв, поэтому я их оставил как есть.

В группу "+" вошли те буквы, которые являются чисто латинскими, либо образованы путём добавления к латинской букве какого-либо диакритического знака. В группу "-" вошли те, которые заменить не получилось. Справа подсчитаны чисто латинские буквы из базового набора из 26 букв.

а = a   |   +1    1
б = b   |   +2    2
в = v   |   +3    3
г = g   |   +4    4
д = d   |   +5    5
е = e   |   +6    6
ё = ё   |   +7
ж = j   |   +8    7
з = z   |   +9    8
и = i   |   +10   9
й = ĭ   |   +11
к = k   |   +12   10
л = l   |   +13   11
м = m   |   +14   12
н = n   |   +15   13
о = o   |   +16   14
п = p   |   +17   15
р = r   |   +18   16
с = s   |   +19   17
т = t   |   +20   18
у = u   |   +21   19
ф = f   |   +22   20
х = h   |   +23   21
ц = c   |   +24   22
ч = ч   |   -1
ш = ш   |   -2
щ = x   |   +25   23
ъ = ъ   |   -3
ы = y   |   +26   24
ь = ь   |   -4
э = э   |   -5
ю = ю   |   -6
я = я   |   -7

Исключения:
1-q, 2-w

В итоге Q и W не вошли в состав вообще, так как Q по сути дублирует K, а звука для W в русском вообще нет.

Самыми странными заменами получились: ё = ё, й = ĭ, щ = x

Думаю, с диакритическими знаками всё должно быть понятно - они просто остались на своих же местах в той же форме, то есть это умлаут и кратка (бревис).

А вот щ = x надо дополнительно прояснить: оно получилось близким к некоторым китайским словам из английского (то есть "Xiaomi", "Xi Jinping" и прочие довольно редкие слова с иксом), а также (вот тут уже помогали LLM, поисковики и несколько видео с Ютуба по произношениям) к пиньиню и языкам Пиренейского полуострова, то есть это испанский, португальский и другие языки с меньшим числом носителей, к мальтийскому языку (географически - островная страна южнее Сицилии и Италии). Икс оказался очень многозначным.

В целом получилось примерно 80% латиницы (с учётом двух букв с диакритикой) и 20% кириллицы.

Примеры и сравнения

Для примера взял "Войну и мир" в формате .fb2 (текстовый XML-подобный формат для книг) с Флибусты и прогнал через скрипт для замены букв.

Python
mapping = {
    'а': 'a',
    'б': 'b',
    'в': 'v',
    'г': 'g',
    'д': 'd',
    'е': 'e',
    'ё': 'ё',
    'ж': 'j',
    'з': 'z',
    'и': 'i',
    'й': 'ĭ',
    'к': 'k',
    'л': 'l',
    'м': 'm',
    'н': 'n',
    'о': 'o',
    'п': 'p',
    'р': 'r',
    'с': 's',
    'т': 't',
    'у': 'u',
    'ф': 'f',
    'х': 'h',
    'ц': 'c',
    'ч': 'ч',
    'ш': 'ш',
    'щ': 'x',
    'ъ': 'ъ',
    'ы': 'y',
    'ь': 'ь',
    'э': 'э',
    'ю': 'ю',
    'я': 'я',
}

mapping.update({
    k.upper(): v.upper()
    for k, v in mapping.items()
})

def translit(text):
    return ''.join(mapping.get(ch, ch) for ch in text)

with open('input.txt', 'r', encoding='utf-8') as f:
    text = f.read()

result = translit(text)

with open('output.txt', 'w', encoding='utf-8') as f:
    f.write(result)

И вот начала одного из томов, которые плюс-минус одинаково расположены, так как вот эти заголовки постоянно едут и не начинаются с начала страниц (видимо, проблема самого файла книги) даже в оригинале.

Кириллица | "Химерица"-гибрид

Кириллица | "Химерица"-гибрид

Тихий ужас, но, возможно, специально разработанный шрифт с оптимизацией под такой гибрид мог бы чуть-чуть улучшить восприятие, особенно по части точек и диакритики над ĭ, i, j.

По занимаемому числу страниц вышло 1196 в оригинале и 1103 в изменённой версии. Процентное изменение, если честно, вообще не впечатляет.

\frac{1103}{1196}\cdot100\% \approx 92.22\%

Но разница в почти 100 страниц чисто на словах звучит не так уж и плохо. Правда, неоптимизированный шрифт немного портит картинку, всё же для чистоты правильнее было бы добавить кернинг, чтобы выборочно поправить межбуквенные расстояния, которые местами не самые естественные из-за смешивания двух принципиально разных алфавитов, и прочие типографские красивости вроде лигатур (мне тут видится убирание точки над i, чтобы выглядело попроще в немоноширинном шрифте), но это уже чересчур...

По занимаемому месту на диске вышло 13.8 MB и 11.8 MB ввиду кодировки UTF-8, в которой латиница кодируется одним байтом, а кириллица кодируется двумя.

И вот ещё примеры панграм со всеми буквами обоих алфавитов в разных шрифтах:

И для шрифта Хабра:

  • Съешь же ещё этих мягких французских булок, да выпей чаю.

  • Sъeшь je exё эtih mяgkih francuzskih bulok, da vypeĭ чaю.

На этом всё.

Вот кому-то делать не...