Топ лучших символов Юникода. Отсмотрел более 50000, отобрав и представив самые крутые 𓅯𓀃࿄

Вселенная, порталы, КОТИКИ. В список вошли и неожиданные кандидаты, никто не уйдёт равнодушным …+объяснение, что происходит.

Юникод – это мировой мегастандарт кодирования символов. В нём может поместиться свыше миллиона вариантов (хотя на текущий момент содержит всего лишь около 149 тысяч). В список входят как околовсе языки мира, так и знаки, картиночки да эмоджи. Одним словом: всевозможные и даже больше, символы, используемые в тексте.

Юникод в том или ином виде используется почти везде (возможно даже на DTF). И хоть при написании статей можно использовать, в рамках дозволенного, многие из 149+тыс символов, не удивительно, что, как правило, люди используют лишь каплю океана (~176) по причине ненадобности остальных.

Тем не менее, давайте посмотрим, какое роскошество скрыто за занавеской, и окунёмся в этот мир… в котором я даже не уверен, что все символы отобразятся на вашем устройстве, ведь это зависит от поддержки шрифтом, внутренней кодировки DTF и прочего.

Поехали!

♺♺♺♺♳♳♳♺♴♴♴♺♵♵♵♺♶♶♶♺♷♷♷♺♸♸♸♺♹♹♹♺♺♺♺

Æ

Давайте начнём с чего-то попроще. Æ – обычная буква латыни, прародитель всех современных дизайнов по слиянию нескольких букв. Никто никогда не узнает как бы выглядели лого OGC, CNN, ADP, если бы не древние италийцы. Спасибо им за это.

Круче этого бывает лишь когда несколько слов пишут без пробелов.

Так всё-таки «Бог сейчас здесь» или «Бога нигде нет» ?
Так всё-таки «Бог сейчас здесь» или «Бога нигде нет» ?

ʢ ʡ ʕ ʔ ʖ ҁ – Пиратские руки

(чуть более официально известные как латинские гортанные смычки)

Раз уж мы затронули тему повторения символов, не могу не отметить, что это частая ситуация в Юникоде. Один и тот же символ можно встретить и 2, и 3, и 5 раз. Одних полных английских алфавитов там штук 8. Для наглядности:

' ʹ ʻ ʼ ˊ ˊ ´ ׳ ʹ΄ ՚ ʽ ` ˋ ˋ ՝ – Всё это…

…разные символы, каждая занимает свою позицию и у каждой свой смысл и применяемый контекст.

