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

Верхние и нижние индексы, натуральные дроби


Очень часто для отображения натуральных дробей используют обычные цифры и косую черту: 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 (зелёные кнопки на предыдущем рисунке).

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

image


Один символ с этого слоя вводится после нажатия 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 Региональный индикатор            

image

Цифры вводятся на цифровом ряду. От ⑩ до ⑲ — с 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). В листьях дерева — коды символов или имена последующих массивов. Количество ветвлений не ограничивается.

Если захотите что-то поменять, вот пример
В массиве Start есть элемент « "a":"a" ». Это означает, что если нажата Compose, а затем «a» — для дальнейшей обработки будет использоваться массив «a». Который выглядит вот так:

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. Например, «®» будет показан в виде &⁠#⁠x⁠A⁠E; Действует это только на допсимволы, вставляемые скриптом (обычные буквы и цифры не заменяются).

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

Комментарии (8)


  1. amarao
    08.06.2022 12:00

    А мне compose больше нравится. Я его на правый alt повесил.

    Compose-c Shift-\ → ¢

    Compose-c = → €

    Compose-o o → ° (или даже Compose-o Compose-o)

    Compose-Shift-= → ≡

    Compose-- Compose-= → ±

    Compose-- Compose-Shift-. →→ (знак стрелочки)

    Все визуальные и очень напоминают процесс сборки иероглифов из похожих глифов.


    1. sukhe Автор
      08.06.2022 13:46

      Правый Alt лично для меня не самый лучший вариант, т. к. обе мои языковые раскладки имеют третий/четвёртый слои, доступные через AltGr (он же правый Alt).

      Однако, в настройках скрипта кнопку Compose можно назначить и на правый Alt. А в файле «Compose_and_Other_Arrays.ahk» прописать для Compose все нужные комбинации. Для того и пример настройки приведен, чтобы кто угодно мог настроить последовательности Compose так, как удобно лично ему.


  1. 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). Но я что-то пока не видел чтоб это работало ????


    1. sukhe Автор
      08.06.2022 16:23

      Firefox 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.


      1. 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 (Которая появится, скорее всего, в сентябре, но ᵸꚜꚝ есть уже сейчас)


        1. sukhe Автор
          08.06.2022 21:20

          В винде, чтобы юникод через Alt набирать, надо реестр править. Непонятно, что мешает установить эту настройку изначально в нужное значение. Разве что оно конфликтует с чем-то глобально. Ну а то, что в отдельных каких-то местах Alt+цифры не работает — это даже не удивительно.

          Unicode BMP, говорите… У меня иногда складывается впечатление, что инглиш-нэйтивам хватает 127 символов ASCII, а весь остальной мир пусть сам разбирается.

          Верхняя/нижняя кириллица когда ещё до нас доберётся… Это ж 15-я версия юникода. Тут вон ещё из 11-й от 2018-го не всё нормально обрабатывается. Когда станет актуально — сделать несложно. Как раз Y свободна, на неё можно назначить переключение. И добавить символы в файлик «Fonts.ahk».


  1. kapac_er
    08.06.2022 21:27

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


    1. sukhe Автор
      08.06.2022 21:54

      Всё… Цикл закончился.
      LaTeX — штука хорошая, но, полагаю, в большинстве случаев основной формат документов всё же вордовский.

      Плюс у некоторых ещё и такое (старая фотка, сейчас ещё добавилось). И всех контрагентов на LaTeX не переучишь.
      image