
В предыдущей статье были описаны знаки препинания, диакритические символы, кириллические и греческий алфавиты. Но текст состоит не только из букв и точек с запятыми. Там могут встречаться математические обозначения, стрелочки, звёздочки и даже рисунки.
Верхние и нижние индексы, натуральные дроби
Очень часто для отображения натуральных дробей используют обычные цифры и косую черту: 1/2, 3/14. Так повелось ещё со времён пишущих машинок, когда не было другого способа. Но прогресс не стоит на месте.
Сравните: « 1/2 », « ¹⁄₂ », « ⅟₂ », « ½ ».
Первый вариант — обычные цифры и обычная косая черта.
Второй — верхний и нижний индексы, разделённые специальной дробной чертой.
Третий — символ « ⅟ » и нижняя 2.
Четвёртый — готовый цельный символ « ½ ».
Разумеется, готовые символы в юникоде имеются только для самых распространённых дробей. Остальные дроби нужно собирать из частей. Рассказываю, как это сделать.
Во‑первых, верхние индексы. Они вводятся с Shift на цифровом ряду в слое Tab (т. е. нажимаем Tab + Shift + нужную цифру): ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁰ ⁻ ⁺ ⁼ ⁽ ⁾
Нижние индексы — Tab + Alt + цифра: ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ₀ ₋ ₌ ₊ ₍ ₎
Просто с Tab без модификаторов: клавиша 1 → « ⅟ », клавиша «\» → « ⁄ ».
Таким образом вы можете ввести любую необходимую вам дробь (например, π ≈ ²²⁄₇).
Минус, плюс, равно и скобки именно для дробей не нужны, но могут пригодиться для чего‑то ещё.

