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

Критерии

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

  • Максимум латинских букв (удалось на 80%)

  • Минимум кириллических (удалось на 20%)

  • Минимум диакритических знаков (диакритика в итоге на двух буквах, как в стандартной 33-буквенной кириллице для русского языка)

  • Минимум диграфов и триграфов или ещё чего похуже (этого вообще нет, так как соответствие один к одному)

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

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

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

%:
26/33 × 100% ~ 78.78%+
7/33 × 100% ~ 21.21%-

«Sъeшь jе еxё эtih mяgkih franсuzskih bulok da vypeĭ чаю.»
«Съешь же ещё этих мягких французских булок да выпей чаю.»

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

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

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

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

Можно было бы взять Q = Ч, как из пиньиня и некоторых других языков, но это, на мой взгляд, гораздо больший костыль, чем с иксом и Щ, потому что Q, в отличие от икса, чаще всего вполне однозначная, и такая перегрузка Q будет вызывать путаницу, к тому же Ч и Q примерно одинаковы по ширине как в строчном, так в заглавном начертании, поэтому никакого выигрыша от выкидывания Ч нет - одни проблемы. Точно такая же логика применима к W - от её добавления тоже будет больше проблем, чем пользы.

В целом получилось примерно 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)
JavaScript для обработки веб-страниц через панель закладок браузера (вставляется вместо URL)
javascript:(function(){const 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','ь':'ь','э':'э','ю':'ю','я':'я'};Object.keys(mapping).forEach(k=>{mapping[k.toUpperCase()]=mapping[k].toUpperCase();});function translit(text){return text.split('').map(ch=>mapping[ch]||ch).join('');}function walk(node){if(node.nodeType===3){node.nodeValue=translit(node.nodeValue);}else if(node.nodeType===1&&node.nodeName!=='SCRIPT'&&node.nodeName!=='STYLE'){for(let child of node.childNodes){walk(child);}}}walk(document.body);})();

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

Начало этой же статьи
Начало этой же статьи
Кириллица | "Химерица"-гибрид
Кириллица | "Химерица"-гибрид

С конца 1811 года началось усиленное вооружение и сосредоточение сил западной Европы, и в 1812 году силы эти – миллионы людей (считая тех, которые перевозили и кормили армию) – двинулись с Запада на Восток, к границам России, к которым точно так же с 1811 года стягивались силы России. 12 июня силы Западной Европы перешли границы России, и началась война, то есть совершилось противное человеческому разуму и всей человеческой природе событие. Миллионы людей совершали друг против друга такое бесчисленное количество злодеяний, обманов, измен, воровства, подделок и выпуска фальшивых ассигнаций, грабежей, поджогов и убийств, которого в целые века не соберет летопись всех судов мира и на которые в этот период времени люди, совершавшие их, не смотрели как на преступления. Что произвело это необычайное событие? Какие были причины его? Историки с наивной уверенностью говорят, что причинами этого события были обида, нанесенная герцогу Ольденбургскому, несоблюдение континентальной системы, властолюбие Наполеона, твердость Александра, ошибки дипломатов и т. п. Следовательно, стоило только Меттерниху, Румянцеву или Талейрану, между выходом и раутом, хорошенько постараться и написать поискуснее бумажку или Наполеону написать к Александру: «Monsieur mon frère, je consens à rendre le duché au duc d’Oldenbourg»[536], – и войны бы не было.

S konca 1811 goda naчalosь usilennoe voorujenie i sosredotoчenie sil zapadnoĭ Evropy, i v 1812 godu sily эti – milliony lюdeĭ (sчitaя teh, kotorye perevozili i kormili armiю) – dvinulisь s Zapada na Vostok, k granicam Rossii, k kotorym toчno tak je s 1811 goda stяgivalisь sily Rossii. 12 iюnя sily Zapadnoĭ Evropy pereшli granicy Rossii, i naчalasь voĭna, to estь soverшilosь protivnoe чeloveчeskomu razumu i vseĭ чeloveчeskoĭ prirode sobytie. Milliony lюdeĭ soverшali drug protiv druga takoe besчislennoe koliчestvo zlodeяniĭ, obmanov, izmen, vorovstva, poddelok i vypuska falьшivyh assignaciĭ, grabejeĭ, podjogov i ubiĭstv, kotorogo v celye veka ne soberet letopisь vseh sudov mira i na kotorye v эtot period vremeni lюdi, soverшavшie ih, ne smotreli kak na prestupleniя. Чto proizvelo эto neobyчaĭnoe sobytie? Kakie byli priчiny ego? Istoriki s naivnoĭ uverennostью govorяt, чto priчinami эtogo sobytiя byli obida, nanesennaя gercogu Olьdenburgskomu, nesoblюdenie kontinentalьnoĭ sistemy, vlastolюbie Napoleona, tverdostь Aleksandra, oшibki diplomatov i t. p. Sledovatelьno, stoilo tolьko Metternihu, Rumяncevu ili Taleĭranu, mejdu vyhodom i rautom, horoшenьko postaratьsя i napisatь poiskusnee bumajku ili Napoleonu napisatь k Aleksandru: «Monsieur mon frère, je consens à rendre le duché au duc d’Oldenbourg»[536], – i voĭny by ne bylo.

Подсчёт числа строк
Подсчёт числа строк

Тихий ужас, но, возможно, специально разработанный шрифт с оптимизацией под такой гибрид мог бы чуть-чуть улучшить восприятие, особенно по части точек и диакритики над ĭ, 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ю.

И чисто по ощущениям мне кажется, что любой язык можно подогнать под латиницу в том или ином процентном соотношении, хотя бы, например, в примерном процентном соотношение 80/20 или ином, но при сохранении незаменимых для того или иного языка начертаний, добавлении диакритических знаков и в последнюю очередь диграфов, триграфов или даже 4-графов.

Итог

Получилось простое отображение один к одному из кириллицы в гибридную латиницу (33 −> 33). Данное отображение не создаёт 2/3/4-графы при записи текста и не перегружено диакритическими знаками, а имеющиеся всего два диакритических знака, кратка (бревис) с Й и умлаут с Ё, взяты из кириллицы. Также все буквы более или менее соответствуют своему произношению в международном варианте, кроме Икса, который и так не имел однозначного произношения.