diff --git a/.vscode/launch.json b/.vscode/launch.json
index 881c2ee4..c36edbd2 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -6,7 +6,7 @@
"configurations": [
{
"name": "(Windows) Launch",
- "type": "cppvsdbg", // "lldb",
+ "type": "lldb",
"request": "launch",
"program": "${workspaceRoot}/target/debug/mathcat.exe",
"args": [],
@@ -16,7 +16,7 @@
},
{
"name": "Run Test Debugger",
- "type": "cppvsdbg", // "lldb",
+ "type": "lldb",
"request": "launch",
"program": "${workspaceRoot}/target/debug/mathcat.exe",
"args": [],
diff --git a/PythonScripts/audit_translations/parsers.py b/PythonScripts/audit_translations/parsers.py
index 421ebb77..bf64843e 100644
--- a/PythonScripts/audit_translations/parsers.py
+++ b/PythonScripts/audit_translations/parsers.py
@@ -4,6 +4,7 @@
Handles parsing of rule files and unicode files to extract rule information.
"""
+import re
from pathlib import Path
from typing import Any
@@ -127,7 +128,7 @@ def parse_unicode_file(content: str, data: Any) -> list[RuleInfo]:
def has_audit_ignore(content: str) -> bool:
"""Check if the rule content contains an audit-ignore comment"""
- return "# audit-ignore" in content
+ return re.search(r"#\s*audit-ignore\b", content) is not None
def find_untranslated_text_entries(node: Any) -> list[UntranslatedEntry]:
diff --git a/PythonScripts/audit_translations/tests/test_parsers.py b/PythonScripts/audit_translations/tests/test_parsers.py
index ed252cde..e6513945 100644
--- a/PythonScripts/audit_translations/tests/test_parsers.py
+++ b/PythonScripts/audit_translations/tests/test_parsers.py
@@ -21,6 +21,14 @@ def test_detects_audit_ignore_comment(self):
"""Ensure detects audit ignore comment."""
assert has_audit_ignore("- name: foo\n # audit-ignore\n tag: bar")
+ def test_detects_audit_ignore_with_extra_spaces(self):
+ """Ensure detects audit ignore when the comment has extra spaces."""
+ assert has_audit_ignore("- name: foo\n # audit-ignore\n tag: bar")
+
+ def test_detects_audit_ignore_with_tab_after_hash(self):
+ """Ensure detects audit ignore when the comment uses a tab after the hash."""
+ assert has_audit_ignore("- name: foo\n #\taudit-ignore\n tag: bar")
+
def test_detects_inline_audit_ignore(self):
"""Ensure detects inline audit ignore."""
assert has_audit_ignore("- name: foo # audit-ignore")
diff --git a/README.md b/README.md
index 9351917e..de080bb0 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# MathCAT: Math Capable Assistive Technology
-
+
is a library that supports conversion of MathML to:
@@ -17,4 +17,4 @@ There are four related projects that make use of MathCAT:
MathCAT is used in many assistive technologies including NVDA and JAWS.
-For more information, see the [full documentation](https://nsoiffer.github.io/MathCAT/).
\ No newline at end of file
+For more information, see the [full documentation](https://nsoiffer.github.io/MathCAT/).
diff --git a/Rules/Languages/en/ClearSpeak_Rules.yaml b/Rules/Languages/en/ClearSpeak_Rules.yaml
index 7b6afd61..45983d71 100644
--- a/Rules/Languages/en/ClearSpeak_Rules.yaml
+++ b/Rules/Languages/en/ClearSpeak_Rules.yaml
@@ -34,7 +34,7 @@
replace:
- test:
if: "$Verbosity!='Terse'"
- then: [t: "the"] # phrase('the' square root of 25)
+ then: [ot: "the"] # phrase('the' square root of 25)
- test:
if: "$ClearSpeak_Roots = 'PosNegSqRoot' or $ClearSpeak_Roots = 'PosNegSqRootEnd'"
then:
@@ -65,7 +65,7 @@
replace:
- test:
if: "$Verbosity!='Terse'"
- then: [t: "the"] # phrase(6 is 'the' square root of 36)
+ then: [ot: "the"] # phrase(6 is 'the' square root of 36)
- test:
if: "$ClearSpeak_Roots = 'PosNegSqRoot' or $ClearSpeak_Roots = 'PosNegSqRootEnd'"
then:
@@ -262,7 +262,7 @@
replace:
- test:
if: "$Verbosity!='Terse'"
- then: [t: "the"] # phrase('the' third power of 2)
+ then: [ot: "the"] # phrase('the' third power of 2)
- bookmark: "*[2]/@id"
- test:
if: "*[2][self::m:mn][not(contains(., '.'))]"
@@ -478,7 +478,7 @@
replace:
- test:
if: "$Verbosity!='Terse'"
- then: [t: "the"] # phrase('the' absolute value of 25)
+ then: [ot: "the"] # phrase('the' absolute value of 25)
- x: "$WordToSay"
- t: "of" # phrase(the absolute value 'of' 25)
- x: "*[1]"
@@ -611,7 +611,7 @@
- bookmark: "@id"
- test:
if: "$Verbosity!='Terse' and not(IsNode(following-sibling::*[2],'simple'))"
- then: [t: "the"] # phrase('the' square root of 25)
+ then: [ot: "the"] # phrase('the' square root of 25)
- test:
- if: ".='log'"
then: [t: "log"]
diff --git a/Rules/Languages/en/SharedRules/default.yaml b/Rules/Languages/en/SharedRules/default.yaml
index 2a715c5a..23de9c71 100644
--- a/Rules/Languages/en/SharedRules/default.yaml
+++ b/Rules/Languages/en/SharedRules/default.yaml
@@ -120,7 +120,7 @@
replace:
- test:
if: "$Verbosity!='Terse'"
- then: [t: "the"] # phrase("'the' root of x")
+ then: [ot: "the"] # phrase("'the' root of x")
- t: "root"
- test:
if: "$Verbosity!='Terse'"
@@ -138,7 +138,7 @@
replace:
- test:
if: "$Verbosity!='Terse'"
- then: [t: "the"] # phrase("'the' root of x")
+ then: [ot: "the"] # phrase("'the' root of x")
- t: "root with index" # phrase("the 'root with index' 3 of 5")
- x: "*[1]"
- pause: short
diff --git a/Rules/Languages/en/SharedRules/general.yaml b/Rules/Languages/en/SharedRules/general.yaml
index d6feca1d..c1bca23b 100644
--- a/Rules/Languages/en/SharedRules/general.yaml
+++ b/Rules/Languages/en/SharedRules/general.yaml
@@ -154,7 +154,7 @@
replace:
- test:
if: "$Verbosity!='Terse'"
- then: [t: "the"] # phrase('the' square root of 25 equals 5)
+ then: [ot: "the"] # phrase('the' square root of 25 equals 5)
- x: "*[1]"
- t: "from" # phrase(subtracting 5 'from' 10 gives 5)
- x: "*[2]"
@@ -171,7 +171,7 @@
replace:
- test:
if: "$Verbosity!='Terse'"
- then: [t: "the"] # phrase('the' square root of 25 equals 5)
+ then: [ot: "the"] # phrase('the' square root of 25 equals 5)
- x: "*[1]"
- t: "over" # phrase(2 'over' 3 equals two thirds)
- x: "*[2]"
@@ -185,7 +185,7 @@
replace:
- test:
if: "$Verbosity!='Terse'"
- then: [t: "the"] # phrase('the' square root of 25 equals 5)
+ then: [ot: "the"] # phrase('the' square root of 25 equals 5)
- x: "*[1]"
- t: "of" # phrase(the square root 'of' 25 equals 5)
- x: "*[2]"
@@ -472,7 +472,7 @@
- bookmark: "@id"
- test:
- if: "$Verbosity!='Terse'"
- then: [t: "the"] # phrase('the' logarithm function is used in mathematics)
+ then: [ot: "the"] # phrase('the' logarithm function is used in mathematics)
- test:
- if: ".= 'log'"
then: [t: "log"] # phrase(the 'log' function is used in mathematics)
diff --git a/Rules/Languages/en/SharedRules/geometry.yaml b/Rules/Languages/en/SharedRules/geometry.yaml
index 1b2fe2a7..8dc1a946 100644
--- a/Rules/Languages/en/SharedRules/geometry.yaml
+++ b/Rules/Languages/en/SharedRules/geometry.yaml
@@ -38,7 +38,7 @@
replace:
- test:
if: "$Verbosity='Verbose'"
- then: [t: "the"] # phrase('the' arc A B C)
+ then: [ot: "the"] # phrase('the' arc A B C)
- t: "arc" # phrase(the 'arc' A B C)
- x: "*[1]"
- x: "*[2]"
@@ -64,7 +64,7 @@
replace:
- test:
if: "$Verbosity='Verbose'"
- then: [t: "the"] # phrase('the' point at 1, 2)
+ then: [ot: "the"] # phrase('the' point at 1, 2)
- t: "point" # phrase(the 'point' at 1, 2)
- test:
if: "$Verbosity='Verbose'"
diff --git a/Rules/Languages/en/SimpleSpeak_Rules.yaml b/Rules/Languages/en/SimpleSpeak_Rules.yaml
index e9b65427..e831adaa 100644
--- a/Rules/Languages/en/SimpleSpeak_Rules.yaml
+++ b/Rules/Languages/en/SimpleSpeak_Rules.yaml
@@ -34,7 +34,7 @@
replace:
- test:
if: "$Verbosity!='Terse'"
- then: [t: "the"] # phrase('the' square root of x)
+ then: [ot: "the"] # phrase('the' square root of x)
- t: "square root" # phrase(the 'square root' of x)
- test:
if: "$Verbosity!='Terse'"
@@ -52,7 +52,7 @@
replace:
- test:
if: "$Verbosity!='Terse'"
- then: [t: "the"]
+ then: [ot: "the"]
- test:
if: "*[2][self::m:mn and not(contains(., '.'))]"
then_test:
@@ -181,7 +181,7 @@
replace:
- test:
if: "$Verbosity!='Terse'"
- then: [t: "the"] # # phrase('the' fourth power of 10)
+ then: [ot: "the"] # # phrase('the' fourth power of 10)
- bookmark: "*[2]/@id"
- test:
if: "*[2][self::m:mn][not(contains(., '.'))]"
diff --git a/Rules/Languages/en/navigate.yaml b/Rules/Languages/en/navigate.yaml
index 7559b422..92874f03 100644
--- a/Rules/Languages/en/navigate.yaml
+++ b/Rules/Languages/en/navigate.yaml
@@ -212,7 +212,6 @@
# ********* ZoomIn ***************
- name: zoom-in-leaf
-
tag: "*"
match: "($NavCommand = 'ZoomIn' or $NavCommand = 'ZoomInAll') and IsNode(., 'leaf')"
replace:
diff --git a/Rules/Languages/en/unicode-full.yaml b/Rules/Languages/en/unicode-full.yaml
index eb4a6cbe..beb3e800 100644
--- a/Rules/Languages/en/unicode-full.yaml
+++ b/Rules/Languages/en/unicode-full.yaml
@@ -676,7 +676,7 @@
- "∁": # 0x2201
- test:
if: "$Verbosity!='Terse'"
- then: [t: "the"]
+ then: [ot: "the"]
- t: "complement of"
- "∂": # 0x2202
- test:
@@ -770,17 +770,17 @@
- "√": # 0x221a
- test:
if: "$Verbosity!='Terse'"
- then: [t: "the"]
+ then: [ot: "the"]
- t: "square root of"
- "∛": # 0x221b
- test:
if: "$Verbosity!='Terse'"
- then: [t: "the"]
+ then: [ot: "the"]
- t: "cube root of"
- "∜": # 0x221c
- test:
if: "$Verbosity!='Terse'"
- then: [t: "the"]
+ then: [ot: "the"]
- t: "fourth root of"
- "∝": # 0x221d
- test:
@@ -893,7 +893,7 @@
- "≏": # 0x224f
- test:
if: "$Verbosity!='Terse'"
- then: [t: "the"]
+ then: [ot: "the"]
- t: "difference between"
- "≐": [t: "approaches the limit"] # 0x2250
- "≑": # 0x2251
@@ -1227,17 +1227,17 @@
- "⋒": # 0x22d2
- test:
if: "$Verbosity!='Terse'"
- then: [t: "the"]
+ then: [ot: "the"]
- t: "double intersection of"
- "⋓": # 0x22d3
- test:
if: "$Verbosity!='Terse'"
- then: [t: "the"]
+ then: [ot: "the"]
- t: "double union of"
- "⋔": # 0x22d4
- test:
if: "$Verbosity!='Terse'"
- then: [t: "the"]
+ then: [ot: "the"]
- t: "proper intersection of"
- "⋕": # 0x22d5
- test:
diff --git a/Rules/Languages/en/unicode.yaml b/Rules/Languages/en/unicode.yaml
index a9020c0f..0a0b9136 100644
--- a/Rules/Languages/en/unicode.yaml
+++ b/Rules/Languages/en/unicode.yaml
@@ -377,7 +377,7 @@
- "∆": # 0x2206
- test:
if: "$Verbosity!='Terse'"
- then: [t: "the"]
+ then: [ot: "the"]
- t: "laplacian of"
- "∈": # 0x2208
- test:
@@ -471,7 +471,7 @@
- "√": # 0x221a
- test:
if: "$Verbosity!='Terse'"
- then: [t: "the"]
+ then: [ot: "the"]
- t: "square root of"
- "∝": # 0x221d
- test:
diff --git a/Rules/Languages/ru/unicode-full.yaml b/Rules/Languages/ru/unicode-full.yaml
index cd76b611..8023d87f 100644
--- a/Rules/Languages/ru/unicode-full.yaml
+++ b/Rules/Languages/ru/unicode-full.yaml
@@ -1,2648 +1,3241 @@
---
- - "¢": [t: "центы"] # 0xa2 (en: 'cents', google translation)
- - "£": [t: "фунты"] # 0xa3 (en: 'pounds', google translation)
- - "¤": [t: "знак валюты"] # 0xa4 (en: 'currency sign', google translation)
- - "¥": [t: "иены"] # 0xa5 (en: 'yen', google translation)
- - "¦": [t: "вертикальная пунктирная черта"] # 0xa6 (en: 'broken bar', google translation)
- - "§": [t: "параграф"] # 0xa7 (en: 'section', google translation)
- - "¨": [t: "две точки"] # 0xa8 (en: 'double dot', google translation)
- - "©": [t: "авторское право"] # 0xa9 (en: 'copyright', google translation)
- - "ª": [t: "женский порядковый индикатор"] # 0xaa (en: 'feminine ordinal indicator', google translation)
- - "¬": [t: "отрицание"] # 0xac (en: 'not', google translation)
- - "«": [t: "левая двойная угловая кавычка"] # 0xab (en: 'left-pointing double angle quote mark', google translation)
- - "¯": # 0xaf
+ - "¢": [t: "центы"] # 0xa2
+ - "£": [t: "фунты"] # 0xa3
+ - "¤": [t: "знак валюты"] # 0xa4
+ - "¥": [t: "иена"] # 0xa5
+ - "¦": [t: "вертикальная черта с разрывом"] # 0xa6
+ - "§": [t: "параграф"] # 0xa7
+ - "¨": [t: "двойная точка"] # 0xa8
+ - "©": [t: "авторское право"] # 0xa9
+ - "ª": [t: "указатель женского рода"] # 0xaa
+ - "¬": [t: "не"] # 0xac
+ - "«": [t: "левая двойная угловая кавычка"] # 0xab
+ - "¯": # 0xaf
- test:
if: "ancestor::m:modified-variable and preceding-sibling::*[1][self::m:mi]"
- then: [t: "черта"] # (en: 'bar', google translation)
- else: [t: "линия"] # (en: 'line', google translation)
- - "²": [t: "в квадрате"] # 0xb2 (en: 'two', google translation)
- - "³": [t: "в кубе"] # 0xb3 (en: 'three', google translation)
- - "´": [t: "акут"] # 0xb4 (en: 'acute', google translation)
- - "µ": [t: "микро"] # 0xb5 (en: 'micro', google translation)
- - "¹": [t: "в первой степени"] # 0xb9 (en: 'one', google translation)
- - "º": [t: "мужской порядковый индикатор"] # 0xb9 (en: 'masculine ordinal indicator', google translation)
+ then: [t: "черта"]
+ else: [t: "линия"]
+ - "²": [t: "два"] # 0xb2
+ - "³": [t: "три"] # 0xb3
+ - "´": [t: "акут"] # 0xb4
+ - "µ": [t: "микро"] # 0xb5
+ - "¹": [t: "один"] # 0xb9
+ - "º": [t: "указатель мужского рода"] # 0xb9
- "·":
- test:
if: "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_MultSymbolDot = 'Auto'"
- then: [t: "умножить"] # (en: 'times', google translation)
- else: [t: "точка"] # (en: 'dot')
- - "×": # 0xd7
+ then: [t: "умножить"]
+ else: [t: "точка"]
+ - "×": # 0xd7
- test:
if: "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_MultSymbolX = 'Auto'"
- then: [t: "умножить"] # (en: 'times', google translation)
+ then: [t: "умножить"]
else_test:
if: $ClearSpeak_MultSymbolX = 'By'
- then: [t: "на"] # (en: 'by', google translation)
- else: [t: "крестик"] # (en: 'cross')
- - "÷": [t: "разделить на"] # 0xf7 (en: 'divided by')
- - "¡": [t: "перевернутый восклицательный знак"] # 0xa1 (en: 'inverted exclamation mark', google translation)
- - "¶": [t: "знак абзаца"] # 0xb6 (en: 'paragraph mark', google translation)
- - "¿": [t: "перевёрнутый вопросительный знак"] # 0xbf (en: 'inverted question mark', google translation)
-
- - "ʰ": [t: "верхний индекс h"] # 0x2b0 (en: 'modifier small h', google translation)
- - "ʱ": [t: "верхний индекс h с крючком"] # 0x2b1 (en: 'modifier small h with hook', google translation)
- - "ʲ": [t: "верхний индекс j"] # 0x2b2 (en: 'modifier small j', google translation)
- - "ʳ": [t: "верхний индекс r"] # 0x2b3 (en: 'modifier small r', google translation)
- - "ʴ": [t: "верхний индекс перевёрнутого r"] # 0x2b4 (en: 'modifier small turned r', google translation)
- - "ʵ": [t: "верхний индекс перевёрнутого r с крючком"] # 0x2b5 (en: 'modifier small turned r with hook', google translation)
- - "ʶ": # 0x2b6
- - t: "верхний индекс перевёрнутой" # (en: 'modifier small inverted', google translation)
+ then: [t: "на"]
+ else: [t: "крест"]
+ - "÷": [t: "разделить на"] # 0xf7
+ - "¡": [t: "перевёрнутый восклицательный знак"] # 0xa1
+ - "¶": [t: "знак абзаца"] # 0xb6
+ - "¿": [t: "перевёрнутый вопросительный знак"] # 0xbf
+
+ - "ʰ": [t: "модификатор маленькая h"] # 0x2b0
+ - "ʱ": [t: "модификатор маленькая h с крюком"] # 0x2b1
+ - "ʲ": [t: "модификатор маленькая j"] # 0x2b2
+ - "ʳ": [t: "модификатор маленькая r"] # 0x2b3
+ - "ʴ": [t: "модификатор маленькая перевёрнутая r"] # 0x2b4
+ - "ʵ": [t: "модификатор маленькая перевёрнутая r с крюком"] # 0x2b5
+ - "ʶ": # 0x2b6
+ - t: "модификатор маленькая перевёрнутая"
- spell: "translate('R', 'R', 'R')"
- - "ʷ": [t: "верхний индекс w"] # 0x2b7 (en: 'modifier small w', google translation)
- - "ʸ": [t: "верхний индекс y"] # 0x2b8 (en: 'modifier small y', google translation)
- - "ʹ": [t: "штрих"] # 0x2b9 (en: 'modifier prime', google translation)
- - "ʺ": [t: "двойной штрих"] # 0x2ba (en: 'modifier double prime', google translation)
- - "ʻ": [t: "перевёрнутая запятая"] # 0x2bb (en: 'modifier turned comma', google translation)
- - "ʼ": [t: "апостроф"] # 0x2bc (en: 'modifier apostrophe', google translation)
- - "ʽ": [t: "перевёрнутый апостроф"] # 0x2bd (en: 'modifier reversed comma', google translation)
- - "ʾ": [t: "правое полукольцо"] # 0x2be (en: 'modifier right half ring', google translation)
- - "ʿ": [t: "левое полукольцо"] # 0x2bf (en: 'modifier left half ring', google translation)
- - "ˀ": [t: "гортанная смычка"] # 0x2c0 (en: 'modifier glottal stop', google translation)
- - "ˁ": [t: "перевёрнутая гортанная смычка"] # 0x2c1 (en: 'modifier reversed glottal stop', google translation)
- - "˂": [t: "левый наконечник стрелки"] # 0x2c2 (en: 'modifier left arrowhead', google translation)
- - "˃": [t: "правый наконечник стрелки"] # 0x2c3 (en: 'modifier right arrowhead', google translation)
- - "˄": [t: "верхний наконечник стрелки"] # 0x2c4 (en: 'modifier up arrowhead', google translation)
- - "˅": [t: "нижний наконечник стрелки"] # 0x2c5 (en: 'modifier down arrowhead', google translation)
- - "ˆ": [t: "циркумфлекс"] # 0x2c6 (en: 'modifier circumflex accent', google translation)
- - "ˇ": [t: "гачек"] # 0x2c7 (en: 'check', google translation)
- - "ˈ": [t: "вертикальная черта"] # 0x2c8 (en: 'modifier vertical line', google translation)
-en: 'right harpoon over left harpoon', google translation)
- - "⇍": [t: "слева двойная стрелка с ходом"] # 0x21cd (en: 'leftwards double arrow with stroke', google translation)
- - "⇎": [t: "левая правая двойная стрелка с ходом"] # 0x21ce (en: 'left right double arrow with stroke', google translation)
- - "⇏": [t: "права двойная стрелка с ходом"] # 0x21cf (en: 'rightwards double arrow with stroke', google translation)
- - "⇐": [t: "левая двойная стрелка"] # 0x21d0 (en: 'leftwards double arrow', google translation)
- - "⇑": [t: "вверх двойной стрелы"] # 0x21d1 (en: 'upwards double arrow', google translation)
- - "⇒": [t: "права двойная стрелка"] # 0x21d2 (en: 'rightwards double arrow', google translation)
- - "⇓": [t: "вниз двойной стрелы"] # 0x21d3 (en: 'downwards double arrow', google translation)
- - "⇔": [t: "левая правая двойная стрелка"] # 0x21d4 (en: 'left right double arrow', google translation)
- - "⇕": [t: "вниз по двойной стрелке"] # 0x21d5 (en: 'up down double arrow', google translation)
- - "⇖": [t: "северо -западный двойной стрела"] # 0x21d6 (en: 'north west double arrow', google translation)
- - "⇗": [t: "северо -восток двойной стрелы"] # 0x21d7 (en: 'north east double arrow', google translation)
- - "⇘": [t: "юго -восточный двойной стрела"] # 0x21d8 (en: 'south east double arrow', google translation)
- - "⇙": [t: "юго -западный двойной стрела"] # 0x21d9 (en: 'south west double arrow', google translation)
- - "⇚": [t: "левая тройная стрелка"] # 0x21da (en: 'leftwards triple arrow', google translation)
- - "⇛": [t: "прямо тройная стрелка"] # 0x21db (en: 'rightwards triple arrow', google translation)
- - "⇜": [t: "слева стрелка"] # 0x21dc (en: 'leftwards squiggle arrow', google translation)
- - "⇝": [t: "права средь стрелка"] # 0x21dd (en: 'rightwards squiggle arrow', google translation)
- - "⇞": [t: "стрелка вверх с двойным ходом"] # 0x21de (en: 'upwards arrow with double stroke', google translation)
- - "⇟": [t: "стрелка вниз с двойным ходом"] # 0x21df (en: 'downwards arrow with double stroke', google translation)
- - "⇠": [t: "левая пунктирная стрела"] # 0x21e0 (en: 'leftwards dashed arrow', google translation)
- - "⇡": [t: "вверх пунктирная стрелка"] # 0x21e1 (en: 'upwards dashed arrow', google translation)
- - "⇢": [t: "прямо сразу же пунктирная стрелка"] # 0x21e2 (en: 'rightwards dashed arrow', google translation)
- - "⇣": [t: "вниз потерпели стрелку"] # 0x21e3 (en: 'downwards dashed arrow', google translation)
- - "⇤": [t: "стрелка слева до бара"] # 0x21e4 (en: 'leftwards arrow to bar', google translation)
- - "⇥": [t: "право стрелы в бар"] # 0x21e5 (en: 'rightwards arrow to bar', google translation)
- - "⇦": [t: "левая белая стрела"] # 0x21e6 (en: 'leftwards white arrow', google translation)
- - "⇧": [t: "вверх белая стрела"] # 0x21e7 (en: 'upwards white arrow', google translation)
- - "⇨": [t: "прямо белая стрелка"] # 0x21e8 (en: 'rightwards white arrow', google translation)
- - "⇩": [t: "вниз белая стрелка"] # 0x21e9 (en: 'downwards white arrow', google translation)
- - "⇪": [t: "вверх белая стрелка из бара"] # 0x21ea (en: 'upwards white arrow from bar', google translation)
- - "⇫": [t: "вверх белая стрела на пьедестале"] # 0x21eb (en: 'upwards white arrow on pedestal', google translation)
- - "⇬": [t: "вверх белая стрелка на пьедестале с горизонтальной баром"] # 0x21ec (en: 'upwards white arrow on pedestal with horizontal bar', google translation)
- - "⇭": [t: "вверх белая стрелка на пьедестале с вертикальным баром"] # 0x21ed (en: 'upwards white arrow on pedestal with vertical bar', google translation)
- - "⇮": [t: "вверх белая двойная стрелка"] # 0x21ee (en: 'upwards white double arrow', google translation)
- - "⇯": [t: "вверх белая двойная стрелка на пьедестале"] # 0x21ef (en: 'upwards white double arrow on pedestal', google translation)
- - "⇰": [t: "прямо белая стрелка от стены"] # 0x21f0 (en: 'rightwards white arrow from wall', google translation)
- - "⇱": [t: "стрелка северо -запада в угол"] # 0x21f1 (en: 'north west arrow to corner', google translation)
- - "⇲": [t: "юго -восточная стрела в угол"] # 0x21f2 (en: 'south east arrow to corner', google translation)
- - "⇳": [t: "вниз по белой стрелке"] # 0x21f3 (en: 'up down white arrow', google translation)
- - "⇴": [t: "стрелка правой с маленьким кругом"] # 0x21f4 (en: 'right arrow with small circle', google translation)
- - "⇵": [t: "вниз стрелка слева от стрелы вверх"] # 0x21f5 (en: 'downwards arrow leftwards of upwards arrow', google translation)
- - "⇶": [t: "три правых стрела"] # 0x21f6 (en: 'three rightwards arrows', google translation)
- - "⇷": [t: "стрелка влево с вертикальным ходом"] # 0x21f7 (en: 'leftwards arrow with vertical stroke', google translation)
- - "⇸": [t: "стрелка вправо с вертикальным ходом"] # 0x21f8 (en: 'rightwards arrow with vertical stroke', google translation)
- - "⇹": [t: "стрелка влево справа с вертикальным ходом"] # 0x21f9 (en: 'left right arrow with vertical stroke', google translation)
- - "⇺": [t: "стрелка влево с двойным вертикальным ходом"] # 0x21fa (en: 'leftwards arrow with double vertical stroke', google translation)
- - "⇻": [t: "стрелка вправо с двойным вертикальным ходом"] # 0x21fb (en: 'rightwards arrow with double vertical stroke', google translation)
- - "⇼": [t: "стрелка влево правой с двойным вертикальным ходом"] # 0x21fc (en: 'left right arrow with double vertical stroke', google translation)
- - "⇽": [t: "слева открытая стрелка"] # 0x21fd (en: 'leftwards open headed arrow', google translation)
- - "⇾": [t: "вправо открыто голова стрелы"] # 0x21fe (en: 'rightwards open headed arrow', google translation)
- - "⇿": [t: "влево справа открытая стрелка"] # 0x21ff (en: 'left right open headed arrow', google translation)
- - "∀": [t: "для всех"] # 0x2200 (en: 'for all')
- - "∁": # 0x2201
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "а"] # (en: 'the', google translation)
- - t: "дополнение" # (en: 'complement of')
- - "∂": # 0x2202
+ - "ʷ": [t: "модификатор маленькая w"] # 0x2b7
+ - "ʸ": [t: "модификатор маленькая y"] # 0x2b8
+ - "ʹ": [t: "модификатор штрих"] # 0x2b9
+ - "ʺ": [t: "модификатор двойной штрих"] # 0x2ba
+ - "ʻ": [t: "модификатор перевёрнутая запятая"] # 0x2bb
+ - "ʼ": [t: "модификатор апостроф"] # 0x2bc
+ - "ʽ": [t: "модификатор обратная запятая"] # 0x2bd
+ - "ʾ": [t: "модификатор правое полукольцо"] # 0x2be
+ - "ʿ": [t: "модификатор левое полукольцо"] # 0x2bf
+ - "ˀ": [t: "модификатор гортанная смычка"] # 0x2c0
+ - "ˁ": [t: "модификатор обратная гортанная смычка"] # 0x2c1
+ - "˂": [t: "модификатор левый наконечник стрелки"] # 0x2c2
+ - "˃": [t: "модификатор правый наконечник стрелки"] # 0x2c3
+ - "˄": [t: "модификатор верхний наконечник стрелки"] # 0x2c4
+ - "˅": [t: "модификатор нижний наконечник стрелки"] # 0x2c5
+ - "ˆ": [t: "модификатор циркумфлекс"] # 0x2c6
+ - "ˇ": [t: "гачек"] # 0x2c7
+ - "ˈ": [t: "модификатор вертикальная линия"] # 0x2c8
+ - "ˉ": [t: "модификатор макрон"] # 0x2c9
+ - "ˊ": [t: "модификатор акут"] # 0x2ca
+ - "ˋ": [t: "модификатор гравис"] # 0x2cb
+ - "ˌ": [t: "модификатор нижняя вертикальная линия"] # 0x2cc
+ - "ˍ": [t: "модификатор нижний макрон"] # 0x2cd
+ - "ˎ": [t: "модификатор нижний гравис"] # 0x2ce
+ - "ˏ": [t: "модификатор нижний акут"] # 0x2cf
+ - "ː": [t: "модификатор треугольное двоеточие"] # 0x2d0
+ - "ˑ": [t: "модификатор половинное треугольное двоеточие"] # 0x2d1
+ - "˒": [t: "модификатор центральное правое полукольцо"] # 0x2d2
+ - "˓": [t: "модификатор центральное левое полукольцо"] # 0x2d3
+ - "˔": [t: "модификатор верхний таск"] # 0x2d4
+ - "˕": [t: "модификатор нижний таск"] # 0x2d5
+ - "˖": [t: "модификатор знак плюс"] # 0x2d6
+ - "˗": [t: "модификатор знак минус"] # 0x2d7
+ - "˘": [t: "бреве"] # 0x2d8
+ - "˙": [t: "точка"] # 0x2d9
+ - "˚": [t: "кольцо сверху"] # 0x2da
+ - "˛": [t: "огонек"] # 0x2db
+ - "˜": [t: "маленькая тильда"] # 0x2dc
+ - "˝": [t: "двойной акут"] # 0x2dd
+ - "˞": [t: "модификатор ротический крюк"] # 0x2de
+ - "˟": [t: "модификатор крестообразный акцент"] # 0x2df
+ - "ˠ": [t: "модификатор маленькая гамма"] # 0x2e0
+ - "ˡ": [t: "модификатор маленькая l"] # 0x2e1
+ - "ˢ": [t: "модификатор маленькая s"] # 0x2e2
+ - "ˣ": [t: "модификатор маленькая x"] # 0x2e3
+ - "ˤ": [t: "модификатор маленькая обратная гортанная смычка"] # 0x2e4
+ - "˥": [t: "модификатор сверхвысокий тон"] # 0x2e5
+ - "˦": [t: "модификатор высокий тон"] # 0x2e6
+ - "˧": [t: "модификатор средний тон"] # 0x2e7
+ - "˨": [t: "модификатор низкий тон"] # 0x2e8
+ - "˩": [t: "модификатор сверхнизкий тон"] # 0x2e9
+ - "˪": [t: "модификатор знак уходящего тона инь"] # 0x2ea
+ - "˫": [t: "модификатор знак уходящего тона ян"] # 0x2eb
+ - "ˬ": [t: "модификатор озвончение"] # 0x2ec
+ - "˭": [t: "модификатор отсутствие придыхания"] # 0x2ed
+ - "ˮ": [t: "модификатор двойной апостроф"] # 0x2ee
+ - "˯": [t: "модификатор нижний левый наконечник стрелки"] # 0x2ef
+ - "˰": [t: "модификатор нижний правый наконечник стрелки"] # 0x2f0
+ - "˱": [t: "модификатор нижний левый наконечник стрелки"] # 0x2f1
+ - "˲": [t: "модификатор нижний правый наконечник стрелки"] # 0x2f2
+ - "˳": [t: "модификатор нижнее кольцо"] # 0x2f3
+ - "˴": [t: "модификатор средний гравис"] # 0x2f4
+ - "˵": [t: "модификатор средний двойной гравис"] # 0x2f5
+ - "˶": [t: "модификатор средний двойной акут"] # 0x2f6
+ - "˷": [t: "модификатор нижняя тильда"] # 0x2f7
+ - "˸": [t: "модификатор приподнятое двоеточие"] # 0x2f8
+ - "˹": [t: "модификатор начало высокого тона"] # 0x2f9
+ - "˺": [t: "модификатор конец высокого тона"] # 0x2fa
+ - "˻": [t: "модификатор начало низкого тона"] # 0x2fb
+ - "˼": [t: "модификатор конец низкого тона"] # 0x2fc
+ - "˽": [t: "модификатор полка"] # 0x2fd
+ - "˾": [t: "модификатор открытая полка"] # 0x2fe
+ - "˿": [t: "модификатор нижняя левая стрелка"] # 0x2ff
+ - "̀": [t: "гравис"] # 0x300
+ - "́": [t: "акут"] # 0x301
+ - "̂": [t: "циркумфлекс"] # 0x302
+ - "̃": [t: "тильда"] # 0x303
+ - "̄": [t: "макрон"] # 0x304
+ - "̅": [t: "надчеркивание"] # 0x305
+ - "̆": [t: "бреве"] # 0x306
+ - "̇": [t: "точка сверху"] # 0x307
+ - "̈": [t: "диерезис"] # 0x308
+ - "̉": [t: "крюк сверху"] # 0x309
+ - "̊": [t: "кольцо сверху"] # 0x30a
+ - "̋": [t: "двойной акут"] # 0x30b
+ - "̌": [t: "гачек"] # 0x30c
+ - "̍": [t: "вертикальная линия сверху"] # 0x30d
+ - "̎": [t: "двойная вертикальная линия сверху"] # 0x30e
+ - "̏": [t: "двойной гравис"] # 0x30f
+ - "̐": [t: "чандрабинду"] # 0x310
+ - "̑": [t: "перевёрнутое бреве"] # 0x311
+ - "̒": [t: "перевёрнутая запятая сверху"] # 0x312
+ - "̓": [t: "запятая сверху"] # 0x313
+ - "̔": [t: "обратная запятая сверху"] # 0x314
+ - "̕": [t: "запятая сверху справа"] # 0x315
+ - "̖": [t: "гравис снизу"] # 0x316
+ - "̗": [t: "акут снизу"] # 0x317
+ - "̘": [t: "левый таск снизу"] # 0x318
+ - "̙": [t: "правый таск снизу"] # 0x319
+ - "̚": [t: "левый угол сверху"] # 0x31a
+ - "̛": [t: "рожок"] # 0x31b
+ - "̜": [t: "левое полукольцо снизу"] # 0x31c
+ - "̝": [t: "верхний таск снизу"] # 0x31d
+ - "̞": [t: "нижний таск снизу"] # 0x31e
+ - "̟": [t: "знак плюс снизу"] # 0x31f
+ - "̠": [t: "знак минус снизу"] # 0x320
+ - "̡": [t: "палатализованный крюк снизу"] # 0x321
+ - "̢": [t: "ретрофлексный крюк снизу"] # 0x322
+ - "̣": [t: "точка снизу"] # 0x323
+ - "̤": [t: "диерезис снизу"] # 0x324
+ - "̥": [t: "кольцо снизу"] # 0x325
+ - "̦": [t: "запятая снизу"] # 0x326
+ - "̧": [t: "седиль"] # 0x327
+ - "̨": [t: "огонек"] # 0x328
+ - "̩": [t: "вертикальная линия снизу"] # 0x329
+ - "̪": [t: "мостик снизу"] # 0x32a
+ - "̫": [t: "перевёрнутая двойная дуга снизу"] # 0x32b
+ - "̬": [t: "гачек снизу"] # 0x32c
+ - "̭": [t: "циркумфлекс снизу"] # 0x32d
+ - "̮": [t: "бреве снизу"] # 0x32e
+ - "̯": [t: "перевёрнутое бреве снизу"] # 0x32f
+ - "̰": [t: "тильда снизу"] # 0x330
+ - "̱": [t: "макрон снизу"] # 0x331
+ - "̲": [t: "нижнее подчёркивание"] # 0x332
+ - "̳": [t: "двойное нижнее подчёркивание"] # 0x333
+ - "̴": [t: "тильда поверх"] # 0x334
+ - "̵": [t: "короткий штрих поверх"] # 0x335
+ - "̶": [t: "длинный штрих поверх"] # 0x336
+ - "̷": [t: "короткая косая черта поверх"] # 0x337
+ - "̸": [t: "длинная косая черта поверх"] # 0x338
+ - "̹": [t: "правое полукольцо снизу"] # 0x339
+ - "̺": [t: "перевёрнутый мостик снизу"] # 0x33a
+ - "̻": [t: "квадрат снизу"] # 0x33b
+ - "̼": [t: "чайка снизу"] # 0x33c
+ - "̽": [t: "x сверху"] # 0x33d
+ - "̾": [t: "вертикальная тильда"] # 0x33e
+ - "̿": [t: "двойное надчёркивание"] # 0x33f
+ - "̀": [t: "знак тона гравис"] # 0x340
+ - "́": [t: "знак тона акут"] # 0x341
+ - "͆": [t: "мостик сверху"] # 0x346
+
+ - "ΪΫϏ": # 0x3aa, 0x3ab, 0x3cf
+ - test:
+ if: "$CapitalLetters_Beep"
+ then:
+ - audio:
+ value: "beep.mp4"
+ replace: []
+ - test:
+ if: "$CapitalLetters_UseWord"
+ then_test:
+ if: "$SpeechOverrides_CapitalLetters = ''"
+ then_test:
+ if: "$Impairment = 'Blindness'"
+ then: [t: "заглавная"]
+ else: [x: "$SpeechOverrides_CapitalLetters"]
+ - pitch:
+ value: "$CapitalLetters_Pitch"
+ replace: [spell: "translate('.', 'ΪΫϏ', 'ιυϗ')"]
+ - t: "с диалитикой"
+ - "ϊ": [t: "йота с диалитикой"] # 0x3ca
+ - "ϋ": [t: "ипсилон с диалитикой"] # 0x3cb
+ - "ό": [t: "омикрон с тоносом"] # 0x3cc
+ - "ύ": [t: "ипсилон с тоносом"] # 0x3cd
+ - "ώ": [t: "омега с тоносом"] # 0x3ce
+ - "ϐ": [t: "бета"] # 0x3d0
+ - "ϑ": [t: "тета"] # 0x3d1
+ - "ϒ": [t: "ипсилон с крюком"] # 0x3d2
+ - "ϓ": [t: "ипсилон с акутом и крюком"] # 0x3d3
+ - "ϔ": [t: "ипсилон с диерезисом и крюком"] # 0x3d4
+ - "ϕ": [t: "фи"] # 0x3d5
+ - "ϖ": [t: "пи"] # 0x3d6
+ - "ϗ": [t: "кай"] # 0x3d7
+ - "Ϙ": [t: "заглавная архаическая коппа"] # 0x3d8
+ - "ϙ": [t: "архаическая коппа"] # 0x3d9
+ - "ϵ": [t: "эпсилон"] # 0x3f5
+ - "϶": [t: "обратный эпсилон"] # 0x3f6
+ - "А-Я": # 0x410 - 0x42f
+ - test:
+ if: "$CapitalLetters_Beep"
+ then:
+ - audio:
+ value: "beep.mp4"
+ replace: []
+ - test:
+ if: "$CapitalLetters_UseWord"
+ then_test:
+ if: "$SpeechOverrides_CapitalLetters = ''"
+ then_test:
+ if: "$Impairment = 'Blindness'"
+ then: [t: "заглавная"]
+ else: [x: "$SpeechOverrides_CapitalLetters"]
+ - pitch:
+ value: "$CapitalLetters_Pitch"
+ replace: [spell: "translate('.', 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ', 'абвгдежзийклмнопрстуфхцчшщъыьэюя')"]
+ - "а": [t: "а"] # 0x430
+ - "б": [t: "бэ"] # 0x431
+ - "в": [t: "вэ"] # 0x432
+ - "г": [t: "гэ"] # 0x433
+ - "д": [t: "дэ"] # 0x434
+ - "е": [t: "е"] # 0x435
+ - "ж": [t: "жэ"] # 0x436
+ - "з": [t: "зэ"] # 0x437
+ - "и": [t: "и"] # 0x438
+ - "й": [t: "и краткое"] # 0x439
+ - "к": [t: "ка"] # 0x43a
+ - "л": [t: "эль"] # 0x43b
+ - "м": [t: "эм"] # 0x43c
+ - "н": [t: "эн"] # 0x43d
+ - "о": [t: "о"] # 0x43e
+ - "п": [t: "пэ"] # 0x43f
+ - "р": [t: "эр"] # 0x440
+ - "с": [t: "эс"] # 0x441
+ - "т": [t: "тэ"] # 0x442
+ - "у": [t: "у"] # 0x443
+ - "ф": [t: "эф"] # 0x444
+ - "х": [t: "ха"] # 0x445
+ - "ц": [t: "цэ"] # 0x446
+ - "ч": [t: "чэ"] # 0x447
+ - "ш": [t: "ша"] # 0x448
+ - "щ": [t: "ща"] # 0x449
+ - "ъ": [t: "твёрдый знак"] # 0x44a
+ - "ы": [t: "ы"] # 0x44b
+ - "ь": [t: "мягкий знак"] # 0x44c
+ - "э": [t: "э"] # 0x44d
+ - "ю": [t: "ю"] # 0x44e
+ - "я": [t: "я"] # 0x44f
+ - "؆": [t: "арабско-индийский кубический корень"] # 0x606
+ - "؇": [t: "арабско-индийский корень четвёртой степени"] # 0x607
+ - "؈": [t: "арабский луч"] # 0x608
+ - "‐": [t: "дефис"] # 0x2010
+ - "‑": [t: "дефис"] # 0x2011
+ - "‒": [t: "цифровое тире"] # 0x2012
+ - "–": [t: "короткое тире"] # 0x2013
+ - "—": [t: "длинное тире"] # 0x2014
+ - "―": [t: "горизонтальная черта"] # 0x2015
+ - "‖": [t: "двойная вертикальная линия"] # 0x2016
+ - "†": [t: "крестик"] # 0x2020
+ - "‡": [t: "двойной крестик"] # 0x2021
+
+ - " - ": [t: " "] # 0x2000 - 0x2007
+
+ - "•": # 0x2022
+ - test:
+ if: "@data-chem-formula-op"
+ then: [t: "точка"]
+ else: [t: "буллит"]
+
+ - "…": # 0x2026
+ test:
+ if:
+ - "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_Ellipses = 'Auto' or"
+ # must be ClearSpeak and $ClearSpeak_Ellipses = 'AndSoOn'
+ # speak '…' as 'and so on...' unless expr starts with '…'
+ - "../*[1][.='…']"
+ then: [t: "точка точка точка"]
+ else_test: # must have $ClearSpeak_Ellipses = 'AndSoOn'
+ if: "count(following-sibling::*) = 0"
+ then: [t: "и так далее"]
+ else: [t: "и так далее вплоть до"]
+
+ - "‰": [t: "промилле"] # 0x2030
+ - "‱": [t: "на десять тысяч"] # 0x2031
+ - "′": [t: "штрих"] # 0x2032
+ - "″": [t: "двойной штрих"] # 0x2033
+ - "‴": [t: "тройной штрих"] # 0x2034
+ - "‵": [t: "обратный штрих"] # 0x2035
+ - "‶": [t: "обратный двойной штрих"] # 0x2036
+ - "‷": [t: "обратный тройной штрих"] # 0x2037
+ - "‸": [t: "в степени"] # 0x2038
+ - "‹": [t: "одинарная левая угловая кавычка"] # 0x2039
+ - "›": [t: "одинарная правая угловая кавычка"] # 0x203a
+ - "‼": # 0x203c
+ - test:
+ if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')]"
+ then: [t: "двойной восклицательный знак"] # 0x203c
+ else: [t: "двойной факториал"] # 0x203c
+ - "⁄": # 0x2044
+ - test:
+ if: "ancestor-or-self::*[contains(@data-intent-property, ':literal:')]"
+ then: [t: "крупная косая черта"] # 0x203c
+ else: [t: "разделить на"] # 0x203c
+ - "⁅": [t: "левая квадратная скобка с пером"] # 0x2045
+ - "⁆": [t: "правая квадратная скобка с пером"] # 0x2046
+ - "※": [t: "знак ссылки"] # 0x203b
+ - "‿": [t: "нижняя лигатура"] # 0x203F
+ - "⁀": [t: "лигатура"] # 0x2040
+ - "⁎": [t: "нижняя звёздочка"] # 0x204e
+ - "⁏": [t: "обратная точка с запятой"] # 0x204f
+ - "⁐": [t: "закрыть вплотную"] # 0x2050
+ - "⁑": [t: "две вертикальные звёздочки"] # 0x2051
+ - "⁒": [t: "коммерческий минус"] # 0x2052
+ - "⁗": [t: "четверной штрих"] # 0x2057
+ - "": [t: ""] # 0x2060
+ - "⁰": [t: "в нулевой степени"] # 0x2070
+ - "ⁱ": [t: "в степени i"] # 0x2071
+ - "⁴": [t: "в четвёртой степени"] # 0x2074
+ - "⁵": [t: "в пятой степени"] # 0x2075
+ - "⁶": [t: "в шестой степени"] # 0x2076
+ - "⁷": [t: "в седьмой степени"] # 0x2077
+ - "⁸": [t: "в восьмой степени"] # 0x2078
+ - "⁹": [t: "в девятой степени"] # 0x2079
+ - "⁺": [t: "верхний индекс плюс"] # 0x207a
+ - "⁻": [t: "верхний индекс минус"] # 0x207b
+ - "⁼": [t: "верхний индекс знак равенства"] # 0x207c
+ - "⁽": [t: "верхний индекс левая скобка"] # 0x207d
+ - "⁾": [t: "верхний индекс правая скобка"] # 0x207e
+ - "ⁿ": [t: "в энной степени"] # 0x207f
+ - "₀": [t: "нижний индекс ноль"] # 0x2080
+ - "₁": [t: "нижний индекс один"] # 0x2081
+ - "₂": [t: "нижний индекс два"] # 0x2082
+ - "₃": [t: "нижний индекс три"] # 0x2083
+ - "₄": [t: "нижний индекс четыре"] # 0x2084
+ - "₅": [t: "нижний индекс пять"] # 0x2085
+ - "₆": [t: "нижний индекс шесть"] # 0x2086
+ - "₇": [t: "нижний индекс семь"] # 0x2087
+ - "₈": [t: "нижний индекс восемь"] # 0x2088
+ - "₉": [t: "нижний индекс девять"] # 0x2089
+ - "₊": [t: "нижний индекс плюс"] # 0x208a
+ - "₋": [t: "нижний индекс минус"] # 0x208b
+ - "₌": [t: "нижний индекс знак равенства"] # 0x208c
+ - "₍": [t: "нижний индекс левая скобка"] # 0x208d
+ - "₎": [t: "нижний индекс правая скобка"] # 0x208e
+ - "ₐ": [t: "нижний индекс A"] # 0x2090
+ - "ₑ": [t: "нижний индекс E"] # 0x2091
+ - "ₒ": [t: "нижний индекс O"] # 0x2092
+ - "ₓ": [t: "нижний индекс X"] # 0x2093
+ - "ₕ": [t: "нижний индекс H"] # 0x2095
+ - "ₖ": [t: "нижний индекс K"] # 0x2096
+ - "ₗ": [t: "нижний индекс L"] # 0x2097
+ - "ₘ": [t: "нижний индекс M"] # 0x2098
+ - "ₙ": [t: "нижний индекс N"] # 0x2099
+ - "ₚ": [t: "нижний индекс P"] # 0x209a
+ - "ₛ": [t: "нижний индекс S"] # 0x209b
+ - "ₜ": [t: "нижний индекс T"] # 0x209c
+ - "₠": [t: "евро для расчётов"] # 0x20a0
+ - "₡": [t: "колоны"] # 0x20a1
+ - "₢": [t: "крузейро"] # 0x20a2
+ - "₣": [t: "франк"] # 0x20a3
+ - "₤": [t: "лира"] # 0x20a4
+ - "₥": [t: "милль"] # 0x20a5
+ - "₦": [t: "найра"] # 0x20a6
+ - "₧": [t: "песета"] # 0x20a7
+ - "₨": [t: "рупии"] # 0x20a8
+ - "₩": [t: "вона"] # 0x20a9
+ - "₪": [t: "новый шекель"] # 0x20aa
+ - "₫": [t: "донг"] # 0x20ab
+ - "€": [t: "евро"] # 0x20ac
+ - "₭": [t: "кип"] # 0x20ad
+ - "₮": [t: "тугрик"] # 0x20ae
+ - "₯": [t: "драхма"] # 0x20af
+ - "₰": [t: "немецкий пфенниг"] # 0x20b0
+ - "₱": [t: "песо"] # 0x20b1
+ - "₲": [t: "гуарани"] # 0x20b2
+ - "₳": [t: "аустраль"] # 0x20b3
+ - "₴": [t: "гривна"] # 0x20b4
+ - "₵": [t: "седи"] # 0x20b5
+ - "₶": [t: "ливр турнуа"] # 0x20b6
+ - "₷": [t: "спесмило"] # 0x20b7
+ - "₸": [t: "тенге"] # 0x20b8
+ - "₹": [t: "индийская рупия"] # 0x20b9
+ - "₺": [t: "турецкая лира"] # 0x20ba
+ - "⃐": [t: "левый гарпун сверху"] # 0x20d0
+ - "⃑": [t: "правый гарпун сверху"] # 0x20d1
+ - "⃒": [t: "длинная вертикальная линия поверх"] # 0x20d2
+ - "⃓": [t: "короткая вертикальная линия поверх"] # 0x20d3
+ - "⃔": [t: "стрелка против часовой стрелки сверху"] # 0x20d4
+ - "⃕": [t: "стрелка по часовой стрелке сверху"] # 0x20d5
+ - "⃖": [t: "стрелка влево сверху"] # 0x20d6
+ - "⃗": [t: "стрелка вправо сверху"] # 0x20d7
+ - "⃘": [t: "кольцо поверх"] # 0x20d8
+ - "⃙": [t: "кольцо по часовой стрелке поверх"] # 0x20d9
+ - "⃚": [t: "кольцо против часовой стрелки поверх"] # 0x20da
+ - "⃛": [t: "тройная точка"] # 0x20db
+ - "⃜": [t: "четверная точка"] # 0x20dc
+ - "⃝": [t: "обводящий круг"] # 0x20dd
+ - "⃞": [t: "обводящий квадрат"] # 0x20de
+ - "⃟": [t: "обводящий ромб"] # 0x20df
+ - "⃠": [t: "обводящий круг с обратной косой чертой"] # 0x20e0
+ - "⃡": [t: "стрелка влево-вправо сверху"] # 0x20e1
+ - "⃢": [t: "обводящий экран"] # 0x20e2
+ - "⃣": [t: "обводящая клавиша"] # 0x20e3
+ - "⃤": [t: "обводящий треугольник остриём вверх"] # 0x20e4
+ - "⃥": [t: "обратная косая черта поверх"] # 0x20e5
+ - "⃦": [t: "двойной вертикальный штрих"] # 0x20e6
+ - "⃧": [t: "символ аннуитета"] # 0x20e7
+ - "⃨": [t: "тройная нижняя точка"] # 0x20e8
+ - "⃩": [t: "широкий мостик сверху"] # 0x20e9
+ - "⃪": [t: "стрелка влево поверх"] # 0x20ea
+ - "⃫": [t: "длинная двойная косая черта поверх"] # 0x20eb
+ - "⃬": [t: "правый гарпун с бородкой вниз"] # 0x20ec
+ - "⃭": [t: "левый гарпун с бородкой вниз"] # 0x20ed
+ - "⃮": [t: "стрелка влево снизу"] # 0x20ee
+ - "⃯": [t: "стрелка вправо снизу"] # 0x20ef
+ - "⃰": [t: "звёздочка сверху"] # 0x20f0
+ - "℄": [t: "символ центральной линии"] # 0x2104
+ - "℅": [t: "для передачи"] # 0x2105
+ - "℆": [t: "каждая"] # 0x2106
+ - "ℇ": [t: "постоянная Эйлера"] # 0x2107
+ - "℈": [t: "скрупулы"] # 0x2108
+ - "℉": [t: "градусы Фаренгейта"] # 0x2109
+ - "ℊ": [t: "рукописная g"] # 0x210a
+ - "ℌℑℨℭ": # 0x210c, 0x2111, 0x2128, 0x212d
+ - t: "фрактура"
+ - spell: "translate('.', 'ℌℑℨℭ', 'HIZC')"
+
+ - "ℍℙℾℿ": # 0x210d, 0x2119, 0x213e, 0x213f
+ - t: "двойной контур"
+ - spell: "translate('.', 'ℍℙℾℿ', 'HPΓΠ')"
+
+ - "ℎ": [t: "постоянная Планка"] # 0x210e
+ - "ℏ": [t: "h с чертой"] # 0x210f
+
+ - "ℐℒ℘ℬℰℱℳ": # 0x2110, 0x2112, 0x2118, 0x2130, 0x2131, 0x2133
+ - t: "рукописная"
+ - spell: "translate('.', 'ℐℒ℘ℬℰℱℳ', 'ILPBEFM')"
+
+ - "ℓ": [t: "рукописная l"] # 0x2113
+ - "℔": [t: "фунты"] # 0x2114
+ - "№": [t: "номер"] # 0x2116
+ - "℥": [t: "унции"] # 0x2125
+ - "Ω": [t: "омы"] # 0x2126
+ - "℧": [t: "сименсы"] # 0x2127
+ - "℩": [t: "перевёрнутая йота"] # 0x2129
+ - "K": [t: "кельвин"] # 0x212a
+ - "Å": [t: "ангстремы"] # 0x212b
+ - "ℯ": [t: "рукописная e"] # 0x212f
+
+ # coalesced some chars that use cap letters
+ - "Ⅎ℺⅁⅂⅃⅄": # 0x2132, 0x213a, 0x2141, 0x2142, 0x2143, 0x2144
+ - test:
+ - if: "'.' = '℺'"
+ then: [t: "повёрнутая"]
+ - else_if: "'.' = 'Ⅎ'"
+ then: [t: "перевёрнутая"]
+ - else_if: "'.' = '⅃'"
+ then: [t: "обратная без засечек"]
+ else: [t: "перевёрнутая без засечек"]
+ - spell: "translate('.', 'Ⅎ℺⅁⅂⅃⅄', 'FQGLLY')"
+
+ - "ℴ": [t: "рукописная o"] # 0x2134
+ - "ℵ": [t: "алеф"] # 0x2135
+ - "ℶ": [t: "бет"] # 0x2136
+ - "ℷ": [t: "гимель"] # 0x2137
+ - "ℸ": [t: "далет"] # 0x2138
+ - "ℼ": [t: "пи с двойным контуром"] # 0x213c
+ - "ℽ": [t: "гамма с двойным контуром"] # 0x213d
+ - "⅀": [t: "n-арное суммирование с двойным контуром"] # 0x2140
+ - "⅋": [t: "перевёрнутый амперсанд"] # 0x214b
+ - "⅌": [t: "на"] # 0x214c
+ - "ⅎ": [t: "перевёрнутая F"] # 0x214e
+ - "¼": [t: "одна четвёртая"] # 0x00bc
+ - "½": [t: "одна вторая"] # 0x00bd
+ - "¾": [t: "три четвёртых"] # 0x00be
+ - "⅐": [t: "одна седьмая"] # 0x2150
+ - "⅑": [t: "одна девятая"] # 0x2151
+ - "⅒": [t: "одна десятая"] # 0x2152
+ - "⅓": [t: "одна треть"] # 0x2153
+ - "⅔": [t: "две трети"] # 0x2154
+ - "⅕": [t: "одна пятая"] # 0x2155
+ - "⅖": [t: "две пятых"] # 0x2156
+ - "⅗": [t: "три пятых"] # 0x2157
+ - "⅘": [t: "четыре пятых"] # 0x2158
+ - "⅙": [t: "одна шестая"] # 0x2159
+ - "⅚": [t: "пять шестых"] # 0x215a
+ - "⅛": [t: "одна восьмая"] # 0x215b
+ - "⅜": [t: "три восьмых"] # 0x215c
+ - "⅝": [t: "пять восьмых"] # 0x215d
+ - "⅞": [t: "семь восьмых"] # 0x215e
+ - "⅟": [t: "единица делить на"] # 0x215f
+ - "Ⅰ": [t: "I"] # 0x2160
+ - "Ⅱ": [t: "I I"] # 0x2161
+ - "Ⅲ": [t: "I I I"] # 0x2162
+ - "Ⅳ": [t: "I V"] # 0x2163
+ - "Ⅴ": [t: "V"] # 0x2164
+ - "Ⅵ": [t: "V I"] # 0x2165
+ - "Ⅶ": [t: "V I I"] # 0x2166
+ - "Ⅷ": [t: "V I I I"] # 0x2167
+ - "Ⅸ": [t: "I X"] # 0x2168
+ - "Ⅹ": [t: "X"] # 0x2169
+ - "Ⅺ": [t: "X I"] # 0x216a
+ - "Ⅻ": [t: "X I I"] # 0x216b
+ - "Ⅼ": [t: "L"] # 0x216c
+ - "Ⅽ": [t: "C"] # 0x216d
+ - "Ⅾ": [t: "D"] # 0x216e
+ - "Ⅿ": [t: "M"] # 0x216f
+ - "ⅰ": [t: "I"] # 0x2170
+ - "ⅱ": [t: "I I"] # 0x2171
+ - "ⅲ": [t: "I I I"] # 0x2172
+ - "ⅳ": [t: "I V"] # 0x2173
+ - "ⅴ": [t: "V"] # 0x2174
+ - "ⅵ": [t: "V I"] # 0x2175
+ - "ⅶ": [t: "V I I"] # 0x2176
+ - "ⅷ": [t: "V I I I"] # 0x2177
+ - "ⅸ": [t: "I X"] # 0x2178
+ - "ⅹ": [t: "X"] # 0x2179
+ - "ⅺ": [t: "X I"] # 0x217a
+ - "ⅻ": [t: "X I I"] # 0x217b
+ - "ⅼ": [t: "L"] # 0x217c
+ - "ⅽ": [t: "C"] # 0x217d
+ - "ⅾ": [t: "D"] # 0x217e
+ - "ⅿ": [t: "M"] # 0x217f
+ - "↉": [t: "ноль третьих"] # 0x2189
+ - "↔": [t: "стрелка влево-вправо"] # 0x2194
+ - "↕": [t: "стрелка вверх-вниз"] # 0x2195
+ - "↖": [t: "стрелка на северо-запад"] # 0x2196
+ - "↗": # 0x2197
+ - test:
+ if: "ancestor::*[2][self::m:limit]"
+ then: [t: "стремится снизу"]
+ else: [t: "стрелка на северо-восток"]
+
+ - "↘": # 0x2198
+ - test:
+ if: "ancestor::*[2][self::m:limit]"
+ then: [t: "стремится сверху"]
+ else: [t: "стрелка на юго-восток"]
+
+ - "↙": [t: "стрелка на юго-запад"] # 0x2199
+ - "↚": [t: "стрелка влево со штрихом"] # 0x219a
+ - "↛": [t: "стрелка вправо со штрихом"] # 0x219b
+ - "↜": [t: "волнистая стрелка влево"] # 0x219c
+ - "↝": [t: "волнистая стрелка вправо"] # 0x219d
+ - "↞": [t: "стрелка влево с двумя наконечниками"] # 0x219e
+ - "↟": [t: "стрелка вверх с двумя наконечниками"] # 0x219f
+ - "↠": [t: "стрелка вправо с двумя наконечниками"] # 0x21a0
+ - "↡": [t: "стрелка вниз с двумя наконечниками"] # 0x21a1
+ - "↢": [t: "стрелка влево с хвостом"] # 0x21a2
+ - "↣": [t: "стрелка вправо с хвостом"] # 0x21a3
+ - "↤": [t: "стрелка влево от черты"] # 0x21a4
+ - "↥": [t: "стрелка вверх от черты"] # 0x21a5
+ - "↦": [t: "стрелка вправо от черты"] # 0x21a6
+ - "↧": [t: "стрелка вниз от черты"] # 0x21a7
+ - "↨": [t: "стрелка вверх-вниз с основанием"] # 0x21a8
+ - "↩": [t: "стрелка влево с крюком"] # 0x21a9
+ - "↪": [t: "стрелка вправо с крюком"] # 0x21aa
+ - "↫": [t: "стрелка влево с петлёй"] # 0x21ab
+ - "↬": [t: "стрелка вправо с петлёй"] # 0x21ac
+ - "↭": [t: "волнистая стрелка влево-вправо"] # 0x21ad
+ - "↮": [t: "стрелка влево-вправо со штрихом"] # 0x21ae
+ - "↯": [t: "зигзагообразная стрелка вниз"] # 0x21af
+ - "↰": [t: "стрелка вверх с наконечником влево"] # 0x21b0
+ - "↱": [t: "стрелка вверх с наконечником вправо"] # 0x21b1
+ - "↲": [t: "стрелка вниз с наконечником влево"] # 0x21b2
+ - "↳": [t: "стрелка вниз с наконечником вправо"] # 0x21b3
+ - "↴": [t: "стрелка вправо с уголком вниз"] # 0x21b4
+ - "↵": [t: "стрелка вниз с уголком влево"] # 0x21b5
+ - "↶": [t: "верхняя полуокружность против часовой"] # 0x21b6
+ - "↷": [t: "верхняя полуокружность по часовой"] # 0x21b7
+ - "↸": [t: "стрелка на северо-запад к длинной черте"] # 0x21b8
+ - "↹": [t: "стрелка влево к черте над стрелкой вправо к черте"] # 0x21b9
+ - "↺": [t: "круговая стрелка против часовой"] # 0x21ba
+ - "↻": [t: "круговая стрелка по часовой"] # 0x21bb
+ - "↼": [t: "левый гарпун вверх"] # 0x21bc
+ - "↽": [t: "левый гарпун вниз"] # 0x21bd
+ - "↾": [t: "верхний гарпун вправо"] # 0x21be
+ - "↿": [t: "верхний гарпун влево"] # 0x21bf
+ - "⇀": [t: "правый гарпун вверх"] # 0x21c0
+ - "⇁": [t: "правый гарпун вниз"] # 0x21c1
+ - "⇂": [t: "нижний гарпун вправо"] # 0x21c2
+ - "⇃": [t: "нижний гарпун влево"] # 0x21c3
+ - "⇄": [t: "стрелка вправо над стрелкой влево"] # 0x21c4
+ - "⇅": [t: "стрелка вверх слева от стрелки вниз"] # 0x21c5
+ - "⇆": [t: "стрелка влево над стрелкой вправо"] # 0x21c6
+ - "⇇": [t: "парные стрелки влево"] # 0x21c7
+ - "⇈": [t: "парные стрелки вверх"] # 0x21c8
+ - "⇉": [t: "парные стрелки вправо"] # 0x21c9
+ - "⇊": [t: "парные стрелки вниз"] # 0x21ca
+ - "⇋": [t: "левый гарпун над правым гарпуном"] # 0x21cb
+ - "⇌": [t: "правый гарпун над левым гарпуном"] # 0x21cc
+ - "⇍": [t: "левая двойная стрелка со штрихом"] # 0x21cd
+ - "⇎": [t: "двойная стрелка влево-вправо со штрихом"] # 0x21ce
+ - "⇏": [t: "правая двойная стрелка со штрихом"] # 0x21cf
+ - "⇐": [t: "левая двойная стрелка"] # 0x21d0
+ - "⇑": [t: "верхняя двойная стрелка"] # 0x21d1
+ - "⇒": [t: "следует"] # 0x21d2
+ - "⇓": [t: "нижняя двойная стрелка"] # 0x21d3
+ - "⇔": [t: "тогда и только тогда"] # 0x21d4
+ - "⇕": [t: "двойная стрелка вверх-вниз"] # 0x21d5
+ - "⇖": [t: "двойная стрелка на северо-запад"] # 0x21d6
+ - "⇗": [t: "двойная стрелка на северо-восток"] # 0x21d7
+ - "⇘": [t: "двойная стрелка на юго-восток"] # 0x21d8
+ - "⇙": [t: "двойная стрелка на юго-запад"] # 0x21d9
+ - "⇚": [t: "левая тройная стрелка"] # 0x21da
+ - "⇛": [t: "правая тройная стрелка"] # 0x21db
+ - "⇜": [t: "левая волнистая стрелка"] # 0x21dc
+ - "⇝": [t: "правая волнистая стрелка"] # 0x21dd
+ - "⇞": [t: "стрелка вверх с двойным штрихом"] # 0x21de
+ - "⇟": [t: "стрелка вниз с двойным штрихом"] # 0x21df
+ - "⇠": [t: "левая пунктирная стрелка"] # 0x21e0
+ - "⇡": [t: "верхняя пунктирная стрелка"] # 0x21e1
+ - "⇢": [t: "правая пунктирная стрелка"] # 0x21e2
+ - "⇣": [t: "нижняя пунктирная стрелка"] # 0x21e3
+ - "⇤": [t: "стрелка влево к черте"] # 0x21e4
+ - "⇥": [t: "стрелка вправо к черте"] # 0x21e5
+ - "⇦": [t: "левая белая стрелка"] # 0x21e6
+ - "⇧": [t: "верхняя белая стрелка"] # 0x21e7
+ - "⇨": [t: "правая белая стрелка"] # 0x21e8
+ - "⇩": [t: "нижняя белая стрелка"] # 0x21e9
+ - "⇪": [t: "верхняя белая стрелка от черты"] # 0x21ea
+ - "⇫": [t: "верхняя белая стрелка на пьедестале"] # 0x21eb
+ - "⇬": [t: "верхняя белая стрелка на пьедестале с горизонтальной чертой"] # 0x21ec
+ - "⇭": [t: "верхняя белая стрелка на пьедестале с вертикальной чертой"] # 0x21ed
+ - "⇮": [t: "верхняя белая двойная стрелка"] # 0x21ee
+ - "⇯": [t: "верхняя белая двойная стрелка на пьедестале"] # 0x21ef
+ - "⇰": [t: "правая белая стрелка от стены"] # 0x21f0
+ - "⇱": [t: "стрелка на северо-запад в угол"] # 0x21f1
+ - "⇲": [t: "стрелка на юго-восток в угол"] # 0x21f2
+ - "⇳": [t: "белая стрелка вверх-вниз"] # 0x21f3
+ - "⇴": [t: "стрелка вправо с маленьким кругом"] # 0x21f4
+ - "⇵": [t: "стрелка вниз слева от стрелки вверх"] # 0x21f5
+ - "⇶": [t: "три стрелки вправо"] # 0x21f6
+ - "⇷": [t: "стрелка влево с вертикальным штрихом"] # 0x21f7
+ - "⇸": [t: "стрелка вправо с вертикальным штрихом"] # 0x21f8
+ - "⇹": [t: "стрелка влево-вправо с вертикальным штрихом"] # 0x21f9
+ - "⇺": [t: "стрелка влево с двойным вертикальным штрихом"] # 0x21fa
+ - "⇻": [t: "стрелка вправо с двойным вертикальным штрихом"] # 0x21fb
+ - "⇼": [t: "стрелка влево-вправо с двойным вертикальным штрихом"] # 0x21fc
+ - "⇽": [t: "левая открытая стрелка"] # 0x21fd
+ - "⇾": [t: "правая открытая стрелка"] # 0x21fe
+ - "⇿": [t: "открытая стрелка влево-вправо"] # 0x21ff
+ - "∀": [t: "для всех"] # 0x2200
+ - "∁": # 0x2201
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [ot: "the"]
+ - t: "дополнение"
+ - "∂": # 0x2202
- test:
if: "$Verbosity='Terse'"
- then: [t: "частично"] # (en: 'partial', google translation)
- else: [t: "частный дифференциал"] # (en: 'partial derivative')
- - "∃": [t: "существует"] # 0x2203 (en: 'there exists')
- - "∄": [t: "не существует"] # 0x2204 (en: 'there does not exist')
- - "∅": [t: "пустое множество"] # 0x2205 (en: 'empty set')
- - "∆": # 0x2206
+ then: [t: "частная"]
+ else: [t: "частная производная"]
+ - "∃": [t: "существует"] # 0x2203
+ - "∄": [t: "не существует"] # 0x2204
+ - "∅": [t: "пустое множество"] # 0x2205
+ - "∆": # 0x2206
- test:
if: "following-sibling::*"
then_test:
if: "$Verbosity!='Terse'"
- then: [t: "лахплахан"] # "LahPlahsian" sounds better than "laplacian" in speech engines tested (en: 'the LahPlahsian of', google translation)
- else: [t: "инкремент"] # (en: 'LahPlahsian')
- else: [t: "инкремент"] # (en: 'LahPlahsian')
+ then: [t: "лапласиан от"] # "LahPlahsian" sounds better than "laplacian" in speech engines tested
+ else: [t: "лапласиан"]
+ else: [t: "лапласиан"]
- - "∇": [t: "набла"] # 0x2207 (en: 'nahblah')
- - "∉": # 0x2209
+ - "∇": [t: "набла"] # 0x2207
+ - "∉": # 0x2209
# rule is identical to 0x2208
- test:
if: "$SpeechStyle != 'ClearSpeak'"
- then: [t: "не элемент"] # (en: 'is not an element of', google translation)
+ then: [t: "не является элементом"]
# Several options for speaking elements in ClearSpeak -- they split between being inside a set or not and then the option
else_test:
- if: "../../self::m:set or ../../../self::m:set" # inside a set
+ if: "../../self::m:set or ../../../self::m:set" # inside a set
then_test:
- if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
- then: [t: "не в"] # (en: 'not in', google translation)
+ then: [t: "не в"]
- else_if: $ClearSpeak_SetMemberSymbol = 'Member'
- then: [t: "не член"] # (en: 'not member of', google translation)
+ then: [t: "не является членом"]
- else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [t: "не элемент"] # (en: 'not element of', google translation)
- - else: [t: "не принадлежит"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'not belonging to')
+ then: [t: "не является элементом"]
+ - else: [t: "не принадлежит"] # $ClearSpeak_SetMemberSymbol = 'Belongs'
else_test:
- if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
- then: [t: "не является членом"] # (en: 'is not a member of', google translation)
+ then: [t: "не является членом"]
- else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [t: "не элемент"] # (en: 'is not an element of', google translation)
+ then: [t: "не является элементом"]
- else_if: $ClearSpeak_SetMemberSymbol = 'In'
- then: [t: "не в"] # (en: 'is not in', google translation)
- - else: [t: "не принадлежит"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'does not belong to')
- - "∊": # 0x220a
+ then: [t: "не находится в"]
+ - else: [t: "не принадлежит"] # $ClearSpeak_SetMemberSymbol = 'Belongs'
+ - "∊": # 0x220a
- test:
if: "$SpeechStyle != 'ClearSpeak'"
then:
- test:
- if: "$Verbosity!='Terse' and not(parent::m:set)" # "the set x is an element of ..." sounds bad
- then: [t: "является"] # (en: 'is', google translation)
- - t: "малое принадлежит" # (en: 'an element of')
+ if: "$Verbosity!='Terse' and not(parent::m:set)" # "the set x is an element of ..." sounds bad
+ then: [t: "является"]
+ - t: "элементом"
# Several options for speaking elements in ClearSpeak -- they split between being inside a set or not and then the option
else_test:
- if: "../../self::m:set or ../../../self::m:set" # inside a set
+ if: "../../self::m:set or ../../../self::m:set" # inside a set
then_test:
- if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'In'
- then: [t: "в"] # (en: 'in', google translation)
+ then: [t: "в"]
- else_if: $ClearSpeak_SetMemberSymbol = 'Member'
- then: [t: "член"] # (en: 'member of', google translation)
+ then: [t: "член"]
- else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [t: "элемент"] # (en: 'element of', google translation)
- - else: [t: "малое принадлежит"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belonging to')
+ then: [t: "элемент"]
+ - else: [t: "принадлежит"] # $ClearSpeak_SetMemberSymbol = 'Belongs'
else_test:
- if: $ClearSpeak_SetMemberSymbol = 'Auto' or $ClearSpeak_SetMemberSymbol = 'Member'
- then: [t: "является членом"] # (en: 'is a member of', google translation)
+ then: [t: "является членом"]
- else_if: $ClearSpeak_SetMemberSymbol = 'Element'
- then: [t: "элемент"] # (en: 'is an element of', google translation)
+ then: [t: "является элементом"]
- else_if: $ClearSpeak_SetMemberSymbol = 'In'
- then: [t: "находится в"] # (en: 'is in', google translation)
- - else: [t: "малое принадлежит"] # $ClearSpeak_SetMemberSymbol = 'Belongs' (en: 'belongs to')
- - "∋": [t: "содержит как член"] # 0x220b (en: 'contains the member')
- - "∌": [t: "не содержит как член"] # 0x220c (en: 'does not contain the member')
- - "∍": [t: "малое содержит как член"] # 0x220d (en: 'contains the member')
- - "∎": [t: "конец доказательства"] # 0x220e (en: 'end of proof')
- - "∏": [t: "эн-арное произведение"] # 0x220f (en: 'product')
- - "∐": [t: "эн-арный сомножитель"] # 0x2210 (en: 'coproduct')
- - "∑": [t: "эн-арная сумма"] # 0x2211 (en: 'sum')
- - "−": [t: "минус"] # 0x2212 (en: 'minus')
- - "∓": [t: "минус плюс"] # 0x2213 (en: 'minus or plus')
- - "∔": [t: "плюс с точкой"] # 0x2214 (en: 'dot plus')
- - "∕": [t: "знак деления"] # 0x2215 (en: 'divided by')
- - "∖": [t: "разность множеств"] # 0x2216 (en: 'set minus')
- - "∗": [t: "оператор звёздочка"] # 0x2217 (en: 'times')
- - "∘": [t: "кольцо"] # 0x2218 (en: 'composed with')
- - "∙": # 0x2219
+ then: [t: "находится в"]
+ - else: [t: "принадлежит"] # $ClearSpeak_SetMemberSymbol = 'Belongs'
+ - "∋": [t: "содержит член"] # 0x220b
+ - "∌": [t: "не содержит член"] # 0x220c
+ - "∍": [t: "содержит член"] # 0x220d
+ - "∎": [t: "конец доказательства"] # 0x220e
+ - "∏": [t: "произведение"] # 0x220f
+ - "∐": [t: "копроизведение"] # 0x2210
+ - "∑": [t: "сумма"] # 0x2211
+ - "−": [t: "минус"] # 0x2212
+ - "∓": [t: "минус или плюс"] # 0x2213
+ - "∔": [t: "точка плюс"] # 0x2214
+ - "∕": [t: "разделить на"] # 0x2215
+ - "∖": [t: "разность множеств"] # 0x2216
+ - "∗": [t: "умножить"] # 0x2217
+ - "∘": [t: "композиция с"] # 0x2218
+ - "∙": # 0x2219
- test:
if: "@data-chem-formula-op"
- then: [t: "точка"] # (en: 'dot', google translation)
- else: [t: "буллит"] # (en: 'times')
+ then: [t: "точка"]
+ else: [t: "умножить"]
- - "√": # 0x221a
+ - "√": # 0x221a
- test:
if: "$Verbosity!='Terse'"
- then: [t: "а"] # (en: 'the', google translation)
- - t: "квадратный корень" # (en: 'square root of')
- - "∛": # 0x221b
+ then: [ot: "the"]
+ - t: "квадратный корень из"
+ - "∛": # 0x221b
- test:
if: "$Verbosity!='Terse'"
- then: [t: "а"] # (en: 'the', google translation)
- - t: "кубический корень" # (en: 'cube root of')
- - "∜": # 0x221c
+ then: [ot: "the"]
+ - t: "кубический корень из"
+ - "∜": # 0x221c
- test:
if: "$Verbosity!='Terse'"
- then: [t: "а"] # (en: 'the', google translation)
- - t: "корень четвёртой степени" # (en: 'fourth root of')
- - "∝": # 0x221d
+ then: [ot: "the"]
+ - t: "корень четвёртой степени из"
+ - "∝": # 0x221d
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "пропорционально" # (en: 'proportional to')
- - "∞": [t: "бесконечность"] # 0x221e (en: 'infinity')
- - "∟": [t: "правый угол"] # 0x221f (en: 'right angle')
- - "∠": [t: "угол"] # 0x2220 (en: 'angle')
- - "∡": [t: "измеримый угол"] # 0x2221 (en: 'measured angle')
- - "∢": [t: "сферический угол"] # 0x2222 (en: 'spherical angle')
- - "∣": [t: "делит"] # 0x2223 (en: 'divides')
- - "∤": [t: "не делит"] # 0x2224 (en: 'does not divide')
- - "∧": [t: "логическое и"] # 0x2227 (en: 'and')
- - "∨": [t: "логическое или"] # 0x2228 (en: 'or')
- - "∩": [t: "пересечение"] # 0x2229 (en: 'intersection')
- - "∪": [t: "объединение"] # 0x222a (en: 'union')
- - "∫": [t: "интеграл"] # 0x222b (en: 'integral')
- - "∬": [t: "двойной интеграл"] # 0x222c (en: 'double integral')
- - "∭": [t: "тройной интеграл"] # 0x222d (en: 'triple integral')
- - "∮": [t: "интеграл по контуру"] # 0x222e (en: 'contour integral')
- - "∯": [t: "поверхностный интеграл"] # 0x222f (en: 'surface integral')
- - "∰": [t: "интеграл по объёму"] # 0x2230 (en: 'volume integral')
- - "∱": [t: "круговой интеграл"] # 0x2231 (en: 'clockwise integral')
- - "∲": [t: "круговой интеграл по контуру"] # 0x2232 (en: 'clockwise contour integral')
- - "∳": [t: "антикруговой интеграл по контуру"] # 0x2233 (en: 'anticlockwise contour integral')
- - "∴": [t: "следовательно"] # 0x2234 (en: 'therefore')
- - "∵": [t: "поскольку"] # 0x2235 (en: 'because')
- - "∶": # 0x2236
+ then: [t: "является"]
+ - t: "пропорционально"
+ - "∞": [t: "бесконечность"] # 0x221e
+ - "∟": [t: "прямой угол"] # 0x221f
+ - "∠": [t: "угол"] # 0x2220
+ - "∡": [t: "измеренный угол"] # 0x2221
+ - "∢": [t: "сферический угол"] # 0x2222
+ - "∣": [t: "делит"] # 0x2223
+ - "∤": [t: "не делит"] # 0x2224
+ - "∧": [t: "и"] # 0x2227
+ - "∨": [t: "или"] # 0x2228
+ - "∩": [t: "пересечение"] # 0x2229
+ - "∪": [t: "объединение"] # 0x222a
+ - "∫": [t: "интеграл"] # 0x222b
+ - "∬": [t: "двойной интеграл"] # 0x222c
+ - "∭": [t: "тройной интеграл"] # 0x222d
+ - "∮": [t: "контурный интеграл"] # 0x222e
+ - "∯": [t: "поверхностный интеграл"] # 0x222f
+ - "∰": [t: "объёмный интеграл"] # 0x2230
+ - "∱": [t: "интеграл по часовой"] # 0x2231
+ - "∲": [t: "контурный интеграл по часовой"] # 0x2232
+ - "∳": [t: "контурный интеграл против часовой"] # 0x2233
+ - "∴": [t: "следовательно"] # 0x2234
+ - "∵": [t: "потому что"] # 0x2235
+ - "∶": # 0x2236
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "отношение" # (en: 'to')
- - "∷": [t: "пропорция"] # 0x2237 (en: 'as')
- - "∸": [t: "минус с точкой"] # 0x2238 (en: 'dot minus')
- - "∹": [t: "превышает"] # 0x2239 (en: 'has excess compared to')
- - "∺": # 0x223a
+ then: [t: "является"]
+ - t: "к"
+ - "∷": [t: "как"] # 0x2237
+ - "∸": [t: "точка минус"] # 0x2238
+ - "∹": [t: "имеет избыток по сравнению с"] # 0x2239
+ - "∺": # 0x223a
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "геометрическая пропорция" # (en: 'geometrically proportional to')
- - "∻": # 0x223b
+ then: [t: "является"]
+ - t: "геометрически пропорционально"
+ - "∻": # 0x223b
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "гомотетия" # (en: 'homothetic to')
- - "∼": [t: "тильда"] # 0x223c (en: 'varies with')
- - "∽": [t: "обратная тильда"] # 0x223d (en: 'reversed tilde')
- - "∾": # 0x223e
+ then: [t: "является"]
+ - t: "гомотетично"
+ - "∼": [t: "изменяется с"] # 0x223c
+ - "∽": [t: "обратная тильда"] # 0x223d
+ - "∾": # 0x223e
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "перевёрнутая плавная s" # (en: 'most positive')
- - "∿": [t: "синусоидальная волна"] # 0x223f (en: 'sine wave')
- - "≀": [t: "скрученное произведение"] # 0x2240 (en: 'wreath product')
- - "≁": [t: "не эквивалентно"] # 0x2241 (en: 'not tilde')
- - "≂": [t: "тильда с минусом"] # 0x2242 (en: 'minus tilde')
- - "≃": # 0x2243
+ then: [t: "является"]
+ - t: "наиболее положительным"
+ - "∿": [t: "синусоида"] # 0x223f
+ - "≀": [t: "венок"] # 0x2240
+ - "≁": [t: "не тильда"] # 0x2241
+ - "≂": [t: "минус тильда"] # 0x2242
+ - "≃": # 0x2243
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "асимптотически равно" # (en: 'asymptotically equal to')
- - "≄": # 0x2244
+ then: [t: "является"]
+ - t: "асимптотически равно"
+ - "≄": # 0x2244
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "не равно асимптотически" # (en: 'not asymptotically equal to')
- - "≅": # 0x2245
+ then: [t: "является"]
+ - t: "не асимптотически равно"
+ - "≅": # 0x2245
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "конгруэнтность" # (en: 'congruent to')
- - "≆": # 0x2246
+ then: [t: "является"]
+ - t: "конгруэнтно"
+ - "≆": # 0x2246
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "приблизительно но не точно равно" # (en: 'approximately but not actually equal to')
- - "≇": # 0x2247
+ then: [t: "является"]
+ - t: "приблизительно, но не фактически равно"
+ - "≇": # 0x2247
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "не равно приблизительно или точно" # (en: 'not congruent to')
- - "≈": # 0x2248
+ then: [t: "является"]
+ - t: "не конгруэнтно"
+ - "≈": # 0x2248
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "приблизительно равно" # (en: 'approximately equal to')
- - "≉": # 0x2249
+ then: [t: "является"]
+ - t: "приблизительно равно"
+ - "≉": # 0x2249
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "не приблизительно равно" # (en: 'not approximately equal to')
- - "≊": # 0x224a
+ then: [t: "является"]
+ - t: "не приблизительно равно"
+ - "≊": # 0x224a
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "приблизительно равно или равно" # (en: 'approximately equal or equal to')
- - "≋": [t: "тройная тильда"] # 0x224b (en: 'triple tilde')
- - "≌": [t: "конгруэнтно"] # 0x224c (en: 'are all equal to')
- - "≍": # 0x224d
+ then: [t: "является"]
+ - t: "приблизительно равно или равно"
+ - "≋": [t: "тройная тильда"] # 0x224b
+ - "≌": [t: "все равны"] # 0x224c
+ - "≍": # 0x224d
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "Эквивалентно" # (en: 'equivalent to')
- - "≎": # 0x224e
+ then: [t: "является"]
+ - t: "эквивалентно"
+ - "≎": # 0x224e
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "Геометрически эквивалентно" # (en: 'geometrically equivalent to')
- - "≏": # 0x224f
+ then: [t: "является"]
+ - t: "геометрически эквивалентно"
+ - "≏": # 0x224f
- test:
if: "$Verbosity!='Terse'"
- then: [t: "а"] # (en: 'the', google translation)
- - t: "разность между" # (en: 'difference between')
- - "≐": [t: "стремится к пределу"] # 0x2250 (en: 'approaches the limit')
- - "≑": # 0x2251
+ then: [ot: "the"]
+ - t: "разность"
+ - "≐": [t: "стремится к пределу"] # 0x2250
+ - "≑": # 0x2251
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "геометрически равно" # (en: 'geometrically equal to')
- - "≒": # 0x2252
+ then: [t: "является"]
+ - t: "геометрически равно"
+ - "≒": # 0x2252
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "приблизительно равно или есть образ" # (en: 'approximately equal to or the image of')
- - "≓": # 0x2253
+ then: [t: "является"]
+ - t: "приблизительно равно или образ"
+ - "≓": # 0x2253
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is the', google translation)
- - t: "есть образ или приблизительно равно" # (en: 'image of or approximately equal to')
- - "≔": [t: "равно с двоеточием"] # 0x2254 (en: 'colon equals')
- - "≕": [t: "равно с двоеточием"] # 0x2255 (en: 'equals colon')
- - "≖": [t: "равно с кругом"] # 0x2256 (en: 'ring in equal to')
- - "≗": # 0x2257
+ then: [t: "является"]
+ - t: "образ или приблизительно равно"
+ - "≔": [t: "двоеточие равно"] # 0x2254
+ - "≕": [t: "равно двоеточие"] # 0x2255
+ - "≖": [t: "кольцо в равно"] # 0x2256
+ - "≗": # 0x2257
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "равно с кругом" # (en: 'approximately equal to')
- - "≘": [t: "соответствует"] # 0x2258 (en: 'corresponds to')
- - "≙": [t: "охватывает"] # 0x2259 (en: 'estimates')
- - "≚": # 0x225a
+ then: [t: "является"]
+ - t: "приблизительно равно"
+ - "≘": [t: "соответствует"] # 0x2258
+ - "≙": [t: "оценивает"] # 0x2259
+ - "≚": # 0x225a
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "изогонально равно" # (en: 'equiangular to')
- - "≛": [t: "равно со звёздочкой"] # 0x225b (en: 'star equals')
- - "≜": [t: "равно с дельтой"] # 0x225c (en: 'delta equals')
- - "≝": [t: "равно по определению"] # 0x225d (en: 'is defined to be')
- - "≞": # 0x225e
+ then: [t: "является"]
+ - t: "равноугольно"
+ - "≛": [t: "звезда равно"] # 0x225b
+ - "≜": [t: "дельта равно"] # 0x225c
+ - "≝": [t: "определяется как"] # 0x225d
+ - "≞": # 0x225e
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "измеряется" # (en: 'measured by')
- - "≟": [t: "равно с вопросительным знаком"] # 0x225f (en: 'has an unknown relationship with')
- - "≠": # 0x2260
+ then: [t: "является"]
+ - t: "измеряется"
+ - "≟": [t: "имеет неизвестное отношение с"] # 0x225f
+ - "≠": # 0x2260
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "не равно" # (en: 'not equal to')
- - "≡": # 0x2261
+ then: [t: "является"]
+ - t: "не равно"
+ - "≡": # 0x2261
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "тождественно равно" # (en: 'identical to')
- - "≢": # 0x2262
+ then: [t: "является"]
+ - t: "тождественно равно"
+ - "≢": # 0x2262
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "не равно тождественно" # (en: 'not identical to')
- - "≣": # 0x2263
+ then: [t: "является"]
+ - t: "не тождественно равно"
+ - "≣": # 0x2263
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "строго эквивалентно" # (en: 'strictly equivalent to')
- - "≦": [t: "меньше над равно"] # 0x2266 (en: 'less than over equal to')
- - "≧": [t: "больше над равно"] # 0x2267 (en: 'greater than over equal to')
- - "≨": # 0x2268
+ then: [t: "является"]
+ - t: "строго эквивалентно"
+ - "≦": [t: "меньше или равно"] # 0x2266 (less than over equal to) фактически ≤
+ - "≧": [t: "больше или равно"] # 0x2267 (greater than over equal to) фактически ≥
+ - "≨": # 0x2268
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "меньше но не равно" # (en: 'less than but not equal to')
- - "≩": # 0x2269
+ then: [t: "является"]
+ - t: "меньше, но не равно"
+ - "≩": # 0x2269
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "больше но не равно" # (en: 'greater than but not equal to')
- - "≪": # 0x226a
+ then: [t: "является"]
+ - t: "больше, но не равно"
+ - "≪": # 0x226a
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "много меньше" # (en: 'much less than')
- - "≫": # 0x226b
+ then: [t: "является"]
+ - t: "много меньше"
+ - "≫": # 0x226b
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "много больше" # (en: 'much greater than')
- - "≬": # 0x226c
+ then: [t: "является"]
+ - t: "много больше"
+ - "≬": # 0x226c
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "между" # (en: 'between')
- - "≭": # 0x226d
+ then: [t: "является"]
+ - t: "между"
+ - "≭": # 0x226d
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "не эквивалентно" # (en: 'not equivalent to')
- - "≮": # 0x226e
+ then: [t: "является"]
+ - t: "не эквивалентно"
+ - "≮": # 0x226e
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "не меньше" # (en: 'not less than')
- - "≯": # 0x226f
+ then: [t: "является"]
+ - t: "не меньше"
+ - "≯": # 0x226f
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "не больше" # (en: 'not greater than')
- - "≰": # 0x2270
+ then: [t: "является"]
+ - t: "не больше"
+ - "≰": # 0x2270
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "ни меньше ни равно" # (en: 'neither less than nor equal to')
- - "≱": # 0x2271
+ then: [t: "является"]
+ - t: "ни меньше, ни равно"
+ - "≱": # 0x2271
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "ни больше ни равно" # (en: 'neither greater than nor equal to')
- - "≲": # 0x2272
+ then: [t: "является"]
+ - t: "ни больше, ни равно"
+ - "≲": # 0x2272
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "меньше или эквивалентно" # (en: 'less than or equivalent to')
- - "≳": # 0x2273
+ then: [t: "является"]
+ - t: "меньше или эквивалентно"
+ - "≳": # 0x2273
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "больше или эквивалентно" # (en: 'greater than or equivalent to')
- - "≴": # 0x2274
+ then: [t: "является"]
+ - t: "больше или эквивалентно"
+ - "≴": # 0x2274
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "ни меньше ни эквивалентно" # (en: 'neither less than nor equivalent to')
- - "≵": # 0x2275
+ then: [t: "является"]
+ - t: "ни меньше, ни эквивалентно"
+ - "≵": # 0x2275
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "ни больше ни эквивалентно" # (en: 'neither greater than nor equivalent to')
- - "≶": # 0x2276
+ then: [t: "является"]
+ - t: "ни больше, ни эквивалентно"
+ - "≶": # 0x2276
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "меньше или больше" # (en: 'less than or greater than')
- - "≷": # 0x2277
+ then: [t: "является"]
+ - t: "меньше или больше"
+ - "≷": # 0x2277
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "больше или меньше" # (en: 'greater than or less than')
- - "≸": # 0x2278
+ then: [t: "является"]
+ - t: "больше или меньше"
+ - "≸": # 0x2278
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "ни меньше ни больше" # (en: 'neither less than nor greater than')
- - "≹": # 0x2279
+ then: [t: "является"]
+ - t: "ни меньше, ни больше"
+ - "≹": # 0x2279
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "ни больше ни меньше" # (en: 'neither greater than nor less than')
- - "≺": [t: "предшествует"] # 0x227a (en: 'precedes')
- - "≻": [t: "следует за"] # 0x227b (en: 'succeeds')
- - "≼": [t: "предшествует или равно"] # 0x227c (en: 'precedes or is equal to')
- - "≽": [t: "следует за или равно"] # 0x227d (en: 'succeeds or is equal to')
- - "≾": [t: "предшествует или эквивалентно"] # 0x227e (en: 'precedes or is equivalent to')
- - "≿": [t: "следует за или эквивалентно"] # 0x227f (en: 'succeeds or is equivalent to')
- - "⊀": [t: "не предшествует"] # 0x2280 (en: 'does not precede')
- - "⊁": [t: "не следует за"] # 0x2281 (en: 'does not succeed')
- - "⊂": # 0x2282
+ then: [t: "является"]
+ - t: "ни больше, ни меньше"
+ - "≺": [t: "предшествует"] # 0x227a
+ - "≻": [t: "следует"] # 0x227b
+ - "≼": [t: "предшествует или равно"] # 0x227c
+ - "≽": [t: "следует или равно"] # 0x227d
+ - "≾": [t: "предшествует или эквивалентно"] # 0x227e
+ - "≿": [t: "следует или эквивалентно"] # 0x227f
+ - "⊀": [t: "не предшествует"] # 0x2280
+ - "⊁": [t: "не следует"] # 0x2281
+ - "⊂": # 0x2282
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является а"] # (en: 'is a', google translation)
- - t: "подмножество" # (en: 'subset of')
- - "⊃": # 0x2283
+ then: [t: "является"]
+ - t: "подмножеством"
+ - "⊃": # 0x2283
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является а"] # (en: 'is a', google translation)
- - t: "надмножество" # (en: 'superset of')
- - "⊄": # 0x2284
+ then: [t: "является"]
+ - t: "надмножеством"
+ - "⊄": # 0x2284
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "не подмножество" # (en: 'not a subset of')
- - "⊅": # 0x2285
+ then: [t: "является"]
+ - t: "не подмножеством"
+ - "⊅": # 0x2285
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "не надмножество" # (en: 'not a superset of')
- - "⊆": # 0x2286
+ then: [t: "является"]
+ - t: "не надмножеством"
+ - "⊆": # 0x2286
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является а"] # (en: 'is a', google translation)
- - t: "подмножество или равно" # (en: 'subset of or equal to')
- - "⊇": # 0x2287
+ then: [t: "является"]
+ - t: "подмножеством или равно"
+ - "⊇": # 0x2287
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является а"] # (en: 'is a', google translation)
- - t: "надмножество или равно" # (en: 'superset of or equal to')
- - "⊈": # 0x2288
+ then: [t: "является"]
+ - t: "надмножеством или равно"
+ - "⊈": # 0x2288
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "ни подмножество ни равно" # (en: 'neither a subset of nor equal to')
- - "⊉": # 0x2289
+ then: [t: "является"]
+ - t: "ни подмножеством, ни равно"
+ - "⊉": # 0x2289
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "ни надмножество ни равно" # (en: 'neither a superset of nor equal to')
- - "⊊": [t: "подмножество но не равно"] # 0x228a (en: 'subset of with not equal to')
- - "⊋": [t: "надмножество но не равно"] # 0x228b (en: 'superset of with not equal to')
- - "⊌": [t: "мультимножество"] # 0x228c (en: 'multiset')
- - "⊍": [t: "умножение мультимножеств"] # 0x228d (en: 'multiset multiplication')
- - "⊎": [t: "объединение мультимножеств"] # 0x228e (en: 'multiset union')
- - "⊏": [t: "образ в квадрате"] # 0x228f (en: 'square image of')
- - "⊐": [t: "прообраз в квадрате"] # 0x2290 (en: 'square original of')
- - "⊑": [t: "образ в квадрате или равно"] # 0x2291 (en: 'square image of or equal to')
- - "⊒": [t: "прообраз в квадрате или равно"] # 0x2292 (en: 'square original of or equal to')
- - "⊓": [t: "пересечение в квадрате"] # 0x2293 (en: 'square cap')
- - "⊔": [t: "объединение в квадрате"] # 0x2294 (en: 'square cup')
- - "⊕": [t: "плюс в круге"] # 0x2295 (en: 'circled plus')
- - "⊖": [t: "минус в круге"] # 0x2296 (en: 'circled minus')
- - "⊗": [t: "произведение в круге"] # 0x2297 (en: 'circled times')
- - "⊘": [t: "дробная черта в круге"] # 0x2298 (en: 'circled slash')
- - "⊙": [t: "точка в круге"] # 0x2299 (en: 'circled dot operator')
- - "⊚": [t: "кольцо в круге"] # 0x229a (en: 'circled ring')
- - "⊛": [t: "звёздочка в круге"] # 0x229b (en: 'circled asterisk')
- - "⊜": [t: "равно в круге"] # 0x229c (en: 'circled equals')
- - "⊝": [t: "дефис в круге"] # 0x229d (en: 'circled dash')
- - "⊞": [t: "плюс в квадрате"] # 0x229e (en: 'squared plus')
- - "⊟": [t: "минус в квадрате"] # 0x229f (en: 'squared minus')
- - "⊠": [t: "произведение в квадрате"] # 0x22a0 (en: 'squared times')
- - "⊡": [t: "точка в квадрате"] # 0x22a1 (en: 'squared dot operator')
- - "⊢": [t: "шеврон вправо"] # 0x22a2 (en: 'proves')
- - "⊣": [t: "шеврон влево"] # 0x22a3 (en: 'does not yield')
- - "⊤": [t: "шеврон вниз"] # 0x22a4 (en: 'top')
- - "⊥": # 0x22a5
+ then: [t: "является"]
+ - t: "ни надмножеством, ни равно"
+ - "⊊": [t: "подмножество, но не равно"] # 0x228a
+ - "⊋": [t: "надмножество, но не равно"] # 0x228b
+ - "⊌": [t: "мультимножество"] # 0x228c
+ - "⊍": [t: "умножение мультимножеств"] # 0x228d
+ - "⊎": [t: "объединение мультимножеств"] # 0x228e
+ - "⊏": [t: "квадратный образ"] # 0x228f
+ - "⊐": [t: "квадратный прообраз"] # 0x2290
+ - "⊑": [t: "квадратный образ или равно"] # 0x2291
+ - "⊒": [t: "квадратный прообраз или равно"] # 0x2292
+ - "⊓": [t: "квадратное пересечение"] # 0x2293
+ - "⊔": [t: "квадратное объединение"] # 0x2294
+ - "⊕": [t: "плюс в круге"] # 0x2295
+ - "⊖": [t: "минус в круге"] # 0x2296
+ - "⊗": [t: "умножить в круге"] # 0x2297
+ - "⊘": [t: "косая черта в круге"] # 0x2298
+ - "⊙": [t: "точка в круге"] # 0x2299
+ - "⊚": [t: "кольцо в круге"] # 0x229a
+ - "⊛": [t: "звёздочка в круге"] # 0x229b
+ - "⊜": [t: "равно в круге"] # 0x229c
+ - "⊝": [t: "тире в круге"] # 0x229d
+ - "⊞": [t: "плюс в квадрате"] # 0x229e
+ - "⊟": [t: "минус в квадрате"] # 0x229f
+ - "⊠": [t: "умножить в квадрате"] # 0x22a0
+ - "⊡": [t: "точка в квадрате"] # 0x22a1
+ - "⊢": [t: "доказывает"] # 0x22a2
+ - "⊣": [t: "не выводит"] # 0x22a3
+ - "⊤": [t: "истина"] # 0x22a4
+ - "⊥": # 0x22a5
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "перпендикулярно" # (en: 'bottom')
- - "⊦": [t: "высказывание"] # 0x22a6 (en: 'reduces to')
- - "⊧": [t: "модулирует"] # 0x22a7 (en: 'models')
- - "⊨": # 0x22a8
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "истина" # (en: 'true')
- - "⊩": [t: "влечёт"] # 0x22a9 (en: 'forces')
- - "⊪": [t: "тройная вертикальная черта с перекладиной справа"] # 0x22aa (en: 'triple vertical bar right turnstile')
- - "⊫": [t: "двойная вертикальная черта с двойной перекладиной справа"] # 0x22ab (en: 'double vertical bar double right turnstile')
- - "⊬": [t: "не доказано"] # 0x22ac (en: 'does not prove')
- - "⊭": # 0x22ad
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "не истина" # (en: 'not true')
- - "⊮": [t: "не влечёт"] # 0x22ae (en: 'does not force')
- - "⊯": [t: "двойная вертикальная черта с двойной перекладиной справа с отрицанием"] # 0x22af (en: 'negated double vertical bar double right turnstile')
- - "⊰": [t: "предшествует относительно"] # 0x22b0 (en: 'precedes under relation')
- - "⊱": [t: "следует за относительно"] # 0x22b1 (en: 'succeeds under relation')
- - "⊲": # 0x22b2
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "нормальная подгруппа" # (en: 'a normal subgroup of')
- - "⊳": [t: "содержит как нормальную подгруппу"] # 0x22b3 (en: 'contains as a normal subgroup')
- - "⊴": # 0x22b4
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "нормальная подгруппа или равно" # (en: 'a normal subgroup of or equal to')
- - "⊵": [t: "содержит как нормальную подгруппу или равно"] # 0x22b5 (en: 'contains as a normal subgroup or equal to')
- - "⊶": # 0x22b6
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "прообраз" # (en: 'the original of')
- - "⊷": # 0x22b7
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "образ" # (en: 'an image of')
- - "⊸": [t: "многозначное отображение"] # 0x22b8 (en: 'multimap')
- - "⊹": [t: "Эрмитово сопряжение матрицы"] # 0x22b9 (en: 'hermitian conjugate matrix')
- - "⊺": [t: "включение"] # 0x22ba (en: 'intercalate')
- - "⊻": [t: "исключающее или"] # 0x22bb (en: 'xor')
- - "⊼": [t: "и с отрицанием"] # 0x22bc (en: 'nand')
- - "⊽": [t: "или с отрицанием"] # 0x22bd (en: 'nor')
- - "⊾": [t: "правый угол с дугой"] # 0x22be (en: 'right angle with arc')
- - "⊿": [t: "треугольник вершиной вправо"] # 0x22bf (en: 'right triangle')
- - "⋀": [t: "эн-арное логическое и"] # 0x22c0 (en: 'logical and')
- - "⋁": [t: "эн-арное логическое или"] # 0x22c1 (en: 'logical or')
- - "⋂": [t: "эн-арное пересечение"] # 0x22c2 (en: 'intersection')
- - "⋃": [t: "эн-арное объединение"] # 0x22c3 (en: 'union')
- - "⋄": [t: "ромб"] # 0x22c4 (en: 'diamond operator')
- - "⋅": # 0x22c5
+ then: [t: "является"]
+ - t: "ложь"
+ - "⊦": [t: "сводится к"] # 0x22a6
+ - "⊧": [t: "моделирует"] # 0x22a7
+ - "⊨": # 0x22a8
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "является"]
+ - t: "истинно"
+ - "⊩": [t: "форсирует"] # 0x22a9
+ - "⊪": [t: "тройная вертикальная черта с правым турникетом"] # 0x22aa
+ - "⊫": [t: "двойная вертикальная черта с двойным правым турникетом"] # 0x22ab
+ - "⊬": [t: "не доказывает"] # 0x22ac
+ - "⊭": # 0x22ad
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "является"]
+ - t: "не истинно"
+ - "⊮": [t: "не форсирует"] # 0x22ae
+ - "⊯": [t: "отрицание двойной вертикальной черты с двойным правым турникетом"] # 0x22af
+ - "⊰": [t: "предшествует по отношению"] # 0x22b0
+ - "⊱": [t: "следует по отношению"] # 0x22b1
+ - "⊲": # 0x22b2
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "является"]
+ - t: "нормальной подгруппой"
+ - "⊳": [t: "содержит как нормальную подгруппу"] # 0x22b3
+ - "⊴": # 0x22b4
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "является"]
+ - t: "нормальной подгруппой или равно"
+ - "⊵": [t: "содержит как нормальную подгруппу или равно"] # 0x22b5
+ - "⊶": # 0x22b6
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "является"]
+ - t: "прообразом"
+ - "⊷": # 0x22b7
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "является"]
+ - t: "образом"
+ - "⊸": [t: "мультиотображение"] # 0x22b8
+ - "⊹": [t: "эрмитово сопряжённая матрица"] # 0x22b9
+ - "⊺": [t: "интеркалат"] # 0x22ba
+ - "⊻": [t: "исключающее или"] # 0x22bb
+ - "⊼": [t: "не-и"] # 0x22bc
+ - "⊽": [t: "не-или"] # 0x22bd
+ - "⊾": [t: "прямой угол с дугой"] # 0x22be
+ - "⊿": [t: "прямоугольный треугольник"] # 0x22bf
+ - "⋀": [t: "логическое и"] # 0x22c0
+ - "⋁": [t: "логическое или"] # 0x22c1
+ - "⋂": [t: "пересечение"] # 0x22c2
+ - "⋃": [t: "объединение"] # 0x22c3
+ - "⋄": [t: "ромб"] # 0x22c4
+ - "⋅": # 0x22c5
- test:
if: "@data-chem-formula-op"
- then: [t: "точка"] # (en: 'dot', google translation)
- else: [t: "оператор точка"] # (en: 'times')
+ then: [t: "точка"]
+ else: [t: "умножить"]
- - "⋆": [t: "оператор звёздочка"] # 0x22c6 (en: 'times')
- - "⋇": [t: "кратность деления"] # 0x22c7 (en: 'division times')
- - "⋈": [t: "бабочка"] # 0x22c8 (en: 'bowtie')
- - "⋉": # 0x22c9
+ - "⋆": [t: "умножить"] # 0x22c6
+ - "⋇": [t: "деление с умножением"] # 0x22c7
+ - "⋈": [t: "бантик"] # 0x22c8
+ - "⋉": # 0x22c9
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "полупрямое произведение с нормальным фактором слева" # (en: 'the left normal factor semidirect product of')
- - "⋊": # 0x22ca
+ then: [t: "является"]
+ - t: "левым нормальным полупрямым произведением"
+ - "⋊": # 0x22ca
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "полупрямое произведение с нормальным фактором справа" # (en: 'the right normal factor semidirect product of')
- - "⋋": # 0x22cb
+ then: [t: "является"]
+ - t: "правым нормальным полупрямым произведением"
+ - "⋋": # 0x22cb
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "левое полупрямое произведение" # (en: 'the left semidirect product of')
- - "⋌": # 0x22cc
+ then: [t: "является"]
+ - t: "левым полупрямым произведением"
+ - "⋌": # 0x22cc
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "правое полупрямое произведение" # (en: 'the right semidirect product of')
- - "⋍": [t: "обратное волнистое равно"] # 0x22cd (en: 'reversed tilde equals')
- - "⋎": [t: "волнистое логическое или"] # 0x22ce (en: 'curly logical or')
- - "⋏": [t: "волнистое логическое и"] # 0x22cf (en: 'curly logical and')
- - "⋐": # 0x22d0
+ then: [t: "является"]
+ - t: "правым полупрямым произведением"
+ - "⋍": [t: "обратная тильда равно"] # 0x22cd
+ - "⋎": [t: "фигурное логическое или"] # 0x22ce
+ - "⋏": [t: "фигурное логическое и"] # 0x22cf
+ - "⋐": # 0x22d0
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "двойное подмножество" # (en: 'a double subset of')
- - "⋑": # 0x22d1
+ then: [t: "является"]
+ - t: "двойным подмножеством"
+ - "⋑": # 0x22d1
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "двойное надмножество" # (en: 'a double superset of')
- - "⋒": # 0x22d2
+ then: [t: "является"]
+ - t: "двойным надмножеством"
+ - "⋒": # 0x22d2
- test:
if: "$Verbosity!='Terse'"
- then: [t: "а"] # (en: 'the', google translation)
- - t: "двойное пересечение" # (en: 'double intersection of')
- - "⋓": # 0x22d3
+ then: [ot: "the"]
+ - t: "двойное пересечение"
+ - "⋓": # 0x22d3
- test:
if: "$Verbosity!='Terse'"
- then: [t: "а"] # (en: 'the', google translation)
- - t: "двойное объединение" # (en: 'double union of')
- - "⋔": # 0x22d4
+ then: [ot: "the"]
+ - t: "двойное объединение"
+ - "⋔": # 0x22d4
- test:
if: "$Verbosity!='Terse'"
- then: [t: "а"] # (en: 'the', google translation)
- - t: "вилка" # (en: 'proper intersection of')
- - "⋕": # 0x22d5
+ then: [ot: "the"]
+ - t: "собственное пересечение"
+ - "⋕": # 0x22d5
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "равно и параллельно" # (en: 'equal to and parallel to')
- - "⋖": [t: "меньше с точкой"] # 0x22d6 (en: 'less than with dot')
- - "⋗": [t: "больше с точкой"] # 0x22d7 (en: 'greater than with dot')
- - "⋘": # 0x22d8
+ then: [t: "является"]
+ - t: "равно и параллельно"
+ - "⋖": [t: "меньше с точкой"] # 0x22d6
+ - "⋗": [t: "больше с точкой"] # 0x22d7
+ - "⋘": # 0x22d8
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "очень много меньше" # (en: 'very much less than')
- - "⋙": # 0x22d9
+ then: [t: "является"]
+ - t: "очень много меньше"
+ - "⋙": # 0x22d9
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "очень много больше" # (en: 'very much greater than')
- - "⋚": # 0x22da
+ then: [t: "является"]
+ - t: "очень много больше"
+ - "⋚": # 0x22da
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "меньше равно или больше" # (en: 'less than equal to or greater than')
- - "⋛": # 0x22db
+ then: [t: "является"]
+ - t: "меньше, равно или больше"
+ - "⋛": # 0x22db
- test:
if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "больше равно или меньше" # (en: 'greater than equal to or less than')
- - "⋜": # 0x22dc
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "равно или меньше" # (en: 'equal to or less than')
- - "⋝": # 0x22dd
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "равно или больше" # (en: 'equal to or greater than')
- - "⋞": # 0x22de
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "равно или предшествует" # (en: 'equal to or precedes')
- - "⋟": # 0x22df
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "равно или следует за" # (en: 'equal to or succeeds')
- - "⋠": [t: "не предшествует или равно"] # 0x22e0 (en: 'does not precede nor is equal to')
- - "⋡": [t: "не следует за или равно"] # 0x22e1 (en: 'does not succeed nor is equal to')
- - "⋢": [t: "не образ в квадрате или равно"] # 0x22e2 (en: 'not square image of or equal to')
- - "⋣": [t: "не прообраз в квадрате или равно"] # 0x22e3 (en: 'not square original of or equal to')
- - "⋤": [t: "образ в квадрате или не равно"] # 0x22e4 (en: 'square image of or not equal to')
- - "⋥": [t: "прообраз в квадрате или не равно"] # 0x22e5 (en: 'square original of or not equal to')
- - "⋦": # 0x22e6
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "меньше но не эквивалентно" # (en: 'less than but not equivalent to')
- - "⋧": # 0x22e7
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "больше но не эквивалентно" # (en: 'greater than but not equivalent to')
- - "⋨": [t: "предшествует но не эквивалентно"] # 0x22e8 (en: 'precedes but is not equivalent to')
- - "⋩": [t: "следует за но не эквивалентно"] # 0x22e9 (en: 'succeeds but is not equivalent to')
- - "⋪": # 0x22ea
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "не содержится как нормальная подгруппа" # (en: 'not a normal subgroup of')
- - "⋫": [t: "не содержит как нормальную подгруппу"] # 0x22eb (en: 'does not contain as a normal subgroup')
- - "⋬": # 0x22ec
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "не содержится как нормальная подгруппа или равно" # (en: 'not a normal subgroup of nor is equal to')
- - "⋭": [t: "не содержит как нормальную подгруппу или равно"] # 0x22ed (en: 'does not contain as a normal subgroup nor is equal to')
- - "⋮": [t: "вертикальное многоточие"] # 0x22ee (en: 'vertical ellipsis')
- - "⋯": [t: "внутристрочное горизонтальное многоточие"] # 0x22ef (en: 'dot dot dot')
- - "⋰": [t: "диагональное многоточие сверху вправо"] # 0x22f0 (en: 'upwards diagonal ellipsis')
- - "⋱": [t: "диагональное многоточие снизу вправо"] # 0x22f1 (en: 'diagonal ellipsis')
- - "⋲": [t: "принадлежит с длинным горизонтальным штрихом"] # 0x22f2 (en: 'element of with long horizontal stroke')
- - "⋳": [t: "принадлежит с вертикальной чертой в конце горизонтального штриха"] # 0x22f3 (en: 'element of with vertical bar at end of horizontal stroke')
- - "⋴": [t: "малое принадлежит с вертикальной чертой в конце горизонтального штриха"] # 0x22f4 (en: 'element of with vertical bar at end of horizontal stroke')
- - "⋵": [t: "принадлежит с точкой сверху"] # 0x22f5 (en: 'element of with dot above')
- - "⋶": [t: "принадлежит с чертой сверху"] # 0x22f6 (en: 'element of with overbar')
- - "⋷": [t: "малое принадлежит с чертой сверху"] # 0x22f7 (en: 'element of with overbar')
- - "⋸": [t: "принадлежит с чертой снизу"] # 0x22f8 (en: 'element of with underbar')
- - "⋹": [t: "принадлежит с двумя горизонтальными штрихами"] # 0x22f9 (en: 'element of with two horizontal strokes')
- - "⋺": [t: "содержит с длинным горизонтальным штрихом"] # 0x22fa (en: 'contains with long horizontal stroke')
- - "⋻": [t: "содержит с вертикальной чертой в конце горизонтального штриха"] # 0x22fb (en: 'contains with vertical bar at end of horizontal stroke')
- - "⋼": [t: "малое содержит с вертикальной чертой в конце горизонтального штриха"] # 0x22fc (en: 'contains with vertical bar at end of horizontal stroke')
- - "⋽": [t: "содержит с чертой сверху"] # 0x22fd (en: 'contains with overbar')
- - "⋾": [t: "малое содержит с чертой сверху"] # 0x22fe (en: 'contains with overbar')
- - "⋿": [t: "знак принадлежности z-нотации"] # 0x22ff (en: 'z notation bag membership')
- - "⌀": [t: "диаметр"] # 0x2300 (en: 'diameter', google translation)
- - "⌁": [t: "электрическая стрелка"] # 0x2301 (en: 'electric arrow', google translation)
- - "⌂": [t: "дом"] # 0x2302 (en: 'house', google translation)
- - "⌃": [t: "вверх стрел"] # 0x2303 (en: 'up arrowhead', google translation)
- - "⌄": [t: "вниз стрелка"] # 0x2304 (en: 'down arrowhead', google translation)
- - "⌅": [t: "проектив"] # 0x2305 (en: 'projective', google translation)
- - "⌆": [t: "перспектива"] # 0x2306 (en: 'perspective', google translation)
- - "⌇": [t: "волнистая линия"] # 0x2307 (en: 'wavy line', google translation)
- - "⌈": [t: "левый потолок"] # 0x2308 (en: 'left ceiling', google translation)
- - "⌉": [t: "правый потолок"] # 0x2309 (en: 'right ceiling', google translation)
- - "⌊": [t: "левый пол"] # 0x230a (en: 'left floor', google translation)
- - "⌋": [t: "правый этаж"] # 0x230b (en: 'right floor', google translation)
- - "⌌": [t: "нижний правый урожай"] # 0x230c (en: 'bottom right crop', google translation)
- - "⌍": [t: "внизу левый урожай"] # 0x230d (en: 'bottom left crop', google translation)
- - "⌎": [t: "верхний правый урожай"] # 0x230e (en: 'top right crop', google translation)
- - "⌏": [t: "верхний левый урожай"] # 0x230f (en: 'top left crop', google translation)
- - "⌐": [t: "перевернулся, а не знак"] # 0x2310 (en: 'reversed not sign', google translation)
- - "⌑": [t: "квадратный лозонь"] # 0x2311 (en: 'square lozenge', google translation)
- - "⌒": [t: "дуговой"] # 0x2312 (en: 'arc', google translation)
- - "⌓": [t: "сегмент"] # 0x2313 (en: 'segment', google translation)
- - "⌔": [t: "сектор"] # 0x2314 (en: 'sector', google translation)
- - "⌕": [t: "телефон рекордер"] # 0x2315 (en: 'telephone recorder', google translation)
- - "⌖": [t: "индикатор положения перекрестие"] # 0x2316 (en: 'position indicator crosshairs', google translation)
- - "⌗": [t: "viewdata square"] # 0x2317 (google translation)
- - "⌘": [t: "знак интереса"] # 0x2318 (en: 'place of interest sign', google translation)
- - "⌙": [t: "не повернул знак"] # 0x2319 (en: 'turned not sign', google translation)
- - "⌚": [t: "смотреть"] # 0x231a (en: 'watch', google translation)
- - "⌛": [t: "песочные часы"] # 0x231b (en: 'hourglass', google translation)
- - "⌜": [t: "верхний левый угол"] # 0x231c (en: 'top left corner', google translation)
- - "⌝": [t: "верхний правый угол"] # 0x231d (en: 'top right corner', google translation)
- - "⌞": [t: "нижний левый угол"] # 0x231e (en: 'bottom left corner', google translation)
- - "⌟": [t: "нижний правый угол"] # 0x231f (en: 'bottom right corner', google translation)
- - "⌠": [t: "верхняя половина интеграла"] # 0x2320 (en: 'top half integral', google translation)
- - "⌡": [t: "интеграл нижней половины"] # 0x2321 (en: 'bottom half integral', google translation)
- - "⌢": [t: "хмуриться"] # 0x2322 (en: 'frown', google translation)
- - "⌣": [t: "улыбка"] # 0x2323 (en: 'smile', google translation)
- - "⌤": [t: "вверх стрелка между двумя горизонтальными стержнями"] # 0x2324 (en: 'up arrowhead between two horizontal bars', google translation)
- - "⌥": [t: "вариант ключа"] # 0x2325 (en: 'option key', google translation)
- - "⌦": [t: "стереть вправо"] # 0x2326 (en: 'erase to the right', google translation)
- - "⌧": [t: "x в прямоугольной коробке"] # 0x2327 (en: 'x in a rectangle box', google translation)
- - "⌨": [t: "клавиатура"] # 0x2328 (en: 'keyboard', google translation)
- - "〈": [t: "левый угловой кронштейн"] # 0x2329 (en: 'left pointing angle bracket', google translation)
- - "〉": [t: "кронштейн с углом правого направления"] # 0x232a (en: 'right pointing angle bracket', google translation)
- - "⌫": [t: "стереть слева"] # 0x232b (en: 'erase to the left', google translation)
- - "⌬": [t: "бензол кольцо"] # 0x232c (en: 'benzene ring', google translation)
- - "⌭": [t: "цилиндричность"] # 0x232d (en: 'cylindricity', google translation)
- - "⌮": [t: "все вокруг профиля"] # 0x232e (en: 'all around profile', google translation)
- - "⌯": [t: "симметрия"] # 0x232f (en: 'symmetry', google translation)
- - "⌰": [t: "полное выпуск"] # 0x2330 (en: 'total runout', google translation)
- - "⌱": [t: "измерение происхождение"] # 0x2331 (en: 'dimension origin', google translation)
- - "⌲": [t: "конический конус"] # 0x2332 (en: 'conical taper', google translation)
- - "⌳": [t: "склон"] # 0x2333 (en: 'slope', google translation)
- - "⌴": [t: "countbore"] # 0x2334 (en: 'counterbore', google translation)
- - "⌵": [t: "countersink"] # 0x2335 (google translation)
- - "⌶": [t: "apl i beam"] # 0x2336 (google translation)
- - "⌽": [t: "apl circle stile"] # 0x233d (google translation)
- - "⌿": [t: "apl slash bar"] # 0x233f (google translation)
- - "⍰": [t: "неизвестная коробка"] # 0x2370 (en: 'unknown box', google translation)
- - "⍼": [t: "правый угол с нисходящим зигзагообразной стрелкой"] # 0x237c (en: 'right angle with downwards zigzag arrow', google translation)
- - "⎔": [t: "шестигранник"] # 0x2394 (en: 'hexagon', google translation)
- - "⎕": [t: "коробка"] # 0x2395 (en: 'box', google translation)
- - "⎶": [t: "нижний квадратный кронштейн над верхним квадратным кронштейном"] # 0x23b6 (en: 'bottom square bracket over top square bracket', google translation)
- - "⏜": [t: "лучшая скобка"] # 0x23dc (en: 'top paren', google translation)
- - "⏝": [t: "нижняя скобка"] # 0x23dd (en: 'bottom paren', google translation)
- - "⏞": [t: "лучшая скоба"] # 0x23de (en: 'top brace', google translation)
- - "⏟": [t: "нижняя скоба"] # 0x23df (en: 'bottom brace', google translation)
- - "⏠": [t: "лучшая кронштейна для черепахи"] # 0x23e0 (en: 'top tortoise shell bracket', google translation)
- - "⏡": [t: "нижняя черепаха скорлупа"] # 0x23e1 (en: 'bottom tortoise shell bracket', google translation)
- - "⏢": [t: "белый трапеция"] # 0x23e2 (en: 'white trapezium', google translation)
- - "⏣": [t: "бензол прямо с кругом"] # 0x23e3 (en: 'benzene right with circle', google translation)
- - "⏤": [t: "прямо"] # 0x23e4 (en: 'straightness', google translation)
- - "⏥": [t: "плоскостность"] # 0x23e5 (en: 'flatness', google translation)
- - "⏦": # 0x23e6
+ then: [t: "является"]
+ - t: "больше, равно или меньше"
+ - "⋜": # 0x22dc
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "является"]
+ - t: "равно или меньше"
+ - "⋝": # 0x22dd
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "является"]
+ - t: "равно или больше"
+ - "⋞": # 0x22de
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "является"]
+ - t: "равно или предшествует"
+ - "⋟": # 0x22df
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "является"]
+ - t: "равно или следует"
+ - "⋠": [t: "не предшествует и не равно"] # 0x22e0
+ - "⋡": [t: "не следует и не равно"] # 0x22e1
+ - "⋢": [t: "не квадратный образ или равно"] # 0x22e2
+ - "⋣": [t: "не квадратный прообраз или равно"] # 0x22e3
+ - "⋤": [t: "квадратный образ или не равно"] # 0x22e4
+ - "⋥": [t: "квадратный прообраз или не равно"] # 0x22e5
+ - "⋦": # 0x22e6
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "является"]
+ - t: "меньше, но не эквивалентно"
+ - "⋧": # 0x22e7
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "является"]
+ - t: "больше, но не эквивалентно"
+ - "⋨": [t: "предшествует, но не эквивалентно"] # 0x22e8
+ - "⋩": [t: "следует, но не эквивалентно"] # 0x22e9
+ - "⋪": # 0x22ea
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "является"]
+ - t: "не нормальной подгруппой"
+ - "⋫": [t: "не содержит как нормальную подгруппу"] # 0x22eb
+ - "⋬": # 0x22ec
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "является"]
+ - t: "не нормальной подгруппой и не равно"
+ - "⋭": [t: "не содержит как нормальную подгруппу и не равно"] # 0x22ed
+ - "⋮": [t: "вертикальное многоточие"] # 0x22ee
+ - "⋯": [t: "точка точка точка"] # 0x22ef
+ - "⋰": [t: "диагональное многоточие вверх"] # 0x22f0
+ - "⋱": [t: "диагональное многоточие"] # 0x22f1
+ - "⋲": [t: "элемент с длинным горизонтальным штрихом"] # 0x22f2
+ - "⋳": [t: "элемент с вертикальной чертой в конце горизонтального штриха"] # 0x22f3
+ - "⋴": [t: "элемент с вертикальной чертой в конце горизонтального штриха"] # 0x22f4
+ - "⋵": [t: "элемент с точкой сверху"] # 0x22f5
+ - "⋶": [t: "элемент с надчеркиванием"] # 0x22f6
+ - "⋷": [t: "элемент с надчеркиванием"] # 0x22f7
+ - "⋸": [t: "элемент с подчеркиванием"] # 0x22f8
+ - "⋹": [t: "элемент с двумя горизонтальными штрихами"] # 0x22f9
+ - "⋺": [t: "содержит с длинным горизонтальным штрихом"] # 0x22fa
+ - "⋻": [t: "содержит с вертикальной чертой в конце горизонтального штриха"] # 0x22fb
+ - "⋼": [t: "содержит с вертикальной чертой в конце горизонтального штриха"] # 0x22fc
+ - "⋽": [t: "содержит с надчеркиванием"] # 0x22fd
+ - "⋾": [t: "содержит с надчеркиванием"] # 0x22fe
+ - "⋿": [t: "Z-нотация принадлежность мультимножеству"] # 0x22ff
+ - "⌀": [t: "диаметр"] # 0x2300
+ - "⌁": [t: "электрическая стрелка"] # 0x2301
+ - "⌂": [t: "домик"] # 0x2302
+ - "⌃": [t: "наконечник стрелки вверх"] # 0x2303
+ - "⌄": [t: "наконечник стрелки вниз"] # 0x2304
+ - "⌅": [t: "проективный"] # 0x2305
+ - "⌆": [t: "перспектива"] # 0x2306
+ - "⌇": [t: "волнистая линия"] # 0x2307
+ - "⌈": [t: "левый потолок"] # 0x2308
+ - "⌉": [t: "правый потолок"] # 0x2309
+ - "⌊": [t: "левый пол"] # 0x230a
+ - "⌋": [t: "правый пол"] # 0x230b
+ - "⌌": [t: "нижняя правая обрезка"] # 0x230c
+ - "⌍": [t: "нижняя левая обрезка"] # 0x230d
+ - "⌎": [t: "верхняя правая обрезка"] # 0x230e
+ - "⌏": [t: "верхняя левая обрезка"] # 0x230f
+ - "⌐": [t: "обратный знак отрицания"] # 0x2310
+ - "⌑": [t: "квадратная луковица"] # 0x2311
+ - "⌒": [t: "дуга"] # 0x2312
+ - "⌓": [t: "сегмент"] # 0x2313
+ - "⌔": [t: "сектор"] # 0x2314
+ - "⌕": [t: "телефонный рекордер"] # 0x2315
+ - "⌖": [t: "перекрестие индикатора позиции"] # 0x2316
+ - "⌗": [t: "квадрат видеоданных"] # 0x2317
+ - "⌘": [t: "знак места интереса"] # 0x2318
+ - "⌙": [t: "перевёрнутый знак отрицания"] # 0x2319
+ - "⌚": [t: "часы"] # 0x231a
+ - "⌛": [t: "песочные часы"] # 0x231b
+ - "⌜": [t: "верхний левый угол"] # 0x231c
+ - "⌝": [t: "верхний правый угол"] # 0x231d
+ - "⌞": [t: "нижний левый угол"] # 0x231e
+ - "⌟": [t: "нижний правый угол"] # 0x231f
+ - "⌠": [t: "верхняя половина интеграла"] # 0x2320
+ - "⌡": [t: "нижняя половина интеграла"] # 0x2321
+ - "⌢": [t: "хмурый"] # 0x2322
+ - "⌣": [t: "улыбка"] # 0x2323
+ - "⌤": [t: "наконечник стрелки вверх между двумя горизонтальными чертами"] # 0x2324
+ - "⌥": [t: "клавиша Option"] # 0x2325
+ - "⌦": [t: "стереть вправо"] # 0x2326
+ - "⌧": [t: "x в прямоугольной рамке"] # 0x2327
+ - "⌨": [t: "клавиатура"] # 0x2328
+ - "〈": [t: "левая угловая скобка"] # 0x2329
+ - "〉": [t: "правая угловая скобка"] # 0x232a
+ - "⌫": [t: "стереть влево"] # 0x232b
+ - "⌬": [t: "бензольное кольцо"] # 0x232c
+ - "⌭": [t: "цилиндричность"] # 0x232d
+ - "⌮": [t: "профиль по всему контуру"] # 0x232e
+ - "⌯": [t: "симметрия"] # 0x232f
+ - "⌰": [t: "полное радиальное биение"] # 0x2330
+ - "⌱": [t: "начало размера"] # 0x2331
+ - "⌲": [t: "конусность"] # 0x2332
+ - "⌳": [t: "уклон"] # 0x2333
+ - "⌴": [t: "цековка"] # 0x2334
+ - "⌵": [t: "зенковка"] # 0x2335
+ - "⌶": [t: "APL двутавр"] # 0x2336
+ - "⌽": [t: "APL круговой столбик"] # 0x233d
+ - "⌿": [t: "APL косая черта"] # 0x233f
+ - "⍰": [t: "неизвестный ящик"] # 0x2370
+ - "⍼": [t: "прямой угол с зигзагообразной стрелкой вниз"] # 0x237c
+ - "⎔": [t: "шестиугольник"] # 0x2394
+ - "⎕": [t: "ящик"] # 0x2395
+ - "⎶": [t: "нижняя квадратная скобка над верхней квадратной скобкой"] # 0x23b6
+ - "⏜": [t: "верхняя скобка"] # 0x23dc
+ - "⏝": [t: "нижняя скобка"] # 0x23dd
+ - "⏞": [t: "верхняя фигурная скобка"] # 0x23de
+ - "⏟": [t: "нижняя фигурная скобка"] # 0x23df
+ - "⏠": [t: "верхняя черепашья скобка"] # 0x23e0
+ - "⏡": [t: "нижняя черепашья скобка"] # 0x23e1
+ - "⏢": [t: "белая трапеция"] # 0x23e2
+ - "⏣": [t: "бензол с кругом справа"] # 0x23e3
+ - "⏤": [t: "прямолинейность"] # 0x23e4
+ - "⏥": [t: "плоскостность"] # 0x23e5
+ - "⏦": # 0x23e6
- spell: "ac"
- - t: "текущий" # (en: 'current', google translation)
- - "⏧": [t: "электрическое пересечение"] # 0x23e7 (en: 'electrical intersection', google translation)
- - "①-⑨": # 0x2460 - 0x2469
- - t: "кружит" # (en: 'circled', google translation)
+ - t: "ток"
+ - "⏧": [t: "электрическое пересечение"] # 0x23e7
+ - "①-⑨": # 0x2460 - 0x2469
+ - t: "в круге"
- spell: "translate('.', '①②③④⑤⑥⑦⑧⑨', '123456789')"
- - "⑩": [t: "кружит десять"] # 0x2469 (en: 'circled ten', google translation)
- - "⑪": [t: "обернуто одиннадцать"] # 0x246a (en: 'circled eleven', google translation)
- - "⑫": [t: "обернуло двенадцать"] # 0x246b (en: 'circled twelve', google translation)
- - "⑬": [t: "кругло тринадцать"] # 0x246c (en: 'circled thirteen', google translation)
- - "⑭": [t: "кружит четырнадцать"] # 0x246d (en: 'circled fourteen', google translation)
- - "⑮": [t: "кружит пятнадцать"] # 0x246e (en: 'circled fifteen', google translation)
- - "⑯": [t: "кружит шестнадцать"] # 0x246f (en: 'circled sixteen', google translation)
- - "⑰": [t: "обведено семнадцатью"] # 0x2470 (en: 'circled seventeen', google translation)
- - "⑱": [t: "обведенный атин"] # 0x2471 (en: 'circled eighteen', google translation)
- - "⑳": [t: "кружит двадцать"] # 0x2473 (en: 'circled twenty', google translation)
- - "⑴-⑼": # 0x2474 - 0x247d
- - t: "скобки" # (en: 'parenthesized', google translation)
+ - "⑩": [t: "десять в круге"] # 0x2469
+ - "⑪": [t: "одиннадцать в круге"] # 0x246a
+ - "⑫": [t: "двенадцать в круге"] # 0x246b
+ - "⑬": [t: "тринадцать в круге"] # 0x246c
+ - "⑭": [t: "четырнадцать в круге"] # 0x246d
+ - "⑮": [t: "пятнадцать в круге"] # 0x246e
+ - "⑯": [t: "шестнадцать в круге"] # 0x246f
+ - "⑰": [t: "семнадцать в круге"] # 0x2470
+ - "⑱": [t: "восемнадцать в круге"] # 0x2471
+ - "⑳": [t: "двадцать в круге"] # 0x2473
+ - "⑴-⑼": # 0x2474 - 0x247d
+ - t: "в скобках"
- spell: "translate('.', '⑴⑵⑶⑷⑸⑹⑺⑻⑼', '123456789')"
- - "⑽": [t: "круженные скобки, которые десять"] # 0x247d (en: 'parenthesized ten', google translation)
- - "⑾": [t: "кламок, это одиннадцать"] # 0x247e (en: 'parenthesized eleven', google translation)
- - "⑿": [t: "кламок, это двенадцать"] # 0x247f (en: 'parenthesized twelve', google translation)
- - "⒀": [t: "скобки, это тринадцать"] # 0x2480 (en: 'parenthesized thirteen', google translation)
- - "⒁": [t: "скобки, это четырнадцать"] # 0x2481 (en: 'parenthesized fourteen', google translation)
- - "⒂": [t: "скобки, это пятнадцать"] # 0x2482 (en: 'parenthesized fifteen', google translation)
- - "⒃": [t: "круженные скобки, это шестнадцать"] # 0x2483 (en: 'parenthesized sixteen', google translation)
- - "⒄": [t: "кламок, это семнадцать"] # 0x2484 (en: 'parenthesized seventeen', google translation)
- - "⒅": [t: "скобки, это атин"] # 0x2485 (en: 'parenthesized eighteen', google translation)
- - "⒆": [t: "кламок, это девятнадцать"] # 0x2486 (en: 'parenthesized nineteen', google translation)
- - "⒇": [t: "скобки, это двадцать"] # 0x2487 (en: 'parenthesized twenty', google translation)
- - "⒈-⒐": # 0x2488 - 0x2491
+ - "⑽": [t: "десять в скобках"] # 0x247d
+ - "⑾": [t: "одиннадцать в скобках"] # 0x247e
+ - "⑿": [t: "двенадцать в скобках"] # 0x247f
+ - "⒀": [t: "тринадцать в скобках"] # 0x2480
+ - "⒁": [t: "четырнадцать в скобках"] # 0x2481
+ - "⒂": [t: "пятнадцать в скобках"] # 0x2482
+ - "⒃": [t: "шестнадцать в скобках"] # 0x2483
+ - "⒄": [t: "семнадцать в скобках"] # 0x2484
+ - "⒅": [t: "восемнадцать в скобках"] # 0x2485
+ - "⒆": [t: "девятнадцать в скобках"] # 0x2486
+ - "⒇": [t: "двадцать в скобках"] # 0x2487
+ - "⒈-⒐": # 0x2488 - 0x2491
- spell: "translate('.', '⒈⒉⒊⒋⒌⒍⒎⒏⒐', '123456789')"
- - t: "с периодом" # (en: 'with period', google translation)
- - "⒑": [t: "десять с периодом"] # 0x2491 (en: 'ten with period', google translation)
- - "⒒": [t: "одиннадцать с периодом"] # 0x2492 (en: 'eleven with period', google translation)
- - "⒓": [t: "двенадцать с периодом"] # 0x2493 (en: 'twelve with period', google translation)
- - "⒔": [t: "тринадцать с периодом"] # 0x2494 (en: 'thirteen with period', google translation)
- - "⒕": [t: "четырнадцать с периодом"] # 0x2495 (en: 'fourteen with period', google translation)
- - "⒖": [t: "пятнадцать с периодом"] # 0x2496 (en: 'fifteen with period', google translation)
- - "⒗": [t: "шестнадцать с периодом"] # 0x2497 (en: 'sixteen with period', google translation)
- - "⒘": [t: "семнадцать с периодом"] # 0x2498 (en: 'seventeen with period', google translation)
- - "⒙": [t: "с периодом"] # 0x2499 (en: 'eighteen with period', google translation)
- - "⒚": [t: "девятнадцать с периодом"] # 0x249a (en: 'nineteen with period', google translation)
- - "⒛": [t: "двадцать с периодом"] # 0x249b (en: 'twenty with period', google translation)
- - "⒜-⒵": # 0x249c - 0x24b5
- - t: "скобки" # (en: 'parenthesized', google translation)
+ - t: "с точкой"
+ - "⒑": [t: "десять с точкой"] # 0x2491
+ - "⒒": [t: "одиннадцать с точкой"] # 0x2492
+ - "⒓": [t: "двенадцать с точкой"] # 0x2493
+ - "⒔": [t: "тринадцать с точкой"] # 0x2494
+ - "⒕": [t: "четырнадцать с точкой"] # 0x2495
+ - "⒖": [t: "пятнадцать с точкой"] # 0x2496
+ - "⒗": [t: "шестнадцать с точкой"] # 0x2497
+ - "⒘": [t: "семнадцать с точкой"] # 0x2498
+ - "⒙": [t: "восемнадцать с точкой"] # 0x2499
+ - "⒚": [t: "девятнадцать с точкой"] # 0x249a
+ - "⒛": [t: "двадцать с точкой"] # 0x249b
+ - "⒜-⒵": # 0x249c - 0x24b5
+ - t: "в скобках"
- spell: "translate('.', '⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵', 'abcdefghijklmnopqrstuvwxyz')"
- - "Ⓐ-ⓩ": # 0x24b6 - 0x24cf
- - t: "кружит" # (en: 'circled', google translation)
+ - "Ⓐ-ⓩ": # 0x24b6 - 0x24cf
+ - t: "в круге"
- spell: "translate('.', 'ⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏ', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "ⓐ-ⓩ": # 0x24d0 - 0x24e9
- - t: "кружит" # (en: 'circled', google translation)
+ - "🅐-🅩": # 0x1f150 - 0x1f169
+ - t: "в чёрном круге"
+ - spell: "translate('.', '🅐🅑🅒🅓🅔🅕🅖🅗🅘🅙🅚🅛🅜🅝🅞🅟🅠🅡🅢🅣🅤🅥🅦🅧🅨🅩', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
+
+ - "ⓐ-ⓩ": # 0x24d0 - 0x24e9
+ - t: "в круге"
- spell: "translate('.', 'ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ', 'abcdefghijklmnopqrstuvwxyz')"
- - "⓪": [t: "обведено ноль"] # 0x24ea (en: 'circled zero', google translation)
- - "⓫": [t: "черный кружок одиннадцать"] # 0x24eb (en: 'black circled eleven', google translation)
- - "⓬": [t: "черный кружок двенадцать"] # 0x24ec (en: 'black circled twelve', google translation)
- - "⓭": [t: "черный кружит тринадцать"] # 0x24ed (en: 'black circled thirteen', google translation)
- - "⓮": [t: "черный кружит четырнадцать"] # 0x24ee (en: 'black circled fourteen', google translation)
- - "⓯": [t: "черный кружит пятнадцать"] # 0x24ef (en: 'black circled fifteen', google translation)
- - "⓰": [t: "черный кружит шестнадцать"] # 0x24f0 (en: 'black circled sixteen', google translation)
- - "⓱": [t: "черный кружок семнадцать"] # 0x24f1 (en: 'black circled seventeen', google translation)
- - "⓲": [t: "черный кружит атин"] # 0x24f2 (en: 'black circled eighteen', google translation)
- - "⓳": [t: "черный кружок девятнадцать"] # 0x24f3 (en: 'black circled nineteen', google translation)
- - "⓴": [t: "черный кружит двадцать"] # 0x24f4 (en: 'black circled twenty', google translation)
- - "⓵-⓽": # 0x24f5 - 0x24fe
- - t: "двойной обведенный" # (en: 'double circled', google translation)
+ - "⓪": [t: "ноль в круге"] # 0x24ea
+ - "⓫": [t: "одиннадцать в чёрном круге"] # 0x24eb
+ - "⓬": [t: "двенадцать в чёрном круге"] # 0x24ec
+ - "⓭": [t: "тринадцать в чёрном круге"] # 0x24ed
+ - "⓮": [t: "четырнадцать в чёрном круге"] # 0x24ee
+ - "⓯": [t: "пятнадцать в чёрном круге"] # 0x24ef
+ - "⓰": [t: "шестнадцать в чёрном круге"] # 0x24f0
+ - "⓱": [t: "семнадцать в чёрном круге"] # 0x24f1
+ - "⓲": [t: "восемнадцать в чёрном круге"] # 0x24f2
+ - "⓳": [t: "девятнадцать в чёрном круге"] # 0x24f3
+ - "⓴": [t: "двадцать в чёрном круге"] # 0x24f4
+ - "⓵-⓽": # 0x24f5 - 0x24fe
+ - t: "в двойном круге"
- spell: "translate('.', '⓵⓶⓷⓸⓹⓺⓻⓼⓽', '123456789')"
- - "⓾": [t: "двойной обведка десять"] # 0x24fe (en: 'double circled ten', google translation)
- - "⓿": [t: "черный кружок ноль"] # 0x24ff (en: 'black circled zero', google translation)
- - "■": [t: "черный квадрат"] # 0x25a0 (en: 'black square', google translation)
- - "□": [t: "белый квадрат"] # 0x25a1 (en: 'white square', google translation)
- - "▢": [t: "белый квадрат с округлыми углами"] # 0x25a2 (en: 'white square with rounded corners', google translation)
- - "▣": [t: "белый квадрат, содержащий маленький черный квадрат"] # 0x25a3 (en: 'white square containing small black square', google translation)
- - "▤": [t: "квадрат с горизонтальной заполнением"] # 0x25a4 (en: 'square with horizontal fill', google translation)
- - "▥": [t: "квадрат с вертикальной заполнением"] # 0x25a5 (en: 'square with vertical fill', google translation)
- - "▦": [t: "квадрат с ортогональной заполнением crosshatch"] # 0x25a6 (en: 'square with orthogonal crosshatch fill', google translation)
- - "▧": [t: "квадрат с верхним левым к нижним правым заполнением"] # 0x25a7 (en: 'square with upper left to lower right fill', google translation)
- - "▨": [t: "квадрат с верхним правом к нижней левой заполнению"] # 0x25a8 (en: 'square with upper right to lower left fill', google translation)
- - "▩": [t: "квадрат с диагональной заполнением crosshatch"] # 0x25a9 (en: 'square with diagonal crosshatch fill', google translation)
- - "▪": [t: "черный маленький квадрат"] # 0x25aa (en: 'black small square', google translation)
- - "▫": [t: "белый маленький квадрат"] # 0x25ab (en: 'white small square', google translation)
- - "▬": [t: "черный прямоугольник"] # 0x25ac (en: 'black rectangle', google translation)
- - "▭": [t: "белый прямоугольник"] # 0x25ad (en: 'white rectangle', google translation)
- - "▮": [t: "черный вертикальный прямоугольник"] # 0x25ae (en: 'black vertical rectangle', google translation)
- - "▯": [t: "белый вертикальный прямоугольник"] # 0x25af (en: 'white vertical rectangle', google translation)
- - "▰": [t: "черный параллелограмм"] # 0x25b0 (en: 'black parallelogram', google translation)
- - "▱": [t: "белый параллелограмм"] # 0x25b1 (en: 'white parallelogram', google translation)
- - "▲": [t: "черный, указывающий треугольник"] # 0x25b2 (en: 'black up pointing triangle', google translation)
- - "△": [t: "треугольник"] # 0x25b3 (en: 'white up pointing triangle')
- - "▴": [t: "черный, указывая маленький треугольник"] # 0x25b4 (en: 'black up pointing small triangle', google translation)
- - "▵": [t: "белый, указывая маленький треугольник"] # 0x25b5 (en: 'white up pointing small triangle', google translation)
- - "▶": [t: "черный правый треугольник"] # 0x25b6 (en: 'black right pointing triangle', google translation)
- - "▷": [t: "белый правый треугольник"] # 0x25b7 (en: 'white right pointing triangle', google translation)
- - "▸": [t: "черный правый указывает на маленький треугольник"] # 0x25b8 (en: 'black right pointing small triangle', google translation)
- - "▹": [t: "белый правый указывает на маленький треугольник"] # 0x25b9 (en: 'white right pointing small triangle', google translation)
- - "►": [t: "черный правый указатель"] # 0x25ba (en: 'black right pointing pointer', google translation)
- - "▻": [t: "белый указатель правого указателя"] # 0x25bb (en: 'white right pointing pointer', google translation)
- - "▼": [t: "черный вниз по направлению треугольника"] # 0x25bc (en: 'black down pointing triangle', google translation)
- - "▽": [t: "белый вниз по направлению треугольника"] # 0x25bd (en: 'white down pointing triangle', google translation)
- - "▾": [t: "черный, указывая маленький треугольник"] # 0x25be (en: 'black down pointing small triangle', google translation)
- - "▿": [t: "белый вниз, указывая маленький треугольник"] # 0x25bf (en: 'white down pointing small triangle', google translation)
- - "◀": [t: "черный левый треугольник"] # 0x25c0 (en: 'black left pointing triangle', google translation)
- - "◁": [t: "белый левый треугольник"] # 0x25c1 (en: 'white left pointing triangle', google translation)
- - "◂": [t: "черный влево указывает на маленький треугольник"] # 0x25c2 (en: 'black left pointing small triangle', google translation)
- - "◃": [t: "белый влево указывает на маленький треугольник"] # 0x25c3 (en: 'white left pointing small triangle', google translation)
- - "◄": [t: "черный левый указатель"] # 0x25c4 (en: 'black left pointing pointer', google translation)
- - "◅": [t: "белый влево указатель указатель"] # 0x25c5 (en: 'white left pointing pointer', google translation)
- - "◆": [t: "черный бриллиант"] # 0x25c6 (en: 'black diamond', google translation)
- - "◇": [t: "белый бриллиант"] # 0x25c7 (en: 'white diamond', google translation)
- - "◈": [t: "белый бриллиант, содержащий черный маленький бриллиант"] # 0x25c8 (en: 'white diamond containing black small diamond', google translation)
- - "◉": [t: "рыбей"] # 0x25c9 (en: 'fisheye', google translation)
- - "◊": [t: "лозонг"] # 0x25ca (en: 'lozenge', google translation)
- - "○": [t: "белый круг"] # 0x25cb (en: 'white circle', google translation)
- - "◌": [t: "пунктирный круг"] # 0x25cc (en: 'dotted circle', google translation)
- - "◍": [t: "круг с вертикальной заполнением"] # 0x25cd (en: 'circle with vertical fill', google translation)
- - "◎": [t: "bullseye"] # 0x25ce (google translation)
- - "●": [t: "черный круг"] # 0x25cf (en: 'black circle', google translation)
- - "◐": [t: "круг с левой половиной черной"] # 0x25d0 (en: 'circle with left half black', google translation)
- - "◑": [t: "круг с правой половиной черной"] # 0x25d1 (en: 'circle with right half black', google translation)
- - "◒": [t: "круг с нижней половиной черной"] # 0x25d2 (en: 'circle with lower half black', google translation)
- - "◓": [t: "круг с верхней половиной черной"] # 0x25d3 (en: 'circle with upper half black', google translation)
- - "◔": [t: "круг с верхним правым квадрантом черным"] # 0x25d4 (en: 'circle with upper right quadrant black', google translation)
- - "◕": [t: "круг со всеми, кроме верхнего левого квадранта черного"] # 0x25d5 (en: 'circle with all but upper left quadrant black', google translation)
- - "◖": [t: "оставил половину черного круга"] # 0x25d6 (en: 'left half black circle', google translation)
- - "◗": [t: "правый половина черного круга"] # 0x25d7 (en: 'right half black circle', google translation)
- - "◘": [t: "обратная пуля"] # 0x25d8 (en: 'inverse bullet', google translation)
- - "◙": [t: "обратный белый круг"] # 0x25d9 (en: 'inverse white circle', google translation)
- - "◚": [t: "верхняя половина обратного белого круга"] # 0x25da (en: 'upper half inverse white circle', google translation)
- - "◛": [t: "нижняя половина обратного белого круга"] # 0x25db (en: 'lower half inverse white circle', google translation)
- - "◜": [t: "верхняя левая квадрантная круговая дуга"] # 0x25dc (en: 'upper left quadrant circular arc', google translation)
- - "◝": [t: "верхний правый квадрант круглая дуга"] # 0x25dd (en: 'upper right quadrant circular arc', google translation)
- - "◞": [t: "круглая дуга нижнего правого квадранта"] # 0x25de (en: 'lower right quadrant circular arc', google translation)
- - "◟": [t: "круглая дуга нижнего левого квадранта"] # 0x25df (en: 'lower left quadrant circular arc', google translation)
- - "◠": [t: "верхняя половина круга"] # 0x25e0 (en: 'upper half circle', google translation)
- - "◡": [t: "нижний половинный круг"] # 0x25e1 (en: 'lower half circle', google translation)
- - "◢": [t: "черный треугольник в нижнем правом"] # 0x25e2 (en: 'black lower right triangle', google translation)
- - "◣": [t: "черный нижний левый треугольник"] # 0x25e3 (en: 'black lower left triangle', google translation)
- - "◤": [t: "черный верхний левый треугольник"] # 0x25e4 (en: 'black upper left triangle', google translation)
- - "◥": [t: "черный верхний правый треугольник"] # 0x25e5 (en: 'black upper right triangle', google translation)
- - "◦": [t: "композиция"] # 0x25e6 (en: 'composition', google translation)
- - "◧": [t: "квадрат с левой половиной черной"] # 0x25e7 (en: 'square with left half black', google translation)
- - "◨": [t: "квадрат с правой половиной черной"] # 0x25e8 (en: 'square with right half black', google translation)
- - "◩": [t: "квадрат с верхней левой половиной черной"] # 0x25e9 (en: 'square with upper left half black', google translation)
- - "◪": [t: "квадрат с правой правой половиной черной"] # 0x25ea (en: 'square with lower right half black', google translation)
- - "◫": [t: "белый квадрат с пополам"] # 0x25eb (en: 'white square with bisecting line', google translation)
- - "◬": [t: "белый, указывающий треугольник с точкой"] # 0x25ec (en: 'white up pointing triangle with dot', google translation)
- - "◭": [t: "укажите треугольник с левой половиной черной"] # 0x25ed (en: 'up pointing triangle with left half black', google translation)
- - "◮": [t: "укажите треугольник с правой половиной черной"] # 0x25ee (en: 'up pointing triangle with right half black', google translation)
- - "◯": [t: "большой круг"] # 0x25ef (en: 'large circle', google translation)
- - "◰": [t: "белый квадрат с верхним левым квадрантом"] # 0x25f0 (en: 'white square with upper left quadrant', google translation)
- - "◱": [t: "белый квадрат с нижним левым квадрантом"] # 0x25f1 (en: 'white square with lower left quadrant', google translation)
- - "◲": [t: "белый квадрат с нижним правым квадрантом"] # 0x25f2 (en: 'white square with lower right quadrant', google translation)
- - "◳": [t: "белый квадрат с верхним правым квадрантом"] # 0x25f3 (en: 'white square with upper right quadrant', google translation)
- - "◴": [t: "белый круг с верхним левым квадрантом"] # 0x25f4 (en: 'white circle with upper left quadrant', google translation)
- - "◵": [t: "белый круг с нижним левым квадрантом"] # 0x25f5 (en: 'white circle with lower left quadrant', google translation)
- - "◶": [t: "белый круг с нижним правым квадрантом"] # 0x25f6 (en: 'white circle with lower right quadrant', google translation)
- - "◷": [t: "белый круг с верхним правым квадрантом"] # 0x25f7 (en: 'white circle with upper right quadrant', google translation)
- - "◸": [t: "верхний левый треугольник"] # 0x25f8 (en: 'upper left triangle', google translation)
- - "◹": [t: "верхний правый треугольник"] # 0x25f9 (en: 'upper right triangle', google translation)
- - "◺": [t: "нижний левый треугольник"] # 0x25fa (en: 'lower left triangle', google translation)
- - "◻": [t: "квадрат"] # 0x25fb (en: 'white medium square')
- - "◼": [t: "черный средний квадрат"] # 0x25fc (en: 'black medium square', google translation)
- - "◽": [t: "белый средний маленький квадрат"] # 0x25fd (en: 'white medium small square', google translation)
- - "◾": [t: "черный средний маленький квадрат"] # 0x25fe (en: 'black medium small square', google translation)
- - "◿": [t: "нижний правый треугольник"] # 0x25ff (en: 'lower right triangle', google translation)
- - "★": [t: "черная звезда"] # 0x2605 (en: 'black star', google translation)
- - "☆": [t: "белая звезда"] # 0x2606 (en: 'white star', google translation)
- - "☉": [t: "солнце"] # 0x2609 (en: 'sun', google translation)
- - "☌": [t: "соединение"] # 0x260c (en: 'conjuction', google translation)
- - "☒": [t: "балла на баллов с x"] # 0x2612 (en: 'ballot box with x', google translation)
- - "☽": [t: "восковая луна"] # 0x263d (en: 'waxing moon', google translation)
- - "☾": [t: "убывающая луна"] # 0x263e (en: 'waning moon', google translation)
- - "☿": [t: "меркурий"] # 0x263f (en: 'mercury', google translation)
- - "♀": [t: "женский"] # 0x2640 (en: 'female', google translation)
- - "♁": [t: "земля"] # 0x2641 (en: 'earth', google translation)
- - "♂": [t: "мужской"] # 0x2642 (en: 'male', google translation)
- - "♃": [t: "юпитер"] # 0x2643 (en: 'jupiter', google translation)
- - "♄": [t: "сатурн"] # 0x2644 (en: 'saturn', google translation)
- - "♅": [t: "уран"] # 0x2645 (en: 'uranus', google translation)
- - "♆": [t: "нептун"] # 0x2646 (en: 'neptune', google translation)
- - "♇": [t: "плутон"] # 0x2647 (en: 'pluto', google translation)
- - "♈": [t: "овен"] # 0x2648 (en: 'aries', google translation)
- - "♉": [t: "телец"] # 0x2649 (en: 'taurus', google translation)
- - "♩": [t: "четверть примечания"] # 0x2669 (en: 'quarter note', google translation)
- - "♭": [t: "плоский"] # 0x266d (en: 'flat', google translation)
- - "♮": [t: "множество натуральных чисел"] # 0x266e (en: 'natural')
- - "♯": [t: "острый"] # 0x266f (en: 'sharp', google translation)
- - "♠": [t: "черная лопата костюма"] # 0x2660 (en: 'black spade suit', google translation)
- - "♡": [t: "белый сердечный костюм"] # 0x2661 (en: 'white heart suit', google translation)
- - "♢": [t: "белый бриллиантовый костюм"] # 0x2662 (en: 'white diamond suit', google translation)
- - "♣": [t: "черный клубный костюм"] # 0x2663 (en: 'black club suit', google translation)
- - "♤": [t: "белая локомочная костюм"] # 0x2664 (en: 'white spade suit', google translation)
- - "♥": [t: "черный сердечный костюм"] # 0x2665 (en: 'black heart suit', google translation)
- - "♦": [t: "черный бриллиантовый костюм"] # 0x2666 (en: 'black diamond suit', google translation)
- - "♧": [t: "белый клубный костюм"] # 0x2667 (en: 'white club suit', google translation)
- - "⚀": [t: "умереть лицо 1"] # 0x2680 (en: 'die face 1', google translation)
- - "⚁": [t: "умереть лицо 2"] # 0x2681 (en: 'die face 2', google translation)
- - "⚂": [t: "умереть лицо 3"] # 0x2682 (en: 'die face 3', google translation)
- - "⚃": [t: "умереть лицо 4"] # 0x2683 (en: 'die face 4', google translation)
- - "⚄": [t: "умереть лицо 5"] # 0x2684 (en: 'die face 5', google translation)
- - "⚅": [t: "умереть лицо 6"] # 0x2685 (en: 'die face 6', google translation)
- - "⚆": [t: "белый круг с точкой справа"] # 0x2686 (en: 'white circle with dot right', google translation)
- - "⚇": [t: "белый круг с двумя точками"] # 0x2687 (en: 'white circle wiht two dots', google translation)
- - "⚈": [t: "черный круг с точкой справа"] # 0x2688 (en: 'black circle with dot right', google translation)
- - "⚉": [t: "черный круг с двумя точками"] # 0x2689 (en: 'black circle wiht two dots', google translation)
- - "⚪": [t: "средний белый круг"] # 0x26aa (en: 'medium white circle', google translation)
- - "⚫": [t: "средний черный круг"] # 0x26ab (en: 'medium black circle', google translation)
- - "⚬": [t: "средний маленький белый круг"] # 0x26ac (en: 'medium small white circle', google translation)
- - "⚲": [t: "средний"] # 0x26b2 (en: 'neuter', google translation)
- - "✓": [t: "отметка"] # 0x2713 (en: 'check mark', google translation)
- - "✠": [t: "мальтийский крест"] # 0x2720 (en: 'maltese cross', google translation)
- - "✪": [t: "кружная белая звезда"] # 0x272a (en: 'circled white star', google translation)
- - "✶": [t: "шесть пинтированной черной звезды"] # 0x2736 (en: 'six pionted black star', google translation)
- - "❨": [t: "средние левые скобки - орнамент"] # 0x2768 (en: 'medium left parentheses ornament', google translation)
- - "❩": [t: "средние правые скобки - орнамент"] # 0x2769 (en: 'medium right parentheses ornament', google translation)
- - "❪": [t: "средняя сплюснутая левая скобка - орнамент"] # 0x276a (en: 'medium flattened left parentheses ornament', google translation)
- - "❫": [t: "средняя сплющенная правая скобка орнамент"] # 0x276b (en: 'medium flattened right parentheses ornament', google translation)
- - "❬": [t: "средний левый угловой скобки"] # 0x276c (en: 'medium left-pointing angle bracket ornament', google translation)
- - "❭": [t: "средний правый угловой кронштейн орнамент"] # 0x276d (en: 'medium right-pointing angle bracket ornament', google translation)
- - "❮": [t: "тяжелый левый угловой котировочный орнамент"] # 0x276e (en: 'heavy left-pointing angle quotation mark ornament', google translation)
- - "❯": [t: "тяжелый правый угол угла для кавычки"] # 0x276f (en: 'heavy right-pointing angle quotation mark ornament', google translation)
- - "❰": [t: "тяжелый левый угловой скобок украшен"] # 0x2770 (en: 'heavy left-pointing angle bracket ornament', google translation)
- - "❱": [t: "тяжелый правый угловой скобок украшен"] # 0x2771 (en: 'heavy right-pointing angle bracket ornament', google translation)
- - "❲": [t: "светлый левый орнамент с кронштейном черепахи"] # 0x2772 (en: 'light left tortoise shell bracket ornament', google translation)
- - "❳": [t: "светлый правый черепаховый скорбящий орнамент"] # 0x2773 (en: 'light right tortoise shell bracket ornament', google translation)
- - "❴": [t: "средний левый прудовый орнамент"] # 0x2774 (en: 'medium left brace ornament', google translation)
- - "❵": [t: "средний правый скоба орнамент"] # 0x2775 (en: 'medium right brace ornament', google translation)
- - "❶": [t: "черный кружит один"] # 0x2776 (en: 'black circled one', google translation)
- - "❷": [t: "черный кружит два"] # 0x2777 (en: 'black circled two', google translation)
- - "❸": [t: "черный кружит три"] # 0x2778 (en: 'black circled three', google translation)
- - "❹": [t: "черный кружит четыре"] # 0x2779 (en: 'black circled four', google translation)
- - "❺": [t: "черный кружит пять"] # 0x277a (en: 'black circled five', google translation)
- - "❻": [t: "черный кружит шесть"] # 0x277b (en: 'black circled six', google translation)
- - "❼": [t: "черный кружит семь"] # 0x277c (en: 'black circled seven', google translation)
- - "❽": [t: "черный кружит в"] # 0x277d (en: 'black circled eight', google translation)
- - "❾": [t: "черный кружит девять"] # 0x277e (en: 'black circled nine', google translation)
- - "❿": [t: "черный кружит десять"] # 0x277f (en: 'black circled ten', google translation)
- - "➀": [t: "обведенный без засечка"] # 0x2780 (en: 'circled sans serif one', google translation)
- - "➁": [t: "обведено без засечка два"] # 0x2781 (en: 'circled sans serif two', google translation)
- - "➂": [t: "обведено без засечка"] # 0x2782 (en: 'circled sans serif three', google translation)
- - "➃": [t: "обведено без засечка четверка"] # 0x2783 (en: 'circled sans serif four', google translation)
- - "➄": [t: "circled sans serif five"] # 0x2784 (google translation)
- - "➅": [t: "обведено без засечка шесть"] # 0x2785 (en: 'circled sans serif six', google translation)
- - "➆": [t: "обведено без засечка семь"] # 0x2786 (en: 'circled sans serif seven', google translation)
- - "➇": [t: "обведено без засечка в"] # 0x2787 (en: 'circled sans serif eight', google translation)
- - "➈": [t: "обведено без засечка девять"] # 0x2788 (en: 'circled sans serif nine', google translation)
- - "➉": [t: "обведено без засечка"] # 0x2789 (en: 'circled sans serif ten', google translation)
- - "➊": [t: "черный кружок без засечка"] # 0x278a (en: 'black circled sans serif one', google translation)
- - "➋": [t: "черный кружок без засечка два"] # 0x278b (en: 'black circled sans serif two', google translation)
- - "➌": [t: "черный кружок без засечка три"] # 0x278c (en: 'black circled sans serif three', google translation)
- - "➍": [t: "черный кружок без засечка четыре"] # 0x278d (en: 'black circled sans serif four', google translation)
- - "➎": [t: "черный кружок без засечка пять"] # 0x278e (en: 'black circled sans serif five', google translation)
- - "➏": [t: "черный кружок без засеяния шесть"] # 0x278f (en: 'black circled sans serif six', google translation)
- - "➐": [t: "черный кружок без засеяния"] # 0x2790 (en: 'black circled sans serif seven', google translation)
- - "➑": [t: "черный кружок без засечка в"] # 0x2791 (en: 'black circled sans serif eight', google translation)
- - "➒": [t: "черный кружок без засеяния девять"] # 0x2792 (en: 'black circled sans serif nine', google translation)
- - "➓": [t: "черный кружок без засечка"] # 0x2793 (en: 'black circled sans serif ten', google translation)
- - "➔": [t: "тяжелая широкая правая стрела"] # 0x2794 (en: 'heavy wide-headed rightwards arrow', google translation)
- - "➕": [t: "тяжелый плюс знак"] # 0x2795 (en: 'heavy plus sign', google translation)
- - "➖": [t: "тяжелый минус знак"] # 0x2796 (en: 'heavy minus sign', google translation)
- - "➗": [t: "знак тяжелой дивизии"] # 0x2797 (en: 'heavy division sign', google translation)
- - "➘": [t: "тяжелая юго -восточная стрела"] # 0x2798 (en: 'heavy south east arrow', google translation)
- - "➙": [t: "тяжелая справа стрелы"] # 0x2799 (en: 'heavy rightwards arrow', google translation)
- - "➚": [t: "тяжелая северо -восточная стрела"] # 0x279a (en: 'heavy north east arrow', google translation)
- - "➛": [t: "стрелка вправо"] # 0x279b (en: 'drafting point rightwards arrow', google translation)
- - "➜": [t: "тяжелая круглая стрелка вправо"] # 0x279c (en: 'heavy round-tipped rightwards arrow', google translation)
- - "➝": [t: "треугольник с головой справа"] # 0x279d (en: 'triangle-headed rightwards arrow', google translation)
- - "➞": [t: "тяжелый треугольный голод справа от стрелы"] # 0x279e (en: 'heavy triangle-headed rightwards arrow', google translation)
- - "➟": [t: "убитый треугольник с головой справа"] # 0x279f (en: 'dashed triangle-headed rightwards arrow', google translation)
- - "➠": [t: "тяжелый пунктирный треугольник с головой справа"] # 0x27a0 (en: 'heavy dashed triangle-headed rightwards arrow', google translation)
- - "➡": [t: "черная справа стрелы"] # 0x27a1 (en: 'black rightwards arrow', google translation)
- - "➢": [t: "три d вершина освещены стрелкой вправо"] # 0x27a2 (en: 'three d top lighted rightwards arrow', google translation)
- - "➣": [t: "три д дно освещены вправо стрел"] # 0x27a3 (en: 'three d bottom lighted rightwards arrow', google translation)
- - "➤": [t: "черный вправо стрел"] # 0x27a4 (en: 'black rightwards arrowhead', google translation)
- - "➥": [t: "тяжелая черная изогнутая вниз и вправо стрел"] # 0x27a5 (en: 'heavy black curved downwards and rightwards arrow', google translation)
- - "➦": [t: "тяжелая черная изогнутая стрелка вверх и вправо"] # 0x27a6 (en: 'heavy black curved upwards and rightwards arrow', google translation)
- - "➧": [t: "приседание черное вправо стрел"] # 0x27a7 (en: 'squat black rightwards arrow', google translation)
- - "➨": [t: "тяжелая вогнутая черная черная стрелка"] # 0x27a8 (en: 'heavy concave-pointed black rightwards arrow', google translation)
- - "➩": [t: "стрелка вправо с правой потертой вправо"] # 0x27a9 (en: 'right-shaded white rightwards arrow', google translation)
- - "➪": [t: "стрелка вправо налево"] # 0x27aa (en: 'left-shaded white rightwards arrow', google translation)
- - "➫": [t: "стрелка с затенением с задней частью"] # 0x27ab (en: 'back-tilted shadowed white rightwards arrow', google translation)
- - "➬": [t: "стрелка спереди с передним наклоном"] # 0x27ac (en: 'front-tilted shadowed white rightwards arrow', google translation)
- - "➭": [t: "тяжелая белая в нижней части белой стрелы вправо"] # 0x27ad (en: 'heavy lower right-shadowed white rightwards arrow', google translation)
- - "➮": [t: "тяжелая верхняя правая белая стрелка вправо"] # 0x27ae (en: 'heavy upper right-shadowed white rightwards arrow', google translation)
- - "➯": [t: "стрелка с надписью с надписью с надписью"] # 0x27af (en: 'notched lower right-shadowed white rightwards arrow', google translation)
- - "➱": [t: "стрелка с надписью с надписью с надписью"] # 0x27b1 (en: 'notched upper right-shadowed white rightwards arrow', google translation)
- - "➲": [t: "кругл тяжелый белый вправо стрел"] # 0x27b2 (en: 'circled heavy white rightwards arrow', google translation)
- - "➳": [t: "белоснежка вправо стрел"] # 0x27b3 (en: 'white-feathered rightwards arrow', google translation)
- - "➴": [t: "чернокожая юго-восточная стрела"] # 0x27b4 (en: 'black-feathered south east arrow', google translation)
- - "➵": [t: "чернокожие вправо стрел"] # 0x27b5 (en: 'black-feathered rightwards arrow', google translation)
- - "➶": [t: "чернокожая северо-восточная стрела"] # 0x27b6 (en: 'black-feathered north east arrow', google translation)
- - "➷": [t: "тяжелая чернокожая юго-восточная стрела"] # 0x27b7 (en: 'heavy black-feathered south east arrow', google translation)
- - "➸": [t: "тяжелая чернокожая стрелка вправо"] # 0x27b8 (en: 'heavy black-feathered rightwards arrow', google translation)
- - "➹": [t: "тяжелая чернокожая северо-восточная стрела"] # 0x27b9 (en: 'heavy black-feathered north east arrow', google translation)
- - "➺": [t: "teradrop-barbed вправо стрел"] # 0x27ba (en: 'teradrop-barbed rightwards arrow', google translation)
- - "➻": [t: "тяжелая слезоточивая капля стрелка вправо"] # 0x27bb (en: 'heavy teardrop-shanked rightwards arrow', google translation)
- - "➼": [t: "клин-хвост вправо стрел"] # 0x27bc (en: 'wedge-tailed rightwards arrow', google translation)
- - "➽": [t: "тяжелая клинохволока вправо стрел"] # 0x27bd (en: 'heavy wedge-tailed rightwards arrow', google translation)
- - "➾": [t: "открытая стрелка вправо"] # 0x27be (en: 'open-outlined rightwards arrow', google translation)
- - "⟀": [t: "трехмерный угол"] # 0x27c0 (en: 'three dimensional angle', google translation)
- - "⟁": [t: "белый треугольник, содержащий маленький белый треугольник"] # 0x27c1 (en: 'white triangle containing small white triangle', google translation)
- - "⟂": # 0x27c2
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "перпендикулярно" # (en: 'perpendicular to', google translation)
- - "⟃": # 0x27c3
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "открытая подмножество" # (en: 'an open subset of', google translation)
- - "⟄": # 0x27c4
- - test:
- if: "$Verbosity!='Terse'"
- then: [t: "является"] # (en: 'is', google translation)
- - t: "открытый суперсет" # (en: 'an open superset of', google translation)
- - "⟅": [t: "левый s-образный мешок разделитель"] # 0x27c5 (en: 'left s-shaped bag delimiter', google translation)
- - "⟆": [t: "правая s-образная сумка разделителя"] # 0x27c6 (en: 'right s-shaped bag delimiter', google translation)
- - "⟇": [t: "или с точкой внутри"] # 0x27c7 (en: 'or with dot inside', google translation)
- - "⟈": [t: "обратный солидус предшествует подмножеству"] # 0x27c8 (en: 'reverse solidus preceding subset', google translation)
- - "⟉": [t: "суперсет предшествует солидному"] # 0x27c9 (en: 'superset preceding solidus', google translation)
- - "⟊": [t: "вертикальная планка с горизонтальным ходом"] # 0x27ca (en: 'vertical bar with horizontal stroke', google translation)
- - "⟋": [t: "математический восходящий диагональ"] # 0x27cb (en: 'mathematical rising diagonal', google translation)
- - "⟌": [t: "длинное подразделение"] # 0x27cc (en: 'long division', google translation)
- - "⟍": [t: "математический падающий диагональ"] # 0x27cd (en: 'mathematical falling diagonal', google translation)
- - "⟎": [t: "квадратный логический и"] # 0x27ce (en: 'squared logical and', google translation)
- - "⟏": [t: "квадратный логический или"] # 0x27cf (en: 'squared logical or', google translation)
- - "⟐": [t: "белый бриллиант с центрированной точкой"] # 0x27d0 (en: 'white diamond with centered dot', google translation)
- - "⟑": [t: "и с точкой"] # 0x27d1 (en: 'and with dot', google translation)
- - "⟒": [t: "элемент открытия вверх"] # 0x27d2 (en: 'element of opening upwards', google translation)
- - "⟓": [t: "нижний правый угол с точкой"] # 0x27d3 (en: 'lower right corner with dot', google translation)
- - "⟔": [t: "верхний левый угол с точкой"] # 0x27d4 (en: 'upper left corner with dot', google translation)
- - "⟕": [t: "оставлено внешним соединением"] # 0x27d5 (en: 'left outer join', google translation)
- - "⟖": [t: "прямое внешнее соединение"] # 0x27d6 (en: 'right outer join', google translation)
- - "⟗": [t: "полное внешнее соединение"] # 0x27d7 (en: 'full outer join', google translation)
- - "⟘": [t: "большой притяжение"] # 0x27d8 (en: 'large up tack', google translation)
- - "⟙": [t: "большой вниз"] # 0x27d9 (en: 'large down tack', google translation)
- - "⟚": [t: "левый и правый двойной турникет"] # 0x27da (en: 'left and right double turnstile', google translation)
- - "⟛": [t: "левый и правый притяжение"] # 0x27db (en: 'left and right tack', google translation)
- - "⟜": [t: "оставил мультимап"] # 0x27dc (en: 'left multimap', google translation)
- - "⟝": [t: "длинная правая притяжение"] # 0x27dd (en: 'long right tack', google translation)
- - "⟞": [t: "долгое левое"] # 0x27de (en: 'long left tack', google translation)
- - "⟟": [t: "вверх по кругу выше"] # 0x27df (en: 'up tack with circle above', google translation)
- - "⟠": [t: "lozenge, разделенный горизонтальным правлением"] # 0x27e0 (en: 'lozenge divided by horizontal rule', google translation)
- - "⟡": [t: "белый вогнутый бриллиант"] # 0x27e1 (en: 'white concave sided diamond', google translation)
- - "⟢": [t: "белый вогнутый бриллиант с левым тиком"] # 0x27e2 (en: 'white concave sided diamond with leftwards tick', google translation)
- - "⟣": [t: "белый вогнутый бриллиант с правой клеткой"] # 0x27e3 (en: 'white concave sided diamond with rightwards tick', google translation)
- - "⟤": [t: "белый квадрат с левой частью"] # 0x27e4 (en: 'white square with leftwards tick', google translation)
- - "⟥": [t: "белый квадрат с правой клеткой"] # 0x27e5 (en: 'white square with rightwards tick', google translation)
- - "⟦": [t: "левый белый квадратный кронштейн"] # 0x27e6 (en: 'left white square bracket', google translation)
- - "⟧": [t: "правый белый квадратный кронштейн"] # 0x27e7 (en: 'right white square bracket', google translation)
- - "⟨": [t: "левый угловой кронштейн"] # 0x27e8 (en: 'left angle bracket', google translation)
- - "⟩": [t: "правый угловой кронштейн"] # 0x27e9 (en: 'right angle bracket', google translation)
- - "⟪": [t: "левый двухугольный кронштейн"] # 0x27ea (en: 'left double angle bracket', google translation)
- - "⟫": [t: "правый двойной угловой кронштейн"] # 0x27eb (en: 'right double angle bracket', google translation)
- - "⟬": [t: "оставил белую черепаховую скорлупу"] # 0x27ec (en: 'left white tortoise shell bracket', google translation)
- - "⟭": [t: "правый белый кронштейн с черепахой"] # 0x27ed (en: 'right white tortoise shell bracket', google translation)
- - "⟮": [t: "осталось сплющенной скобки"] # 0x27ee (en: 'left flattened parenthesis', google translation)
- - "⟯": [t: "правый сплющенной скобок"] # 0x27ef (en: 'right flattened parenthesis', google translation)
- - "⟰": [t: "вверх четырехкратной стрелы"] # 0x27f0 (en: 'upwards quadruple arrow', google translation)
- - "⟱": [t: "вниз по четыре раза стрелка"] # 0x27f1 (en: 'downwards quadruple arrow', google translation)
- - "⟲": [t: "антиколевая стрельба по обрыванию круга"] # 0x27f2 (en: 'anticlockwise gapped circle arrow', google translation)
- - "⟳": [t: "по часовой стрелке защелкивая стрелка"] # 0x27f3 (en: 'clockwise gapped circle arrow', google translation)
- - "⟴": [t: "правая стрелка с circled plus"] # 0x27f4 (en: 'right arrow with circled plus', google translation)
- - "⟵": [t: "длинная левая стрела"] # 0x27f5 (en: 'long leftwards arrow', google translation)
- - "⟶": [t: "длинная справа стрелы"] # 0x27f6 (en: 'long rightwards arrow', google translation)
- - "⟷": [t: "длинная левая стрелка вправо"] # 0x27f7 (en: 'long left right arrow', google translation)
- - "⟸": [t: "длинная слева двойная стрела"] # 0x27f8 (en: 'long leftwards double arrow', google translation)
- - "⟹": [t: "длинная направо двойная стрелка"] # 0x27f9 (en: 'long rightwards double arrow', google translation)
- - "⟺": [t: "длинная левая правая двойная стрелка"] # 0x27fa (en: 'long left right double arrow', google translation)
- - "⟻": [t: "длинная стрелка влево из бара"] # 0x27fb (en: 'long leftwards arrow from bar', google translation)
- - "⟼": [t: "длинная стрелка вправо из бара"] # 0x27fc (en: 'long rightwards arrow from bar', google translation)
- - "⟽": [t: "длинная слева двойная стрелка из бара"] # 0x27fd (en: 'long leftwards double arrow from bar', google translation)
- - "⟾": [t: "длинная направо с двойной стрелкой из бара"] # 0x27fe (en: 'long rightwards double arrow from bar', google translation)
- - "⟿": [t: "длинные направо suggle arrow"] # 0x27ff (en: 'long rightwards squiggle arrow', google translation)
- - "⤀": [t: "пряга две головные стрелки с вертикальным ходом"] # 0x2900 (en: 'rightwards two headed arrow with vertical stroke', google translation)
- - "⤁": [t: "права два головая стрелка с двойным вертикальным ходом"] # 0x2901 (en: 'rightwards two headed arrow with double vertical stroke', google translation)
- - "⤂": [t: "левая двойная стрелка с вертикальным ходом"] # 0x2902 (en: 'leftwards double arrow with vertical stroke', google translation)
- - "⤃": [t: "права двойная стрелка с вертикальным ходом"] # 0x2903 (en: 'rightwards double arrow with vertical stroke', google translation)
- - "⤄": [t: "левая правая двойная стрелка с вертикальным ходом"] # 0x2904 (en: 'left right double arrow with vertical stroke', google translation)
- - "⤅": [t: "прямо сразу же две головой стрелы из бара"] # 0x2905 (en: 'rightwards two headed arrow from bar', google translation)
- - "⤆": [t: "слева двойная стрелка из бара"] # 0x2906 (en: 'leftwards double arrow from bar', google translation)
- - "⤇": [t: "права двойная стрелка из бара"] # 0x2907 (en: 'rightwards double arrow from bar', google translation)
- - "⤈": [t: "стрелка вниз с горизонтальным ходом"] # 0x2908 (en: 'downwards arrow with horizontal stroke', google translation)
- - "⤉": [t: "стрелка вверх с горизонтальным ходом"] # 0x2909 (en: 'upwards arrow with horizontal stroke', google translation)
- - "⤊": [t: "вверх тройной стрелкой"] # 0x290a (en: 'upwards triple arrow', google translation)
- - "⤋": [t: "вниз по тройной стрелке"] # 0x290b (en: 'downwards triple arrow', google translation)
- - "⤌": [t: "слева двойная стрелка"] # 0x290c (en: 'leftwards double dash arrow', google translation)
- - "⤍": [t: "право двойная стрелка"] # 0x290d (en: 'rightwards double dash arrow', google translation)
- - "⤎": [t: "левая тройная стрелка"] # 0x290e (en: 'leftwards triple dash arrow', google translation)
- - "⤏": [t: "права тредная дапа"] # 0x290f (en: 'rightwards triple dash arrow', google translation)
- - "⤐": [t: "прямо два голова triple dash arrow"] # 0x2910 (en: 'rightwards two headed triple dash arrow', google translation)
- - "⤑": [t: "стрелка вправо с пунктирным стеблем"] # 0x2911 (en: 'rightwards arrow with dotted stem', google translation)
- - "⤒": [t: "вверх стрелой в бар"] # 0x2912 (en: 'upwards arrow to bar', google translation)
- - "⤓": [t: "вниз стрелы в бар"] # 0x2913 (en: 'downwards arrow to bar', google translation)
- - "⤔": [t: "стрелка вправо с хвостом и вертикальным ходом"] # 0x2914 (en: 'rightwards arrow with tail and vertical stroke', google translation)
- - "⤕": [t: "стрелка вправо с хвостом и двойным вертикальным ходом"] # 0x2915 (en: 'rightwards arrow with tail and double vertical stroke', google translation)
- - "⤖": [t: "права два головая стрела с хвостом"] # 0x2916 (en: 'rightwards two headed arrow with tail', google translation)
- - "⤗": [t: "пряга две головные стрелки с хвостом с вертикальным ходом"] # 0x2917 (en: 'rightwards two headed arrow with tail with vertical stroke', google translation)
- - "⤘": [t: "пряга две головные стрелки с хвостом с двойным вертикальным ходом"] # 0x2918 (en: 'rightwards two headed arrow with tail with double vertical stroke', google translation)
- - "⤙": [t: "левый хвост стрелы"] # 0x2919 (en: 'leftwards arrow tail', google translation)
- - "⤚": [t: "права стрелка хвост"] # 0x291a (en: 'rightwards arrow tail', google translation)
- - "⤛": [t: "левый двойной стрелок хвост"] # 0x291b (en: 'leftwards double arrow tail', google translation)
- - "⤜": [t: "права двойной стрелок хвост"] # 0x291c (en: 'rightwards double arrow tail', google translation)
- - "⤝": [t: "стрелка слева до заполненного алмаза"] # 0x291d (en: 'leftwards arrow to filled diamond', google translation)
- - "⤞": [t: "стрелка вправо до наполненного бриллианта"] # 0x291e (en: 'rightwards arrow to filled diamond', google translation)
- - "⤟": [t: "стрелка влево от бара до наполненного алмаза"] # 0x291f (en: 'leftwards arrow from bar to filled diamond', google translation)
- - "⤠": [t: "стрелка вправо от бара до наполненного алмаза"] # 0x2920 (en: 'rightwards arrow from bar to filled diamond', google translation)
- - "⤡": [t: "северо -западный и юго -восточный стрелка"] # 0x2921 (en: 'north west and south east arrow', google translation)
- - "⤢": [t: "северо -восток и юго -западный стрела"] # 0x2922 (en: 'north east and south west arrow', google translation)
- - "⤣": [t: "стрелка северо -запада с крючком"] # 0x2923 (en: 'north west arrow with hook', google translation)
- - "⤤": [t: "стрелка на северо -восток с крючком"] # 0x2924 (en: 'north east arrow with hook', google translation)
- - "⤥": [t: "юго -восточная стрела с крючком"] # 0x2925 (en: 'south east arrow with hook', google translation)
- - "⤦": [t: "юго -западная стрела с крючком"] # 0x2926 (en: 'south west arrow with hook', google translation)
- - "⤧": [t: "северо -западный стрела и северо -восточный стрела"] # 0x2927 (en: 'north west arrow and north east arrow', google translation)
- - "⤨": [t: "северо -восточный стрела и юго -восточная стрела"] # 0x2928 (en: 'north east arrow and south east arrow', google translation)
- - "⤩": [t: "юго -восточная стрела и юго -западный стрела"] # 0x2929 (en: 'south east arrow and south west arrow', google translation)
- - "⤪": [t: "юго -западная стрела и северо -западный стрелка"] # 0x292a (en: 'south west arrow and north west arrow', google translation)
- - "⤫": [t: "повышение диагонального пересечения падающих диагональ"] # 0x292b (en: 'rising diagonal crossing falling diagonal', google translation)
- - "⤬": [t: "падение диагонального пересечения, поднимающееся диагональ"] # 0x292c (en: 'falling diagonal crossing rising diagonal', google translation)
- - "⤭": [t: "юго -восточная стрелка, пересекающая северо -восточную стрелу"] # 0x292d (en: 'south east arrow crossing north east arrow', google translation)
- - "⤮": [t: "северо -восток стрелы, пересекающая юго -восточную стрелу"] # 0x292e (en: 'north east arrow crossing south east arrow', google translation)
- - "⤯": [t: "падение диагонального пересечения северо -востока стрелы"] # 0x292f (en: 'falling diagonal crossing north east arrow', google translation)
- - "⤰": [t: "повышение диагонального пересечения юго -восточной стрелы"] # 0x2930 (en: 'rising diagonal crossing south east arrow', google translation)
- - "⤱": [t: "северо -восточный стрелка пересекает северо -западный стрел"] # 0x2931 (en: 'north east arrow crossing north west arrow', google translation)
- - "⤲": [t: "северо -западный стрела, пересекающая северо -восток стрелы"] # 0x2932 (en: 'north west arrow crossing north east arrow', google translation)
- - "⤳": [t: "волна стрелка, указывающая прямо прямо вправо"] # 0x2933 (en: 'wave arrow pointing directly right', google translation)
- - "⤴": [t: "стрелка указывает вправо, затем скручивается вверх"] # 0x2934 (en: 'arrow pointing rightwards then curving upwards', google translation)
- - "⤵": [t: "стрелка указывает вправо, затем изогнулась вниз"] # 0x2935 (en: 'arrow pointing rightwards then curving downwards', google translation)
- - "⤶": [t: "стрелка указывает вниз, а затем изогнут влево"] # 0x2936 (en: 'arrow pointing downwards then curving leftwards', google translation)
- - "⤷": [t: "стрелка указывает вниз, а затем изогнут вправо"] # 0x2937 (en: 'arrow pointing downwards then curving rightwards', google translation)
- - "⤸": [t: "стрелка правой боковой дуги по часовой стрелке"] # 0x2938 (en: 'right side arc clockwise arrow', google translation)
- - "⤹": [t: "стрелка левой стороны против часовой стрелки"] # 0x2939 (en: 'left side arc anticlockwise arrow', google translation)
- - "⤺": [t: "верхняя дуга против часовой стрелы"] # 0x293a (en: 'top arc anticlockwise arrow', google translation)
- - "⤻": [t: "нижняя дуга против часовой стрелки"] # 0x293b (en: 'bottom arc anticlockwise arrow', google translation)
- - "⤼": [t: "верхняя дуговая стрелка с минус"] # 0x293c (en: 'top arc clockwise arrow with minus', google translation)
- - "⤽": [t: "верхняя дуга против часовой стрелки с плюсом"] # 0x293d (en: 'top arc anticlockwise arrow with plus', google translation)
- - "⤾": [t: "нижняя правая полукруглая стрелка по часовой стрелке"] # 0x293e (en: 'lower right semicircular clockwise arrow', google translation)
- - "⤿": [t: "левый левый полукруглый стрелка против часовой стрелки"] # 0x293f (en: 'lower left semicircular anticlockwise arrow', google translation)
- - "⥀": [t: "стрелка против часовой стрелки"] # 0x2940 (en: 'anticlockwise closed circle arrow', google translation)
- - "⥁": [t: "по часовой стрелке закрытый круг стрелы"] # 0x2941 (en: 'clockwise closed circle arrow', google translation)
- - "⥂": [t: "стрелка вправо над короткой левой стрелкой"] # 0x2942 (en: 'rightwards arrow above short leftwards arrow', google translation)
- - "⥃": [t: "стрелка влево над короткой стрелой вправо"] # 0x2943 (en: 'leftwards arrow above short rightwards arrow', google translation)
- - "⥄": [t: "короткая стрелка вправо над стрельбой влево"] # 0x2944 (en: 'short rightwards arrow above leftwards arrow', google translation)
- - "⥅": [t: "стрелка вправо с плюсом ниже"] # 0x2945 (en: 'rightwards arrow with plus below', google translation)
- - "⥆": [t: "стрелка влево с плюсом ниже"] # 0x2946 (en: 'leftwards arrow with plus below', google translation)
- - "⥇": [t: "стрелка вправо через x"] # 0x2947 (en: 'rightwards arrow through x', google translation)
- - "⥈": [t: "левая стрелка справа через круг"] # 0x2948 (en: 'left right arrow through circle', google translation)
- - "⥉": [t: "вверху две головы стрелы из круга"] # 0x2949 (en: 'upwards two headed arrow from circle', google translation)
- - "⥊": [t: "левый барб вверх по правой барб вниз по гарпуне"] # 0x294a (en: 'left barb up right barb down harpoon', google translation)
- - "⥋": [t: "левый барб вниз по правой барб вверх по гарпуне"] # 0x294b (en: 'left barb down right barb up harpoon', google translation)
- - "⥌": [t: "вверх барб прямо вниз по левому гарпуне"] # 0x294c (en: 'up barb right down barb left harpoon', google translation)
- - "⥍": [t: "вверх по барб налево барб правой гарпун"] # 0x294d (en: 'up barb left down barb right harpoon', google translation)
- - "⥎": [t: "левый барб вверх по правой барб -харпун"] # 0x294e (en: 'left barb up right barb up harpoon', google translation)
- - "⥏": [t: "вверх барб прямо вниз, барб правый гарпун"] # 0x294f (en: 'up barb right down barb right harpoon', google translation)
- - "⥐": [t: "левый барб вниз по правой барб вниз по гарпуне"] # 0x2950 (en: 'left barb down right barb down harpoon', google translation)
- - "⥑": [t: "вверх барб оставил барб, покинув гарпун"] # 0x2951 (en: 'up barb left down barb left harpoon', google translation)
- - "⥒": [t: "левый гарпун с барб до бар"] # 0x2952 (en: 'leftwards harpoon with barb up to bar', google translation)
- - "⥓": [t: "прямо гарпун с барб до бара"] # 0x2953 (en: 'rightwards harpoon with barb up to bar', google translation)
- - "⥔": [t: "вверх гарпун с барб прямо к баре"] # 0x2954 (en: 'upwards harpoon with barb right to bar', google translation)
- - "⥕": [t: "вниз по гарпуне с барб прямо к бар"] # 0x2955 (en: 'downwards harpoon with barb right to bar', google translation)
- - "⥖": [t: "слева гарпун с барб до бара"] # 0x2956 (en: 'leftwards harpoon with barb down to bar', google translation)
- - "⥗": [t: "прямо гарпун с барб до бара"] # 0x2957 (en: 'rightwards harpoon with barb down to bar', google translation)
- - "⥘": [t: "вверх гарпун с кобкой, оставленной в бар"] # 0x2958 (en: 'upwards harpoon with barb left to bar', google translation)
- - "⥙": [t: "вниз по гарпуне с кобкой, оставленной в бар"] # 0x2959 (en: 'downwards harpoon with barb left to bar', google translation)
- - "⥚": [t: "слева гарпун с барб из бара"] # 0x295a (en: 'leftwards harpoon with barb up from bar', google translation)
- - "⥛": [t: "прямо гарпун с барб из бара"] # 0x295b (en: 'rightwards harpoon with barb up from bar', google translation)
- - "⥜": [t: "вверх гарпун с барб прямо из бара"] # 0x295c (en: 'upwards harpoon with barb right from bar', google translation)
- - "⥝": [t: "вниз по гарпуне с барб прямо из бара"] # 0x295d (en: 'downwards harpoon with barb right from bar', google translation)
- - "⥞": [t: "налево гарпун с барб вниз от бара"] # 0x295e (en: 'leftwards harpoon with barb down from bar', google translation)
- - "⥟": [t: "прямо гарпун с барб вниз от бара"] # 0x295f (en: 'rightwards harpoon with barb down from bar', google translation)
- - "⥠": [t: "вверх гарпун с барб слева от бара"] # 0x2960 (en: 'upwards harpoon with barb left from bar', google translation)
- - "⥡": [t: "вниз по гарпуне с кобкой слева от бара"] # 0x2961 (en: 'downwards harpoon with barb left from bar', google translation)
- - "⥢": [t: "налево гарпун с барб вверх по левому гарпуне с барб вниз"] # 0x2962 (en: 'leftwards harpoon with barb up above leftwards harpoon with barb down', google translation)
- - "⥣": [t: "вверх гарпун с кобкой слева рядом вверх вверх гарпун с барком справа"] # 0x2963 (en: 'upwards harpoon with barb left beside upwards harpoon with barb right', google translation)
- - "⥤": [t: "прямо гарпун с барб вверх по правой гарпуне с барб"] # 0x2964 (en: 'rightwards harpoon with barb up above rightwards harpoon with barb down', google translation)
- - "⥥": [t: "вниз по гарпуне с кобкой слева рядом вниз по гарпуне с барком справа"] # 0x2965 (en: 'downwards harpoon with barb left beside downwards harpoon with barb right', google translation)
- - "⥦": [t: "влево гарпун с барб вверх по правой гарпуне с барб"] # 0x2966 (en: 'leftwards harpoon with barb up above rightwards harpoon with barb up', google translation)
- - "⥧": [t: "влево гарпун с барб вниз по правой гарпуне с барб вниз"] # 0x2967 (en: 'leftwards harpoon with barb down above rightwards harpoon with barb down', google translation)
- - "⥨": [t: "вправо гарпун с барб над левым гарпуном с барб"] # 0x2968 (en: 'rightwards harpoon with barb up above leftwards harpoon with barb up', google translation)
- - "⥩": [t: "вправо гарпун с барб вниз над левым гарпуном с барб вниз"] # 0x2969 (en: 'rightwards harpoon with barb down above leftwards harpoon with barb down', google translation)
- - "⥪": [t: "слева гарпун с барб наверху длинного хранения"] # 0x296a (en: 'leftwards harpoon with barb up above long dash', google translation)
- - "⥫": [t: "слева гарпун с барб внизу длинной чертой"] # 0x296b (en: 'leftwards harpoon with barb down below long dash', google translation)
- - "⥬": [t: "прямо гарпун с барб наверху длинной чертой"] # 0x296c (en: 'rightwards harpoon with barb up above long dash', google translation)
- - "⥭": [t: "прямо гарпун с барб внизу длинной чертой"] # 0x296d (en: 'rightwards harpoon with barb down below long dash', google translation)
- - "⥮": [t: "вверх по гарпуне с кобкой слева рядом с вниз по гарпуне с барком справа"] # 0x296e (en: 'upwards harpoon with barb left beside downwards harpoon with barb right', google translation)
- - "⥯": [t: "вниз по гарпуне с кобкой слева рядом с горной вверх с барком справа"] # 0x296f (en: 'downwards harpoon with barb left beside upwards harpoon with barb right', google translation)
- - "⥰": [t: "правая двойная стрелка с округлой головой"] # 0x2970 (en: 'right double arrow with rounded head', google translation)
- - "⥱": [t: "равняется над стрельбой справа"] # 0x2971 (en: 'equals above rightwards arrow', google translation)
- - "⥲": [t: "оператор тильде выше стрелы справа"] # 0x2972 (en: 'tilde operator above rightwards arrow', google translation)
- - "⥳": [t: "стрелка влево над оператором тильды"] # 0x2973 (en: 'leftwards arrow above tilde operator', google translation)
- - "⥴": [t: "стрелка вправо над оператором тильды"] # 0x2974 (en: 'rightwards arrow above tilde operator', google translation)
- - "⥵": [t: "стрелка вправо выше почти равна"] # 0x2975 (en: 'rightwards arrow above almost equal to', google translation)
- - "⥶": [t: "меньше, чем выше левой стрелы"] # 0x2976 (en: 'less than above leftwards arrow', google translation)
- - "⥷": [t: "стрелка слева через меньше"] # 0x2977 (en: 'leftwards arrow through less than', google translation)
- - "⥸": [t: "больше, чем выше, стрелка вправо"] # 0x2978 (en: 'greater than above rightwards arrow', google translation)
- - "⥹": [t: "подмножество выше стрелки справа"] # 0x2979 (en: 'subset above rightwards arrow', google translation)
- - "⥺": [t: "стрелка влево через подмножество"] # 0x297a (en: 'leftwards arrow through subset', google translation)
- - "⥻": [t: "суперсет над стрелкой влево"] # 0x297b (en: 'superset above leftwards arrow', google translation)
- - "⥼": [t: "оставил рыбный хвост"] # 0x297c (en: 'left fish tail', google translation)
- - "⥽": [t: "правый рыбный хвост"] # 0x297d (en: 'right fish tail', google translation)
- - "⥾": [t: "вверх по рыбному хвосту"] # 0x297e (en: 'up fish tail', google translation)
- - "⥿": [t: "вниз по рыбному хвосту"] # 0x297f (en: 'down fish tail', google translation)
- - "⦀": [t: "тройной вертикальный разделитель"] # 0x2980 (en: 'triple vertical bar delimiter', google translation)
- - "⦁": [t: "z letation spot"] # 0x2981 (en: 'z notation spot', google translation)
- - "⦂": [t: "z обозначения типа толстой кишки"] # 0x2982 (en: 'z notation type colon', google translation)
- - "⦃": [t: "оставил белую скобу"] # 0x2983 (en: 'left white brace', google translation)
- - "⦄": [t: "правая белая скоба"] # 0x2984 (en: 'right white brace', google translation)
- - "⦅": [t: "левая белая скобкатиз"] # 0x2985 (en: 'left white parenthesis', google translation)
- - "⦆": [t: "правый белый скол"] # 0x2986 (en: 'right white parenthesis', google translation)
- - "⦇": [t: "z letation left image cracket"] # 0x2987 (en: 'z notation left image bracket', google translation)
- - "⦈": [t: "z обозначения правильный кронштейн изображения"] # 0x2988 (en: 'z notation right image bracket', google translation)
- - "⦉": [t: "z обозначения левого связующего кронштейна"] # 0x2989 (en: 'z notation left binding bracket', google translation)
- - "⦊": [t: "z обозначение правого связующего кронштейна"] # 0x298a (en: 'z notation right binding bracket', google translation)
- - "⦋": [t: "левый квадратный кронштейн с андербаром"] # 0x298b (en: 'left square bracket with underbar', google translation)
- - "⦌": [t: "правый квадратный кронштейн с андербаром"] # 0x298c (en: 'right square bracket with underbar', google translation)
- - "⦍": [t: "левый квадратный кронштейн с тиком в верхнем углу"] # 0x298d (en: 'left square bracket with tick in top corner', google translation)
- - "⦎": [t: "правый квадратный кронштейн с клелем в нижнем углу"] # 0x298e (en: 'right square bracket with tick in bottom corner', google translation)
- - "⦏": [t: "левый квадратный кронштейн с клелем в нижнем углу"] # 0x298f (en: 'left square bracket with tick in bottom corner', google translation)
- - "⦐": [t: "правый квадратный кронштейн с тиком в верхнем углу"] # 0x2990 (en: 'right square bracket with tick in top corner', google translation)
- - "⦑": [t: "левый угловой кронштейн с точкой"] # 0x2991 (en: 'left angle bracket with dot', google translation)
- - "⦒": [t: "правой угловой кронштейн с точкой"] # 0x2992 (en: 'right angle bracket with dot', google translation)
- - "⦓": [t: "левая дуга меньше, чем кронштейна"] # 0x2993 (en: 'left arc less than bracket', google translation)
- - "⦔": [t: "правая дуга больше, чем кронштейна"] # 0x2994 (en: 'right arc greater than bracket', google translation)
- - "⦕": [t: "двойная левая дуга больше, чем кронштейна"] # 0x2995 (en: 'double left arc greater than bracket', google translation)
- - "⦖": [t: "двойная правая дуга меньше, чем кронштейна"] # 0x2996 (en: 'double right arc less than bracket', google translation)
- - "⦗": [t: "оставленный черный кронштейн с панциркой черепахи"] # 0x2997 (en: 'left black tortoise shell bracket', google translation)
- - "⦘": [t: "правый черный кронштейн shell"] # 0x2998 (en: 'right black tortoise shell bracket', google translation)
- - "⦙": [t: "пунктирный забор"] # 0x2999 (en: 'dotted fence', google translation)
- - "⦚": [t: "вертикальная зигзагообразная линия"] # 0x299a (en: 'vertical zigzag line', google translation)
- - "⦛": [t: "измеренное угловое отверстие слева"] # 0x299b (en: 'measured angle opening left', google translation)
- - "⦜": [t: "вариант правого угла с квадратом"] # 0x299c (en: 'right angle variant with square', google translation)
- - "⦝": [t: "измеренный правый угол с точкой"] # 0x299d (en: 'measured right angle with dot', google translation)
- - "⦞": [t: "угол с s внутри"] # 0x299e (en: 'angle with s inside', google translation)
- - "⦟": [t: "острый угол"] # 0x299f (en: 'acute angle', google translation)
- - "⦠": [t: "сферический угол открывается слева"] # 0x29a0 (en: 'spherical angle opening left', google translation)
- - "⦡": [t: "сферический угол открывается"] # 0x29a1 (en: 'spherical angle opening up', google translation)
- - "⦢": [t: "повернут угол"] # 0x29a2 (en: 'turned angle', google translation)
- - "⦣": [t: "обратный угол"] # 0x29a3 (en: 'reversed angle', google translation)
- - "⦤": [t: "угол с андербаром"] # 0x29a4 (en: 'angle with underbar', google translation)
- - "⦥": [t: "обратный угол с помощью подножия"] # 0x29a5 (en: 'reversed angle with underbar', google translation)
- - "⦦": [t: "косой угол открывается"] # 0x29a6 (en: 'oblique angle opening up', google translation)
- - "⦧": [t: "косой угол открывается вниз"] # 0x29a7 (en: 'oblique angle opening down', google translation)
- - "⦨": [t: "измеренный угол с открытой рукой, заканчивающейся стрелкой, указывающей вверх и вправо"] # 0x29a8 (en: 'measured angle with open arm ending in arrow pointing up and to the right', google translation)
- - "⦩": [t: "измеренный угол с открытой рукой, заканчивающейся стрелкой, указывающей вверх и влево"] # 0x29a9 (en: 'measured angle with open arm ending in arrow pointing up and to the left', google translation)
- - "⦪": [t: "измеренный угол с открытой рукой, заканчивающейся стрелкой, указывающей вниз и вправо"] # 0x29aa (en: 'measured angle with open arm ending in arrow pointing down and to the right', google translation)
- - "⦫": [t: "измеренный угол с открытой рукой, заканчивающейся стрелкой, указывающей вниз и слева"] # 0x29ab (en: 'measured angle with open arm ending in arrow pointing down and to the left', google translation)
- - "⦬": [t: "измеренный угол с открытой рукой, заканчивающейся стрелкой, указывающей вправо и вверх"] # 0x29ac (en: 'measured angle with open arm ending in arrow pointing right and up', google translation)
- - "⦭": [t: "измеренный угол с открытой рукой, заканчивающейся стрелкой, указывающей влево и вверх"] # 0x29ad (en: 'measured angle with open arm ending in arrow pointing left and up', google translation)
- - "⦮": [t: "измеренный угол с открытой рукой, заканчивающейся стрелкой, указывающей вправо и вниз"] # 0x29ae (en: 'measured angle with open arm ending in arrow pointing right and down', google translation)
- - "⦯": [t: "измеренный угол с открытой рукой, заканчивающейся стрелкой, указывающей влево и вниз"] # 0x29af (en: 'measured angle with open arm ending in arrow pointing left and down', google translation)
- - "⦰": [t: "обратный пустой набор"] # 0x29b0 (en: 'reversed empty set', google translation)
- - "⦱": [t: "пустой набор с overbar"] # 0x29b1 (en: 'empty set with overbar', google translation)
- - "⦲": [t: "пустой набор с небольшим кругом выше"] # 0x29b2 (en: 'empty set with small circle above', google translation)
- - "⦳": [t: "пустой набор со стрелкой вправо выше"] # 0x29b3 (en: 'empty set with right arrow above', google translation)
- - "⦴": [t: "пустой набор со стрелкой левой выше"] # 0x29b4 (en: 'empty set with left arrow above', google translation)
- - "⦵": [t: "круг с горизонтальным баром"] # 0x29b5 (en: 'circle with horizontal bar', google translation)
- - "⦶": [t: "обведенный вертикальным баром"] # 0x29b6 (en: 'circled vertical bar', google translation)
- - "⦷": [t: "обведенный параллельно"] # 0x29b7 (en: 'circled parallel', google translation)
- - "⦸": [t: "circled reverse solidus"] # 0x29b8 (google translation)
- - "⦹": [t: "обведенный перпендикулярным"] # 0x29b9 (en: 'circled perpendicular', google translation)
- - "⦺": [t: "circled, разделенная горизонтальной стержней и верхней половиной, разделенной на вертикальный стержень"] # 0x29ba (en: 'circled divided by horizontal bar and top half divided by vertical bar', google translation)
- - "⦻": [t: "круг с наложением x"] # 0x29bb (en: 'circle with superimposed x', google translation)
- - "⦼": [t: "объисхоженная против часовой стрелки по вращению знака дивизии"] # 0x29bc (en: 'circled anticlockwise rotated division sign', google translation)
- - "⦽": [t: "вверх стрелой через круг"] # 0x29bd (en: 'up arrow through circle', google translation)
- - "⦾": [t: "обведенная белая пуля"] # 0x29be (en: 'circled white bullet', google translation)
- - "⦿": [t: "кружная пуля"] # 0x29bf (en: 'circled bullet', google translation)
- - "⧀": [t: "кружит меньше, чем"] # 0x29c0 (en: 'circled less than', google translation)
- - "⧁": [t: "обведенный больше, чем"] # 0x29c1 (en: 'circled greater than', google translation)
- - "⧂": [t: "круг с маленьким кругом справа"] # 0x29c2 (en: 'circle with small circle to the right', google translation)
- - "⧃": [t: "обведите с двумя горизонтальными ударами справа"] # 0x29c3 (en: 'circle with two horizontal strokes to the right', google translation)
- - "⧄": [t: "квадратная растущая диагональная черта"] # 0x29c4 (en: 'squared rising diagonal slash', google translation)
- - "⧅": [t: "квадратная падающая диагональная черта"] # 0x29c5 (en: 'squared falling diagonal slash', google translation)
- - "⧆": [t: "квадратная звездочка"] # 0x29c6 (en: 'squared asterisk', google translation)
- - "⧇": [t: "квадратный маленький круг"] # 0x29c7 (en: 'squared small circle', google translation)
- - "⧈": [t: "квадратный квадрат"] # 0x29c8 (en: 'squared square', google translation)
- - "⧉": [t: "двое присоединились к квадратам"] # 0x29c9 (en: 'two joined squares', google translation)
- - "⧊": [t: "треугольник с точкой выше"] # 0x29ca (en: 'triangle with dot above', google translation)
- - "⧋": [t: "треугольник с верхней частью"] # 0x29cb (en: 'triangle with underbar', google translation)
- - "⧌": [t: "s в треугольнике"] # 0x29cc (en: 's in triangle', google translation)
- - "⧍": [t: "треугольник с засечками внизу"] # 0x29cd (en: 'triangle with serifs at bottom', google translation)
- - "⧎": [t: "правый треугольник над левым треугольником"] # 0x29ce (en: 'right triangle above left triangle', google translation)
- - "⧏": [t: "левый треугольник рядом с вертикальным баром"] # 0x29cf (en: 'left triangle beside vertical bar', google translation)
- - "⧐": [t: "вертикальный батончик рядом с правым треугольником"] # 0x29d0 (en: 'vertical bar beside right triangle', google translation)
- - "⧑": [t: "боути с левой половиной черной"] # 0x29d1 (en: 'bowtie with left half black', google translation)
- - "⧒": [t: "боути с правой половиной черной"] # 0x29d2 (en: 'bowtie with right half black', google translation)
- - "⧓": [t: "черный бабочка"] # 0x29d3 (en: 'black bowtie', google translation)
- - "⧔": [t: "раз с левой половиной черной"] # 0x29d4 (en: 'times with left half black', google translation)
- - "⧕": [t: "раз с правой половиной черной"] # 0x29d5 (en: 'times with right half black', google translation)
- - "⧖": [t: "белые дни"] # 0x29d6 (en: 'white hourglass', google translation)
- - "⧗": [t: "черные песочные часы"] # 0x29d7 (en: 'black hourglass', google translation)
- - "⧘": [t: "оставил вигги"] # 0x29d8 (en: 'left wiggly fence', google translation)
- - "⧙": [t: "правый шаткий забор"] # 0x29d9 (en: 'right wiggly fence', google translation)
- - "⧚": [t: "оставил двойной шаткий забор"] # 0x29da (en: 'left double wiggly fence', google translation)
- - "⧛": [t: "правый двойной забор"] # 0x29db (en: 'right double wiggly fence', google translation)
- - "⧜": [t: "неполная бесконечность"] # 0x29dc (en: 'incomplete infinity', google translation)
- - "⧝": [t: "связывать бесконечность"] # 0x29dd (en: 'tie over infinity', google translation)
- - "⧞": [t: "бесконечность отрицается с вертикальной стержней"] # 0x29de (en: 'infinity negated with vertical bar', google translation)
- - "⧟": [t: "двойной многократный мультимап"] # 0x29df (en: 'double-ended multimap', google translation)
- - "⧠": [t: "квадрат с контурированным контуром"] # 0x29e0 (en: 'square with contoured outline', google translation)
- - "⧡": [t: "увеличивается как"] # 0x29e1 (en: 'increases as', google translation)
- - "⧢": [t: "перетасовать продукт"] # 0x29e2 (en: 'shuffle product', google translation)
- - "⧣": [t: "равняется знаку и наклонной параллели"] # 0x29e3 (en: 'equals sign and slanted parallel', google translation)
- - "⧤": [t: "равняется знаку и наклонной параллельно с тильдой выше"] # 0x29e4 (en: 'equals sign and slanted parallel with tilde above', google translation)
- - "⧥": [t: "идентично и наклонной параллельно"] # 0x29e5 (en: 'identical to and slanted parallel', google translation)
- - "⧦": [t: "глейх старк"] # 0x29e6 (en: 'gleich stark', google translation)
- - "⧧": [t: "термодинамический"] # 0x29e7 (en: 'thermodynamic', google translation)
- - "⧨": [t: "вниз по направлению треугольника с левой половиной черной"] # 0x29e8 (en: 'down pointing triangle with left half black', google translation)
- - "⧩": [t: "вниз по указанию треугольника с правой половиной черной"] # 0x29e9 (en: 'down pointing triangle with right half black', google translation)
- - "⧪": [t: "черный бриллиант со стрелой"] # 0x29ea (en: 'black diamond with down arrow', google translation)
- - "⧫": [t: "черный ронник"] # 0x29eb (en: 'black lozenge', google translation)
- - "⧬": [t: "белый круг со стрелой вниз"] # 0x29ec (en: 'white circle with down arrow', google translation)
- - "⧭": [t: "черный круг со стрелой вниз"] # 0x29ed (en: 'black circle with down arrow', google translation)
- - "⧮": [t: "ошибка белой квадраты"] # 0x29ee (en: 'error-barred white square', google translation)
- - "⧯": [t: "ошибка, черный квадрат"] # 0x29ef (en: 'error-barred black square', google translation)
- - "⧰": [t: "ошибка белого алмаза"] # 0x29f0 (en: 'error-barred white diamond', google translation)
- - "⧱": [t: "ошибка с черным бриллиантом"] # 0x29f1 (en: 'error-barred black diamond', google translation)
- - "⧲": [t: "ошибка белого круга"] # 0x29f2 (en: 'error-barred white circle', google translation)
- - "⧳": [t: "ошибка, черный круг"] # 0x29f3 (en: 'error-barred black circle', google translation)
- - "⧴": [t: "задерживается правилом"] # 0x29f4 (en: 'rule-delayed', google translation)
- - "⧵": [t: "обратный оператор solidus"] # 0x29f5 (en: 'reverse solidus operator', google translation)
- - "⧶": [t: "solidus с overbar"] # 0x29f6 (en: 'solidus with overbar', google translation)
- - "⧷": [t: "обратный солидус с горизонтальным ходом"] # 0x29f7 (en: 'reverse solidus with horizontal stroke', google translation)
- - "⧸": [t: "большой солис"] # 0x29f8 (en: 'big solidus', google translation)
- - "⧹": [t: "большой обратный солидус"] # 0x29f9 (en: 'big reverse solidus', google translation)
- - "⧺": [t: "двойной плюс"] # 0x29fa (en: 'double plus', google translation)
- - "⧻": [t: "тройной плюс"] # 0x29fb (en: 'triple plus', google translation)
- - "⧼": [t: "влево укажите изогнутый угловой кронштейн"] # 0x29fc (en: 'left pointing curved angle bracket', google translation)
- - "⧽": [t: "право указывает на изогнутый угловой кронштейн"] # 0x29fd (en: 'right pointing curved angle bracket', google translation)
- - "⧾": [t: "крошечный"] # 0x29fe (en: 'tiny', google translation)
- - "⧿": [t: "мин"] # 0x29ff (en: 'miny', google translation)
- - "⨀": [t: "circled dot operator"] # 0x2a00 (google translation)
- - "⨁": [t: "circled plus operator"] # 0x2a01 (google translation)
- - "⨂": [t: "оператор times circled"] # 0x2a02 (en: 'circled times operator', google translation)
- - "⨃": [t: "оператор профсоюза с dot"] # 0x2a03 (en: 'union operator with dot', google translation)
- - "⨄": [t: "оператор профсоюза с плюсом"] # 0x2a04 (en: 'union operator with plus', google translation)
- - "⨅": [t: "квадратный перекрестный оператор"] # 0x2a05 (en: 'square intersection operator', google translation)
- - "⨆": [t: "оператор square union"] # 0x2a06 (en: 'square union operator', google translation)
- - "⨇": [t: "два логических и оператор"] # 0x2a07 (en: 'two logical and operator', google translation)
- - "⨈": [t: "два логичных или оператор"] # 0x2a08 (en: 'two logical or operator', google translation)
- - "⨉": [t: "времена оператор"] # 0x2a09 (en: 'times operator', google translation)
- - "⨊": [t: "модуле две суммы"] # 0x2a0a (en: 'modulo two sum', google translation)
- - "⨋": [t: "суммирование с интегральным"] # 0x2a0b (en: 'summation with integral', google translation)
- - "⨌": [t: "четырехкратный интегральный оператор"] # 0x2a0c (en: 'quadruple integral operator', google translation)
- - "⨍": [t: "конечная часть интеграла"] # 0x2a0d (en: 'finite part integral', google translation)
- - "⨎": [t: "интеграл с двойным ходом"] # 0x2a0e (en: 'integral with double stroke', google translation)
- - "⨏": [t: "интегральный средний со слэш"] # 0x2a0f (en: 'integral average with slash', google translation)
- - "⨐": [t: "функция циркуляции"] # 0x2a10 (en: 'circulation function', google translation)
- - "⨑": [t: "против часовой стрельбы интеграция"] # 0x2a11 (en: 'anticlockwise integration', google translation)
- - "⨒": [t: "линейная интеграция с прямоугольным путем вокруг полюса"] # 0x2a12 (en: 'line integration with rectangular path around pole', google translation)
- - "⨓": [t: "линейная интеграция с полукруглым путем вокруг полюса"] # 0x2a13 (en: 'line integration with semicircular path around pole', google translation)
- - "⨔": [t: "линейная интеграция не включая полюс"] # 0x2a14 (en: 'line integration not including the pole', google translation)
- - "⨕": [t: "интеграл вокруг оператора точек"] # 0x2a15 (en: 'integral around a point operator', google translation)
- - "⨖": [t: "интегральный оператор quaternion"] # 0x2a16 (en: 'quaternion integral operator', google translation)
- - "⨗": [t: "интеграл со стрелкой левой с крючком"] # 0x2a17 (en: 'integral with leftwards arrow with hook', google translation)
- - "⨘": [t: "интеграл с знаком times"] # 0x2a18 (en: 'integral with times sign', google translation)
- - "⨙": [t: "интеграл с пересечением"] # 0x2a19 (en: 'integral with intersection', google translation)
- - "⨚": [t: "интеграл с профсоюзом"] # 0x2a1a (en: 'integral with union', google translation)
- - "⨛": [t: "интеграл с overbar"] # 0x2a1b (en: 'integral with overbar', google translation)
- - "⨜": [t: "интеграл с underbar"] # 0x2a1c (en: 'integral with underbar', google translation)
- - "⨝": [t: "присоединиться"] # 0x2a1d (en: 'join', google translation)
- - "⨞": [t: "большой левый оператор треугольника"] # 0x2a1e (en: 'large left triangle operator', google translation)
- - "⨟": [t: "z состав схемы записей"] # 0x2a1f (en: 'z notation schema composition', google translation)
- - "⨠": [t: "z схема записей"] # 0x2a20 (en: 'z notation schema piping', google translation)
- - "⨡": [t: "z проекция схемы нотации"] # 0x2a21 (en: 'z notation schema projection', google translation)
- - "⨢": [t: "плюс знак с кругом выше"] # 0x2a22 (en: 'plus sign with circle above', google translation)
- - "⨣": [t: "плюс знак с акцентом на округ"] # 0x2a23 (en: 'plus sign with circumflex accent above', google translation)
- - "⨤": [t: "плюс знак с тильдой выше"] # 0x2a24 (en: 'plus sign with tilde above', google translation)
- - "⨥": [t: "плюс знак с точкой ниже"] # 0x2a25 (en: 'plus sign with dot below', google translation)
- - "⨦": [t: "плюс знак с тильдой ниже"] # 0x2a26 (en: 'plus sign with tilde below', google translation)
- - "⨧": [t: "плюс знак с подписанием второго"] # 0x2a27 (en: 'plus sign with subscript two', google translation)
- - "⨨": [t: "плюс знак с черным треугольником"] # 0x2a28 (en: 'plus sign with black triangle', google translation)
- - "⨩": [t: "знак минус с запятой выше"] # 0x2a29 (en: 'minus sign with comma above', google translation)
- - "⨪": [t: "знак минус с точкой ниже"] # 0x2a2a (en: 'minus sign with dot below', google translation)
- - "⨫": [t: "знак минус с падающими точками"] # 0x2a2b (en: 'minus sign with falling dots', google translation)
- - "⨬": [t: "знак минус с растущими точками"] # 0x2a2c (en: 'minus sign with rising dots', google translation)
- - "⨭": [t: "плюс войти в левый половинный круг"] # 0x2a2d (en: 'plus sign in left half circle', google translation)
- - "⨮": [t: "плюс войти в правый половинный круг"] # 0x2a2e (en: 'plus sign in right half circle', google translation)
- - "⨯": # 0x2a2f
+ - "⓾": [t: "десять в двойном круге"] # 0x24fe
+ - "⓿": [t: "ноль в чёрном круге"] # 0x24ff
+ - "■": [t: "чёрный квадрат"] # 0x25a0
+ - "□": [t: "белый квадрат"] # 0x25a1
+ - "▢": [t: "белый квадрат со скруглёнными углами"] # 0x25a2
+ - "▣": [t: "белый квадрат, содержащий маленький чёрный квадрат"] # 0x25a3
+ - "▤": [t: "квадрат с горизонтальной заливкой"] # 0x25a4
+ - "▥": [t: "квадрат с вертикальной заливкой"] # 0x25a5
+ - "▦": [t: "квадрат с ортогональной перекрёстной штриховкой"] # 0x25a6
+ - "▧": [t: "квадрат с заливкой от верхнего левого к нижнему правому"] # 0x25a7
+ - "▨": [t: "квадрат с заливкой от верхнего правого к нижнему левому"] # 0x25a8
+ - "▩": [t: "квадрат с диагональной перекрёстной штриховкой"] # 0x25a9
+ - "▪": [t: "чёрный маленький квадрат"] # 0x25aa
+ - "▫": [t: "белый маленький квадрат"] # 0x25ab
+ - "▬": [t: "чёрный прямоугольник"] # 0x25ac
+ - "▭": [t: "белый прямоугольник"] # 0x25ad
+ - "▮": [t: "чёрный вертикальный прямоугольник"] # 0x25ae
+ - "▯": [t: "белый вертикальный прямоугольник"] # 0x25af
+ - "▰": [t: "чёрный параллелограмм"] # 0x25b0
+ - "▱": [t: "белый параллелограмм"] # 0x25b1
+ - "▲": [t: "чёрный треугольник остриём вверх"] # 0x25b2
+ - "△": [t: "треугольник"] # 0x25b3
+ - "▴": [t: "чёрный маленький треугольник остриём вверх"] # 0x25b4
+ - "▵": [t: "белый маленький треугольник остриём вверх"] # 0x25b5
+ - "▶": [t: "чёрный треугольник остриём вправо"] # 0x25b6
+ - "▷": [t: "белый треугольник остриём вправо"] # 0x25b7
+ - "▸": [t: "чёрный маленький треугольник остриём вправо"] # 0x25b8
+ - "▹": [t: "белый маленький треугольник остриём вправо"] # 0x25b9
+ - "►": [t: "чёрный указатель вправо"] # 0x25ba
+ - "▻": [t: "белый указатель вправо"] # 0x25bb
+ - "▼": [t: "чёрный треугольник остриём вниз"] # 0x25bc
+ - "▽": [t: "белый треугольник остриём вниз"] # 0x25bd
+ - "▾": [t: "чёрный маленький треугольник остриём вниз"] # 0x25be
+ - "▿": [t: "белый маленький треугольник остриём вниз"] # 0x25bf
+ - "◀": [t: "чёрный треугольник остриём влево"] # 0x25c0
+ - "◁": [t: "белый треугольник остриём влево"] # 0x25c1
+ - "◂": [t: "чёрный маленький треугольник остриём влево"] # 0x25c2
+ - "◃": [t: "белый маленький треугольник остриём влево"] # 0x25c3
+ - "◄": [t: "чёрный указатель влево"] # 0x25c4
+ - "◅": [t: "белый указатель влево"] # 0x25c5
+ - "◆": [t: "чёрный ромб"] # 0x25c6
+ - "◇": [t: "белый ромб"] # 0x25c7
+ - "◈": [t: "белый ромб, содержащий чёрный маленький ромб"] # 0x25c8
+ - "◉": [t: "рыбий глаз"] # 0x25c9
+ - "◊": [t: "луковица"] # 0x25ca
+ - "○": [t: "белый круг"] # 0x25cb
+ - "◌": [t: "пунктирный круг"] # 0x25cc
+ - "◍": [t: "круг с вертикальной заливкой"] # 0x25cd
+ - "◎": [t: "мишень"] # 0x25ce
+ - "●": [t: "чёрный круг"] # 0x25cf
+ - "◐": [t: "круг с левой половиной чёрной"] # 0x25d0
+ - "◑": [t: "круг с правой половиной чёрной"] # 0x25d1
+ - "◒": [t: "круг с нижней половиной чёрной"] # 0x25d2
+ - "◓": [t: "круг с верхней половиной чёрной"] # 0x25d3
+ - "◔": [t: "круг с верхним правым квадрантом чёрным"] # 0x25d4
+ - "◕": [t: "круг со всем, кроме верхнего левого квадранта, чёрным"] # 0x25d5
+ - "◖": [t: "левая половина чёрного круга"] # 0x25d6
+ - "◗": [t: "правая половина чёрного круга"] # 0x25d7
+ - "◘": [t: "инверсный буллит"] # 0x25d8
+ - "◙": [t: "инверсный белый круг"] # 0x25d9
+ - "◚": [t: "верхняя половина инверсного белого круга"] # 0x25da
+ - "◛": [t: "нижняя половина инверсного белого круга"] # 0x25db
+ - "◜": [t: "дуга верхнего левого квадранта"] # 0x25dc
+ - "◝": [t: "дуга верхнего правого квадранта"] # 0x25dd
+ - "◞": [t: "дуга нижнего правого квадранта"] # 0x25de
+ - "◟": [t: "дуга нижнего левого квадранта"] # 0x25df
+ - "◠": [t: "верхняя половина круга"] # 0x25e0
+ - "◡": [t: "нижняя половина круга"] # 0x25e1
+ - "◢": [t: "чёрный нижний правый треугольник"] # 0x25e2
+ - "◣": [t: "чёрный нижний левый треугольник"] # 0x25e3
+ - "◤": [t: "чёрный верхний левый треугольник"] # 0x25e4
+ - "◥": [t: "чёрный верхний правый треугольник"] # 0x25e5
+ - "◦": [t: "композиция"] # 0x25e6
+ - "◧": [t: "квадрат с левой половиной чёрной"] # 0x25e7
+ - "◨": [t: "квадрат с правой половиной чёрной"] # 0x25e8
+ - "◩": [t: "квадрат с верхней левой половиной чёрной"] # 0x25e9
+ - "◪": [t: "квадрат с нижней правой половиной чёрной"] # 0x25ea
+ - "◫": [t: "белый квадрат с биссектрисой"] # 0x25eb
+ - "◬": [t: "белый треугольник остриём вверх с точкой"] # 0x25ec
+ - "◭": [t: "треугольник остриём вверх с левой половиной чёрной"] # 0x25ed
+ - "◮": [t: "треугольник остриём вверх с правой половиной чёрной"] # 0x25ee
+ - "◯": [t: "большой круг"] # 0x25ef
+ - "◰": [t: "белый квадрат с верхним левым квадрантом"] # 0x25f0
+ - "◱": [t: "белый квадрат с нижним левым квадрантом"] # 0x25f1
+ - "◲": [t: "белый квадрат с нижним правым квадрантом"] # 0x25f2
+ - "◳": [t: "белый квадрат с верхним правым квадрантом"] # 0x25f3
+ - "◴": [t: "белый круг с верхним левым квадрантом"] # 0x25f4
+ - "◵": [t: "белый круг с нижним левым квадрантом"] # 0x25f5
+ - "◶": [t: "белый круг с нижним правым квадрантом"] # 0x25f6
+ - "◷": [t: "белый круг с верхним правым квадрантом"] # 0x25f7
+ - "◸": [t: "верхний левый треугольник"] # 0x25f8
+ - "◹": [t: "верхний правый треугольник"] # 0x25f9
+ - "◺": [t: "нижний левый треугольник"] # 0x25fa
+ - "◻": [t: "белый средний квадрат"] # 0x25fb
+ - "◼": [t: "чёрный средний квадрат"] # 0x25fc
+ - "◽": [t: "белый средне-маленький квадрат"] # 0x25fd
+ - "◾": [t: "чёрный средне-маленький квадрат"] # 0x25fe
+ - "◿": [t: "нижний правый треугольник"] # 0x25ff
+ - "★": [t: "чёрная звезда"] # 0x2605
+ - "☆": [t: "белая звезда"] # 0x2606
+ - "☉": [t: "солнце"] # 0x2609
+ - "☌": [t: "соединение"] # 0x260c
+ - "☒": [t: "бюллетень с крестиком"] # 0x2612
+ - "☽": [t: "растущая луна"] # 0x263d
+ - "☾": [t: "убывающая луна"] # 0x263e
+ - "☿": [t: "Меркурий"] # 0x263f
+ - "♀": [t: "женский"] # 0x2640
+ - "♁": [t: "Земля"] # 0x2641
+ - "♂": [t: "мужской"] # 0x2642
+ - "♃": [t: "Юпитер"] # 0x2643
+ - "♄": [t: "Сатурн"] # 0x2644
+ - "♅": [t: "Уран"] # 0x2645
+ - "♆": [t: "Нептун"] # 0x2646
+ - "♇": [t: "Плутон"] # 0x2647
+ - "♈": [t: "Овен"] # 0x2648
+ - "♉": [t: "Телец"] # 0x2649
+ - "♩": [t: "четвертная нота"] # 0x2669
+ - "♭": [t: "бемоль"] # 0x266d
+ - "♮": [t: "бекар"] # 0x266e
+ - "♯": [t: "диез"] # 0x266f
+ - "♠": [t: "чёрная масть пики"] # 0x2660
+ - "♡": [t: "белая масть червы"] # 0x2661
+ - "♢": [t: "белая масть бубны"] # 0x2662
+ - "♣": [t: "чёрная масть трефы"] # 0x2663
+ - "♤": [t: "белая масть пики"] # 0x2664
+ - "♥": [t: "чёрная масть червы"] # 0x2665
+ - "♦": [t: "чёрная масть бубны"] # 0x2666
+ - "♧": [t: "белая масть трефы"] # 0x2667
+ - "⚀": [t: "кость 1"] # 0x2680
+ - "⚁": [t: "кость 2"] # 0x2681
+ - "⚂": [t: "кость 3"] # 0x2682
+ - "⚃": [t: "кость 4"] # 0x2683
+ - "⚄": [t: "кость 5"] # 0x2684
+ - "⚅": [t: "кость 6"] # 0x2685
+ - "⚆": [t: "белый круг с точкой справа"] # 0x2686
+ - "⚇": [t: "белый круг с двумя точками"] # 0x2687
+ - "⚈": [t: "чёрный круг с точкой справа"] # 0x2688
+ - "⚉": [t: "чёрный круг с двумя точками"] # 0x2689
+ - "⚪": [t: "средний белый круг"] # 0x26aa
+ - "⚫": [t: "средний чёрный круг"] # 0x26ab
+ - "⚬": [t: "средний маленький белый круг"] # 0x26ac
+ - "⚲": [t: "средний род"] # 0x26b2
+ - "✓": [t: "галочка"] # 0x2713
+ - "✠": [t: "мальтийский крест"] # 0x2720
+ - "✪": [t: "белая звезда в круге"] # 0x272a
+ - "✶": [t: "шестиконечная чёрная звезда"] # 0x2736
+ - "❨": [t: "средний левый круглый орнамент"] # 0x2768
+ - "❩": [t: "средний правый круглый орнамент"] # 0x2769
+ - "❪": [t: "средний уплощённый левый круглый орнамент"] # 0x276a
+ - "❫": [t: "средний уплощённый правый круглый орнамент"] # 0x276b
+ - "❬": [t: "средний левый угловой орнамент"] # 0x276c
+ - "❭": [t: "средний правый угловой орнамент"] # 0x276d
+ - "❮": [t: "жирный левый угловой кавычковый орнамент"] # 0x276e
+ - "❯": [t: "жирный правый угловой кавычковый орнамент"] # 0x276f
+ - "❰": [t: "жирный левый угловой орнамент"] # 0x2770
+ - "❱": [t: "жирный правый угловой орнамент"] # 0x2771
+ - "❲": [t: "лёгкий левый черепаший орнамент"] # 0x2772
+ - "❳": [t: "лёгкий правый черепаший орнамент"] # 0x2773
+ - "❴": [t: "средний левый фигурный орнамент"] # 0x2774
+ - "❵": [t: "средний правый фигурный орнамент"] # 0x2775
+ - "❶": [t: "один в чёрном круге"] # 0x2776
+ - "❷": [t: "два в чёрном круге"] # 0x2777
+ - "❸": [t: "три в чёрном круге"] # 0x2778
+ - "❹": [t: "четыре в чёрном круге"] # 0x2779
+ - "❺": [t: "пять в чёрном круге"] # 0x277a
+ - "❻": [t: "шесть в чёрном круге"] # 0x277b
+ - "❼": [t: "семь в чёрном круге"] # 0x277c
+ - "❽": [t: "восемь в чёрном круге"] # 0x277d
+ - "❾": [t: "девять в чёрном круге"] # 0x277e
+ - "❿": [t: "десять в чёрном круге"] # 0x277f
+ - "➀": [t: "один в круге без засечек"] # 0x2780
+ - "➁": [t: "два в круге без засечек"] # 0x2781
+ - "➂": [t: "три в круге без засечек"] # 0x2782
+ - "➃": [t: "четыре в круге без засечек"] # 0x2783
+ - "➄": [t: "пять в круге без засечек"] # 0x2784
+ - "➅": [t: "шесть в круге без засечек"] # 0x2785
+ - "➆": [t: "семь в круге без засечек"] # 0x2786
+ - "➇": [t: "восемь в круге без засечек"] # 0x2787
+ - "➈": [t: "девять в круге без засечек"] # 0x2788
+ - "➉": [t: "десять в круге без засечек"] # 0x2789
+ - "➊": [t: "один в чёрном круге без засечек"] # 0x278a
+ - "➋": [t: "два в чёрном круге без засечек"] # 0x278b
+ - "➌": [t: "три в чёрном круге без засечек"] # 0x278c
+ - "➍": [t: "четыре в чёрном круге без засечек"] # 0x278d
+ - "➎": [t: "пять в чёрном круге без засечек"] # 0x278e
+ - "➏": [t: "шесть в чёрном круге без засечек"] # 0x278f
+ - "➐": [t: "семь в чёрном круге без засечек"] # 0x2790
+ - "➑": [t: "восемь в чёрном круге без засечек"] # 0x2791
+ - "➒": [t: "девять в чёрном круге без засечек"] # 0x2792
+ - "➓": [t: "десять в чёрном круге без засечек"] # 0x2793
+ - "➔": [t: "жирная широкая стрелка вправо"] # 0x2794
+ - "➕": [t: "жирный знак плюс"] # 0x2795
+ - "➖": [t: "жирный знак минус"] # 0x2796
+ - "➗": [t: "жирный знак деления"] # 0x2797
+ - "➘": [t: "жирная стрелка на юго-восток"] # 0x2798
+ - "➙": [t: "жирная стрелка вправо"] # 0x2799
+ - "➚": [t: "жирная стрелка на северо-восток"] # 0x279a
+ - "➛": [t: "стрелка вправо с чертёжным наконечником"] # 0x279b
+ - "➜": [t: "жирная стрелка вправо с закруглённым наконечником"] # 0x279c
+ - "➝": [t: "стрелка вправо с треугольным наконечником"] # 0x279d
+ - "➞": [t: "жирная стрелка вправо с треугольным наконечником"] # 0x279e
+ - "➟": [t: "пунктирная стрелка вправо с треугольным наконечником"] # 0x279f
+ - "➠": [t: "жирная пунктирная стрелка вправо с треугольным наконечником"] # 0x27a0
+ - "➡": [t: "чёрная стрелка вправо"] # 0x27a1
+ - "➢": [t: "трёхмерная стрелка вправо с верхней подсветкой"] # 0x27a2
+ - "➣": [t: "трёхмерная стрелка вправо с нижней подсветкой"] # 0x27a3
+ - "➤": [t: "чёрный наконечник стрелки вправо"] # 0x27a4
+ - "➥": [t: "жирная чёрная изогнутая вниз и вправо стрелка"] # 0x27a5
+ - "➦": [t: "жирная чёрная изогнутая вверх и вправо стрелка"] # 0x27a6
+ - "➧": [t: "приземистая чёрная стрелка вправо"] # 0x27a7
+ - "➨": [t: "жирная чёрная стрелка вправо с вогнутым наконечником"] # 0x27a8
+ - "➩": [t: "белая стрелка вправо с правой тенью"] # 0x27a9
+ - "➪": [t: "белая стрелка вправо с левой тенью"] # 0x27aa
+ - "➫": [t: "белая стрелка вправо с задней наклонной тенью"] # 0x27ab
+ - "➬": [t: "белая стрелка вправо с передней наклонной тенью"] # 0x27ac
+ - "➭": [t: "белая стрелка вправо с жирной нижней правой тенью"] # 0x27ad
+ - "➮": [t: "белая стрелка вправо с жирной верхней правой тенью"] # 0x27ae
+ - "➯": [t: "белая стрелка вправо с нижней правой тенью и зарубкой"] # 0x27af
+ - "➱": [t: "белая стрелка вправо с верхней правой тенью и зарубкой"] # 0x27b1
+ - "➲": [t: "жирная белая стрелка вправо в круге"] # 0x27b2
+ - "➳": [t: "белая оперённая стрелка вправо"] # 0x27b3
+ - "➴": [t: "чёрная оперённая стрелка на юго-восток"] # 0x27b4
+ - "➵": [t: "чёрная оперённая стрелка вправо"] # 0x27b5
+ - "➶": [t: "чёрная оперённая стрелка на северо-восток"] # 0x27b6
+ - "➷": [t: "жирная чёрная оперённая стрелка на юго-восток"] # 0x27b7
+ - "➸": [t: "жирная чёрная оперённая стрелка вправо"] # 0x27b8
+ - "➹": [t: "жирная чёрная оперённая стрелка на северо-восток"] # 0x27b9
+ - "➺": [t: "стрелка вправо с каплевидным наконечником"] # 0x27ba
+ - "➻": [t: "жирная стрелка вправо с каплевидным древком"] # 0x27bb
+ - "➼": [t: "стрелка вправо с клиновидным хвостом"] # 0x27bc
+ - "➽": [t: "жирная стрелка вправо с клиновидным хвостом"] # 0x27bd
+ - "➾": [t: "контурная стрелка вправо"] # 0x27be
+ - "⟀": [t: "трёхмерный угол"] # 0x27c0
+ - "⟁": [t: "белый треугольник, содержащий маленький белый треугольник"] # 0x27c1
+ - "⟂": # 0x27c2
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "является"]
+ - t: "перпендикуляром к"
+ - "⟃": # 0x27c3
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "является"]
+ - t: "открытым подмножеством"
+ - "⟄": # 0x27c4
+ - test:
+ if: "$Verbosity!='Terse'"
+ then: [t: "является"]
+ - t: "открытым надмножеством"
+ - "⟅": [t: "левый S-образный разделитель"] # 0x27c5
+ - "⟆": [t: "правый S-образный разделитель"] # 0x27c6
+ - "⟇": [t: "или с точкой внутри"] # 0x27c7
+ - "⟈": [t: "обратная косая перед подмножеством"] # 0x27c8
+ - "⟉": [t: "надмножество перед косой"] # 0x27c9
+ - "⟊": [t: "вертикальная черта с горизонтальным штрихом"] # 0x27ca
+ - "⟋": [t: "математическая восходящая диагональ"] # 0x27cb
+ - "⟌": [t: "длинное деление"] # 0x27cc
+ - "⟍": [t: "математическая нисходящая диагональ"] # 0x27cd
+ - "⟎": [t: "квадратное логическое и"] # 0x27ce
+ - "⟏": [t: "квадратное логическое или"] # 0x27cf
+ - "⟐": [t: "белый ромб с центральной точкой"] # 0x27d0
+ - "⟑": [t: "и с точкой"] # 0x27d1
+ - "⟒": [t: "элемент, открывающийся вверх"] # 0x27d2
+ - "⟓": [t: "нижний правый угол с точкой"] # 0x27d3
+ - "⟔": [t: "верхний левый угол с точкой"] # 0x27d4
+ - "⟕": [t: "левое внешнее соединение"] # 0x27d5
+ - "⟖": [t: "правое внешнее соединение"] # 0x27d6
+ - "⟗": [t: "полное внешнее соединение"] # 0x27d7
+ - "⟘": [t: "большой верхний таск"] # 0x27d8
+ - "⟙": [t: "большой нижний таск"] # 0x27d9
+ - "⟚": [t: "левый и правый двойной турникет"] # 0x27da
+ - "⟛": [t: "левый и правый таск"] # 0x27db
+ - "⟜": [t: "левое мультиотображение"] # 0x27dc
+ - "⟝": [t: "длинный правый таск"] # 0x27dd
+ - "⟞": [t: "длинный левый таск"] # 0x27de
+ - "⟟": [t: "верхний таск с кругом сверху"] # 0x27df
+ - "⟠": [t: "луковица, разделённая горизонтальной линией"] # 0x27e0
+ - "⟡": [t: "белый вогнутый ромб"] # 0x27e1
+ - "⟢": [t: "белый вогнутый ромб с левой отметкой"] # 0x27e2
+ - "⟣": [t: "белый вогнутый ромб с правой отметкой"] # 0x27e3
+ - "⟤": [t: "белый квадрат с левой отметкой"] # 0x27e4
+ - "⟥": [t: "белый квадрат с правой отметкой"] # 0x27e5
+ - "⟦": [t: "левая белая квадратная скобка"] # 0x27e6
+ - "⟧": [t: "правая белая квадратная скобка"] # 0x27e7
+ - "⟨": [t: "левая угловая скобка"] # 0x27e8
+ - "⟩": [t: "правая угловая скобка"] # 0x27e9
+ - "⟪": [t: "левая двойная угловая скобка"] # 0x27ea
+ - "⟫": [t: "правая двойная угловая скобка"] # 0x27eb
+ - "⟬": [t: "левая белая черепашья скобка"] # 0x27ec
+ - "⟭": [t: "правая белая черепашья скобка"] # 0x27ed
+ - "⟮": [t: "левая уплощённая скобка"] # 0x27ee
+ - "⟯": [t: "правая уплощённая скобка"] # 0x27ef
+ - "⟰": [t: "верхняя четверная стрелка"] # 0x27f0
+ - "⟱": [t: "нижняя четверная стрелка"] # 0x27f1
+ - "⟲": [t: "круговая стрелка против часовой с разрывом"] # 0x27f2
+ - "⟳": [t: "круговая стрелка по часовой с разрывом"] # 0x27f3
+ - "⟴": [t: "стрелка вправо с плюсом в круге"] # 0x27f4
+ - "⟵": [t: "длинная стрелка влево"] # 0x27f5
+ - "⟶": [t: "длинная стрелка вправо"] # 0x27f6
+ - "⟷": [t: "длинная стрелка влево-вправо"] # 0x27f7
+ - "⟸": [t: "длинная левая двойная стрелка"] # 0x27f8
+ - "⟹": [t: "следует"] # 0x27f9
+ - "⟺": [t: "тогда и только тогда"] # 0x27fa
+ - "⟻": [t: "длинная стрелка влево от черты"] # 0x27fb
+ - "⟼": [t: "длинная стрелка вправо от черты"] # 0x27fc
+ - "⟽": [t: "длинная левая двойная стрелка от черты"] # 0x27fd
+ - "⟾": [t: "длинная правая двойная стрелка от черты"] # 0x27fe
+ - "⟿": [t: "длинная волнистая стрелка вправо"] # 0x27ff
+ - "⤀": [t: "стрелка вправо с двумя наконечниками и вертикальным штрихом"] # 0x2900
+ - "⤁": [t: "стрелка вправо с двумя наконечниками и двойным вертикальным штрихом"] # 0x2901
+ - "⤂": [t: "левая двойная стрелка с вертикальным штрихом"] # 0x2902
+ - "⤃": [t: "правая двойная стрелка с вертикальным штрихом"] # 0x2903
+ - "⤄": [t: "двойная стрелка влево-вправо с вертикальным штрихом"] # 0x2904
+ - "⤅": [t: "стрелка вправо с двумя наконечниками от черты"] # 0x2905
+ - "⤆": [t: "левая двойная стрелка от черты"] # 0x2906
+ - "⤇": [t: "правая двойная стрелка от черты"] # 0x2907
+ - "⤈": [t: "стрелка вниз с горизонтальным штрихом"] # 0x2908
+ - "⤉": [t: "стрелка вверх с горизонтальным штрихом"] # 0x2909
+ - "⤊": [t: "верхняя тройная стрелка"] # 0x290a
+ - "⤋": [t: "нижняя тройная стрелка"] # 0x290b
+ - "⤌": [t: "левая двойная пунктирная стрелка"] # 0x290c
+ - "⤍": [t: "правая двойная пунктирная стрелка"] # 0x290d
+ - "⤎": [t: "левая тройная пунктирная стрелка"] # 0x290e
+ - "⤏": [t: "правая тройная пунктирная стрелка"] # 0x290f
+ - "⤐": [t: "стрелка вправо с двумя наконечниками и тройным пунктиром"] # 0x2910
+ - "⤑": [t: "стрелка вправо с пунктирным стволом"] # 0x2911
+ - "⤒": [t: "стрелка вверх к черте"] # 0x2912
+ - "⤓": [t: "стрелка вниз к черте"] # 0x2913
+ - "⤔": [t: "стрелка вправо с хвостом и вертикальным штрихом"] # 0x2914
+ - "⤕": [t: "стрелка вправо с хвостом и двойным вертикальным штрихом"] # 0x2915
+ - "⤖": [t: "стрелка вправо с двумя наконечниками и хвостом"] # 0x2916
+ - "⤗": [t: "стрелка вправо с двумя наконечниками, хвостом и вертикальным штрихом"] # 0x2917
+ - "⤘": [t: "стрелка вправо с двумя наконечниками, хвостом и двойным вертикальным штрихом"] # 0x2918
+ - "⤙": [t: "хвост стрелки влево"] # 0x2919
+ - "⤚": [t: "хвост стрелки вправо"] # 0x291a
+ - "⤛": [t: "хвост левой двойной стрелки"] # 0x291b
+ - "⤜": [t: "хвост правой двойной стрелки"] # 0x291c
+ - "⤝": [t: "стрелка влево к залитому ромбу"] # 0x291d
+ - "⤞": [t: "стрелка вправо к залитому ромбу"] # 0x291e
+ - "⤟": [t: "стрелка влево от черты к залитому ромбу"] # 0x291f
+ - "⤠": [t: "стрелка вправо от черты к залитому ромбу"] # 0x2920
+ - "⤡": [t: "стрелка на северо-запад и юго-восток"] # 0x2921
+ - "⤢": [t: "стрелка на северо-восток и юго-запад"] # 0x2922
+ - "⤣": [t: "стрелка на северо-запад с крюком"] # 0x2923
+ - "⤤": [t: "стрелка на северо-восток с крюком"] # 0x2924
+ - "⤥": [t: "стрелка на юго-восток с крюком"] # 0x2925
+ - "⤦": [t: "стрелка на юго-запад с крюком"] # 0x2926
+ - "⤧": [t: "стрелка на северо-запад и северо-восток"] # 0x2927
+ - "⤨": [t: "стрелка на северо-восток и юго-восток"] # 0x2928
+ - "⤩": [t: "стрелка на юго-восток и юго-запад"] # 0x2929
+ - "⤪": [t: "стрелка на юго-запад и северо-запад"] # 0x292a
+ - "⤫": [t: "восходящая диагональ пересекает нисходящую"] # 0x292b
+ - "⤬": [t: "нисходящая диагональ пересекает восходящую"] # 0x292c
+ - "⤭": [t: "стрелка на юго-восток пересекает стрелку на северо-восток"] # 0x292d
+ - "⤮": [t: "стрелка на северо-восток пересекает стрелку на юго-восток"] # 0x292e
+ - "⤯": [t: "нисходящая диагональ пересекает стрелку на северо-восток"] # 0x292f
+ - "⤰": [t: "восходящая диагональ пересекает стрелку на юго-восток"] # 0x2930
+ - "⤱": [t: "стрелка на северо-восток пересекает стрелку на северо-запад"] # 0x2931
+ - "⤲": [t: "стрелка на северо-запад пересекает стрелку на северо-восток"] # 0x2932
+ - "⤳": [t: "волновая стрелка, указывающая прямо вправо"] # 0x2933
+ - "⤴": [t: "стрелка вправо, затем изгибается вверх"] # 0x2934
+ - "⤵": [t: "стрелка вправо, затем изгибается вниз"] # 0x2935
+ - "⤶": [t: "стрелка вниз, затем изгибается влево"] # 0x2936
+ - "⤷": [t: "стрелка вниз, затем изгибается вправо"] # 0x2937
+ - "⤸": [t: "дуговая стрелка по часовой с правой стороны"] # 0x2938
+ - "⤹": [t: "дуговая стрелка против часовой с левой стороны"] # 0x2939
+ - "⤺": [t: "верхняя дуговая стрелка против часовой"] # 0x293a
+ - "⤻": [t: "нижняя дуговая стрелка против часовой"] # 0x293b
+ - "⤼": [t: "верхняя дуговая стрелка по часовой с минусом"] # 0x293c
+ - "⤽": [t: "верхняя дуговая стрелка против часовой с плюсом"] # 0x293d
+ - "⤾": [t: "нижняя правая полукруглая стрелка по часовой"] # 0x293e
+ - "⤿": [t: "нижняя левая полукруглая стрелка против часовой"] # 0x293f
+ - "⥀": [t: "замкнутая круговая стрелка против часовой"] # 0x2940
+ - "⥁": [t: "замкнутая круговая стрелка по часовой"] # 0x2941
+ - "⥂": [t: "стрелка вправо над короткой стрелкой влево"] # 0x2942
+ - "⥃": [t: "стрелка влево над короткой стрелкой вправо"] # 0x2943
+ - "⥄": [t: "короткая стрелка вправо над стрелкой влево"] # 0x2944
+ - "⥅": [t: "стрелка вправо с плюсом снизу"] # 0x2945
+ - "⥆": [t: "стрелка влево с плюсом снизу"] # 0x2946
+ - "⥇": [t: "стрелка вправо сквозь x"] # 0x2947
+ - "⥈": [t: "стрелка влево-вправо сквозь круг"] # 0x2948
+ - "⥉": [t: "стрелка вверх с двумя наконечниками из круга"] # 0x2949
+ - "⥊": [t: "левый гарпун вверх, правый гарпун вниз"] # 0x294a
+ - "⥋": [t: "левый гарпун вниз, правый гарпун вверх"] # 0x294b
+ - "⥌": [t: "верхний гарпун вправо, нижний гарпун влево"] # 0x294c
+ - "⥍": [t: "верхний гарпун влево, нижний гарпун вправо"] # 0x294d
+ - "⥎": [t: "левый гарпун вверх, правый гарпун вверх"] # 0x294e
+ - "⥏": [t: "верхний гарпун вправо, нижний гарпун вправо"] # 0x294f
+ - "⥐": [t: "левый гарпун вниз, правый гарпун вниз"] # 0x2950
+ - "⥑": [t: "верхний гарпун влево, нижний гарпун влево"] # 0x2951
+ - "⥒": [t: "левый гарпун вверх к черте"] # 0x2952
+ - "⥓": [t: "правый гарпун вверх к черте"] # 0x2953
+ - "⥔": [t: "верхний гарпун вправо к черте"] # 0x2954
+ - "⥕": [t: "нижний гарпун вправо к черте"] # 0x2955
+ - "⥖": [t: "левый гарпун вниз к черте"] # 0x2956
+ - "⥗": [t: "правый гарпун вниз к черте"] # 0x2957
+ - "⥘": [t: "верхний гарпун влево к черте"] # 0x2958
+ - "⥙": [t: "нижний гарпун влево к черте"] # 0x2959
+ - "⥚": [t: "левый гарпун вверх от черты"] # 0x295a
+ - "⥛": [t: "правый гарпун вверх от черты"] # 0x295b
+ - "⥜": [t: "верхний гарпун вправо от черты"] # 0x295c
+ - "⥝": [t: "нижний гарпун вправо от черты"] # 0x295d
+ - "⥞": [t: "левый гарпун вниз от черты"] # 0x295e
+ - "⥟": [t: "правый гарпун вниз от черты"] # 0x295f
+ - "⥠": [t: "верхний гарпун влево от черты"] # 0x2960
+ - "⥡": [t: "нижний гарпун влево от черты"] # 0x2961
+ - "⥢": [t: "левый гарпун вверх над левым гарпуном вниз"] # 0x2962
+ - "⥣": [t: "верхний гарпун влево рядом с верхним гарпуном вправо"] # 0x2963
+ - "⥤": [t: "правый гарпун вверх над правым гарпуном вниз"] # 0x2964
+ - "⥥": [t: "нижний гарпун влево рядом с нижним гарпуном вправо"] # 0x2965
+ - "⥦": [t: "левый гарпун вверх над правым гарпуном вверх"] # 0x2966
+ - "⥧": [t: "левый гарпун вниз над правым гарпуном вниз"] # 0x2967
+ - "⥨": [t: "правый гарпун вверх над левым гарпуном вверх"] # 0x2968
+ - "⥩": [t: "правый гарпун вниз над левым гарпуном вниз"] # 0x2969
+ - "⥪": [t: "левый гарпун вверх над длинным тире"] # 0x296a
+ - "⥫": [t: "левый гарпун вниз под длинным тире"] # 0x296b
+ - "⥬": [t: "правый гарпун вверх над длинным тире"] # 0x296c
+ - "⥭": [t: "правый гарпун вниз под длинным тире"] # 0x296d
+ - "⥮": [t: "верхний гарпун влево рядом с нижним гарпуном вправо"] # 0x296e
+ - "⥯": [t: "нижний гарпун влево рядом с верхним гарпуном вправо"] # 0x296f
+ - "⥰": [t: "правая двойная стрелка с закруглённой головкой"] # 0x2970
+ - "⥱": [t: "равно над стрелкой вправо"] # 0x2971
+ - "⥲": [t: "тильда над стрелкой вправо"] # 0x2972
+ - "⥳": [t: "стрелка влево над тильдой"] # 0x2973
+ - "⥴": [t: "стрелка вправо над тильдой"] # 0x2974
+ - "⥵": [t: "стрелка вправо над почти равно"] # 0x2975
+ - "⥶": [t: "меньше над стрелкой влево"] # 0x2976
+ - "⥷": [t: "стрелка влево сквозь меньше"] # 0x2977
+ - "⥸": [t: "больше над стрелкой вправо"] # 0x2978
+ - "⥹": [t: "подмножество над стрелкой вправо"] # 0x2979
+ - "⥺": [t: "стрелка влево сквозь подмножество"] # 0x297a
+ - "⥻": [t: "надмножество над стрелкой влево"] # 0x297b
+ - "⥼": [t: "левый рыбий хвост"] # 0x297c
+ - "⥽": [t: "правый рыбий хвост"] # 0x297d
+ - "⥾": [t: "верхний рыбий хвост"] # 0x297e
+ - "⥿": [t: "нижний рыбий хвост"] # 0x297f
+ - "⦀": [t: "тройная вертикальная черта-разделитель"] # 0x2980
+ - "⦁": [t: "Z-нотация пятно"] # 0x2981
+ - "⦂": [t: "Z-нотация типовое двоеточие"] # 0x2982
+ - "⦃": [t: "левая белая фигурная скобка"] # 0x2983
+ - "⦄": [t: "правая белая фигурная скобка"] # 0x2984
+ - "⦅": [t: "левая белая скобка"] # 0x2985
+ - "⦆": [t: "правая белая скобка"] # 0x2986
+ - "⦇": [t: "Z-нотация левая скобка образа"] # 0x2987
+ - "⦈": [t: "Z-нотация правая скобка образа"] # 0x2988
+ - "⦉": [t: "Z-нотация левая скобка связывания"] # 0x2989
+ - "⦊": [t: "Z-нотация правая скобка связывания"] # 0x298a
+ - "⦋": [t: "левая квадратная скобка с подчёркиванием"] # 0x298b
+ - "⦌": [t: "правая квадратная скобка с подчёркиванием"] # 0x298c
+ - "⦍": [t: "левая квадратная скобка с отметкой в верхнем углу"] # 0x298d
+ - "⦎": [t: "правая квадратная скобка с отметкой в нижнем углу"] # 0x298e
+ - "⦏": [t: "левая квадратная скобка с отметкой в нижнем углу"] # 0x298f
+ - "⦐": [t: "правая квадратная скобка с отметкой в верхнем углу"] # 0x2990
+ - "⦑": [t: "левая угловая скобка с точкой"] # 0x2991
+ - "⦒": [t: "правая угловая скобка с точкой"] # 0x2992
+ - "⦓": [t: "левая дуговая скобка меньше"] # 0x2993
+ - "⦔": [t: "правая дуговая скобка больше"] # 0x2994
+ - "⦕": [t: "двойная левая дуговая скобка больше"] # 0x2995
+ - "⦖": [t: "двойная правая дуговая скобка меньше"] # 0x2996
+ - "⦗": [t: "левая чёрная черепашья скобка"] # 0x2997
+ - "⦘": [t: "правая чёрная черепашья скобка"] # 0x2998
+ - "⦙": [t: "пунктирный забор"] # 0x2999
+ - "⦚": [t: "вертикальная зигзагообразная линия"] # 0x299a
+ - "⦛": [t: "измеренный угол, открытый влево"] # 0x299b
+ - "⦜": [t: "вариант прямого угла с квадратом"] # 0x299c
+ - "⦝": [t: "измеренный прямой угол с точкой"] # 0x299d
+ - "⦞": [t: "угол с s внутри"] # 0x299e
+ - "⦟": [t: "острый угол"] # 0x299f
+ - "⦠": [t: "сферический угол, открытый влево"] # 0x29a0
+ - "⦡": [t: "сферический угол, открытый вверх"] # 0x29a1
+ - "⦢": [t: "перевёрнутый угол"] # 0x29a2
+ - "⦣": [t: "обратный угол"] # 0x29a3
+ - "⦤": [t: "угол с подчёркиванием"] # 0x29a4
+ - "⦥": [t: "обратный угол с подчёркиванием"] # 0x29a5
+ - "⦦": [t: "косой угол, открытый вверх"] # 0x29a6
+ - "⦧": [t: "косой угол, открытый вниз"] # 0x29a7
+ - "⦨": [t: "измеренный угол с открытым лучом, заканчивающимся стрелкой вверх и вправо"] # 0x29a8
+ - "⦩": [t: "измеренный угол с открытым лучом, заканчивающимся стрелкой вверх и влево"] # 0x29a9
+ - "⦪": [t: "измеренный угол с открытым лучом, заканчивающимся стрелкой вниз и вправо"] # 0x29aa
+ - "⦫": [t: "измеренный угол с открытым лучом, заканчивающимся стрелкой вниз и влево"] # 0x29ab
+ - "⦬": [t: "измеренный угол с открытым лучом, заканчивающимся стрелкой вправо и вверх"] # 0x29ac
+ - "⦭": [t: "измеренный угол с открытым лучом, заканчивающимся стрелкой влево и вверх"] # 0x29ad
+ - "⦮": [t: "измеренный угол с открытым лучом, заканчивающимся стрелкой вправо и вниз"] # 0x29ae
+ - "⦯": [t: "измеренный угол с открытым лучом, заканчивающимся стрелкой влево и вниз"] # 0x29af
+ - "⦰": [t: "обратное пустое множество"] # 0x29b0
+ - "⦱": [t: "пустое множество с надчёркиванием"] # 0x29b1
+ - "⦲": [t: "пустое множество с маленьким кругом сверху"] # 0x29b2
+ - "⦳": [t: "пустое множество со стрелкой вправо сверху"] # 0x29b3
+ - "⦴": [t: "пустое множество со стрелкой влево сверху"] # 0x29b4
+ - "⦵": [t: "круг с горизонтальной чертой"] # 0x29b5
+ - "⦶": [t: "вертикальная черта в круге"] # 0x29b6
+ - "⦷": [t: "параллельность в круге"] # 0x29b7
+ - "⦸": [t: "обратная косая черта в круге"] # 0x29b8
+ - "⦹": [t: "перпендикуляр в круге"] # 0x29b9
+ - "⦺": [t: "круг, разделённый горизонтальной чертой, верхняя половина разделена вертикальной чертой"] # 0x29ba
+ - "⦻": [t: "круг с наложенным x"] # 0x29bb
+ - "⦼": [t: "знак деления, повёрнутый против часовой в круге"] # 0x29bc
+ - "⦽": [t: "стрелка вверх сквозь круг"] # 0x29bd
+ - "⦾": [t: "белый буллит в круге"] # 0x29be
+ - "⦿": [t: "буллит в круге"] # 0x29bf
+ - "⧀": [t: "меньше в круге"] # 0x29c0
+ - "⧁": [t: "больше в круге"] # 0x29c1
+ - "⧂": [t: "круг с маленьким кругом справа"] # 0x29c2
+ - "⧃": [t: "круг с двумя горизонтальными штрихами справа"] # 0x29c3
+ - "⧄": [t: "квадратная восходящая диагональная черта"] # 0x29c4
+ - "⧅": [t: "квадратная нисходящая диагональная черта"] # 0x29c5
+ - "⧆": [t: "звёздочка в квадрате"] # 0x29c6
+ - "⧇": [t: "маленький круг в квадрате"] # 0x29c7
+ - "⧈": [t: "квадрат в квадрате"] # 0x29c8
+ - "⧉": [t: "два соединённых квадрата"] # 0x29c9
+ - "⧊": [t: "треугольник с точкой сверху"] # 0x29ca
+ - "⧋": [t: "треугольник с подчёркиванием"] # 0x29cb
+ - "⧌": [t: "s в треугольнике"] # 0x29cc
+ - "⧍": [t: "треугольник с засечками внизу"] # 0x29cd
+ - "⧎": [t: "правый треугольник над левым треугольником"] # 0x29ce
+ - "⧏": [t: "левый треугольник рядом с вертикальной чертой"] # 0x29cf
+ - "⧐": [t: "вертикальная черта рядом с правым треугольником"] # 0x29d0
+ - "⧑": [t: "бантик с левой половиной чёрной"] # 0x29d1
+ - "⧒": [t: "бантик с правой половиной чёрной"] # 0x29d2
+ - "⧓": [t: "чёрный бантик"] # 0x29d3
+ - "⧔": [t: "крест с левой половиной чёрной"] # 0x29d4
+ - "⧕": [t: "крест с правой половиной чёрной"] # 0x29d5
+ - "⧖": [t: "белые песочные часы"] # 0x29d6
+ - "⧗": [t: "чёрные песочные часы"] # 0x29d7
+ - "⧘": [t: "левый волнистый забор"] # 0x29d8
+ - "⧙": [t: "правый волнистый забор"] # 0x29d9
+ - "⧚": [t: "левый двойной волнистый забор"] # 0x29da
+ - "⧛": [t: "правый двойной волнистый забор"] # 0x29db
+ - "⧜": [t: "неполная бесконечность"] # 0x29dc
+ - "⧝": [t: "лигатура над бесконечностью"] # 0x29dd
+ - "⧞": [t: "бесконечность, перечёркнутая вертикальной чертой"] # 0x29de
+ - "⧟": [t: "двустороннее мультиотображение"] # 0x29df
+ - "⧠": [t: "квадрат с контурным очертанием"] # 0x29e0
+ - "⧡": [t: "возрастает как"] # 0x29e1
+ - "⧢": [t: "шаффл-произведение"] # 0x29e2
+ - "⧣": [t: "знак равенства и наклонная параллельность"] # 0x29e3
+ - "⧤": [t: "знак равенства и наклонная параллельность с тильдой сверху"] # 0x29e4
+ - "⧥": [t: "тождественно и наклонная параллельность"] # 0x29e5
+ - "⧦": [t: "равносильно"] # 0x29e6
+ - "⧧": [t: "термодинамический"] # 0x29e7
+ - "⧨": [t: "треугольник остриём вниз с левой половиной чёрной"] # 0x29e8
+ - "⧩": [t: "треугольник остриём вниз с правой половиной чёрной"] # 0x29e9
+ - "⧪": [t: "чёрный ромб со стрелкой вниз"] # 0x29ea
+ - "⧫": [t: "чёрная луковица"] # 0x29eb
+ - "⧬": [t: "белый круг со стрелкой вниз"] # 0x29ec
+ - "⧭": [t: "чёрный круг со стрелкой вниз"] # 0x29ed
+ - "⧮": [t: "белый квадрат с планками погрешностей"] # 0x29ee
+ - "⧯": [t: "чёрный квадрат с планками погрешностей"] # 0x29ef
+ - "⧰": [t: "белый ромб с планками погрешностей"] # 0x29f0
+ - "⧱": [t: "чёрный ромб с планками погрешностей"] # 0x29f1
+ - "⧲": [t: "белый круг с планками погрешностей"] # 0x29f2
+ - "⧳": [t: "чёрный круг с планками погрешностей"] # 0x29f3
+ - "⧴": [t: "отложенное правило"] # 0x29f4
+ - "⧵": [t: "оператор обратная косая черта"] # 0x29f5
+ - "⧶": [t: "косая черта с надчёркиванием"] # 0x29f6
+ - "⧷": [t: "обратная косая черта с горизонтальным штрихом"] # 0x29f7
+ - "⧸": [t: "большая косая черта"] # 0x29f8
+ - "⧹": [t: "большая обратная косая черта"] # 0x29f9
+ - "⧺": [t: "двойной плюс"] # 0x29fa
+ - "⧻": [t: "тройной плюс"] # 0x29fb
+ - "⧼": [t: "левая изогнутая угловая скобка"] # 0x29fc
+ - "⧽": [t: "правая изогнутая угловая скобка"] # 0x29fd
+ - "⧾": [t: "крошечный"] # 0x29fe
+ - "⧿": [t: "малюсенький"] # 0x29ff
+ - "⨀": [t: "оператор точка в круге"] # 0x2a00
+ - "⨁": [t: "оператор плюс в круге"] # 0x2a01
+ - "⨂": [t: "оператор умножить в круге"] # 0x2a02
+ - "⨃": [t: "оператор объединение с точкой"] # 0x2a03
+ - "⨄": [t: "оператор объединение с плюсом"] # 0x2a04
+ - "⨅": [t: "оператор квадратное пересечение"] # 0x2a05
+ - "⨆": [t: "оператор квадратное объединение"] # 0x2a06
+ - "⨇": [t: "оператор двойное логическое и"] # 0x2a07
+ - "⨈": [t: "оператор двойное логическое или"] # 0x2a08
+ - "⨉": [t: "оператор умножения"] # 0x2a09
+ - "⨊": [t: "сумма по модулю два"] # 0x2a0a
+ - "⨋": [t: "суммирование с интегралом"] # 0x2a0b
+ - "⨌": [t: "оператор четверной интеграл"] # 0x2a0c
+ - "⨍": [t: "интеграл конечной части"] # 0x2a0d
+ - "⨎": [t: "интеграл с двойным штрихом"] # 0x2a0e
+ - "⨏": [t: "интегральное среднее с косой чертой"] # 0x2a0f
+ - "⨐": [t: "функция циркуляции"] # 0x2a10
+ - "⨑": [t: "интеграл против часовой"] # 0x2a11
+ - "⨒": [t: "линейный интеграл с прямоугольным путём вокруг полюса"] # 0x2a12
+ - "⨓": [t: "линейный интеграл с полукруглым путём вокруг полюса"] # 0x2a13
+ - "⨔": [t: "линейный интеграл, не включающий полюс"] # 0x2a14
+ - "⨕": [t: "оператор интеграл вокруг точки"] # 0x2a15
+ - "⨖": [t: "оператор интеграл кватерниона"] # 0x2a16
+ - "⨗": [t: "интеграл со стрелкой влево с крюком"] # 0x2a17
+ - "⨘": [t: "интеграл со знаком умножения"] # 0x2a18
+ - "⨙": [t: "интеграл с пересечением"] # 0x2a19
+ - "⨚": [t: "интеграл с объединением"] # 0x2a1a
+ - "⨛": [t: "интеграл с надчёркиванием"] # 0x2a1b
+ - "⨜": [t: "интеграл с подчёркиванием"] # 0x2a1c
+ - "⨝": [t: "соединение"] # 0x2a1d
+ - "⨞": [t: "оператор большой левый треугольник"] # 0x2a1e
+ - "⨟": [t: "Z-нотация композиция схемы"] # 0x2a1f
+ - "⨠": [t: "Z-нотация конвейер схемы"] # 0x2a20
+ - "⨡": [t: "Z-нотация проекция схемы"] # 0x2a21
+ - "⨢": [t: "знак плюс с кругом сверху"] # 0x2a22
+ - "⨣": [t: "знак плюс с циркумфлексом сверху"] # 0x2a23
+ - "⨤": [t: "знак плюс с тильдой сверху"] # 0x2a24
+ - "⨥": [t: "знак плюс с точкой снизу"] # 0x2a25
+ - "⨦": [t: "знак плюс с тильдой снизу"] # 0x2a26
+ - "⨧": [t: "знак плюс с индексом два"] # 0x2a27
+ - "⨨": [t: "знак плюс с чёрным треугольником"] # 0x2a28
+ - "⨩": [t: "знак минус с запятой сверху"] # 0x2a29
+ - "⨪": [t: "знак минус с точкой снизу"] # 0x2a2a
+ - "⨫": [t: "знак минус с падающими точками"] # 0x2a2b
+ - "⨬": [t: "знак минус с растущими точками"] # 0x2a2c
+ - "⨭": [t: "знак плюс в левой половине круга"] # 0x2a2d
+ - "⨮": [t: "знак плюс в правой половине круга"] # 0x2a2e
+ - "⨯": # 0x2a2f
- test:
if: "$Verbosity='Terse'"
- then: [t: "крест"] # (en: 'cross', google translation)
- else: [t: "кросс -продукт"] # (en: 'cross product', google translation)
- - "⨰": [t: "знак умножения с точкой выше"] # 0x2a30 (en: 'multiplication sign with dot above', google translation)
- - "⨱": [t: "знак умножения с помощью подножия"] # 0x2a31 (en: 'multiplication sign with underbar', google translation)
- - "⨲": [t: "семидажный продукт с нижней частью закрыта"] # 0x2a32 (en: 'semidirect product with bottom closed', google translation)
- - "⨳": [t: "разбить продукт"] # 0x2a33 (en: 'smash product', google translation)
- - "⨴": [t: "знак умножения в левом половине круга"] # 0x2a34 (en: 'multiplication sign in left half circle', google translation)
- - "⨵": [t: "умножение подписывает правый половину круга"] # 0x2a35 (en: 'multiplication sign in right half circle', google translation)
- - "⨶": [t: "кольвный знак умножения с акцентом на округ"] # 0x2a36 (en: 'circled multiplication sign with circumflex accent', google translation)
- - "⨷": [t: "знак умножения в двойном круге"] # 0x2a37 (en: 'multiplication sign in double circle', google translation)
- - "⨸": [t: "знак окружающего дивизиона"] # 0x2a38 (en: 'circled division sign', google translation)
- - "⨹": [t: "плюс знак в треугольнике"] # 0x2a39 (en: 'plus sign in triangle', google translation)
- - "⨺": [t: "минус знак в треугольнике"] # 0x2a3a (en: 'minus sign in triangle', google translation)
- - "⨻": [t: "знак умножения в треугольнике"] # 0x2a3b (en: 'multiplication sign in triangle', google translation)
- - "⨼": [t: "интерьер продукт"] # 0x2a3c (en: 'interior product', google translation)
- - "⨽": [t: "ремьер внутренний продукт"] # 0x2a3d (en: 'righthand interior product', google translation)
- - "⨾": [t: "z обозначения реляционного состава"] # 0x2a3e (en: 'z notation relational composition', google translation)
- - "⨿": [t: "объединение или совместный"] # 0x2a3f (en: 'amalgamation or coproduct', google translation)
- - "⩀": [t: "пересечение с точкой"] # 0x2a40 (en: 'intersection with dot', google translation)
- - "⩁": [t: "союз с минус знак"] # 0x2a41 (en: 'union with minus sign', google translation)
- - "⩂": [t: "союз с overbar"] # 0x2a42 (en: 'union with overbar', google translation)
- - "⩃": [t: "пересечение с overbar"] # 0x2a43 (en: 'intersection with overbar', google translation)
- - "⩄": [t: "пересечение с логическим и"] # 0x2a44 (en: 'intersection with logical and', google translation)
- - "⩅": [t: "союз с логическим или"] # 0x2a45 (en: 'union with logical or', google translation)
- - "⩆": [t: "союз выше пересечения"] # 0x2a46 (en: 'union above intersection', google translation)
- - "⩇": [t: "пересечение над союзом"] # 0x2a47 (en: 'intersection above union', google translation)
- - "⩈": [t: "союз над решеткой над перекрестком"] # 0x2a48 (en: 'union above bar above intersection', google translation)
- - "⩉": [t: "пересечение над решеткой над союзом"] # 0x2a49 (en: 'intersection above bar above union', google translation)
- - "⩊": [t: "союз рядом и присоединился к профсоюзам"] # 0x2a4a (en: 'union beside and joined with union', google translation)
- - "⩋": [t: "пересечение рядом и соединяется с перекрестком"] # 0x2a4b (en: 'intersection beside and joined with intersection', google translation)
- - "⩌": [t: "закрыт союз со скидками"] # 0x2a4c (en: 'closed union with serifs', google translation)
- - "⩍": [t: "закрыто пересечение с засечками"] # 0x2a4d (en: 'closed intersection with serifs', google translation)
- - "⩎": [t: "двойной квадратный перекресток"] # 0x2a4e (en: 'double square intersection', google translation)
- - "⩏": [t: "двойной квадратный союз"] # 0x2a4f (en: 'double square union', google translation)
- - "⩐": [t: "закрыт союз с засечками и разбейте продукт"] # 0x2a50 (en: 'closed union with serifs and smash product', google translation)
- - "⩑": [t: "логично и с точкой выше"] # 0x2a51 (en: 'logical and with dot above', google translation)
- - "⩒": [t: "логично или с точкой выше"] # 0x2a52 (en: 'logical or with dot above', google translation)
- - "⩓": [t: "двойной логический и"] # 0x2a53 (en: 'double logical and', google translation)
- - "⩔": [t: "двойной логический или"] # 0x2a54 (en: 'double logical or', google translation)
- - "⩕": [t: "два пересекающихся логических и"] # 0x2a55 (en: 'two intersecting logical and', google translation)
- - "⩖": [t: "два пересекающихся логических или"] # 0x2a56 (en: 'two intersecting logical or', google translation)
- - "⩗": [t: "наклонение большого или"] # 0x2a57 (en: 'sloping large or', google translation)
- - "⩘": [t: "наклонение большого и"] # 0x2a58 (en: 'sloping large and', google translation)
- - "⩙": [t: "логичный или перекрывающийся логический и"] # 0x2a59 (en: 'logical or overlapping logical and', google translation)
- - "⩚": [t: "логично и со средним стеблем"] # 0x2a5a (en: 'logical and with middle stem', google translation)
- - "⩛": [t: "логично или со средним стеблем"] # 0x2a5b (en: 'logical or with middle stem', google translation)
- - "⩜": [t: "логично и с горизонтальной чертой"] # 0x2a5c (en: 'logical and with horizontal dash', google translation)
- - "⩝": [t: "логично или с горизонтальной чертой"] # 0x2a5d (en: 'logical or with horizontal dash', google translation)
- - "⩞": [t: "логично и с двойной верхней"] # 0x2a5e (en: 'logical and with double overbar', google translation)
- - "⩟": [t: "логично и с андербаром"] # 0x2a5f (en: 'logical and with underbar', google translation)
- - "⩠": [t: "логично и с двойной подношкой"] # 0x2a60 (en: 'logical and with double underbar', google translation)
- - "⩡": [t: "маленький век с верхней частью"] # 0x2a61 (en: 'small vee with underbar', google translation)
- - "⩢": [t: "логично или с двойной верхней"] # 0x2a62 (en: 'logical or with double overbar', google translation)
- - "⩣": [t: "логично или с двойной подношкой"] # 0x2a63 (en: 'logical or with double underbar', google translation)
- - "⩤": [t: "z обозначения домена антиоритет"] # 0x2a64 (en: 'z notation domain antirestriction', google translation)
- - "⩥": [t: "z обозначения диапазона антиреализации"] # 0x2a65 (en: 'z notation range antirestriction', google translation)
- - "⩦": [t: "соответствует знаку с точкой ниже"] # 0x2a66 (en: 'equals sign with dot below', google translation)
- - "⩧": [t: "идентично dot выше"] # 0x2a67 (en: 'identical with dot above', google translation)
- - "⩨": [t: "тройной горизонтальный стержень с двойным вертикальным ходом"] # 0x2a68 (en: 'triple horizontal bar with double vertical stroke', google translation)
- - "⩩": [t: "тройной горизонтальный бар с тройным вертикальным ходом"] # 0x2a69 (en: 'triple horizontal bar with triple vertical stroke', google translation)
- - "⩪": [t: "оператор тильде с точкой выше"] # 0x2a6a (en: 'tilde operator with dot above', google translation)
- - "⩫": [t: "оператор тильде с ростами точками"] # 0x2a6b (en: 'tilde operator with rising dots', google translation)
- - "⩬": [t: "аналогично минус аналогично"] # 0x2a6c (en: 'similar minus similar', google translation)
- - "⩭": [t: "конгруэнтен с точкой выше"] # 0x2a6d (en: 'congruent with dot above', google translation)
- - "⩮": [t: "равняется звездочке"] # 0x2a6e (en: 'equals with asterisk', google translation)
- - "⩯": [t: "почти равен с обходом акцента"] # 0x2a6f (en: 'almost equal to with circumflex accent', google translation)
- - "⩰": [t: "приблизительно равен или равен"] # 0x2a70 (en: 'approximately equal to or equal to', google translation)
- - "⩱": [t: "равна знаку выше плюс знак"] # 0x2a71 (en: 'equals sign above plus sign', google translation)
- - "⩲": [t: "плюс знак выше равняется знаку"] # 0x2a72 (en: 'plus sign above equals sign', google translation)
- - "⩳": [t: "соответствует знаку над оператором тильды"] # 0x2a73 (en: 'equals sign above tilde operator', google translation)
- - "⩴": [t: "двойная толстая кишка равна"] # 0x2a74 (en: 'double colon equal', google translation)
- - "⩵": [t: "два последовательных признаков"] # 0x2a75 (en: 'two consecutive equals signs', google translation)
- - "⩶": [t: "три последовательных признаков"] # 0x2a76 (en: 'three consecutive equals signs', google translation)
- - "⩷": [t: "соответствует знаку с двумя точками выше и две точки ниже"] # 0x2a77 (en: 'equals sign with two dots above and two dots below', google translation)
- - "⩸": [t: "эквивалент с четырьмя точками выше"] # 0x2a78 (en: 'equivalent with four dots above', google translation)
- - "⩹": [t: "меньше, чем с кругом внутри"] # 0x2a79 (en: 'less than with circle inside', google translation)
- - "⩺": [t: "больше, чем с кругом внутри"] # 0x2a7a (en: 'greater than with circle inside', google translation)
- - "⩻": [t: "меньше, чем с вопросом выше"] # 0x2a7b (en: 'less than with question mark above', google translation)
- - "⩼": [t: "больше, чем с вопросительным знаком выше"] # 0x2a7c (en: 'greater than with question mark above', google translation)
- - "⩽": [t: "меньше, чем или наклонен равен"] # 0x2a7d (en: 'less than or slanted equal to', google translation)
- - "⩾": [t: "больше, чем или наклонен равен"] # 0x2a7e (en: 'greater than or slanted equal to', google translation)
- - "⩿": [t: "меньше, чем или наклонен, равный точкой внутри"] # 0x2a7f (en: 'less than or slanted equal to with dot inside', google translation)
- - "⪀": [t: "больше, чем или наклонен, равный точкой внутри"] # 0x2a80 (en: 'greater than or slanted equal to with dot inside', google translation)
- - "⪁": [t: "меньше, чем или наклонен, равный точкой выше"] # 0x2a81 (en: 'less than or slanted equal to with dot above', google translation)
- - "⪂": [t: "больше, чем или наклонен, равным точке выше"] # 0x2a82 (en: 'greater than or slanted equal to with dot above', google translation)
- - "⪃": [t: "меньше, чем или наклонен, равный точкой вверху справа"] # 0x2a83 (en: 'less than or slanted equal to with dot above right', google translation)
- - "⪄": [t: "больше, чем или наклонен, равный точкой вверху слева"] # 0x2a84 (en: 'greater than or slanted equal to with dot above left', google translation)
- - "⪅": [t: "меньше или приблизительно"] # 0x2a85 (en: 'less than or approximate', google translation)
- - "⪆": [t: "больше или приблизительно"] # 0x2a86 (en: 'greater than or approximate', google translation)
- - "⪇": [t: "меньше, чем и одна строка не равна"] # 0x2a87 (en: 'less than and single line not equal to', google translation)
- - "⪈": [t: "больше и единственная линия не равна"] # 0x2a88 (en: 'greater than and single line not equal to', google translation)
- - "⪉": [t: "меньше, чем и не приблизительно"] # 0x2a89 (en: 'less than and not approximate', google translation)
- - "⪊": [t: "больше, чем и не приблизительно"] # 0x2a8a (en: 'greater than and not approximate', google translation)
- - "⪋": [t: "меньше, чем выше двойной линии, равна выше, чем"] # 0x2a8b (en: 'less than above double line equal above greater than', google translation)
- - "⪌": [t: "больше, чем выше, двойная линия равна выше меньше, чем"] # 0x2a8c (en: 'greater than above double line equal above less than', google translation)
- - "⪍": [t: "меньше, чем выше, похожие или равные"] # 0x2a8d (en: 'less than above similar or equal', google translation)
- - "⪎": [t: "больше, чем выше, похожие или равные"] # 0x2a8e (en: 'greater than above similar or equal', google translation)
- - "⪏": [t: "меньше, чем выше, больше выше, чем"] # 0x2a8f (en: 'less than above similar above greater than', google translation)
- - "⪐": [t: "больше, чем выше, подобно выше меньше, чем"] # 0x2a90 (en: 'greater than above similar above less than', google translation)
- - "⪑": [t: "меньше, чем выше, чем выше, двойная линия равна"] # 0x2a91 (en: 'less than above greater than above double line equal', google translation)
- - "⪒": [t: "больше, чем выше, меньше, чем выше, двойная линия равна"] # 0x2a92 (en: 'greater than above less than above double line equal', google translation)
- - "⪓": [t: "меньше, чем выше наклонного, равного выше выше, чем выше, наклонное, равное"] # 0x2a93 (en: 'less than above slanted equal above greater than above slanted equal', google translation)
- - "⪔": [t: "больше, чем выше, наклонное, равное выше, чем выше выше, наклоненного равных"] # 0x2a94 (en: 'greater than above slanted equal above less than above slanted equal', google translation)
- - "⪕": [t: "наклонен равен или меньше"] # 0x2a95 (en: 'slanted equal to or less than', google translation)
- - "⪖": [t: "наклонен равен или больше"] # 0x2a96 (en: 'slanted equal to or greater than', google translation)
- - "⪗": [t: "наклонен равен или меньше, чем с точкой внутри"] # 0x2a97 (en: 'slanted equal to or less than with dot inside', google translation)
- - "⪘": [t: "наклонен равен или больше, чем с точкой внутри"] # 0x2a98 (en: 'slanted equal to or greater than with dot inside', google translation)
- - "⪙": [t: "двойная линия, равная или меньше"] # 0x2a99 (en: 'double line equal to or less than', google translation)
- - "⪚": [t: "двойная линия, равная или больше"] # 0x2a9a (en: 'double line equal to or greater than', google translation)
- - "⪛": [t: "двойная линия наклонена, равна или меньше"] # 0x2a9b (en: 'double line slanted equal to or less than', google translation)
- - "⪜": [t: "двойная линия наклонена, равна или больше"] # 0x2a9c (en: 'double line slanted equal to or greater than', google translation)
- - "⪝": [t: "аналогично или меньше"] # 0x2a9d (en: 'similar or less than', google translation)
- - "⪞": [t: "аналогично или больше, чем"] # 0x2a9e (en: 'similar or greater than', google translation)
- - "⪟": [t: "аналогично выше, чем выше, равна знаку"] # 0x2a9f (en: 'similar above less than above equals sign', google translation)
- - "⪠": [t: "аналогично выше, чем выше, равна знаку"] # 0x2aa0 (en: 'similar above greater than above equals sign', google translation)
- - "⪡": [t: "двойной вложенной меньше, чем"] # 0x2aa1 (en: 'double nested less than', google translation)
- - "⪢": [t: "двойной вложенной больше, чем"] # 0x2aa2 (en: 'double nested greater than', google translation)
- - "⪣": [t: "двойной вложенной меньше, чем с поднятой"] # 0x2aa3 (en: 'double nested less than with underbar', google translation)
- - "⪤": [t: "больше, чем перекрывание меньше, чем"] # 0x2aa4 (en: 'greater than overlapping less than', google translation)
- - "⪥": [t: "больше, чем помимо меньше"] # 0x2aa5 (en: 'greater than beside less than', google translation)
- - "⪦": [t: "менее, чем закрыто по кривой"] # 0x2aa6 (en: 'less than closed by curve', google translation)
- - "⪧": [t: "больше, чем закрыто кривой"] # 0x2aa7 (en: 'greater than closed by curve', google translation)
- - "⪨": [t: "менее, чем закрыто кривой выше наклонной равной"] # 0x2aa8 (en: 'less than closed by curve above slanted equal', google translation)
- - "⪩": [t: "больше, чем закрыто кривой выше наклонного равного"] # 0x2aa9 (en: 'greater than closed by curve above slanted equal', google translation)
- - "⪪": [t: "меньше, чем"] # 0x2aaa (en: 'smaller than', google translation)
- - "⪫": [t: "больше, чем"] # 0x2aab (en: 'larger than', google translation)
- - "⪬": [t: "меньше, чем или равно"] # 0x2aac (en: 'smaller than or equal to', google translation)
- - "⪭": [t: "больше или равного"] # 0x2aad (en: 'larger than or equal to', google translation)
- - "⪮": [t: "равняется знаку с ухабкой выше"] # 0x2aae (en: 'equals sign with bumpy above', google translation)
- - "⪯": [t: "предшествующее выше одной линии равняется знаку"] # 0x2aaf (en: 'precedes above single line equals sign', google translation)
- - "⪰": [t: "успех выше одной линии, равным знаку"] # 0x2ab0 (en: 'succeeds above single line equals sign', google translation)
- - "⪱": [t: "предшествует над одной линией не равна"] # 0x2ab1 (en: 'precedes above single line not equal to', google translation)
- - "⪲": [t: "преуспевает над одной линией не равна"] # 0x2ab2 (en: 'succeeds above single line not equal to', google translation)
- - "⪳": [t: "предыдущие выше равны знака"] # 0x2ab3 (en: 'precedes above equals sign', google translation)
- - "⪴": [t: "успех выше равняется знаку"] # 0x2ab4 (en: 'succeeds above equals sign', google translation)
- - "⪵": [t: "предшествует выше, а не равно"] # 0x2ab5 (en: 'precedes above not equal to', google translation)
- - "⪶": [t: "преуспевает выше не равных"] # 0x2ab6 (en: 'succeeds above not equal to', google translation)
- - "⪷": [t: "предшествует выше почти равного"] # 0x2ab7 (en: 'precedes above almost equal to', google translation)
- - "⪸": [t: "превышает почти равные"] # 0x2ab8 (en: 'succeeds above almost equal to', google translation)
- - "⪹": [t: "предшествует выше почти равных"] # 0x2ab9 (en: 'precedes above not almost equal to', google translation)
- - "⪺": [t: "преуспевает выше почти равным"] # 0x2aba (en: 'succeeds above not almost equal to', google translation)
- - "⪻": [t: "двойной предшествующий"] # 0x2abb (en: 'double precedes', google translation)
- - "⪼": [t: "двойной успех"] # 0x2abc (en: 'double succeeds', google translation)
- - "⪽": [t: "подмножество с точкой"] # 0x2abd (en: 'subset with dot', google translation)
- - "⪾": [t: "суперсет с точкой"] # 0x2abe (en: 'superset with dot', google translation)
- - "⪿": [t: "подмножество с плюсом знаком ниже"] # 0x2abf (en: 'subset with plus sign below', google translation)
- - "⫀": [t: "superset с плюсом знаком ниже"] # 0x2ac0 (en: 'superset with plus sign below', google translation)
- - "⫁": [t: "подмножество с указанием умножения ниже"] # 0x2ac1 (en: 'subset with multiplication sign below', google translation)
- - "⫂": [t: "суперсет с знаком умножения ниже"] # 0x2ac2 (en: 'superset with multiplication sign below', google translation)
- - "⫃": [t: "подмножество или равное точке выше"] # 0x2ac3 (en: 'subset of or equal to with dot above', google translation)
- - "⫄": [t: "суперсет или равный с точкой выше"] # 0x2ac4 (en: 'superset of or equal to with dot above', google translation)
- - "⫅": [t: "подмножество вышеупомянутого знака"] # 0x2ac5 (en: 'subset of above equals sign', google translation)
- - "⫆": [t: "суперсет выше, равным знаку"] # 0x2ac6 (en: 'superset of above equals sign', google translation)
- - "⫇": [t: "подмножество вышеупомянутого оператора тильды"] # 0x2ac7 (en: 'subset of above tilde operator', google translation)
- - "⫈": [t: "суперсет выше оператора тильде"] # 0x2ac8 (en: 'superset of above tilde operator', google translation)
- - "⫉": [t: "подмножество выше почти равного"] # 0x2ac9 (en: 'subset of above almost equal to', google translation)
- - "⫊": [t: "суперсет выше почти равный"] # 0x2aca (en: 'superset of above almost equal to', google translation)
- - "⫋": [t: "подмножество выше не равное"] # 0x2acb (en: 'subset above not equal to', google translation)
- - "⫌": [t: "суперсет выше не равен"] # 0x2acc (en: 'superset of above not equal to', google translation)
- - "⫍": [t: "квадратный левый оператор открытой коробки"] # 0x2acd (en: 'square left open box operator', google translation)
- - "⫎": [t: "квадратный правый оператор открытой коробки"] # 0x2ace (en: 'square right open box operator', google translation)
- - "⫏": [t: "закрытый подмножество"] # 0x2acf (en: 'closed subset', google translation)
- - "⫐": [t: "закрытый суперсет"] # 0x2ad0 (en: 'closed superset', google translation)
- - "⫑": [t: "закрытое подмножество или равное"] # 0x2ad1 (en: 'closed subset or equal to', google translation)
- - "⫒": [t: "закрытый суперсет или равен"] # 0x2ad2 (en: 'closed superset or equal to', google translation)
- - "⫓": [t: "подмножество над суперсетом"] # 0x2ad3 (en: 'subset above superset', google translation)
- - "⫔": [t: "суперсет выше подмножества"] # 0x2ad4 (en: 'superset above subset', google translation)
- - "⫕": [t: "подмножество выше подмножества"] # 0x2ad5 (en: 'subset above subset', google translation)
- - "⫖": [t: "суперсет над суперсет"] # 0x2ad6 (en: 'superset above superset', google translation)
- - "⫗": [t: "суперсет рядом с подмножества"] # 0x2ad7 (en: 'superset beside subset', google translation)
- - "⫘": [t: "суперсет рядом и присоединился к dash с подмножеством"] # 0x2ad8 (en: 'superset beside and joined by dash with subset', google translation)
- - "⫙": [t: "элемент открытия вниз"] # 0x2ad9 (en: 'element of opening downwards', google translation)
- - "⫚": [t: "pitchfork с tee top"] # 0x2ada (en: 'pitchfork with tee top', google translation)
- - "⫛": [t: "поперечное перекресток"] # 0x2adb (en: 'transversal intersection', google translation)
- - "⫝̸": [t: "разбрызгивание"] # 0x2adc (en: 'forking', google translation)
- - "⫝": [t: "не призванное"] # 0x2add (en: 'nonforking', google translation)
- - "⫞": [t: "короткий левый притяжение"] # 0x2ade (en: 'short left tack', google translation)
- - "⫟": [t: "краткий удар"] # 0x2adf (en: 'short down tack', google translation)
- - "⫠": [t: "краткий притяжение"] # 0x2ae0 (en: 'short up tack', google translation)
- - "⫡": [t: "перпендикуляр с с"] # 0x2ae1 (en: 'perpendicular with s', google translation)
- - "⫢": [t: "вертикальный батончик тройной правый турникет"] # 0x2ae2 (en: 'vertical bar triple right turnstile', google translation)
- - "⫣": [t: "двойная вертикальная стержня левая турникета"] # 0x2ae3 (en: 'double vertical bar left turnstile', google translation)
- - "⫤": [t: "вертикальный стержень двойной левый турнинель"] # 0x2ae4 (en: 'vertical bar double left turnstile', google translation)
- - "⫥": [t: "двойная вертикальная стержня двойной левой турникет"] # 0x2ae5 (en: 'double vertical bar double left turnstile', google translation)
- - "⫦": [t: "длинный бросок от левого члена двойной вертикали"] # 0x2ae6 (en: 'long dash from left member of double vertical', google translation)
- - "⫧": [t: "краткий удар с overbar"] # 0x2ae7 (en: 'short down tack with overbar', google translation)
- - "⫨": [t: "краткий притяжение с помощью верхней части"] # 0x2ae8 (en: 'short up tack with underbar', google translation)
- - "⫩": [t: "краткий удар над коротким путем"] # 0x2ae9 (en: 'short up tack above short down tack', google translation)
- - "⫪": [t: "двойной удар"] # 0x2aea (en: 'double down tack', google translation)
- - "⫫": [t: "удвоить такту"] # 0x2aeb (en: 'double up tack', google translation)
- - "⫬": [t: "двойной удар, а не знак"] # 0x2aec (en: 'double stroke not sign', google translation)
- - "⫭": [t: "обратный двойной удар, а не знак"] # 0x2aed (en: 'reversed double stroke not sign', google translation)
- - "⫮": [t: "не разделяется с обратной слэш"] # 0x2aee (en: 'does not divide with reversed negation slash', google translation)
- - "⫯": [t: "вертикальная линия с кругом выше"] # 0x2aef (en: 'vertical line with circle above', google translation)
- - "⫰": [t: "вертикальная линия с кругом ниже"] # 0x2af0 (en: 'vertical line with circle below', google translation)
- - "⫱": [t: "вниз по кругу ниже"] # 0x2af1 (en: 'down tack with circle below', google translation)
- - "⫲": [t: "параллельно с горизонтальным ходом"] # 0x2af2 (en: 'parallel with horizontal stroke', google translation)
- - "⫳": [t: "параллельно с оператором тильды"] # 0x2af3 (en: 'parallel with tilde operator', google translation)
- - "⫴": [t: "тройная вертикальная бинарная связь"] # 0x2af4 (en: 'triple vertical bar binary relation', google translation)
- - "⫵": [t: "тройная вертикальная стержень с горизонтальным ходом"] # 0x2af5 (en: 'triple vertical bar with horizontal stroke', google translation)
- - "⫶": [t: "тройной оператор толстой кишки"] # 0x2af6 (en: 'triple colon operator', google translation)
- - "⫷": [t: "тройной вложенной меньше, чем"] # 0x2af7 (en: 'triple nested less than', google translation)
- - "⫸": [t: "тройной вложенной больше, чем"] # 0x2af8 (en: 'triple nested greater than', google translation)
- - "⫹": [t: "двойная линия наклонена меньше или равна"] # 0x2af9 (en: 'double line slanted less than or equal to', google translation)
- - "⫺": [t: "двойная линия наклонена больше или равна"] # 0x2afa (en: 'double line slanted greater than or equal to', google translation)
- - "⫻": [t: "тройное солидус бинарное отношение"] # 0x2afb (en: 'triple solidus binary relation', google translation)
- - "⫼": [t: "большой тройной вертикальный оператор"] # 0x2afc (en: 'large triple vertical bar operator', google translation)
- - "⫽": [t: "двойной оператор solidus"] # 0x2afd (en: 'double solidus operator', google translation)
- - "⫾": [t: "белый вертикальный бар"] # 0x2afe (en: 'white vertical bar', google translation)
- - "⫿": [t: "белый вертикальный бар"] # 0x2aff (en: 'white vertical bar', google translation)
- - "⬀": [t: "северо -восточный белый стрела"] # 0x2b00 (en: 'north east white arrow', google translation)
- - "⬁": [t: "северо -западный белый стрела"] # 0x2b01 (en: 'north west white arrow', google translation)
- - "⬂": [t: "юго -восточная белая стрела"] # 0x2b02 (en: 'south east white arrow', google translation)
- - "⬃": [t: "юго -западный белый стрелка"] # 0x2b03 (en: 'south west white arrow', google translation)
- - "⬄": [t: "левая правая белая стрелка"] # 0x2b04 (en: 'left right white arrow', google translation)
- - "⬅": [t: "левая черная стрела"] # 0x2b05 (en: 'leftwards black arrow', google translation)
- - "⬆": [t: "вверх черную стрелу"] # 0x2b06 (en: 'upwards black arrow', google translation)
- - "⬇": [t: "вниз черная стрелка"] # 0x2b07 (en: 'downwards black arrow', google translation)
- - "⬈": [t: "северо -восточный черная стрелка"] # 0x2b08 (en: 'north east black arrow', google translation)
- - "⬉": [t: "северо -западный черная стрелка"] # 0x2b09 (en: 'north west black arrow', google translation)
- - "⬊": [t: "юго -восточная черная стрела"] # 0x2b0a (en: 'south east black arrow', google translation)
- - "⬋": [t: "юго -западная черная стрела"] # 0x2b0b (en: 'south west black arrow', google translation)
- - "⬌": [t: "левая правая черная стрелка"] # 0x2b0c (en: 'left right black arrow', google translation)
- - "⬍": [t: "вниз по черной стрелке"] # 0x2b0d (en: 'up down black arrow', google translation)
- - "⬎": [t: "стрелка вправо с наконечником вниз"] # 0x2b0e (en: 'rightwards arrow with tip downwards', google translation)
- - "⬏": [t: "стрелка вправо с наконечником вверх"] # 0x2b0f (en: 'rightwards arrow with tip upwards', google translation)
- - "⬐": [t: "стрелка влево с наконечником вниз"] # 0x2b10 (en: 'leftwards arrow with tip downwards', google translation)
- - "⬑": [t: "стрелка влево с наконечником вверх"] # 0x2b11 (en: 'leftwards arrow with tip upwards', google translation)
- - "⬒": [t: "квадрат с верхней половиной черной"] # 0x2b12 (en: 'square with top half black', google translation)
- - "⬓": [t: "квадрат с нижней половиной черной"] # 0x2b13 (en: 'square with bottom half black', google translation)
- - "⬔": [t: "квадрат с верхней правой диагональной половиной черной"] # 0x2b14 (en: 'square with upper right diagonal half black', google translation)
- - "⬕": [t: "квадрат с нижней левой диагональной половиной черной"] # 0x2b15 (en: 'square with lower left diagonal half black', google translation)
- - "⬖": [t: "алмаз с левой половиной черной"] # 0x2b16 (en: 'diamond with left half black', google translation)
- - "⬗": [t: "алмаз с правой половиной черной"] # 0x2b17 (en: 'diamond with right half black', google translation)
- - "⬘": [t: "алмаз с верхней половиной черной"] # 0x2b18 (en: 'diamond with top half black', google translation)
- - "⬙": [t: "алмаз с нижней половиной черной"] # 0x2b19 (en: 'diamond with bottom half black', google translation)
- - "⬚": [t: "коробка"] # 0x2b1a (en: 'box', google translation)
- - "⬛": [t: "черный большой квадрат"] # 0x2b1b (en: 'black large square', google translation)
- - "⬜": [t: "белый большой квадрат"] # 0x2b1c (en: 'white large square', google translation)
- - "⬝": [t: "черный очень маленький квадрат"] # 0x2b1d (en: 'black very small square', google translation)
- - "⬞": [t: "белый очень маленький квадрат"] # 0x2b1e (en: 'white very small square', google translation)
- - "⬟": [t: "черный пентагон"] # 0x2b1f (en: 'black pentagon', google translation)
- - "⬠": [t: "белый пентагон"] # 0x2b20 (en: 'white pentagon', google translation)
- - "⬡": [t: "белый шестигранник"] # 0x2b21 (en: 'white hexagon', google translation)
- - "⬢": [t: "черный шестигранник"] # 0x2b22 (en: 'black hexagon', google translation)
- - "⬣": [t: "горизонтальный черный шестигран"] # 0x2b23 (en: 'horizontal black hexagon', google translation)
- - "⬤": [t: "черный большой круг"] # 0x2b24 (en: 'black large circle', google translation)
- - "⬥": [t: "черный средний бриллиант"] # 0x2b25 (en: 'black medium diamond', google translation)
- - "⬦": [t: "белый средний бриллиант"] # 0x2b26 (en: 'white medium diamond', google translation)
- - "⬧": [t: "черный средний роньон"] # 0x2b27 (en: 'black medium lozenge', google translation)
- - "⬨": [t: "белый средний роньон"] # 0x2b28 (en: 'white medium lozenge', google translation)
- - "⬩": [t: "черный маленький бриллиант"] # 0x2b29 (en: 'black small diamond', google translation)
- - "⬪": [t: "черный маленький ронд"] # 0x2b2a (en: 'black small lozenge', google translation)
- - "⬫": [t: "белый маленький роньон"] # 0x2b2b (en: 'white small lozenge', google translation)
- - "⬬": [t: "черный горизонтальный эллипс"] # 0x2b2c (en: 'black horizontal ellipse', google translation)
- - "⬭": [t: "белый горизонтальный эллипс"] # 0x2b2d (en: 'white horizontal ellipse', google translation)
- - "⬮": [t: "черный вертикальный эллипс"] # 0x2b2e (en: 'black vertical ellipse', google translation)
- - "⬯": [t: "белый вертикальный эллипс"] # 0x2b2f (en: 'white vertical ellipse', google translation)
- - "⬰": [t: "левая стрелка с маленьким кругом"] # 0x2b30 (en: 'left arrow with small circle', google translation)
- - "⬱": [t: "три левые стрелы"] # 0x2b31 (en: 'three leftwards arrows', google translation)
- - "⬲": [t: "левая стрелка с circled plus"] # 0x2b32 (en: 'left arrow with circled plus', google translation)
- - "⬳": [t: "длинный левый наносит удар стрелка"] # 0x2b33 (en: 'long leftwards squiggle arrow', google translation)
- - "⬴": [t: "слева две головные стрелки с вертикальным ходом"] # 0x2b34 (en: 'leftwards two headed arrow with vertical stroke', google translation)
- - "⬵": [t: "слева две головы стрелка с двойным вертикальным ходом"] # 0x2b35 (en: 'leftwards two headed arrow with double vertical stroke', google translation)
- - "⬶": [t: "слева две голова стрелы из бара"] # 0x2b36 (en: 'leftwards two headed arrow from bar', google translation)
- - "⬷": [t: "слева две головы triple dash arrow"] # 0x2b37 (en: 'leftwards two headed triple dash arrow', google translation)
- - "⬸": [t: "стрелка влево с пунктирным стеблем"] # 0x2b38 (en: 'leftwards arrow with dotted stem', google translation)
- - "⬹": [t: "стрелка влево с хвостом с вертикальным ходом"] # 0x2b39 (en: 'leftwards arrow with tail with vertical stroke', google translation)
- - "⬺": [t: "стрелка влево с двойным вертикальным ходом"] # 0x2b3a (en: 'leftwards arrow with tail with double vertical stroke', google translation)
- - "⬻": [t: "слева две головные стрелы с хвостом"] # 0x2b3b (en: 'leftwards two headed arrow with tail', google translation)
- - "⬼": [t: "слева две головные стрелки с хвостом с вертикальным ходом"] # 0x2b3c (en: 'leftwards two headed arrow with tail with vertical stroke', google translation)
- - "⬽": [t: "влево две головы стрелка с хвостом с двойным вертикальным ходом"] # 0x2b3d (en: 'leftwards two headed arrow with tail with double vertical stroke', google translation)
- - "⬾": [t: "стрелка влево через x"] # 0x2b3e (en: 'leftwards arrow through x', google translation)
- - "⬿": [t: "волновая стрелка, указывающая прямо влево"] # 0x2b3f (en: 'wave arrow pointing directly left', google translation)
- - "⭀": [t: "равен знак над стрелкой влево"] # 0x2b40 (en: 'equals sign above leftwards arrow', google translation)
- - "⭁": [t: "обратный оператор тильды над стрелкой левой"] # 0x2b41 (en: 'reverse tilde operator above leftwards arrow', google translation)
- - "⭂": [t: "стрелка влево выше обратно почти равна"] # 0x2b42 (en: 'leftwards arrow above reverse almost equal to', google translation)
- - "⭃": [t: "стрелка вправо через больше"] # 0x2b43 (en: 'rightwards arrow through greater than', google translation)
- - "⭄": [t: "прямо стрелка через суперсет"] # 0x2b44 (en: 'rightwards arrow through superset', google translation)
- - "⭅": [t: "левая четырехкратная стрелка"] # 0x2b45 (en: 'leftwards quadruple arrow', google translation)
- - "⭆": [t: "прямо четырехкратная стрелка"] # 0x2b46 (en: 'rightwards quadruple arrow', google translation)
- - "⭇": [t: "обратный оператор тильды выше стрелы вправо"] # 0x2b47 (en: 'reverse tilde operator above rightwards arrow', google translation)
- - "⭈": [t: "стрелка вправо выше обратно почти равна"] # 0x2b48 (en: 'rightwards arrow above reverse almost equal to', google translation)
- - "⭉": [t: "оператор тильде над стрелкой левой"] # 0x2b49 (en: 'tilde operator above leftwards arrow', google translation)
- - "⭊": [t: "стрелка влево выше почти равна"] # 0x2b4a (en: 'leftwards arrow above almost equal to', google translation)
- - "⭋": [t: "стрелка влево над оператором обратной тилды"] # 0x2b4b (en: 'leftwards arrow above reverse tilde operator', google translation)
- - "⭌": [t: "стрелка вправо над оператором обратной тилды"] # 0x2b4c (en: 'rightwards arrow above reverse tilde operator', google translation)
- - "⭐": [t: "белая средняя звезда"] # 0x2b50 (en: 'white medium star', google translation)
- - "⭑": [t: "черная маленькая звезда"] # 0x2b51 (en: 'black small star', google translation)
- - "⭒": [t: "белая маленькая звезда"] # 0x2b52 (en: 'white small star', google translation)
- - "⭓": [t: "черное правое направление пентагона"] # 0x2b53 (en: 'black right pointing pentagon', google translation)
- - "⭔": [t: "белый правый направление пентагона"] # 0x2b54 (en: 'white right pointing pentagon', google translation)
- - "⭕": [t: "тяжелый большой круг"] # 0x2b55 (en: 'heavy large circle', google translation)
- - "⭖": [t: "тяжелый овал с овальным внутри"] # 0x2b56 (en: 'heavy oval with oval inside', google translation)
- - "⭗": [t: "тяжелый круг с кругом внутри"] # 0x2b57 (en: 'heavy circle with circle inside', google translation)
- - "⭘": [t: "тяжелый круг"] # 0x2b58 (en: 'heavy circle', google translation)
- - "⭙": [t: "тяжелая кружовая сальир"] # 0x2b59 (en: 'heavy circled saltire', google translation)
- - "⸀": [t: "маркер подстановки правого угла"] # 0x2e00 (en: 'right angle substitution marker', google translation)
- - "⸁": [t: "прямой угол пунктирный маркер замены"] # 0x2e01 (en: 'right angle dotted substitution marker', google translation)
- - "⸂": [t: "левая замена кронштейна"] # 0x2e02 (en: 'left substitution bracket', google translation)
- - "⸃": [t: "правая замена кронштейна"] # 0x2e03 (en: 'right substitution bracket', google translation)
- - "⸄": [t: "левая пунктирная замена кронштейна"] # 0x2e04 (en: 'left dotted substitution bracket', google translation)
- - "⸅": [t: "правая пунктирная замена кронштейна"] # 0x2e05 (en: 'right dotted substitution bracket', google translation)
- - "⸆": [t: "повышенный маркер интерполяции"] # 0x2e06 (en: 'raised interpolation marker', google translation)
- - "⸇": [t: "повышенный пунктированный маркер интерполяции"] # 0x2e07 (en: 'raised dotted interpolation marker', google translation)
- - "⸈": [t: "пунктирный маркер маркера транспозиции"] # 0x2e08 (en: 'dotted transposition marker marker', google translation)
- - "⸉": [t: "левый транспонированный кронштейн"] # 0x2e09 (en: 'left transposition bracket', google translation)
- - "⸊": [t: "правый транспонированный кронштейн"] # 0x2e0a (en: 'right transposition bracket', google translation)
- - "⸋": [t: "поднятый квадрат"] # 0x2e0b (en: 'raised square', google translation)
- - "⸌": [t: "оставленный поднятый кронштейн упущений"] # 0x2e0c (en: 'left raised omission bracket', google translation)
- - "⸍": [t: "правый поднятый кронштейн упущений"] # 0x2e0d (en: 'right raised omission bracket', google translation)
- - "⸎": [t: "редакция коронис"] # 0x2e0e (en: 'editorial coronis', google translation)
- - "⸏": [t: "параграф"] # 0x2e0f (en: 'paragraphos', google translation)
- - "⸐": [t: "разветвленные параграфоры"] # 0x2e10 (en: 'forked paragraphos', google translation)
- - "⸑": [t: "обратите вспять разветвленные параграфы"] # 0x2e11 (en: 'reversed forked paragraphos', google translation)
- - "⸒": [t: "гиподиастоль"] # 0x2e12 (en: 'hypodiastole', google translation)
- - "⸓": [t: "пунктирные обелос"] # 0x2e13 (en: 'dotted obelos', google translation)
- - "⸔": [t: "вниз анкоры"] # 0x2e14 (en: 'downwards ancora', google translation)
- - "⸕": [t: "вверх анкоры"] # 0x2e15 (en: 'upwards ancora', google translation)
- - "⸖": [t: "пунктирный угол правого направления"] # 0x2e16 (en: 'dotted right pointing angle', google translation)
- - "⸗": [t: "двойной косой дефис"] # 0x2e17 (en: 'double oblique hyphen', google translation)
- - "⸘": [t: "перевернутый межробанг"] # 0x2e18 (en: 'inverted interrobang', google translation)
- - "⸙": [t: "палмсб"] # 0x2e19 (en: 'palm branch', google translation)
- - "⸚": [t: "дефис с диарезом"] # 0x2e1a (en: 'hyphen with diaeresis', google translation)
- - "⸛": [t: "тильде с кольцом выше"] # 0x2e1b (en: 'tilde with ring above', google translation)
- - "⸜": [t: "оставил низкий перефразированный кронштейн"] # 0x2e1c (en: 'left low paraphrase bracket', google translation)
- - "⸝": [t: "правый низкий перефразированный кронштейн"] # 0x2e1d (en: 'right low paraphrase bracket', google translation)
- - "⸞": [t: "тильде с точкой выше"] # 0x2e1e (en: 'tilde with dot above', google translation)
- - "⸟": [t: "тильде с точкой ниже"] # 0x2e1f (en: 'tilde with dot below', google translation)
- - "⸠": [t: "левая вертикальная прунка с перо"] # 0x2e20 (en: 'left vertical bar with quill', google translation)
- - "⸡": [t: "правая вертикальная планка с перо"] # 0x2e21 (en: 'right vertical bar with quill', google translation)
- - "⸢": [t: "верх слева половина кронштейна"] # 0x2e22 (en: 'top left half bracket', google translation)
- - "⸣": [t: "верхний правый половина кронштейна"] # 0x2e23 (en: 'top right half bracket', google translation)
- - "⸤": [t: "внизу левой половины кронштейна"] # 0x2e24 (en: 'bottom left half bracket', google translation)
- - "⸥": [t: "внизу правой половины кронштейна"] # 0x2e25 (en: 'bottom right half bracket', google translation)
- - "⸦": [t: "слева в сторону u кронштейн"] # 0x2e26 (en: 'left sideways u bracket', google translation)
- - "⸧": [t: "прямо сбоку с кронштейном"] # 0x2e27 (en: 'right sideways u bracket', google translation)
- - "⸨": [t: "оставлены двойными скобками"] # 0x2e28 (en: 'left double parentheses', google translation)
- - "⸩": [t: "правая двойная скобка"] # 0x2e29 (en: 'right double parentheses', google translation)
- - "⸪": [t: "две точки за одну точечную пунктуацию"] # 0x2e2a (en: 'two dots over one dot punctuation', google translation)
- - "⸫": [t: "одна точка за две точки пунктуации"] # 0x2e2b (en: 'one dot over two dots punctuation', google translation)
- - "⸬": [t: "квадрат четыре точечных пунктуации"] # 0x2e2c (en: 'squared four dot punctuation', google translation)
- - "⸭": [t: "пять точечных знаков"] # 0x2e2d (en: 'five dot mark', google translation)
- - "⸮": [t: "обратный вопрос"] # 0x2e2e (en: 'reversed question mark', google translation)
- - "ⸯ": [t: "вертикальная тильда"] # 0x2e2f (en: 'vertical tilde', google translation)
- - "⸰": [t: "кольцевая точка"] # 0x2e30 (en: 'ring point', google translation)
- - "⸱": [t: "слово сепаратор средняя точка"] # 0x2e31 (en: 'word separator middle dot', google translation)
- - "⸲": [t: "повернулся запятой"] # 0x2e32 (en: 'turned comma', google translation)
- - "⸳": [t: "повышенная точка"] # 0x2e33 (en: 'raised dot', google translation)
- - "⸴": [t: "поднятый запятой"] # 0x2e34 (en: 'raised comma', google translation)
- - "⸵": [t: "стал полуколоном"] # 0x2e35 (en: 'turned semicolon', google translation)
- - "⸶": [t: "кинжал с левым охраной"] # 0x2e36 (en: 'dagger with left guard', google translation)
- - "⸷": [t: "кинжал с правой охраной"] # 0x2e37 (en: 'dagger with right guard', google translation)
- - "⸸": [t: "стал кинжалом"] # 0x2e38 (en: 'turned dagger', google translation)
- - "⸹": [t: "знак верхней половины секции"] # 0x2e39 (en: 'top half section sign', google translation)
- - "⸺": [t: "два дэш"] # 0x2e3a (en: 'two em dash', google translation)
- - "⸻": [t: "три дэш"] # 0x2e3b (en: 'three em dash', google translation)
- - "〃": [t: "то же самое"] # 0x3003 (en: 'ditto mark', google translation)
- - "〈": [t: "левый угловой кронштейн"] # 0x3008 (en: 'left angle bracket', google translation)
- - "〉": [t: "правый угловой кронштейн"] # 0x3009 (en: 'right angle bracket', google translation)
- - "《": [t: "левый двухугольный кронштейн"] # 0x300a (en: 'left double angle bracket', google translation)
- - "》": [t: "правый двойной угловой кронштейн"] # 0x300b (en: 'right double angle bracket', google translation)
- - "「": [t: "левый угловой кронштейн"] # 0x300c (en: 'left corner bracket', google translation)
- - "」": [t: "правый угловой кронштейн"] # 0x300d (en: 'right corner bracket', google translation)
- - "『": [t: "левый белый угловой кронштейн"] # 0x300e (en: 'left white corner bracket', google translation)
- - "』": [t: "правый белый угловой кронштейн"] # 0x300f (en: 'right white corner bracket', google translation)
- - "【": [t: "левый черный линзоулярный кронштейн"] # 0x3010 (en: 'left black lenticular bracket', google translation)
- - "】": [t: "правый черный линзоушковой кронштейн"] # 0x3011 (en: 'right black lenticular bracket', google translation)
- - "〔": [t: "левая кронштейн с черепахой"] # 0x3014 (en: 'left tortoise shell bracket', google translation)
- - "〕": [t: "правая черепаховая оболочка"] # 0x3015 (en: 'right tortoise shell bracket', google translation)
- - "〖": [t: "левый белый линзоушковый кронштейн"] # 0x3016 (en: 'left white lenticular bracket', google translation)
- - "〗": [t: "правый белый линзо -линзовый кронштейн"] # 0x3017 (en: 'right white lenticular bracket', google translation)
- - "〘": [t: "оставил белую черепаховую скорлупу"] # 0x3018 (en: 'left white tortoise shell bracket', google translation)
- - "〙": [t: "правый белый кронштейн с черепахой"] # 0x3019 (en: 'right white tortoise shell bracket', google translation)
- - "〚": [t: "левый белый квадратный кронштейн"] # 0x301a (en: 'left white square bracket', google translation)
- - "〛": [t: "правый белый квадратный кронштейн"] # 0x301b (en: 'right white square bracket', google translation)
- - "〜": [t: "волновая черта"] # 0x301c (en: 'wave dash', google translation)
- - "〰": [t: "wavy dash"] # 0x3030 (google translation)
- - "㉈": [t: "обернут номер десять на черном квадрате"] # 0x3248 (en: 'circled number ten on black square', google translation)
- - "㉉": [t: "обернут номер двадцать на черной площади"] # 0x3249 (en: 'circled number twenty on black square', google translation)
- - "㉊": [t: "обернут номер тридцать на черном квадрате"] # 0x324a (en: 'circled number thirty on black square', google translation)
- - "㉋": [t: "обернутое число сорок на черных площади"] # 0x324b (en: 'circled number forty on blacks square', google translation)
- - "㉌": [t: "обернут номер пятьдесят на черной площади"] # 0x324c (en: 'circled number fifty on black square', google translation)
- - "㉍": [t: "обернут номер шестьдесят на черной площади"] # 0x324d (en: 'circled number sixty on black square', google translation)
- - "㉎": [t: "кругет номер семьдесят на черной площади"] # 0x324e (en: 'circled number seventy on black square', google translation)
- - "㉏": [t: "обернутый номер на черном квадрате"] # 0x324f (en: 'circled number eighty on black square', google translation)
- - "㉑": [t: "обернут номер двадцать один"] # 0x3251 (en: 'circled number twenty one', google translation)
- - "㉒": [t: "кругл номер двадцать два"] # 0x3252 (en: 'circled number twenty two', google translation)
- - "㉓": [t: "кругл номер двадцать три"] # 0x3253 (en: 'circled number twenty three', google translation)
- - "㉔": [t: "кругл номер двадцать четыре"] # 0x3254 (en: 'circled number twenty four', google translation)
- - "㉕": [t: "обернут номер двадцать пять"] # 0x3255 (en: 'circled number twenty five', google translation)
- - "㉖": [t: "обернут номер двадцать шесть"] # 0x3256 (en: 'circled number twenty six', google translation)
- - "㉗": [t: "обернут номер двадцать семь"] # 0x3257 (en: 'circled number twenty seven', google translation)
- - "㉘": [t: "обернут номер двадцать в"] # 0x3258 (en: 'circled number twenty eight', google translation)
- - "㉙": [t: "обернуто номером двадцать девять"] # 0x3259 (en: 'circled number twenty nine', google translation)
- - "㉚": [t: "кружит номер тридцать"] # 0x325a (en: 'circled number thirty', google translation)
- - "㉛": [t: "кругл номер тридцать"] # 0x325b (en: 'circled number thirty one', google translation)
- - "㉜": [t: "кругет номер тридцать два"] # 0x325c (en: 'circled number thirty two', google translation)
- - "㉝": [t: "кругл номер тридцать три"] # 0x325d (en: 'circled number thirty three', google translation)
- - "㉞": [t: "кругл номер тридцать четыре"] # 0x325e (en: 'circled number thirty four', google translation)
- - "㉟": [t: "обернут номер тридцать пять"] # 0x325f (en: 'circled number thirty five', google translation)
- - "㊱": [t: "обернут номер тридцать шесть"] # 0x32b1 (en: 'circled number thirty six', google translation)
- - "㋌": [t: "меркурий"] # 0x32cc (en: 'mercury', google translation)
- - "㋍": [t: "ergs"] # 0x32cd (google translation)
- - "㋎": [t: "электронные вольт"] # 0x32ce (en: 'electron volts', google translation)
- - "㋏": [t: "знак с ограниченной ответственностью"] # 0x32cf (en: 'limited liability sign', google translation)
- - "㍱": [t: "гектопаскалы"] # 0x3371 (en: 'hectopascals', google translation)
- - "㍲": [t: "дальтон"] # 0x3372 (en: 'daltons', google translation)
- - "㍳": [t: "астрономические единицы"] # 0x3373 (en: 'astronomical units', google translation)
- - "㍴": [t: "батончики"] # 0x3374 (en: 'bars', google translation)
- - "㍵": [t: "o v"] # 0x3375 (google translation)
- - "㍶": [t: "парсек"] # 0x3376 (en: 'parsecs', google translation)
- - "㍷": [t: "дециметры"] # 0x3377 (en: 'decimeters', google translation)
- - "㍸": [t: "дециметры в квадрате"] # 0x3378 (en: 'decimeters squared', google translation)
- - "㍹": [t: "дециметры кубики"] # 0x3379 (en: 'decimeters cubed', google translation)
- - "㍺": [t: "инструментальные единицы"] # 0x337a (en: 'instrumental units', google translation)
- - "㎀": [t: "пикоэмпс"] # 0x3380 (en: 'picoamps', google translation)
- - "㎁": [t: "наноампы"] # 0x3381 (en: 'nanoamps', google translation)
- - "㎂": [t: "микроампы"] # 0x3382 (en: 'microamps', google translation)
- - "㎃": [t: "миллиамп"] # 0x3383 (en: 'milliamps', google translation)
- - "㎄": [t: "киломп"] # 0x3384 (en: 'kiloamps', google translation)
- - "㎅": [t: "килобиты"] # 0x3385 (en: 'kilobytes', google translation)
- - "㎆": [t: "мегабайты"] # 0x3386 (en: 'megabytes', google translation)
- - "㎇": [t: "гигабайты"] # 0x3387 (en: 'gigabytes', google translation)
- - "㎈": [t: "калории"] # 0x3388 (en: 'calories', google translation)
- - "㎉": [t: "килокалории"] # 0x3389 (en: 'kilocalories', google translation)
- - "㎊": [t: "пикофарадс"] # 0x338a (en: 'picofarads', google translation)
- - "㎋": [t: "нанофарады"] # 0x338b (en: 'nanofarads', google translation)
- - "㎌": [t: "микрофарады"] # 0x338c (en: 'microfarads', google translation)
- - "㎍": [t: "микрограммы"] # 0x338d (en: 'micrograms', google translation)
- - "㎎": [t: "миллиграммы"] # 0x338e (en: 'milligrams', google translation)
- - "㎏": [t: "килограммы"] # 0x338f (en: 'kilograms', google translation)
- - "㎐": [t: "герц"] # 0x3390 (en: 'hertz', google translation)
- - "㎑": [t: "килогерц"] # 0x3391 (en: 'kilohertz', google translation)
- - "㎒": [t: "мегахерц"] # 0x3392 (en: 'megahertz', google translation)
- - "㎓": [t: "гигагерц"] # 0x3393 (en: 'gigahertz', google translation)
- - "㎔": [t: "терагерц"] # 0x3394 (en: 'terahertz', google translation)
- - "㎕": [t: "микролитры"] # 0x3395 (en: 'microliters', google translation)
- - "㎖": [t: "миллилитры"] # 0x3396 (en: 'milliliters', google translation)
- - "㎗": [t: "децилиторы"] # 0x3397 (en: 'deciliters', google translation)
- - "㎘": [t: "килолитры"] # 0x3398 (en: 'kiloliters', google translation)
- - "㎙": [t: "фемтометры"] # 0x3399 (en: 'femtometers', google translation)
- - "㎚": [t: "нанометры"] # 0x339a (en: 'nanometers', google translation)
- - "㎛": [t: "микрометры"] # 0x339b (en: 'micrometers', google translation)
- - "㎜": [t: "миллиметры"] # 0x339c (en: 'millimeters', google translation)
- - "㎝": [t: "сантиметры"] # 0x339d (en: 'centimeters', google translation)
- - "㎞": [t: "километры"] # 0x339e (en: 'kilometers', google translation)
- - "㎟": [t: "миллиметры в квадрате"] # 0x339f (en: 'millimeters squared', google translation)
- - "㎠": [t: "самедимеры в квадрате"] # 0x33a0 (en: 'centimeters squared', google translation)
- - "㎡": [t: "метры квадрат"] # 0x33a1 (en: 'meters squared', google translation)
- - "㎢": [t: "километры в квадрате"] # 0x33a2 (en: 'kilometers squared', google translation)
- - "㎣": [t: "миллиметровые кубики"] # 0x33a3 (en: 'millimeters cubed', google translation)
- - "㎤": [t: "медингеры кубики"] # 0x33a4 (en: 'centimeters cubed', google translation)
- - "㎥": [t: "метры кубики"] # 0x33a5 (en: 'meters cubed', google translation)
- - "㎦": [t: "километры кубики"] # 0x33a6 (en: 'kilometers cubed', google translation)
- - "㎧": [t: "метры в секунду"] # 0x33a7 (en: 'meters per second', google translation)
- - "㎨": [t: "метры в секунду квадрат"] # 0x33a8 (en: 'meters per second squared', google translation)
- - "㎩": [t: "паскалы"] # 0x33a9 (en: 'pascals', google translation)
- - "㎪": [t: "килопаскалы"] # 0x33aa (en: 'kilopascals', google translation)
- - "㎫": [t: "мегапаскалы"] # 0x33ab (en: 'megapascals', google translation)
- - "㎬": [t: "гигаскаскалы"] # 0x33ac (en: 'gigapascals', google translation)
- - "㎭": [t: "рад"] # 0x33ad (en: 'rads', google translation)
- - "㎮": [t: "радс в секунду"] # 0x33ae (en: 'rads per second', google translation)
- - "㎯": [t: "радс в секунду квадрат"] # 0x33af (en: 'rads per second squared', google translation)
- - "㎰": [t: "пикосекунд"] # 0x33b0 (en: 'picoseconds', google translation)
- - "㎱": [t: "наносекунд"] # 0x33b1 (en: 'nanoseconds', google translation)
- - "㎲": [t: "микросекунд"] # 0x33b2 (en: 'microseconds', google translation)
- - "㎳": [t: "миллисекунды"] # 0x33b3 (en: 'milliseconds', google translation)
- - "㎴": [t: "пиковолтс"] # 0x33b4 (en: 'picovolts', google translation)
- - "㎵": [t: "нановолты"] # 0x33b5 (en: 'nanovolts', google translation)
- - "㎶": [t: "микроволты"] # 0x33b6 (en: 'microvolts', google translation)
- - "㎷": [t: "миливолты"] # 0x33b7 (en: 'millivolts', google translation)
- - "㎸": [t: "киловолты"] # 0x33b8 (en: 'kilovolts', google translation)
- - "㎹": [t: "мегаволты"] # 0x33b9 (en: 'megavolts', google translation)
- - "㎺": [t: "пикаттс"] # 0x33ba (en: 'picowatts', google translation)
- - "㎻": [t: "нановатты"] # 0x33bb (en: 'nanowatts', google translation)
- - "㎼": [t: "микроволты"] # 0x33bc (en: 'microwatts', google translation)
- - "㎽": [t: "милливаттс"] # 0x33bd (en: 'milliwatts', google translation)
- - "㎾": [t: "киловатт"] # 0x33be (en: 'kilowatts', google translation)
- - "㎿": [t: "мегаватт"] # 0x33bf (en: 'megawatts', google translation)
- - "㏀": [t: "кило-омс"] # 0x33c0 (en: 'kilo-ohms', google translation)
- - "㏁": [t: "megaohms"] # 0x33c1 (google translation)
- - "㏂": [t: "аттометры"] # 0x33c2 (en: 'attometers', google translation)
- - "㏃": [t: "беккерелс"] # 0x33c3 (en: 'becquerels', google translation)
- - "㏄": [t: "кубические сантиметра"] # 0x33c4 (en: 'cubic centimeters', google translation)
- - "㏅": [t: "канделас"] # 0x33c5 (en: 'candelas', google translation)
- - "㏆": [t: "кулоны на килограмм"] # 0x33c6 (en: 'coulombs per kilogram', google translation)
- - "㏇": [t: "верхний c, o, период"] # 0x33c7 (I have no idea what this is) (en: 'cap C, o, period', google translation)
- - "㏈": [t: "децибел"] # 0x33c8 (en: 'decibels', google translation)
- - "㏉": [t: "серые"] # 0x33c9 (en: 'grays', google translation)
- - "㏊": [t: "гектары"] # 0x33ca (en: 'hectares', google translation)
- - "㏋": [t: "лошадиная сила"] # 0x33cb (en: 'horsepower', google translation)
- - "㏌": [t: "дюймы"] # 0x33cc (en: 'inches', google translation)
- - "㏍": [t: "килокелвин"] # 0x33cd (en: 'kilokelvins', google translation)
- - "㏎": [t: "километры"] # 0x33ce (en: 'kilometers', google translation)
- - "㏏": [t: "узлы"] # 0x33cf (en: 'knots', google translation)
- - "㏐": [t: "люмены"] # 0x33d0 (en: 'lumens', google translation)
- - "㏑": [t: "натуральный журнал"] # 0x33d1 (en: 'natural log', google translation)
- - "㏒": [t: "логарифм"] # 0x33d2 (en: 'logarithm', google translation)
- - "㏓": [t: "люкс"] # 0x33d3 (en: 'lux', google translation)
- - "㏔": [t: "millibarns"] # 0x33d4 (google translation)
- - "㏕": [t: "мельницы"] # 0x33d5 (en: 'mills', google translation)
- - "㏖": [t: "родинки"] # 0x33d6 (en: 'moles', google translation)
- - "㏗": [t: "п"] # 0x33d7 (en: 'p h', google translation)
- - "㏘": [t: "пикометры"] # 0x33d8 (en: 'picometers', google translation)
- - "㏙": [t: "части на миллион"] # 0x33d9 (en: 'parts per million', google translation)
- - "㏚": [t: "петароентгены"] # 0x33da (en: 'petaroentgens', google translation)
- - "㏛": [t: "стерадцы"] # 0x33db (en: 'steradians', google translation)
- - "㏜": [t: "веса"] # 0x33dc (en: 'sieverts', google translation)
- - "㏝": [t: "веберс"] # 0x33dd (en: 'webers', google translation)
- - "㏞": [t: "вольт на метр"] # 0x33de (en: 'volts per meter', google translation)
- - "㏟": [t: "усилители на метр"] # 0x33df (en: 'amps per meter', google translation)
- - "㏿": [t: "галлоны"] # 0x33ff (en: 'gallons', google translation)
- - "": [t: "равна шляпе ниже"] # 0xe900 (en: 'equals with hat below', google translation)
- - "": [t: "равно с плюсом выше"] # 0xe901 (en: 'equals with plus above', google translation)
- - "": [t: "равно с плюсом ниже"] # 0xe902 (en: 'equals with plus below', google translation)
- - "": [t: "тильде с плюсом выше"] # 0xe903 (en: 'tilde with plus above', google translation)
- - "": [t: "тильде с плюсом ниже"] # 0xe904 (en: 'tilde with plus below', google translation)
- - "": [t: "равное вдвое больше, чем"] # 0xe908 (en: 'equal double over greater than', google translation)
- - "": [t: "равное вдвое больше, чем"] # 0xe909 (en: 'equal double over less than', google translation)
- - "": [t: "содержит или равен"] # 0xe90a (en: 'contains or equal to', google translation)
- - "": [t: "суперсет или равен"] # 0xe90b (en: 'superset of or equal to', google translation)
- - "": [t: "подмножество или равное"] # 0xe90c (en: 'subset of or equal to', google translation)
- - "": [t: "равное за меньшее, чем"] # 0xe90d (en: 'equal over less than', google translation)
- - "": [t: "элемент или равен"] # 0xe912 (en: 'element of or equal to', google translation)
- - "": [t: "равен или больше"] # 0xe913 (en: 'equal to or greater than', google translation)
- - "": [t: "приблизительный суперсет"] # 0xe914 (en: 'approximate superset of', google translation)
- - "": [t: "приблизительное подмножество"] # 0xe915 (en: 'approximate subset of', google translation)
- - "": [t: "superset of dot включает в себя как субосвязь"] # 0xe916 (en: 'superset of with dot includes as sub relation', google translation)
- - "": [t: "подмножество с точкой включено как суботенок"] # 0xe917 (en: 'subset of with dot is included in as sub relation', google translation)
- - "": [t: "равное с точкой ниже"] # 0xe918 (en: 'equal with dot below', google translation)
- - "": [t: "левая точка над минусом над правой точкой"] # 0xe919 (en: 'left dot over minus over right dot', google translation)
- - "": [t: "правая точка через минус над левой точкой"] # 0xe91a (en: 'right dot over minus over left dot', google translation)
- - "": [t: "почти равен минус"] # 0xe91f (en: 'almost equal to minus', google translation)
- - "": [t: "двойная квадратная чашка"] # 0xe920 (en: 'double square cup', google translation)
- - "": [t: "двойной квадратный верхний регистр"] # 0xe921 (en: 'double square cap', google translation)
- - "": [t: "менее чем равен или больше"] # 0xe922 (en: 'less than equal to or greater than', google translation)
- - "": [t: "тильде с точкой"] # 0xe924 (en: 'tilde with dot', google translation)
- - "": [t: "тильде с двумя точками"] # 0xe925 (en: 'tilde with two dots', google translation)
- - "": [t: "меньше, чем больше или равно"] # 0xe926 (en: 'less than greater than or equal to', google translation)
- - "": [t: "больше, чем меньше или равно"] # 0xe927 (en: 'greater than less than or equal to', google translation)
- - "": [t: "эквивалентно или меньше"] # 0xe928 (en: 'equivalent to or less than', google translation)
- - "": [t: "эквивалентно или больше"] # 0xe929 (en: 'equivalent to or greater than', google translation)
- - "": [t: "оставленный оператор открытой коробки"] # 0xe92a (en: 'left open box operator', google translation)
- - "": [t: "правый оператор открытой коробки"] # 0xe92b (en: 'right open box operator', google translation)
- - "": [t: "идентично с точкой"] # 0xe92c (en: 'identical to with dot', google translation)
- - "": [t: "больше, чем равен или меньше"] # 0xe92d (en: 'greater than equal to or less than', google translation)
- - "": [t: "оператор бара"] # 0xe92e (en: 'bar operator', google translation)
- - "": [t: "оператор двойного бара"] # 0xe92f (en: 'double bar operator', google translation)
- - "": [t: "оператор triple bar"] # 0xe930 (en: 'triple bar operator', google translation)
- - "": [t: "меньше или приблизительно равен"] # 0xe932 (en: 'less than or approximately equal to', google translation)
- - "": [t: "больше или приблизительно равен"] # 0xe933 (en: 'greater than or approximately equal to', google translation)
- - "": [t: "вкладывается меньше, чем"] # 0xe936 (en: 'nested less than', google translation)
- - "": [t: "вложенные больше, чем"] # 0xe937 (en: 'nested greater than', google translation)
- - "": [t: "предшествует или эквивалентно"] # 0xe93a (en: 'precedes or equivalent to', google translation)
- - "": [t: "добивается успеха или эквивалентно"] # 0xe93b (en: 'succeeds or equivalent to', google translation)
- - "": [t: "предшествует равным"] # 0xe940 (en: 'precedes over equal', google translation)
- - "": [t: "преуспевает в равных"] # 0xe941 (en: 'succeeds over equal', google translation)
- - "": [t: "менее равное наклонное больше"] # 0xe942 (en: 'less equal slanted greater', google translation)
- - "": [t: "больше равных наклонных меньше"] # 0xe943 (en: 'greater equal slanted less', google translation)
- - "": [t: "удовлетворен"] # 0xe948 (en: 'satisfied by', google translation)
- - "": [t: "ленивый с"] # 0xe949 (en: 'lazy s', google translation)
- - "": [t: "не утверждение"] # 0xe94a (en: 'not assertion', google translation)
- - "": [t: "двойной равный"] # 0xe94b (en: 'double equal', google translation)
- - "": [t: "тройной равный"] # 0xe94c (en: 'triple equal', google translation)
- - "": [t: "правило задержано"] # 0xe94d (en: 'rule delayed', google translation)
- - "": [t: "псевдоним разделитель"] # 0xe94e (en: 'alias delimiter', google translation)
- - "": [t: "нормальная подгруппа с баром"] # 0xe950 (en: 'normal subgroup of with bar', google translation)
- - "": [t: "содержит как обычную подгруппу с стержнем"] # 0xe951 (en: 'contains as normal subgroup with bar', google translation)
- - "": [t: "раунд подразумевает"] # 0xe954 (en: 'round implies', google translation)
- - "": [t: "улыбка под баром"] # 0xe955 (en: 'smile under bar', google translation)
- - "": [t: "нахмуриться над баром"] # 0xe956 (en: 'frown over bar', google translation)
- - "": [t: "суперсет или почти равен"] # 0xe957 (en: 'superset of or almost equal to', google translation)
- - "": [t: "подмножество или почти равен"] # 0xe958 (en: 'subset of or almost equal to', google translation)
- - "": [t: "больше, чем почти равен или меньше"] # 0xe959 (en: 'greater than almost equal to or less than', google translation)
- - "": [t: "меньше, чем почти равное или больше, чем"] # 0xe95a (en: 'less than almost equal or greater than', google translation)
- - "": [t: "двойной логический или"] # 0xe95c (en: 'double logical or', google translation)
- - "": [t: "двойной логический и"] # 0xe95d (en: 'double logical and', google translation)
- - "": [t: "логично или с двойной полосой ниже"] # 0xe95e (en: 'logical or with double bar below', google translation)
- - "": [t: "логично или с стержней ниже"] # 0xe95f (en: 'logical or with bar below', google translation)
- - "": [t: "почти равны по сравнению с равными"] # 0xe962 (en: 'almost equal over equal', google translation)
- - "": [t: "левый указательный треугольник с пополам"] # 0xe964 (en: 'left pointing triangle with bisecting bar', google translation)
- - "": [t: "право указывает треугольник с пополам"] # 0xe965 (en: 'right pointing triangle with bisecting bar', google translation)
- - "": [t: "равно с пунктирной верхней линией"] # 0xe966 (en: 'equals with dotted top line', google translation)
- - "": [t: "предшествует толстой кишке"] # 0xe967 (en: 'precedes with colon', google translation)
- - "": [t: "преуспевает с толстой кишкой"] # 0xe968 (en: 'succeeds with colon', google translation)
- - "": [t: "меньше или равного наклонного"] # 0xe969 (en: 'smaller than or equal slanted', google translation)
- - "": [t: "больше или равных наклонных"] # 0xe96a (en: 'larger than or equal slanted', google translation)
- - "": [t: "вложено намного меньше, чем"] # 0xe96b (en: 'nested very much less than', google translation)
- - "": [t: "вложено намного больше, чем"] # 0xe96c (en: 'nested very much greater than', google translation)
- - "": [t: "разница между вариантом"] # 0xe96d (en: 'difference between variant', google translation)
- - "": [t: "меньше, чем больше наложения"] # 0xe96e (en: 'less than greater than overlay', google translation)
- - "": [t: "логичный или логичный и наложенный"] # 0xe96f (en: 'logical or logical and overlay', google translation)
- - "": [t: "суперсет над суперсет"] # 0xe970 (en: 'superset over superset', google translation)
- - "": [t: "подмножество над подмножества"] # 0xe971 (en: 'subset over subset', google translation)
- - "": [t: "суперсет над подмножества"] # 0xe972 (en: 'superset over subset', google translation)
- - "": [t: "подмножество над суперсет"] # 0xe973 (en: 'subset over superset', google translation)
- - "": [t: "тройной вертикальный бар"] # 0xe979 (en: 'triple vertical bar', google translation)
- - "": [t: "парные четырехкратные вертикальные точки"] # 0xe97a (en: 'paired quadruple vertical dots', google translation)
- - "": [t: "перпендикулярно над стержней"] # 0xe97b (en: 'perpendicular over bar', google translation)
- - "": [t: "левый турничный перевозка двойной вертикальной прунки"] # 0xe97c (en: 'left turnstile double vertical bar', google translation)
- - "": [t: "двойной левый турничный перевозка двойной вертикальный бар"] # 0xe97d (en: 'double left turnstile double vertical bar', google translation)
- - "": [t: "перпендикулярно перевернутую перпендикулярную"] # 0xe97e (en: 'perpendicular over inverted perpendicular', google translation)
- - "": [t: "двойной левый вертикальный стержень"] # 0xe97f (en: 'double left turnstile vertical bar', google translation)
- - "": [t: "сферический угол открывается"] # 0xe980 (en: 'spherical angle opening up', google translation)
- - "": [t: "двойная черта"] # 0xe981 (en: 'double slash', google translation)
- - "": [t: "правильный конг с угрым"] # 0xe982 (en: 'right angle with corner', google translation)
- - "": [t: "обведенный вертикальным баром"] # 0xe984 (en: 'circled vertical bar', google translation)
- - "": [t: "знак окружающего дивизиона"] # 0xe985 (en: 'circled division sign', google translation)
- - "": [t: "пунктирный солидус"] # 0xe986 (en: 'dashed solidus', google translation)
- - "": [t: "разбитая обратная черта"] # 0xe987 (en: 'dashed backslash', google translation)
- - "": [t: "пунктирная средняя линия"] # 0xe988 (en: 'dashed mid line', google translation)
- - "": [t: "пунктирная вертикальная бар"] # 0xe989 (en: 'dashed vertical bar', google translation)
- - "": [t: "перпендикуляр с с"] # 0xe98a (en: 'perpendicular with s', google translation)
- - "": [t: "угол с с"] # 0xe98b (en: 'angle with s', google translation)
- - "": [t: "сферический угол открывается слева"] # 0xe98c (en: 'spherical angle opening left', google translation)
- - "": [t: "угол открывается слева"] # 0xe98d (en: 'angle opening left', google translation)
- - "": [t: "вертикальная планка с двойным крючком"] # 0xe98e (en: 'vertical bar with double hook', google translation)
- - "": [t: "средний точечный оператор свободный радикал"] # 0xe98f (en: 'medium dot operator free radical', google translation)
- - "": [t: "белый, укажите треугольник над стержней"] # 0xe990 (en: 'white up pointing triangle above bar', google translation)
- - "": [t: "идентично и параллельно"] # 0xe991 (en: 'identical and parallel to', google translation)
- - "": [t: "разбить продукт"] # 0xe992 (en: 'smash product', google translation)
- - "": [t: "оператор с тройным бар с горизонтальным баром"] # 0xe993 (en: 'triple bar operator with horizontal bar', google translation)
- - "": [t: "идентично с двойной чертой"] # 0xe994 (en: 'identical to with double slash', google translation)
- - "": [t: "тройные скрещенные бары"] # 0xe995 (en: 'triple crossed bars', google translation)
- - "": [t: "вертикальная планка над кругом"] # 0xe996 (en: 'vertical bar over circle', google translation)
- - "": [t: "вертикальный пропорциональный"] # 0xe997 (en: 'vertical proportional to', google translation)
- - "": [t: "черная последняя четверть луна"] # 0xe998 (en: 'black last quarter moon', google translation)
- - "": [t: "черная первая четверть луна"] # 0xe999 (en: 'black first quarter moon', google translation)
- - "": [t: "отрицательная синусоидальная волна"] # 0xe9a0 (en: 'negative sine wave', google translation)
- - "": [t: "клаженные скобки"] # 0xe9a1 (en: 'parenthesized dot', google translation)
- - "": [t: "скол"] # 0xe9a2 (en: 'parens', google translation)
- - "": [t: "белая улыбка"] # 0xe9a3 (en: 'white smile', google translation)
- - "": [t: "белый хмурый взгляд"] # 0xe9a4 (en: 'white frown', google translation)
- - "": [t: "шестигранник"] # 0xe9a5 (en: 'hexagon', google translation)
- - "": [t: "эквивалентно более плюс"] # 0xe9a6 (en: 'equivalent to over plus', google translation)
- - "": [t: "плюс, эквивалентный"] # 0xe9a7 (en: 'plus over equivalent to', google translation)
- - "": [t: "перекрестные засечки"] # 0xe9b0 (en: 'intersection serifs', google translation)
- - "": [t: "союз serifs"] # 0xe9b1 (en: 'union serifs', google translation)
- - "": [t: "квадратный перекресток засечений"] # 0xe9b2 (en: 'square intersection serifs', google translation)
- - "": [t: "square union serifs"] # 0xe9b3 (google translation)
- - "": [t: "предшествует эквивалентному или успешному"] # 0xe9e0 (en: 'precedes equivalent to or succeeds', google translation)
- - "": [t: "успешно эквивалентно или предшествует"] # 0xe9e1 (en: 'succeeds equivalent to or precedes', google translation)
- - "": [t: "предшествует почти равен или добивается успеха"] # 0xe9e2 (en: 'precedes almost equal to or succeeds', google translation)
- - "": [t: "успешно практически равен или предшествует"] # 0xe9e3 (en: 'succeeds almost equal to or precedes', google translation)
- - "": [t: "менее чем эквивалентно или больше"] # 0xe9f0 (en: 'less than equivalent to or greater than', google translation)
- - "": [t: "больше, чем эквивалентно или меньше"] # 0xe9f1 (en: 'greater than equivalent to or less than', google translation)
- - "": [t: "не гораздо меньше, чем"] # 0xea00 (en: 'not vert much less than', google translation)
- - "": [t: "не гораздо больше, чем"] # 0xea01 (en: 'not vert much greater than', google translation)
- - "": [t: "не намного меньше варианта"] # 0xea02 (en: 'not much less than variant', google translation)
- - "": [t: "не намного больше, чем вариант"] # 0xea03 (en: 'not much greater than variant', google translation)
- - "": [t: "меньше верного не вдвое равно"] # 0xea04 (en: 'less vert not double equals', google translation)
- - "": [t: "gt vert не двойной равен"] # 0xea05 (en: 'gt vert not double equals', google translation)
- - "": [t: "не меньше или равны"] # 0xea06 (en: 'not less than or equal to', google translation)
- - "": [t: "не больше или равен"] # 0xea07 (en: 'not greater than or equal to', google translation)
- - "": [t: "ни равняется и не меньше, чем"] # 0xea09 (en: 'neither equal to nor less than', google translation)
- - "": [t: "не содержит или не равен"] # 0xea0a (en: 'does not contain or equal to', google translation)
- - "": [t: "ни суперсет, ни равен"] # 0xea0b (en: 'neither superset of nor equal to', google translation)
- - "": [t: "ни подмножество и не равное"] # 0xea0c (en: 'neither subset of nor equal to', google translation)
- - "": [t: "обратный solidus submet"] # 0xea0d (en: 'reverse solidus subset', google translation)
- - "": [t: "ни равняется и не больше"] # 0xea0e (en: 'neither equal to nor greater than', google translation)
- - "": [t: "не минус оператор тильды"] # 0xea0f (en: 'not minus tilde operator', google translation)
- - "": [t: "ни равняется и не меньше, чем"] # 0xea10 (en: 'neither equal to nor less than', google translation)
- - "": [t: "не оператор тильды"] # 0xea11 (en: 'not tilde operator', google translation)
- - "": [t: "не элемент или равен"] # 0xea12 (en: 'not element of or equal to', google translation)
- - "": [t: "ни равняется и не больше"] # 0xea13 (en: 'neither equal to nor greater than', google translation)
- - "": [t: "не почти равен"] # 0xea14 (en: 'not almost equal', google translation)
- - "": [t: "не удается аналогично"] # 0xea15 (en: 'not succeeds similar', google translation)
- - "": [t: "меньше, чем или наклонен, равный с чертой"] # 0xea16 (en: 'less than or slanted equal to with slash', google translation)
- - "": [t: "больше, чем или наклонен, равный с чертой"] # 0xea17 (en: 'greater than or slanted equal to with slash', google translation)
- - "": [t: "superset solidus"] # 0xea1a (google translation)
- - "": [t: "не содержит"] # 0xea1b (en: 'does not contain', google translation)
- - "": [t: "не меньше или равны"] # 0xea1d (en: 'not less than or equal to', google translation)
- - "": [t: "не больше или равен"] # 0xea1e (en: 'not greater than or equal to', google translation)
- - "": [t: "не почти равен минус"] # 0xea1f (en: 'not almost equal to minus', google translation)
- - "": [t: "отрицание установки членства dot выше"] # 0xea22 (en: 'negated set membership dot above', google translation)
- - "": [t: "не угол верта"] # 0xea2c (en: 'not vert angle', google translation)
- - "": [t: "не параллельно наклонен"] # 0xea2d (en: 'not parallel slanted', google translation)
- - "": [t: "не оператор бара"] # 0xea2e (en: 'not bar operator', google translation)
- - "": [t: "не двойной оператор"] # 0xea2f (en: 'not double bar operator', google translation)
- - "": [t: "не оператор тройного бар"] # 0xea30 (en: 'not triple bar operator', google translation)
- - "": [t: "меньше, но не приблизительно равен"] # 0xea32 (en: 'less than but not approximately equal to', google translation)
- - "": [t: "больше, чем, но не приблизительно равен"] # 0xea33 (en: 'greater than but not approximately equal to', google translation)
- - "": [t: "меньше, чем или нет"] # 0xea34 (en: 'less than or not equal to', google translation)
- - "": [t: "больше или нет"] # 0xea35 (en: 'greater than or not equal to', google translation)
- - "": [t: "не вложено меньше, чем"] # 0xea36 (en: 'not nested less than', google translation)
- - "": [t: "не вложено больше, чем"] # 0xea37 (en: 'not nested greater than', google translation)
- - "": [t: "не намного меньше"] # 0xea38 (en: 'not much less than', google translation)
- - "": [t: "не намного больше, чем"] # 0xea39 (en: 'not much greater than', google translation)
- - "": [t: "предшествует, но не эквивалентно"] # 0xea3a (en: 'precedes but not equivalent to', google translation)
- - "": [t: "успешно, но не эквивалентно"] # 0xea3b (en: 'succeeds but not equivalent to', google translation)
- - "": [t: "предшествует, но не равен"] # 0xea3c (en: 'precedes but not equal to', google translation)
- - "": [t: "добивается успеха, но не равен"] # 0xea3d (en: 'succeeds but not equal to', google translation)
- - "": [t: "не равняется и не предшествует"] # 0xea3e (en: 'does not equal or precede', google translation)
- - "": [t: "не равняется и не преуспевает"] # 0xea3f (en: 'does not equal or succeed', google translation)
- - "": [t: "предшествует, но не равен"] # 0xea40 (en: 'precedes but not equal to', google translation)
- - "": [t: "добивается успеха, но не равен"] # 0xea41 (en: 'succeeds but not equal to', google translation)
- - "": [t: "не подмножество и не равен"] # 0xea42 (en: 'not subset of nor equal to', google translation)
- - "": [t: "не суперсет и не равен"] # 0xea43 (en: 'not superset of nor equal to', google translation)
- - "": [t: "подмножество или не равен"] # 0xea44 (en: 'subset of or not equal to', google translation)
- - "": [t: "суперсет или не равен"] # 0xea45 (en: 'superset of or not equal to', google translation)
- - "": [t: "не подмножество и не равен"] # 0xea46 (en: 'not subset of nor equal to', google translation)
- - "": [t: "не суперсет и не равен"] # 0xea47 (en: 'not superset of nor equal to', google translation)
- - "": [t: "не тройной меньше, чем"] # 0xea48 (en: 'not triple less than', google translation)
- - "": [t: "не тройной больше, чем"] # 0xea49 (en: 'not triple greater than', google translation)
- - "": [t: "не предшествует"] # 0xea4c (en: 'not precedes equals', google translation)
- - "": [t: "не удастся"] # 0xea4d (en: 'not succeeds equals', google translation)
- - "": [t: "не нормальная подгруппа с баром"] # 0xea50 (en: 'not normal subgroup of with bar', google translation)
- - "": [t: "не содержит как обычную подгруппу с стержнем"] # 0xea51 (en: 'does not contain as normal subgroup with bar', google translation)
- - "": [t: "не разница между"] # 0xea52 (en: 'not difference between', google translation)
- - "": [t: "не геометрически эквивалент"] # 0xea53 (en: 'not geometrically equivalent to', google translation)
- - "": [t: "не так же"] # 0xea54 (en: 'not vert similar', google translation)
- - "": [t: "не равен или похож"] # 0xea55 (en: 'not equal or similar', google translation)
- - "": [t: "не vert приблизительно"] # 0xea56 (en: 'not vert approximate', google translation)
- - "": [t: "не приблизительно идентично"] # 0xea57 (en: 'not approximately identical to', google translation)
- - "": [t: "не ухабистый"] # 0xea58 (en: 'not bumpy equals', google translation)
- - "": [t: "не ухабистый сингл равна"] # 0xea59 (en: 'not bumpy single equals', google translation)
- - "": [t: "не равна точке"] # 0xea5a (en: 'not equal dot', google translation)
- - "": [t: "обратный не эквивалентный"] # 0xea5b (en: 'reverse not equivalent', google translation)
- - "": [t: "не квадратный подмножество"] # 0xea60 (en: 'not square subset', google translation)
- - "": [t: "не квадратный суперсет"] # 0xea61 (en: 'not square superset', google translation)
- - "": [t: "не почти равен по сравнению с равными"] # 0xea62 (en: 'not almost equal over equal', google translation)
- - "": [t: "не строго эквивалентно"] # 0xea63 (en: 'not strictly equivalent to', google translation)
- - "": [t: "не конгруэнтная точка"] # 0xea64 (en: 'not congruent dot', google translation)
- - "": [t: "обратный не равен"] # 0xea65 (en: 'reverse not equal', google translation)
- - "": [t: "не верно левый треугольник равен"] # 0xea70 (en: 'not vert left triangle equals', google translation)
- - "": [t: "не верный правый треугольник равна"] # 0xea71 (en: 'not vert right triangle equals', google translation)
- - "": [t: "не частично"] # 0xea80 (en: 'not partial', google translation)
- - "": [t: "стрелка украшивание"] # 0xeb00 (en: 'arrow embellishment extender', google translation)
- - "": [t: "стрелка направо над стрелкой влево"] # 0xeb01 (en: 'arrow rightwards over arrow leftwards', google translation)
- - "": [t: "стрелка направо над стрелкой влево"] # 0xeb02 (en: 'arrow rightwards over arrow leftwards', google translation)
- - "": [t: "гарпун прямо над гарпуном слева"] # 0xeb03 (en: 'harpoon right over harpoon left', google translation)
- - "": [t: "гарпун прямо над гарпуном слева"] # 0xeb04 (en: 'harpoon right over harpoon left', google translation)
- - "": [t: "двойная стрелка на северо -востоке юго -запада"] # 0xeb05 (en: 'double arrow northeast southwest', google translation)
- - "": [t: "двойная стрелка на северо -западе юго -востока"] # 0xeb06 (en: 'double arrow northwest southeast', google translation)
- - "": [t: "горизонтальный удлинитель гарпуна"] # 0xeb07 (en: 'horizontal harpoon extender', google translation)
- - "": [t: "ангарная часовая дуга слева стрелка"] # 0xeb08 (en: 'anticlockwise arc leftwards arrow', google translation)
- - "": [t: "ангарная часовая дуга вправо стрел"] # 0xeb09 (en: 'anticlockwise arc rightwards arrow', google translation)
- - "": [t: "большой справа акцент стрелы"] # 0xeb0b (en: 'large rightwards arrow accent', google translation)
- - "": [t: "большой левый акцент стрелы"] # 0xeb0c (en: 'large leftwards arrow accent', google translation)
- - "": [t: "слева стрела"] # 0xeb0d (en: 'leftwards arrowhead', google translation)
- - "": [t: "право среда"] # 0xeb0e (en: 'rightwards arrowhead', google translation)
- - "": [t: "большая левая стрелка справа с ходом"] # 0xeb0f (en: 'large left right arrow with stroke', google translation)
- - "": [t: "горизонтальный удлинитель двойной стрелки"] # 0xeb10 (en: 'horizontal double arrow extender', google translation)
- - "": [t: "большая левая правая двойная стрелка с ходом"] # 0xeb11 (en: 'large left right double arrow with stroke', google translation)
- - "": [t: "вниз стрелка слева от стрелы вверх"] # 0xeb12 (en: 'downwards arrow leftwards of upwards arrow', google translation)
- - "": [t: "стрелка влево с углом вниз"] # 0xeb13 (en: 'leftwards arrow with corner downwards', google translation)
- - "": [t: "стрелка вправо с углом вверх"] # 0xeb14 (en: 'rightwards arrow with corner upwards', google translation)
- - "": [t: "стрелка влево с углом вверх"] # 0xeb15 (en: 'leftwards arrow with corner upwards', google translation)
- - "": [t: "верхняя стрелка в верхней части часовой стрелки с плюсом"] # 0xeb16 (en: 'anticlockwise top semicircle arrow with plus', google translation)
- - "": [t: "верхняя стрелка по часовой стрелке с минус"] # 0xeb17 (en: 'clockwise top semicircle arrow with minus', google translation)
- - "": [t: "стрелка вправо с хвостом с ходом"] # 0xeb18 (en: 'rightwards arrow with tail with stroke', google translation)
- - "": [t: "правый гарпун вниз"] # 0xeb19 (en: 'right harpoon down', google translation)
- - "": [t: "оставил гарпун вниз"] # 0xeb1a (en: 'left harpoon down', google translation)
- - "": [t: "левый правый гарпун вниз"] # 0xeb1b (en: 'left right harpoon down', google translation)
- - "": [t: "левый правый гарпун вверх"] # 0xeb1c (en: 'left right harpoon up', google translation)
- - "": [t: "вниз по гарпуне ушел"] # 0xeb1d (en: 'up down harpoon left', google translation)
- - "": [t: "вверх по гарпуне справа"] # 0xeb1e (en: 'up down harpoon right', google translation)
- - "": [t: "стрелка вверх справа от стрелы вниз"] # 0xeb1f (en: 'upwards arrow to the right of downwards arrow', google translation)
- - "": [t: "слева гарпун, чтобы бар с барб вверх"] # 0xeb20 (en: 'leftwards harpoon to bar with barb upwards', google translation)
- - "": [t: "прямо гарпун, чтобы бар с барб вверх"] # 0xeb21 (en: 'rightwards harpoon to bar with barb upwards', google translation)
- - "": [t: "левый гарпун, чтобы бар с барб вниз"] # 0xeb22 (en: 'leftwards harpoon to bar with barb downwards', google translation)
- - "": [t: "прямо гарпун, чтобы бар с барб вниз"] # 0xeb23 (en: 'rightwards harpoon to bar with barb downwards', google translation)
- - "": [t: "левый гарпун из бара с барб вверх"] # 0xeb24 (en: 'leftwards harpoon from bar with barb upwards', google translation)
- - "": [t: "прямо гарпун из бара с барб вверх"] # 0xeb25 (en: 'rightwards harpoon from bar with barb upwards', google translation)
- - "": [t: "левый гарпун из бара с барб вниз"] # 0xeb26 (en: 'leftwards harpoon from bar with barb downwards', google translation)
- - "": [t: "прямо гарпун из бара с барб вниз"] # 0xeb27 (en: 'rightwards harpoon from bar with barb downwards', google translation)
- - "": [t: "вверх гарпун, чтобы бар с барком слева"] # 0xeb28 (en: 'upwards harpoon to bar with barb leftwards', google translation)
- - "": [t: "вниз по гарпуне, чтобы бар с барб налево"] # 0xeb29 (en: 'downwards harpoon to bar with barb leftwards', google translation)
- - "": [t: "вверх гарпун, чтобы бар с барб вправо"] # 0xeb2a (en: 'upwards harpoon to bar with barb rightwards', google translation)
- - "": [t: "вниз по гарпуне, чтобы бар с барб вправо"] # 0xeb2b (en: 'downwards harpoon to bar with barb rightwards', google translation)
- - "": [t: "вверх гарпун из бара с барб слева"] # 0xeb2c (en: 'upwards harpoon from bar with barb leftwards', google translation)
- - "": [t: "вниз по гарпуне из бара с барб слева"] # 0xeb2d (en: 'downwards harpoon from bar with barb leftwards', google translation)
- - "": [t: "вверх гарпун из бара с барб справа"] # 0xeb2e (en: 'upwards harpoon from bar with barb rightwards', google translation)
- - "": [t: "вниз по гарпуне из бара с барб прямо на это"] # 0xeb2f (en: 'downwards harpoon from bar with barb rightwards', google translation)
- - "": [t: "вверх стрелой в бар"] # 0xeb30 (en: 'upwards arrow to bar', google translation)
- - "": [t: "вниз стрелы в бар"] # 0xeb31 (en: 'downwards arrow to bar', google translation)
- - "": [t: "вверх гарпун слева от гарпуна вниз"] # 0xeb32 (en: 'upwards harpoon to the left of downwards harpoon', google translation)
- - "": [t: "вверх гарпун справа от вниз гарпун"] # 0xeb33 (en: 'upwards harpoon to the right of downwards harpoon', google translation)
- - "": [t: "вверх стрелка"] # 0xeb34 (en: 'upwards arrowhead', google translation)
- - "": [t: "вниз стрелка"] # 0xeb35 (en: 'downwards arrowhead', google translation)
- - "": [t: "двойной гарпун с левой барб вниз вправо"] # 0xeb36 (en: 'double harpoon with leftwards barb down rightwards barb up', google translation)
- - "": [t: "двойной гарпун с левой барб вверх вправо барб вниз"] # 0xeb37 (en: 'double harpoon with leftwards barb up rightwards barb down', google translation)
- - "": [t: "стрелка влево над баром"] # 0xeb38 (en: 'leftwards arrow over bar', google translation)
- - "": [t: "права стрелка над баром"] # 0xeb39 (en: 'rightwards arrow over bar', google translation)
- - "": [t: "стрелка влево под баром"] # 0xeb3a (en: 'leftwards arrow under bar', google translation)
- - "": [t: "стрелка вправо под баром"] # 0xeb3b (en: 'rightwards arrow under bar', google translation)
- - "": [t: "левая правая тройная стрелка"] # 0xeb3c (en: 'left right triple arrow', google translation)
- - "": [t: "двойная стрелка на северо -востоке юго -востока"] # 0xeb3f (en: 'double arrow northeast southeast', google translation)
- - "": [t: "антикомальная часовая стрелка слева"] # 0xeb40 (en: 'anticlockwise left semicircle arrow', google translation)
- - "": [t: "по часовой стрелке левая стрелка полукруга"] # 0xeb41 (en: 'clockwise left semicircle arrow', google translation)
- - "": [t: "левый открытый круг левый правый стрелка"] # 0xeb42 (en: 'left open circle left right arrow', google translation)
- - "": [t: "право стрелы над тильдой"] # 0xeb44 (en: 'rightwards arrow over tilde', google translation)
- - "": [t: "стрелка слева над тильдой"] # 0xeb45 (en: 'leftwards arrow over tilde', google translation)
- - "": [t: "слева гарпун над баром"] # 0xeb48 (en: 'leftwards harpoon over bar', google translation)
- - "": [t: "прямо гарпун над баром"] # 0xeb49 (en: 'rightwards harpoon over bar', google translation)
- - "": [t: "левый гарпун под баром"] # 0xeb4a (en: 'leftwards harpoon under bar', google translation)
- - "": [t: "прямо гарпун под баром"] # 0xeb4b (en: 'rightwards harpoon under bar', google translation)
- - "": [t: "приседание чернокожие левые стрелы"] # 0xeb4c (en: 'squat black leftwards arrow', google translation)
- - "": [t: "по часовой стрелке правая стрелка полукруга"] # 0xeb50 (en: 'clockwise right semicircle arrow', google translation)
- - "": [t: "антиковая стрелка правой полукруги"] # 0xeb51 (en: 'anticlockwise right semicircle arrow', google translation)
- - "": [t: "левый открытый круг влево правый гарпун"] # 0xeb52 (en: 'left open circle left right harpoon', google translation)
- - "": [t: "вверх стрелка слева от вертикального бара"] # 0xeb58 (en: 'upwards arrow leftwards of vertical bar', google translation)
- - "": [t: "вниз стрелка слева от вертикального бара"] # 0xeb59 (en: 'downwards arrow leftwards of vertical bar', google translation)
- - "": [t: "вверх стрелка вправо от вертикального бара"] # 0xeb5a (en: 'upwards arrow rightwards of vertical bar', google translation)
- - "": [t: "стрелка вниз вправо от вертикального бара"] # 0xeb5b (en: 'downwards arrow rightwards of vertical bar', google translation)
- - "": [t: "стрелка вправо с расширенным крюком вниз"] # 0xeb5c (en: 'rightwards arrow with extended downwards hook', google translation)
- - "": [t: "стрелка влево с расширенным крючком"] # 0xeb5d (en: 'leftwards arrow with extended hook', google translation)
- - "": [t: "стрелка влево с протяженным крюком вниз"] # 0xeb5e (en: 'leftwards arrow with extended downwards hook', google translation)
- - "": [t: "стрелка вправо с расширенным крючком"] # 0xeb5f (en: 'rightwards arrow with extended hook', google translation)
- - "": [t: "не правая стрелка волнистая"] # 0xeb60 (en: 'not right arrow wavy', google translation)
- - "": [t: "не правая стрелка изогнута"] # 0xeb61 (en: 'not right arrow curved', google translation)
- - "": [t: "вверх гарпун слева от вертикального бара"] # 0xeb68 (en: 'upwards harpoon leftwards of vertical bar', google translation)
- - "": [t: "вниз по гарпуне слева от вертикального бара"] # 0xeb69 (en: 'downwards harpoon leftwards of vertical bar', google translation)
- - "": [t: "вверх гарпун прямо наоборот вертикального бара"] # 0xeb6a (en: 'upwards harpoon rightwards of vertical bar', google translation)
- - "": [t: "вниз по гарпуне прямо с вертикальным баром"] # 0xeb6b (en: 'downwards harpoon rightwards of vertical bar', google translation)
- - "": [t: "вертикальная двойная стрелка"] # 0xeb6c (en: 'vertical double arrow extender', google translation)
- - "": [t: "вертикальный гарпун с левым удлинителем"] # 0xeb6d (en: 'vertical harpoon with barb left extender', google translation)
- - "": [t: "вертикальный гарпун с правым удлинителем барб"] # 0xeb6e (en: 'vertical harpoon with barb right extender', google translation)
- - "": [t: "правый гарпун над левым гарпуном вправо"] # 0xeb6f (en: 'right harpoon over left harpoon right', google translation)
- - "": [t: "правый гарпун над левым гарпуном слева"] # 0xeb70 (en: 'right harpoon over left harpoon left', google translation)
- - "": [t: "левый гарпун над правым гарпуном вправо"] # 0xeb71 (en: 'left harpoon over right harpoon right', google translation)
- - "": [t: "левый гарпун над правой гарпуной слева"] # 0xeb72 (en: 'left harpoon over right harpoon left', google translation)
- - "": [t: "стрела влево от стрелки бара"] # 0xeb73 (en: 'leftwards arrow from bar arrowhead', google translation)
- - "": [t: "стрела влево вправо от стрелки из бара"] # 0xeb74 (en: 'leftwards rightwards arrow from bar extender', google translation)
- - "": [t: "стрелка влево от шарнирного хвоста"] # 0xeb75 (en: 'leftwards arrow from bar tail', google translation)
- - "": [t: "стрелка вправо от хвоста"] # 0xeb76 (en: 'rightwards arrow from bar tail', google translation)
- - "": [t: "стрелка вправо от стрелки бар"] # 0xeb77 (en: 'rightwards arrow from bar arrowhead', google translation)
- - "": [t: "вверх гарпун из бара с барб -слева стрел"] # 0xeb78 (en: 'upwards harpoon from bar with barb leftwards arrowhead', google translation)
- - "": [t: "стрелка вправо над стрелкой влево справа"] # 0xeb79 (en: 'rightwards arrow over leftwards arrow right', google translation)
- - "": [t: "вправо стрел налево стрел влево"] # 0xeb7a (en: 'rightwards arrow over leftwards arrow left', google translation)
- - "": [t: "стрелка слева направо вправо"] # 0xeb7b (en: 'leftwards arrow over rightwards arrow right', google translation)
- - "": [t: "стрелка слева направо влево"] # 0xeb7c (en: 'leftwards arrow over rightwards arrow left', google translation)
- - "": [t: "стрелка вверх от стрелки бара"] # 0xeb7d (en: 'upwards arrow from bar arrowhead', google translation)
- - "": [t: "стрелка вверх от хвоста"] # 0xeb7e (en: 'upwards arrow from bar tail', google translation)
- - "": [t: "стрелка вниз от хвоста"] # 0xeb7f (en: 'downwards arrow from bar tail', google translation)
- - "": [t: "стрелка вниз от стрелки бар"] # 0xeb80 (en: 'downwards arrow from bar arrowhead', google translation)
- - "": [t: "вниз по гарпуне от бара с барб прямо сразу"] # 0xeb81 (en: 'downwards harpoon from bar with barb rightwards arrowhead', google translation)
- - "": [t: "вверх гарпун слева от дна вниз вниз"] # 0xeb82 (en: 'upwards harpoon to the left of downwards harpoon bottom', google translation)
- - "": [t: "вверх гарпун слева от вниз харпун экспендера"] # 0xeb83 (en: 'upwards harpoon to the left of downwards harpoon extender', google translation)
- - "": [t: "вниз по гарпуне слева от вершины harpoon вверх"] # 0xeb84 (en: 'downwards harpoon to the left of upwards harpoon top', google translation)
- - "": [t: "вверх гарпун слева от вершины гарпуна вниз"] # 0xeb85 (en: 'upwards harpoon to the left of downwards harpoon top', google translation)
- - "": [t: "вниз по гарпуне слева от удлинителя harpoon вверх"] # 0xeb86 (en: 'downwards harpoon to the left of the upwards harpoon extender', google translation)
- - "": [t: "вниз по гарпуне слева от дна вверх гарпуна"] # 0xeb87 (en: 'downwards harpoon to the left of the upwards harpoon bottom', google translation)
- - "": [t: "вверх стрелка слева от дна стрелы вниз"] # 0xeb88 (en: 'upwards arrow leftwards of downwards arrow bottom', google translation)
- - "": [t: "вниз стрелка слева от вершины стрелы вверх"] # 0xeb89 (en: 'downwards arrow leftwards of upwards arrow top', google translation)
- - "": [t: "вверх стрелка слева от вершины стрелы вниз"] # 0xeb8a (en: 'upwards arrow leftwards of downwards arrow top', google translation)
- - "": [t: "вниз стрелка слева от дна стрелы вверх"] # 0xeb8b (en: 'downwards arrow leftwards of upwards arrow bottom', google translation)
- - "": [t: "левый направо стрелками удлинитель"] # 0xeb8c (en: 'leftwards rightwards arrows extender', google translation)
- - "": [t: "северо -восточный экспендер"] # 0xeb8d (en: 'north east arrow extender', google translation)
- - "": [t: "северо -западный экспендер"] # 0xeb8e (en: 'north west arrow extender', google translation)
- - "": [t: "вниз по направлению скобки влево"] # 0xec00 (en: 'down pointing brace left', google translation)
- - "": [t: "вниз по направлению скобки в середине"] # 0xec01 (en: 'down pointing brace mid', google translation)
- - "": [t: "вниз по указанию скобки вправо"] # 0xec02 (en: 'down pointing brace right', google translation)
- - "": [t: "горизонтальный удлинитель"] # 0xec03 (en: 'horizontal brace extender', google translation)
- - "": [t: "укажите скобку влево"] # 0xec04 (en: 'up pointing brace left', google translation)
- - "": [t: "укажите скобку в середине"] # 0xec05 (en: 'up pointing brace mid', google translation)
- - "": [t: "установленная скоба правильно"] # 0xec06 (en: 'up-pointing brace right', google translation)
- - "": [t: "левый вертикальный бар"] # 0xec07 (en: 'left vertical bar', google translation)
- - "": [t: "правый вертикальный бар"] # 0xec08 (en: 'right vertical bar', google translation)
- - "": [t: "левый двойной вертикальный бар"] # 0xec09 (en: 'left double vertical bar', google translation)
- - "": [t: "правая двойная вертикальная бар"] # 0xec0a (en: 'right double vertical bar', google translation)
- - "": [t: "горизонтальный растяжение кронштейна"] # 0xec0b (en: 'horizontal bracket extender', google translation)
- - "": [t: "под квадратным кронштейном"] # 0xec0c (en: 'under square bracket', google translation)
- - "⎵": [t: "под квадратным кронштейном"] # 0x23b5 (en: 'under square bracket', google translation)
- - "": [t: "над квадратным кронштейном"] # 0xec0d (en: 'over square bracket', google translation)
- - "⎴": [t: "над квадратным кронштейном"] # 0x23b4 (en: 'over square bracket', google translation)
- - "": [t: "под скобкой ушел"] # 0xec0e (en: 'under bracket left', google translation)
- - "": [t: "под скобкой справа"] # 0xec0f (en: 'under bracket right', google translation)
- - "": [t: "за скобкой ушел"] # 0xec10 (en: 'over bracket left', google translation)
- - "": [t: "над кронштейном вправо"] # 0xec11 (en: 'over bracket right', google translation)
- - "": [t: "левый скол 1"] # 0xec12 (en: 'left parens 1', google translation)
- - "": [t: "левый скол 2"] # 0xec13 (en: 'left parens 2', google translation)
- - "": [t: "левый скол 3"] # 0xec14 (en: 'left parens 3', google translation)
- - "": [t: "левый скол 4"] # 0xec15 (en: 'left parens 4', google translation)
- - "": [t: "правая скобка 1"] # 0xec16 (en: 'right parens 1', google translation)
- - "": [t: "правая скобка 2"] # 0xec17 (en: 'right parens 2', google translation)
- - "": [t: "правая скобка 3"] # 0xec18 (en: 'right parens 3', google translation)
- - "": [t: "правая скобка 4"] # 0xec19 (en: 'right parens 4', google translation)
- - "": [t: "радикальный 1"] # 0xec1a (en: 'radical 1', google translation)
- - "": [t: "радикальный 2"] # 0xec1b (en: 'radical 2', google translation)
- - "": [t: "радикал 3"] # 0xec1c (en: 'radical 3', google translation)
- - "": [t: "радикал 4"] # 0xec1d (en: 'radical 4', google translation)
- - "": [t: "радикал 5"] # 0xec1e (en: 'radical 5', google translation)
- - "": [t: "радикальное дно"] # 0xec1f (en: 'radical bottom', google translation)
- - "": [t: "радикальный вертикальный удлинитель"] # 0xec20 (en: 'radical vertical extender', google translation)
- - "": [t: "радикальный топ"] # 0xec21 (en: 'radical top', google translation)
- - "": [t: "оставленный белый топ кронштейна"] # 0xec22 (en: 'left white bracket top', google translation)
- - "": [t: "оставый белый растяжение кронштейна"] # 0xec23 (en: 'left white bracket extender', google translation)
- - "": [t: "левый белый кронштейн дно"] # 0xec24 (en: 'left white bracket bottom', google translation)
- - "": [t: "правый белый кронштейн"] # 0xec25 (en: 'right white bracket top', google translation)
- - "": [t: "правый белый кронштейн"] # 0xec26 (en: 'right white bracket extender', google translation)
- - "": [t: "правый белый кронштейн дно"] # 0xec27 (en: 'right white bracket bottom', google translation)
- - "": [t: "оставил белый кудрявый кронштейн"] # 0xec30 (en: 'left white curly bracket', google translation)
- - "": [t: "правый белый кудрявый кронштейн"] # 0xec31 (en: 'right white curly bracket', google translation)
- - "": [t: "знак длинного дивизии"] # 0xec32 (en: 'long division sign', google translation)
- - "": [t: "длинное знаком дивизии"] # 0xec33 (en: 'long division sign extender', google translation)
- - "": [t: "короткое подразделение"] # 0xec34 (en: 'short division', google translation)
- - "": [t: "двойной юго -запад к северо -востоку эм бонд"] # 0xec40 (en: 'double southwest to northeast em bond', google translation)
- - "": [t: "двойной северо -запад до юго -восточной эм бонд"] # 0xec41 (en: 'double northwest to southeast em bond', google translation)
- - "": [t: "единая горизонтальная em -связь"] # 0xec42 (en: 'single horizontal em bond', google translation)
- - "": [t: "двойная горизонтальная em -связь"] # 0xec43 (en: 'double horizontal em bond', google translation)
- - "": [t: "тройная горизонтальная эм бонг"] # 0xec44 (en: 'triple horizontal em bond', google translation)
- - "": [t: "одиночная вертикальная облигация"] # 0xec45 (en: 'single vertical em bond', google translation)
- - "": [t: "двойная вертикальная облигация"] # 0xec46 (en: 'double vertical em bond', google translation)
- - "": [t: "тройная вертикальная облигация"] # 0xec47 (en: 'triple vertical em bond', google translation)
- - "": [t: "меньше, чем эм бонд"] # 0xec48 (en: 'less than em bond', google translation)
- - "": [t: "больше, чем эм бонд"] # 0xec49 (en: 'greater than em bond', google translation)
- - "": [t: "одиночная горизонтальная en bond"] # 0xec4a (en: 'single horizontal en bond', google translation)
- - "": [t: "двойная горизонтальная en bond"] # 0xec4b (en: 'double horizontal en bond', google translation)
- - "": [t: "тройная горизонтальная связь"] # 0xec4c (en: 'triple horizontal en bond', google translation)
- - "": [t: "верхний левый прямоугольник"] # 0xec80 (en: 'top left rectangle', google translation)
- - "": [t: "внизу левый прямоугольник"] # 0xec81 (en: 'bottom left rectangle', google translation)
- - "": [t: "вверху правого прямоугольника"] # 0xec90 (en: 'top right rectangle', google translation)
- - "": [t: "нижний правый прямоугольник"] # 0xec91 (en: 'bottom right rectangle', google translation)
- - "": [t: "синтетический угол дивизии"] # 0xec92 (en: 'synthetic division corner', google translation)
- - "": [t: "синтетическое разделение горизонтальное удлинитель"] # 0xec93 (en: 'synthetic division horizontal extender', google translation)
- - "": [t: "вертикальное удлинение синтетического деления"] # 0xec94 (en: 'synthetic division vertical extender', google translation)
- - "": [t: "левый потолок"] # 0xec95 (en: 'left ceiling floor extender', google translation)
- - "": [t: "правый потолок"] # 0xec96 (en: 'right ceiling floor extender', google translation)
- - "": [t: "над скобком удлинителя"] # 0xec97 (en: 'over bracket extender', google translation)
- - "": [t: "вертикальный батончик"] # 0xec98 (en: 'vertical bar extender', google translation)
- - "": [t: "левый двойной вертикальный удлинитель"] # 0xec99 (en: 'left double vertical bar extender', google translation)
- - "": [t: "горизонтальный батончик"] # 0xec9a (en: 'horizontal bar extender', google translation)
- - "": [t: "под преодолеванием кронштейна"] # 0xec9c (en: 'under bracket extender', google translation)
- - "": [t: "указывая в скобках справа"] # 0xec9d (en: 'down pointing paren right', google translation)
- - "": [t: "указывание о скобках"] # 0xec9e (en: 'down pointing paren extender', google translation)
- - "": [t: "установка вниз по указанию скобок"] # 0xec9f (en: 'down pointing paren left', google translation)
- - "": [t: "укажите удлинители"] # 0xeca0 (en: 'up pointing brace extender', google translation)
- - "": [t: "указывая в скобках"] # 0xeca1 (en: 'up pointing paren left', google translation)
- - "": [t: "укажите удлинители скобок"] # 0xeca2 (en: 'up pointing paren extender', google translation)
- - "": [t: "указывая в скобках"] # 0xeca3 (en: 'up pointing paren right', google translation)
- - "": [t: "вниз по направлению скобки удлинителя"] # 0xeca4 (en: 'down pointing brace extender', google translation)
- - "": [t: "планка константа над двумя pi bar"] # 0xed00 (en: 'planck constant over two pi bar', google translation)
- - "": [t: "зеркало g"] # 0xed01 (en: 'mirror g', google translation)
- - "": [t: "dotless j"] # 0xed02 (google translation)
- - "": [t: "дигамма"] # 0xed03 (en: 'digamma', google translation)
- - "ϝ": [t: "дигамма"] # 0x3dd (en: 'digamma')
- - "": [t: ""] # 0xed10 (en: 'd', google translation)
- - "ⅆ": [t: "ⅆ"] # 0x2146 (en: 'd', google translation)
- - "": [t: ""] # 0xed11 (en: 'e', google translation)
- - "ⅇ": [t: "ⅇ"] # 0x2147 (en: 'e', google translation)
- - "": [t: ""] # 0xed12 (en: 'i', google translation)
- - "ⅈ": [t: "ⅈ"] # 0x2148 (en: 'i', google translation)
- - "": [t: ""] # 0xed13 (en: 'j', google translation)
+ then: [t: "крест"]
+ else: [t: "векторное произведение"]
+ - "⨰": [t: "знак умножения с точкой сверху"] # 0x2a30
+ - "⨱": [t: "знак умножения с подчёркиванием"] # 0x2a31
+ - "⨲": [t: "полупрямое произведение с замкнутым низом"] # 0x2a32
+ - "⨳": [t: "разбивающее произведение"] # 0x2a33
+ - "⨴": [t: "знак умножения в левой половине круга"] # 0x2a34
+ - "⨵": [t: "знак умножения в правой половине круга"] # 0x2a35
+ - "⨶": [t: "знак умножения в круге с циркумфлексом"] # 0x2a36
+ - "⨷": [t: "знак умножения в двойном круге"] # 0x2a37
+ - "⨸": [t: "знак деления в круге"] # 0x2a38
+ - "⨹": [t: "знак плюс в треугольнике"] # 0x2a39
+ - "⨺": [t: "знак минус в треугольнике"] # 0x2a3a
+ - "⨻": [t: "знак умножения в треугольнике"] # 0x2a3b
+ - "⨼": [t: "внутреннее произведение"] # 0x2a3c
+ - "⨽": [t: "правое внутреннее произведение"] # 0x2a3d
+ - "⨾": [t: "Z-нотация реляционная композиция"] # 0x2a3e
+ - "⨿": [t: "амальгама или копроизведение"] # 0x2a3f
+ - "⩀": [t: "пересечение с точкой"] # 0x2a40
+ - "⩁": [t: "объединение со знаком минус"] # 0x2a41
+ - "⩂": [t: "объединение с надчёркиванием"] # 0x2a42
+ - "⩃": [t: "пересечение с надчёркиванием"] # 0x2a43
+ - "⩄": [t: "пересечение с логическим и"] # 0x2a44
+ - "⩅": [t: "объединение с логическим или"] # 0x2a45
+ - "⩆": [t: "объединение над пересечением"] # 0x2a46
+ - "⩇": [t: "пересечение над объединением"] # 0x2a47
+ - "⩈": [t: "объединение над чертой над пересечением"] # 0x2a48
+ - "⩉": [t: "пересечение над чертой над объединением"] # 0x2a49
+ - "⩊": [t: "объединение рядом и соединённое с объединением"] # 0x2a4a
+ - "⩋": [t: "пересечение рядом и соединённое с пересечением"] # 0x2a4b
+ - "⩌": [t: "замкнутое объединение с засечками"] # 0x2a4c
+ - "⩍": [t: "замкнутое пересечение с засечками"] # 0x2a4d
+ - "⩎": [t: "двойное квадратное пересечение"] # 0x2a4e
+ - "⩏": [t: "двойное квадратное объединение"] # 0x2a4f
+ - "⩐": [t: "замкнутое объединение с засечками и разбивающим произведением"] # 0x2a50
+ - "⩑": [t: "логическое и с точкой сверху"] # 0x2a51
+ - "⩒": [t: "логическое или с точкой сверху"] # 0x2a52
+ - "⩓": [t: "двойное логическое и"] # 0x2a53
+ - "⩔": [t: "двойное логическое или"] # 0x2a54
+ - "⩕": [t: "два пересекающихся логических и"] # 0x2a55
+ - "⩖": [t: "два пересекающихся логических или"] # 0x2a56
+ - "⩗": [t: "наклонное большое или"] # 0x2a57
+ - "⩘": [t: "наклонное большое и"] # 0x2a58
+ - "⩙": [t: "логическое или перекрывает логическое и"] # 0x2a59
+ - "⩚": [t: "логическое и со средним стержнем"] # 0x2a5a
+ - "⩛": [t: "логическое или со средним стержнем"] # 0x2a5b
+ - "⩜": [t: "логическое и с горизонтальным тире"] # 0x2a5c
+ - "⩝": [t: "логическое или с горизонтальным тире"] # 0x2a5d
+ - "⩞": [t: "логическое и с двойным надчёркиванием"] # 0x2a5e
+ - "⩟": [t: "логическое и с подчёркиванием"] # 0x2a5f
+ - "⩠": [t: "логическое и с двойным подчёркиванием"] # 0x2a60
+ - "⩡": [t: "маленькая галочка с подчёркиванием"] # 0x2a61
+ - "⩢": [t: "логическое или с двойным надчёркиванием"] # 0x2a62
+ - "⩣": [t: "логическое или с двойным подчёркиванием"] # 0x2a63
+ - "⩤": [t: "Z-нотация антиограничение области"] # 0x2a64
+ - "⩥": [t: "Z-нотация антиограничение диапазона"] # 0x2a65
+ - "⩦": [t: "знак равенства с точкой снизу"] # 0x2a66
+ - "⩧": [t: "тождественно с точкой сверху"] # 0x2a67
+ - "⩨": [t: "тройная горизонтальная черта с двойным вертикальным штрихом"] # 0x2a68
+ - "⩩": [t: "тройная горизонтальная черта с тройным вертикальным штрихом"] # 0x2a69
+ - "⩪": [t: "тильда с точкой сверху"] # 0x2a6a
+ - "⩫": [t: "тильда с растущими точками"] # 0x2a6b
+ - "⩬": [t: "похоже минус похоже"] # 0x2a6c
+ - "⩭": [t: "конгруэнтно с точкой сверху"] # 0x2a6d
+ - "⩮": [t: "равно со звёздочкой"] # 0x2a6e
+ - "⩯": [t: "почти равно с циркумфлексом"] # 0x2a6f
+ - "⩰": [t: "приблизительно равно или равно"] # 0x2a70
+ - "⩱": [t: "знак равенства над знаком плюс"] # 0x2a71
+ - "⩲": [t: "знак плюс над знаком равенства"] # 0x2a72
+ - "⩳": [t: "знак равенства над тильдой"] # 0x2a73
+ - "⩴": [t: "двойное двоеточие равно"] # 0x2a74
+ - "⩵": [t: "два последовательных знака равенства"] # 0x2a75
+ - "⩶": [t: "три последовательных знака равенства"] # 0x2a76
+ - "⩷": [t: "знак равенства с двумя точками сверху и двумя точками снизу"] # 0x2a77
+ - "⩸": [t: "эквивалентно с четырьмя точками сверху"] # 0x2a78
+ - "⩹": [t: "меньше с кругом внутри"] # 0x2a79
+ - "⩺": [t: "больше с кругом внутри"] # 0x2a7a
+ - "⩻": [t: "меньше с вопросительным знаком сверху"] # 0x2a7b
+ - "⩼": [t: "больше с вопросительным знаком сверху"] # 0x2a7c
+ - "⩽": [t: "меньше или наклонно равно"] # 0x2a7d
+ - "⩾": [t: "больше или наклонно равно"] # 0x2a7e
+ - "⩿": [t: "меньше или наклонно равно с точкой внутри"] # 0x2a7f
+ - "⪀": [t: "больше или наклонно равно с точкой внутри"] # 0x2a80
+ - "⪁": [t: "меньше или наклонно равно с точкой сверху"] # 0x2a81
+ - "⪂": [t: "больше или наклонно равно с точкой сверху"] # 0x2a82
+ - "⪃": [t: "меньше или наклонно равно с точкой сверху справа"] # 0x2a83
+ - "⪄": [t: "больше или наклонно равно с точкой сверху слева"] # 0x2a84
+ - "⪅": [t: "меньше или приблизительно"] # 0x2a85
+ - "⪆": [t: "больше или приблизительно"] # 0x2a86
+ - "⪇": [t: "меньше и одинарная линия не равно"] # 0x2a87
+ - "⪈": [t: "больше и одинарная линия не равно"] # 0x2a88
+ - "⪉": [t: "меньше и не приблизительно"] # 0x2a89
+ - "⪊": [t: "больше и не приблизительно"] # 0x2a8a
+ - "⪋": [t: "меньше над двойной линией равно над больше"] # 0x2a8b
+ - "⪌": [t: "больше над двойной линией равно над меньше"] # 0x2a8c
+ - "⪍": [t: "меньше над похоже или равно"] # 0x2a8d
+ - "⪎": [t: "больше над похоже или равно"] # 0x2a8e
+ - "⪏": [t: "меньше над похоже над больше"] # 0x2a8f
+ - "⪐": [t: "больше над похоже над меньше"] # 0x2a90
+ - "⪑": [t: "меньше над больше над двойной линией равно"] # 0x2a91
+ - "⪒": [t: "больше над меньше над двойной линией равно"] # 0x2a92
+ - "⪓": [t: "меньше над наклонным равно над больше над наклонным равно"] # 0x2a93
+ - "⪔": [t: "больше над наклонным равно над меньше над наклонным равно"] # 0x2a94
+ - "⪕": [t: "наклонно равно или меньше"] # 0x2a95
+ - "⪖": [t: "наклонно равно или больше"] # 0x2a96
+ - "⪗": [t: "наклонно равно или меньше с точкой внутри"] # 0x2a97
+ - "⪘": [t: "наклонно равно или больше с точкой внутри"] # 0x2a98
+ - "⪙": [t: "двойная линия равно или меньше"] # 0x2a99
+ - "⪚": [t: "двойная линия равно или больше"] # 0x2a9a
+ - "⪛": [t: "двойная линия наклонно равно или меньше"] # 0x2a9b
+ - "⪜": [t: "двойная линия наклонно равно или больше"] # 0x2a9c
+ - "⪝": [t: "похоже или меньше"] # 0x2a9d
+ - "⪞": [t: "похоже или больше"] # 0x2a9e
+ - "⪟": [t: "похоже над меньше над знаком равенства"] # 0x2a9f
+ - "⪠": [t: "похоже над больше над знаком равенства"] # 0x2aa0
+ - "⪡": [t: "двойное вложенное меньше"] # 0x2aa1
+ - "⪢": [t: "двойное вложенное больше"] # 0x2aa2
+ - "⪣": [t: "двойное вложенное меньше с подчёркиванием"] # 0x2aa3
+ - "⪤": [t: "больше перекрывает меньше"] # 0x2aa4
+ - "⪥": [t: "больше рядом с меньше"] # 0x2aa5
+ - "⪦": [t: "меньше замкнутое кривой"] # 0x2aa6
+ - "⪧": [t: "больше замкнутое кривой"] # 0x2aa7
+ - "⪨": [t: "меньше замкнутое кривой над наклонным равно"] # 0x2aa8
+ - "⪩": [t: "больше замкнутое кривой над наклонным равно"] # 0x2aa9
+ - "⪪": [t: "меньше чем"] # 0x2aaa
+ - "⪫": [t: "больше чем"] # 0x2aab
+ - "⪬": [t: "меньше чем или равно"] # 0x2aac
+ - "⪭": [t: "больше чем или равно"] # 0x2aad
+ - "⪮": [t: "знак равенства с бугром сверху"] # 0x2aae
+ - "⪯": [t: "предшествует над одинарной линией равенства"] # 0x2aaf
+ - "⪰": [t: "следует над одинарной линией равенства"] # 0x2ab0
+ - "⪱": [t: "предшествует над одинарной линией не равно"] # 0x2ab1
+ - "⪲": [t: "следует над одинарной линией не равно"] # 0x2ab2
+ - "⪳": [t: "предшествует над знаком равенства"] # 0x2ab3
+ - "⪴": [t: "следует над знаком равенства"] # 0x2ab4
+ - "⪵": [t: "предшествует над не равно"] # 0x2ab5
+ - "⪶": [t: "следует над не равно"] # 0x2ab6
+ - "⪷": [t: "предшествует над почти равно"] # 0x2ab7
+ - "⪸": [t: "следует над почти равно"] # 0x2ab8
+ - "⪹": [t: "предшествует над не почти равно"] # 0x2ab9
+ - "⪺": [t: "следует над не почти равно"] # 0x2aba
+ - "⪻": [t: "двойное предшествует"] # 0x2abb
+ - "⪼": [t: "двойное следует"] # 0x2abc
+ - "⪽": [t: "подмножество с точкой"] # 0x2abd
+ - "⪾": [t: "надмножество с точкой"] # 0x2abe
+ - "⪿": [t: "подмножество со знаком плюс снизу"] # 0x2abf
+ - "⫀": [t: "надмножество со знаком плюс снизу"] # 0x2ac0
+ - "⫁": [t: "подмножество со знаком умножения снизу"] # 0x2ac1
+ - "⫂": [t: "надмножество со знаком умножения снизу"] # 0x2ac2
+ - "⫃": [t: "подмножество или равно с точкой сверху"] # 0x2ac3
+ - "⫄": [t: "надмножество или равно с точкой сверху"] # 0x2ac4
+ - "⫅": [t: "подмножество над знаком равенства"] # 0x2ac5
+ - "⫆": [t: "надмножество над знаком равенства"] # 0x2ac6
+ - "⫇": [t: "подмножество над тильдой"] # 0x2ac7
+ - "⫈": [t: "надмножество над тильдой"] # 0x2ac8
+ - "⫉": [t: "подмножество над почти равно"] # 0x2ac9
+ - "⫊": [t: "надмножество над почти равно"] # 0x2aca
+ - "⫋": [t: "подмножество над не равно"] # 0x2acb
+ - "⫌": [t: "надмножество над не равно"] # 0x2acc
+ - "⫍": [t: "квадратный левый открытый ящик"] # 0x2acd
+ - "⫎": [t: "квадратный правый открытый ящик"] # 0x2ace
+ - "⫏": [t: "замкнутое подмножество"] # 0x2acf
+ - "⫐": [t: "замкнутое надмножество"] # 0x2ad0
+ - "⫑": [t: "замкнутое подмножество или равно"] # 0x2ad1
+ - "⫒": [t: "замкнутое надмножество или равно"] # 0x2ad2
+ - "⫓": [t: "подмножество над надмножеством"] # 0x2ad3
+ - "⫔": [t: "надмножество над подмножеством"] # 0x2ad4
+ - "⫕": [t: "подмножество над подмножеством"] # 0x2ad5
+ - "⫖": [t: "надмножество над надмножеством"] # 0x2ad6
+ - "⫗": [t: "надмножество рядом с подмножеством"] # 0x2ad7
+ - "⫘": [t: "надмножество рядом и соединённое тире с подмножеством"] # 0x2ad8
+ - "⫙": [t: "элемент, открытый вниз"] # 0x2ad9
+ - "⫚": [t: "вилы с тройником сверху"] # 0x2ada
+ - "⫛": [t: "трансверсальное пересечение"] # 0x2adb
+ - "⫝̸": [t: "ветвление"] # 0x2adc
+ - "⫝": [t: "неветвление"] # 0x2add
+ - "⫞": [t: "короткий левый таск"] # 0x2ade
+ - "⫟": [t: "короткий нижний таск"] # 0x2adf
+ - "⫠": [t: "короткий верхний таск"] # 0x2ae0
+ - "⫡": [t: "перпендикуляр с s"] # 0x2ae1
+ - "⫢": [t: "вертикальная черта тройной правый турникет"] # 0x2ae2
+ - "⫣": [t: "двойная вертикальная черта левый турникет"] # 0x2ae3
+ - "⫤": [t: "вертикальная черта двойной левый турникет"] # 0x2ae4
+ - "⫥": [t: "двойная вертикальная черта двойной левый турникет"] # 0x2ae5
+ - "⫦": [t: "длинное тире от левого члена двойной вертикальной"] # 0x2ae6
+ - "⫧": [t: "короткий нижний таск с надчёркиванием"] # 0x2ae7
+ - "⫨": [t: "короткий верхний таск с подчёркиванием"] # 0x2ae8
+ - "⫩": [t: "короткий верхний таск над коротким нижним таском"] # 0x2ae9
+ - "⫪": [t: "двойной нижний таск"] # 0x2aea
+ - "⫫": [t: "двойной верхний таск"] # 0x2aeb
+ - "⫬": [t: "знак не с двойным штрихом"] # 0x2aec
+ - "⫭": [t: "обратный знак не с двойным штрихом"] # 0x2aed
+ - "⫮": [t: "не делит с обратной перечёркивающей косой"] # 0x2aee
+ - "⫯": [t: "вертикальная линия с кругом сверху"] # 0x2aef
+ - "⫰": [t: "вертикальная линия с кругом снизу"] # 0x2af0
+ - "⫱": [t: "нижний таск с кругом снизу"] # 0x2af1
+ - "⫲": [t: "параллельно с горизонтальным штрихом"] # 0x2af2
+ - "⫳": [t: "параллельно с тильдой"] # 0x2af3
+ - "⫴": [t: "тройная вертикальная черта бинарное отношение"] # 0x2af4
+ - "⫵": [t: "тройная вертикальная черта с горизонтальным штрихом"] # 0x2af5
+ - "⫶": [t: "оператор тройное двоеточие"] # 0x2af6
+ - "⫷": [t: "тройное вложенное меньше"] # 0x2af7
+ - "⫸": [t: "тройное вложенное больше"] # 0x2af8
+ - "⫹": [t: "двойная линия наклонно меньше или равно"] # 0x2af9
+ - "⫺": [t: "двойная линия наклонно больше или равно"] # 0x2afa
+ - "⫻": [t: "тройная косая черта бинарное отношение"] # 0x2afb
+ - "⫼": [t: "оператор большая тройная вертикальная черта"] # 0x2afc
+ - "⫽": [t: "оператор двойная косая черта"] # 0x2afd
+ - "⫾": [t: "белая вертикальная черта"] # 0x2afe
+ - "⫿": [t: "белая вертикальная черта"] # 0x2aff
+ - "⬀": [t: "белая стрелка на северо-восток"] # 0x2b00
+ - "⬁": [t: "белая стрелка на северо-запад"] # 0x2b01
+ - "⬂": [t: "белая стрелка на юго-восток"] # 0x2b02
+ - "⬃": [t: "белая стрелка на юго-запад"] # 0x2b03
+ - "⬄": [t: "белая стрелка влево-вправо"] # 0x2b04
+ - "⬅": [t: "чёрная стрелка влево"] # 0x2b05
+ - "⬆": [t: "чёрная стрелка вверх"] # 0x2b06
+ - "⬇": [t: "чёрная стрелка вниз"] # 0x2b07
+ - "⬈": [t: "чёрная стрелка на северо-восток"] # 0x2b08
+ - "⬉": [t: "чёрная стрелка на северо-запад"] # 0x2b09
+ - "⬊": [t: "чёрная стрелка на юго-восток"] # 0x2b0a
+ - "⬋": [t: "чёрная стрелка на юго-запад"] # 0x2b0b
+ - "⬌": [t: "чёрная стрелка влево-вправо"] # 0x2b0c
+ - "⬍": [t: "чёрная стрелка вверх-вниз"] # 0x2b0d
+ - "⬎": [t: "стрелка вправо с наконечником вниз"] # 0x2b0e
+ - "⬏": [t: "стрелка вправо с наконечником вверх"] # 0x2b0f
+ - "⬐": [t: "стрелка влево с наконечником вниз"] # 0x2b10
+ - "⬑": [t: "стрелка влево с наконечником вверх"] # 0x2b11
+ - "⬒": [t: "квадрат с верхней половиной чёрной"] # 0x2b12
+ - "⬓": [t: "квадрат с нижней половиной чёрной"] # 0x2b13
+ - "⬔": [t: "квадрат с верхней правой диагональной половиной чёрной"] # 0x2b14
+ - "⬕": [t: "квадрат с нижней левой диагональной половиной чёрной"] # 0x2b15
+ - "⬖": [t: "ромб с левой половиной чёрной"] # 0x2b16
+ - "⬗": [t: "ромб с правой половиной чёрной"] # 0x2b17
+ - "⬘": [t: "ромб с верхней половиной чёрной"] # 0x2b18
+ - "⬙": [t: "ромб с нижней половиной чёрной"] # 0x2b19
+ - "⬚": [t: "ящик"] # 0x2b1a
+ - "⬛": [t: "чёрный большой квадрат"] # 0x2b1b
+ - "⬜": [t: "белый большой квадрат"] # 0x2b1c
+ - "⬝": [t: "чёрный очень маленький квадрат"] # 0x2b1d
+ - "⬞": [t: "белый очень маленький квадрат"] # 0x2b1e
+ - "⬟": [t: "чёрный пятиугольник"] # 0x2b1f
+ - "⬠": [t: "белый пятиугольник"] # 0x2b20
+ - "⬡": [t: "белый шестиугольник"] # 0x2b21
+ - "⬢": [t: "чёрный шестиугольник"] # 0x2b22
+ - "⬣": [t: "горизонтальный чёрный шестиугольник"] # 0x2b23
+ - "⬤": [t: "чёрный большой круг"] # 0x2b24
+ - "⬥": [t: "чёрный средний ромб"] # 0x2b25
+ - "⬦": [t: "белый средний ромб"] # 0x2b26
+ - "⬧": [t: "чёрная средняя луковица"] # 0x2b27
+ - "⬨": [t: "белая средняя луковица"] # 0x2b28
+ - "⬩": [t: "чёрный маленький ромб"] # 0x2b29
+ - "⬪": [t: "чёрная маленькая луковица"] # 0x2b2a
+ - "⬫": [t: "белая маленькая луковица"] # 0x2b2b
+ - "⬬": [t: "чёрный горизонтальный эллипс"] # 0x2b2c
+ - "⬭": [t: "белый горизонтальный эллипс"] # 0x2b2d
+ - "⬮": [t: "чёрный вертикальный эллипс"] # 0x2b2e
+ - "⬯": [t: "белый вертикальный эллипс"] # 0x2b2f
+ - "⬰": [t: "стрелка влево с маленьким кругом"] # 0x2b30
+ - "⬱": [t: "три стрелки влево"] # 0x2b31
+ - "⬲": [t: "стрелка влево с плюсом в круге"] # 0x2b32
+ - "⬳": [t: "длинная волнистая стрелка влево"] # 0x2b33
+ - "⬴": [t: "стрелка влево с двумя наконечниками и вертикальным штрихом"] # 0x2b34
+ - "⬵": [t: "стрелка влево с двумя наконечниками и двойным вертикальным штрихом"] # 0x2b35
+ - "⬶": [t: "стрелка влево с двумя наконечниками от черты"] # 0x2b36
+ - "⬷": [t: "стрелка влево с двумя наконечниками и тройным пунктиром"] # 0x2b37
+ - "⬸": [t: "стрелка влево с пунктирным стволом"] # 0x2b38
+ - "⬹": [t: "стрелка влево с хвостом и вертикальным штрихом"] # 0x2b39
+ - "⬺": [t: "стрелка влево с хвостом и двойным вертикальным штрихом"] # 0x2b3a
+ - "⬻": [t: "стрелка влево с двумя наконечниками и хвостом"] # 0x2b3b
+ - "⬼": [t: "стрелка влево с двумя наконечниками, хвостом и вертикальным штрихом"] # 0x2b3c
+ - "⬽": [t: "стрелка влево с двумя наконечниками, хвостом и двойным вертикальным штрихом"] # 0x2b3d
+ - "⬾": [t: "стрелка влево сквозь x"] # 0x2b3e
+ - "⬿": [t: "волновая стрелка, указывающая прямо влево"] # 0x2b3f
+ - "⭀": [t: "знак равенства над стрелкой влево"] # 0x2b40
+ - "⭁": [t: "обратная тильда над стрелкой влево"] # 0x2b41
+ - "⭂": [t: "стрелка влево над обратным почти равно"] # 0x2b42
+ - "⭃": [t: "стрелка вправо сквозь больше"] # 0x2b43
+ - "⭄": [t: "стрелка вправо сквозь надмножество"] # 0x2b44
+ - "⭅": [t: "левая четверная стрелка"] # 0x2b45
+ - "⭆": [t: "правая четверная стрелка"] # 0x2b46
+ - "⭇": [t: "обратная тильда над стрелкой вправо"] # 0x2b47
+ - "⭈": [t: "стрелка вправо над обратным почти равно"] # 0x2b48
+ - "⭉": [t: "тильда над стрелкой влево"] # 0x2b49
+ - "⭊": [t: "стрелка влево над почти равно"] # 0x2b4a
+ - "⭋": [t: "стрелка влево над обратной тильдой"] # 0x2b4b
+ - "⭌": [t: "стрелка вправо над обратной тильдой"] # 0x2b4c
+ - "⭐": [t: "белая средняя звезда"] # 0x2b50
+ - "⭑": [t: "чёрная маленькая звезда"] # 0x2b51
+ - "⭒": [t: "белая маленькая звезда"] # 0x2b52
+ - "⭓": [t: "чёрный пятиугольник остриём вправо"] # 0x2b53
+ - "⭔": [t: "белый пятиугольник остриём вправо"] # 0x2b54
+ - "⭕": [t: "жирный большой круг"] # 0x2b55
+ - "⭖": [t: "жирный овал с овалом внутри"] # 0x2b56
+ - "⭗": [t: "жирный круг с кругом внутри"] # 0x2b57
+ - "⭘": [t: "жирный круг"] # 0x2b58
+ - "⭙": [t: "жирный круг с андреевским крестом"] # 0x2b59
+ - "⸀": [t: "маркер замены прямым углом"] # 0x2e00
+ - "⸁": [t: "маркер замены прямым углом с точкой"] # 0x2e01
+ - "⸂": [t: "левая скобка замены"] # 0x2e02
+ - "⸃": [t: "правая скобка замены"] # 0x2e03
+ - "⸄": [t: "левая пунктирная скобка замены"] # 0x2e04
+ - "⸅": [t: "правая пунктирная скобка замены"] # 0x2e05
+ - "⸆": [t: "приподнятый маркер вставки"] # 0x2e06
+ - "⸇": [t: "приподнятый пунктирный маркер вставки"] # 0x2e07
+ - "⸈": [t: "пунктирный маркер транспозиции"] # 0x2e08
+ - "⸉": [t: "левая скобка транспозиции"] # 0x2e09
+ - "⸊": [t: "правая скобка транспозиции"] # 0x2e0a
+ - "⸋": [t: "приподнятый квадрат"] # 0x2e0b
+ - "⸌": [t: "левая приподнятая скобка пропуска"] # 0x2e0c
+ - "⸍": [t: "правая приподнятая скобка пропуска"] # 0x2e0d
+ - "⸎": [t: "издательская коронида"] # 0x2e0e
+ - "⸏": [t: "параграфос"] # 0x2e0f
+ - "⸐": [t: "вилообразный параграфос"] # 0x2e10
+ - "⸑": [t: "обратный вилообразный параграфос"] # 0x2e11
+ - "⸒": [t: "гиподиастола"] # 0x2e12
+ - "⸓": [t: "пунктирный обел"] # 0x2e13
+ - "⸔": [t: "нижняя якорная скобка"] # 0x2e14
+ - "⸕": [t: "верхняя якорная скобка"] # 0x2e15
+ - "⸖": [t: "пунктирный правый угол"] # 0x2e16
+ - "⸗": [t: "двойной косой дефис"] # 0x2e17
+ - "⸘": [t: "перевёрнутый интерробанг"] # 0x2e18
+ - "⸙": [t: "пальмовая ветвь"] # 0x2e19
+ - "⸚": [t: "дефис с диерезисом"] # 0x2e1a
+ - "⸛": [t: "тильда с кольцом сверху"] # 0x2e1b
+ - "⸜": [t: "левая нижняя парафразная скобка"] # 0x2e1c
+ - "⸝": [t: "правая нижняя парафразная скобка"] # 0x2e1d
+ - "⸞": [t: "тильда с точкой сверху"] # 0x2e1e
+ - "⸟": [t: "тильда с точкой снизу"] # 0x2e1f
+ - "⸠": [t: "левая вертикальная черта с пером"] # 0x2e20
+ - "⸡": [t: "правая вертикальная черта с пером"] # 0x2e21
+ - "⸢": [t: "верхняя левая половина скобки"] # 0x2e22
+ - "⸣": [t: "верхняя правая половина скобки"] # 0x2e23
+ - "⸤": [t: "нижняя левая половина скобки"] # 0x2e24
+ - "⸥": [t: "нижняя правая половина скобки"] # 0x2e25
+ - "⸦": [t: "левая боковая U-скобка"] # 0x2e26
+ - "⸧": [t: "правая боковая U-скобка"] # 0x2e27
+ - "⸨": [t: "левая двойная скобка"] # 0x2e28
+ - "⸩": [t: "правая двойная скобка"] # 0x2e29
+ - "⸪": [t: "две точки над одной точкой"] # 0x2e2a
+ - "⸫": [t: "одна точка над двумя точками"] # 0x2e2b
+ - "⸬": [t: "квадратная четырёхточечная пунктуация"] # 0x2e2c
+ - "⸭": [t: "знак из пяти точек"] # 0x2e2d
+ - "⸮": [t: "обратный вопросительный знак"] # 0x2e2e
+ - "ⸯ": [t: "вертикальная тильда"] # 0x2e2f
+ - "⸰": [t: "кольцевая точка"] # 0x2e30
+ - "⸱": [t: "разделитель слов средняя точка"] # 0x2e31
+ - "⸲": [t: "перевёрнутая запятая"] # 0x2e32
+ - "⸳": [t: "приподнятая точка"] # 0x2e33
+ - "⸴": [t: "приподнятая запятая"] # 0x2e34
+ - "⸵": [t: "перевёрнутая точка с запятой"] # 0x2e35
+ - "⸶": [t: "крестик с левой защитой"] # 0x2e36
+ - "⸷": [t: "крестик с правой защитой"] # 0x2e37
+ - "⸸": [t: "перевёрнутый крестик"] # 0x2e38
+ - "⸹": [t: "верхняя половина знака параграфа"] # 0x2e39
+ - "⸺": [t: "два длинных тире"] # 0x2e3a
+ - "⸻": [t: "три длинных тире"] # 0x2e3b
+ - "〃": [t: "знак повторения"] # 0x3003
+ - "〈": [t: "левая угловая скобка"] # 0x3008
+ - "〉": [t: "правая угловая скобка"] # 0x3009
+ - "《": [t: "левая двойная угловая скобка"] # 0x300a
+ - "》": [t: "правая двойная угловая скобка"] # 0x300b
+ - "「": [t: "левая угловая скобка"] # 0x300c
+ - "」": [t: "правая угловая скобка"] # 0x300d
+ - "『": [t: "левая белая угловая скобка"] # 0x300e
+ - "』": [t: "правая белая угловая скобка"] # 0x300f
+ - "【": [t: "левая чёрная лентикулярная скобка"] # 0x3010
+ - "】": [t: "правая чёрная лентикулярная скобка"] # 0x3011
+ - "〔": [t: "открывающая черепашья скобка"] # 0x3014
+ - "〕": [t: "закрывающая черепашья скобка"] # 0x3015
+ - "〖": [t: "левая белая лентикулярная скобка"] # 0x3016
+ - "〗": [t: "правая белая лентикулярная скобка"] # 0x3017
+ - "〘": [t: "левая белая черепашья скобка"] # 0x3018
+ - "〙": [t: "правая белая черепашья скобка"] # 0x3019
+ - "〚": [t: "левая белая квадратная скобка"] # 0x301a
+ - "〛": [t: "правая белая квадратная скобка"] # 0x301b
+ - "〜": [t: "волновое тире"] # 0x301c
+ - "〰": [t: "волнистое тире"] # 0x3030
+ - "㉈": [t: "число десять в круге на чёрном квадрате"] # 0x3248
+ - "㉉": [t: "число двадцать в круге на чёрном квадрате"] # 0x3249
+ - "㉊": [t: "число тридцать в круге на чёрном квадрате"] # 0x324a
+ - "㉋": [t: "число сорок в круге на чёрном квадрате"] # 0x324b
+ - "㉌": [t: "число пятьдесят в круге на чёрном квадрате"] # 0x324c
+ - "㉍": [t: "число шестьдесят в круге на чёрном квадрате"] # 0x324d
+ - "㉎": [t: "число семьдесят в круге на чёрном квадрате"] # 0x324e
+ - "㉏": [t: "число восемьдесят в круге на чёрном квадрате"] # 0x324f
+ - "㉑": [t: "число двадцать один в круге"] # 0x3251
+ - "㉒": [t: "число двадцать два в круге"] # 0x3252
+ - "㉓": [t: "число двадцать три в круге"] # 0x3253
+ - "㉔": [t: "число двадцать четыре в круге"] # 0x3254
+ - "㉕": [t: "число двадцать пять в круге"] # 0x3255
+ - "㉖": [t: "число двадцать шесть в круге"] # 0x3256
+ - "㉗": [t: "число двадцать семь в круге"] # 0x3257
+ - "㉘": [t: "число двадцать восемь в круге"] # 0x3258
+ - "㉙": [t: "число двадцать девять в круге"] # 0x3259
+ - "㉚": [t: "число тридцать в круге"] # 0x325a
+ - "㉛": [t: "число тридцать один в круге"] # 0x325b
+ - "㉜": [t: "число тридцать два в круге"] # 0x325c
+ - "㉝": [t: "число тридцать три в круге"] # 0x325d
+ - "㉞": [t: "число тридцать четыре в круге"] # 0x325e
+ - "㉟": [t: "число тридцать пять в круге"] # 0x325f
+ - "㊱": [t: "число тридцать шесть в круге"] # 0x32b1
+ - "㊲": [t: "число тридцать семь в круге"] # 0x32b2
+ - "㊳": [t: "число тридцать восемь в круге"] # 0x32b3
+ - "㊴": [t: "число тридцать девять в круге"] # 0x32b4
+ - "㊵": [t: "число сорок в круге"] # 0x32b5
+ - "㊶": [t: "число сорок один в круге"] # 0x32b6
+ - "㊷": [t: "число сорок два в круге"] # 0x32b7
+ - "㊸": [t: "число сорок три в круге"] # 0x32b8
+ - "㊹": [t: "число сорок четыре в круге"] # 0x32b9
+ - "㊺": [t: "число сорок пять в круге"] # 0x32ba
+ - "㊻": [t: "число сорок шесть в круге"] # 0x32bb
+ - "㊼": [t: "число сорок семь в круге"] # 0x32bc
+ - "㊽": [t: "число сорок восемь в круге"] # 0x32bd
+ - "㊾": [t: "число сорок девять в круге"] # 0x32be
+ - "㊿": [t: "число пятьдесят в круге"] # 0x32bf
+ - "㋌": [t: "Меркурий"] # 0x32cc
+ - "㋍": [t: "эрги"] # 0x32cd
+ - "㋎": [t: "электрон-вольты"] # 0x32ce
+ - "㋏": [t: "знак ограниченной ответственности"] # 0x32cf
+ - "㍱": [t: "гектопаскали"] # 0x3371
+ - "㍲": [t: "дальтоны"] # 0x3372
+ - "㍳": [t: "астрономические единицы"] # 0x3373
+ - "㍴": [t: "бары"] # 0x3374
+ - "㍵": [t: "о в"] # 0x3375
+ - "㍶": [t: "парсеки"] # 0x3376
+ - "㍷": [t: "дециметры"] # 0x3377
+ - "㍸": [t: "квадратные дециметры"] # 0x3378
+ - "㍹": [t: "кубические дециметры"] # 0x3379
+ - "㍺": [t: "инструментальные единицы"] # 0x337a
+ - "㎀": [t: "пикоамперы"] # 0x3380
+ - "㎁": [t: "наноамперы"] # 0x3381
+ - "㎂": [t: "микроамперы"] # 0x3382
+ - "㎃": [t: "миллиамперы"] # 0x3383
+ - "㎄": [t: "килоамперы"] # 0x3384
+ - "㎅": [t: "килобайты"] # 0x3385
+ - "㎆": [t: "мегабайты"] # 0x3386
+ - "㎇": [t: "гигабайты"] # 0x3387
+ - "㎈": [t: "калории"] # 0x3388
+ - "㎉": [t: "килокалории"] # 0x3389
+ - "㎊": [t: "пикофарады"] # 0x338a
+ - "㎋": [t: "нанофарады"] # 0x338b
+ - "㎌": [t: "микрофарады"] # 0x338c
+ - "㎍": [t: "микрограммы"] # 0x338d
+ - "㎎": [t: "миллиграммы"] # 0x338e
+ - "㎏": [t: "килограммы"] # 0x338f
+ - "㎐": [t: "герцы"] # 0x3390
+ - "㎑": [t: "килогерцы"] # 0x3391
+ - "㎒": [t: "мегагерцы"] # 0x3392
+ - "㎓": [t: "гигагерцы"] # 0x3393
+ - "㎔": [t: "терагерцы"] # 0x3394
+ - "㎕": [t: "микролитры"] # 0x3395
+ - "㎖": [t: "миллилитры"] # 0x3396
+ - "㎗": [t: "децилитры"] # 0x3397
+ - "㎘": [t: "килолитры"] # 0x3398
+ - "㎙": [t: "фемтометры"] # 0x3399
+ - "㎚": [t: "нанометры"] # 0x339a
+ - "㎛": [t: "микрометры"] # 0x339b
+ - "㎜": [t: "миллиметры"] # 0x339c
+ - "㎝": [t: "сантиметры"] # 0x339d
+ - "㎞": [t: "километры"] # 0x339e
+ - "㎟": [t: "квадратные миллиметры"] # 0x339f
+ - "㎠": [t: "квадратные сантиметры"] # 0x33a0
+ - "㎡": [t: "квадратные метры"] # 0x33a1
+ - "㎢": [t: "квадратные километры"] # 0x33a2
+ - "㎣": [t: "кубические миллиметры"] # 0x33a3
+ - "㎤": [t: "кубические сантиметры"] # 0x33a4
+ - "㎥": [t: "кубические метры"] # 0x33a5
+ - "㎦": [t: "кубические километры"] # 0x33a6
+ - "㎧": [t: "метры в секунду"] # 0x33a7
+ - "㎨": [t: "метры в секунду в квадрате"] # 0x33a8
+ - "㎩": [t: "паскали"] # 0x33a9
+ - "㎪": [t: "килопаскали"] # 0x33aa
+ - "㎫": [t: "мегапаскали"] # 0x33ab
+ - "㎬": [t: "гигапаскали"] # 0x33ac
+ - "㎭": [t: "рады"] # 0x33ad
+ - "㎮": [t: "рады в секунду"] # 0x33ae
+ - "㎯": [t: "рады в секунду в квадрате"] # 0x33af
+ - "㎰": [t: "пикосекунды"] # 0x33b0
+ - "㎱": [t: "наносекунды"] # 0x33b1
+ - "㎲": [t: "микросекунды"] # 0x33b2
+ - "㎳": [t: "миллисекунды"] # 0x33b3
+ - "㎴": [t: "пиковольты"] # 0x33b4
+ - "㎵": [t: "нановольты"] # 0x33b5
+ - "㎶": [t: "микровольты"] # 0x33b6
+ - "㎷": [t: "милливольты"] # 0x33b7
+ - "㎸": [t: "киловольты"] # 0x33b8
+ - "㎹": [t: "мегавольты"] # 0x33b9
+ - "㎺": [t: "пиковатты"] # 0x33ba
+ - "㎻": [t: "нановатты"] # 0x33bb
+ - "㎼": [t: "микроватты"] # 0x33bc
+ - "㎽": [t: "милливатты"] # 0x33bd
+ - "㎾": [t: "киловатты"] # 0x33be
+ - "㎿": [t: "мегаватты"] # 0x33bf
+ - "㏀": [t: "килоомы"] # 0x33c0
+ - "㏁": [t: "мегаомы"] # 0x33c1
+ - "㏂": [t: "аттометры"] # 0x33c2
+ - "㏃": [t: "беккерели"] # 0x33c3
+ - "㏄": [t: "кубические сантиметры"] # 0x33c4
+ - "㏅": [t: "канделы"] # 0x33c5
+ - "㏆": [t: "кулоны на килограмм"] # 0x33c6
+ - "㏇": [t: "заглавная C, o, точка"] # 0x33c7 (I have no idea what this is)
+ - "㏈": [t: "децибелы"] # 0x33c8
+ - "㏉": [t: "греи"] # 0x33c9
+ - "㏊": [t: "гектары"] # 0x33ca
+ - "㏋": [t: "лошадиные силы"] # 0x33cb
+ - "㏌": [t: "дюймы"] # 0x33cc
+ - "㏍": [t: "килокельвины"] # 0x33cd
+ - "㏎": [t: "километры"] # 0x33ce
+ - "㏏": [t: "узлы"] # 0x33cf
+ - "㏐": [t: "люмены"] # 0x33d0
+ - "㏑": [t: "натуральный логарифм"] # 0x33d1
+ - "㏒": [t: "логарифм"] # 0x33d2
+ - "㏓": [t: "люксы"] # 0x33d3
+ - "㏔": [t: "миллибарны"] # 0x33d4
+ - "㏕": [t: "милли"] # 0x33d5
+ - "㏖": [t: "моли"] # 0x33d6
+ - "㏗": [t: "пэ аш"] # 0x33d7
+ - "㏘": [t: "пикометры"] # 0x33d8
+ - "㏙": [t: "частей на миллион"] # 0x33d9
+ - "㏚": [t: "петарентгены"] # 0x33da
+ - "㏛": [t: "стерадианы"] # 0x33db
+ - "㏜": [t: "зиверты"] # 0x33dc
+ - "㏝": [t: "веберы"] # 0x33dd
+ - "㏞": [t: "вольты на метр"] # 0x33de
+ - "㏟": [t: "амперы на метр"] # 0x33df
+ - "㏿": [t: "галлоны"] # 0x33ff
+ - "": [t: "равно с крышкой снизу"] # 0xe900
+ - "": [t: "равно с плюсом сверху"] # 0xe901
+ - "": [t: "равно с плюсом снизу"] # 0xe902
+ - "": [t: "тильда с плюсом сверху"] # 0xe903
+ - "": [t: "тильда с плюсом снизу"] # 0xe904
+ - "": [t: "равно двойное над больше"] # 0xe908
+ - "": [t: "равно двойное над меньше"] # 0xe909
+ - "": [t: "содержит или равно"] # 0xe90a
+ - "": [t: "надмножество или равно"] # 0xe90b
+ - "": [t: "подмножество или равно"] # 0xe90c
+ - "": [t: "равно над меньше"] # 0xe90d
+ - "": [t: "элемент или равно"] # 0xe912
+ - "": [t: "равно или больше"] # 0xe913
+ - "": [t: "приблизительное надмножество"] # 0xe914
+ - "": [t: "приблизительное подмножество"] # 0xe915
+ - "": [t: "надмножество с точкой включает как подотношение"] # 0xe916
+ - "": [t: "подмножество с точкой включено как подотношение"] # 0xe917
+ - "": [t: "равно с точкой снизу"] # 0xe918
+ - "": [t: "левая точка над минусом над правой точкой"] # 0xe919
+ - "": [t: "правая точка над минусом над левой точкой"] # 0xe91a
+ - "": [t: "почти равно минус"] # 0xe91f
+ - "": [t: "двойное квадратное объединение"] # 0xe920
+ - "": [t: "двойное квадратное пересечение"] # 0xe921
+ - "": [t: "меньше, равно или больше"] # 0xe922
+ - "": [t: "тильда с точкой"] # 0xe924
+ - "": [t: "тильда с двумя точками"] # 0xe925
+ - "": [t: "меньше, больше или равно"] # 0xe926
+ - "": [t: "больше, меньше или равно"] # 0xe927
+ - "": [t: "эквивалентно или меньше"] # 0xe928
+ - "": [t: "эквивалентно или больше"] # 0xe929
+ - "": [t: "левый открытый ящик"] # 0xe92a
+ - "": [t: "правый открытый ящик"] # 0xe92b
+ - "": [t: "тождественно с точкой"] # 0xe92c
+ - "": [t: "больше, равно или меньше"] # 0xe92d
+ - "": [t: "оператор черта"] # 0xe92e
+ - "": [t: "оператор двойная черта"] # 0xe92f
+ - "": [t: "оператор тройная черта"] # 0xe930
+ - "": [t: "меньше или приблизительно равно"] # 0xe932
+ - "": [t: "больше или приблизительно равно"] # 0xe933
+ - "": [t: "вложенное меньше"] # 0xe936
+ - "": [t: "вложенное больше"] # 0xe937
+ - "": [t: "предшествует или эквивалентно"] # 0xe93a
+ - "": [t: "следует или эквивалентно"] # 0xe93b
+ - "": [t: "предшествует над равно"] # 0xe940
+ - "": [t: "следует над равно"] # 0xe941
+ - "": [t: "меньше, равно, наклонно больше"] # 0xe942
+ - "": [t: "больше, равно, наклонно меньше"] # 0xe943
+ - "": [t: "удовлетворяется"] # 0xe948
+ - "": [t: "ленивое s"] # 0xe949
+ - "": [t: "не утверждение"] # 0xe94a
+ - "": [t: "двойное равно"] # 0xe94b
+ - "": [t: "тройное равно"] # 0xe94c
+ - "": [t: "правило отложено"] # 0xe94d
+ - "": [t: "разделитель псевдонимов"] # 0xe94e
+ - "": [t: "нормальная подгруппа с чертой"] # 0xe950
+ - "": [t: "содержит как нормальную подгруппу с чертой"] # 0xe951
+ - "": [t: "скруглённое следует"] # 0xe954
+ - "": [t: "улыбка под чертой"] # 0xe955
+ - "": [t: "хмурый над чертой"] # 0xe956
+ - "": [t: "надмножество или почти равно"] # 0xe957
+ - "": [t: "подмножество или почти равно"] # 0xe958
+ - "": [t: "больше, почти равно или меньше"] # 0xe959
+ - "": [t: "меньше, почти равно или больше"] # 0xe95a
+ - "": [t: "двойное логическое или"] # 0xe95c
+ - "": [t: "двойное логическое и"] # 0xe95d
+ - "": [t: "логическое или с двойной чертой снизу"] # 0xe95e
+ - "": [t: "логическое или с чертой снизу"] # 0xe95f
+ - "": [t: "почти равно над равно"] # 0xe962
+ - "": [t: "левый треугольник с биссектрисой"] # 0xe964
+ - "": [t: "правый треугольник с биссектрисой"] # 0xe965
+ - "": [t: "равно с пунктирной верхней линией"] # 0xe966
+ - "": [t: "предшествует с двоеточием"] # 0xe967
+ - "": [t: "следует с двоеточием"] # 0xe968
+ - "": [t: "меньше или равно наклонное"] # 0xe969
+ - "": [t: "больше или равно наклонное"] # 0xe96a
+ - "": [t: "вложенное очень много меньше"] # 0xe96b
+ - "": [t: "вложенное очень много больше"] # 0xe96c
+ - "": [t: "разность вариант"] # 0xe96d
+ - "": [t: "меньше больше наложение"] # 0xe96e
+ - "": [t: "логическое или логическое и наложение"] # 0xe96f
+ - "": [t: "надмножество над надмножеством"] # 0xe970
+ - "": [t: "подмножество над подмножеством"] # 0xe971
+ - "": [t: "надмножество над подмножеством"] # 0xe972
+ - "": [t: "подмножество над надмножеством"] # 0xe973
+ - "": [t: "тройная вертикальная черта"] # 0xe979
+ - "": [t: "парные четверные вертикальные точки"] # 0xe97a
+ - "": [t: "перпендикуляр над чертой"] # 0xe97b
+ - "": [t: "левый турникет двойная вертикальная черта"] # 0xe97c
+ - "": [t: "двойной левый турникет двойная вертикальная черта"] # 0xe97d
+ - "": [t: "перпендикуляр над перевёрнутым перпендикуляром"] # 0xe97e
+ - "": [t: "двойной левый турникет вертикальная черта"] # 0xe97f
+ - "": [t: "сферический угол, открытый вверх"] # 0xe980
+ - "": [t: "двойная косая черта"] # 0xe981
+ - "": [t: "прямой угол с уголком"] # 0xe982
+ - "": [t: "вертикальная черта в круге"] # 0xe984
+ - "": [t: "знак деления в круге"] # 0xe985
+ - "": [t: "пунктирная косая черта"] # 0xe986
+ - "": [t: "пунктирная обратная косая черта"] # 0xe987
+ - "": [t: "пунктирная средняя линия"] # 0xe988
+ - "": [t: "пунктирная вертикальная черта"] # 0xe989
+ - "": [t: "перпендикуляр с s"] # 0xe98a
+ - "": [t: "угол с s"] # 0xe98b
+ - "": [t: "сферический угол, открытый влево"] # 0xe98c
+ - "": [t: "угол, открытый влево"] # 0xe98d
+ - "": [t: "вертикальная черта с двойным крюком"] # 0xe98e
+ - "": [t: "средняя точка свободный радикал"] # 0xe98f
+ - "": [t: "белый треугольник остриём вверх над чертой"] # 0xe990
+ - "": [t: "тождественно и параллельно"] # 0xe991
+ - "": [t: "разбивающее произведение"] # 0xe992
+ - "": [t: "тройная черта с горизонтальной чертой"] # 0xe993
+ - "": [t: "тождественно с двойной косой чертой"] # 0xe994
+ - "": [t: "тройные перекрещенные черты"] # 0xe995
+ - "": [t: "вертикальная черта над кругом"] # 0xe996
+ - "": [t: "вертикальная пропорциональность"] # 0xe997
+ - "": [t: "чёрная последняя четверть луны"] # 0xe998
+ - "": [t: "чёрная первая четверть луны"] # 0xe999
+ - "": [t: "отрицательная синусоида"] # 0xe9a0
+ - "": [t: "точка в скобках"] # 0xe9a1
+ - "": [t: "скобки"] # 0xe9a2
+ - "": [t: "белая улыбка"] # 0xe9a3
+ - "": [t: "белый хмурый"] # 0xe9a4
+ - "": [t: "шестиугольник"] # 0xe9a5
+ - "": [t: "эквивалентно над плюсом"] # 0xe9a6
+ - "": [t: "плюс над эквивалентно"] # 0xe9a7
+ - "": [t: "пересечение с засечками"] # 0xe9b0
+ - "": [t: "объединение с засечками"] # 0xe9b1
+ - "": [t: "квадратное пересечение с засечками"] # 0xe9b2
+ - "": [t: "квадратное объединение с засечками"] # 0xe9b3
+ - "": [t: "предшествует, эквивалентно или следует"] # 0xe9e0
+ - "": [t: "следует, эквивалентно или предшествует"] # 0xe9e1
+ - "": [t: "предшествует, почти равно или следует"] # 0xe9e2
+ - "": [t: "следует, почти равно или предшествует"] # 0xe9e3
+ - "": [t: "меньше, эквивалентно или больше"] # 0xe9f0
+ - "": [t: "больше, эквивалентно или меньше"] # 0xe9f1
+ - "": [t: "не очень много меньше"] # 0xea00
+ - "": [t: "не очень много больше"] # 0xea01
+ - "": [t: "не много меньше вариант"] # 0xea02
+ - "": [t: "не много больше вариант"] # 0xea03
+ - "": [t: "меньше, верт. не двойное равно"] # 0xea04
+ - "": [t: "больше, верт. не двойное равно"] # 0xea05
+ - "": [t: "не меньше и не равно"] # 0xea06
+ - "": [t: "не больше и не равно"] # 0xea07
+ - "": [t: "ни равно, ни меньше"] # 0xea09
+ - "": [t: "не содержит и не равно"] # 0xea0a
+ - "": [t: "ни надмножество, ни равно"] # 0xea0b
+ - "": [t: "ни подмножество, ни равно"] # 0xea0c
+ - "": [t: "обратная косая подмножество"] # 0xea0d
+ - "": [t: "ни равно, ни больше"] # 0xea0e
+ - "": [t: "не минус тильда"] # 0xea0f
+ - "": [t: "ни равно, ни меньше"] # 0xea10
+ - "": [t: "не тильда"] # 0xea11
+ - "": [t: "не элемент и не равно"] # 0xea12
+ - "": [t: "ни равно, ни больше"] # 0xea13
+ - "": [t: "не почти равно"] # 0xea14
+ - "": [t: "не следует похоже"] # 0xea15
+ - "": [t: "меньше или наклонно равно с косой чертой"] # 0xea16
+ - "": [t: "больше или наклонно равно с косой чертой"] # 0xea17
+ - "": [t: "надмножество косая черта"] # 0xea1a
+ - "": [t: "не содержит"] # 0xea1b
+ - "": [t: "не меньше или не равно"] # 0xea1d
+ - "": [t: "не больше или не равно"] # 0xea1e
+ - "": [t: "не почти равно минус"] # 0xea1f
+ - "": [t: "отрицательная принадлежность множеству с точкой сверху"] # 0xea22
+ - "": [t: "не вертикальный угол"] # 0xea2c
+ - "": [t: "не параллельно наклонно"] # 0xea2d
+ - "": [t: "не оператор черта"] # 0xea2e
+ - "": [t: "не оператор двойная черта"] # 0xea2f
+ - "": [t: "не оператор тройная черта"] # 0xea30
+ - "": [t: "меньше, но не приблизительно равно"] # 0xea32
+ - "": [t: "больше, но не приблизительно равно"] # 0xea33
+ - "": [t: "меньше или не равно"] # 0xea34
+ - "": [t: "больше или не равно"] # 0xea35
+ - "": [t: "не вложенное меньше"] # 0xea36
+ - "": [t: "не вложенное больше"] # 0xea37
+ - "": [t: "не много меньше"] # 0xea38
+ - "": [t: "не много больше"] # 0xea39
+ - "": [t: "предшествует, но не эквивалентно"] # 0xea3a
+ - "": [t: "следует, но не эквивалентно"] # 0xea3b
+ - "": [t: "предшествует, но не равно"] # 0xea3c
+ - "": [t: "следует, но не равно"] # 0xea3d
+ - "": [t: "не равно и не предшествует"] # 0xea3e
+ - "": [t: "не равно и не следует"] # 0xea3f
+ - "": [t: "предшествует, но не равно"] # 0xea40
+ - "": [t: "следует, но не равно"] # 0xea41
+ - "": [t: "не подмножество и не равно"] # 0xea42
+ - "": [t: "не надмножество и не равно"] # 0xea43
+ - "": [t: "подмножество или не равно"] # 0xea44
+ - "": [t: "надмножество или не равно"] # 0xea45
+ - "": [t: "не подмножество и не равно"] # 0xea46
+ - "": [t: "не надмножество и не равно"] # 0xea47
+ - "": [t: "не тройное меньше"] # 0xea48
+ - "": [t: "не тройное больше"] # 0xea49
+ - "": [t: "не предшествует равно"] # 0xea4c
+ - "": [t: "не следует равно"] # 0xea4d
+ - "": [t: "не нормальная подгруппа с чертой"] # 0xea50
+ - "": [t: "не содержит как нормальную подгруппу с чертой"] # 0xea51
+ - "": [t: "не разность"] # 0xea52
+ - "": [t: "не геометрически эквивалентно"] # 0xea53
+ - "": [t: "не вертикально похоже"] # 0xea54
+ - "": [t: "не равно или не похоже"] # 0xea55
+ - "": [t: "не вертикально приблизительно"] # 0xea56
+ - "": [t: "не приблизительно тождественно"] # 0xea57
+ - "": [t: "не бугристое равно"] # 0xea58
+ - "": [t: "не бугристое одинарное равно"] # 0xea59
+ - "": [t: "не равно с точкой"] # 0xea5a
+ - "": [t: "обратное не эквивалентно"] # 0xea5b
+ - "": [t: "не квадратное подмножество"] # 0xea60
+ - "": [t: "не квадратное надмножество"] # 0xea61
+ - "": [t: "не почти равно над равно"] # 0xea62
+ - "": [t: "не строго эквивалентно"] # 0xea63
+ - "": [t: "не конгруэнтно с точкой"] # 0xea64
+ - "": [t: "обратное не равно"] # 0xea65
+ - "": [t: "не вертикально левый треугольник равно"] # 0xea70
+ - "": [t: "не вертикально правый треугольник равно"] # 0xea71
+ - "": [t: "не частная"] # 0xea80
+ - "": [t: "удлинитель стрелки"] # 0xeb00
+ - "": [t: "стрелка вправо над стрелкой влево"] # 0xeb01
+ - "": [t: "стрелка вправо над стрелкой влево"] # 0xeb02
+ - "": [t: "гарпун вправо над гарпуном влево"] # 0xeb03
+ - "": [t: "гарпун вправо над гарпуном влево"] # 0xeb04
+ - "": [t: "двойная стрелка северо-восток-юго-запад"] # 0xeb05
+ - "": [t: "двойная стрелка северо-запад-юго-восток"] # 0xeb06
+ - "": [t: "горизонтальный удлинитель гарпуна"] # 0xeb07
+ - "": [t: "дуговая стрелка против часовой влево"] # 0xeb08
+ - "": [t: "дуговая стрелка против часовой вправо"] # 0xeb09
+ - "": [t: "большая стрелка вправо акцент"] # 0xeb0b
+ - "": [t: "большая стрелка влево акцент"] # 0xeb0c
+ - "": [t: "наконечник стрелки влево"] # 0xeb0d
+ - "": [t: "наконечник стрелки вправо"] # 0xeb0e
+ - "": [t: "большая стрелка влево-вправо со штрихом"] # 0xeb0f
+ - "": [t: "горизонтальный удлинитель двойной стрелки"] # 0xeb10
+ - "": [t: "большая двойная стрелка влево-вправо со штрихом"] # 0xeb11
+ - "": [t: "стрелка вниз слева от стрелки вверх"] # 0xeb12
+ - "": [t: "стрелка влево с уголком вниз"] # 0xeb13
+ - "": [t: "стрелка вправо с уголком вверх"] # 0xeb14
+ - "": [t: "стрелка влево с уголком вверх"] # 0xeb15
+ - "": [t: "верхняя полуокружность против часовой с плюсом"] # 0xeb16
+ - "": [t: "верхняя полуокружность по часовой с минусом"] # 0xeb17
+ - "": [t: "стрелка вправо с хвостом со штрихом"] # 0xeb18
+ - "": [t: "правый гарпун вниз"] # 0xeb19
+ - "": [t: "левый гарпун вниз"] # 0xeb1a
+ - "": [t: "левый и правый гарпун вниз"] # 0xeb1b
+ - "": [t: "левый и правый гарпун вверх"] # 0xeb1c
+ - "": [t: "верхний и нижний гарпун влево"] # 0xeb1d
+ - "": [t: "верхний и нижний гарпун вправо"] # 0xeb1e
+ - "": [t: "стрелка вверх справа от стрелки вниз"] # 0xeb1f
+ - "": [t: "левый гарпун к черте остриём вверх"] # 0xeb20
+ - "": [t: "правый гарпун к черте остриём вверх"] # 0xeb21
+ - "": [t: "левый гарпун к черте остриём вниз"] # 0xeb22
+ - "": [t: "правый гарпун к черте остриём вниз"] # 0xeb23
+ - "": [t: "левый гарпун от черты остриём вверх"] # 0xeb24
+ - "": [t: "правый гарпун от черты остриём вверх"] # 0xeb25
+ - "": [t: "левый гарпун от черты остриём вниз"] # 0xeb26
+ - "": [t: "правый гарпун от черты остриём вниз"] # 0xeb27
+ - "": [t: "верхний гарпун к черте остриём влево"] # 0xeb28
+ - "": [t: "нижний гарпун к черте остриём влево"] # 0xeb29
+ - "": [t: "верхний гарпун к черте остриём вправо"] # 0xeb2a
+ - "": [t: "нижний гарпун к черте остриём вправо"] # 0xeb2b
+ - "": [t: "верхний гарпун от черты остриём влево"] # 0xeb2c
+ - "": [t: "нижний гарпун от черты остриём влево"] # 0xeb2d
+ - "": [t: "верхний гарпун от черты остриём вправо"] # 0xeb2e
+ - "": [t: "нижний гарпун от черты остриём вправо"] # 0xeb2f
+ - "": [t: "стрелка вверх к черте"] # 0xeb30
+ - "": [t: "стрелка вниз к черте"] # 0xeb31
+ - "": [t: "верхний гарпун слева от нижнего гарпуна"] # 0xeb32
+ - "": [t: "верхний гарпун справа от нижнего гарпуна"] # 0xeb33
+ - "": [t: "наконечник стрелки вверх"] # 0xeb34
+ - "": [t: "наконечник стрелки вниз"] # 0xeb35
+ - "": [t: "двойной гарпун с левым остриём вниз, правым вверх"] # 0xeb36
+ - "": [t: "двойной гарпун с левым остриём вверх, правым вниз"] # 0xeb37
+ - "": [t: "стрелка влево над чертой"] # 0xeb38
+ - "": [t: "стрелка вправо над чертой"] # 0xeb39
+ - "": [t: "стрелка влево под чертой"] # 0xeb3a
+ - "": [t: "стрелка вправо под чертой"] # 0xeb3b
+ - "": [t: "тройная стрелка влево-вправо"] # 0xeb3c
+ - "": [t: "двойная стрелка северо-восток-юго-восток"] # 0xeb3f
+ - "": [t: "левая полуокружность против часовой"] # 0xeb40
+ - "": [t: "левая полуокружность по часовой"] # 0xeb41
+ - "": [t: "левый открытый круг стрелка влево-вправо"] # 0xeb42
+ - "": [t: "стрелка вправо над тильдой"] # 0xeb44
+ - "": [t: "стрелка влево над тильдой"] # 0xeb45
+ - "": [t: "левый гарпун над чертой"] # 0xeb48
+ - "": [t: "правый гарпун над чертой"] # 0xeb49
+ - "": [t: "левый гарпун под чертой"] # 0xeb4a
+ - "": [t: "правый гарпун под чертой"] # 0xeb4b
+ - "": [t: "приземистая чёрная стрелка влево"] # 0xeb4c
+ - "": [t: "правая полуокружность по часовой"] # 0xeb50
+ - "": [t: "правая полуокружность против часовой"] # 0xeb51
+ - "": [t: "левый открытый круг левый-правый гарпун"] # 0xeb52
+ - "": [t: "стрелка вверх слева от вертикальной черты"] # 0xeb58
+ - "": [t: "стрелка вниз слева от вертикальной черты"] # 0xeb59
+ - "": [t: "стрелка вверх справа от вертикальной черты"] # 0xeb5a
+ - "": [t: "стрелка вниз справа от вертикальной черты"] # 0xeb5b
+ - "": [t: "стрелка вправо с удлинённым нижним крюком"] # 0xeb5c
+ - "": [t: "стрелка влево с удлинённым крюком"] # 0xeb5d
+ - "": [t: "стрелка влево с удлинённым нижним крюком"] # 0xeb5e
+ - "": [t: "стрелка вправо с удлинённым крюком"] # 0xeb5f
+ - "": [t: "не волнистая стрелка вправо"] # 0xeb60
+ - "": [t: "не изогнутая стрелка вправо"] # 0xeb61
+ - "": [t: "верхний гарпун слева от вертикальной черты"] # 0xeb68
+ - "": [t: "нижний гарпун слева от вертикальной черты"] # 0xeb69
+ - "": [t: "верхний гарпун справа от вертикальной черты"] # 0xeb6a
+ - "": [t: "нижний гарпун справа от вертикальной черты"] # 0xeb6b
+ - "": [t: "вертикальный удлинитель двойной стрелки"] # 0xeb6c
+ - "": [t: "вертикальный удлинитель гарпуна с остриём влево"] # 0xeb6d
+ - "": [t: "вертикальный удлинитель гарпуна с остриём вправо"] # 0xeb6e
+ - "": [t: "правый гарпун над левым гарпуном, правый"] # 0xeb6f
+ - "": [t: "правый гарпун над левым гарпуном, левый"] # 0xeb70
+ - "": [t: "левый гарпун над правым гарпуном, правый"] # 0xeb71
+ - "": [t: "левый гарпун над правым гарпуном, левый"] # 0xeb72
+ - "": [t: "наконечник стрелки влево от черты"] # 0xeb73
+ - "": [t: "удлинитель стрелки влево-вправо от черты"] # 0xeb74
+ - "": [t: "хвост стрелки влево от черты"] # 0xeb75
+ - "": [t: "хвост стрелки вправо от черты"] # 0xeb76
+ - "": [t: "наконечник стрелки вправо от черты"] # 0xeb77
+ - "": [t: "наконечник верхнего гарпуна от черты с остриём влево"] # 0xeb78
+ - "": [t: "стрелка вправо над стрелкой влево, правая"] # 0xeb79
+ - "": [t: "стрелка вправо над стрелкой влево, левая"] # 0xeb7a
+ - "": [t: "стрелка влево над стрелкой вправо, правая"] # 0xeb7b
+ - "": [t: "стрелка влево над стрелкой вправо, левая"] # 0xeb7c
+ - "": [t: "наконечник стрелки вверх от черты"] # 0xeb7d
+ - "": [t: "хвост стрелки вверх от черты"] # 0xeb7e
+ - "": [t: "хвост стрелки вниз от черты"] # 0xeb7f
+ - "": [t: "наконечник стрелки вниз от черты"] # 0xeb80
+ - "": [t: "наконечник нижнего гарпуна от черты с остриём вправо"] # 0xeb81
+ - "": [t: "верхний гарпун слева от нижнего гарпуна, низ"] # 0xeb82
+ - "": [t: "верхний гарпун слева от нижнего гарпуна, удлинитель"] # 0xeb83
+ - "": [t: "нижний гарпун слева от верхнего гарпуна, верх"] # 0xeb84
+ - "": [t: "верхний гарпун слева от нижнего гарпуна, верх"] # 0xeb85
+ - "": [t: "нижний гарпун слева от верхнего гарпуна, удлинитель"] # 0xeb86
+ - "": [t: "нижний гарпун слева от верхнего гарпуна, низ"] # 0xeb87
+ - "": [t: "стрелка вверх слева от стрелки вниз, низ"] # 0xeb88
+ - "": [t: "стрелка вниз слева от стрелки вверх, верх"] # 0xeb89
+ - "": [t: "стрелка вверх слева от стрелки вниз, верх"] # 0xeb8a
+ - "": [t: "стрелка вниз слева от стрелки вверх, низ"] # 0xeb8b
+ - "": [t: "удлинитель стрелок влево-вправо"] # 0xeb8c
+ - "": [t: "удлинитель стрелки на северо-восток"] # 0xeb8d
+ - "": [t: "удлинитель стрелки на северо-запад"] # 0xeb8e
+ - "": [t: "нижняя фигурная скобка, левая часть"] # 0xec00
+ - "": [t: "нижняя фигурная скобка, средняя часть"] # 0xec01
+ - "": [t: "нижняя фигурная скобка, правая часть"] # 0xec02
+ - "": [t: "горизонтальный удлинитель фигурной скобки"] # 0xec03
+ - "": [t: "верхняя фигурная скобка, левая часть"] # 0xec04
+ - "": [t: "верхняя фигурная скобка, средняя часть"] # 0xec05
+ - "": [t: "верхняя фигурная скобка, правая часть"] # 0xec06
+ - "": [t: "левая вертикальная черта"] # 0xec07
+ - "": [t: "правая вертикальная черта"] # 0xec08
+ - "": [t: "левая двойная вертикальная черта"] # 0xec09
+ - "": [t: "правая двойная вертикальная черта"] # 0xec0a
+ - "": [t: "горизонтальный удлинитель скобки"] # 0xec0b
+ - "": [t: "под квадратной скобкой"] # 0xec0c
+ - "⎵": [t: "под квадратной скобкой"] # 0x23b5
+ - "": [t: "над квадратной скобкой"] # 0xec0d
+ - "⎴": [t: "над квадратной скобкой"] # 0x23b4
+ - "": [t: "нижняя скобка, левая часть"] # 0xec0e
+ - "": [t: "нижняя скобка, правая часть"] # 0xec0f
+ - "": [t: "верхняя скобка, левая часть"] # 0xec10
+ - "": [t: "верхняя скобка, правая часть"] # 0xec11
+ - "": [t: "левая скобка 1"] # 0xec12
+ - "": [t: "левая скобка 2"] # 0xec13
+ - "": [t: "левая скобка 3"] # 0xec14
+ - "": [t: "левая скобка 4"] # 0xec15
+ - "": [t: "правая скобка 1"] # 0xec16
+ - "": [t: "правая скобка 2"] # 0xec17
+ - "": [t: "правая скобка 3"] # 0xec18
+ - "": [t: "правая скобка 4"] # 0xec19
+ - "": [t: "радикал 1"] # 0xec1a
+ - "": [t: "радикал 2"] # 0xec1b
+ - "": [t: "радикал 3"] # 0xec1c
+ - "": [t: "радикал 4"] # 0xec1d
+ - "": [t: "радикал 5"] # 0xec1e
+ - "": [t: "нижняя часть радикала"] # 0xec1f
+ - "": [t: "вертикальный удлинитель радикала"] # 0xec20
+ - "": [t: "верхняя часть радикала"] # 0xec21
+ - "": [t: "левая белая скобка, верхняя часть"] # 0xec22
+ - "": [t: "левая белая скобка, удлинитель"] # 0xec23
+ - "": [t: "левая белая скобка, нижняя часть"] # 0xec24
+ - "": [t: "правая белая скобка, верхняя часть"] # 0xec25
+ - "": [t: "правая белая скобка, удлинитель"] # 0xec26
+ - "": [t: "правая белая скобка, нижняя часть"] # 0xec27
+ - "": [t: "левая белая фигурная скобка"] # 0xec30
+ - "": [t: "правая белая фигурная скобка"] # 0xec31
+ - "": [t: "знак длинного деления"] # 0xec32
+ - "": [t: "удлинитель знака длинного деления"] # 0xec33
+ - "": [t: "короткое деление"] # 0xec34
+ - "": [t: "двойная связь с юго-запада на северо-восток"] # 0xec40
+ - "": [t: "двойная связь с северо-запада на юго-восток"] # 0xec41
+ - "": [t: "одинарная горизонтальная связь"] # 0xec42
+ - "": [t: "двойная горизонтальная связь"] # 0xec43
+ - "": [t: "тройная горизонтальная связь"] # 0xec44
+ - "": [t: "одинарная вертикальная связь"] # 0xec45
+ - "": [t: "двойная вертикальная связь"] # 0xec46
+ - "": [t: "тройная вертикальная связь"] # 0xec47
+ - "": [t: "связь меньше"] # 0xec48
+ - "": [t: "связь больше"] # 0xec49
+ - "": [t: "одинарная горизонтальная связь en"] # 0xec4a
+ - "": [t: "двойная горизонтальная связь en"] # 0xec4b
+ - "": [t: "тройная горизонтальная связь en"] # 0xec4c
+ - "": [t: "верхний левый прямоугольник"] # 0xec80
+ - "": [t: "нижний левый прямоугольник"] # 0xec81
+ - "": [t: "верхний правый прямоугольник"] # 0xec90
+ - "": [t: "нижний правый прямоугольник"] # 0xec91
+ - "": [t: "угол синтетического деления"] # 0xec92
+ - "": [t: "горизонтальный удлинитель синтетического деления"] # 0xec93
+ - "": [t: "вертикальный удлинитель синтетического деления"] # 0xec94
+ - "": [t: "удлинитель левого потолка/пола"] # 0xec95
+ - "": [t: "удлинитель правого потолка/пола"] # 0xec96
+ - "": [t: "удлинитель верхней скобки"] # 0xec97
+ - "": [t: "удлинитель вертикальной черты"] # 0xec98
+ - "": [t: "удлинитель левой двойной вертикальной черты"] # 0xec99
+ - "": [t: "удлинитель горизонтальной черты"] # 0xec9a
+ - "": [t: "удлинитель нижней скобки"] # 0xec9c
+ - "": [t: "нижняя скобка, правая часть"] # 0xec9d
+ - "": [t: "удлинитель нижней скобки"] # 0xec9e
+ - "": [t: "нижняя скобка, левая часть"] # 0xec9f
+ - "": [t: "удлинитель верхней фигурной скобки"] # 0xeca0
+ - "": [t: "верхняя скобка, левая часть"] # 0xeca1
+ - "": [t: "удлинитель верхней скобки"] # 0xeca2
+ - "": [t: "верхняя скобка, правая часть"] # 0xeca3
+ - "": [t: "удлинитель нижней фигурной скобки"] # 0xeca4
+ - "": [t: "h-бар"] # 0xed00 (планковская постоянная с чертой, стандартно "h-бар")
+ - "": [t: "зеркальная g"] # 0xed01
+ - "": [t: "j без точки"] # 0xed02
+ - "": [t: "дигамма"] # 0xed03
+ - "ϝ": [t: "дигамма"] # 0x3dd
+ - "": [t: "d"] # 0xed10
+ - "ⅆ": [t: "d"] # 0x2146
+ - "": [t: "e"] # 0xed11
+ - "ⅇ": [t: "e"] # 0x2147
+ - "": [t: "i"] # 0xed12
+ - "ⅈ": [t: "i"] # 0x2148
+ - "": [t: "j"] # 0xed13
- "ⅅ":
- - spell: "translate('.', 'ⅅ', 'DD')" # 0xed16, 0x2145
-
-# The private use chars are from MathType
- - "": [t: "интегральная цикл контура против часовой стрелки"] # 0xee00 (en: 'anticlockwise contour integral loop', google translation)
- - "": [t: "интегральная петля контура по часовой стрелке"] # 0xee01 (en: 'clockwise contour integral loop', google translation)
- - "": [t: ""] # 0xee04
- - "": [t: ""] # 0xee05
- - "": [t: ""] # 0xee06
- - "": [t: ""] # 0xee07
- - "": [t: ""] # 0xee08
- - "": [t: ""] # 0xee09
- - "": [t: ""] # 0xee0a
- - "": [t: ""] # 0xee0b
- - "": [t: ""] # 0xee0c
- - "": [t: "совместное статус украшения"] # 0xee0d (en: 'joint status embellishment', google translation)
- - "": [t: "совместное статус украшений осталось"] # 0xee0e (en: 'joint status embellishment left', google translation)
- - "": [t: "совместное статус правильно"] # 0xee0f (en: 'joint status embellishment right', google translation)
- - "": [t: "совместное статус украснение"] # 0xee10 (en: 'joint status embellishment extender', google translation)
- - "": [t: "интегральная петля"] # 0xee11 (en: 'integral loop', google translation)
- - "": [t: "интегральная петля двойная"] # 0xee12 (en: 'integral loop double', google translation)
- - "": [t: "интегральная петля triple"] # 0xee13 (en: 'integral loop triple', google translation)
- - "": [t: "расширение интегральной петли двойной"] # 0xee15 (en: 'expanding integral loop double', google translation)
- - "": [t: "расширение интегральной петли triple"] # 0xee16 (en: 'expanding integral loop triple', google translation)
- - "": [t: "асимптотически равен акценту"] # 0xee17 (en: 'asymptotically equal to accent', google translation)
- - "": [t: "акцент с равным знаком"] # 0xee18 (en: 'equal sign accent', google translation)
- - "": [t: "четырехкратный prime"] # 0xee19 (en: 'quadruple prime', google translation)
- - "": [t: "бар акцент с открытым кругом слева"] # 0xee1a (en: 'bar accent with open circle left', google translation)
- - "": [t: "бар акцент с закрытым кругом слева"] # 0xee1b (en: 'bar accent with closed circle left', google translation)
- - "": [t: "бар акцент с открытым кругом справа"] # 0xee1c (en: 'bar accent with open circle right', google translation)
- - "": [t: "бар акцент с надтуми"] # 0xee1d (en: 'bar accent with over dot', google translation)
- - "": [t: "бар акцент с под точкой"] # 0xee1e (en: 'bar accent with under dot', google translation)
- - "": [t: "бар акцент с двойным над точкой"] # 0xee1f (en: 'bar accent with double over dot', google translation)
- - "": [t: "бар акцент с двойным под точкой"] # 0xee20 (en: 'bar accent with double under dot', google translation)
- - "": [t: "бар акцент с помощью кареты"] # 0xee21 (en: 'bar accent with caret', google translation)
- - "": [t: "толстый под акцентом"] # 0xee22 (en: 'thick under bar accent', google translation)
- - "": [t: "бар акцент с закрытым кругом справа"] # 0xee23 (en: 'bar accent with closed circle right', google translation)
- - "": [t: "большая точка выше"] # 0xee24 (en: 'large dot above', google translation)
- - "": [t: "марк выравнивания"] # 0xef00 (en: 'alignment mark', google translation)
- - "": [t: ""] # 0xef01
- - "": [t: ""] # 0x200b
- - "": [t: ""] # 0xef02
- - " ": [t: ""] # 0x2009
- - "": [t: ""] # 0xef03
- - " ": [t: ""] # 0x205f
- - "": [t: ""] # 0xef04
- - "": [t: ""] # 0xef05
- - "": [t: ""] # 0xef06
- - "": [t: ""] # 0xef07
- - "": [t: ""] # 0xef08
- - "": [t: ""] # 0xef09
- - "": [t: ""] # 0xef0a
- - " ": [t: ""] # 0x200a
- - "": [t: ""] # 0xef22
- - "": [t: ""] # 0xef23
- - "": [t: ""] # 0xef24
- - "": [t: ""] # 0xef29
- - "": [t: "отсутствующий термин"] # 0xef41 (en: 'missing term', google translation)
- - "": [t: "контурная стрелка часовой стрелки слева"] # 0xef80 (en: 'clockwise contour integral arrow on left', google translation)
- - "": [t: "интеграл с квадратом"] # 0xef81 (en: 'integral with square', google translation)
- - "": [t: "интеграл со складом"] # 0xef82 (en: 'integral with slash', google translation)
- - "": [t: "обратный интеграл"] # 0xef83 (en: 'reversed integral', google translation)
- - "": [t: "двойной ноль над двойным ноль"] # 0xef90 (en: 'double zero over double zero', google translation)
- - "": [t: "ноль со слэш"] # 0xef91 (en: 'zero with slash', google translation)
+ - spell: "translate('.', 'ⅅ', 'DD')" # 0xed16, 0x2145
+
+# Символы из частной области MathType
+ - "": [t: "контурный интеграл против часовой с петлёй"] # 0xee00
+ - "": [t: "контурный интеграл по часовой с петлёй"] # 0xee01
+ - "": [t: ""] # 0xee04
+ - "": [t: ""] # 0xee05
+ - "": [t: ""] # 0xee06
+ - "": [t: ""] # 0xee07
+ - "": [t: ""] # 0xee08
+ - "": [t: ""] # 0xee09
+ - "": [t: ""] # 0xee0a
+ - "": [t: ""] # 0xee0b
+ - "": [t: ""] # 0xee0c
+ - "": [t: "статус соединения"] # 0xee0d
+ - "": [t: "статус соединения, левая часть"] # 0xee0e
+ - "": [t: "статус соединения, правая часть"] # 0xee0f
+ - "": [t: "статус соединения, удлинитель"] # 0xee10
+ - "": [t: "петля интеграла"] # 0xee11
+ - "": [t: "двойная петля интеграла"] # 0xee12
+ - "": [t: "тройная петля интеграла"] # 0xee13
+ - "": [t: "расширяющаяся двойная петля интеграла"] # 0xee15
+ - "": [t: "расширяющаяся тройная петля интеграла"] # 0xee16
+ - "": [t: "асимптотически равно, акцент"] # 0xee17
+ - "": [t: "знак равенства, акцент"] # 0xee18
+ - "": [t: "четверной штрих"] # 0xee19
+ - "": [t: "черта с открытым кружком слева"] # 0xee1a
+ - "": [t: "черта с закрытым кружком слева"] # 0xee1b
+ - "": [t: "черта с открытым кружком справа"] # 0xee1c
+ - "": [t: "черта с точкой сверху"] # 0xee1d
+ - "": [t: "черта с точкой снизу"] # 0xee1e
+ - "": [t: "черта с двойной точкой сверху"] # 0xee1f
+ - "": [t: "черта с двойной точкой снизу"] # 0xee20
+ - "": [t: "черта с каретом"] # 0xee21
+ - "": [t: "жирная нижняя черта"] # 0xee22
+ - "": [t: "черта с закрытым кружком справа"] # 0xee23
+ - "": [t: "большая точка сверху"] # 0xee24
+ - "": [t: "знак выравнивания"] # 0xef00
+ - "": [t: ""] # 0xef01
+ - "": [t: ""] # 0x200b
+ - "": [t: ""] # 0xef02
+ - " ": [t: ""] # 0x2009
+ - "": [t: ""] # 0xef03
+ - " ": [t: ""] # 0x205f
+ - "": [t: ""] # 0xef04
+ - "": [t: ""] # 0xef05
+ - "": [t: ""] # 0xef06
+ - "": [t: ""] # 0xef07
+ - "": [t: ""] # 0xef08
+ - "": [t: ""] # 0xef09
+ - "": [t: ""] # 0xef0a
+ - " ": [t: ""] # 0x200a
+ - "": [t: ""] # 0xef22
+ - "": [t: ""] # 0xef23
+ - "": [t: ""] # 0xef24
+ - "": [t: ""] # 0xef29
+ - "": [t: "пропущенный член"] # 0xef41
+ - "": [t: "контурный интеграл по часовой, стрелка слева"] # 0xef80
+ - "": [t: "интеграл с квадратом"] # 0xef81
+ - "": [t: "интеграл с косой чертой"] # 0xef82
+ - "": [t: "обратный интеграл"] # 0xef83
+ - "": [t: "двойной ноль над двойным нулём"] # 0xef90
+ - "": [t: "ноль с косой чертой"] # 0xef91
# fraktur chars in math alphabetic block and also MathType private use area
# Some of these are reserved because they were used in Plane 0 -- that shouldn't be an issue other than causing the other chars to not display
- - "𝔄-𝔜": # 0x1d504 - 0x1d51d ('z' version is reserved)
- - t: "фрактур" # (en: 'fraktur', google translation)
+ - "𝔄-𝔜": # 0x1d504 - 0x1d51d ('z' version is reserved)
+ - t: "фрактура"
- spell: "translate('.', '𝔄𝔅𝔇𝔈𝔉𝔊𝔍𝔎𝔏𝔐𝔑𝔒𝔓𝔔𝔖𝔗𝔘𝔙𝔚𝔛𝔜', 'ABCDEFGHIJKLMNOPQRSTUVWXY')"
- - "-": # 0xf000 - 0xf018
- - t: "фрактур" # (en: 'fraktur', google translation)
+ - "-": # 0xf000 - 0xf018
+ - t: "фрактура"
- spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXY')"
- - "𝔞-𝔷": # 0x1d51e - 0x1d537
- - t: "фрактур" # (en: 'fraktur', google translation)
+ - "𝔞-𝔷": # 0x1d51e - 0x1d537
+ - t: "фрактура"
- spell: "translate('.', '𝔞𝔟𝔠𝔡𝔢𝔣𝔤𝔥𝔦𝔧𝔨𝔩𝔪𝔫𝔬𝔭𝔮𝔯𝔰𝔱𝔲𝔳𝔴𝔵𝔶𝔷', 'abcdefghijklmnopqrstuvwxyz')"
- - "-": # 0xf01a - 0xf033
- - t: "фрактур" # (en: 'fraktur', google translation)
+ - "-": # 0xf01a - 0xf033
+ - t: "фрактура"
- spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
- - "𝕬-𝖅": # 0x1D56C - 0x1D585
- - t: "fraktur bold" # (google translation)
+ - "𝕬-𝖅": # 0x1D56C - 0x1D585
+ - t: "фрактура"
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '𝕬𝕭𝕮𝕯𝕰𝕱𝕲𝕳𝕴𝕵𝕶𝕷𝕸𝕹𝕺𝕻𝕼𝕽𝕾𝕿𝖀𝖁𝖂𝖃𝖄𝖅', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "-": # 0xf040 - 0xf059
- - t: "fraktur bold" # (google translation)
+ - "-": # 0xf040 - 0xf059
+ - t: "фрактура"
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "𝖆-𝖟": # 0x1d586 - 0x1d59f
- - t: "fraktur bold" # (google translation)
+ - "𝖆-𝖟": # 0x1d586 - 0x1d59f
+ - t: "фрактура"
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '𝖆𝖇𝖈𝖉𝖊𝖋𝖌𝖍𝖎𝖏𝖐𝖑𝖒𝖓𝖔𝖕𝖖𝖗𝖘𝖙𝖚𝖛𝖜𝖝𝖞𝖟', 'abcdefghijklmnopqrstuvwxyz')"
- - "-": # 0xf05a - 0xf073
- - t: "fraktur bold" # (google translation)
+ - "-": # 0xf05a - 0xf073
+ - t: "фрактура"
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
# double struck (blackboard bold) chars in math alphabetic block and also MathType private use area
# Some of these are reserved because they were used in Plane 0 -- that shouldn't be an issue other than causing the other chars to not display
- - "𝔸-𝕐": # 0x1d504 - 0x1d51d ('z' version is reserved)
- - t: "двойной удар" # (en: 'double struck', google translation)
+ - "𝔸-𝕐": # 0x1d504 - 0x1d51d ('z' version is reserved)
+ - t: "двойной контур"
- spell: "translate('.', '𝔸𝔹𝔻𝔼𝔽𝔾𝕀𝕁𝕂𝕃𝕄𝕆𝕊𝕋𝕌𝕍𝕎𝕏𝕐', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "-": # 0xf080 - 0xf098
- - t: "двойной удар" # (en: 'double struck', google translation)
+ - "-": # 0xf080 - 0xf098
+ - t: "двойной контур"
- spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "𝕒-𝕫": # 0x1d552 - 0x1d56b
- - t: "двойной удар" # (en: 'double struck', google translation)
+ - "𝕒-𝕫": # 0x1d552 - 0x1d56b
+ - t: "двойной контур"
- spell: "translate('.', '𝕒𝕓𝕔𝕕𝕖𝕗𝕘𝕙𝕚𝕛𝕜𝕝𝕞𝕟𝕠𝕡𝕢𝕣𝕤𝕥𝕦𝕧𝕨𝕩𝕪𝕫', 'abcdefghijklmnopqrstuvwxyz')"
- - "-": # 0xf09a - 0xf0b3
- - t: "двойной удар" # (en: 'double struck', google translation)
+ - "-": # 0xf09a - 0xf0b3
+ - t: "двойной контур"
- spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
- - "𝟘-𝟡": # 0x1d7d8 - 0x1d7e1
- - t: "двойной удар" # (en: 'double struck', google translation)
+ - "𝟘-𝟡": # 0x1d7d8 - 0x1d7e1
+ - t: "двойной контур"
- spell: "translate('.', '𝟘𝟙𝟚𝟛𝟜𝟝𝟞𝟟𝟠𝟡', '0123456789')"
- - "-": # 0xf0c0 - 0xf0c9
- - t: "двойной удар" # (en: 'double struck', google translation)
+ - "-": # 0xf0c0 - 0xf0c9
+ - t: "двойной контур"
- spell: "translate('.', '', '0123456789')"
- - "": [t: "дважды поразил нахбла"] # 0xf0ca (en: 'double struck nahblah', google translation)
- - "": [t: "дважды ударил эйлера постоянна"] # 0xf0cb (en: 'double struck euler constant', google translation)
+ - "": [t: "набла с двойным контуром"] # 0xf0ca
+ - "": [t: "эйлерова константа с двойным контуром"] # 0xf0cb
# script chars in math alphabetic block and also MathType private use area
- - "𝒜-𝒵": # 0x1d49c - 0x1d4b5
- - t: "сценарий" # (en: 'script', google translation)
+ - "𝒜-𝒵": # 0x1d49c - 0x1d4b5
+ - t: "рукописная"
- spell: "translate('.', '𝒜𝒞𝒟𝒢𝒥𝒦𝒩𝒪𝒫𝒬𝒮𝒯𝒰𝒱𝒲𝒳𝒴𝒵', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "-": # 0xf100 - 0xf119
- - t: "сценарий" # (en: 'script', google translation)
+ - "-": # 0xf100 - 0xf119
+ - t: "рукописная"
- spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "𝒶-𝓏": # 0x1d4b6 - 0x1d4cf
- - t: "сценарий" # (en: 'script', google translation)
+ - "𝒶-𝓏": # 0x1d4b6 - 0x1d4cf
+ - t: "рукописная"
- spell: "translate('.', '𝒶𝒷𝒸𝒹𝒻𝒽𝒾𝒿𝓀𝓁𝓂𝓃𝓅𝓆𝓇𝓈𝓉𝓊𝓋𝓌𝓍𝓎𝓏', 'abcdefghijklmnopqrstuvwxyz')"
- - "-": # 0xf11a - 0xf133
- - t: "сценарий" # (en: 'script', google translation)
+ - "-": # 0xf11a - 0xf133
+ - t: "рукописная"
- spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
# bold script chars in math alphabetic block and also MathType private use area
- - "𝓐-𝓩": # 0x1d4d0 - 0x1d4e9
- - t: "скрипт жирный" # (en: 'script bold', google translation)
+ - "𝓐-𝓩": # 0x1d4d0 - 0x1d4e9
+ - t: "рукописная"
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '𝓐𝓑𝓒𝓓𝓔𝓕𝓖𝓗𝓘𝓙𝓚𝓛𝓜𝓝𝓞𝓟𝓠𝓡𝓢𝓣𝓤𝓥𝓦𝓧𝓨𝓩', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "-": # 0xf140 - 0xf159
- - t: "скрипт жирный" # (en: 'script bold', google translation)
+ - "-": # 0xf140 - 0xf159
+ - t: "рукописная"
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "𝓪-𝔃": # 0x1d4ea - 0x1d503
- - t: "скрипт жирный" # (en: 'script bold', google translation)
+ - "𝓪-𝔃": # 0x1d4ea - 0x1d503
+ - t: "рукописная"
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '𝓪𝓫𝓬𝓭𝓮𝓯𝓰𝓱𝓲𝓳𝓴𝓵𝓶𝓷𝓸𝓹𝓺𝓻𝓼𝓽𝓾𝓿𝔀𝔁𝔂𝔃', 'abcdefghijklmnopqrstuvwxyz')"
- - "-": # 0xf15a - 0xf173
- - t: "скрипт жирный" # (en: 'script bold', google translation)
+ - "-": # 0xf15a - 0xf173
+ - t: "рукописная"
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
- - "-": # 0xf180 - 0xf199
+ - "-": # 0xf180 - 0xf199
- spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "": # 0xf19a
+ - "": # 0xf19a
- test:
if: "$CapitalLetters_Beep"
then:
@@ -2655,12 +3248,12 @@ en: 'right harpoon over left harpoon', google translation)
if: "$SpeechOverrides_CapitalLetters = ''"
then_test:
if: "$Impairment = 'Blindness'"
- then: [t: "пропусков"] # (en: 'cap', google translation)
+ then: [t: "заглавная"]
else: [x: "$SpeechOverrides_CapitalLetters"]
- pitch:
value: "$CapitalLetters_Pitch"
- replace: [t: "лигатура ae"] # (en: 'ligature ae', google translation)
- - "": # 0xf19b
+ replace: [t: "лигатура ae"]
+ - "": # 0xf19b
- test:
if: "$CapitalLetters_Beep"
then:
@@ -2673,12 +3266,12 @@ en: 'right harpoon over left harpoon', google translation)
if: "$SpeechOverrides_CapitalLetters = ''"
then_test:
if: "$Impairment = 'Blindness'"
- then: [t: "пропусков"] # (en: 'cap', google translation)
+ then: [t: "заглавная"]
else: [x: "$SpeechOverrides_CapitalLetters"]
- pitch:
value: "$CapitalLetters_Pitch"
- replace: [t: "острый с"] # (en: 'sharp s', google translation)
- - "": # 0xf19c
+ replace: [t: "эсцет"]
+ - "": # 0xf19c
- test:
if: "$CapitalLetters_Beep"
then:
@@ -2691,950 +3284,520 @@ en: 'right harpoon over left harpoon', google translation)
if: "$SpeechOverrides_CapitalLetters = ''"
then_test:
if: "$Impairment = 'Blindness'"
- then: [t: "пропусков"] # (en: 'cap', google translation)
+ then: [t: "заглавная"]
else: [x: "$SpeechOverrides_CapitalLetters"]
- pitch:
value: "$CapitalLetters_Pitch"
- replace: [t: "o с инсультом"] # (en: 'o with stroke', google translation)
+ replace: [t: "o со штрихом"]
# MathType only has a few of the cap Greek letters in PUA
- - "": # 0xf201 - 0xf209
- - t: "двойной удар" # (en: 'double struck', google translation)
+ - "": # 0xf201 - 0xf209
+ - t: "двойной контур"
- spell: "translate('.', '', 'ΔΨΛΠΣΘΓΩΥ')"
- - "-": # 0xf220 - 0xf236
- - t: "двойной удар" # (en: 'double struck', google translation)
+ - "-": # 0xf220 - 0xf236
+ - t: "двойной контур"
- spell: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
- - "": [t: "двойной удар final sigma"] # 0xf237 (en: 'double struck final sigma', google translation)
- - "": [t: "дважды поразил ро"] # 0xf250 (en: 'double struck rho', google translation)
- - "": [t: "двойной удар phi"] # 0xf251 (en: 'double struck phi', google translation)
- - "𝐀-𝐙": # 0x1d400 - 0x1d419
- - t: "смелый" # (en: 'bold', google translation)
+ - "": [t: "конечная сигма с двойным контуром"] # 0xf237
+ - "": [t: "ро с двойным контуром"] # 0xf250
+ - "": [t: "фи с двойным контуром"] # 0xf251
+ - "𝐀-𝐙": # 0x1d400 - 0x1d419
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '𝐀𝐁𝐂𝐃𝐄𝐅𝐆𝐇𝐈𝐉𝐊𝐋𝐌𝐍𝐎𝐏𝐐𝐑𝐒𝐓𝐔𝐕𝐖𝐗𝐘𝐙', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "-": # 0xf260 - 0xf279
- - t: "смелый" # (en: 'bold', google translation)
+ - "-": # 0xf260 - 0xf279
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "𝐚-𝐳": # 0x1d41a - 0x1d433
- - t: "смелый" # (en: 'bold', google translation)
+ - "𝐚-𝐳": # 0x1d41a - 0x1d433
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '𝐚𝐛𝐜𝐝𝐞𝐟𝐠𝐡𝐢𝐣𝐤𝐥𝐦𝐧𝐨𝐩𝐪𝐫𝐬𝐭𝐮𝐯𝐰𝐱𝐲𝐳', 'abcdefghijklmnopqrstuvwxyz')"
- - "-": # 0xf27a - 0xf293
- - t: "смелый" # (en: 'bold', google translation)
+ - "-": # 0xf27a - 0xf293
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
- - "𝐴-𝑍": # 0x1d434 - 0x1d44d
+ - "𝐴-𝑍": # 0x1d434 - 0x1d44d
- spell: "translate('.', '𝐴𝐵𝐶𝐷𝐸𝐹𝐺𝐻𝐼𝐽𝐾𝐿𝑀𝑁𝑂𝑃𝑄𝑅𝑆𝑇𝑈𝑉𝑊𝑋𝑌𝑍', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "-": # 0xf294 - 0xf2ad
+ - "-": # 0xf294 - 0xf2ad
- spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "𝑎-𝑧": # 0x1d44e - 0x1d467
+ - "𝑎-𝑧": # 0x1d44e - 0x1d467
- spell: "translate('.', '𝑎𝑏𝑐𝑑𝑒𝑓𝑔𝑖𝑗𝑘𝑙𝑚𝑛𝑜𝑝𝑞𝑟𝑠𝑡𝑢𝑣𝑤𝑥𝑦𝑧', 'abcdefghijklmnopqrstuvwxyz')"
- - "-": # 0xf2ae - 0xf2c7
+ - "-": # 0xf2ae - 0xf2c7
- spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
- - "𝑨-𝒁": # 0x1d468 - 0x1d481
+ - "𝑨-𝒁": # 0x1d468 - 0x1d481
# - t: "bold italic"
- - t: "смелый" # (en: 'bold', google translation)
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '𝑨𝑩𝑪𝑫𝑬𝑭𝑮𝑯𝑰𝑱𝑲𝑳𝑴𝑵𝑶𝑷𝑸𝑹𝑺𝑻𝑼𝑽𝑾𝑿𝒀𝒁', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "-": # 0xf2c8 - 0xf2e1
+ - "-": # 0xf2c8 - 0xf2e1
# - t: "bold italic"
- - t: "смелый" # (en: 'bold', google translation)
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "𝒂-𝒛": # 0x1d482 - 0x1d49b
+ - "𝒂-𝒛": # 0x1d482 - 0x1d49b
# - t: "bold italic"
- - t: "смелый" # (en: 'bold', google translation)
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '𝒂𝒃𝒄𝒅𝒆𝒇𝒈𝒉𝒊𝒋𝒌𝒍𝒎𝒏𝒐𝒑𝒒𝒓𝒔𝒕𝒖𝒗𝒘𝒙𝒚𝒛', 'abcdefghijklmnopqrstuvwxyz')"
- - "-": # 0xf2e2 - 0xf2fb
+ - "-": # 0xf2e2 - 0xf2fb
# - t: "bold italic"
- - t: "смелый" # (en: 'bold', google translation)
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
- - "𝖠-𝖹": # 0x1d5a0 - 0x1d5b9
+ - "𝖠-𝖹": # 0x1d5a0 - 0x1d5b9
- spell: "translate('.', '𝖠𝖡𝖢𝖣𝖤𝖥𝖦𝖧𝖨𝖩𝖪𝖫𝖬𝖭𝖮𝖯𝖰𝖱𝖲𝖳𝖴𝖵𝖶𝖷𝖸𝖹', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "-": # 0xf300 - 0xf319
+ - "-": # 0xf300 - 0xf319
- spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "𝖺-𝗓": # 0x1d5ba - 0x1d5d3
+ - "𝖺-𝗓": # 0x1d5ba - 0x1d5d3
- spell: "translate('.', '𝖺𝖻𝖼𝖽𝖾𝖿𝗀𝗁𝗂𝗃𝗄𝗅𝗆𝗇𝗈𝗉𝗊𝗋𝗌𝗍𝗎𝗏𝗐𝗑𝗒𝗓', 'abcdefghijklmnopqrstuvwxyz')"
- - "-": # 0xf31a - 0xf333
+ - "-": # 0xf31a - 0xf333
- spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
- - "𝗔-𝗭": # 0x1d5d4 - 0x1d5ed
- - t: "смелый" # (en: 'bold', google translation)
+ - "𝗔-𝗭": # 0x1d5d4 - 0x1d5ed
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '𝗔𝗕𝗖𝗗𝗘𝗙𝗚𝗛𝗜𝗝𝗞𝗟𝗠𝗡𝗢𝗣𝗤𝗥𝗦𝗧𝗨𝗩𝗪𝗫𝗬𝗭', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "-": # 0xf334 - 0xf34d
- - t: "смелый" # (en: 'bold', google translation)
+ - "-": # 0xf334 - 0xf34d
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "𝗮-𝘇": # 0x1d5ee - 0x1d607
- - t: "смелый" # (en: 'bold', google translation)
+ - "𝗮-𝘇": # 0x1d5ee - 0x1d607
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '𝗮𝗯𝗰𝗱𝗲𝗳𝗴𝗵𝗶𝗷𝗸𝗹𝗺𝗻𝗼𝗽𝗾𝗿𝘀𝘁𝘂𝘃𝘄𝘅𝘆𝘇', 'abcdefghijklmnopqrstuvwxyz')"
- - "-": # 0xf34e - 0xf367
- - t: "смелый" # (en: 'bold', google translation)
+ - "-": # 0xf34e - 0xf367
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
- - "𝘈-𝘡": # 0x1d608 - 0x1d621
+ - "𝘈-𝘡": # 0x1d608 - 0x1d621
# - t: "italic"
- spell: "translate('.', '𝘈𝘉𝘊𝘋𝘌𝘍𝘎𝘏𝘐𝘑𝘒𝘓𝘔𝘕𝘖𝘗𝘘𝘙𝘚𝘛𝘜𝘝𝘞𝘟𝘠𝘡', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "-": # 0xf368 - 0xf381
+ - "-": # 0xf368 - 0xf381
# - t: "italic"
- spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "𝘢-𝘻": # 0x1d622 - 0x1d63b
+ - "𝘢-𝘻": # 0x1d622 - 0x1d63b
# - t: "italic"
- spell: "translate('.', '𝘢𝘣𝘤𝘥𝘦𝘧𝘨𝘩𝘪𝘫𝘬𝘭𝘮𝘯𝘰𝘱𝘲𝘳𝘴𝘵𝘶𝘷𝘸𝘹𝘺𝘻', 'abcdefghijklmnopqrstuvwxyz')"
- - "-": # 0xf382 - 0xf39b
+ - "-": # 0xf382 - 0xf39b
# - t: "italic"
- spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
- - "𝘼-𝙕": # 0x1d63c - 0x1d655
+ - "𝘼-𝙕": # 0x1d63c - 0x1d655
# - t: "bold italic"
- - t: "смелый" # (en: 'bold', google translation)
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '𝘼𝘽𝘾𝘿𝙀𝙁𝙂𝙃𝙄𝙅𝙆𝙇𝙈𝙉𝙊𝙋𝙌𝙍𝙎𝙏𝙐𝙑𝙒𝙓𝙔𝙕', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "-": # 0xf39c - 0xf3b5
+ - "-": # 0xf39c - 0xf3b5
# - t: "bold italic"
- - t: "смелый" # (en: 'bold', google translation)
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "𝙖-𝙯": # 0x1d656 - 0x1d66f
+ - "𝙖-𝙯": # 0x1d656 - 0x1d66f
# - t: "bold italic"
- - t: "смелый" # (en: 'bold', google translation)
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '𝙖𝙗𝙘𝙙𝙚𝙛𝙜𝙝𝙞𝙟𝙠𝙡𝙢𝙣𝙤𝙥𝙦𝙧𝙨𝙩𝙪𝙫𝙬𝙭𝙮𝙯', 'abcdefghijklmnopqrstuvwxyz')"
- - "-": # 0xf3b6 - 0xf3cf
+ - "-": # 0xf3b6 - 0xf3cf
# - t: "bold italic"
- - t: "смелый" # (en: 'bold', google translation)
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
- - "𝙰-𝚉": # 0x1d670 - 0x1d689
+ - "𝙰-𝚉": # 0x1d670 - 0x1d689
- spell: "translate('.', '𝙰𝙱𝙲𝙳𝙴𝙵𝙶𝙷𝙸𝙹𝙺𝙻𝙼𝙽𝙾𝙿𝚀𝚁𝚂𝚃𝚄𝚅𝚆𝚇𝚈𝚉', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "-": # 0xf3d0 - 0xf3e9
+ - "-": # 0xf3d0 - 0xf3e9
- spell: "translate('.', '', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
- - "𝚊-𝚣": # 0x1d68a - 0x1d6a3
+ - "𝚊-𝚣": # 0x1d68a - 0x1d6a3
- spell: "translate('.', '𝚊𝚋𝚌𝚍𝚎𝚏𝚐𝚑𝚒𝚓𝚔𝚕𝚖𝚗𝚘𝚙𝚚𝚛𝚜𝚝𝚞𝚟𝚠𝚡𝚢𝚣', 'abcdefghijklmnopqrstuvwxyz')"
- - "-": # 0xf3ea - 0xf403
+ - "-": # 0xf3ea - 0xf403
- spell: "translate('.', '', 'abcdefghijklmnopqrstuvwxyz')"
- - "": [t: "бессмысленный я"] # 0xf404 (en: 'dotless i', google translation)
- - "𝚤": [t: "бессмысленный я"] # 0x1d6a4 (en: 'dotless i', google translation)
- - "𝚥": [t: "dotless j"] # 0x1d6a5 (google translation)
+ - "": [t: "i без точки"] # 0xf404
+ - "𝚤": [t: "i без точки"] # 0x1d6a4
+ - "𝚥": [t: "j без точки"] # 0x1d6a5
- - "𝚨-𝛀": # 0x1d6a8 - 0x1d6c0
- - t: "смелый" # (en: 'bold', google translation)
+ - "𝚨-𝛀": # 0x1d6a8 - 0x1d6c0
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '𝚨𝚩𝚪𝚫𝚬𝚭𝚮𝚯𝚰𝚱𝚲𝚳𝚴𝚵𝚶𝚷𝚸𝚹𝚺𝚻𝚼𝚽𝚾𝚿𝛀', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
- - "-": # 0xf408 - 0xf420
- - t: "смелый" # (en: 'bold', google translation)
+ - "-": # 0xf408 - 0xf420
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
- - "𝛂-𝛚": # 0x1d6c2 - 0x1d6da
- - t: "смелый" # (en: 'bold', google translation)
+ - "𝛂-𝛚": # 0x1d6c2 - 0x1d6da
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '𝛂𝛃𝛄𝛅𝛆𝛇𝛈𝛉𝛊𝛋𝛌𝛍𝛎𝛏𝛐𝛑𝛒𝛓𝛔𝛕𝛖𝛗𝛘𝛙𝛚', 'αβγδεζηθικλμνξοπρςστυφχψω')"
- - "-": # 0xf422 - 0xf43a
- - t: "смелый" # (en: 'bold', google translation)
+ - "-": # 0xf422 - 0xf43a
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '', 'αβγδεζηθικλμνξοπρςστυφχψω')"
- - "": [t: "смелый нахбла"] # 0xf421 (en: 'bold nahblah', google translation)
- - "𝛁": [t: "смелый нахбла"] # 0x1d6c1 (en: 'bold nahblah', google translation)
+ - "": [t: "жирная набла"] # 0xf421
+ - "𝛁": [t: "жирная набла"] # 0x1d6c1
- - "𝛛𝛜𝛝𝛞𝛟𝛠𝛡": # 0x1D6DB - 0x1D6E1
- - t: "смелый" # (en: 'bold', google translation)
+ - "𝛛𝛜𝛝𝛞𝛟𝛠𝛡": # 0x1D6DB - 0x1D6E1
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '𝛛𝛜𝛝𝛞𝛟𝛠𝛡', '∂εθκφρπ')"
- - "": # 0xF43C - 0xF441
- - t: "смелый" # (en: 'bold', google translation)
+ - "": # 0xF43C - 0xF441
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '', '∂εθκφρπ')"
- - "𝛢-𝛺": # 0x1d6e2 - 0x1d6fa
+ - "𝛢-𝛺": # 0x1d6e2 - 0x1d6fa
# - t: "italic"
- spell: "translate('.', '𝛢𝛣𝛤𝛥𝛦𝛧𝛨𝛩𝛪𝛫𝛬𝛭𝛮𝛯𝛰𝛱𝛲𝛳𝛴𝛵𝛶𝛷𝛸𝛹𝛺', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
- - "-": # 0xf442 - 0xf45a
+ - "-": # 0xf442 - 0xf45a
# - t: "italic"
- spell: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
- - "𝛼-𝜔": # 0x1d6fc - 0x1d714
+ - "𝛼-𝜔": # 0x1d6fc - 0x1d714
# - t: "italic"
- spell: "translate('.', '𝛼𝛽𝛾𝛿𝜀𝜁𝜂𝜃𝜄𝜅𝜆𝜇𝜈𝜉𝜊𝜋𝜌𝜍𝜎𝜏𝜐𝜑𝜒𝜓𝜔', 'αβγδεζηθικλμνξοπρςστυφχψω')"
- - "-": # 0xf45c - 0xf474
+ - "-": # 0xf45c - 0xf474
# - t: "italic"
- spell: "translate('.', '', 'αβγδεζηθικλμνξοπρςστυφχψω')"
- - "": [t: "курсив нахбла"] # 0xf45b (en: 'italic nahblah', google translation)
- - "𝛻": [t: "курсив нахбла"] # 0x1d6fb (en: 'italic nahblah', google translation)
+ - "": [t: "курсивная набла"] # 0xf45b
+ - "𝛻": [t: "курсивная набла"] # 0x1d6fb
- - "𝜕𝜖𝜗𝜘𝜙𝜚𝜛": # 0x1d715 - 0x1d71b
+ - "𝜕𝜖𝜗𝜘𝜙𝜚𝜛": # 0x1d715 - 0x1d71b
# - t: "italic"
- spell: "translate('.', '𝜕𝜖𝜗𝜘𝜙𝜚𝜛', '∂εθκφρπ')"
- - "": # 0xf475 - 0xf47b
+ - "": # 0xf475 - 0xf47b
# - t: "italic"
- spell: "translate('.', '', '∂εθκφρπ')"
- - "𝜜-𝜴": # 0x1d71c - 0x1d734
+ - "𝜜-𝜴": # 0x1d71c - 0x1d734
# - t: "bold italic"
- - t: "смелый" # (en: 'bold', google translation)
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '𝜜𝜝𝜞𝜟𝜠𝜡𝜢𝜣𝜤𝜥𝜦𝜧𝜨𝜩𝜪𝜫𝜬𝜭𝜮𝜯𝜰𝜱𝜲𝜳𝜴', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
- - "-": # 0xf47c - 0xf494
+ - "-": # 0xf47c - 0xf494
# - t: "bold italic"
- - t: "смелый" # (en: 'bold', google translation)
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
- - "𝜶-𝝎": # 0x1d736 - 0x1d74e
+ - "𝜶-𝝎": # 0x1d736 - 0x1d74e
# - t: "bold italic"
- - t: "смелый" # (en: 'bold', google translation)
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '𝜶𝜷𝜸𝜹𝜺𝜻𝜼𝜽𝜾𝜿𝝀𝝁𝝂𝝃𝝄𝝅𝝆𝝇𝝈𝝉𝝊𝝋𝝌𝝍𝝎', 'αβγδεζηθικλμνξοπρςστυφχψω')"
- - "-": # 0xf496 - 0xf4ae
+ - "-": # 0xf496 - 0xf4ae
# - t: "bold italic"
- - t: "смелый" # (en: 'bold', google translation)
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '', 'αβγδεζηθικλμνξοπρςστυφχψω')"
- - "𝝏𝝐𝝑𝝒𝝓𝝔𝝕": # 0x1d74f - 0x1d755
+ - "𝝏𝝐𝝑𝝒𝝓𝝔𝝕": # 0x1d74f - 0x1d755
# - t: "bold italic"
- - t: "смелый" # (en: 'bold', google translation)
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '𝝏𝝐𝝑𝝒𝝓𝝔𝝕', '∂εθκφρπ')"
- - "": # 0xf422 - 0xf43a
+ - "": # 0xf422 - 0xf43a
# - t: "bold italic"
- - t: "смелый" # (en: 'bold', google translation)
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '', '∂εθκφρπ')"
- - "𝜵": [t: "смелый курсив нахбла"] # 0x1d735 (en: 'bold italic nahblah', google translation)
- - "": [t: "смелый курсив нахбла"] # 0xf495 (en: 'bold italic nahblah', google translation)
+ - "𝜵": [t: "жирная курсивная набла"] # 0x1d735
+ - "": [t: "жирная курсивная набла"] # 0xf495
- - "𝝖-𝝮": # 0x1d756 - 0x1d76e
- - t: "смелый" # (en: 'bold', google translation)
+ - "𝝖-𝝮": # 0x1d756 - 0x1d76e
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '𝝖𝝗𝝘𝝙𝝚𝝛𝝜𝝝𝝞𝝟𝝠𝝡𝝢𝝣𝝤𝝥𝝦𝝧𝝨𝝩𝝪𝝫𝝬𝝭𝝮', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
- - "-": # 0xf4b6 - 0xf4ce
- - t: "смелый" # (en: 'bold', google translation)
+ - "-": # 0xf4b6 - 0xf4ce
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
- - "𝝰-𝞈": # 0x1d770 - 0x1d788
- - t: "смелый" # (en: 'bold', google translation)
+ - "𝝰-𝞈": # 0x1d770 - 0x1d788
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '𝝰𝝱𝝲𝝳𝝴𝝵𝝶𝝷𝝸𝝹𝝺𝝻𝝼𝝽𝝾𝝿𝞀𝞁𝞂𝞃𝞄𝞅𝞆𝞇𝞈', 'αβγδεζηθικλμνξοπρςστυφχψω')"
- - "-": # 0xf4d0 - 0xf4e8
- - t: "смелый" # (en: 'bold', google translation)
+ - "-": # 0xf4d0 - 0xf4e8
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '', 'αβγδεζηθικλμνξοπρςστυφχψω')"
- - "𝞉𝞊𝞋𝞌𝞍𝞎𝞏": # 0x1d789 - 0x1d78f
- - t: "смелый" # (en: 'bold', google translation)
+ - "𝞉𝞊𝞋𝞌𝞍𝞎𝞏": # 0x1d789 - 0x1d78f
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '𝞉𝞊𝞋𝞌𝞍𝞎𝞏', '∂εθκφρπ')"
- - "": # 0xf4e9 - 0xf4ef
- - t: "смелый" # (en: 'bold', google translation)
+ - "": # 0xf4e9 - 0xf4ef
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '', '∂εθκφρπ')"
- - "": [t: "смелый нахбла"] # 0xf4cf (en: 'bold nahblah', google translation)
- - "𝝯": [t: "смелый нахбла"] # 0x1d76f (en: 'bold nahblah', google translation)
+ - "": [t: "жирная набла"] # 0xf4cf
+ - "𝝯": [t: "жирная набла"] # 0x1d76f
- - "𝞐-𝞨": # 0x1d790 - 0x1d7a8
+ - "𝞐-𝞨": # 0x1d790 - 0x1d7a8
# - t: "bold italic"
- - t: "смелый" # (en: 'bold', google translation)
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '𝞐𝞑𝞒𝞓𝞔𝞕𝞖𝞗𝞘𝞙𝞚𝞛𝞜𝞝𝞞𝞟𝞠𝞡𝞢𝞣𝞤𝞥𝞦𝞧𝞨', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
- - "-": # 0xf4f0 - 0xf508
+ - "-": # 0xf4f0 - 0xf508
# - t: "bold italic"
- - t: "смелый" # (en: 'bold', google translation)
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '', 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ')"
- - "𝞪-𝟂": # 0x1d7aa - 0x1d7c2
+ - "𝞪-𝟂": # 0x1d7aa - 0x1d7c2
# - t: "bold italic"
- - t: "смелый" # (en: 'bold', google translation)
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '𝞪𝞫𝞬𝞭𝞮𝞯𝞰𝞱𝞲𝞳𝞴𝞵𝞶𝞷𝞸𝞹𝞺𝞻𝞼𝞽𝞾𝞿𝟀𝟁𝟂', 'αβγδεζηθικλμνξοπρςστυφχψω')"
- - "-": # 0xf50a - 0xf522
+ - "-": # 0xf50a - 0xf522
# - t: "bold italic"
- - t: "смелый" # (en: 'bold', google translation)
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '', 'αβγδεζηθικλμνξοπρςστυφχψω')"
- - "𝟃𝟄𝟅𝟆𝟇𝟈𝟉": # 0x1d7c3 - 0x1d7c9
+ - "𝟃𝟄𝟅𝟆𝟇𝟈𝟉": # 0x1d7c3 - 0x1d7c9
# - t: "bold italic"
- - t: "смелый" # (en: 'bold', google translation)
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '𝟃𝟄𝟅𝟆𝟇𝟈𝟉', '∂εθκφρπ')"
- - "": # 0xf523 - 0xf529
+ - "": # 0xf523 - 0xf529
# - t: "bold italic"
- - t: "смелый" # (en: 'bold', google translation)
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '', '∂εθκφρπ')"
- - "": [t: "смелый нахбла"] # 0xf509 (en: 'bold nahblah', google translation)
- - "𝞩": [t: "смелый нахбла"] # 0x1d7a9 (en: 'bold nahblah', google translation)
+ - "": [t: "жирная набла"] # 0xf509
+ - "𝞩": [t: "жирная набла"] # 0x1d7a9
- - "-": # 0xf52e - 0xf537 (old MathType)
- - t: "смелый" # (en: 'bold', google translation)
+ - "-": # 0xf52e - 0xf537 (old MathType)
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '', '0123456789')"
- - "𝟎-𝟗": # 0x1d7ce - 0x1d7d7
- - t: "смелый" # (en: 'bold', google translation)
+ - "𝟎-𝟗": # 0x1d7ce - 0x1d7d7
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '𝟎𝟏𝟐𝟑𝟒𝟓𝟔𝟕𝟖𝟗', '0123456789')"
- - "-": # 0xf52e - 0xf537 (old MathType)
- - t: "смелый" # (en: 'bold', google translation)
+ - "-": # 0xf52e - 0xf537 (old MathType)
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '', '0123456789')"
- - "𝟬-𝟵": # 0x1D7EC - 0x1D7F5
- - t: "смелый" # (en: 'bold', google translation)
+ - "𝟬-𝟵": # 0x1D7EC - 0x1D7F5
+ - test:
+ if: "not($IgnoreBold)"
+ then: [t: "жирная"]
- spell: "translate('.', '𝟬𝟭𝟮𝟯𝟰𝟱𝟲𝟳𝟴𝟵', '0123456789')"
- - "-": # 0xf556 - 0xf55f (old MathType)
+ - "-": # 0xf556 - 0xf55f (old MathType)
- spell: "translate('.', '', '0123456789')"
- - "𝟢-𝟫": # 0x1d7e2 - 0x1d7eb
+ - "𝟢-𝟫": # 0x1d7e2 - 0x1d7eb
- spell: "translate('.', '𝟶𝟷𝟸𝟹𝟺𝟻𝟼𝟽𝟾𝟿', '0123456789')"
- - "𝟶-𝟿": # 0x1d7f6 - 0x1d7ff
+ - "𝟶-𝟿": # 0x1d7f6 - 0x1d7ff
- spell: "translate('.', '𝟶𝟷𝟸𝟹𝟺𝟻𝟼𝟽𝟾𝟿', '0123456789')"
- - "": [t: "неизвестный персонаж"] # 0xf700 (en: 'unknown character', google translation)
- - "": [t: "нижний правый и нижний левый треугольники"] # 0xf726 (en: 'lower right and lower left triangles', google translation)
- - "": [t: "горизонтальный эллипс"] # 0xf72d (en: 'horizontal ellipsis extender', google translation)
- - "": [t: "средний горизонтальный эллипсис"] # 0xf72e (en: 'midline horizontal ellipsis extender', google translation)
- - "": [t: "радикальный удлинитель"] # 0xf8e5 (en: 'radical extender', google translation)
- - "": [t: "вертикальная стрелка удлинителя"] # 0xf8e6 (en: 'vertical arrow extender', google translation)
- - "": [t: "горизонтальная стрелка"] # 0xf8e7 (en: 'horizontal arrow extender', google translation)
- - "": [t: "зарегистрированный знак без засечка"] # 0xf8e8 (en: 'registered sign sans serif', google translation)
- - "": [t: "знак авторского права без засечка"] # 0xf8e9 (en: 'copyright sign sans serif', google translation)
- - "": [t: "торговая марка знака без засечка"] # 0xf8ea (en: 'trade mark sign sans serif', google translation)
- - "": [t: "левая вершина скобки"] # 0xf8eb (en: 'left paren top', google translation)
- - "": [t: "левая скобка удлинителя"] # 0xf8ec (en: 'left paren extender', google translation)
- - "": [t: "левая скобка дна"] # 0xf8ed (en: 'left paren bottom', google translation)
- - "": [t: "левый кронштейн"] # 0xf8ee (en: 'left bracket top', google translation)
- - "": [t: "удлинитель левого кронштейна"] # 0xf8ef (en: 'left bracket extender', google translation)
- - "": [t: "левый кронштейн дно"] # 0xf8f0 (en: 'left bracket bottom', google translation)
- - "": [t: "левый топ"] # 0xf8f1 (en: 'left brace top', google translation)
- - "": [t: "оставая скоба середины"] # 0xf8f2 (en: 'left brace mid', google translation)
- - "": [t: "левое скоба дно"] # 0xf8f3 (en: 'left brace bottom', google translation)
- - "": [t: "скоба удлинителя"] # 0xf8f4 (en: 'brace extender', google translation)
- - "": [t: "интегральный удлинитель"] # 0xf8f5 (en: 'integral extender', google translation)
- - "": [t: "правая скобка вершина"] # 0xf8f6 (en: 'right paren top', google translation)
- - "": [t: "право скобка удлинителя"] # 0xf8f7 (en: 'right paren extender', google translation)
- - "": [t: "правая скобка дна"] # 0xf8f8 (en: 'right paren bottom', google translation)
- - "": [t: "вершина правого кронштейна"] # 0xf8f9 (en: 'right bracket top', google translation)
- - "": [t: "правый растяжение"] # 0xf8fa (en: 'right bracket extender', google translation)
- - "": [t: "правый кронштейн дно"] # 0xf8fb (en: 'right bracket bottom', google translation)
- - "": [t: "правый топ"] # 0xf8fc (en: 'right brace top', google translation)
- - "": [t: "правая скоба середина"] # 0xf8fd (en: 'right brace mid', google translation)
- - "": [t: "правое скоба дно"] # 0xf8fe (en: 'right brace bottom', google translation)
- - "": [t: "логотип apple"] # 0xf8ff (en: 'apple logo', google translation)
- - "ff": [t: "фф"] # 0xfb00 (en: 'ff', google translation)
- - "fi": [t: "фигура"] # 0xfb01 (en: 'fi', google translation)
- - "fl": [t: "флорида"] # 0xfb02 (en: 'fl', google translation)
- - "ffi": [t: "ffi"] # 0xfb03 (google translation)
- - "ffl": [t: "ффл"] # 0xfb04 (en: 'ffl', google translation)
- - "ſt": [t: "футов"] # 0xfb05 (en: 'ft', google translation)
- - "st": [t: "ул"] # 0xfb06 (en: 'st', google translation)
- - "﬩": [t: "ивритное письмо альтернатива плюс"] # 0xfb29 (en: 'hebrew letter alternative plus', google translation)
- - "︠": [t: "лигатура оставила половину украшения"] # 0xfe20 (en: 'ligature left half embellishment', google translation)
- - "︡": [t: "лигатура справа половина украшения"] # 0xfe21 (en: 'ligature right half embellishment', google translation)
- - "︢": [t: "двойная тильда оставила половину украшения"] # 0xfe22 (en: 'double tilde left half embellishment', google translation)
- - "︣": [t: "двойная тильда правое половина украшения"] # 0xfe23 (en: 'double tilde right half embellishment', google translation)
- - "︤": [t: "макрон оставил половину украшения"] # 0xfe24 (en: 'macron left half embellishment', google translation)
- - "︥": [t: "макрон правый половина украшения"] # 0xfe25 (en: 'macron right half embellishment', google translation)
- - "︦": [t: "соединение украшений макрона"] # 0xfe26 (en: 'conjoining macron embellishment', google translation)
- - "︵": [t: "над скобкой"] # 0xfe35 (en: 'over paren', google translation)
- - "︶": [t: "под скобкой"] # 0xfe36 (en: 'under paren', google translation)
- - "︷": [t: "над скобкой"] # 0xfe37 (en: 'over brace', google translation)
- - "︸": [t: "под скобкой"] # 0xfe38 (en: 'under brace', google translation)
- - "︿": [t: "над угловым кронштейном"] # 0xfe3f (en: 'over angle bracket', google translation)
- - "﹀": [t: "под угловым кронштейном"] # 0xfe40 (en: 'under angle bracket', google translation)
- - "﹡": [t: "маленькая звездочка"] # 0xfe61 (en: 'small asterisk', google translation)
- - "﹢": [t: "маленький плюс"] # 0xfe62 (en: 'small plus', google translation)
- - "﹣": [t: "маленький минус"] # 0xfe63 (en: 'small minus', google translation)
- - "﹤": [t: "маленький меньше, чем"] # 0xfe64 (en: 'small less than', google translation)
- - "﹥": [t: "маленький больше, чем"] # 0xfe65 (en: 'small greater than', google translation)
- - "﹦": [t: "маленькие равны"] # 0xfe66 (en: 'small equals', google translation)
- - "+": [t: "равна значению"] # 0xff0b (en: 'equals sign', google translation)
- - "<": [t: "меньше, чем"] # 0xff1c (en: 'less than', google translation)
- - "=": [t: "равно"] # 0xff1d (en: 'equals', google translation)
- - ">": [t: "больше"] # 0xff1e (en: 'greater than', google translation)
- - "\": [t: "backslash"] # 0xff3c (google translation)
- - "^": [t: "шляп"] # 0xff3e (en: 'hat', google translation)
- - "|": # 0xff5c
+ - "": [t: "неизвестный символ"] # 0xf700
+ - "": [t: "нижний правый и нижний левый треугольники"] # 0xf726
+ - "": [t: "удлинитель горизонтального многоточия"] # 0xf72d
+ - "": [t: "удлинитель горизонтального многоточия по средней линии"] # 0xf72e
+ - "": [t: "удлинитель радикала"] # 0xf8e5
+ - "": [t: "удлинитель вертикальной стрелки"] # 0xf8e6
+ - "": [t: "удлинитель горизонтальной стрелки"] # 0xf8e7
+ - "": [t: "знак зарегистрированного товарного знака без засечек"] # 0xf8e8
+ - "": [t: "знак авторского права без засечек"] # 0xf8e9
+ - "": [t: "знак торговой марки без засечек"] # 0xf8ea
+ - "": [t: "верхняя часть левой скобки"] # 0xf8eb
+ - "": [t: "удлинитель левой скобки"] # 0xf8ec
+ - "": [t: "нижняя часть левой скобки"] # 0xf8ed
+ - "": [t: "верхняя часть левой квадратной скобки"] # 0xf8ee
+ - "": [t: "удлинитель левой квадратной скобки"] # 0xf8ef
+ - "": [t: "нижняя часть левой квадратной скобки"] # 0xf8f0
+ - "": [t: "верхняя часть левой фигурной скобки"] # 0xf8f1
+ - "": [t: "средняя часть левой фигурной скобки"] # 0xf8f2
+ - "": [t: "нижняя часть левой фигурной скобки"] # 0xf8f3
+ - "": [t: "удлинитель фигурной скобки"] # 0xf8f4
+ - "": [t: "удлинитель интеграла"] # 0xf8f5
+ - "": [t: "верхняя часть правой скобки"] # 0xf8f6
+ - "": [t: "удлинитель правой скобки"] # 0xf8f7
+ - "": [t: "нижняя часть правой скобки"] # 0xf8f8
+ - "": [t: "верхняя часть правой квадратной скобки"] # 0xf8f9
+ - "": [t: "удлинитель правой квадратной скобки"] # 0xf8fa
+ - "": [t: "нижняя часть правой квадратной скобки"] # 0xf8fb
+ - "": [t: "верхняя часть правой фигурной скобки"] # 0xf8fc
+ - "": [t: "средняя часть правой фигурной скобки"] # 0xf8fd
+ - "": [t: "нижняя часть правой фигурной скобки"] # 0xf8fe
+ - "": [t: "логотип Apple"] # 0xf8ff
+ - "ff": [t: "ff"] # 0xfb00
+ - "fi": [t: "fi"] # 0xfb01
+ - "fl": [t: "fl"] # 0xfb02
+ - "ffi": [t: "ffi"] # 0xfb03
+ - "ffl": [t: "ffl"] # 0xfb04
+ - "ſt": [t: "ft"] # 0xfb05
+ - "st": [t: "st"] # 0xfb06
+ - "﬩": [t: "альтернативный знак плюса в иврите"] # 0xfb29
+ - "︠": [t: "левая половина лигатуры"] # 0xfe20
+ - "︡": [t: "правая половина лигатуры"] # 0xfe21
+ - "︢": [t: "левая половина двойной тильды"] # 0xfe22
+ - "︣": [t: "правая половина двойной тильды"] # 0xfe23
+ - "︤": [t: "левая половина макрона"] # 0xfe24
+ - "︥": [t: "правая половина макрона"] # 0xfe25
+ - "︦": [t: "соединительный макрон"] # 0xfe26
+ - "︵": [t: "верхняя скобка"] # 0xfe35
+ - "︶": [t: "нижняя скобка"] # 0xfe36
+ - "︷": [t: "верхняя фигурная скобка"] # 0xfe37
+ - "︸": [t: "нижняя фигурная скобка"] # 0xfe38
+ - "︿": [t: "верхняя угловая скобка"] # 0xfe3f
+ - "﹀": [t: "нижняя угловая скобка"] # 0xfe40
+ - "﹡": [t: "маленькая звёздочка"] # 0xfe61
+ - "﹢": [t: "маленький плюс"] # 0xfe62
+ - "﹣": [t: "маленький минус"] # 0xfe63
+ - "﹤": [t: "маленький знак меньше"] # 0xfe64
+ - "﹥": [t: "маленький знак больше"] # 0xfe65
+ - "﹦": [t: "маленький знак равенства"] # 0xfe66
+ - "+": [t: "полноширинный знак плюс"] # 0xff0b
+ - "<": [t: "меньше"] # 0xff1c
+ - "=": [t: "равно"] # 0xff1d
+ - ">": [t: "больше"] # 0xff1e
+ - "\": [t: "обратная косая черта"] # 0xff3c
+ - "^": [t: "крышка"] # 0xff3e
+ - "|": # 0xff5c
# note: for ClearSpeak and SimpleSpeak, "|" inside of sets is handled at the mrow level, same for 'sets'
- with:
- variables: [DefaultToGiven: "count(preceding-sibling::*)=1 and count(following-sibling::*)=1 and ../../../*[1][.='P']"] # P(A|B)
+ variables: [DefaultToGiven: "count(preceding-sibling::*)=1 and count(following-sibling::*)=1 and ../../../*[1][.='P']"] # P(A|B)
replace:
- test:
- if: "$SpeechStyle != 'ClearSpeak'"
then_test:
if: "$DefaultToGiven"
- then: [t: "данный"] # (en: 'given', google translation)
- else: [t: "вертикальная линия"] # (en: 'vertical line', google translation)
+ then: [t: "при условии"]
+ else: [t: "вертикальная черта"]
- else_if: "not(preceding-sibling::*) or not(following-sibling::*)"
- then: [t: "вертикальная линия"] # (en: 'vertical line', google translation)
+ then: [t: "вертикальная черта"]
- else_if: "$ClearSpeak_VerticalLine = 'SuchThat'"
- then: [t: "так что"] # (en: 'such that', google translation)
+ then: [t: "такой, что"]
- else_if: "$ClearSpeak_VerticalLine = 'Given' or $DefaultToGiven"
- then: [t: "данный"] # (en: 'given', google translation)
- - else: [t: "разделение"] # (en: 'divides', google translation)
- - "~": [t: "тилде"] # 0xff5e (en: 'tilde', google translation)
- - "¬": [t: "нет"] # 0xffe2 (en: 'not', google translation)
- - "←": [t: "стрелка влево"] # 0xffe9 (en: 'left arrow', google translation)
- - "↑": [t: "стрелка вверх"] # 0xffea (en: 'up arrow', google translation)
- - "→": [t: "стрелка вправо"] # 0xffeb (en: 'right arrow', google translation)
- - "↓": [t: "стрелка вниз"] # 0xffec (en: 'down arrow', google translation)
- - "": [t: "неизвестный или отсутствующий объект"] # 0xfffc (en: 'unknown or missing object', google translation)
- - "�": [t: "неизвестный или отсутствующий символ"] # 0xfffd (en: 'unknown or missing character', google translation)
-- "ˉ": [t: "макрон"] # 0x2c9 (en: 'modifier macron')
-- "ˊ": [t: "акут"] # 0x2ca (en: 'modifier acute accent')
-- "ˋ": [t: "гравис"] # 0x2cb (en: 'modifier grave accent')
-- "ˌ": [t: "нижняя вертикальная черта"] # 0x2cc (en: 'modifier low vertical line')
-- "ˍ": [t: "нижний макрон"] # 0x2cd (en: 'modifier low macron')
-- "ˎ": [t: "нижний гравис"] # 0x2ce (en: 'modifier low grave accent')
-- "ˏ": [t: "нижний акут"] # 0x2cf (en: 'modifier low acute accent')
-- "ː": [t: "знак долготы"] # 0x2d0 (en: 'modifier triangular colon')
-- "ˑ": [t: "половинный знак долготы"] # 0x2d1 (en: 'modifier half triangular colon')
-- "˒": [t: "центрированное правое полукольцо"] # 0x2d2 (en: 'modifier centered right half ring')
-- "˓": [t: "центрированное левое полукольцо"] # 0x2d3 (en: 'modifier centered left half ring')
-- "˔": [t: "верхний упор"] # 0x2d4 (en: 'modifier up tack')
-- "˕": [t: "нижний упор"] # 0x2d5 (en: 'modifier down tack')
-- "˖": [t: "верхний индекс плюс"] # 0x2d6 (en: 'modifier plus sign')
-- "˗": [t: "верхний индекс минус"] # 0x2d7 (en: 'modifier minus sign')
-- "˘": [t: "бреве"] # 0x2d8 (en: 'breve')
-- "˙": [t: "точка сверху"] # 0x2d9 (en: 'dot')
-- "˚": [t: "кольцо сверху"] # 0x2da (en: 'ring above')
-- "˛": [t: "огонек"] # 0x2db (en: 'ogonek')
-- "˜": [t: "малая тильда"] # 0x2dc (en: 'small tilde')
-- "˝": [t: "двойной акут"] # 0x2dd (en: 'double acute accent')
-- "˞": [t: "ротический крюк"] # 0x2de (en: 'modifier rhotic hook')
-- "˟": [t: "перечёркивающий акцент"] # 0x2df (en: 'modifier cross accent')
-- "ˠ": [t: "верхний индекс гаммы"] # 0x2e0 (en: 'modifier small gamma')
-- "ˡ": [t: "верхний индекс l"] # 0x2e1 (en: 'modifier small l')
-- "ˢ": [t: "верхний индекс s"] # 0x2e2 (en: 'modifier small s')
-- "ˣ": [t: "верхний индекс x"] # 0x2e3 (en: 'modifier small x')
-- "ˤ": [t: "верхний индекс перевёрнутой гортанной смычки"] # 0x2e4 (en: 'modifier small reversed glottal stop')
-- "˥": [t: "сверхвысокий тон"] # 0x2e5 (en: 'modifier extra-high tone bar')
-- "˦": [t: "высокий тон"] # 0x2e6 (en: 'modifier high tone bar')
-- "˧": [t: "средний тон"] # 0x2e7 (en: 'modifier mid tone bar')
-- "˨": [t: "низкий тон"] # 0x2e8 (en: 'modifier low tone bar')
-- "˩": [t: "сверхнизкий тон"] # 0x2e9 (en: 'modifier extra-low tone bar')
-- "˪": [t: "знак тона инь"] # 0x2ea (en: 'modifier yin departing tone mark')
-- "˫": [t: "знак тона ян"] # 0x2eb (en: 'modifier yang departing tone mark')
-- "ˬ": [t: "звонкость"] # 0x2ec (en: 'modifier voicing')
-- "˭": [t: "непридыхательность"] # 0x2ed (en: 'modifier unaspirated')
-- "ˮ": [t: "двойной апостроф"] # 0x2ee (en: 'modifier double apostrophe')
-- "˯": [t: "нижний наконечник стрелки вниз"] # 0x2ef (en: 'modifier low down arrowhead')
-- "˰": [t: "нижний наконечник стрелки вверх"] # 0x2f0 (en: 'modifier low up arrowhead')
-- "˱": [t: "нижний наконечник стрелки влево"] # 0x2f1 (en: 'modifier low left arrowhead')
-- "˲": [t: "нижний наконечник стрелки вправо"] # 0x2f2 (en: 'modifier low right arrowhead')
-- "˳": [t: "нижнее кольцо"] # 0x2f3 (en: 'modifier low ring')
-- "˴": [t: "средний гравис"] # 0x2f4 (en: 'modifier middle grave accent')
-- "˵": [t: "средний двойной гравис"] # 0x2f5 (en: 'modifier middle double grave accent')
-- "˶": [t: "средний двойной акут"] # 0x2f6 (en: 'modifier middle double acute accent')
-- "˷": [t: "нижняя тильда"] # 0x2f7 (en: 'modifier low tilde')
-- "˸": [t: "верхнее двоеточие"] # 0x2f8 (en: 'modifier raised colon')
-- "˹": [t: "начало высокого тона"] # 0x2f9 (en: 'modifier begin high tone')
-- "˺": [t: "конец высокого тона"] # 0x2fa (en: 'modifier end high tone')
-- "˻": [t: "начало низкого тона"] # 0x2fb (en: 'modifier begin low tone')
-- "˼": [t: "конец низкого тона"] # 0x2fc (en: 'modifier end low tone')
-- "˽": [t: "полка"] # 0x2fd (en: 'modifier shelf')
-- "˾": [t: "открытая полка"] # 0x2fe (en: 'modifier open shelf')
-- "˿": [t: "нижняя левая стрелка"] # 0x2ff (en: 'modifier low left arrow')
-- "̀": [t: "комбинируемый гравис"] # 0x300 (en: 'grave accent embellishment')
-- "́": [t: "комбинируемый акут"] # 0x301 (en: 'acute accent embellishment')
-- "̂": [t: "комбинируемый циркумфлекс"] # 0x302 (en: 'circumflex accent embellishment')
-- "̃": [t: "комбинируемая тильда"] # 0x303 (en: 'tilde embellishment')
-- "̄": [t: "комбинируемый макрон"] # 0x304 (en: 'macron embellishment')
-- "̅": [t: "комбинируемое надчёркивание"] # 0x305 (en: 'overbar embellishment')
-- "̆": [t: "комбинируемое бреве"] # 0x306 (en: 'breve embellishment')
-- "̇": [t: "комбинируемая точка сверху"] # 0x307 (en: 'dot above embellishment')
-- "̈": [t: "комбинируемый диэрезис"] # 0x308 (en: 'diaeresis embellishment')
-- "̉": [t: "комбинируемый крючок сверху"] # 0x309 (en: 'hook above embellishment')
-- "̊": [t: "комбинируемое кольцо сверху"] # 0x30a (en: 'ring above embellishment')
-- "̋": [t: "комбинируемый двойной акут"] # 0x30b (en: 'double acute accent embellishment')
-- "̌": [t: "комбинируемый гачек"] # 0x30c (en: 'check')
-- "̍": [t: "комбинируемая вертикальная линия сверху"] # 0x30d (en: 'vertical line above embellishment')
-- "̎": [t: "комбинируемая двойная вертикальная линия сверху"] # 0x30e (en: 'double vertical line above embellishment')
-- "̏": [t: "комбинируемый двойной гравис"] # 0x30f (en: 'double grave accent embellishment')
-- "̐": [t: "комбинируемая чандрабинду"] # 0x310 (en: 'candrabindu embellishment')
-- "̑": [t: "комбинируемое перевёрнутое бреве"] # 0x311 (en: 'inverted breve embellishment')
-- "̒": [t: "комбинируемая перевёрнутая запятая сверху"] # 0x312 (en: 'turned comma above embellishment')
-- "̓": [t: "комбинируемая запятая сверху"] # 0x313 (en: 'comma above embellishment')
-- "̔": [t: "комбинируемая перевёрнутая запятая сверху"] # 0x314 (en: 'reversed comma above embellishment')
-- "̕": [t: "комбинируемая запятая справа сверху"] # 0x315 (en: 'comma above right embellishment')
-- "̖": [t: "комбинируемый гравис снизу"] # 0x316 (en: 'grave accent below embellishment')
-- "̗": [t: "комбинируемый акут снизу"] # 0x317 (en: 'acute accent below embellishment')
-- "̘": [t: "комбинируемый левый упор снизу"] # 0x318 (en: 'left tack below embellishment')
-- "̙": [t: "комбинируемый правый упор снизу"] # 0x319 (en: 'right tack below embellishment')
-- "̚": [t: "комбинируемый левый угол сверху"] # 0x31a (en: 'left angle above embellishment')
-- "̛": [t: "комбинируемый рожок"] # 0x31b (en: 'horn embellishment')
-- "̜": [t: "комбинируемое левое полукольцо снизу"] # 0x31c (en: 'left half ring below embellishment')
-- "̝": [t: "комбинируемый верхний упор снизу"] # 0x31d (en: 'up tack below embellishment')
-- "̞": [t: "комбинируемый нижний упор снизу"] # 0x31e (en: 'down tack below embellishment')
-- "̟": [t: "комбинируемый знак плюс снизу"] # 0x31f (en: 'plus sign below embellishment')
-- "̠": [t: "комбинируемый знак минус снизу"] # 0x320 (en: 'minus sign below embellishment')
-- "̡": [t: "комбинируемый палатализованный крюк снизу"] # 0x321 (en: 'palatalized hook below embellishment')
-- "̢": [t: "комбинируемый ретрофлексный крюк снизу"] # 0x322 (en: 'retroflex hook below embellishment')
-- "̣": [t: "комбинируемая точка снизу"] # 0x323 (en: 'dot below embellishment')
-- "̤": [t: "комбинируемый диэрезис снизу"] # 0x324 (en: 'diaeresis below embellishment')
-- "̥": [t: "комбинируемое кольцо снизу"] # 0x325 (en: 'ring below embellishment')
-- "̦": [t: "комбинируемая запятая снизу"] # 0x326 (en: 'comma below embellishment')
-- "̧": [t: "комбинируемая седиль"] # 0x327 (en: 'cedilla embellishment')
-- "̨": [t: "комбинируемый огонек"] # 0x328 (en: 'ogonek embellishment')
-- "̩": [t: "комбинируемая вертикальная линия снизу"] # 0x329 (en: 'vertical line below embellishment')
-- "̪": [t: "комбинируемый мостик снизу"] # 0x32a (en: 'bridge below embellishment')
-- "̫": [t: "комбинируемая перевёрнутая двойная арка снизу"] # 0x32b (en: 'inverted double arch below embellishment')
-- "̬": [t: "комбинируемый гачек снизу"] # 0x32c (en: 'caron below embellishment')
-- "̭": [t: "комбинируемый циркумфлекс снизу"] # 0x32d (en: 'circumflex accent below embellishment')
-- "̮": [t: "комбинируемое бреве снизу"] # 0x32e (en: 'breve below embellishment')
-- "̯": [t: "комбинируемое перевёрнутое бреве снизу"] # 0x32f (en: 'inverted breve below embellishment')
-- "̰": [t: "комбинируемая тильда снизу"] # 0x330 (en: 'tilde below embellishment')
-- "̱": [t: "комбинируемый макрон снизу"] # 0x331 (en: 'macron below embellishment')
-- "̲": [t: "комбинируемое подчёркивание"] # 0x332 (en: 'low line embellishment')
-- "̳": [t: "комбинируемое двойное подчёркивание"] # 0x333 (en: 'double low line embellishment')
-- "̴": [t: "комбинируемая наложенная тильда"] # 0x334 (en: 'tilde overlay embellishment')
-- "̵": [t: "комбинируемая короткая черта"] # 0x335 (en: 'short stroke overlay embellishment')
-- "̶": [t: "комбинируемая длинная черта"] # 0x336 (en: 'long stroke overlay embellishment')
-- "̷": [t: "комбинируемый короткий слэш"] # 0x337 (en: 'short solidus overlay embellishment')
-- "̸": [t: "комбинируемый длинный слэш"] # 0x338 (en: 'long solidus overlay embellishment')
-- "̹": [t: "комбинируемое правое полукольцо снизу"] # 0x339 (en: 'right half ring below embellishment')
-- "̺": [t: "комбинируемый перевёрнутый мостик снизу"] # 0x33a (en: 'inverted bridge below embellishment')
-- "̻": [t: "комбинируемый квадрат снизу"] # 0x33b (en: 'square below embellishment')
-- "̼": [t: "комбинируемая чайка снизу"] # 0x33c (en: 'seagull below embellishment')
-- "̽": [t: "комбинируемый икс сверху"] # 0x33d (en: 'x above embellishment')
-- "̾": [t: "комбинируемая вертикальная тильда"] # 0x33e (en: 'vertical tilde embellishment')
-- "̿": [t: "комбинируемое двойное надчёркивание"] # 0x33f (en: 'double overline embellishment')
-- "̀": [t: "комбинируемый знак гравис-тона"] # 0x340 (en: 'grave tone mark embellishment')
-- "́": [t: "комбинируемый знак акут-тона"] # 0x341 (en: 'acute tone mark embellishment')
-- "͆": [t: "комбинируемый мостик сверху"] # 0x346 (en: 'bridge above')
-
-- "ΪΫϏ": # 0x3aa, 0x3ab, 0x3cf
- - test:
- if: "$CapitalLetters_Beep"
- then:
- - audio:
- value: "beep.mp4"
- replace: []
- - test:
- if: "$CapitalLetters_UseWord"
- then_test:
- if: "$SpeechOverrides_CapitalLetters = ''"
- then_test:
- if: "$Impairment = 'Blindness'"
- then: [t: "заглавная"] # (en: 'cap')
- else: [x: "$SpeechOverrides_CapitalLetters"]
- - pitch:
- value: "$CapitalLetters_Pitch"
- replace: [spell: "translate('.', 'ΪΫϏ', 'ιυϗ')"]
- - t: " с диэрезисом" # (en: 'with dialytika')
-- "ϊ": [t: "йота с диэрезисом"] # 0x3ca (en: 'iota with dialytika')
-- "ϋ": [t: "ипсилон с диэрезисом"] # 0x3cb (en: 'upsilon with dialytika')
-- "ό": [t: "омикрон с ударением"] # 0x3cc (en: 'omicron with tonos')
-- "ύ": [t: "ипсилон с ударением"] # 0x3cd (en: 'upsilon with tonos')
-- "ώ": [t: "омега с ударением"] # 0x3ce (en: 'omega with tonos')
-- "ϐ": [t: "бета"] # 0x3d0 (en: 'beta')
-- "ϑ": [t: "тета"] # 0x3d1 (en: 'theta')
-- "ϒ": [t: "ипсилон с крючком"] # 0x3d2 (en: 'upsilon with hook')
-- "ϓ": [t: "ипсилон с акутом и крючком"] # 0x3d3 (en: 'upsilon with acute and hook')
-- "ϔ": [t: "ипсилон с диэрезисом и крючком"] # 0x3d4 (en: 'upsilon with diaeresis and hook')
-- "ϕ": [t: "фи"] # 0x3d5 (en: 'phi')
-- "ϖ": [t: "пи"] # 0x3d6 (en: 'pi')
-- "ϗ": [t: "кай"] # 0x3d7 (en: 'kai')
-- "Ϙ": [t: "заглавная архаичная коппа"] # 0x3d8 (en: 'cap archaic koppa')
-- "ϙ": [t: "архаичная коппа"] # 0x3d9 (en: 'archaic koppa')
-- "ϵ": [t: "эпсилон"] # 0x3f5 (en: 'epsilon')
-- "϶": [t: "обратный эпсилон"] # 0x3f6 (en: 'reversed epsilon')
-- "А-Я": # 0x410 - 0x42f
- - test:
- if: "$CapitalLetters_Beep"
- then:
- - audio:
- value: "beep.mp4"
- replace: []
- - test:
- if: "$CapitalLetters_UseWord"
- then_test:
- if: "$SpeechOverrides_CapitalLetters = ''"
- then_test:
- if: "$Impairment = 'Blindness'"
- then: [t: "заглавная"] # (en: 'cap')
- else: [x: "$SpeechOverrides_CapitalLetters"]
- - pitch:
- value: "$CapitalLetters_Pitch"
- replace: [spell: "translate('.', 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ', 'абвгдежзийклмнопрстуфхцчшщъыьэюя')"]
-- "а": [t: "а"] # 0x430
-- "б": [t: "бэ"] # 0x431
-- "в": [t: "вэ"] # 0x432
-- "г": [t: "гэ"] # 0x433
-- "д": [t: "дэ"] # 0x434
-- "е": [t: "е"] # 0x435
-- "ж": [t: "жэ"] # 0x436
-- "з": [t: "зэ"] # 0x437
-- "и": [t: "и"] # 0x438
-- "й": [t: "и краткое"] # 0x439
-- "к": [t: "ка"] # 0x43a
-- "л": [t: "эль"] # 0x43b
-- "м": [t: "эм"] # 0x43c
-- "н": [t: "эн"] # 0x43d
-- "о": [t: "о"] # 0x43e
-- "п": [t: "пэ"] # 0x43f
-- "р": [t: "эр"] # 0x440
-- "с": [t: "эс"] # 0x441
-- "т": [t: "тэ"] # 0x442
-- "у": [t: "у"] # 0x443
-- "ф": [t: "эф"] # 0x444
-- "х": [t: "ха"] # 0x445
-- "ц": [t: "цэ"] # 0x446
-- "ч": [t: "чэ"] # 0x447
-- "ш": [t: "ша"] # 0x448
-- "щ": [t: "ща"] # 0x449
-- "ъ": [t: "твёрдый знак"] # 0x44a
-- "ы": [t: "ы"] # 0x44b
-- "ь": [t: "мягкий знак"] # 0x44c
-- "э": [t: "э"] # 0x44d
-- "ю": [t: "ю"] # 0x44e
-- "я": [t: "я"] # 0x44f
-- "؆": [t: "арабский кубический корень"] # 0x606 (en: 'Arabic-Indic cube root')
-- "؇": [t: "арабский корень четвёртой степени"] # 0x607 (en: 'Arabic-Indic fourth root')
-- "؈": [t: "арабский рай"] # 0x608 (en: 'Arabic ray')
-- "‐": [t: "дефис"] # 0x2010 (en: 'hyphen')
-- "‑": [t: "неразрывный дефис"] # 0x2011 (en: 'non-breaking hyphen')
-- "‒": [t: "цифровое тире"] # 0x2012 (en: 'figure dash')
-- "–": [t: "короткое тире"] # 0x2013 (en: 'en dash')
-- "—": [t: "длинное тире"] # 0x2014 (en: 'em dash')
-- "―": [t: "горизонтальная черта"] # 0x2015 (en: 'horizontal bar')
-- "‖": [t: "двойная вертикальная линия"] # 0x2016 (en: 'double vertical line')
-- "†": [t: "крестик"] # 0x2020 (en: 'dagger')
-- "‡": [t: "двойной крестик"] # 0x2021 (en: 'double dagger')
-
-- " - ": [t: ""] # 0x2000 - 0x2007 (различные пробелы, не озвучиваются)
-
-- "•": # 0x2022
- - test:
- if: "@data-chem-formula-op"
- then: [t: "точка"] # в химических формулах
- else: [t: "маркер"] # (en: 'bullet')
-
-- "…": # 0x2026
- test:
- if:
- - "$SpeechStyle != 'ClearSpeak' or $ClearSpeak_Ellipses = 'Auto' or"
- - "../*[1][.='…']"
- then: [t: "многоточие"] # (en: 'dot dot dot')
- else_test:
- if: "count(following-sibling::*) = 0"
- then: [t: "и так далее"] # (en: 'and so on')
- else: [t: "и так далее до"] # (en: 'and so on up to')
-
-- "‰": [t: "промилле"] # 0x2030 (en: 'per mille')
-- "‱": [t: "десять тысяч"] # 0x2031 (en: 'per ten thousand')
-- "′": [t: "штрих"] # 0x2032 (en: 'prime')
-- "″": [t: "двойной штрих"] # 0x2033 (en: 'double prime')
-- "‴": [t: "тройной штрих"] # 0x2034 (en: 'triple prime')
-- "‵": [t: "обратный штрих"] # 0x2035 (en: 'reversed prime')
-- "‶": [t: "обратный двойной штрих"] # 0x2036 (en: 'reversed double prime')
-- "‷": [t: "обратный тройной штрих"] # 0x2037 (en: 'reversed triple prime')
-- "‸": [t: "в степени"] # 0x2038 (en: 'to the')
-- "‹": [t: "левая одиночная угловая кавычка"] # 0x2039 (en: 'single left-pointing angle quote mark')
-- "›": [t: "правая одиночная угловая кавычка"] # 0x203a (en: 'single right-pointing angle quote mark')
-- "‼": [t: "двойной восклицательный знак"] # 0x203c (en: 'double factorial')
-- "⁄": [t: "косая черта дроби"] # 0x2044 (en: 'fraction slash')
-- "⁅": [t: "левая квадратная скобка с пером"] # 0x2045 (en: 'left square bracket with quill')
-- "⁆": [t: "правая квадратная скобка с пером"] # 0x2046 (en: 'right square bracket with quill')
-- "※": [t: "знак ссылки"] # 0x203b (en: 'reference mark')
-- "‿": [t: "соединение снизу"] # 0x203F (en: 'under tie')
-- "⁀": [t: "соединение сверху"] # 0x2040 (en: 'tie')
-- "⁎": [t: "нижняя звёздочка"] # 0x204e (en: 'low asterisk')
-- "⁏": [t: "обратная точка с запятой"] # 0x204f (en: 'reversed semicolon')
-- "⁐": [t: "сомкнуть"] # 0x2050 (en: 'close up')
-- "⁑": [t: "две вертикальные звёздочки"] # 0x2051 (en: 'two vertical asterisks')
-- "⁒": [t: "коммерческий знак минус"] # 0x2052 (en: 'commercial minus sign')
-- "⁗": [t: "четыре штриха"] # 0x2057 (en: 'quadruple prime')
-- "": [t: ""] # 0x2060 (невидимый соединитель)
-- "⁰": [t: "в степени ноль"] # 0x2070 (en: 'to the zeroth power')
-- "ⁱ": [t: "в степени i"] # 0x2071 (en: 'to the i-th power')
-- "⁴": [t: "в четвёртой степени"] # 0x2074 (en: 'to the fourth power')
-- "⁵": [t: "в пятой степени"] # 0x2075 (en: 'to the fifth power')
-- "⁶": [t: "в шестой степени"] # 0x2076 (en: 'to the sixth power')
-- "⁷": [t: "в седьмой степени"] # 0x2077 (en: 'to the seventh power')
-- "⁸": [t: "в восьмой степени"] # 0x2078 (en: 'to the eighth power')
-- "⁹": [t: "в девятой степени"] # 0x2079 (en: 'to the ninth power')
-- "⁺": [t: "верхний индекс плюс"] # 0x207a (en: 'superscript plus sign')
-- "⁻": [t: "верхний индекс минус"] # 0x207b (en: 'superscript minus')
-- "⁼": [t: "верхний индекс равно"] # 0x207c (en: 'superscript equals sign')
-- "⁽": [t: "верхний индекс левая скобка"] # 0x207d (en: 'superscript left parenthesis')
-- "⁾": [t: "верхний индекс правая скобка"] # 0x207e (en: 'superscript right parenthesis')
-- "ⁿ": [t: "в степени n"] # 0x207f (en: 'to the n-th power')
-- "₀": [t: "индекс ноль"] # 0x2080 (en: 'sub zero')
-- "₁": [t: "индекс один"] # 0x2081 (en: 'sub one')
-- "₂": [t: "индекс два"] # 0x2082 (en: 'sub two')
-- "₃": [t: "индекс три"] # 0x2083 (en: 'sub three')
-- "₄": [t: "индекс четыре"] # 0x2084 (en: 'sub four')
-- "₅": [t: "индекс пять"] # 0x2085 (en: 'sub five')
-- "₆": [t: "индекс шесть"] # 0x2086 (en: 'sub six')
-- "₇": [t: "индекс семь"] # 0x2087 (en: 'sub seven')
-- "₈": [t: "индекс восемь"] # 0x2088 (en: 'sub eight')
-- "₉": [t: "индекс девять"] # 0x2089 (en: 'sub nine')
-- "₊": [t: "индекс плюс"] # 0x208a (en: 'subscript plus sign')
-- "₋": [t: "индекс минус"] # 0x208b (en: 'subscript minus sign')
-- "₌": [t: "индекс равно"] # 0x208c (en: 'subscript equals sign')
-- "₍": [t: "индекс левая скобка"] # 0x208d (en: 'subscript left parenthesis')
-- "₎": [t: "индекс правая скобка"] # 0x208e (en: 'subscript right parenthesis')
-- "ₐ": [t: "индекс a"] # 0x2090 (en: 'sub a')
-- "ₑ": [t: "индекс e"] # 0x2091 (en: 'sub e')
-- "ₒ": [t: "индекс o"] # 0x2092 (en: 'sub o')
-- "ₓ": [t: "индекс x"] # 0x2093 (en: 'sub x')
-- "ₕ": [t: "индекс h"] # 0x2095 (en: 'sub h')
-- "ₖ": [t: "индекс k"] # 0x2096 (en: 'sub k')
-- "ₗ": [t: "индекс l"] # 0x2097 (en: 'sub l')
-- "ₘ": [t: "индекс m"] # 0x2098 (en: 'sub m')
-- "ₙ": [t: "индекс n"] # 0x2099 (en: 'sub n')
-- "ₚ": [t: "индекс p"] # 0x209a (en: 'sub p')
-- "ₛ": [t: "индекс s"] # 0x209b (en: 'sub s')
-- "ₜ": [t: "индекс t"] # 0x209c (en: 'sub t')
-- "₠": [t: "евро"] # 0x20a0 (en: 'european currency unit') — устаревший, но пусть будет евро
-- "₡": [t: "колон"] # 0x20a1 (en: 'colon')
-- "₢": [t: "крузейро"] # 0x20a2 (en: 'cruzeiro')
-- "₣": [t: "франк"] # 0x20a3 (en: 'franc')
-- "₤": [t: "лира"] # 0x20a4 (en: 'lira')
-- "₥": [t: "милль"] # 0x20a5 (en: 'mill')
-- "₦": [t: "найра"] # 0x20a6 (en: 'naira')
-- "₧": [t: "песета"] # 0x20a7 (en: 'peseta')
-- "₨": [t: "рупия"] # 0x20a8 (en: 'rupee')
-- "₩": [t: "вона"] # 0x20a9 (en: 'won')
-- "₪": [t: "новый шекель"] # 0x20aa (en: 'new sheqel')
-- "₫": [t: "донг"] # 0x20ab (en: 'dong')
-- "€": [t: "евро"] # 0x20ac (en: 'euro')
-- "₭": [t: "кип"] # 0x20ad (en: 'kip')
-- "₮": [t: "тугрик"] # 0x20ae (en: 'tugrik')
-- "₯": [t: "драхма"] # 0x20af (en: 'drachma')
-- "₰": [t: "пфенниг"] # 0x20b0 (en: 'german penny')
-- "₱": [t: "песо"] # 0x20b1 (en: 'peso')
-- "₲": [t: "гуарани"] # 0x20b2 (en: 'guarani')
-- "₳": [t: "аустраль"] # 0x20b3 (en: 'austral')
-- "₴": [t: "гривна"] # 0x20b4 (en: 'hryvnia')
-- "₵": [t: "седи"] # 0x20b5 (en: 'cedi')
-- "₶": [t: "ливр"] # 0x20b6 (en: 'livre tournois')
-- "₷": [t: "спесмило"] # 0x20b7 (en: 'spesmilo')
-- "₸": [t: "тенге"] # 0x20b8 (en: 'tenge')
-- "₹": [t: "индийская рупия"] # 0x20b9 (en: 'indian rupee')
-- "₺": [t: "турецкая лира"] # 0x20ba (en: 'turkish lira')
-- "⃐": [t: "комбинируемый левый гарпун сверху"] # 0x20d0 (en: 'left harpoon above embellishment')
-- "⃑": [t: "комбинируемый правый гарпун сверху"] # 0x20d1 (en: 'right harpoon above embellishment')
-- "⃒": [t: "комбинируемая длинная вертикальная черта"] # 0x20d2 (en: 'long vertical line overlay embellishment')
-- "⃓": [t: "комбинируемая короткая вертикальная черта"] # 0x20d3 (en: 'short vertical line overlay embellishment')
-- "⃔": [t: "комбинируемая стрелка против часовой стрелки"] # 0x20d4 (en: 'anticlockwise arrow above embellishment')
-- "⃕": [t: "комбинируемая стрелка по часовой стрелке"] # 0x20d5 (en: 'clockwise arrow above embellishment')
-- "⃖": [t: "комбинируемая стрелка влево сверху"] # 0x20d6 (en: 'left arrow above embellishment')
-- "⃗": [t: "комбинируемая стрелка вправо сверху"] # 0x20d7 (en: 'right arrow above embellishment')
-- "⃘": [t: "комбинируемое кольцо"] # 0x20d8 (en: 'ring overlay embellishment')
-- "⃙": [t: "комбинируемое кольцо по часовой стрелке"] # 0x20d9 (en: 'clockwise ring overlay embellishment')
-- "⃚": [t: "комбинируемое кольцо против часовой стрелки"] # 0x20da (en: 'anticlockwise ring overlay embellishment')
-- "⃛": [t: "комбинируемые три точки"] # 0x20db (en: 'triple dot')
-- "⃜": [t: "комбинируемые четыре точки"] # 0x20dc (en: 'quadruple dot')
-- "⃝": [t: "комбинируемый круг"] # 0x20dd (en: 'enclosing circle embellishment')
-- "⃞": [t: "комбинируемый квадрат"] # 0x20de (en: 'enclosing square embellishment')
-- "⃟": [t: "комбинируемый ромб"] # 0x20df (en: 'enclosing diamond embellishment')
-- "⃠": [t: "комбинируемый круг с обратной косой"] # 0x20e0 (en: 'enclosing circle backslash embellishment')
-- "⃡": [t: "комбинируемая стрелка влево-вправо сверху"] # 0x20e1 (en: 'left right arrow above embellishment')
-- "⃢": [t: "комбинируемый прямоугольник"] # 0x20e2 (en: 'enclosing screen embellishment')
-- "⃣": [t: "комбинируемый значок клавиши"] # 0x20e3 (en: 'enclosing keycap embellishment')
-- "⃤": [t: "комбинируемый треугольник вверх"] # 0x20e4 (en: 'enclosing upward pointing triangle embellishment')
-- "⃥": [t: "комбинируемая обратная косая черта"] # 0x20e5 (en: 'reverse solidus overlay embellishment')
-- "⃦": [t: "комбинируемая двойная вертикальная черта"] # 0x20e6 (en: 'double vertical stroke embellishment')
-- "⃧": [t: "комбинируемый символ аннуитета"] # 0x20e7 (en: 'annuity symbol embellishment')
-- "⃨": [t: "комбинируемые три точки снизу"] # 0x20e8 (en: 'triple underdot')
-- "⃩": [t: "комбинируемый широкий мостик сверху"] # 0x20e9 (en: 'wide bridge above embellishment')
-- "⃪": [t: "комбинируемая левая стрелка"] # 0x20ea (en: 'leftwards arrow overlay embellishment')
-- "⃫": [t: "комбинируемая длинная двойная косая"] # 0x20eb (en: 'long double solidus overlay embellishment')
-- "⃬": [t: "комбинируемый правый гарпун вниз"] # 0x20ec (en: 'rightwards harpoon with barb downwards embellishment')
-- "⃭": [t: "комбинируемый левый гарпун вниз"] # 0x20ed (en: 'leftwards harpoon with barb downwards embellishment')
-- "⃮": [t: "комбинируемая левая стрелка снизу"] # 0x20ee (en: 'left arrow below embellishment')
-- "⃯": [t: "комбинируемая правая стрелка снизу"] # 0x20ef (en: 'right arrow below embellishment')
-- "⃰": [t: "комбинируемая звёздочка сверху"] # 0x20f0 (en: 'asterisk above embellishment')
-- "℄": [t: "символ центровой линии"] # 0x2104 (en: 'center line symbol')
-- "℅": [t: "вниманию"] # 0x2105 (en: 'care of')
-- "℆": [t: "каждая"] # 0x2106 (en: 'cada una')
-- "ℇ": [t: "постоянная Эйлера"] # 0x2107 (en: 'Euler's constant')
-- "℈": [t: "скрупул"] # 0x2108 (en: 'scruple')
-- "℉": [t: "градус Фаренгейта"] # 0x2109 (en: 'degree Fahrenheit')
-- "ℊ": [t: "рукописная g"] # 0x210a (en: 'script g')
-- "ℌℑℨℭ": # 0x210c, 0x2111, 0x2128, 0x212d
- - t: "готическое" # (en: 'fraktur')
- - spell: "translate('.', 'ℌℑℨℭ', 'HIZC')"
-- "ℍℙℾℿ": # 0x210d, 0x2119, 0x213e, 0x213f
- - t: "двойное" # (en: 'double struck')
- - spell: "translate('.', 'ℍℙℾℿ', 'HPΓΠ')"
-- "ℎ": [t: "постоянная Планка"] # 0x210e (en: 'Planck constant')
-- "ℏ": [t: "постоянная Планка с чертой"] # 0x210f (en: 'h-bar')
-
-- "ℐℒ℘ℬℰℱℳ": # 0x2110, 0x2112, 0x2118, 0x2130, 0x2131, 0x2133
- - t: "рукописное" # (en: 'script')
- - spell: "translate('.', 'ℐℒ℘ℬℰℱℳ', 'ILPBEFM')"
+ then: [t: "при условии"]
+ - else: [t: "делит"]
+ - "~": [t: "тильда"] # 0xff5e
+ - "¬": [t: "не"] # 0xffe2
+ - "←": [t: "стрелка влево"] # 0xffe9
+ - "↑": [t: "стрелка вверх"] # 0xffea
+ - "→": [t: "стрелка вправо"] # 0xffeb
+ - "↓": [t: "стрелка вниз"] # 0xffec
+ - "": [t: "неизвестный или отсутствующий объект"] # 0xfffc
+ - "�": [t: "неизвестный или отсутствующий символ"] # 0xfffd
+
+ - "": [t: "находится в равновесии с"] # 0x1F8D1
+ - "": [t: "находится в равновесии, смещённом вправо, с"] # 0x1F8D2
+ - "": [t: "находится в равновесии, смещённом влево, с"] # 0x1F8D3
+
+# MathJax v4 adopted these PUA values for some partial chem bonds that aren't in Unicode
+ - "\uE410": [t: "частичная связь "] # 0xe410
+ - "\uE411": [t: "двойная частичная связь "] # 0xe411
+ - "\uE412": [t: "тройная частичная связь "] # 0xe412
+
+# MathJax v4 also adopted these PUA values for some arrows thar are in Unicode
+# Hopefully these will be exported properly in future versions of MathJax
+ - "\uE428": [spell: "'⟵'"] # 0xe428 defer to def of arrow
+ - "\uE429": [spell: "'⟶'"] # 0xe429 defer to def of arrow
+ - "\uE42A": [spell: "'⟷'"] # 0xe42a defer to def of arrow
+ - "\uE408": [spell: "''"] # 0xe408 defer to def of arrow
+ - "\uE409": [spell: "''"] # 0xe409 defer to def of arrow
+ - "\uE40A": [spell: "''"] # 0xe40a defer to def of arrow
+ - "\uE42B": [spell: "'⇄'"] # 0xe42b defer to def of arrow
+ - "\uE42C": [spell: "'←'"] # 0xe42c defer to def of arrow
+ - "\uE42D": [spell: "'→'"] # 0xe42d defer to def of arrow
+ - "\uE42E": [spell: "'⇄'"] # 0xe42e defer to def of arrow
-- "ℓ": [t: "рукописная l"] # 0x2113 (en: 'script l')
-- "℔": [t: "фунт"] # 0x2114 (en: 'pound')
-- "№": [t: "номер"] # 0x2116 (en: 'numero')
-- "℥": [t: "унция"] # 0x2125 (en: 'ounce')
-- "Ω": [t: "ом"] # 0x2126 (en: 'ohm')
-- "℧": [t: "сименс"] # 0x2127 (en: 'mho')
-- "℩": [t: "перевёрнутая йота"] # 0x2129 (en: 'turned iota')
-- "K": [t: "кельвин"] # 0x212a (en: 'kelvin')
-- "Å": [t: "ангстрем"] # 0x212b (en: 'angstrom')
-- "ℯ": [t: "рукописная e"] # 0x212f (en: 'script e')
-
-- "Ⅎ℺⅁⅂⅃⅄": # 0x2132, 0x213a, 0x2141, 0x2142, 0x2143, 0x2144
- - test:
- - if: "'.' = '℺'"
- then: [t: "повёрнутое"] # (en: 'rotated')
- - else_if: "'.' = 'Ⅎ'"
- then: [t: "перевёрнутое"] # (en: 'turned')
- - else_if: "'.' = '⅃'"
- then: [t: "обратное без засечек"] # (en: 'reversed sans-serif')
- else: [t: "повёрнутое без засечек"] # (en: 'turned sans-serif')
- - spell: "translate('.', 'Ⅎ℺⅁⅂⅃⅄', 'FQGLLY')"
-
-- "ℴ": [t: "рукописная o"] # 0x2134 (en: 'script o')
-- "ℵ": [t: "алеф"] # 0x2135 (en: 'alef')
-- "ℶ": [t: "бет"] # 0x2136 (en: 'bet')
-- "ℷ": [t: "гимель"] # 0x2137 (en: 'gimel')
-- "ℸ": [t: "далет"] # 0x2138 (en: 'dalet')
-- "ℼ": [t: "двойное пи"] # 0x213c (en: 'double-struck pi')
-- "ℽ": [t: "двойная гамма"] # 0x213d (en: 'double-struck gamma')
-- "⅀": [t: "двойная сумма"] # 0x2140 (en: 'double-struck n-ary summation')
-- "⅋": [t: "перевёрнутый амперсанд"] # 0x214b (en: 'turned ampersand')
-- "⅌": [t: "на"] # 0x214c (en: 'per')
-- "ⅎ": [t: "перевёрнутая f"] # 0x214e (en: 'turned f')
-- "¼": [t: "одна четверть"] # 0x00bc (en: 'one quarter')
-- "½": [t: "одна вторая"] # 0x00bd (en: 'one half')
-- "¾": [t: "три четверти"] # 0x00be (en: 'three quarters')
-- "⅐": [t: "одна седьмая"] # 0x2150 (en: 'one seventh')
-- "⅑": [t: "одна девятая"] # 0x2151 (en: 'one ninth')
-- "⅒": [t: "одна десятая"] # 0x2152 (en: 'one tenth')
-- "⅓": [t: "одна треть"] # 0x2153 (en: 'one third')
-- "⅔": [t: "две трети"] # 0x2154 (en: 'two thirds')
-- "⅕": [t: "одна пятая"] # 0x2155 (en: 'one fifth')
-- "⅖": [t: "две пятых"] # 0x2156 (en: 'two fifths')
-- "⅗": [t: "три пятых"] # 0x2157 (en: 'three fifths')
-- "⅘": [t: "четыре пятых"] # 0x2158 (en: 'four fifths')
-- "⅙": [t: "одна шестая"] # 0x2159 (en: 'one sixth')
-- "⅚": [t: "пять шестых"] # 0x215a (en: 'five sixths')
-- "⅛": [t: "одна восьмая"] # 0x215b (en: 'one eighth')
-- "⅜": [t: "три восьмых"] # 0x215c (en: 'three eighths')
-- "⅝": [t: "пять восьмых"] # 0x215d (en: 'five eighths')
-- "⅞": [t: "семь восьмых"] # 0x215e (en: 'seven eighths')
-- "⅟": [t: "один"] # 0x215f (en: 'one over')
-- "Ⅰ": [t: "один"] # 0x2160 (римская цифра)
-- "Ⅱ": [t: "два"] # 0x2161
-- "Ⅲ": [t: "три"] # 0x2162
-- "Ⅳ": [t: "четыре"] # 0x2163
-- "Ⅴ": [t: "пять"] # 0x2164
-- "Ⅵ": [t: "шесть"] # 0x2165
-- "Ⅶ": [t: "семь"] # 0x2166
-- "Ⅷ": [t: "восемь"] # 0x2167
-- "Ⅸ": [t: "девять"] # 0x2168
-- "Ⅹ": [t: "десять"] # 0x2169
-- "Ⅺ": [t: "одиннадцать"] # 0x216a
-- "Ⅻ": [t: "двенадцать"] # 0x216b
-- "Ⅼ": [t: "пятьдесят"] # 0x216c
-- "Ⅽ": [t: "сто"] # 0x216d
-- "Ⅾ": [t: "пятьсот"] # 0x216e
-- "Ⅿ": [t: "тысяча"] # 0x216f
-- "ⅰ": [t: "один"] # 0x2170
-- "ⅱ": [t: "два"] # 0x2171
-- "ⅲ": [t: "три"] # 0x2172
-- "ⅳ": [t: "четыре"] # 0x2173
-- "ⅴ": [t: "пять"] # 0x2174
-- "ⅵ": [t: "шесть"] # 0x2175
-- "ⅶ": [t: "семь"] # 0x2176
-- "ⅷ": [t: "восемь"] # 0x2177
-- "ⅸ": [t: "девять"] # 0x2178
-- "ⅹ": [t: "десять"] # 0x2179
-- "ⅺ": [t: "одиннадцать"] # 0x217a
-- "ⅻ": [t: "двенадцать"] # 0x217b
-- "ⅼ": [t: "пятьдесят"] # 0x217c
-- "ⅽ": [t: "сто"] # 0x217d
-- "ⅾ": [t: "пятьсот"] # 0x217e
-- "ⅿ": [t: "тысяча"] # 0x217f
-- "↉": [t: "ноль третьих"] # 0x2189 (en: 'zero thirds')
-- "←": [t: "стрелка влево"] # 0x2190
-- "↑": [t: "стрелка вверх"] # 0x2191
-- "→": [t: "стрелка вправо"] # 0x2192
-- "↓": [t: "стрелка вниз"] # 0x2193
-- "↔": [t: "стрелка влево-вправо"] # 0x2194
-- "↕": [t: "стрелка вверх-вниз"] # 0x2195
-- "↖": [t: "стрелка северо-запад"] # 0x2196
-- "↗": # 0x2197
- - test:
- if: "ancestor::*[2][self::m:limit]"
- then: [t: "стремится снизу"] # (en: 'approaches from below')
- else: [t: "стрелка северо-восток"] # 0x2197
-- "↘": # 0x2198
- - test:
- if: "ancestor::*[2][self::m:limit]"
- then: [t: "стремится сверху"] # (en: 'approaches from above')
- else: [t: "стрелка юго-восток"] # 0x2198
-- "↙": [t: "стрелка юго-запад"] # 0x2199
-- "↚": [t: "стрелка влево с чертой"] # 0x219a
-- "↛": [t: "стрелка вправо с чертой"] # 0x219b
-- "↜": [t: "стрелка влево волнистая"] # 0x219c
-- "↝": [t: "стрелка вправо волнистая"] # 0x219d
-- "↞": [t: "стрелка влево с двумя головками"] # 0x219e
-- "↟": [t: "стрелка вверх с двумя головками"] # 0x219f
-- "↠": [t: "стрелка вправо с двумя головками"] # 0x21a0
-- "↡": [t: "стрелка вниз с двумя головками"] # 0x21a1
-- "↢": [t: "стрелка влево с хвостом"] # 0x21a2
-- "↣": [t: "стрелка вправо с хвостом"] # 0x21a3
-- "↤": [t: "стрелка влево от черты"] # 0x21a4
-- "↥": [t: "стрелка вверх от черты"] # 0x21a5
-- "↦": [t: "стрелка вправо от черты"] # 0x21a6
-- "↧": [t: "стрелка вниз от черты"] # 0x21a7
-- "↨": [t: "стрелка вверх-вниз с основанием"] # 0x21a8
-- "↩": [t: "стрелка влево с крючком"] # 0x21a9
-- "↪": [t: "стрелка вправо с крючком"] # 0x21aa
-- "↫": [t: "стрелка влево с петлей"] # 0x21ab
-- "↬": [t: "стрелка вправо с петлей"] # 0x21ac
-- "↭": [t: "стрелка влево-вправо волнистая"] # 0x21ad
-- "↮": [t: "стрелка влево-вправо с чертой"] # 0x21ae
-- "↯": [t: "стрелка зигзаг вниз"] # 0x21af
-- "↰": [t: "стрелка вверх с наконечником влево"] # 0x21b0
-- "↱": [t: "стрелка вверх с наконечником вправо"] # 0x21b1
-- "↲": [t: "стрелка вниз с наконечником влево"] # 0x21b2
-- "↳": [t: "стрелка вниз с наконечником вправо"] # 0x21b3
-- "↴": [t: "стрелка вправо с углом вниз"] # 0x21b4
-- "↵": [t: "стрелка вниз с углом влево"] # 0x21b5
-- "↶": [t: "полукруг против часовой стрелки сверху"] # 0x21b6
-- "↷": [t: "полукруг по часовой стрелке сверху"] # 0x21b7
-- "↸": [t: "стрелка северо-запад к длинной черте"] # 0x21b8
-- "↹": [t: "стрелка влево к черте над стрелкой вправо к черте"] # 0x21b9
-- "↺": [t: "разомкнутый круг против часовой стрелки"] # 0x21ba
-- "↻": [t: "разомкнутый круг по часовой стрелке"] # 0x21bb
-- "↼": [t: "левый гарпун вверх"] # 0x21bc
-- "↽": [t: "левый гарпун вниз"] # 0x21bd
-- "↾": [t: "правый гарпун вверх"] # 0x21be
-- "↿": [t: "левый гарпун вверх"] # 0x21bf (дубль? в оригинале было 'up harpoon left')
-- "⇀": [t: "правый гарпун вверх"] # 0x21c0
-- "⇁": [t: "правый гарпун вниз"] # 0x21c1
-- "⇂": [t: "правый гарпун вниз"] # 0x21c2 (дубль? в оригинале 'down harpoon right')
-- "⇃": [t: "левый гарпун вниз"] # 0x21c3
-- "⇄": [t: "стрелка вправо над стрелкой влево"] # 0x21c4
-- "⇅": [t: "стрелка вверх слева от стрелки вниз"] # 0x21c5
-- "⇆": [t: "стрелка влево над стрелкой вправо"] # 0x21c6
-- "⇇": [t: "две стрелки влево"] # 0x21c7
-- "⇈": [t: "две стрелки вверх"] # 0x21c8
-- "⇉": [t: "две стрелки вправо"] # 0x21c9
-- "⇊": [t: "две стрелки вниз"] # 0x21ca
-- "⇋": [t: "левый гарпун над правым гарпуном"] # 0x21cb
-- "⇌": [t: "правый гарпун над левым гарпуном"] # 0x21cc
diff --git a/docs/Anvandarguide_till_MathCAT_sv.md b/docs/Anvandarguide_till_MathCAT_sv.md
new file mode 100644
index 00000000..33e2c70c
--- /dev/null
+++ b/docs/Anvandarguide_till_MathCAT_sv.md
@@ -0,0 +1,129 @@
+# Användarguide till MathCAT
+
+MathCAT är ett verktyg som används ihop med en skärmläsare. Med hjälp av MathCAT kan du få matematiska uttryck upplästa. MathCAT gör också så att matematik kan visas på en punktskriftsskärm.
+
+
+Just nu finns MathCAT på svenska bara tillgängligt om du använder skärmläsaren NVDA. [På NVDA:s hemsida kan du läsa om hur du laddar ner och använder NVDA (sidan är på engelska).](https://www.nvaccess.org/download/) Sedan behöver du ladda ner MathCAT som tillägg. [Här kan du ladda ner MathCAT som tillägg till NVDA (sidan är på engelska)](https://nvda-addons.org/).
+
+Om du använder JAWS kan du just nu bara använda MathCAT på engelska. Då kommer MathCAT inbyggt, du behöver alltså inte intstallera det som tillägg.
+
+## Börja använda MathCAT
+
+Använd skärmläsaren på en hemsida eller i en e-bok som vanligt. När du kommer till ett matematiskt uttryck kommer skärmläsaren att läsa upp det automatiskt. Om du vill undersöka uttrycket närmare kan du aktivera navigeringsläget genom att trycka mellanslag. I NVDA kan du också använda NVDA-tangenten+Alt+M. Om du vill lämna navigeringsläget kan du trycka Escape.
+
+### Här är de vanligaste tangentbordskommandona
+
+- För att gå vänster, höger, upp eller ner inne i ett matematiskt uttryck, använd piltangenterna.
+- Inne i en tabell, gå mellan cellerna genom att trycka CTRL+piltangenterna.
+- För att gå till början av ett uttryck, tryck Home. För att gå till slutet av ett uttryck, tryck End.
+- För att höra din nuvarande position, tryck mellanslag.
+- För att ändra navigeringsläge, tryck Shift+upp/ner. De olika navigeringslägena finns beskrivna här: Navigering.
+
+När du navigerar i ett uttryck kan du trycka CTRL+C för att kopiera MathML-koden för den aktuella delen av uttrycket.
+
+Det finns många fler möjligheter när du navigerar i matematiska uttryck. Alla funktioner finns beskrivna här: Alla navigeringskommandon.
+
+## Anpassa MathCAT efter dina behov
+
+Det finns många möjligheter för att ställa in MathCAT utifrån dina behov. Du hittar inställningarna genom att trycka NVDA-tangenten+N sedan Inställningar, sedan MathCAT Settings. Under Kategorier finns tre valmöjligheter: Tal, Navigering och Punktskrift.
+
+### Tal
+
+Du kan välja mellan följande inställningar för tal. Under varje inställning hittar du en lista över alla valmöjligheter med en kort beskrivning. Standardinställningen, den som gäller om du inte gör något val, står inom hakparenteser.
+
+- Funktionsnedsättning:
+ - \[Blindhet.\] Utläsningen är helt entydig.
+ - Synnedsättning. Utläsningen är kortare.
+ - Inlärningssvårigheter. Utläsningen är kortare.
+- Språk: (standardinställningen är samma som språket som skärmläsaren är inställd på)
+ - Engelska (en)
+ - Spanska (es)
+ - Indonesiska (id)
+ - \[Svenska (sv)\]
+ - Vietnamesiska (vi)
+ - Kinesiska, traditionell (zh-tw)
+- Tal-läge:
+ - \[ClearSpeak.\] Uttryck läses upp ungefär som läraren hade sagt dem i ett klassrum.
+ - SimpleSpeak. Uttrycken läses upp mer kortfattat. Utläsningen är inte alltid entydig.
+- Pratighet:
+ - Kortfattad. ”Extra” ord som t.ex. ”ur” i ”kvadratroten ur x” har tagits bort. Utläsningen är inte alltid entydig och ibland blir grammatiken konstig.
+ - \[Medium.\] En kompromiss mellan kortfattad och pratig.
+ - Pratig. Allt läses ut. Utläsningen är entydig.
+- Relativ hastighet:
+ - \[100\], kan justeras mellan 1 och 1000. Ändrar hur snabbt matte läses upp jämfört med skärmläsarens hastighet. Siffran betyder procent. 100 motsvarar samma hastighet, mindre blir långsammare och mer blir snabbare.
+- Pausfaktor:
+ - \[1\], kan justeras mellan 0 och 10. Ändrar hur långa pauserna blir när matteuttryck läses upp.
+- Matteljud:
+ - \[Inget.\]
+ - Pip. Ett pipljud spelas upp före och efter varje matteuttryck.
+- Kemi:
+ - \[Läs ut.\] Kemiska formler läses ut, t.ex. ”H två O” för $H_2O$.
+ - Av. ”H nedsänkt 2 O” för $H_2O$.
+
+### Navigering
+
+Med hjälp av MathCAT kan du undersöka ett uttryck närmare genom att navigera i det, det vill säga gå runt och läsa en bit i taget. I inställningarna för Navigering kan du välja hur det ska gå till, och hur detaljerad information du vill ha.
+
+Under varje inställning hittar du en lista över alla valmöjligheter med en kort beskrivning. Standardinställningen, den som gäller om du inte gör något val, står inom hakparenteser.
+
+- Navigeringsläge som används när du börjar gå in i ett uttryck:
+ - \[Översiktligt.\] Gå mellan matematiska bitar av ett uttryck (t.ex. täljare, nämnare, exponenter, uttryck inom parenteser).
+ - Enkelt. Gå mellan ord, förutom när du kommer till ett avgränsat uttryck, t.ex. ett rotuttryck. Då läses hela det uttrycket upp.
+ - Teckenläge. Gå mellan ord eller tal. Zooma in för att läsa upp varje bokstav eller siffra för sig.
+
+Om du vill ändra navigeringsläge medan du går runt i ett uttryck kan du trycka Shift+Uppåtpil för att gå till Översiktligt från Enkelt (eller från Teckenläge till Enkelt). Om du trycker Shift+Nedåtpil går du från Översiktligt till Enkelt (eller från Enkelt till Teckenläge). Uppåt ger alltså mer översikt medan nedåt går djupare in i detalj.
+
+Det finns också en ruta som du kan kryssa i för att navigeringsläget ska återställas varje gång du går in i ett uttryck. Som standard är den inte ikryssad.
+
+- Utläsning som används när du börjar gå runt i ett uttryck:
+ - \[Läs upp.\] Läser upp den del av uttrycket där du befinner dig.
+ - Beskriv/översikt. Ger en översikt över det aktuella uttrycket.
+
+Det finns också en ruta som du kan kryssa i för att utläsningsläget ska återställas varje gång du går in i ett uttryck. Som standard är den ikryssad.
+
+- Zooma ut automatiskt när en bit av ett uttryck (t.ex. en rot) har lästs upp.
+ - \[På.\] (rutan ikryssad)
+ - Av. (inte ikryssad)
+- Pratighet för navigering:
+ - Kortfattad. ”Extra” ord som t.ex. ”ur” i ”kvadratroten ur x” har tagits bort. Utläsningen är inte alltid entydig och ibland blir grammatiken konstig.
+ - \[Medium.\] En kompromiss mellan kortfattad och pratig.
+ - Pratig. Allt läses ut. Utläsningen är entydig.
+
+### Punktskrift
+
+Du kan välja mellan följande inställningar för punktskrift. Under varje inställning hittar du en lista över alla valmöjligheter. Standardinställningen, den som gäller om du inte gör något val, står inom hakparenteser.
+
+- Varianter av punktskriftsnotation för matematik som visas på punktskriftsskärmen:
+ - CMU.
+ - \[Nemeth.\]
+ - Svenska.
+ - UEB.
+ - Vietnam.
+- Punkt 7 & 8 markerar följande position i navigeringsläget:
+ - Av.
+ - Första tecknen.
+ - \[Ändpunkterna.\]
+ - Alla.
+
+## Alla navigeringskommandon
+
+Tabellen visar alla kommandon du kan använda för att navigera i matematiska uttryck. I första kolumnen står namnet på en tangent. I andra kolumnen beskrivs vad som händer om du trycker på tangenten. I tredje kolumnen beskrivs vad som händer om du håller ner Control och sedan trycker på tangenten. I fjärde kolumnen beskrivs vad som händer om du håller ner Shift och sedan trycker på tangenten. I femte kolumnen beskrivs vad som händer om du håller ner Control och Shift och sedan trycker på tangenten.
+
+OBS: Instruktionen för matriser gäller också för ekvationssystem och liknande uppställningar. De går att navigera i som om de vore tabeller.
+
+| Tangent | Enbart tangenten | +Ctrl | +Shift | +Ctrl+Shift |
+| --- | --- | --- | --- | --- |
+| Vänsterpil | Gå till föregående | I tabell: gå till föregående cell
I matris: gå till föregående element
(Ctrl+Alt+Vänsterpil kan också användas) | Läs föregående | Beskriv föregående |
+| Högerpil | Gå till nästa | I tabell: gå till nästa cell
I matris: gå till nästa element
(Ctrl+Alt+Högerpil kan också användas) | Läs nästa | Beskriv nästa |
+| Uppåtpil | Zooma ut | I tabell: gå till cellen över
I matris: gå till elementet över
(Ctrl+Alt+Uppåtpil kan också användas) | Ändra navigeringsläge till mer översiktligt | Zooma ut hela vägen |
+| Nedåtpil | Zooma in | I tabell: gå till cell under
I matris: gå till elementet under
(Ctrl+Alt+Nedåtpil kan också användas) | Ändra navigeringsläge till mer detaljerat | Zooma in hela vägen |
+| Enter | Nuvarande position (aktuella delen av uttrycket) | Nuvarande position (hela uttrycket) | | |
+| Siffror 1-10 (0 är 10) | Gå till markör | Placera ut markör | Läs upp markör | Beskriv markör |
+| Mellanslag | Läs nuvarande | Läs nuvarande cell | Ändra tal-läge till Läs eller Beskriv | Beskriv nuvarande |
+| Home | Gå till början av uttrycket | Gå till början av raden | I matris: Gå till början av kolumnen
I kolumn: Gå till översta elementet | |
+| End | Gå till slutet av uttrycket | Gå till slutet av raden | I matris: Gå till slutet av kolumnen
I kolumn: Gå till nedersta elementet | |
+| Backsteg | Gå tillbaka till senaste positionen | | | |
+
+## Har du synpunkter eller behöver du hjälp?
+
+MathCAT är ett verktyg som från början är utvecklat på engelska. Myndigheten för tillgängliga medier (MTM) och Specialpedagogiska Skolmyndigheten (SPSM) har översatt det till svenska. Har du synpunkter på översättningen, eller behöver du hjälp med att börja använda MathCAT? Kontakta oss gärna på [info@mtm.se](mailto:info@mtm.se) eller [spsm@spsm.se](mailto:spsm@spsm.se). Skriv MathCAT i ärenderaden på ditt mejl.
\ No newline at end of file
diff --git a/docs/User_guide_for_MathCAT_en.md b/docs/User_guide_for_MathCAT_en.md
new file mode 100644
index 00000000..c63431a8
--- /dev/null
+++ b/docs/User_guide_for_MathCAT_en.md
@@ -0,0 +1,129 @@
+# User guide for MathCAT
+
+MathCAT is a tool used together with a screen reader. Through MathCAT, you can have mathematical expressions read aloud. MatCAT can also make mathematics accessible through a braille display.
+
+
+If you are using the screen reader NVDA you have to download MathCAT as an addon. [You can download MathCAT as an addon for NVDA here.](https://nvda-addons.org/)
+
+If you are using JAWS, MathCAT comes built-in, which means you don’t have to install it as an addon.
+
+## Get started with MathCAT
+
+Use your screen reader on a web page or in an e-book as usual. When you get to a mathematical expression, the screen reader will read it out automatically. If you want to investigate the expression more closely you can activate the navigation mode by pressing Space. In NVDA, the NVDA-key+Alt+M can also be used. If you want to leave the navigation mode, press Escape.
+
+### The most common keyboard shortcuts are these
+
+- Move left, right, upp or down inside a mathematical expression, use the arrow keys.
+- Inside a table, move between cells by using CTRL+arrow keys.
+- Move to the beginning of an expression by pressing Home. Move to the end of an expression by pressing End.
+- To hear your current position, press Space.
+- To change navigation mode, press Shift+up/down. The navigation modes are described here: Navigation
+
+When you navigate inside an expression you can use CTRL+C to copy the MathML code for the current node of the expression.
+
+There are many more possibilities when you navigate inside mathematical expressions. All features are described here: All navigation commands
+
+## Adapt MathCAT to your needs
+
+There are many possibilities to adjust MathCAT to fit your needs. You can find the settings by pressing the NVDA-key+N, then Settings, then MathCAT settings. Below Categories there are three options: Speech, Navigation and Braille.
+
+### Speech
+
+You can choose between the following settings for speech. Below each setting you can find a list of all options with a short description. The default setting, the one that is active if you don’t make a choice, is written inside square brackets.
+
+- Disability:
+ - \[Blindness.\] The readout is unambiguous.
+ - Low vision. The readout is shorter.
+ - Learning disability. The readout is shorter.
+- Language: (the default setting is the same as the language the screen reader is set to)
+ - \[English (en)\]
+ - Spanish (es)
+ - Indonesian (id)
+ - Swedish (sv)
+ - Vietnamese (vi)
+ - Chinese, traditional (zh-tw)
+- Speech style:
+ - \[ClearSpeak.\] Expressions are spoken approximately like a teacher would have said them in a classroom.
+ - SimpleSpeak. Expressions are spoken more concicely. The reading is sometimes ambiguous.
+- Verbosity:
+ - Terse. “Extra” words such as “the” and “of” in “the square root of x” have been removed.
+ - \[Medium.\] A compromise between Terse and Verbose.
+ - Verbose. Everything is read out. The readout is unambiguous.
+- MathRate:
+ - \[100\], can be adjusted between 1 and 1000. Changes how fast math is spoken compared with the screen reader’s velocity. The number means percent. 100 corresponds to the same speed, less means slower and more means faster.
+- Pause factor:
+ - \[1\], can be adjusted between 0 and 10. Changes how long the pauses are when math is read out.
+- Math Sound:
+ - \[None.\]
+ - Beep. A beep is played before and after every math expression.
+- Chemistry:
+ - \[Read out.\] Chemical formulae are read out, e.g. “H two O” for $H_2O$.
+ - Off. “H sub 2 O” for $H_2O$.
+
+### Navigation
+
+Through MathCAT you can investigate an expression in detail by navigating inside it, that is, moving around and reading it piece-by-piece. In the settings for Navigation you can choose how to do this, and how detailed information you want.
+
+Below each setting you can find a list of all options with a short description. The default setting, the one that is active if you don’t make a choice, is written inside square brackets.
+
+- Navigation mode used when you enter an expression:
+ - \[Enhanced mode.\] Move between mathematically meaningful parts of an expression (e.g. numerator, denominator, exponents, expressions within parentheses).
+ - Simple mode. Move between words, except when you get to a defined expression, e.g. a square root. Then the entire expression is read out.
+ - Character mode. Move between words or numbers. Zoom in to read each letter or digit separately.
+
+If you want to change navigation mode while navigating an expression you can use Shift+Up to go to Enhanced from Simple (or from Character mode to Simple). If you use Shift+Down you go from Enhanced to Simple (or from Simple to Character mode). I.e., upwards means overview while downwards means more detailed.
+
+There is also a tick box which you can select for the navigation mode to reset every time you enter an expression. By default it is not selected.
+
+- Speech after move mode:
+ - \[Read.\] Reads out the part of the expression where you are.
+ - Describe. Gives an overview of the selected expression.
+
+There is also a tick box which you can select for the speech after move mode to be reset every time you enter an expression. By default it is selected.
+
+- Zoom out automatically when part of an expression (e.g. a root) has been read out.
+ - \[On.\] (box selected)
+ - Off. (box not selected)
+- Verbosity for navigation:
+ - Terse. “Extra” words such as “the” and “of” in “the square root of x” have been removed.
+ - \[Medium.\] A compromise between Terse and Verbose.
+ - Verbose. Everything is read out. The readout is unambiguous.
+
+### Braille
+
+You can choose between the following settings for braille. Below each setting you can find a list of all options. The default setting, the one that is active if you don’t make a choice, is written inside square brackets.
+
+- Braille notation for mathematics to be shown on the braille display:
+ - CMU.
+ - \[Nemeth.\]
+ - Swedish.
+ - UEB.
+ - Vietnam.
+- Dot 7 & 8 mark the following position in the navigation mode:
+ - Off.
+ - The first characters.
+ - \[End points.\]
+ - All.
+
+## All navigation commands
+
+The table shows all the commands you can use for navigating inside a mathematical expression. In the first column is the name of a key. In the second column is described what happens if you press the key. In the third column is described what happens if you press Control and then the key. In the fourth column is described what happens if you press Shift and then the key. In the fifth column is described what happens if you press Control and Shift and the key.
+
+Note: tabular math means mathematical content in a table structure such as a matrix or a system of equations. They can be navigated like a table.
+
+| Key | Unmodified | \+ Ctrl | \+ Shift | +Cntrl+Shift |
+| --- | --- | --- | --- | --- |
+| Left | Move to previous | In table: move to previous cell In tabular math: move to previous element
Note: Ctrl+Alt+Left can also be used | Read previous | Describe previous |
+| Right | Move to next | In table: move to next cell
In tabular math: move to next element
Note: Ctrl+Alt+Right can also be used | Read next | Describe next |
+| Up | Zoom out | In table: move to cell above
In tabular math: move to element above
Note: Ctrl+Alt+Up can also be used | Change Navigation Mode (Enhanced/Simple/Character) to larger | Zoom out all the way |
+| Down | Zoom in | In table: move to cell below
In tabular math: move to element below
Note: Ctrl+Alt+Down can also be used | Change Navigation Mode (Enhanced/Simple/Character) to smaller | Zoom in all the way |
+| Enter | Where am I | Global Where am I | | |
+| Numbers
1-10 (0 is 10) | Jump to Place Marker | Set placemarker | Read Placemarker | Describe Placemarker |
+| Space | Read current | Read Current cell | Toggle “speech mode” to read or describe | Describe current |
+| Home | Move to start of expression | Move to start of line | In tabular math: Move to start of column
In column: Move to element at top | |
+| End | Move to end of expression | Move to end of line | In tabular math: Move to end of column
In column: Move to element at bottom | |
+| Backspace | Move back to last position | | | |
+
+## Do you have feedback on MathCAT?
+
+
\ No newline at end of file
diff --git a/docs/index.md b/docs/index.md
index bc7335b5..c4c71317 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -6,9 +6,9 @@ is a library that supports conversion of MathML to:
* Braille (Nemeth, UEB Technical, and eventually other braille math codes)
* Navigation of math (in multiple ways including overviews)
-A goal of MathCAT is to be an easy to use library for screen readers and other assistive technology to use to produce high quality speech and/or braille from MathML. It is a follow-on project from MathPlayer (see below) and uses lessons learned from it to produce even higher quality speech, navigation, and braille. MathCAT takes advantage of some new ideas the [MathML Working Group](https://mathml-refresh.github.io/charter-drafts/math-2020.html) is developing to allow authors to express their intent when they use a notation. E.g., $(3, 6)$ could be a point in the plane or an open interval, or even a shorthand notation for the greatest common divisor. When that information is conveyed in the MathML, MathCAT will use it to generate more natural sounding speech.
+A goal of MathCAT is to be an easy-to-use library for screen readers and other assistive technology to use to produce high quality speech and/or braille from MathML. It is a follow-on project from MathPlayer (see below) and uses lessons learned from it to produce even higher quality speech, navigation, and braille. MathCAT takes advantage of some new ideas that the [MathML Working Group](https://mathml-refresh.github.io/charter-drafts/math-2020.html) is developing to allow authors to express their intent when they use a notation. E.g., $(3, 6)$ could be a point in the plane or an open interval, or even a shorthand notation for the greatest common divisor. When that information is conveyed in the MathML, MathCAT will use it to generate more natural sounding speech.
-Todo: incorporation of third party libraries to support a common subset of TeX math commands along with ASCIIMath.
+To do: incorporation of third party libraries to support a common subset of TeX math commands along with ASCIIMath.
# Documentation for different MathCAT Users
@@ -22,7 +22,7 @@ There are many different audiences for MathCAT and each audience has different i
# Some Technical Details
MathCAT is written in Rust and can be built to interface with many languages. To date there are interfaces for:
* [C/C++](https://github.com/NSoiffer/MathCATForC)
-* [Python](https://github.com/NSoiffer/MathCATForPython) -- this is used by an [NVDA add-on](https://addons.nvda-project.org/addons/MathCAT.en.html). I hope to eventually get it incorporated into [Orca](https://help.gnome.org/users/orca/stable) which is written in Python.
+* [Python](https://github.com/NSoiffer/MathCATForPython) -- this is used by an [NVDA add-on](https://addons.nvda-project.org/addons/MathCAT.en.html) and the Linux screen reader [Orca](https://help.gnome.org/users/orca/stable), both of which are written in Python.
* [Java](https://github.com/mwhapples/MathCAT4J) -- this is currently being used to experiment with MathCAT in [BrailleBlaster](https://www.brailleblaster.org/).
* [WebAssembly (Wasm, sort of JavaScript)](https://github.com/NSoiffer/MathCATDemo/) -- this is used for a web demo of MathCAT.
@@ -41,11 +41,11 @@ MathCAT's Nemeth braille is substantially better than that provided by MathPlaye
A number of other assistive technologies have incorporated MathCAT into their products. Notable among these is Vispero/JAWS. JAWS currently supports MathCAT's speech in English and Spanish; braille support includes Nemeth and UEB. Other languages and braille codes are on the way, so stay tuned. You can use all speech, navigation, and braille navigation commands that MathCAT provides from within the JAWS Math Viewer. MathCAT settings are available through the JAWS Settings Center.
-Some other screen readers that use MathCAT:
+Other assistive technology that use MathCAT:
* The Linux Orca screen reader incorporates MathCAT for speech, navigation, and braille.
* Dolphin EasyReader uses MathCAT.
-* Kurzweil 3000 makes use of MathCAT, and that support includes synchronized highlighting as the math is spoken.
+* Kurzweil 3000 incorporates MathCAT’s speech and highlights the matching subexpression in dual colors as it is spoken, providing clear visual tracking for sighted users.
* Microsoft Narrator has announced they will be using MathCAT in an upcoming version.
[_Other companies_: if you have incorporated MathCAT into your product and would like to be mentioned here, please contact me by email or add an issue to update the documentation]
@@ -54,22 +54,22 @@ A demo to show off some of MathCAT's features and also as an aid for debugging w
Future work includes:
-* More languages. If you would like to translate to a language that is not currently supported, please create an issue in the [MathCAT GitHub repo](https://github.com/daisy/MathCAT/issues)
+* More languages. If you would like to translate to a language that is not currently supported, please create an issue in the [MathCAT GitHub repo](https://github.com/daisy/MathCAT/issues).
* More braille language support. To add support for another braille code, I need three things:
* a spec for the language
* access to a braille expert in that language who can answer questions that I have about the spec
* someone who is willing to copy at least 200 examples from the spec into a form that is used for tests (MathML, Unicode braille string). That might take 30 or more hours.
- If you can bring together the required elements to help out, please create an issue in the [MathCAT GitHub repo](https://github.com/daisy/MathCAT/issues)
+ If you can bring together the required elements to help out, please create an issue in the [MathCAT GitHub repo](https://github.com/daisy/MathCAT/issues).
* Conversion _from_ braille _to_ MathML
* Work on 2D versions of the braille codes for use on multiline refreshable braille displays such as the Monarch and Canute 360.
## Why MathCAT?
-MathCAT is a follow-on to MathPlayer. I developed MathPlayer's accessibility while at Design Science starting back in 2004 after I joined Design Science. At the time, MathPlayer was chiefly designed to be a C++ plugin to Internet Explorer (IE) that displayed MathML on web pages. For quite some time, it was the most complete MathML implementation available. The original work for display of math was done by Design Science's founder Paul Topping and its chief technology officer, the late Robert Miner. Eventually, for numerous reasons, IE withdrew the interface that MathPlayer used for display and did not implement a replacement as the world was moving towards using JavaScript in the browser and not allowing security threats posed by external code. This left MathPlayer as an accessibility-only library called by other programs (chiefly NVDA). MathPlayer was proprietary, but was given away for free.
+MathCAT is a follow-on to MathPlayer. I developed MathPlayer's accessibility while at Design Science starting in 2004, shortly after I joined the company. At the time, MathPlayer was chiefly designed to be a C++ plugin to Internet Explorer (IE) that displayed MathML on web pages. For quite some time, it was the most complete MathML implementation available. The original work for display of math was done by Design Science's founder Paul Topping and its chief technology officer, the late Robert Miner. Eventually, for numerous reasons, IE withdrew the interface that MathPlayer used for display and did not implement a replacement as the world was moving towards using JavaScript in the browser and not allowing security threats posed by external code. This left MathPlayer as an accessibility-only library called by other programs (chiefly NVDA). MathPlayer was proprietary, but was given away for free.
-In early 2017, I left Design Science. Later in the year, WIRIS bought Design Science. I volunteered to add bug fixes for free to MathPlayer and initially they were supportive of that. But when it came time to do a release, a number of the people around at the time of the buyout had left and the remaining team was not interested in supporting MathPlayer. That decision was not finalized until late 2020. In 2021, I started work on a replacement to MathPlayer. As a challenge, I decided to learn Rust and did the implementation in Rust. For those not familiar with Rust, it is a low level language that is type safe and memory safe, but not automatically garbage collected or reference counted. It is often touted as a safer replacement to C/C++.
+In early 2017, I left Design Science. Later in the year, WIRIS bought Design Science. I volunteered to add bug fixes for free to MathPlayer and initially they were supportive of that. But when it came time to do a release, a number of the people around at the time of the buyout had left and the remaining team was not interested in supporting MathPlayer. That decision was not finalized until late 2020. In 2021, I started work on a replacement for MathPlayer. As a challenge, I decided to learn Rust and did the implementation in Rust. For those not familiar with Rust, it is a low-level language that is type safe and memory safe, but not automatically garbage collected or reference counted. It is often touted as a safer replacement for C/C++.
Rust is quite efficient. On a Core i7-770K machine (higher end processor circa 2017), the moderate-size expression
takes about 4ms to generate the ClearSpeak string
"_e raised to the exponent, negative 1 half times; open paren; the fraction with numerator; x minus mu; and denominator sigma; close paren squared, end exponent_" along with the Nemeth braille string "⠑⠘⠤⠹⠂⠌⠆⠼⠈⠡⠷⠹⠭⠤⠨⠍⠌⠨⠎⠼⠾⠘⠘⠆".
-This time is split approximately: 2ms to clean up the MathML + 1ms for speech generation + 1ms for braille generation. This includes time to make sure all the rule files are up to date, which turns out is quite expensive. A preference can be set to turn the checks off (the file checks are mainly useful for debugging). With the check turned off, the time drops to 2.3ms.
+This time is split approximately: 2ms to clean up the MathML + 1ms for speech generation + 1ms for braille generation. This includes time to make sure all the rule files are up to date, which turns out to be quite expensive. A preference can be set to turn the checks off (the file checks are mainly useful for debugging). With the check turned off, the time drops to 2.3ms.
On a higher end (2025) Intel Core Ultra 9 285, the (single processor) time for generating speech + braille is ~1ms.
@@ -150,18 +150,18 @@ On a higher end (2025) Intel Core Ultra 9 285, the (single processor) time for g
MathCAT uses external rules to generate speech and braille.
-These take about 40ms to load; this load only happens the first time the rules are used, or if the speech style, language, or other external preference is changed. An additional 50ms are required to load the full Unicode files for speech and braille,
-but studies have shown that a vast majority of English K-14 math material uses a surprisingly small number of characters.
+These take about 40ms to load; this load only happens the first time the rules are used, or if the speech style, language, or other external preference is changed. An additional 50ms is required to load the full Unicode files for speech and braille, but studies have shown that a vast majority of English K-14 math material uses a surprisingly small number of characters.
Using open source math books, the initial load should cover at least 99.99% of the characters used in expressions encountered in English K-14 math textbooks.
-The library is about ~3mb in size.
+The library is ~3 MB in size.
If you are working on an in-browser solution (i.e., you are using JavaScript or some other browser-based language), MathCAT is probably not the best tool for you (although I will probably factor the [MathCATDemo](https://github.com/NSoiffer/MathCATDemo/) into a JavaScript interface on which the demo is built). Instead, take a look at [Speech rule engine](https://github.com/zorkow/speech-rule-engine) (SRE) by Volker Sorge. It is written in TypeScript and will likely meet your needs for an in-browser solution unless braille is important; MathCAT supports multiple braille codes and at least for Nemeth Code, is higher quality.
# Acknowledgements
+
Several people helped out in various ways with the project. I am very grateful for all their help!
-* David Carlisle -- provided invaluable help figuring out some xpath matches
+* David Carlisle -- provided invaluable help figuring out some XPath matches
* Susan Jolly -- provided lots of patient guidance on Nemeth and UEB generation along with feedback on what is right and wrong. On top of that, she also guided me as I tried to work out chemistry heuristics.
* Elaine A. Moore -- helped me to figure out what should and should not be said for chemistry, along with what makes sense as chemistry and what doesn't.
* Richard Orme -- did all the work for the MathCAT NVDA settings dialog.
@@ -173,8 +173,9 @@ Translators:
* Chinese (Traditional) -- Hon-Jang Yang
* Finnish -- Sami Määttä, Accessibility Library Celia, and Essi Viippola, freelancer
* German -- Nazli Andjic, Robert Graf and Paul Libbrecht (IU International University of Applied Sciences)
-* Indonesian -- Dr. Pinta Deniyanti Sampoerno, M.Si; Dr. Meiliasari, S.Pd., M.Sc; and Ari Hendarno, S.Pd., M.kom
+* Indonesian -- Dr. Pinta Deniyanti Sampoerno, M.Si; Dr. Meiliasari, S.Pd., M.Sc; and Ari Hendarno, S.Pd., M.Kom.
* Norwegian -- Marthe Gjelstad, National Library of Norway, Kvile
+* Russian -- Danil Kostenkov
* Spanish -- Noelia Ruiz Martínez (also helped with NVDA add-on development) and María Allo Roldán
* Swedish -- Tim Arborealis Lötberg, Swedish Agency for Accessible Media (MTM) and Anders Eklund, SPSM
* Vietnamese -- Dang Hoai Phúc and Trang Pham
@@ -194,6 +195,6 @@ I then joined Design Science, Inc (DSI) which had an interest in making math acc
For more information about what happened to MathPlayer and how MathCAT came to be, see the [Why MathCAT?](#why-mathcat) section.
-All along, I've been pushing to make math work on the web and make it accessible. While at Wolfram Research, I helped launch the W3C MathML effort and have been involved with the working group ever since. I currently co-chair the W3C Math Working Group. I've been a member on several other committees over the years pushing strongly to make sure they incorporated math accessibility into their standards. Some of these groups include NIMAS, EPUB, and PDF/UA.
+All along, I've been pushing to make math work on the web and make it accessible. While at Wolfram Research, I helped launch the W3C MathML effort and have been involved with the working group ever since. I currently co-chair the W3C Math Working Group. I've been a member on several other committees over the years pushing strongly to make sure they incorporated math accessibility into their standards. Some of these groups include NIMAS, EPUB, and PDF/UA.
I'm very honored that in 2023, the National Federation of the Blind gave me the $25,000 Jacob Bolotin award. I donated $15,000 of that to the _open collective_ to improve MathML support in browsers. [Click this link for how you can help improve MathML support in browsers](https://opencollective.com/mathml-core-support).
diff --git a/docs/new_translators_guide_MathCAT_revised.md b/docs/new_translators_guide_MathCAT_revised.md
new file mode 100644
index 00000000..35742047
--- /dev/null
+++ b/docs/new_translators_guide_MathCAT_revised.md
@@ -0,0 +1,561 @@
+# A translator's guide to MathCAT
+
+This guide explains how to create or update a MathCAT translation, using Portuguese as example target language.
+
+Most of this guide focuses on **speech (TTS) translation**. If you are working on Braille, you should still read the main workflow first, because much of the setup and testing process is similar. Then go to the section on [Braille translation](#braille-translation) to see what is different.
+
+You do **not** need to be an experienced programmer to do this work well. Several successful translators started with only basic programming knowledge and no previous experience with YAML or Rust. What matters most is that you know your target language well, understand how mathematics is normally spoken or written in that language, and are willing to test carefully.
+
+A background in mathematics is very helpful. You do not need to be a professional mathematician, but you do need to recognize when something sounds awkward, unclear, or mathematically misleading. If you are a native speaker and are comfortable with mathematics at about university level, that is a strong starting point.
+
+## Time estimate
+
+A full translation takes time, especially if you want it to be reliable and pleasant to use.
+
+Based on real projects, a thorough TTS translation may take around **300–450 hours**. A Braille translation may take around **160–240 hours**. That can vary a lot depending on how good your starting point is, whether a similar language already exists, and how much previous programming experience you have.
+
+## Need help getting started?
+
+This guide was written by Marthe Gjelstad, Tim Arborealis Lötberg and Anders Eklund, who made the Norwegian and Swedish translations of MathCAT. If you need help getting started, we're happy to help. Get in touch with us at:
+
+**[mathcat-wg@daisylists.org](mailto:mathcat-wg@daisylists.org)**
+
+---
+
+## Recommended workflow
+
+A good workflow for translating MathCAT looks like this:
+
+1. Set up your working copy
+2. Update and audit the translation
+3. Listen to the speech early
+4. Add and run tests
+5. Learn about speech modes and verbosity settings
+6. Work on the rule files
+7. Review with a mathematician
+8. Do user testing
+9. Submit the translation
+10. Keep the translation up-to-date
+
+---
+
+## Step 1: Set up your working copy
+
+### Get the repository
+
+MathCAT is hosted on GitHub.
+
+If you have never used GitHub before, do not let that put you off. For translation work, you only need a small part of it. In practice, you just need to get a copy of the project, edit files, and save your changes.
+
+The easiest way to get started is often with **GitHub Desktop**:
+[https://desktop.github.com/](https://desktop.github.com/)
+
+Basic workflow:
+
+1. Fork the MathCAT repository.
+2. Clone it to your computer.
+3. Work in your own branch, for example `pt`.
+
+That is enough to get started.
+
+### Install the tools you need
+
+You will need a few tools. It sounds like a lot at first, but each one has a clear purpose.
+
+* Git: [https://git-scm.com/](https://git-scm.com/)
+* GitHub Desktop: [https://desktop.github.com/](https://desktop.github.com/)
+* A code editor, for example VS Code: [https://code.visualstudio.com/](https://code.visualstudio.com/)
+* Rust: [https://rust-lang.org/tools/install/](https://rust-lang.org/tools/install/)
+* NVDA: [https://www.nvaccess.org/download/](https://www.nvaccess.org/download/)
+* MathCAT (installed from the NVDA Add-on Store)
+
+Rust is only needed to run the automated tests. You do not need to learn Rust as a programming language in order to translate MathCAT.
+
+---
+
+## Step 2: Update and audit the translation
+
+Before you start translating, make sure your language files match the current English structure. If you skip this step, you may spend time fixing problems that are really caused by outdated files.
+
+### Use the audit tool
+
+Documentation:
+[https://github.com/daisy/MathCAT/blob/main/PythonScripts/audit_translations/README.md](https://github.com/daisy/MathCAT/blob/main/PythonScripts/audit_translations/README.md)
+
+Use the audit tool to find missing rules in the “pt” files. Add these rules to the “pt” files. The documentation contains detailed instructions on how to use the tool, so start there.
+
+### Start from a similar language if possible
+
+If a language that is grammatically very similar to yours already exists, it is often better to start from that instead of from English or from a machine-generated translation.
+
+For example, the Norwegian translation started from Swedish. That can save a lot of time, especially in places where grammar and word order differ from English in systematic ways. But, remember to use the audit tool to look for missing rules before you start translating to your own language.
+
+---
+
+## Step 3: Listen to the speech early
+
+Listening to the output as you go along will help you identify errors early. A translation can look perfectly fine in a YAML file and still sound awkward, repetitive, or confusing when spoken. A good procedure is to listen to some expressions through a screen reader after each file has been translated.
+
+### Set up NVDA with your local rules
+
+1. Download NVDA: [https://www.nvaccess.org/download/](https://www.nvaccess.org/download/)
+2. In NVDA, open **Tools → Add-on Store** and install MathCAT.
+3. Make a copy of your language folder, for example `pt`, and add it to:
+
+```text
+%AppData%\nvda\addons\MathCAT\globalPlugins\MathCAT\Rules\Languages
+```
+
+This makes it possible to listen to your local translation in NVDA.
+
+### Try real expressions
+
+A practical way to test speech is to take MathML expressions from the Rust test files and put them into a simple HTML document. Then open that file and listen with NVDA.
+
+Make one change at a time, listen again, and keep notes. This is an efficient way to learn how the rules behave in practice.
+
+---
+
+## Step 4: Add and run tests
+
+Automated tests are a core part of the workflow. They help you catch syntax errors, document the speech you expect, and make sure future MathCAT changes do not silently break your translation. It is helpful to translate the tests as you work on the translation and not save them for last.
+
+In `MathCAT/tests`, open `languages.rs` and add (in the case of Portuguese):
+
+```rust
+mod pt;
+```
+
+Then in `MathCAT/tests/Languages`:
+
+1. Copy `en.rs` to `pt.rs`.
+2. Copy the `en` folder to `pt`.
+
+If you only choose one speech style at first, you can remove or comment out the other one.
+
+In each test, replace `"en"` with `"pt"`.
+
+Once that is done, run:
+
+```bash
+cargo test Languages::pt
+```
+
+The first time, many tests will probably fail. That is normal.
+
+### Understanding test failures
+
+A typical failure report will show something like this:
+
+```rust
+left: "1 half"
+right: "1 halv"
+```
+
+The important part is the comparison:
+
+* `left` is the expected text written in the test
+* `right` is the text MathCAT actually produced
+
+If the generated output is correct, copy it into the test. If it is wrong, fix the rule instead.
+
+It can actually be faster to run the tests before translating all the expected output. Then you can use the failure messages to see what MathCAT already produces in your language, and copy the correct ones into place.
+
+### Example of a simple test
+
+```rust
+#[test]
+fn common_fraction_half() -> Result<()> {
+ let expr = "";
+ test("pt", "ClearSpeak", expr, "um meio")?;
+ return Ok(());
+}
+```
+
+Here:
+
+* `common_fraction_half` is the name of the test
+* `expr` contains the MathML expression
+* `"pt"` is the language code
+* `"ClearSpeak"` is the speech mode
+* `"um meio"` is the expected spoken output
+
+### Example with preferences
+
+Some tests use `test_prefs` so that you can check a rule under specific settings.
+
+```rust
+#[test]
+fn common_fraction_tenths() -> Result<()> {
+ let expr = "";
+ test_prefs("en", "ClearSpeak", vec![("Verbosity", "Medium"), ("ClearSpeak_Fractions", "Auto")], expr, "17 tenths")?;
+ test_prefs("en", "ClearSpeak", vec![("Verbosity", "Medium"), ("ClearSpeak_Fractions", "Ordinal")], expr, "17 tenths")?;
+ return Ok(());
+}
+```
+
+In this kind of test:
+
+* `test_prefs` runs the expression with specific preferences
+* `vec![]` contains those preferences
+* `("Verbosity", "Medium")` sets the verbosity level
+* `("ClearSpeak_Fractions", "Auto")` sets a ClearSpeak preference
+
+MathCAT also adds pauses in some places. In the test strings, these show up as punctuation such as commas and semicolons. So if a test almost matches, always check whether the real difference is pausing rather than wording.
+
+---
+
+## Step 5: Learn about speech modes and verbosity settings
+
+There are two main speech modes: ClearSpeak and SimpleSpeak. The paper [A Comparison of Different Styles of Speech for Mathematics](https://scholarworks.calstate.edu/downloads/5t34sv64c), written by Neil, includes a good explanation of the difference between the two speech styles. In short:
+
+* ClearSpeak is supposed to be similar to how a teacher would say a mathematical expression in a classroom.
+* SimpleSpeak speaks simple expressions compactly. For example $\frac{x}{y} + 1$ is spoken as "x over y plus one". There are no bracketing words to indicate where the fraction begins and ends. This is because both the numerator and denominator are simple. The expression $\frac{x}{y+1}$ is spoken as "fraction, x over y plus one, end fraction". Here, bracketing words are used because the denominator is not simple.
+
+It is up to you if you want to translate both speech styles or just focus on one. The translated speech styles may be more or less different from one another than the English ones depending on what variety of spoken math makes sense in the target language.
+
+MathCAT also supports the verbosity levels **Terse**, **Medium**, and **Verbose**. It is up to you as a translator to what degree these levels should differ in your language. In some cases, the natural translation may collapse two English variants into one (such as when the word "the" does not exist in the target language). In others, there may be several ways of speaking an expression where there is only one option in English. That is all fine. Clarity matters more than forcing artificial differences.
+
+For ClearSpeak there are many different preferences. These are used in the rules and in the tests. You can read about the preferences here: [ClearSpeak Preferences](https://github.com/daisy/MathCAT/blob/main/docs/ClearSpeakRulesAndPreferences.docx). At the moment, the preferences are not visible for users in the MathCAT settings in NVDA.
+
+---
+
+## Step 6: Work on the rule files
+
+### Which files need translating?
+
+Most of your work will be in YAML rule files. If you're translating to Portuguese, your language files will be inside the folder `MathCAT\Rules\Languages\pt`. It contains the following files to translate:
+
+* `ClearSpeak_Rules.yaml`
+* `definitions.yaml`
+* `navigate.yaml`
+* `overview.yaml` (optional)
+* `SimpleSpeak_Rules.yaml`
+* `unicode.yaml`
+* `unicode-full.yaml` (semi-optional)
+
+The subfolder `MathCAT\Rules\Languages\pt\SharedRules` contains shorter rules that are the building blocks that the rules in both `ClearSpeak_Rules.yaml` and `SimpleSpeak_Rules.yaml` are made from. All of these need translating as well.
+
+### Where to start
+
+It can be helpful to start out with for example `ClearSpeak_Rules.yaml` and a few of the files in the `SharedRules`, to get a feel of how the rules work.
+
+Many of the changes which need to be made will be discovered through the tests, as stated above. However, the files `unicode.yaml`, `unicode-full.yaml`, `navigate.yaml` and `definitions.yaml` are not sufficiently covered by the tests. These especially need a lot of manual attention.
+
+Do not spend a lot of time going through `unicode-full.yaml` at first. It is several thousand lines long, and most of the symbols are very rarely used in real life (some won't even render in VS Code). This file can be saved for last, and it is enough to look through it and check the most recognisable symbols.
+
+Likewise, the file `overview.yaml` is less critical than the others, because it does not affect the reading of mathematical expressions directly. However, it provides screen readers with access to short structural summaries of expressions, and so it is worth going over eventually.
+
+### What to do
+
+Your main task will be to locate all yaml key names `t:`, which correspond to text strings to be spoken. Lowercase `t:` means the text has not yet been translated. Verify (if the auto translation happens to be correct) or change the translation until you are happy with it. Once this is done, change it into a capital `T:` to indicate you have gone over it.
+
+The same procedure of capitalization applies to all instances of `ct:`, `ot:`, `spell:`, `pronounce:` and `IfThenElse:`. However, these are far less frequent than `t:`.
+
+### Adapting or writing custom rules
+
+The tests cover most of the rules in the rule files. However, there can be grammatical things in Portuguese that do not exist in English, and are not covered by the tests. It is therefore a good idea to go through all the rules to check that everything looks correct.
+
+When there are grammatical differences, it will not be enough to simply change the text strings. Then, the rules need to be adapted, or new rules added. It is a good idea to write new tests to cover entirely new rules, to make sure your output is correct. Don't be afraid of trial-and-error until you get it right.
+
+Here follows a crash course in the anatomy of a MathCAT rule. Each rule describes when it applies and what should be spoken. The main parts are:
+
+* `name` — the name of the rule
+* `tag` — the MathML element the rule applies to
+* `match` — the condition that must be true for the rule to apply
+* `replace` — the output and actions MathCAT should use
+
+Inside `replace`, some common commands are:
+
+* `t:` — text to speak
+* `ct:` — concatenate text without a space in front
+* `ot:` — optional text, used to avoid repeated words
+* `x:` — an XPath expression
+* `test:` — conditional logic
+* `pause:` — a pause in the speech
+* `bookmark:` — used for synchronized highlighting
+
+#### Example 1
+
+```yaml
+- name: squared
+ tag: power
+ match: "*[2][self::m:mn][.='2'] and $ClearSpeak_Exponents = 'Auto'"
+ replace:
+ - x: "*[1]"
+ - bookmark: "*[2]/@id"
+ - t: "squared" # phrase(7 'squared' equals 49)
+```
+
+This rule states that if a power has exponent 2 and the preference for `ClearSpeak_Exponents` is set to `Auto`, then the output should be “base squared”. For example, $x^2$ would be spoken as “x squared”.
+
+A few things are worth noticing here:
+
+* The `match` says what expressions the rule applies to.
+* The expression after `x` is an XPath expression. It retrieves the first child of a power element, which would be the base.
+* The expression after `t` is text that must be translated. When the string is translated and verified, capitalize the `t`.
+
+#### Example 2
+
+```yaml
+- name: fraction-over-text
+ tag: fraction
+ match:
+ - "not($ClearSpeak_Fractions='General' or $ClearSpeak_Fractions='GeneralEndFrac') and"
+ - "( "
+ - " ((*[1][self::m:mi or self::m:mtext][string-length(.)>1]) or "
+ - " (*[1][self::m:mrow][count(*)=3][ "
+ - " *[1][self::m:mn] and "
+ - " *[2][self::m:mo][.=''] and "
+ - " *[3][self::m:mi or self::m:mtext][string-length(.)>1] ]) ) and"
+ - " ((*[2][self::m:mi or self::m:mtext][string-length(.)>1]) or "
+ - " (*[2][self::m:mrow][count(*)=3][ "
+ - " *[1][self::m:mn] and "
+ - " *[2][self::m:mo][.=''] and "
+ - " *[3][self::m:mi or self::m:mtext][string-length(.)>1] ]) )"
+ - ")"
+ replace:
+ - x: "*[1]"
+ - t: "over" # phrase(the fraction 3 'over' 4)
+ - x: "*[2]"
+ - test:
+ if: "$ClearSpeak_Fractions='EndFrac' or $ClearSpeak_Fractions='OverEndFrac'"
+ then:
+ - pause: short
+ - t: "end fraction" # phrase(7 over 8 'end fraction')
+ - pause: short
+```
+
+For this rule to apply, several constraints must be satisfied. They are all listed in `match`.
+
+In plain language, the rule says:
+
+* The preference `ClearSpeak_Fractions` should not be `General` or `GeneralEndFrac`, **and**
+* the numerator is a text string with length more than 1, or a number invisibly multiplied with a text string with length more than 1, **and**
+* the denominator satisfies the same constraints as the numerator.
+
+If all of that is satisfied, the fraction will be spoken as “numerator over denominator”. If `ClearSpeak_Fractions` is set to `EndFrac` or `OverEndFrac`, there will also be a short pause before “end fraction” is spoken.
+
+For example, the output for the expression $\frac{\text{meter}}{\text{second}}$ would be “meter over second”.
+
+---
+
+## Step 7: Review with a mathematician
+
+Once you have a fairly complete translation, it is a very good idea to ask a mathematician, mathematics teacher, or another strong subject expert who is a native speaker of the language to review a representative set of outputs.
+
+A useful way to do this is to prepare a set of example expressions together with transcripts of what MathCAT says. Then ask the reviewer to go through them and flag anything that sounds mathematically odd, ambiguous, or unusual.
+
+This kind of review is important because a translation can be grammatically correct and still not sound like real mathematics. A subject expert can often catch problems in terminology, symbol naming, and the way larger structures are spoken.
+
+That said, you may not always be able to satisfy every request perfectly. Sometimes the way screen readers work, or the way MathCAT is structured, means that the most mathematically elegant wording is not the most usable one.
+
+---
+
+## Step 8: Do user testing
+
+If you are not yourself a proficient screen reader user, user testing is essential.
+
+The best testers are blind users who are comfortable with mathematics, especially STEM users if you can find them. Give them a local version of MathCAT with your translation, together with an HTML file containing representative MathML expressions.
+
+It helps to let users try it on their own first. After that, meet with them and go through more examples together. Ask them not only whether the wording is correct, but whether the structure is clear, whether the pauses help, and whether the output matches what they are used to hearing.
+
+This matters because spoken math is not judged only by correctness. It also has to be usable in real screen reader workflows. In practice, user feedback should often weigh more heavily than theoretical preferences about grammar, especially when the disagreement is really about clarity or navigation rather than mathematical meaning.
+
+---
+
+## Step 9: Submit the translation
+
+Before you open a pull request or share your translation, it’s worth doing one final pass to make sure everything is in good shape. This helps avoid unnecessary back-and-forth and makes the review process smoother.
+
+### Final checklist
+
+Go through the following:
+
+#### Files and structure
+
+* Your language files are up to date with the current English structure
+* No rules are missing (audit tool has been run)
+* No obvious leftover English text remains
+
+#### Translation status
+
+* All reviewed text has been changed from `t:` to `T:` (and `ct:` → `CT:`, `ot:` → `OT:` etc.)
+* You have consciously reviewed wording, not just auto-translated it
+
+#### Speech output
+
+* You have listened to a representative set of expressions in NVDA
+* Output sounds natural and unambiguous in your language
+* Pauses and structure make sense when listening
+
+#### Tests
+
+* Tests have been added for your language
+* All tests pass:
+
+ ```bash
+ cargo test Languages::pt
+ ```
+
+* Expected outputs in tests match your intended speech (including pauses)
+
+#### Expert review
+
+* A mathematician or subject expert has reviewed representative output
+* Major terminology or structure issues have been addressed
+
+#### User testing
+
+* At least some testing has been done with screen reader users
+* Feedback on clarity and usability has been considered
+
+### Submitting your translation
+
+Once you are satisfied with the checklist:
+
+1. **Commit your changes** in your branch (for example `pt`)
+2. **Push your branch** to GitHub
+3. **Open a pull request** against the main MathCAT repository
+
+In your pull request, it helps to include:
+
+* A short description of the translation
+* What has been completed (e.g. ClearSpeak, SimpleSpeak, tests)
+* Any known limitations or areas that still need work
+
+After that, maintainers will review your work and may suggest changes before merging.
+
+### When will the translation become available for users?
+
+Once your translation is merged into MathCAT:
+
+* It will become part of future MathCAT releases
+* Users will be able to select your language in supported screen readers (such as NVDA)
+
+If you want to use it immediately before an official release, you can:
+
+* keep using your local rules folder in NVDA, or
+* install a development version of MathCAT that includes your changes
+
+---
+
+## Step 10: Keep the translation up-to-date
+
+A translation is never “finished” in a strict sense. Even after merging, you will likely find small improvements over time—especially as users start working with real content.
+
+Furthermore, the English version is still under active development, and you will want to include new features in your translation. To keep your translation in sync, you may use the [Translation audit tool](https://github.com/daisy/MathCAT/blob/main/PythonScripts/audit_translations/README.md).
+
+
+
+---
+
+## Braille translation
+
+Braille translation follows a similar overall workflow, but there are some important differences.
+
+Before starting work on the Braille rules, it is important to establish what standard is used in your country for writing mathematics. Some countries have established Braille codes, while others use some other kind of notation such as LaTeX or ASCIIMath. You need to decide early which standard MathCAT should follow.
+
+If a Braille standard similar to yours already exists, it may be useful as a starting point. Otherwise, you will probably need to start more or less from scratch.
+
+### Braille files
+
+For a new Braille language, you will need to create three `.yaml` files in `Rules\Braille\your-braille-language`:
+
+1. `xxx_Rules.yaml` — where `xxx` is the name of your Braille code. This contains the rules that translate MathML into Braille.
+2. `unicode.yaml` — this contains translations of the more common characters.
+3. `unicode-full.yaml` — this contains the rest of the character translations.
+
+The reason for having two Unicode files is practical: keeping the common characters in a shorter file helps startup time.
+
+### An example from Swedish
+
+The Swedish Braille translation followed the official Swedish Braille code for mathematics, which was a 6-dot standard intended for printed Braille. There was no established 8-dot standard for mathematics, so the translation had to be built around the only recognized standard that existed.
+
+The Swedish work also showed that source standards are not always strict enough for software. Some printed standards allow spacing to follow the printed source. In MathCAT, that is not enough. The rules need to be explicit, so you may need to resolve inconsistencies and make firm decisions about spacing.
+
+### Testing Braille
+
+The basic idea is similar to TTS testing, but the tests check Braille Unicode instead of speech strings.
+
+A practical way to work is to write Rust tests with expected Braille output taken from the national standard or from agreed examples. Then run the tests, inspect failures, and refine the rules until the output matches.
+
+The Swedish translation used examples taken straight from the Swedish Braille code, especially for arithmetic, fractions, subscript and superscript, and basic functions. That turned out to be a good way to ground the rules in a real standard.
+
+### Braille-specific challenges
+
+Braille work often raises issues that do not come up in speech translation. For example:
+
+* the standard may be incomplete or inconsistent
+* the standard may assume printed context instead of machine-generated output
+* some symbols may not have clear established representations
+* spacing may need to be made stricter than the source standard suggests
+
+### Braille user testing
+
+Braille user testing is just as important as speech user testing.
+
+In the Swedish work, testers used NVDA together with the Braille viewer so that the output could be monitored during remote sessions. That made it possible to observe the output even when the reviewers themselves were not reading the physical Braille display.
+
+As with speech, the goal is not only technical correctness. The output should also be readable, consistent, and useful in real workflows.
+
+---
+
+## Appendix
+
+### Practical advice for working efficiently
+
+AI tools can be useful when you are drafting translations, exploring alternative phrasings, or trying to understand a difficult rule. They can also help when you need to write or edit rules.
+
+However, they should always be treated as assistants, not authorities. Automatic translations always need checking by a human, and rule changes always need testing with real output.
+
+More generally, it helps to make one change at a time, test often, and discuss difficult cases with other translators or subject experts when you can.
+
+### Troubleshooting
+
+If something does not work as expected, check indentation first. YAML errors are common and can be surprisingly hard to spot. If you use VS Code, it can be useful to download a YAML extension to help you find YAML errors.
+
+Also check the test output carefully and listen again. Many problems are easier to hear than to see.
+
+### XPath
+
+Many parts of a speech rule make use of XPath. This is a popular and well-documented method for selecting parts of an XML document. A web search will turn up many tutorials. Those not familiar with XPath are encouraged to read some. The implementation of XPath used by MathCAT is a slightly extended version of XPath 1.0.
+
+MathCAT usage tends to use only a few features of XPath. It also makes use of some custom functions. Here is a short explanation of common XPath usage:
+
+| usage | meaning |
+| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `*` | matches all children |
+| `[...]` | selects nodes from the current match |
+| `*[1]` | selects first child |
+| `*[self::m:mn]` | selects all children that are `mn` elements. Note that `m` is used to indicate that the element is in the MathML namespace. |
+| `*[1][self::m:mn]` | select the first child as long as it is an `mn` element |
+| `*[1][self::m:mo][text()='-']` | select the first child as long as it is an `mo` element whose content is ‘-‘. This could also be written as `*[1][text()='-']` because other nodes probably won’t have the content `-`, but an `mtext` element could have that, so specifying the element name is safest. |
+| `count(*[2]/*)` | the number of children of the second child |
+| `count(preceding-sibling::*)+1` | add 1 to the number of siblings before the current element |
+
+MathCAT adds some custom functions to make writing rules easier:
+
+| function | meaning |
+| ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `IsNode(nodes, type)` | Returns true if all of the nodes are of the same type. Type can be one of:
"simple" -- a defined set of elements in ClearSpeak
"leaf" -- one of the MathML leaf elements
"2D" -- a 2D node such as `mfrac` or `mroot`
"modified" – the node has a script or something over/under it
"scripts" – the node has a subscript and/or superscript
"common_fraction" – integer numerator and denominator |
+| `ToOrdinal` | |
+| `ToCommonFraction` | |
+| `IsBracketed(openChar, closeChar, requiresComma)` | |
+| `BaseNode(node)` | Returns the base (recursively) of a scripted node |
+| `IsInDefinition(node, name)` | Returns true if node is a member of the list ‘name’ (defined in definitions.yaml) |
+| `IfThenElse(test, then-part, else-part)` | Returns `then-part` if the test is true, otherwise `else-part`. All arguments are XPath expressions |
+| `DistanceFromLeaf(node, left_side, treat_2d_elements_as_tokens)` | Returns the distance from the current node to the leftmost or rightmost leaf (0 for a character, 1 for a token). If `left_side` is `true`, traversal follows the leftmost child to the leaf; otherwise it follows the right side. If `treat_2d_elements_as_tokens` is `true`, two-dimensional notations such as fractions are treated as single tokens (like leaves). |
+| `EdgeNode(node, "left"/"right", stopNodeName)` | Returns the stopNode if at left/right edge of named ancestor node. `stopNodeName` can also be `"2D"`. The original node is returned if no match is found. Note: if `stopNodeName` is `"math"`, then punctuation is taken into account since it is not really part of the math |
+| `DEBUG(xpath)` | Really helpful for debugging – it will be added to debug output |
+
+These are used by Nemeth Rules:
+
+| function | meaning |
+| -------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
+| `NestingChars` | Used by mfrac, msqrt, and mroot rules to repeat the chars the appropriate number of times |
+| `BrailleChars` | Used by token elements to deal with the complicated rearrangement of various Nemeth indicators such as capitalization and font face |
diff --git a/docs/nvda.mo b/docs/nvda.mo
new file mode 100644
index 00000000..16646599
Binary files /dev/null and b/docs/nvda.mo differ
diff --git a/src/braille.rs b/src/braille.rs
index fde9b922..b944578f 100644
--- a/src/braille.rs
+++ b/src/braille.rs
@@ -3107,31 +3107,31 @@ mod tests {
set_preference("BrailleNavHighlight", "Off").unwrap();
set_preference("BrailleCode", "Nemeth").unwrap();
- let braille = get_braille("")?;
+ let _braille = get_braille("")?;
let answers= &[2, 3, 3, 3, 3, 4, 7, 8, 9, 9, 10, 13, 12, 14, 12, 15, 17, 19, 21, 10, 4, 23, 25, 4];
let answers = answers.map(|num| format!("id-{}", num));
debug!("\n*** Testing Nemeth ***");
- for i in 0..braille.chars().count() {
+ for (i, answer) in answers.iter().enumerate() {
debug!("\n=== i={} ===", i);
let instant = Instant::now();
let (id, _offset) = crate::interface::get_navigation_node_from_braille_position(i)?;
N_PROBES.with(|n| {debug!("test {:2} #probes = {}", i, n.borrow())});
debug!("Time taken: {}ms", instant.elapsed().as_millis());
- assert_eq!(answers[i], id, "\nNemeth test ith position={}", i);
+ assert_eq!(*answer, id, "\nNemeth test ith position={}", i);
}
set_preference("BrailleCode", "UEB").unwrap();
- let braille = get_braille("")?;
+ let _braille = get_braille("")?;
let answers= &[0, 0, 0, 2, 3, 3, 3, 3, 4, 7, 7, 8, 9, 9, 10, 13, 12, 14, 14, 15, 15, 17, 17, 19, 19, 21, 10, 4, 4, 23, 23, 25, 25, 4, 0, 0];
let answers = answers.map(|num| format!("id-{}", num));
debug!("\n\n*** Testing UEB ***");
- for i in 0..braille.chars().count() {
+ for (i, answer) in answers.iter().enumerate() {
debug!("\n=== i={} ===", i);
let instant = Instant::now();
let (id, _offset) = crate::interface::get_navigation_node_from_braille_position(i)?;
N_PROBES.with(|n| {debug!("test {:2} #probes = {}", i, n.borrow())});
debug!("Time taken: {}ms", instant.elapsed().as_millis());
- assert_eq!(answers[i], id, "\nUEB test ith position={}", i);
+ assert_eq!(*answer, id, "\nUEB test ith position={}", i);
}
set_preference("BrailleCode", "CMU").unwrap();
let braille = get_braille("")?;
@@ -3139,13 +3139,13 @@ mod tests {
let answers = answers.map(|num| format!("id-{}", num));
debug!("\n\n*** Testing CMU ***");
debug!("Braille: {}", braille);
- for i in 0..braille.chars().count() {
+ for (i, answer) in answers.iter().enumerate() {
debug!("\n=== i={} ===", i);
let instant = Instant::now();
let (id, _offset) = crate::interface::get_navigation_node_from_braille_position(i)?;
N_PROBES.with(|n| {debug!("test {:2} #probes = {}", i, n.borrow())});
debug!("Time taken: {}ms", instant.elapsed().as_millis());
- assert_eq!(answers[i], id, "\nCMU test ith position={}", i);
+ assert_eq!(*answer, id, "\nCMU test ith position={}", i);
}
return Ok( () );
}
diff --git a/src/canonicalize.rs b/src/canonicalize.rs
index a9e70867..e1a26353 100644
--- a/src/canonicalize.rs
+++ b/src/canonicalize.rs
@@ -2305,6 +2305,7 @@ impl CanonicalizeContext {
while name(base) == "mrow" && base.children().len() == 1 {
// the base may be wrapped with mrows
base = as_element(base.children()[0]);
+ base.remove_attribute(SPLIT_TOKEN);
}
base.set_text(text);
return Some(last_child);
@@ -3432,28 +3433,9 @@ impl CanonicalizeContext {
_ => mo_text,
};
};
- mo_text = match mo_text {
- "\u{2212}" => "-",
- // FIX: this needs to be after all expr the "|" has been fully canonicalized. At this point, any parent mrow/siblings is in flux
- // "\u{007C}" => { // vertical line -> divides
- // if a number or variable (lower case single letter) precedes and follows "|", switch to divides (a bit questionable...)
- // debug!("canonicalize_mo_text parent:\n{}", mml_to_string(parent));
- // let precedes = mo.preceding_siblings();
- // let follows = mo.following_siblings();
- // if precedes.is_empty() || follows.is_empty() {
- // "\u{007C}"
- // } else {
- // let before = as_element(precedes[0]);
- // let after = as_element(follows[0]);
- // let before_ok = name(before) == "mn" ||
- // (name(before) == "mi" && IS_LIKELY_SCALAR_VARIABLE.is_match(as_text(before)));
- // let after_ok = name(after) == "mn" ||
- // (name(after) == "mi" && IS_LIKELY_SCALAR_VARIABLE.is_match(as_text(after)));
- // if before_ok && after_ok {"\u{2224}"} else {"\u{007C}"}
- // }
- // },
- _ => mo_text,
- };
+ if mo_text == "\u{2212}" {
+ mo_text = "-";
+ }
mo.set_text(mo_text);
}
@@ -3689,7 +3671,7 @@ impl CanonicalizeContext {
if state_likelihood > 0 {
right_sibling.set_attribute_value(MAYBE_CHEMISTRY, state_likelihood.to_string().as_str());
// at this point, we know both node and right_sibling are positive, so we have at least a maybe
- if state_likelihood + node_chem_likelihood.unwrap().parse::().unwrap() > 2 {
+ if state_likelihood + node_chem_likelihood.unwrap().parse::().unwrap() > 2 {
return FunctionNameCertainty::False;
} else {
return FunctionNameCertainty::Maybe
@@ -6510,6 +6492,13 @@ mod canonicalize_tests {
are_strs_canonically_equal_result(test_str, target_str, &[])
}
+ #[test]
+ fn merge_mi_bug_545() -> Result<()> {
+ let test_str = "";
+ let target_str = "";
+ are_strs_canonically_equal_result(test_str, target_str, &[])
+ }
+
#[test]
fn parent_bug_94() -> Result<()> {
// This is a test to make sure the crash in the bug report doesn't happen.
diff --git a/src/chemistry.rs b/src/chemistry.rs
index afce0197..6538d0ce 100644
--- a/src/chemistry.rs
+++ b/src/chemistry.rs
@@ -51,9 +51,9 @@ use crate::errors::*;
use std::sync::LazyLock;
-pub static NOT_CHEMISTRY: isize = -10000; // should overwhelm any positive signal
-static NOT_CHEMISTRY_THRESHOLD: isize = -10000/2; // value for testing -- that way some can be added to NOT_CHEMISTRY and still meet the test
-static CHEMISTRY_THRESHOLD: isize = 5; // if this changes, change CHEMISTRY_THRESHOLD_STR
+pub static NOT_CHEMISTRY: i32 = -10000; // should overwhelm any positive signal
+static NOT_CHEMISTRY_THRESHOLD: i32 = -10000/2; // value for testing -- that way some can be added to NOT_CHEMISTRY and still meet the test
+static CHEMISTRY_THRESHOLD: i32 = 5; // if this changes, change CHEMISTRY_THRESHOLD_STR
/// this might be chemistry -- should only exist during canonicalization
@@ -471,12 +471,8 @@ pub fn scan_and_mark_chemistry(mathml: Element) -> bool {
}
// returns the marked attr value or None
-fn get_marked_value(mathml: Element) -> Option {
- if let Some(value) = mathml.attribute_value(MAYBE_CHEMISTRY) {
- return Some(value.parse().unwrap());
- } else {
- return None;
- }
+fn get_marked_value(mathml: Element) -> Option {
+ return mathml.attribute_value(MAYBE_CHEMISTRY).map(|value| value.parse().unwrap());
}
/// Sets the attr 'chem'
@@ -635,7 +631,7 @@ fn is_changed_after_unmarking_chemistry(mathml: Element) -> bool {
let split_child = as_element(children_of_script[0]);
new_script_children.append(&mut children_of_script);
mathml.replace_children(new_script_children); // temporarily has bad number of children
- debug!("After making bad script:\n{}", mml_to_string(mathml));
+ // debug!("After making bad script:\n{}", mml_to_string(mathml));
if let Err(err) = merge_element(split_child) {
panic!("{}", err);
}
@@ -848,7 +844,7 @@ fn is_chemistry_sanity_check(mathml: Element) -> bool {
/// Looks at the children of the element and uses heuristics to decide whether this is a chemical equation.
/// This assumes canonicalization of characters has happened
-fn likely_chem_equation(mathml: Element) -> isize {
+fn likely_chem_equation(mathml: Element) -> i32 {
// mfrac -- could be a ratio of concentrations
if name(mathml) != "mrow" && name(mathml) != "mtd" && name(mathml) != "mfrac" {
return NOT_CHEMISTRY;
@@ -953,7 +949,7 @@ fn likely_chem_equation(mathml: Element) -> isize {
/// could be a number, a state ("(l)", "(g)", etc), or a number followed by a state
-fn likely_chem_subscript(subscript: Element) -> isize {
+fn likely_chem_subscript(subscript: Element) -> i32 {
let subscript_name = name(subscript);
if subscript_name == "mn" && !as_text(subscript).contains('.') {
return 0; // not really much chem info about an integer subscript
@@ -990,7 +986,7 @@ fn small_roman_to_number(text: &str) -> &str {
}
-fn likely_chem_superscript(sup: Element) -> isize {
+fn likely_chem_superscript(sup: Element) -> i32 {
// either one or more '+'s (or '-'s) or a number followed by +/-
// also could be state (en.wikipedia.org/wiki/Nuclear_chemistry#PUREX_chemistry)
// bullet is radical (en.wikipedia.org/wiki/Radical_(chemistry)#Depiction_in_chemical_reactions); mhchem uses dot operator
@@ -1055,7 +1051,7 @@ fn likely_chem_superscript(sup: Element) -> isize {
child.set_attribute_value(CHEM_FORMULA_OPERATOR, "1"); // value doesn't really matter
}
}
- let likely = 2*text.len() as isize;
+ let likely = 2*text.len() as i32;
sup.set_attribute_value(MAYBE_CHEMISTRY, &likely.to_string());
return likely;
}
@@ -1069,7 +1065,7 @@ fn likely_chem_superscript(sup: Element) -> isize {
/// * an operator that represents a bond
/// * fences around a chemical formula
/// * an mrow made up of only chemical formulas
-fn likely_chem_formula(mathml: Element) -> isize {
+fn likely_chem_formula(mathml: Element) -> i32 {
// debug!("start likely_chem_formula:\n{}", mml_to_string(mathml));
if let Some(value) = get_marked_value(mathml) {
return value; // already marked
@@ -1149,7 +1145,7 @@ fn likely_chem_formula(mathml: Element) -> isize {
return likelihood;
- fn likely_mrow_chem_formula(mrow: Element) -> isize {
+ fn likely_mrow_chem_formula(mrow: Element) -> i32 {
// For parens, the only reason to add them is to group the children and then indicate that there is more than one molecule
if IsBracketed::is_bracketed(mrow, "(", ")", false, false) ||
IsBracketed::is_bracketed(mrow, "[", "]", false, false) {
@@ -1277,7 +1273,7 @@ fn has_c_h_o(elements: &[&str]) -> bool {
fn is_structural(elements: &[&str]) -> bool {
- assert!(!elements.len() > 1); // already handled
+ assert!(elements.len() > 1); // already handled
// debug!("is_structural: {:?}", elements);
let mut element_set = HashSet::with_capacity(elements.len());
@@ -1300,11 +1296,8 @@ fn collect_elements(mrow: Element<'_>) -> Option> {
elements.push(as_text(base));
} // else skip and let recursive likely_chem_formula call check the contents
},
- "mo" => {
- if likely_chem_formula_operator(child) < 0 {
- return None;
- }
- },
+ "mo" if likely_chem_formula_operator(child) < 0 => return None,
+ "mo" => (),
_ => (), // let loop in likely_chem_formula() deal with all the negatives
}
}
@@ -1314,7 +1307,7 @@ fn collect_elements(mrow: Element<'_>) -> Option> {
/// check to make sure elements are ordered alphabetically
/// Actually check Hill's system that puts 'C' followed by 'H' first if 'C' is present
fn is_alphabetical(elements: &[&str]) -> bool {
- assert!(!elements.len() > 1); // already handled
+ assert!(elements.len() > 1); // already handled
// debug!("is_alphabetical: {:?}", elements);
let mut elements = elements;
if elements[1..].contains(&"C") { // "C" must be first if present
@@ -1329,7 +1322,7 @@ fn is_alphabetical(elements: &[&str]) -> bool {
fn is_ordered_by_electronegativity(elements: &[&str]) -> bool {
// HPO_4^2 (Mono-hydrogen phosphate) doesn't fit this pattern, nor does HCO_3^- (Hydrogen carbonate) and some others
// FIX: drop "H" from the ordering??
- assert!(!elements.len() > 1); // already handled
+ assert!(elements.len() > 1); // already handled
return elements.windows(2).all(|pair| CHEMICAL_ELEMENT_ELECTRONEGATIVITY.get(pair[0]).unwrap() < CHEMICAL_ELEMENT_ELECTRONEGATIVITY.get(pair[1]).unwrap());
}
@@ -1353,7 +1346,7 @@ fn is_generalized_salt(elements: &[&str]) -> bool {
/// Note: msubsup cleaning for an empty script hasn't happened and we consider an empty script a sign of attempting to vertically align sub/superscripts
///
/// Note: 'mathml' is not necessarily canonicalized
-pub fn likely_adorned_chem_formula(mathml: Element) -> isize {
+pub fn likely_adorned_chem_formula(mathml: Element) -> i32 {
if !matches!(name(mathml), "msub" | "msup" | "msubsup" | "mmultiscripts") {
return NOT_CHEMISTRY;
}
@@ -1374,7 +1367,7 @@ pub fn likely_adorned_chem_formula(mathml: Element) -> isize {
let mut empty_superscript = false;
if tag_name == "msup" || tag_name == "msubsup" {
- debug!("likely_adorned_chem_formula: mathml\n{}", mml_to_string(mathml));
+ // debug!("likely_adorned_chem_formula: mathml\n{}", mml_to_string(mathml));
let superscript = as_element(children[if tag_name == "msup" {1} else {2}]);
empty_superscript = name(superscript) == "mtext" && as_text(superscript).trim().is_empty();
if !empty_superscript {
@@ -1485,7 +1478,7 @@ pub fn likely_adorned_chem_formula(mathml: Element) -> isize {
likelihood += likely_chem_formula(base);
}
- debug!("returning from likely_adorned_chem_formula: likelihood={}, mathml\n{}", likelihood, mml_to_string(mathml));
+ // debug!("returning from likely_adorned_chem_formula: likelihood={}, mathml\n{}", likelihood, mml_to_string(mathml));
return likelihood;
@@ -1519,7 +1512,7 @@ fn is_single_char_matching(leaf_text: &str, pred: impl Fn(char) -> bool) -> bool
return false;
}
-fn likely_chem_formula_operator(mathml: Element) -> isize {
+fn likely_chem_formula_operator(mathml: Element) -> i32 {
// mostly from chenzhijin.com/en/article/Useful%20Unicode%20for%20Chemists (Arrows and Other)
// also en.wikipedia.org/wiki/Chemical_formula#Condensed_formula
#[derive(PartialEq, Eq)]
@@ -1608,7 +1601,7 @@ fn likely_chem_formula_operator(mathml: Element) -> isize {
}
/// This assumes canonicalization of characters has happened
-fn likely_chem_equation_operator(mathml: Element) -> isize {
+fn likely_chem_equation_operator(mathml: Element) -> i32 {
fn is_chem_equation_operator(ch: char) -> bool {
matches!(ch, '+' | '=' | '-' | '·' | '℃' | '°' | '‡' | '∆' | '×' | '\u{2062}')
@@ -1678,7 +1671,7 @@ static SMALL_UPPER_ROMAN_NUMERAL: LazyLock = LazyLock::new(|| Regex::new(
/// look for "(s), "(l)", "(g)", "(aq)" (could also use [...])
/// this might be called before canonicalization, but in clean_chemistry_mrow, we made sure "( xxx )" is grouped properly
-pub fn likely_chem_state(mathml: Element) -> isize {
+pub fn likely_chem_state(mathml: Element) -> i32 {
if IsBracketed::is_bracketed(mathml, "(", ")", false, false) ||
IsBracketed::is_bracketed(mathml, "[", "]", false, false) {
@@ -1687,7 +1680,7 @@ pub fn likely_chem_state(mathml: Element) -> isize {
if contents_name == "mi" || contents_name == "mtext" {
let text = as_text(contents);
if text == "s" || text == "l" ||text == "g" ||text == "aq" {
- return text.len() as isize + 1; // hack to count chars -- works because all are ASCII
+ return text.len() as i32 + 1; // hack to count chars -- works because all are ASCII
};
}
}
@@ -1695,7 +1688,7 @@ pub fn likely_chem_state(mathml: Element) -> isize {
}
/// Returns the likelihood that the arg is an element
-pub fn likely_chem_element(mathml: Element) -> isize {
+pub fn likely_chem_element(mathml: Element) -> i32 {
static NUCLEAR_SYMBOLS: [&str; 6] = ["e", "p", "n", "α", "β","γ"];
assert!(name(mathml) == "mi" || name(mathml) == "mtext", "{} is not 'mi' or 'mtext'", name(mathml));
@@ -1704,11 +1697,11 @@ pub fn likely_chem_element(mathml: Element) -> isize {
return 0; // whitespace
} else if is_chemical_element(mathml) {
// single letter = 1; single letter with mathvariant="normal" = 2; double = 3 -- all elements are ASCII
- return (if text.len() == 1 {
+ return if text.len() == 1 {
if mathml.attribute_value("mathvariant").unwrap_or_default() == "normal" {2} else {1}
} else {
3
- }) as isize;
+ };
} else if NUCLEAR_SYMBOLS.contains(&text) {
return 0;
// not much special about them;
@@ -1895,7 +1888,7 @@ mod chem_tests {
let test = if test.starts_with("", test)};
- let new_package = parser::parse(&test);
+ let new_package = parser::parse(test);
if let Err(e) = new_package {
panic!("Invalid MathML input:\n{}\nError is: {}", &test, &e.to_string());
}
@@ -2014,13 +2007,13 @@ mod chem_tests {
H4
(N H 2 ) 2
"#;
- assert!( parse_mathml_string(test, |mathml| is_order_ok(mathml)) );
+ assert!( parse_mathml_string(test, is_order_ok) );
let test = r#"
Fe
O
(O H )
"#;
- assert!( parse_mathml_string(test, |mathml| is_order_ok(mathml)) );
+ assert!( parse_mathml_string(test, is_order_ok) );
let test = r#" // R-4.4.3.3 -- Chain compound doesn't fit rules but should be accepted
Br
S
diff --git a/src/definitions.rs b/src/definitions.rs
index ddf9b583..489c25b6 100644
--- a/src/definitions.rs
+++ b/src/definitions.rs
@@ -325,13 +325,13 @@ mod tests {
// Rule::DefinitionList
//debug!("variable_def_list {} is\n{}", yaml_to_type(variable_def_list), yaml_to_string(variable_def_list, 0));
for variable_def in variable_def_list.as_vec().unwrap() {
- if let Err(e) = build_values(variable_def, true, &Path::new("")) {
+ if let Err(e) = build_values(variable_def, true, Path::new("")) {
bail!("{}", crate::interface::errors_to_string(&e.context(format!("in file {:?}", numbers))));
}
}
return Ok(vec![]);
};
- compile_rule(&numbers, defs_build_fn).unwrap();
+ compile_rule(numbers, defs_build_fn).unwrap();
SPEECH_DEFINITIONS.with(|defs| {
let defs = defs.borrow();
let names = defs.get_vec("NumbersTens");
@@ -351,13 +351,13 @@ mod tests {
// Rule::DefinitionList
//debug!("variable_def_list {} is\n{}", yaml_to_type(variable_def_list), yaml_to_string(variable_def_list, 0));
for variable_def in variable_def_list.as_vec().unwrap() {
- if let Err(e) = build_values(variable_def, true, &Path::new("")) {
+ if let Err(e) = build_values(variable_def, true, Path::new("")) {
bail!("{}", crate::interface::errors_to_string(&e.context(format!("in file {:?}", likely_function_names))));
}
}
return Ok(vec![]);
};
- compile_rule(&likely_function_names, defs_build_fn).unwrap();
+ compile_rule(likely_function_names, defs_build_fn).unwrap();
SPEECH_DEFINITIONS.with(|defs| {
let defs = defs.borrow();
let names = defs.get_hashset("LikelyFunctionNames");
@@ -376,13 +376,13 @@ mod tests {
// Rule::DefinitionList
//debug!("variable_def_list {} is\n{}", yaml_to_type(variable_def_list), yaml_to_string(variable_def_list, 0));
for variable_def in variable_def_list.as_vec().unwrap() {
- if let Err(e) = build_values(variable_def, true, &Path::new("")) {
+ if let Err(e) = build_values(variable_def, true, Path::new("")) {
bail!("{}", crate::interface::errors_to_string(&e.context(format!("in file {:?}", units))));
}
}
return Ok(vec![]);
};
- compile_rule(&units, defs_build_fn).unwrap();
+ compile_rule(units, defs_build_fn).unwrap();
SPEECH_DEFINITIONS.with(|defs| {
let defs = defs.borrow();
let names = defs.get_hashmap("Units");
diff --git a/src/interface.rs b/src/interface.rs
index 0be1ebe2..9eb786d1 100644
--- a/src/interface.rs
+++ b/src/interface.rs
@@ -1112,12 +1112,12 @@ mod tests {
let test_package = &parser::parse(test).expect("Failed to parse input");
let test_doc = test_package.as_document();
trim_doc(&test_doc);
- debug!("test:\n{}", mml_to_string(get_element(&test_package)));
+ debug!("test:\n{}", mml_to_string(get_element(test_package)));
let target_package = &parser::parse(target).expect("Failed to parse input");
let target_doc = target_package.as_document();
trim_doc(&target_doc);
- debug!("target:\n{}", mml_to_string(get_element(&target_package)));
+ debug!("target:\n{}", mml_to_string(get_element(target_package)));
match is_same_doc(&test_doc, &target_doc) {
Ok(_) => return true,
@@ -1188,7 +1188,7 @@ mod tests {
let package1 = &parser::parse(whitespace_str).expect("Failed to parse input");
let doc1 = package1.as_document();
trim_doc(&doc1);
- debug!("doc1:\n{}", mml_to_string(get_element(&package1)));
+ debug!("doc1:\n{}", mml_to_string(get_element(package1)));
let package2 = parser::parse(different_str).expect("Failed to parse input");
let doc2 = package2.as_document();
diff --git a/src/navigate.rs b/src/navigate.rs
index 7ba5d84c..13a28d4c 100644
--- a/src/navigate.rs
+++ b/src/navigate.rs
@@ -415,13 +415,18 @@ pub fn do_navigate_command_string(mathml: Element, nav_command: &'static str) ->
};
if rate != "100" {
match tts.as_str() {
- "SSML" => if !cumulative_speech.starts_with("{}", &rate, &cumulative_speech);
- },
- "SAPI5" => if !cumulative_speech.starts_with("{}'>",
- 10.0*(0.01*rate.parse::().unwrap_or(100.0)).log(3.0), cumulative_speech);
- },
+ "SSML"
+ if !cumulative_speech.starts_with(" {
+ cumulative_speech = format!("{}", &rate, &cumulative_speech);
+ }
+ "SAPI5"
+ if !cumulative_speech.starts_with(" {
+ cumulative_speech = format!(
+ "{}",
+ 10.0 * (0.01 * rate.parse::().unwrap_or(100.0)).log(3.0),
+ cumulative_speech
+ );
+ }
_ => (), // do nothing
}
}
@@ -585,23 +590,22 @@ pub fn do_navigate_command_string(mathml: Element, nav_command: &'static str) ->
// Speak/Overview of where we landed (if we are supposed to speak it) -- use intent, not nav_intent
// Note: NavMode might have changed, so we need to recheck the mode to see if we use LiteralSpeak
let literal_speak = nav_state.mode == "Character";
- let node_speech = match speak(mathml, intent, &nav_position, literal_speak, use_read_rules) {
+ let node_speech_result = speak(mathml, intent, &nav_position, literal_speak, use_read_rules);
+ remove_literal_property(mathml, add_literal, properties);
+ let node_speech = match node_speech_result {
Ok(speech) => speech,
Err(e) => {
- remove_literal_property(mathml, add_literal, properties);
if e.to_string() == crate::speech::NAV_NODE_SPEECH_NOT_FOUND {
bail!("Internal error: With {}/{} in {} mode, can't {} from expression with id '{}' inside:\n{}",
rules.pref_manager.as_ref().borrow().pref_to_string("Language"),
rules.pref_manager.as_ref().borrow().pref_to_string("SpeechStyle"),
&nav_state.mode, nav_command, &nav_position.current_node, mml_to_string(if literal_speak {mathml} else {intent}));
- } else {
- return Err(e);
}
- },
+ return Err(e);
+ }
};
- remove_literal_property(mathml, add_literal, properties);
- // debug!("node_speech: '{}'", node_speech);
+ // debug!("node_speech: '{}', speech: '{}'\n", node_speech, speech);
if node_speech.is_empty() {
// try again in loop
return Ok( (speech, false));
@@ -999,8 +1003,10 @@ mod tests {
NAVIGATION_STATE.with(|nav_stack| {
let (start_id, _) = nav_stack.borrow().get_navigation_mathml_id(mathml);
match do_navigate_command_string(mathml, command) {
- Err(e) => panic!("\nStarting at '{}', '{} failed.\n{}",
- start_id, command, &crate::interface::errors_to_string(&e)),
+ Err(e) => {
+ panic!("\nStarting at '{}', '{} failed.\n{}",
+ start_id, command, &crate::interface::errors_to_string(&e))
+ },
Ok(nav_speech) => {
let nav_speech = nav_speech.trim_end_matches(&[' ', ',', ';']);
// debug!("Full speech: {}", nav_speech);
@@ -1035,7 +1041,7 @@ mod tests {
init_default_prefs(mathml_str, "Enhanced");
return MATHML_INSTANCE.with(|package_instance| {
let package_instance = package_instance.borrow();
- let mathml = get_element(&*package_instance);
+ let mathml = get_element(&package_instance);
test_command("ZoomIn", mathml, "msup");
test_command("ZoomIn", mathml, "base");
test_command("ZoomIn", mathml, "base");
@@ -1061,7 +1067,7 @@ mod tests {
debug!("--- Enhanced ---");
MATHML_INSTANCE.with(|package_instance| {
let package_instance = package_instance.borrow();
- let mathml = get_element(&*package_instance);
+ let mathml = get_element(&package_instance);
test_command("ZoomIn", mathml, "msup");
test_command("MoveNext", mathml, "id-3");
});
@@ -1070,7 +1076,7 @@ mod tests {
debug!("--- Simple ---");
MATHML_INSTANCE.with(|package_instance: &RefCell| {
let package_instance = package_instance.borrow();
- let mathml = get_element(&*package_instance);
+ let mathml = get_element(&package_instance);
test_command("ZoomIn", mathml, "msup");
test_command("MoveNext", mathml, "id-3");
});
@@ -1079,7 +1085,7 @@ mod tests {
debug!("--- Character ---");
MATHML_INSTANCE.with(|package_instance| {
let package_instance = package_instance.borrow();
- let mathml = get_element(&*package_instance);
+ let mathml = get_element(&package_instance);
test_command("ZoomIn", mathml, "base");
test_command("MoveNext", mathml, "exp");
});
@@ -1119,7 +1125,7 @@ mod tests {
init_default_prefs(mathml_str, "Enhanced");
return MATHML_INSTANCE.with(|package_instance| {
let package_instance = package_instance.borrow();
- let mathml = get_element(&*package_instance);
+ let mathml = get_element(&package_instance);
set_preference("NavMode", "Enhanced")?;
debug!("\n------EnhancedMode----------");
test_command("ZoomIn", mathml, "id-2");
@@ -1145,7 +1151,7 @@ mod tests {
init_default_prefs(mathml_str, "Enhanced");
return MATHML_INSTANCE.with(|package_instance| {
let package_instance = package_instance.borrow();
- let mathml = get_element(&*package_instance);
+ let mathml = get_element(&package_instance);
test_command("ZoomInAll", mathml, "base");
return Ok( () );
});
@@ -1161,7 +1167,7 @@ mod tests {
init_default_prefs(mathml_str, "Enhanced");
return MATHML_INSTANCE.with(|package_instance| {
let package_instance = package_instance.borrow();
- let mathml = get_element(&*package_instance);
+ let mathml = get_element(&package_instance);
NAVIGATION_STATE.with(|nav_stack| {
nav_stack.borrow_mut().push(NavigationPosition{
current_node: "base".to_string(),
@@ -1188,7 +1194,7 @@ mod tests {
init_default_prefs(mathml_str, "Enhanced");
return MATHML_INSTANCE.with(|package_instance| {
let package_instance = package_instance.borrow();
- let mathml = get_element(&*package_instance);
+ let mathml = get_element(&package_instance);
NAVIGATION_STATE.with(|nav_stack| {
nav_stack.borrow_mut().push(NavigationPosition{
current_node: "base".to_string(),
@@ -1217,7 +1223,7 @@ mod tests {
init_default_prefs(mathml_str, "Enhanced");
return MATHML_INSTANCE.with(|package_instance| {
let package_instance = package_instance.borrow();
- let mathml = get_element(&*package_instance);
+ let mathml = get_element(&package_instance);
NAVIGATION_STATE.with(|nav_stack| {
nav_stack.borrow_mut().push(NavigationPosition{
current_node: "id-4".to_string(),
@@ -1258,7 +1264,7 @@ mod tests {
init_default_prefs(mathml_str, "Enhanced");
return MATHML_INSTANCE.with(|package_instance| {
let package_instance = package_instance.borrow();
- let mathml = get_element(&*package_instance);
+ let mathml = get_element(&package_instance);
NAVIGATION_STATE.with(|nav_stack| {
nav_stack.borrow_mut().push(NavigationPosition{
current_node: "id-7".to_string(),
@@ -1289,7 +1295,7 @@ mod tests {
init_default_prefs(mathml_str, "Enhanced");
return MATHML_INSTANCE.with(|package_instance| {
let package_instance = package_instance.borrow();
- let mathml = get_element(&*package_instance);
+ let mathml = get_element(&package_instance);
NAVIGATION_STATE.with(|nav_stack| {
nav_stack.borrow_mut().push(NavigationPosition{
current_node: "base".to_string(),
@@ -1312,7 +1318,6 @@ mod tests {
#[test]
fn move_to_start() -> Result<()> {
- init_logger();
let mathml_str = "";
test_ClearSpeak("en", "ClearSpeak_Roots", "PosNegSqRoot", expr,
- "the negative cube root of x; minus the positive square root of x")?;
+ "the negative cube root of x; minus, the positive square root of x")?;
return Ok(());
}
@@ -161,3 +161,11 @@ fn simple_fraction_power() -> Result<()> {
return Ok(());
}
+
+#[test]
+fn no_double_the_532() -> Result<()> {
+ let expr = "";
+ test("en", "ClearSpeak", expr, "the cube root of the square root of 42")?;
+ return Ok(());
+
+}
diff --git a/tests/common/mod.rs b/tests/common/mod.rs
index 7d6d1b98..564f8265 100644
--- a/tests/common/mod.rs
+++ b/tests/common/mod.rs
@@ -1,5 +1,5 @@
//! Useful functionality for testing
-#[cfg(test)]
+#![allow(clippy::needless_return)]
use regex::Regex;
use std::panic::{catch_unwind, AssertUnwindSafe};
@@ -23,7 +23,7 @@ pub fn init_logger() {
pub fn abs_rules_dir_path() -> String {
cfg_if::cfg_if! {
if #[cfg(feature = "include-zip")] {
- return "Rules".to_string();
+ "Rules".to_string()
} else {
return std::env::current_exe().unwrap().parent().unwrap()
.join("../../../Rules")
@@ -37,7 +37,7 @@ pub fn abs_rules_dir_path() -> String {
#[allow(dead_code)] // used in testing
fn strip_spaces(str: &str) -> String {
static SPACES: LazyLock = LazyLock::new(|| Regex::new(r" +").unwrap());
- return String::from(SPACES.replace_all(str, " "));
+ String::from(SPACES.replace_all(str, " "))
}
#[allow(dead_code)] // used in testing
@@ -83,7 +83,7 @@ pub fn test(language: &str, style: &str, mathml: &str, speech: &str) -> Result<(
check_answer(mathml, speech, &format!("{}/{}", language, style));
Ok(())
}));
- return report_any_panic(result);
+ report_any_panic(result)
}
// Compare the result of speaking the mathml input to the output 'speech'
@@ -102,7 +102,7 @@ pub fn test_prefs(language: &str, speech_style: &str, test_prefs: Vec<(&str, &st
check_answer(mathml, speech, &format!("{}/{} with prefs {:#?}", language, speech_style, test_prefs));
Ok(())
}));
- return report_any_panic(result);
+ report_any_panic(result)
}
// Compare the result of speaking the mathml input to the output 'speech'
@@ -111,7 +111,7 @@ pub fn test_prefs(language: &str, speech_style: &str, test_prefs: Vec<(&str, &st
#[allow(non_snake_case)]
pub fn test_ClearSpeak(language: &str, pref_name: &str, pref_value: &str, mathml: &str, speech: &str) -> Result<()> {
let prefs = vec![(pref_name, pref_value)];
- return test_prefs(language, "ClearSpeak", prefs, mathml, speech);
+ test_prefs(language, "ClearSpeak", prefs, mathml, speech)
}
// Compare the result of speaking the mathml input to the output 'speech'
@@ -119,7 +119,7 @@ pub fn test_ClearSpeak(language: &str, pref_name: &str, pref_value: &str, mathml
#[allow(dead_code)] // used in testing
#[allow(non_snake_case)]
pub fn test_ClearSpeak_prefs(language: &str, prefs: Vec<(&str, &str)>, mathml: &str, speech: &str) -> Result<()> {
- return test_prefs(language, "ClearSpeak", prefs, mathml, speech);
+ test_prefs(language, "ClearSpeak", prefs, mathml, speech)
}
// Compare the result of brailling the mathml input to the output (Unicode) 'braille'
@@ -139,7 +139,7 @@ pub fn test_braille(code: &str, mathml: &str, braille: &str) -> Result<()> {
match code {
"Vietnam" => set_preference("Language", "vi").unwrap(),
"CMU" => set_preference("Language", "es").unwrap(),
- "UEB" | "Nemeth" | _ => set_preference("Language", "en").unwrap(),
+ _ => set_preference("Language", "en").unwrap(),
}
if let Err(e) = set_mathml(mathml) {
panic!("{}", errors_to_string(&e));
@@ -150,7 +150,7 @@ pub fn test_braille(code: &str, mathml: &str, braille: &str) -> Result<()> {
};
Ok(())
}));
- return report_any_panic(result);
+ report_any_panic(result)
}
#[allow(dead_code)] // used in testing
@@ -166,7 +166,7 @@ pub fn test_braille_prefs(code: &str, test_prefs: Vec<(&str, &str)>, mathml: &st
match code {
"Vietnam" => set_preference("Language", "vi").unwrap(),
"CMU" => set_preference("Language", "es").unwrap(),
- "UEB" | "Nemeth" | _ => set_preference("Language", "en").unwrap(),
+ _ => set_preference("Language", "en").unwrap(),
}
set_preference("UseSpacesAroundAllOperators", "false").unwrap(); // makes testing simpler
@@ -183,7 +183,7 @@ pub fn test_braille_prefs(code: &str, test_prefs: Vec<(&str, &str)>, mathml: &st
};
Ok(())
}));
- return report_any_panic(result);
+ report_any_panic(result)
}
#[allow(dead_code)]
@@ -247,10 +247,10 @@ pub fn test_intent(mathml: &str, target: &str, test_prefs: Vec<(&str, &str)>) ->
for child in children {
clean_attrs(child.element().unwrap());
}
- return mathml;
+ mathml
}
- return report_any_panic(result);
+ report_any_panic(result)
}
/// This is a prototype function to test whether 'from_braille' (or whatever gets called) is cannonically the same as 'mathml'
@@ -270,7 +270,7 @@ pub fn test_from_braille(code: &str, mathml: &str, braille: &str) -> Result<()>
match code {
"Vietnam" => set_preference("Language", "vi").unwrap(),
"CMU" => set_preference("Language", "es").unwrap(),
- "UEB" | "Nemeth" | _ => set_preference("Language", "en").unwrap(),
+ _ => set_preference("Language", "en").unwrap(),
}
if let Err(e) = set_mathml(mathml) {
panic!("{}", errors_to_string(&e));
@@ -281,5 +281,5 @@ pub fn test_from_braille(code: &str, mathml: &str, braille: &str) -> Result<()>
assert!(libmathcat::are_strs_canonically_equal(mathml, braille, &["data-changed", "data-id-added"]));
Ok(())
}));
- return report_any_panic(result);
+ report_any_panic(result)
}