Если в числителе и знаменателе всего по одной цифре, можно действовать проще: нажать Tab и, не отпуская его, ввести эти две цифры. Нужная дробь автоматически соберётся из частей, а если для дроби есть готовый символ — подставится именно он. Для дробей, у которых в знаменателе 10, нужно второй цифрой ввести ноль. Например, при нажатом Tab нажимаем 4, затем 0, получаем « ⁴⁄₁₀ ».
Разумеется, эти мелкие цифры можно применять также в математических и химических формулах:
a² + b² = c², C₂H₅OH.
Математические символы
Если посмотреть список математических символов, можно увидеть, что там одних только знаков сравнения/равенства/неравенства больше 80‑ти штук. Даже если уместить их на клавиатуру — нереально запомнить, где что находится. А ведь это только малая часть математических знаков!
К счастью, я делаю только раскладку клавиатуры, а не математический редактор. Поэтому могу ограничиться небольшим количеством обозначений для простых однострочных формул. К тому же, большинству людей будет достаточно верхних десяти строчек таблицы.
| Символ | Клавиша | Код | Название |
|---|---|---|---|
| Слой RWin | |||
| ÷ | z | U+00F7 | Division Sign |
| ∶ | Shift+z | U+2236 | Ratio |
| ≤ | Alt+z | U+2264 | Less-Than or Equal To |
| × | x | U+00D7 | Multiplication Sign |
| • | Shift+x | U+22C5 | Middle Dot |
| ≥ | Alt+x | U+2265 | Greater-Than or Equal To |
| − | c | U+2212 | Minus Sign |
| ± | Shift+c | U+00B1 | Plus minus symbol |
| ∓ | Alt+c | U+2213 | Minus-or-Plus Sign ( example: cos(x±y)=cos x cos y ∓ sin x sin y ) |
| √ | v | U+221A | Square Root |
| ∛ | Shift+v | U+221B | Cube Root |
| ≠ | = | U+2260 | Not Equal To |
| ≈ | Shift+= | U+2248 | Almost Equal To |
| ∼ | Alt+= | U+223C | Tilde Operator |
| ≡ | Ctrl+= | U+2261 | Identical To |
| ∧ | 6 | U+2227 | Logical And |
| ∨ | Shift+6 | U+2228 | Logical Or |
| ⊻ | Shift+Alt+6 | U+22BB | Xor |
| ∇ | Alt+6 | U+2207 | Nabla / Gradient / Divergence |
| ∆ | Ctrl+6 | U+2206 | Increment / Laplace operator |
| ∞ | 8 | U+221E | Infinity |
| ∝ | Shift+8 | U+221D | Proportional To |
| ∈ | 9 | U+2208 | Element Of |
| ∉ | Shift+9 | U+2209 | Not an Element Of |
| ⊂ | Ctrl+9 | U+2282 | Subset Of |
| ⊄ | Alt+9 | U+2284 | Not a Subset Of |
| ∋ | 0 | U+220B | Contains As Member |
| ∌ | Shift+0 | U+220C | Does Not Contain As Member |
| ⊃ | Ctrl+0 | U+2283 | Superset Of |
| ⊅ | Alt+0 | U+2285 | Not a Superset Of |
| ∦ | \ | U+2226 | Not Parallel To |
| ∥ | Shift+\ | U+2225 | Parallel To |
| ⟂ | Alt+\ | U+27C2 | Perpendicular |
| ∤ | Ctrl+\ | U+2224 | Does Not Divide |
| ⟨ | Alt+[ | U+27E8 | Mathematical Left Angle Bracket |
| ⟩ | Alt+] | U+27E9 | Mathematical Right Angle Bracket |
| ≪ | Shift+[ | U+226A | Much Less-Than |
| ≫ | Shift+] | U+226B | Much Greater-Than |
| ∀ | Ctrl+A | U+2200 | For All |
| ∃ | Alt+E | U+2203 | There Exists |
| ∄ | Ctrl+E | U+2204 | There Does Not Exist |
| ∪ | u | U+222A | Union |
| ∩ | Shift+u | U+2229 | Intersection |
| ∫ | Alt+i | U+222B | Integral |
| ∅ | o | U+2205 | Empty Set |
| ∠ | Shift+g | U+2220 | Angle |
| ∟ | Alt+g | U+221F | Right Angle |
| ◿ | Alt+t | U+25FF | Lower Right Triangle |
| ∂ | Ctrl+d | U+2202 | Partial Differential |
| Символы, не являющиеся математическими знаками, но похожие на них | |||
| ⇒ | Ctrl+2 | U+21D2 | Rightwards Double Arrow (Implication) |
| ⇔ | Ctrl+` | U+21D4 | Left Right Double Arrow (Equivalent) |
| ■ | Alt+Shift+w | U+25A0 | Black Square (End of Proof) |
| ◾ | b | U+25FE | Black Medium Small Square (End of Proof) |
| □ | Alt+w | U+25A1 | White Square (d'Alembert operator) |
| △ | Alt+3 | U+25B3 | White Up-Pointing Triangle (Triangle; △ABC) |
| • | Ctrl+d | U+00B7 | Middle Dot (Bullet operator) |
| • | Shift+b | U+2022 | Bullet (Bullet operator) |
| ◦ | Alt+b | U+25E6 | White Bullet (Ring operator) |
| ‣ | Win+b | U+2023 | Triangular Bullet (End of Proof) |
| Слой Space | |||
| ¬ | Space+Ctrl+n | U+00AC | Not Sign |
| ∗ | Space+Alt+a | U+2217 | Asterisk Operator |
| ƒ | Space+Alt+f | U+0192 | Latin Small Letter F with Hook (вообще, это знак флорина, но используется и как знак функции) |
То же самое в виде картинки:

Валюта, стрелочки
Символы валют в основном находятся на слое RWin и представлены такими знаками:
| Знак | Код | Название | Комбинация |
|---|---|---|---|
| € | U+20AC | Euro Sign | Space + Alt + e |
| ¢ | U+00A2 | Cent Sign | Space + Shift + c |
| £ | U+00A3 | Pound Sign | RWin + Shift + p |
| ¥ | U+00A5 | Yen Sign | RWin + Shift + y |
| ₴ | U+20B4 | Ukrainian hryvnia | RWin + Shift + h |
| ₽ | U+20BD | Russian ruble | RWin + Shift + r |
| ₪ | U+20AA | New Sheqel Sign | RWin + Shift + s |
| ₩ | U+20A9 | Won Sign | RWin + Shift + w |
| ₿ | U+20BF | Bitcoin Sign | RWin + Shift + b |
| ₹ | U+20B9 | Indian Rupee Sign | RWin + Shift + i |
| ₺ | U+20BA | Turkish Lira Sign | RWin + Shift + t |
| ¤ | U+00A4 | Currency Sign | RWin + Shift + o |
А вот стрелочек в юникоде свыше 600 штук. Мне столько не надо. В большинстве случаев хватает символов из раздела юникода «Простые стрелки» и направленных в разные стороны треугольников. Всё это я также разместил на слое RWin (зелёные кнопки на предыдущем рисунке).
Впрочем, иногда бывают нужны и другие стрелки, поэтому я добавил ещё один слой. Он пока пустоват, но это ненадолго.

Один символ с этого слоя вводится после нажатия Ctrl+Menu, а для долговременного переключения на слой и обратно используется Ctrl+Shift+Menu.
Обрамлённые буквы и цифры, варианты начертания шрифтов
Буквы и цифры могут иметь разные варианты начертаний. Разработчики юникода пишут, что символы эти предназначены для математических формул (раздел юникода «Mathematical Alphanumeric Symbols»), но вряд-ли кто-то читает, что они пишут. Во всяком случае, я частенько вижу использование этих букв для всяких украшательств. Например, написанные необычными шрифтами заголовки или имена пользователей в мессенджерах.
К сожалению, набор этих символов часто неполон — где-то нет нуля или десятки, где-то отсутствует часть букв. И не во всех шрифтах есть эти варианты начертаний.
Для переключения на нужный вариант используется комбинация Compose→m→ комбинация клавиш из таблицы. Вернуться на стандартный шрифт — Compose→m→m.
В большинстве вариантов Shift→жирный, Alt→курсивный, Shift+Alt→жирный курсив.
| Пример | Комби-нация | Название | Пропис-ные | Строч-ные | Не все | 0 | 1-9 | 10 | 11-20 |
|---|---|---|---|---|---|---|---|---|---|
| ???????????????? | Shift+a | Жирный шрифт | ✓ | ✓ | ✓ | ✓ | |||
| ???????????????????????????????? | Alt+a | Курсив | ✓ | ✓ | |||||
| ???????????????? | Shift+Alt+a | Жирный курсив | ✓ | ✓ | |||||
| ???????????????????? | c | Рукописный | ✓ | ✓ | ✓ | ||||
| ???????????????????????????????? | Shift+c | Жирный рукописный | ✓ | ✓ | |||||
| ???????????????? | f | Готический | ✓ | ✓ | ✓ | ||||
| ???????????????? | Shift+f | Жирный готический | ✓ | ✓ | |||||
| ???????????????? | s | Без засечек | ✓ | ✓ | ✓ | ✓ | |||
| ???????????????????????? | Shift+s | Без засечек жирный | ✓ | ✓ | ✓ | ✓ | |||
| ???????????????????? | Alt+s | Без засечек курсивный | ✓ | ✓ | |||||
| ???????????????????????? | Shift+Alt+s | Без засечек жирный курсив | ✓ | ✓ | |||||
| ???????????????????? | d | С обводкой | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| ???????????????????????? | n | Шрифт пишущей машинки | ✓ | ✓ | ✓ | ✓ | |||
| ???????????????????????? | Shift+g | Греческий жирный | ✓ | ✓ | |||||
| ???????????????????????? | Alt+g | Греческий курсив | ✓ | ✓ | |||||
| ???????????????????????????? | Shift+Alt+g | Греческий жирный курсив | ✓ | ✓ | |||||
| ???????????????????????????? | Shift+k | Греческий жирный без засечек | ✓ | ✓ | |||||
| ???????????????????? | Shift+Alt+k | Греческий жирный курсив без засечек | ✓ | ✓ | |||||
| ②⓪①④ | o | В круге | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| ❷⓿❹❷ | Shift+o | В чёрном круге | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| ⓵⓽⓼⓸ | Alt+o | В двойном круге | ✓ | ✓ | |||||
| ???????????????? | q | В квадрате | ✓ | ||||||
| ???????????????? | Shift+q | В чёрном квадрате | ✓ | ||||||
| ⑷⑸⑴???? | ( или 9 | В скобках | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| 2402 | w | Полно-ширинные | ✓ | ✓ | |||||
| ⒊⒈⒋⒈⒍ | . | С точкой | ✓ | ✓ | ✓ | ✓ | |||
| ???????????????????????? | , | С запятой | ✓ | ✓ | |||||
| ᴍᴀʀɪᴜᴘᴏʟ | l | Капитель | ✓ | ✓ | |||||
| Cʳ iᵐ eᵃ | Shift+l | Надстрочная буква | ✓ | ✓ | |||||
| Rᵤ bᵢ zₕ nₑ | Alt+l | Подстрочная буква | ✓ | ✓ | |||||
| ???????? | r | Региональный индикатор | ✓ |

Цифры вводятся на цифровом ряду. От ⑩ до ⑲ — с Shift, ⑳ — Alt+0.
Для капители есть 4 дополнительных буквы — ᴁ (вводится на «[»), ɶ («]»), ᴆ («\») и ᴌ («/»).
Есть также альтернативные варианты нескольких греческих букв: δεθκφρπ → ∂ϵϑϰϕϱϖ. Они вводятся с Alt. В верхнем регистре Θ → ϴ (с Shift+Alt). И есть ещё набла — «∇», которая находится на кнопке «,<».
Последняя строка таблицы — «Regional Indicator Symbol Letter». Когда этими буквами вводится двухбуквенное название страны (по ISO 3166-1), оно отображается в виде флага этой страны:

По крайней мере, должно отображаться. Но, к сожалению, не везде работает. Например, Firefox и мессенджеры действительно показывают флаги, а вот Chrome в Windows выдаёт просто две буквы (хотя в Linux-е у Chrome всё нормально).
Ввести эти символы можно двумя способами. Если нужно нарисовать флажок (две буквы), быстрее ввести вот так: Compose→r→буква. Но если использовать этот шрифт для написания текстов, проще целиком переключиться на этот вариант начертания: Compose→m→r.
Дингбаты, эмодзи
Дингбаты — это графические элементы для украшательства текста. Всякие рамочки, звёздочки, крестики, снежинки и т.п. А что такое эмодзи, вы и сами прекрасно знаете: смайлики, мордочки, цветочки, флажочки, чмоки-чмоки. Короче говоря, то и другое — просто картинки. И их сейчас активно используют не только в мессенджерах, но даже в оформлении обычных текстов. Представьте обычный файл с расширением .txt, внутри которого полно пиктограмм. Спасибо юникоду!
Честно говоря, сам я не фанат эмодзи, но есть люди, которые жить без них не могут и вставляют везде где только можно. Им эта глава будет полезной. Остальные могут смело пропускать эту и следующую главу.
В мессенджерах удобный способ выбора эмодзи был изначально, а в Windows он появился только в 10-й версии (Win+; или Win+.). Но и там, и там это делается мышкой.
Чтобы ускорить ввод и обойтись без мышки, я добавил эмодзи на клавиатуру. Именно для них я и оставил почти пустым слой со стрелками.
Конечно, все эмодзи добавить нереально — их несколько сотен. Поэтому я отобрал в основном те, которые часто встречались в рейтингах популярных эмодзи за последние годы.
Но начну я не с эмодзи, а с цветных геометрических фигур на картинке ниже. Их там 3 типа по 9 цветов. Слишком расточительно было‑бы размещать их на отдельных клавишах. Поэтому я сделал так, что нужная фигура выбирается двумя буквами после нажатия Compose.
Первой буквой выбирается форма: g – сердечко, Shift+g — кружок, Alt+g — квадрат, Ctrl+g — см. ниже

Второй буквой — цвет:
- w — white
- o — orange
- y — yellow
- g — green
- b — blue
- p — purple
- n — browN
- k — blacK
- r — red
Как видите, после красного сердечка стоит ещё одно чёрное. Оно выбирается через Shift+r.
На самом деле, это и есть изначальный вид «красного» сердечка (Black Heart Symbol, U+2764). А в красном цвете — это вариант его отображения (объяснение в следующей главе). Красный вариант нужен чаще, поэтому я сделал его по умолчанию. Но оригинал тоже добавил, вдруг кому пригодится.
Я часто вижу, как в мессенджерах в качестве маркеров списка используются цветные ромбики и треугольнички. Поэтому у меня они тоже есть (вводятся через Ctrl+g):

Таким образом, большой оранжевый ромб — Compose→Ctrl+g→Alt+d. Маленький треугольник вверх — Compose→Ctrl+g→Shift+t.
Кстати, эти мелкие треугольники какие‑то странные. В одном редакторе они отображаются чёрным, в другом — синим, в третьем — белым на синем фоне. Хотя в юникоде написано чётко: «Small Red».
Следующее, о чём я хочу сказать — кейкапы. Они определены только для цифр, звёздочки и «решётки». Похоже, их сделали для того, чтобы показывать набор на кнопочном телефоне. Вот эти символы:

Чтобы их ввести, используйте (0…9,∗,#)→Compose→]→k.
А теперь перейдём к самому страшному: к эмодзи. Страшны они своим количеством. Даже если взять только Топ-50 смайликов, трудно запомнить их расположение. И нет какого‑то одного признака, по которому их можно однозначно отсортировать.
Наиболее подходящий признак (который я и использовал) — степень «улыбчивости». Но он тоже весьма относителен. Как расположить два десятка улыбающихся смайликов, чтобы это можно было запомнить? Да никак!
Вобщем, я их добавил, но даже сам помню расположение только самых часто используемых. Находятся они на цифровом ряду, на кнопках от «5» до «-». От улыбчивых, до грустных и злых.
Конечно, в эмодзи встречаются не только смайлики. А т.к. это картинки, то и показать их проще всего на картинке. Это нагляднее, чем описывать каждую кнопку.

Интересно, что некоторые эмодзи можно комбинировать. Для этого между ними вставляется Zero Width Joiner (ZWJ, U+200D, Compose→Backspace).
Например, комбинация «мужчина ZWJ женщина ZWJ мальчик ZWJ девочка» ⇒ семья
???? ???? ???? ???? ⇒ ????????????????
Не факт, что у вас покажет правильную картинку. Например, Firefox под Windows показывает нормальную дружную семью, а под Linux-ом девочка не комбинируется с остальными членами семьи и располагается отдельно. Некоторые следующие эмодзи тоже отображаются неверно. Да и в Chrome под Linux-ом не всё гладко.
Эмодзи могут «наследовать пол», если одним из элементов выбран мужчина или женщина:
Скрещиваем женщину ???? и асклепий ⚕, получаем медсестру (или женщину-врача).
????⚕
Мужчина и асклепий – доктор-мужчина:
????⚕
Но может быть и другой способ, когда к гендерно-нейтральному эмодзи добавляетя значок пола:
машущий рукой человек ZWJ ♂ ⇒ ????♀
машущий рукой человек ZWJ ♀ ⇒ ????♂
Также есть комбинации с профессиями:
мужчина ZWJ весы ⇒ судья (мужчина) ????⚖
женщина ZWJ сковородка ⇒ повар (женщина) ????????
Вот здесь перечислены все возможные комбинации.
| Клавиша | Эмодзи | Значение |
|---|---|---|
| Смайлики | ||
| 5 | ???? | Slightly Smiling Face |
| Shift+5 | ???? | Smiling Face with Open Mouth and Smiling Eyes |
| Alt+5 | ???? | Rolling On The Floor Laughing |
| Ctrl+5 | ???? | Smiling Face with Open Mouth and Tightly-Closed Eyes |
| Alt+Shift+5 | ???? | Face with Tears of Joy |
| Ctrl+Shift+5 | ☺ | White Smiling Face |
| 6 | ???? | Winking Face |
| Shift+6 | ???? | Face with Stuck-Out Tongue and Winking Eye |
| Alt+6 | ???? | Grinning Face |
| Ctrl+6 | ???? | Grinning Face with Smiling Eyes |
| Alt+Shift+6 | ???? | Hugging Face |
| 7 | ???? | Smiling Face with Heart-Shaped Eyes |
| Shift+7 | ???? | Smiling Face with Smiling Eyes and Three Hearts |
| Alt+7 | ???? | Smiling Face with Sunglasses |
| Ctrl+7 | ???? | Face Throwing a Kiss |
| Alt+Shift+7 | ???? | Smiling Face with Halo |
| 8 | ???? | Neutral Face |
| Shift+8 | ???? | Face With One Eyebrow Raised |
| Alt+8 | ???? | Thinking Face |
| Ctrl+8 | ???? | Face With Rolling Eyes |
| Alt+Shift+8 | ???? | Unamused Face |
| 9 | ???? | Yawning Face |
| Shift+9 | ???? | Relieved Face |
| Alt+9 | ???? | Zipper-Mouth Face |
| Ctrl+9 | ???? | Face With Open Mouth Vomiting |
| Alt+Shift+9 | ???? | Face With Finger Covering Closed Lips |
| 0 | ???? | Slightly Frowning Face |
| Shift+0 | ???? | Face with Pleading Eyes |
| Alt+0 | ???? | Astonished Face |
| Ctrl+0 | ???? | Face Screaming In Fear |
| Alt+Shift+0 | ???? | Shocked Face With Exploding Head |
| Ctrl+Shift+0 | ☹ | White Frowning Face |
| - | ???? | Pouting Face |
| Shift+- | ???? | Serious Face With Symbols Covering Mouth |
| Alt+- | ???? | Crying Face |
| Ctrl+- | ???? | Loudly Crying Face |
| Alt+Shift+- | ???? | Weary Face |
| ` | ???? | Skull |
| Shift+` | ???? | Clown Face |
| Alt+` | ???? | Robot Face |
| Ctrl+` | ???? | Extraterrestrial Alien |
| Alt+Shift+` | ???? | Pile of Poo |
| Люди | ||
| m | ???? | Man |
| Shift+m | ???? | Boy |
| Alt+m | ???? | Older Man |
| Ctrl+m | ♂️ | ️ Male Sign |
| Alt+Shift+m | ???? | Man In Tuxedo |
| f | ???? | Woman |
| Shift+f | ???? | Girl |
| Alt+f | ???? | Older Woman |
| Ctrl+f | ♀ | Female Sign |
| Alt+Shift+f | ???? | Bride with Veil |
| g | ???? | Adult |
| Shift+g | ???? | Child |
| Alt+g | ???? | Older Adult |
| Ctrl+g | ???? | Baby |
| Жесты | ||
| i | ???? | Flexed Biceps |
| Shift+i | ✌ | Victory Hand |
| Alt+i | ✊ | Raised Fist |
| Ctrl+i | ???? | Fisted Hand Sign |
| Alt+Shift+i | ???? | Shrug |
| o | ???? | Thumbs Up Sign |
| Shift+o | ???? | Ok Hand Sign |
| Alt+o | ???? | Clapping Hands Sign |
| Ctrl+o | ???? | Handshake |
| Alt+Shift+o | ???? | Face With Ok Gesture |
| p | ???? | Thumbs Down Sign |
| Shift+p | ???? | Reversed Hand with Middle Finger Extended |
| Alt+p | ???? | Person with Folded Hands |
| Ctrl+p | ???? | Face Palm |
| Alt+Shift+p | ???? | Face With No Good Gesture |
| Сердечки, чувства, праздник | ||
| h | ???? | Heart with Arrow |
| Shift+h | ???? | Broken Heart |
| Alt+h | ???? | Two Hearts |
| Ctrl+h | ???? | Heart with Ribbon |
| Alt+Shift+h | ???? | Love Letter |
| k | ???? | Kiss Mark |
| Shift+k | ???? | Rose |
| Alt+k | ✨ | Sparkles |
| Ctrl+k | ???? | Balloon |
| Alt+Shift+k | ???? | Cherries |
| u | ???? | Wrapped Present |
| Shift+u | ???? | Birthday Cake |
| Alt+u | ???? | Party Popper |
| Ctrl+u | ???? | Bottle with Popping Cork |
| Alt+Shift+u | ???? | Fireworks |
| Напитки | ||
| b | ☕ | Hot Beverage |
| Shift+b | ???? | Cup With Straw |
| Alt+b | ???? | Beer Mug |
| Ctrl+b | ???? | Wine Glass |
| Alt+Shift+b | ???? | Tropical Drink |
| Еда | ||
| v | ???? | Slice of Pizza |
| Shift+v | ???? | Hot Dog |
| Alt+v | ???? | Hamburger |
| Ctrl+v | ???? | Doughnut |
| Alt+Shift+v | ???? | Popcorn |
| n | ???? | Fork and Knife with Plate |
| Shift+n | ???? | Cooking |
| Alt+n | ???? | Pot of Food |
| Ctrl+n | ???? | Spaghetti |
| Alt+Shift+n | ???? | Green Salad |
| j | ???? | Ice Cream |
| Shift+j | ???? | Lollipop |
| Alt+j | ???? | Croissant |
| Ctrl+j | ???? | Shortcake |
| Alt+Shift+j | ???? | Cupcake |
| Деньги, бизнес, награды | ||
| \ | ???? | Chart with Downwards Trend |
| Shift+\ | ???? | Chart with Upwards Trend |
| Alt+\ | ???? | Calendar |
| Ctrl+\ | ???? | Heavy Dollar Sign |
| Alt+Shift+\ | ???? | Money Bag |
| = | ???? | Military Medal |
| Shift+= | ???? | First Place Medal |
| Alt+= | ???? | Second Place Medal |
| Ctrl+= | ???? | Third Place Medal |
| Alt+Shift+= | ???? | Trophy |
| Управление проигрывателем | ||
| [ | ⏩ | Fast forward |
| Shift+[ | ⏪ | Back (Fast Backwards) |
| Alt+[ | ⏮ | Skip to the start or previous file/track/chapter |
| Ctrl+[ | ⏭ | Skip to the end or next file/track/chapter |
| Alt+Shift+[ | ???? | ️Shuffle |
| ] | ⏯ | Play/Pause toggle |
| Shift+] | ⏸ | Pause |
| Alt+] | ⏏ | Eject |
| Ctrl+] | ⏹ | Stop |
| Alt+Shift+] | ⏺ | Record |
| Религия | ||
| r | ✝ | Latin Cross |
| Shift+r | ☦ | Orthodox Cross |
| Alt+r | ☪ | Star and Crescent |
| Ctrl+r | ✡ | Star of David |
| Alt+Shift+r | ☥ | Ankh |
| Транспорт | ||
| t | ???? | Automobile |
| Shift+t | ???? | Bus |
| Alt+t | ???? | Police Cars Revolving Light |
| Ctrl+t | ✈ | Airplane |
| Alt+Shift+t | ???? | Construction Sign |
| Знаки препинания | ||
| / | ❓ | Black Question Mark Ornament |
| Shift+/ | ❗ | Heavy Exclamation Mark Symbol |
| Alt+/ | ❕ | White Exclamation Mark Ornament |
| Ctrl+/ | ❔ | White Question Mark Ornament |
| Alt+Shift+/ | ⁉ | Exclamation Question Mark |
Варианты отображения, цвет кожи
Значительная часть эмодзи имеет два варианта отображения: текстовый и графический. Впрочем, текстовый вариант — это тоже рисунок, только упрощённый и монохромный.
Под Linux-ом сплошные чудеса: в Firefox-е оба рисунка цветные, но нарисованы по разному; а в Chrome они вообще одинаковые. При этом в Firefox треугольник на синем фоне, а в Chrome — на оранжевом.
Например, эмодзи «семья» может отображаться так ???? или так ????︎, эмодзи «дом» — ???? или ????︎, треугольник — ▶ или ▶️ (т.е. треугольники RWin+Shift+(1,2) можно использовать как кнопки Play и Reverse).
При этом одни эмодзи по умолчанию имеют текстовую форму, другие — графическую. Между ними можно переключиться, добавив после эмодзи нужный вариант отображения (variation selector). Таких вариантов для эмодзи всего два — VS-15 (text) и VS-16 (emoji). Комбинация клавиш для переключения на текст — Compose→]→[, на графику — Compose→]→].
У эмодзи, которые изображают людей или части тела, кожа специально была сделана «nonhuman» жёлто-оранжевого цвета (#FFCC22). Чтобы никого не обидеть. Но со временем решили, что неплохо иметь возможность указать оттенок кожи. У меня это тоже можно сделать. Для переключения на нужный оттенок используется комбинация Compose→]→(1…5).

Например, эмодзи «Мальчик»: ????, ????????, ????????, ????????, ????????, ????????
Чтобы увидеть, как это всё работает, нужно использовать какой‑нибудь мессенджер или редактор на основе браузерного движка (Atom, VSCode). Word и notepad это не поддерживают.
Кроме цвета кожи у некоторых эмодзи можно менять причёску. Всего есть 4 варианта — белые волосы (white), рыжие (red), вьющиеся (curly) и лысый (bald, в новой версии юникода, похоже, пока ещё нигде не работает). Выбор — Compose→]→(w,r,c,b). В итоге, можно сделать вот такого седого негра (Ctrl+Compose→m Compose→]→5 Compose→]→w):

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