Вот вы можете отличить ( ' ʹ ), что среди этого апостроф, а что знак ударения? Нет? Да потому что это кавычка и штрих.

Не верите? Скопируйте прямо отсюда в текстовый редактор и взгляните на номер символа. Для полной убедительности я самолично не сделал этого ..всё равно никто проверять не станет.

ː – треугольное двоеточие

Как двоеточие. Но треугольное. Это официальное название. Подойдёт для выпендрёжа.

⚝ ✀ ✑ ♕ ♫ ♆ ⚅ ﷺ ⨕ ⸓ ⯭ ඣ ⸎ ᛔ ᛥ ⛶ ✿ ❀ ⧳ ♱ ✲ ⨹ ♧ ❐ ⮔ ❅ ❖ ✰

۩ – памятник

இ – уставшая @

߷ – был добавлен в Юникод в 2006 году ещё за 11 лет до мейнстрима

ଲ – слон

ଳ – медуза

෴ – дикобраз

෴ – слово «шиншила» прописью

ಒ – змея

ಓ – твоя бывшая

ಔ – змееносец

А если серьёзно – последние три символа из языка «Каннада». Например, вот это цифра пять – ೫.

฿ – тайский бат

– портал запятых

Post Scriptum: как оказалось, DTF удаляет все такие символы. Выглядит он так. Просто представьте на ближайший абзац, что он на месте.
Post Scriptum: как оказалось, DTF удаляет все такие символы. Выглядит он так. Просто представьте на ближайший абзац, что он на месте.

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

֎ ፨ Ꮻ ៙ ⊛ ◍ ◌ 〄 – прочие порталы

಄ – это петля ..или нет?

⸕ ⸔ – опять работать?

⸙ – даже у пальмовой ветви есть своё место в Юникоде, а у тебя нет

𓀀𓀃𓀉𓀪𓀭𓀡𓀮𓀳𓀷𓀺𓀼𓀾𓀒𓁁𓁇𓁉𓁀𓁃𓀬𓀨𓀸𓁨𓁰𓁖𓁗𓁔𓀑𓁠𓁓𓁃𓁚𓁩𓁲𓁴𓂉𓂊𓂀𓎬𓎞𓐤𓍰𓊱𓊰𓊲𓍚𓍝𓏂𓏣𓎹𓎓

ᑂ – курица осуждающе смотрит на то, как ты сутулишься

ᐵ – курица, довольная тем, что ты выпрямился

ᑟ ᑒ ᑠ – лягушка, делающая гимнастику

ᓤ ᓥ ᔳ ᔴ

ᔌ – визуальное обозначение угла поворота ступни

က ဃ ည ဘ ယ မ ဣ ဤ

А описание этих символов на всякий скрою за стеной:

Это алфавит Мьянмы, извращенец.

Тибетские символы – отдельный вид искусства:

༆ ༒ ༗ ࿄ ࿇ ࿃ ༈ ༖ ༕ ༺ ྿ ࿈ ࿂ ࿉ ࿊ ࿋ ࿌

፠ ⁜ ⁑ ⁂ – просто красивый орнамент

‱ – 1/10000

Неиронично не знал, что помимо процентов и промилле, есть и такой символ, да ещё и называется буквально «Per Ten Thousand».

… – символ, придающий автору текста таинственности

Фанфакт: у названий статей на DTF есть ограничение. Они не могут заканчиваться точкой. Но могут заканчиваться символом многоточия. Думайте.

Это самый длинный символ, который я нашёл. Можете попробовать его выделить, чтобы убедиться, что он один тут. (но есть вероятность, что это баг)

𓅋𓅮𓆲𓆈𓅯𓅟𓄀𓃲𓅹𓅳𓃯𓃺𓃠𓃤𓃥𓅛𓆣𓃩𓅣𓅸𓃭𓃮𓃲𓃱𓅺𓅴𓃰𓃺𓃞𓅜𓅈𓅕𓅃𓅑𓅁𓄚𓅀𓅷

$ – какой-то симпатичный символ

€ – валюта Европы

₽ – валюта северной Азии

₿ – валюта фантазёров

₧s – валюта в Resident Evil 4

ℝℂℍℕℙℚ – украшательства начал абзацев и всяких ₧sℝ

½ ⅓ ⅔ ¼ ¾ ⅕ ⅖ ⅗ ⅘ ⅙ ⅚ ⅐ ⅛ ⅜ ⅝ ⅞ ⅑ ⅒

Понятия не имею, кто это придумал, но, видимо, он был очень заботлив.

ДАЖЕ СЛИШКОМ.. ↉

(вики сказала, это для бейсбола)

Уверен вам не хватало знания о том, в какой момент римские цифры перестанут использовать буквы.

ↀ – 1 000

ↂ – 10 000

ↈ - 100 000

Вы думаете такое обозначение это лаконичность? Нет! Вот лакончиность:

ↁ – 5 000 ↇ - 50 000

‣ → ⇒ ⇢ ⇰ ⇻ ➢ ⇨ ⇾ ➙ ⎆ ➦ ➩ ➸ ➵ ➳ ⫸ ❯ ➲ ➱ ➾ ⮕ ⟿ ➤ ⮳⯮

ꘐ – уууууууу

ꖛ – нет, это не #

∫ – обычный интеграл

∬ – интеграл пьяницы

∭ – HL3 confirmed

⨌ – армия брахиозавров наступает

❆– слёзы на морозе

ꙮ – многоглазое «О» (офиц название)

⋍ – когда не определился между = и ≈

? – голубиная почта

? – утиль

? – возможно, наше будущее

? – приятель сказал, что видит тут мандарины

Ладно, шучу. Я просто вопросики напечатал.

𓈢𓈡𓈣𓈯𓈷𓈮𓈭𓈬𓉊𓈩𓈨𓈧𓈥𓈰𓈱𓈳𓈵𓈶𓈸𓈺𓈻𓈼𓈽𓈾𓈿𓉀𓉁𓉂𓉃𓉄𓉅𓉆𓉇𓉈𓉉𓉋𓉌𓉍𓉎𓉏𓈫

⊃∪∩⊂ – вы тоже ждёте сиквел?

⍨ – твоё лицо сейчас

亞 – и здоровье на носилках

岙 – и палатка вместо дома

ꃙꃙꃙꃙꃙꃙꃙꃙꃙꃙ – и армия фанатов

ꐆ– и любимые платформеры

ꗈ – и что бы это ни было

ꃕ– невероятно, но это лиса

А ещё сотен десятков и миллиардов десятитысячек.
А ещё сотен десятков и миллиардов десятитысячек.

꧁꧂

Тут 2 символа. Отправьте другу одну половинку и если в ответ он отправит вторую, значит он ваш настоящий друг, иначе – бегите.

𓉣𓉡𓉢𓉣𓉡𓉢𓉣𓉡𓉢𓉣𓉡𓉢𓉣𓉡𓉢𓉣𓉡𓉢𓉣𓉡𓉢𓉣𓉡𓉢𓉣𓉡𓉢𓉣𓉡𓉢𓉣𓉡𓉢

Исходный список символов в очередной раз оборвался. Юникод не заполняется последовательно, он разбит на группы. Потому в нём часто встречаются целые массивы пустоты. Сотни сотен полых строк, лишённых какого-либо смысла существования.

И посреди всего этого безжизненно-блеклого бархана поблёскивает…

С НОВЫМ ГОДОМ БРАТЦЫ . Star Wars только начинают возрождаться. Overwatch ещё даже не вышел. ..Что оно тут делает? Почему здесь? Почему 2016 был добавлен в 1993? Столько вопросов.
С НОВЫМ ГОДОМ БРАТЦЫ . Star Wars только начинают возрождаться. Overwatch ещё даже не вышел. ..Что оно тут делает? Почему здесь? Почему 2016 был добавлен в 1993? Столько вопросов.

䷅䷁䷓䷥䷌䷷䷫䷚䷊䷌䷝䷞䷮䷿䷊䷂䷠䷆䷧䷷䷹䷛䷋䷌䷬䷝䷥䷅䷓䷣䷢䷗䷩䷪䷚

Поскольку последующие символы почти все тут не распознаются и в текст их не вставить, я просто сделал визуальное перечисление наиболее понравившихся мне.

Исходный список очень большой. Я пропускал целые большие группы со своим стилем и эстетикой, потому что отдельные символы, как правило, вне контекста смотрятся заурядно и никакого комментария к ним не придумать.
Исходный список очень большой. Я пропускал целые большие группы со своим стилем и эстетикой, потому что отдельные символы, как правило, вне контекста смотрятся заурядно и никакого комментария к ним не придумать.

А тут, видимо, цензура символ затёрла.

Топ лучших символов Юникода. Отсмотрел более 50000, отобрав и представив самые крутые 𓅯𓀃࿄

Ну и конечно..

Когда решил запустить ещё одну катку вместо того, чтобы пойти спать.
Когда решил запустить ещё одну катку вместо того, чтобы пойти спать.

На этом список окончен. Вряд ли в Юникоде можно найти что-то более удивительное, однако даже имеющееся обилие рун, иероглифов, эмблем оказалось занятным. Всё брал с этого сайта. Эмоджи не учитывались, у них альтернативная визуализация.

Кстати, вот так они выглядят без неё.
Кстати, вот так они выглядят без неё.

Постойте.. Совсем забыл, что вы ждёте обещанных котиков.

Прошу:

猫 – символ под номером U+732B; японский иероглиф «неко», в переводе означающий «кот»

Сцена после титров:

Ω – сколько ни пытался, так и не придумал нормальную шутку про GoW

⠁⠂⠃⠄⠅⠆⠇⠈⠉⠊⠋⠌⠍⠎⠏⠐⠑⠒⠓⠔⠕⠖⠗⠘⠙⠚⠛⠜⠝⠞⠟⠠⠡⠢⠣⠤⠥⠦⠧⠹⠺⠻⠼⠽⠾⠿⠰⠱⠲⠳⠴⠵⠶⠷⠸⠹⠺⠻⠼⠽⠾⠿⡀⡁⡃⡄⡅⡇⡈⡉⡊⡋⡌⡍⡎⡏⡐⡑⡒⡓⡔⡕⡖⡗⡘⡙⡚⡛⡜⡝⡞⡟⡠⡡⡢⡣⡤⡥⡦⡧⡨⡩⡪⡫⡬⡭⡮⡯⢰⢱⢳⢴⢵⢶⢷⢸⢹⢺⢻⢼⢽⢾⢿⢠⢡⢢⢣⢤⢥⢦⢧⢨⢩⢪⢫⢬⢭⢮⢯⢰⢱⢲⢳⢴⢵⢷⢸⢹⢺⢻⢼⢽⢾⢿⣧⣀⣁⣅⣉⣊⣋ – ⢸⣻ -⢸⢝ -⢸⢽ -⢸ -⢸⣀ -⢸⣀ -⢸⣛ – ⣰⣱⣳⣴⣵⣶⣷⣸⣹⣺⣻⣼⣽⣾⣿

А теперь можно сказать, что на этом предисловие окончено и начинается настоящая статья.

Дело в том, что в ней я хочу поделиться историей, как при разработке своей игры справлялся с проблемой отображения текста на экране. Всё, что вы видели в статье до этого – просто театральное изложение наиболее весёлого этапа.

Если данная тема не представляет для вас интереса, рекомендую сразу перейти к концу.

Топ лучших символов Юникода. Отсмотрел более 50000, отобрав и представив самые крутые 𓅯𓀃࿄

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

В моём же случае всё шло наперекосяк раз за разом.

Для разработки использовался крайне несовременный движок. Его возможности вывода текста сводились к «взять файл со шрифтом, чтобы сгенерировать картинки символов» и «вывести нужные на экране».

В целом этого достаточно. Аналогично работают и другие движки. Однако если в общем случае у разработчика есть возможность гибкого регулирования выгрузки шрифтовых данных и визуализации (даже если для этого нужно подключить к проекту дополнительные инструменты), то мне это самое «гибкое регулирование» пришлось выбивать клином.

Например, движок не позволял мне:

  • Делать размытие на краях символов – приводило к неприятным глазу лесенкам.
  • Вносить простые изменения в генерацию или вывод – например, для вертикального текста.
  • Менять разрешение экрана без потери загруженных шрифтов – одна из причин, почему в моих играх изменить разрешение нельзя без перезапуска.
  • Регулировать параметры отдельных символов.
  • Жить счастливо.
  • Не обрезать символы там, где не надо.
  • Авторазбивать текст на строки.
  • Выбирать кодировку текста.
  • Пользоваться расширенным списком символов – самое суровое ограничение.
  • И некоторые сюрпризы, о которых позже.

И даже к таким условиям можно приспособиться, если не требовать многого.

Например, движок обрезал символы, если глиф выходит за границы как на изображениях ниже.

Редактор шрифтов. Как я понял, символы не редко выходят за пределы заданного прямоугольника. Обычно это должно учитываться при выводе их на экран, но, к сожалению, выводилось только то, что внутри него.
Редактор шрифтов. Как я понял, символы не редко выходят за пределы заданного прямоугольника. Обычно это должно учитываться при выводе их на экран, но, к сожалению, выводилось только то, что внутри него.
Особенно досталось курсивным шрифтам. Они регулярно уходят вправо, из-за чего символы часто справа были обрезаны. Ширину символа можно легко увеличить в редакторе, но из-за этого и расстояние между символами увеличивалось.
Особенно досталось курсивным шрифтам. Они регулярно уходят вправо, из-за чего символы часто справа были обрезаны. Ширину символа можно легко увеличить в редакторе, но из-за этого и расстояние между символами увеличивалось.

Итог выглядел примерно так. Можете ещё обратить внимание на лесенки.

Симпатишно?
Симпатишно?

Шло время. С чем-то я решил смириться. С чем-то бороться.

Например, хоть под рукой не было инструмента, который мог бы разбить одну строку на несколько – его вполне можно было сделать самому. Разве что из-за некоторых ограничений оптимизация страдала.

Легчайше
Легчайше

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

Вот только..

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

Остаётся уповать только на уже имеющийся в руках инструмент. Благо вышеупомянутая оболочка сама по себе решала некоторые проблемы. Появилось размытие и лесенки теперь в прошлом. Регулировать угол поворота, масштаб и прочие трюки можно было очень костыльным способом ..но самое главное, МОЖНО было. И в целом жизнь стала счастливее.

Обрезка и разбивка всё ещё были проблемой, но компромиссно-решаемой.

На этом я остановился, так как посчитал сложившийся расклад достаточным для работы. И продолжил заниматься, собственно, разработкой, уповая на то, что мне больше никогда не придётся вмешиваться в систему отображения текста, чтобы её серьёзно менять.

Акт II. Глава 2. Подпункт 2. § 2

Чёрт возьми, мне пришлось.

В середине этой статьи годовой давности я уже упоминал об одной из проблем при работе с текстом. Вот она на текущий момент истории и проявилась.

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

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

Движок никак не позволял пользоваться символами за пределами первых 256. На секунду напомню, в Юникоде их 149К. И большую часть времени разработки мне хватало этого ограниченного списка. Однако с моими первыми релизами я захотел расширить поддерживаемые играми языки и начал подозревать неладное.

Нашёл какого-то переводчика-фрилансера на испанский. На всякий случай предварительно ПРЯМО попросил его отправить мне список возможных буквенных символов, используемых в испанском, объяснив, что это нужно мне по техническим соображениям.

Он просто скидывает мне испанский алфавит. Из нового там только «Ñ» и «ñ».

«Ну ладно, значит всё пройдёт гладко» – подумал я.

Спустя неделю он мне отправляет перевод. Я его открываю. И вижу.. обильное использование «á», «é», «ó», «ü» итд. Эти символы не входят в испанский алфавит, но и для языка, и для машины считаются другими.

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

А так я всю неделю параллельно готовил сборку с расчётом на то, что скоро в ней появится испанский, и потому мне пришлось адаптироваться.

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

Вы можете увидеть много пустых ячеек. Я тоже сперва думал, что могу новые символы разместить на пустые места и это будет решением. Но, во-первых, часть этих символов системные и используются для другого. Во-вторых, движок вновь показал мне средний палец, отказываясь выводить что-либо, расположенное на большинстве пустых позиций, от чего оказалось, что у меня в доступе не 256, а 202 символа. Всё-таки пришлось некоторыми пожертвовать. Спасибо, что хотя бы «¿» и «¡» и так были в списке.

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

Фрагмент из старой статьи. Текст в файле -> Текст в игре.
Фрагмент из старой статьи. Текст в файле -> Текст в игре.

Кстати, если кто-то из вас знает испанский и готов помочь с переводом – свяжитесь, пожалуйста. У меня есть подозрения, что тексты переведены неточно.

На английский, кстати, тоже – кто-то в обзорах пожаловался.

В дальнейшем добавил переводы на немецкий и украинский, где также появились новые символы: «ẞ», «ß», «Ö», «ö», «Ä», «ä», «Ґ», «ґ», «Є», «є», «Ї», «ї». Пришлось тесниться ещё сильнее.

Конечный результат. Шрифты с вот таким Франкенштейнским содержанием в итоге отправились в релиз.
Конечный результат. Шрифты с вот таким Франкенштейнским содержанием в итоге отправились в релиз.

Да и просто конвертировать символы было неудобно. Сперва надо было поместить исходный текст в многобайтовой кодировке. Затем инструментом «заменить всё» изменить все особенные символы на однобайтовые «ключи». После перекодировать текст в однобайтовый. И только потом запустить конвертер, который все «ключи» заменит на то, что надо. Весь процесс можно было упростить, но времени на доработку не было.

И самое неприятное было то, что в сформированной системе я не мог больше добавлять новые языки. Совсем. Чтобы иметь такую возможность, систему нужно было кардинально менять.

Акт Последний ..я надеюсь

Я не торопился с изменениями, поскольку ..оно работает и всё. Не хочу ничего. Вот прижмёт, тогда займусь.

И меня прижало.

Где-то в январе я обнаружил новую фундаментальнейшую проблему движка при работе с текстом. Он на разных компьютерах выводит текст по-разному. Не просто «по-разному», а его, при должных условиях, может необъяснимо сплющить, вывернуть, сплющить снова, пережевать – и у этого нет объяснимой логики.

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

Справедливости: проблема редкая. Иногда даже надо постараться её вызвать. Нет чётких критериев, из-за чего это происходит. Всё очень хаотично и затрагивает случайное количество символов. Например, на скриншоте выше была попытка отобразить текст с высотой символов 250 (что довольно много). При меньшей высоте искажений либо меньше, либо нет вовсе. А на разных компьютерах словно разный порог, будто ещё зависящий от разрешения дисплея.

В любом случае, всё это один огромный абсурд. Система в своём корне не работает, как следует.

Невозможно ни определить причины возникновения ошибки, ни устранить её.

Это фрустрировало.

Это раздавливало изнутри.

Постепенно осознавая происходящее, я настраивал себя на ультимативно-апокалиптичное решение.. Прийти к нему было сложно, но, собрав всю волю в кулак, я составил примерный план действий и собственных требований.

Используя имеющийся функционал, я написал свою собственную систему вывода текста. Удобную, гибкую, многофункциональную, и основанную на (да простят меня все адекватные разработчики, тимлиды и просто хорошие люди) ..…на пререндерах символов.

*густое молчание*

Пререндеры с высоким разрешением и разные версии с разрешениями поменьше для более лёгкой загрузки и сохранения качества. При этом все мои потребности учтены.

Я не просто сделал удобную для себя систему – я скомпилировал в ней весь свой многолетний опыт.

Система сделана так, что позволяет легко в любое время включать в себя любые новые символы, неиспользовавшиеся мной ранее. Тем не менее, она потребовала от меня хотя бы стартовый набор.

Чтобы сделать этот набор как можно более полным, я решил сразу же охватить не только свои обычные символы, но и те, что «гипотетически потенциально могут однажды пригодиться». Хоть я и смогу их добавить в любой момент, но будет лучше отметить их сразу.

Эта ситуация потребовала от меня более детального изучения Юникода. Не просто взять и выдернуть оттуда кириллицу, латиницу, цифры да знаки препинания, а более основательно пройтись по всем существующим группам, чтобы определить вероятность потребности в символах и, чуть что, добавить их себе.

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

Один из ранних промежуточных результатов
Один из ранних промежуточных результатов

Но а покончив с Юникодом, я реализовывал весь прочий нужный мне функционал.

Разработка всей системы заняла около 3 недель плотной работы. Это довольно немного, но это всё равно 3 недели в сторону от планов.

Зато теперь у меня: размытие есть; контроль генерации символов есть; модификации символов есть; быстрая разбивка на строки есть; жизнь стала лучше.

Я теперь могу даже менять символы так, что вот эта «тень» – их полноценная часть. Это не отдельный пререндер, а гибкая возможность модификации.
Я теперь могу даже менять символы так, что вот эта «тень» – их полноценная часть. Это не отдельный пререндер, а гибкая возможность модификации.

Словом о ÁáÉéÍíÓóÚú … Это теперь не отдельные символы, а AaEeIiOoUu с модификатором «ʹ». Таких модификаторов в моей системе может быть максимум 15 штук. Заняты уже 10. Применить можно к какому-угодно символу – это позволяет не беспокоиться о грядущем добавлении подобных.

Все модификаторы на текущий момент. + примеры
Все модификаторы на текущий момент. + примеры

Ещё сделал возможность загрузки текста в кодировке UTF-8, чего и в помине нет в движке, хотя это довольно важная вещь. Благо оказалось, алгоритм кодировки очень простой, и за один вечер он был и готов, и протестирован.

Отдельной возможностью добавил шифрование текста в файлах игры для того, чтобы его было невозможно прочитать текстовым редактором. Шифрование мудрёное, многоступенчатое, многоуровневое, так что его и за миллион лет не разгадают. Не знаю даже, зачем так жёстко было делать. Тем более шифрованный текст считывается из файлов во много раз медленнее. Может ещё пересмотрю.

Написал отдельный генератор моих «местных шрифтов». Практически одной кнопкой запускаешь.

Вроде выглядит неплохо.
Вроде выглядит неплохо.

И отныне я больше не обращаюсь к функциям движка по работе с текстом. Чёртов поганец.. зачем я вообще с ним связался..

Утешаю себя тем, что движок хоть и несовременный, но зато хотя бы можно быть уверенным, что не прилетит однажды смена политики его использования, по которой я должен буду отдать почку создателям.

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

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

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

..когда думаю обо всём этом.

Единственное, за что обидно, – то, что результат, к которому я пришёл, является повсеместной нормой.

Визуально ничто не выдаст тот объём усилий, который пришлось приложить для его достижения. Потому что это просто обычный «текст на экране».

И это правильно. Игрок не должен думать о таких мелочах. Но не поделиться этим не мог.

Надеюсь, однажды усилия себя окупят.

Ранее я сделал несколько небольших игр, сейчас делаю большую.

Новая система вывода текста будет внедрена в каждую из них.

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

Спасибо каждому, кто прочитал или домотал до сюда.

1.1K
255 комментариев

Два лонга по цене одного. Приходите к нам снова!

146

Вроде символ ₽ – это знак покедоллара

11

Я только за первый заплатил вниманием, простите. Верните остаток.

1

Отсмотрел более 50000, отобрав и представив самые крутыев это время я в 13 лет в компьютерном клубе ставлю ник в CS 1.6
"Killer 8===========3"

42

А такое огромное разнообразие самовыражения пропустил

15

Туфтовый ник, у нас в моде было что-то вроде e6@LLIy_B_K@LLIy

6