| Клавиша | Символ | Значение |
|---|---|---|
| Ctrl/Alt+` | º ª | Мужской и женский порядковый индикаторы. Если не знаете, что это — вам оно не надо |
| Win+r | ※ | Reference mark. Знак сноски в иероглифических языках. Просто красивый знак, который можно использовать как украшение |
| Alt+a | ∗ | Asterisk Operator (оператор «звёздочка») |
| Ctrl+a | ⁂ | Asterism. Ставится между эпизодами/подразделами в книгах |
| Win+a | ⁊ | Тиронов значок Эт. Употребляется в ирландском и шотландском языках как замена «and» (так же, как в английском используют «&») |
| Ctrl+d | · | Middle dot. Интерпункт |
| Ctrl+f | ⁕ | Flower Mark (знак препинания «цветок») |
| Alt+g Ctrl+g | † ‡ | Dagger / Double Dagger (знаки сносок в английском языке) |
| Alt+z | ° | Знак градуса. А сразу за ним на x,c,v располагаются ′, ″ и ‴ |
| Alt+Shift+(x,v,b) | ☒☑☐ | Значки для анкет/голосований |
| Shift+(x,v) | ✗✓ | Крестик и галочка |
| Shift/Alt/Ctrl/Win+b | • ◦ ⁃ ‣ | Маркеры списков |
| Alt/Ctrl+(/?) | ¿¡ | Перевёрнутые вопросительный и восклицательный знаки |
| Alt/Ctrl+. | … ⁝ | Троеточия горизонтальное и вертикальное |
| Win+. | ․ | Пунктир |
Окончательный вид слоя RWin (добавил немного картинок, чтобы место не пропадало):

Из того, что нужно объяснить — комбинируемая обводка вокруг символов (на клавише «’»). Выглядит это вот так:

Сначала вводим символ, затем обводку. Но сразу обычно получается кривовато:

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

А это слой CapsLock из предыдущих статей (повторяю, чтобы все картинки были в одном месте):

Диакритика:

Кириллица:

Греческий:

И на этом о символах всё. На каждом слое оставлено по несколько свободных мест, чтобы вы могли добавить туда что‑то нужное именно для вас. А если и этого будет мало — есть Compose. Там остались незадействованными более 20 тысяч возможных комбинаций.
Настройка под себя
Файл «Sukhe_60_percent_keyboard_emulator.ahk»
Это стартовый файл и в его начале содержится основная часть настроек (перечислены ниже).
Административные привилегии
Требуются для изменения некоторых системных настроек. Например, для ручного ввода ip адреса сетевого интерфейса. Если вам это не нужно — закомментируйте соответствующий блок кода. Если раскомментировано — при старте будет выскакивать окошко с сообщением, что программа хочет получить привелегии.
WithNumpad
Указывает, есть на клавиатуре NumPad или нет. Если есть, то в основном блоке клавиатуры цифры и дополнительные знаки препинания будут вводиться только при нажатом CapsLock. Т. е. включенный NumLock не будет действовать на основной блок клавиш.
HexNumbersUpper
В каком регистре будут вводиться 16-ричные цифры. Настройку можно оперативно переключить комбинацией CapsLock+y. Или нажать Shift, чтобы ввести цифру в противоположном регистре.
NumpadDotAlwaysDot
В некоторых языках вместо десятичной точки используются другие символы. Если включена эта настройка, десятичным разделителем на слое CapsLock будет точка, независимо от региональных настроек.
EscKey
Задаёт клавишу, используемую как Esc. Насколько я вижу, во многих компактных клавиатурах Esc размещают на месте грависа. С помощью этой настройки вы можете его туда поместить. Правда, на грависе у меня много чего назначено, так что я не рекомендую этого делать.
RWinKey
Какая клавиша используется в качестве правого RWin (т.е. в качестве NumLock и клавиши-модификатора слоя RWin). Эта настройка нужна потому, что на некоторых клавиатурах (особенно ноутбучных) нет правого RWin.
MenuKey
По аналогичным причинам нужно определить и клавишу, которая будет использоваться в качестве Compose.
HomeEndPosition
На одном из моих ноутбуков над стрелками расположены клавиши PgUp и PgDn, на втором — клавиши браузера Back и Forward. А мне хочется, чтобы там были Home и End. Эта настройка как раз и позволит обменять значения клавиш Home и End c теми клавишами, которые находятся над стрелками.
EmDashWithSpace
При нажатии длинного тире (Em dash) вводить только тире, или тире с пробелами по бокам.
DittoWithBars
При нажатии Space+Alt+d вводить 〃 или ―〃―
UseSystemCalculator
Использовать системный калькулятор. Отключите, если на кнопку «Калькулятор» у вас назначена другая программа.
DiacriticAfterSymbol
Вводить диакритические знаки до или после символа. В любом случае, перед диакритическим знаком нужно нажать Compose.
DisableSearchDiacritic
Отменить автозамену комбинации «диакритика+символ» на готовый символ с диакритикой.
Внимание! Автозамена работает правильно только если диакритика вводится перед символом (DiacriticAfterSymbol := false)
Файл «C:\AHK\local_vars.ahk»
Служит для переназначения переменных, описанных выше. Нужно это в том случае, если раскладка используется на нескольких компьютерах. У меня она, например, синхронизируется через Google Drive. И после редактирования (и перезагрузки скрипта) изменения доступны везде. Но клавиатуры на компьютерах разные и для каждой клавиатуры нужны свои настройки. Вот в этом файле они и вносятся. Если компьютер всего один, этот файл не нужен.
Файл «Compose_and_Other_Arrays.ahk»
Содержит ассоциативные массивы, в которых ищутся готовые символы для замены комбинаций «диакритика + символ» и всего остального, что вводится после Compose.
Фактически набор этих массивов образует древовидную структуру с корнем в массиве Start. Ветвление происходит по мнемокодам нажатых клавиш (Shift_h, s, 6). В листьях дерева — коды символов или имена последующих массивов. Количество ветвлений не ограничивается.
a := {"Shift_e":"{U+00C6}", "e":"{U+00E6}"}
Теперь, если будет нажато «Shift+e» — получим Æ, просто «e» — æ. Будет нажато что-то другое — введётся буква «a» и символ с нажатой кнопки.
В массиве может встретиться «*». Это означает «любой символ, кроме имеющихся в массиве».
Пример:
Акут может ставиться не только над одной из 26-ти обычных английских букв, но и, например, над «Æ». Получается, что над «A» его ставить сразу нельзя — нужно дождаться следующей буквы. Обрабатывается это вот так (sc028 — код клавиши «'»):
sc028_Shift_a := {"Shift_e":"{U+01FC}", "e":"{U+01FC}", "*":"{U+00C1}"}
Compose ' A e → Ǽ
Compose ' A E → Ǽ
Compose ' A d → Ád
То есть, если в массиве не нашлось подходящего символа — выдаст символ «Á» (U+00C1) и следующий нажатый символ.
Служебные комбинации клавиш
| Комбинация | Назначение |
|---|---|
| Alt + CapsLock | CapsLock |
| Shift + Compose | Диакритика вводится до или после символа (переключатель) |
| Win + Compose | Включить/отключить поиск в массиве готовых символов |
| Space + CapsLock | Ввод кириллического символа |
| Space + Shift + CapsLock | Переключение на слой кириллицы и обратно |
| Space + Tab | Ввод греческого символа |
| Space + Shift + Tab | Переключение на слой греческого языка |
| Ctrl + Compose | Ввод символа со слоя стрелок и эмодзи |
| Ctrl + Shift + Compose | Включить/отключить слой стрелок и эмодзи |
| Alt + Compose | Следующий символ представить в виде кода HTML |
| Alt + Ѕhift + Compose | Включить/отключить режим HTML кодов |
| Ctrl + Alt + Compose | Ввод произвольного символа Unicode по его коду |
| Space + RWin | Вызвать калькулятор |
| Ctrl + Win + r | Перезагрузить скрипт |
| CapsLock + y | 16-ричные цифры по умолчанию в верхнем или нижнем регистре |
| CapsLock + Shift + y | Клавиатура с NumPad-ом или без |
| CapsLock + Alt + y | Длинное тире обрамлять пробелами или нет |
| CapsLock + Ctrl + y | ―〃― или 〃 |
Все эти комбинации я уже озвучивал ранее. Кроме Ctrl+Alt+Compose. Нажимаете эту комбинацию, вводите юникодовский 16-ричный код символа (используя клавиши на слое CapsLock) и снова нажимаете комбинацию. Введётся нужный символ.
И про Alt+Compose не упоминал. При его использовании выдаётся комбинация для отображения символа в виде кода HTML. Например, «®» будет показан в виде ® Действует это только на допсимволы, вставляемые скриптом (обычные буквы и цифры не заменяются).
На этом цикл статей закончен, вот первая и вторая статьи. Скрипты можете взять на гитхабе. Там есть и для линукса, правда, только управление курсором и часть слоя Space.
Комментарии (8)

roqin
08.06.2022 15:56Всегда раздражала неочевидность ввода символов в виндовс (постоянно нужных мне дополнительных символов не так много и поэтому unicode коды запомнить не составляет труда, но в линуксе с сочетания с клавишей compose гораздо удобнее, особенно если /usr/share/X11/locale/en_US.UTF-8/Compose почитать). Надо будет на днях эту 60% клавиатуру заценить.
Firefox под Windows показывает нормальную дружную семью, а под Linux-ом девочка не комбинируется с остальными членами семьи и располагается отдельно.
Ну вот ХЗ, у меня сейчас в Windows 7 и Firefox 101 вот эта семья ???????????????? отображается с девочкой отдельно, женщину-врача ????⚕ тоже делать не хочет. (Хот я и вижу сейчас явно что там несколько символов и ZWJ есть) и т.п.
Ещё эти variation selector могут применяться не только для эмодзи, но и как, к примеру, ∅︀ символ пустого множества с Variation Selector-1 должно отображаться как символ нулевой фонемы, т.е. перечёркнутый нуль (это всё стандартизировано и указано здесь http://www.unicode.org/Public/UNIDATA/StandardizedVariants.txt). Но я что-то пока не видел чтоб это работало ????

sukhe Автор
08.06.2022 16:23Firefox 101 & Windows 10 ⇒ нормальная семья, нормальные врачи
Под Линуксом всё сильно заморочено. Клавиша может иметь аж 8 значений. Но!
Слои располагаются вот так:
1. Базовый слой
2. Базовый + Shift
3. Слой с AltGr (точнее, с модификатором 3-го уровня, но обычно это AltGr)
4. Слой с AltGr + Shift
5. Слой с модификатором 5-го уровня
6. Модификатор 5-го + Shift
7. Слой с одновременным нажатием модификаторов 3-го и 5-го уровней
8. Слой с одновременным нажатием модиф.3, модиф.5 и Shift
При этом первые 4 слоя уже используются раскладками US International и Ukrainian Unicode.
Мне оставалось только назначить пробел модификатором 5-го слоя и… всё ????
Никаких больше комбинаций с Ctrl, Alt, Win и никаких других слоёв сделать нельзя.
Ну, как нельзя. Может и можно. Может это просто я не разобрался с xkb. В таком случае буду благодарен за подсказку.
Мне также советовали попробовать KMonad. Попробовал. Наткнулся на другую проблему: кнопки он может переназначить на другие кнопки, но не на ввод юникодовского символа. Можно, конечно, попробовать через макросы выкрутить, с помощью Ctrl+Shift+u (линуксовая комбинация для ввода юникодовских символов). Но мне пока не хочется с этим разбираться.
Так что оставил вариант с xkb и частью слоя Space. Основное, что мне нужно (навигация) — работает. А для остального можно использовать Compose.
roqin
08.06.2022 20:09Да, в линуксе заморочено. У меня теперь у части программ сочетания с compose не работают вообще, сочетание ctrl+shift+u отвалилось уже давно и сочетания из ~/.XCompose обрабатываются почему-то не все (как оказалось иначе сочетания н+ь=њ нет ????). Вот что хочешь то и думай. Впрочем, в винде тоже сочетания Alt и цифры оказывается работает далеко не везде ????
ИЧСХ, в том же линуксе с яндекс браузером ситуация чутка лучше: там хоть врачи и машущие люди по полу различаются.
А эти эмодзи хорошо вместо смайлов использовать. Правда выяснилось что поддержка символов не из Unicode BMP тоже есть не везде ???? (видимо до сих пор думают что в уникоде только 65536 символов)
Кстати, а поддержка кириллицы в нижнем и верхнем регистре будет? https://www.unicode.org/charts/PDF/Unicode-15.0/U150-1E030.pdf (Которая появится, скорее всего, в сентябре, но ᵸꚜꚝ есть уже сейчас)

sukhe Автор
08.06.2022 21:20В винде, чтобы юникод через Alt набирать, надо реестр править. Непонятно, что мешает установить эту настройку изначально в нужное значение. Разве что оно конфликтует с чем-то глобально. Ну а то, что в отдельных каких-то местах Alt+цифры не работает — это даже не удивительно.
Unicode BMP, говорите… У меня иногда складывается впечатление, что инглиш-нэйтивам хватает 127 символов ASCII, а весь остальной мир пусть сам разбирается.
Верхняя/нижняя кириллица когда ещё до нас доберётся… Это ж 15-я версия юникода. Тут вон ещё из 11-й от 2018-го не всё нормально обрабатывается. Когда станет актуально — сделать несложно. Как раз Y свободна, на неё можно назначить переключение. И добавить символы в файлик «Fonts.ahk».

kapac_er
08.06.2022 21:27С каждой следующей статьей из этого цикла, все сильнее радуюсь что LaTeX принят в качестве основного для документов по работе.

sukhe Автор
08.06.2022 21:54Всё… Цикл закончился.
LaTeX — штука хорошая, но, полагаю, в большинстве случаев основной формат документов всё же вордовский.
Плюс у некоторых ещё и такое (старая фотка, сейчас ещё добавилось). И всех контрагентов на LaTeX не переучишь.

amarao
А мне compose больше нравится. Я его на правый alt повесил.
Compose-c Shift-\ → ¢
Compose-c = → €
Compose-o o → ° (или даже Compose-o Compose-o)
Compose-Shift-= → ≡
Compose-- Compose-= → ±
Compose-- Compose-Shift-. →→ (знак стрелочки)
Все визуальные и очень напоминают процесс сборки иероглифов из похожих глифов.
sukhe Автор
Правый Alt лично для меня не самый лучший вариант, т. к. обе мои языковые раскладки имеют третий/четвёртый слои, доступные через AltGr (он же правый Alt).
Однако, в настройках скрипта кнопку Compose можно назначить и на правый Alt. А в файле «Compose_and_Other_Arrays.ahk» прописать для Compose все нужные комбинации. Для того и пример настройки приведен, чтобы кто угодно мог настроить последовательности Compose так, как удобно лично ему.